All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
5.0.7 - 2024-10-03
- Added scm branch option to pass to awx
- AzureAD with more than 100 groups was not working anymore since introduction of OIDC
- Mysql check during init failed and skipped part of init
- App now properly waits for mysql to be ready before starting
- Vuelidate 2+ was not working properly for dependent required fields
5.0.6 - 2024-09-20
- Removed ip lib parts CVE related
- Updated to vuelidate 2+ (CVE related)
- New dockerfile with debian
5.0.5 - 2024-09-18
- Fixed regex for ssh key
- New version highlight for CVE
- Bumped several versions
5.0.4 - 2024-08-18
- If forms.yaml is missing, it will be auto created. This is useful for new installations without docker-compose
- Same for certificates
- Async await replacements for promises (readability)
- Some credentials bugfixes
5.0.3 - 2024-06-21
- Option to disable/enable schema creation (ALLOW_SCHEMA_CREATION)
- Forms yaml can now be in the database (overriding the local file)
- Database queries are by default no longer logged, use ENABLE_DB_QUERY_LOGGING to enable it again
- Mongodb connection test
- Improved schema creation error messages and error handling
- Schema patching is now done at application initialization
- Rewrote database connections with await/async
- Vault credentials, alpine requires decode -d instead --decode
- Type on jobstatus notification template
5.0.2 - 2024-06-10
- Now allowing string (credential name) or array (of names) as dbConfig (dbtype is fetched from the database, with mysql fallback) When using array, the resultsets are merged.
- Added ytt implementation to template yaml files (credits mdaugs)
- Vault credentials, pass a vault password to ansible playbook.
- OIDC authentication (credits mdaugs)
- Ansibleforms will now wait for mysql to be ready before initializing
- job api return objects (extravars, notifications, credentials, ...) instead of json strings
- awx job id is added to the database
- radio button errors
- some issue with the designer when a field without name was added
- multistep was always successfull (tx to mdaugs)
- using cookie session instead express session
5.0.1 - 2024-04-10
- login expiryDays didn't work
- fixed non-ascii codes in ldap
- fixed approvals, broken since 4.0.19
- add a form-reload route
- added mail attribute ldap
- improved error message on unevaluated fields
- allow to model arrays like foo.bar[0].ping.pong[1]
- allow placeholders in description fields of field validation
5.0.0 - 2024-01-25
- in remote expression functions, we throw errors so they show up in the form.
- added valueColumn "*" and placeholderColumn "*", to return all column, this also means that valueColumn "*" results in the same as outputObject: true.
- jobid is passed now as extravar and passed to nextform, incase an action exists
- you can now hide a text field
- more advanced ldap properties for non active directory ldap servers
- git repositories generic (for forms and playbook for example)
- added expiryDays to login api, for longlived tokens (admin only)
- added jwt tokenPrefix property on jwt functions
- allow admin role fallback for local/admins group in case no forms are found
- radio button values property can now have array of objects (label, value)
- instanceGroups property on forms => choose awx instanceGroups
- enable verbose checkbox for quick ansible verbose mode
- git repo type, you can no longer target git repo's from a form, this is breaking when you upgrade to 5.0.0 and use the formtype 'git'
- awx workflow template failed with 404
- ldap usernameattribute not used
- fixed database query issue for postgres
- use ldap-authentication main code (no npm)
- try ldap group objectName first
4.0.19 - 2023-11-22
- undefined error with json
- Added AzureAD group filter to limit the number of groups
4.0.18 - 2023-11-10
- javascript replace error with defaults
- Newer Netapp collection 22.8.2
4.0.17 - 2023-11-07
- AzureAD only returned first 100 groups.
- Constants with arrays now work correctly
- Little ldap test bug
- model bug, bad merging and weird caching
- Expression field can now have property
value
for manual data assignment - Added form property ansibleCredentials, allowing to pass ansible_user and ansible_password
4.0.16 - 2023-10-07
- Ansible has now default yaml stdout
- fn.fnCredentials can have regex and a second ballback
- New formfield type 'file' to upload files prior to job execution
- New Database property in credentials, needed for postgres, and can be used for mysql and mssql
- credentials property on forms => array of credentials to add
- awxCredentials property on forms => array of awxCredentials to add
- executionEnvironment property on forms => choose awx executionEnvironment
- Int64 issues in rest results, new rest parameter 'hasBigInt'
- Issue with null values in enum fields
4.0.15 - 2023-08-09
- Installation video to documentation
- add fnGetNumberedName as local function
- Table expression issue fixed
4.0.14 - 2023-08-03
- New documentation, the website ansibleforms is now generated on github pages using jekyll
- Removed environment variable from reference guide (find it in documentation now)
- Scheme creation bug fixed
- Typos in help
- Vue2 bug number fields fall back to emptry string when empty. fixed to set to undefined.
4.0.13 - 2023-07-24
- New dependency mechanism isValid you can show/hide a field based if another field is valid or not
4.0.12 - 2023-07-15
- Modals are now 1024px
- Allow enum array-of-objects values.
- New alias local_out (=> hidden local expression)
- New alias credential (=> hidden local expression with asCredential true)
4.0.11 - 2023-06-08
- Allow users in roles
- app crash on bad rest body
- errors were not shown in output
4.0.10 - 2023-05-23
- help added
- fixed sql init
- set a few columns to utf8mb4 for emoticon issues
- add interval to cleanup 1 day old running jobs
- better database check error handling, if the database is offline, no create schema button will be shown
- Added alias type 'local' => expression, runLocal, hide, noOutput
4.0.9 - 2023-05-07
- model can now be an array
- html field
- form could be executed while non-required fields were being evaluated
- expression field can have newlines, they will be removed.
4.0.8 - 2023-05-03
- new function fn.fnCidr // core implementation of ip.subnet() https://www.npmjs.com/package/ip
- new function fn.fnTime // core implementation of dayjs() https://day.js.org
- background image on login screen (that you can overwrite)
4.0.7 - 2023-05-01
- Default dependency bug
- nested placeholder expressions
- removed google font uri to local
- awx retry jobs
- Added clean up abandoned jobs at startup
4.0.5 - 2023-04-15
- Allow awx connection with username and password
- Added about me for
- Added new env var with regex to filter job output
- Friendlier schema error messages
- Non admin can see their own approve jobs
- Wrong stdout with AWX sometimes
4.0.3 - 2023-03-06
- Add select-all box with single column multiselect enum
- Required not enforced on multiple enum
- Log view since date-based logfiles
- enum dropup correct calculation
- issues with multistep and key
- add user profile in steps
- Add enum horizontal mode
- Add azure ad oAuth2 login method
- Add server fn.fnSsh function
- Showing env.variables in the settings
- Showing known_hosts and allow removal
- Added limit property for ansible playbooks
- Moved form backups to subfolder (new ENV VAR)
- Made backup age configurable (new ENV VAR)
- New theme look
- New settings menu
- Improved joblog navigation, using url params
4.0.2 - 2023-02-10
- Userobject is available in form with user => $(user)
- New field type datetime (date and time picker)
- An object-expression is now possible => "{foo:'bar'}"
- Bumped corejs and axios
- Colons failed in password due to bad passport-http
- Number field was exported as string
4.0.1 - 2023-01-27
- Saving settings error
- Table field issues
- Ansible Galaxy collection community.general
- TextArea field
- Designer readonly when locked
4.0.0 - 2022-12-31
- Dependencies are now AND not OR
- Using mysql2 lib to fix authentication issues
- Fixed AWX Task issue when failed
- Auto select current form in designer
- Placeholder with dash bug
- UTF8 character in extravars breaks local ansible execution
- Added dynamic playbook and template name $(extravar)
- Designer Locking (env var)
- Pass external data to form
- Reference Guide
- Add verbose logging for ansible (verbose: true)
- Add keepExtravars property to keep the tmp extravars json file
- Better error messages with remote expressions
- Running extravars from tmp file (due to utf8 issues)
- Rolling log file
- formfield type query is deprecated, use 'enum'
3.1.1 - 2022-11-10
- Ldap certificate bug
- Drop quotes on string placeholder
- Expressions were forced to required field
- Dropping mssql package to v8 hoping to fix hang up issue
- Dependency bug fixed with multiple dependencies
- Preview bug fixed when column was empty
- Local selectAttr function
- Local regexBy function
- Add wildcard support on filterBy function
- PostActionsEvents
- events: onSubmit, onSuccess, onFailure, onFinish
- actions with delay: load (a form), reload (same form), home, clear (reset form), hide/show (form)
- ifExtraVar property on step for conditional step
3.1.0 - 2022-10-28
- Search functionality forms
- Full with html
- Allow "notIn" and "in" validation in tablefields
- Add nested categories
3.0.9 - 2022-10-21
- Allow password type in tablefield
- Fixed sql connection problems
- Fixed filterColumns bug
- Added fnArray runLocal functions (filterBy,distinctBy,sortBy)
3.0.7 - 2022-09-26
- Allow secure connection for mysql
- Updated nodejs packages
3.0.6 - 2022-08-10
- Fixed multiselect bug
3.0.5 - 2022-07-06
- Add object-like default value for dropdowns
- Add email notifications
- Allow custom git user/email per repo
- Allow selfsigned certificates in mailserver
- Auto qdd repo hosts to known_hosts + add gui for manually
3.0.4 - 2022-06-09
- Forgot fs-extra in package
- Added 'ansibleforms_user' as object to extravars
3.0.3 - 2022-06-02
- Improved gui management (table format with paging and filtering)
- Updated all packages and no-cache build
- You cannot remove a group with users
3.0.2 - 2022-04-25
- More form validations
- Show expression and query form warnings
- Allow for expression references to have full object placeholder .e.g. $(settings.servers[0].name)
- Rewrote all callbacks to promises
- Query filter in dropdown
- Remove query filter on values change
- Reset query value when "no data"
3.0.1 - 2022-04-01
- Syslog integration (use env variables to tune)
- Relaunch and abort from joblog
- Override repo clone command
- Add log filtering and auto refresh
- Approvals and rejections (using new approval property)
- Logger levels changed (error, warning, notice, info, debug) / debug is lowest (silly is deprecated)
- Completely reworked job launch process (neater code and more reusable)
- Swagger job launch is now at job level
- Allow non rsa ssh key
- Add job access to own jobs in joblog
- Repo runs silent
- Ansible launch api (see job post now)
- Awx launch api (see job post now)
- Multistep launch api (see job post now)
3.0.0 - 2022-03-09
- About + GPL License
- Added new type : push to git
- Added property
key
: allow extravars to be specific key - Added extravars to joblog
- Added awx to joblog
- Added new type : multistep
- Added LogViewer
- Added SSH key autogen + update
- Added Git repo gui
- Allow local expressions for query
- Wrong timezone timestamp in joblog
- Referencing (placeholder) multi select will now return array
- Awx and ansible get job api => is now native job api
- Awx and ansible joboutput => is now native job output
- Ansible and awx job aboort => is now native job abort
2.2.4 - 2022-02-15
- Allow field named __inventory__ to have array to launch against multiple inventories (ansible only)
- Add new validation
validIf
andvalidIfNot
. Use an expression field as validation. - Add new
refresh
property to manually or auto refresh expression/query fields. - Add table enhancements
- prepopulate with
query
andexpression
- insertMarker and deleteMarker (to mark deleted or new records)
- allowDelete and allowInsert (to allow insert/delete)
- readonlyField
With this table feature you can now load existing data and use table to modify it.
The allowInsert set to false will focus on modification only.
The deleteMarker set to value of choice, will allow you to use ansibleabsent
for deleted records.
Read the wiki for more details.
- prepopulate with
- Fixed a bug in notIn and in validation
- Fixed (dependency + expression) bug
- Fixed execute bug (read proper exit code)
- Fixed Warning color to orange
- Removed constants from new form in designer
- Upgrade from fontawesome 5 to 6
- Label is no longer a required property
2.2.3 - 2022-02-11
- function fnCredentials(name) to get credentials
- function fnRestJwtSecure to pass a credential name, the password of the credentials is assumed the token
- Add noLog property to field for expression and query fields, no expressions, queries and results will be logged.
- Add new theme
- A clipping visualization improvement
2.2.2 - 2022-02-09
- Dropdown box gets clipped at the bottom (was new bug since 2.2.1)
- Dependencies either with valueColumn or dot-notation
2.2.1 - 2022-02-07
- Toggle hidden fields for admins
- Allow expression debug for admins
- Ignore error if no forms subdir exists
- Allow empty constants in designer (must be object bug)
2.2.0 - 2022-02-03
- Keydown responsiveness on text fields (property
keydown
) - filtering to query fields (tune with
filterColumns
property) - view of objects and query results
- queryfield-option in table field (
type: query
+from
-property) - search-replace-box in editor (
ctrl-f
orctrl-h
) - Forms.yaml can be extended with more yaml files in
/forms
subdir. - auto backup on save (from editor)
- restore backup (from editor)
- Editor can now edit a single form
- Added warnings in editor and form
- Expression can be html (
isHtml
property) - Added constants section in forms.yaml (key-value pairs in yaml format)
- Bad required validation when expression had default empty object or array
- Interval kept running in the background
2.1.6 - 2022-01-25
- Expressions can have defaults
- Extra form checking and show warnings
- Secured JWT tokens even more
- Fixed editable expression bug
- Token issue
2.1.5 - 2022-01-20
- Start with changelog
- Start with version releases
- Start with changelog
- Hide AWX token
- Add AWX ca-bundle for certificate verification
- JWT tokens, allow multiple devices
- Expression field can be
editable
- Allow rest api search by name for credentials, users and groups
- Expression can now do a db query using
dbConfig
andquery
- Fixed visualization bug
- Added sticky feature to Query field
- Added pctColumns to Query field
- Added now sorting description object on fnRestBasic
- Added now sorting description object on fnReadJson
- Added now sorting description object on fnReadYaml
- Added fnRestJwt, rest with token
- Added fnRestAdvanced, rest with custom headers
- Added fnJq function, to do json queries
- Added default definitions for jq (fnRound,fnRound0,fnRound1,fnRound2, fn2KB, fn2MB, fn2GB)
- Added jq.custom.definitions to allow custom jq definitions
- Added notIn and in validation
- Sort & Map on fnRestBasic is removed
- Sort & Map on fnReadYaml is removed
- Sort & Map on fnReadJson is removed
- Add custom.js to allow custom expression
- Start keeping releases in docker-hub
- Ignore AWX certificate errors
- Allow check and diff in ansible and awx
- Allow change password for current local user
- Start tracking versions