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
- Group permissions so that it can handle more complex group assignments.
- Upgrade [email protected], [email protected]
- FOR-2708: Remove resource from action if it was not found on import.
- FJS-1049: Fixed CSV export of components with minimized schema.
- Fixed setting of formRevision property on import when revisions are enabled.
- Updated logging functionality.
- Merge changes from 1.x
- Update formio.js to 4.1.0-rc.13
- retagging
- Additional options to fetch wrapper.
- New hooks to extend the authentication system.
- Update formio.js to 4.1.0-rc.6
- Add tree validation to server.
- Mongo SSL Certificate options.
- Replace request library with node-fetch.
- Updated formio.js to 4.10.0-rc.4 to fix isomorphic validation.
- Upgrade dependencies.
- FJS 864: Fixed login action resources limitation
- Set email for User and Admin ressource required & unique
- Fixed server crash on invalid x-query
- Hooks for the alias.
- Hooks for the formResponse.
- Upgrade [email protected], [email protected], [email protected], [email protected]
- Upgrade [email protected]
- Ensure that field actions are triggered on dryrun.
- Upgrade [email protected]
- Upgrading dependencies.
- Isomorphic validations. May cause error interface and codes to change slightly.
- Upgrade [email protected], [email protected]
- Upgrade [email protected]
- Fixed setting of formRevision property on import when revisions are enabled.
- Cherry pick email fix for large emails.
- Resource.js library to 2.3.1 to revert change in aggregation.
- A bad revert.
- Revert "Added a middleware for loading a full form schema for use component settings.
- FOR-2707: Fixes an issue where the PATCH request was being failed if a form has a nested form as reference.
- Server crashes when a bad query is passed to ResourceJS
- Added a middleware for loading a full form schema for use component settings.
- Export of form controllers.
- FJS-704: Address Refactor Issues
- Refactored for the verbose health endpoint
- Fixed Form Controller export.
- Support Extra form fields exporting
- Upgraded [email protected], [email protected], [email protected], [email protected], [email protected], [email protected], [email protected], [email protected]
- FJS-953: Fixed getting error when exporting scv with time inside dataGrid
- PDF 14 - Allow PDF Submission endpoint to be retrieved by 'Form Alias'
- Fixed callback invocation after alterFormSave series.
- Update [email protected], [email protected], [email protected], [email protected], [email protected], [email protected], [email protected], [email protected]
- FOR-2665: Ensure calculate value eval context
- Template import/export improvements.
- Fix (Tree): added validation schema.
- FJS-917: Add options to use SSL Certs with Mongo connection.
- More options for mapping Save Submission action to a Resource.
- Reverted action logs to save correctly.
- Problem where malformed data could throw errors.
- Issue with email renderings not working with workers upgrade.
- EditGrid issues when exported in CSV format.
- FJS 864: Fixed login action resources limitation
- Fixed server crash on invalid x-query
- Issues where loading subforms could lose references.
- Upgrade [email protected]
- Upgrade [email protected], [email protected], [email protected], [email protected], [email protected], [email protected]
- Debug messages to the loadSubForms method.
- Validator for tagpad component.
- Validations for checkboxes configured as radio inputs.
- Upgrade [email protected], [email protected], [email protected], [email protected], [email protected]
- Upgrade [email protected]
- Fixed CSVExporter: Add default format for datetime
- Upgrade [email protected], [email protected], [email protected], [email protected], [email protected], [email protected], [email protected], [email protected]
- Fixing dryrun for field actions so they execute, and adding more hooks for formResponse and alias.
- Tokens to the calculate value evaluate contexts.
- The decoded JWT Token as "token" to the evaluation context for Calculated Values.
- Upgrade [email protected]
- Updated [email protected], [email protected], [email protected]
- Made changes to ensure evals cannot be can on the server.
- Ensure we call loadForm hook for all types of form loading methods.
- Upgrade [email protected]
- Upgrade [email protected], [email protected]
- Added additional hooks for loadForm.
- Upgrade [email protected]
- Added actionsQuery alter hook.
- All deprecations and warnings.
- Upgrade [email protected], [email protected], [email protected], [email protected], [email protected], [email protected], [email protected], [email protected], [email protected]
- Set sort order of exports.
- FOR-2608: Fixed Cc and Bcc for Mailgun.
- FOR-2603: Fixed issue when server would throw an error if nested submission was not found.
- Added missing variables to check conditional context.
- Upgraded [email protected], [email protected], [email protected]
- Fixed some more email issues with BCC and CC.
- Added support for Cc and Bcc for Email action.
- Fixed file component validations.
- Tests to ignore controller form property.
- Upgrade [email protected]
- Upgraded [email protected], [email protected], [email protected]
- Issue where the Swagger IO intreface was not working.
- Issue where Swagger could throw an unhandled error.
- Upgraded [email protected]
- Reverted the sort order of CSV exports.
- Other issues with CSV export using wizards.
- Login lockout test wait times to be more forgiving.
- Issue where CSV exports with wizards was throwing errors.
- Upgrade [email protected], [email protected]
create
Group Permissions layer
write
andadmin
Group Permissions layers to have ability to create submissions
- Convert field and property handlers to work with complex data types by managing the path correctly.
- Upgraded dependencies
- Add submission, previous and moment to action should execute context.
- Added Merge Component Schema action type.
- Added api token support
- Fixed temp token check generated with admin key
- Fix URL to download Github archives
- Fix nested form submissions export
- ignoreTLS flag for the nodemailer SMTP configurations.
- Problems where empty datetime components were returning the wrong values.
- Issue with multiple datetime fields erasing the values provided.
- Upgraded [email protected], [email protected]
- Submission filter queries to the export functions.
- Fix Mongoose deprecation warnings
- Upgraded [email protected], [email protected], [email protected], [email protected], [email protected], [email protected], [email protected], [email protected]
- Add the ability to alter actions.
- Add minItems and maxItems validation
- Upgraded [email protected], [email protected], [email protected], [email protected], [email protected], [email protected]
- Upgrade formio.js to 4.x branch.
- Default name of environment variable to change the email batch size.
- Not running unique keys validation on components with missing input property
- Crash in the Login Action when no settings were provided.
- Support for bulk emails by breaking up a large amount into chunks.
- FOR-2498: Added final cleanup after project import.
- Upgrade formio-workers to 1.14.0 https://github.com/formio/formio-workers/blob/master/Changelog.md#v1140
- Upgraded [email protected]
- FOR-2499: Always treat actionContext alter hook as Promise-returning
- Fix issue where field logic value settings were forced to a string
- FOR-2499: Make actionContext hook async
- FOR-2493: Added configurable access endpoints.
- FOR-2500: Added empty subsubmission data check before updating.
- FOR-2493: Fix issue with files in submission index endpoint when URL is undefined
- Upgraded formio-workers to 1.13.0 to resolve email issue with empty file uploads.
- Upgrade mongoose to 5.7.0
- Configurable access endpoint.
- Reverted commit that alters access endpoints.
- The filter queries to allow for string 'false', 'true', and 'null' as well as hard values using "__eq" and "__ne" selectors.
- Upgraded [email protected], [email protected], [email protected], [email protected], [email protected]
- The ability to query deleted submissions by providing the filter parameter "?deleted__ne=null" in the submission index query.
- The access endpoint to work with authentication to ensure that it only provides information that the user has access to.
- Upgraded [email protected], [email protected]
- The submission index query to provide more meta-data for file uploads. Just remove any base64 data.
- Token schema
- Issue with CSV export crashing server when timing is off
- Add own filter to count query
- Fix issue where row is not defined on custom conditional
- Upgrade [email protected], [email protected], [email protected], [email protected], [email protected], [email protected], [email protected], [email protected], [email protected], [email protected], [email protected]
- Fix tests that fail with new config changes.
- Added missing variables in custom validation.
- Fix some issues with protecting password fields.
- Wait for saves in setActionItemMessage function.
- ActionItem resource for logging action information.
- Fix some issues with protecting password fields.
- On index, only return if a file is uploaded for base64 files.
- Update dependencies.
- Upgraded [email protected], [email protected], [email protected], [email protected], [email protected], [email protected]
- Form properties in export.
- Ensure that the loadSubForms honors the form revision settings within the form components.
- Added more permissions hooks.
- Altered the interface for permissionSchema hook. Now it provides the full permission schema.
- Dockerfile to correctly run.
- Installation process to be able to run without prompts.
- Docker-compose file to allow for complete bootup easily.
- Encrypted values not available in emails. (Caused crashes with implementation)
- Encrypted values not available in emails.
- Ability to hook into email/webhook params.
- An issue where a debug method was undefined.
- Upgraded [email protected], [email protected], [email protected], [email protected], [email protected], [email protected], [email protected]
- Problems where sub-forms are submitting when "reference" is disabled on the component.
- FOR-2143: Protected fields being exposed for SAR select resources
- Upgraded [email protected]
- Submission role tests for the enterprise server.
- Upgraded [email protected]
- Adding loading nested forms sub-submissions to cache methods.
- Allowing the deletion of roles from a submission (but not adding)
- Adding submissionQuery hooks for all submission queries being made.
- Making loadSubForms more performant and also adding a way to bulk load forms and submissions.
- Upgraded [email protected], [email protected], [email protected], [email protected], [email protected], [email protected], [email protected]
- Moving the owner setting to submission handler so it works on all submissions.
- Replace bcrypt with bcryptjs.
- Fix permissions check on patch submission.
- Fix issue with deploying projects with forms configured with nested forms attached to specific versions.
- The token handler to also call the user hooks for other kinds of tokens.
- Upgraded [email protected], [email protected]
- Added a more efficient and complete role checking mechanism for permission handling.
- Updated [email protected], [email protected], [email protected], [email protected], [email protected], [email protected]
- Patch requests incorrectly patching files with encrypted fields.
- Removed the macros from the email action since those are now added to the formio-workers library.
- Upgraded dependencies.
- Problem with a subform put request.
- Issues with the nested subform create and update when called from the API.
- Updated [email protected]
- Default the email action to have a default email template.
- Upgraded [email protected], [email protected], [email protected], [email protected], [email protected], [email protected], [email protected]
- Issue with subform validation to not include subforms that are conditionally hidden.
- Issue with subform validation where it will not process the subform requests if the subform is not present within the data.
- A potential crash within the subform validation where if the subform requests fails, it will cause the post request to not find a submission.
- The mongoose schema definitions from removing the _id property incorrectly.
- PATCH method support for submissions.
- Now allow more than GET requests to be skipped for permissions checks.
- Upgraded [email protected], [email protected], [email protected], [email protected], [email protected]
- When resetting passwords, jwtIssuedAfter sometimes got set to wrong timestamp resulting in invalid tokens.
- Ability to connect to SA enabled mongodb instances.
- Updated [email protected], [email protected], [email protected], [email protected], [email protected], [email protected]
- reCAPTCHA API Endpoint
- The tests to work with extended systems.
- Issue where read all permissions are ignored when resource submission access is established.
- Upgraded [email protected], [email protected], [email protected], [email protected], [email protected], [email protected], [email protected]
- Added more permissions form matching during import process to resolve conflicts.
- Minimal support for running entire stack in docker-compose
- FOR-644: Adding logging for form actions to help tracking execution and errors.
- FOR-1908: Fixed problem where ID's could be set when creating records.
- FOR-1977: Issues with the resource access permissions where indexes were not performant and giving 401 errors.
- Upgraded [email protected], [email protected], [email protected], [email protected], [email protected], [email protected], [email protected]
- Upgraded nodemailer to version 5: From their CHANGELOG - Start using dns.resolve() instead of dns.lookup() for resolving SMTP hostnames. Might be breaking change on some environments so upgrade with care
- The formio-workers dependency from using dynamic require paths which messes up certain builds.
- Issues with the resource permissions where it would only allow one resource per type.
- The default.json configuration to point to the correct "databases" config.
- Changed the installation to say "setup" instead of "install".
- Upgrade [email protected], [email protected], [email protected], [email protected], [email protected]
- Updated to resourcejs v1.33.0 which changes more 500 errors to 400s.
- Potential issues with the recursive forms not loading correctly.
- Potential crash with the subform responses.
- Upgraded [email protected], [email protected], [email protected], [email protected], [email protected], [email protected]
- Logging for action failures
- Respond with 400 errors instead of 500 when an error occurs.
- resourcejs 1.30.0
- Merge form handler
- Code cleanup
- API key regex.
- Upgraded
- Issue where logging would sometimes crash when tokens do not contain user objects.
- basic request logging with DEBUG=formio:log.
- Minor nested form reference issue.
- Syntax for including files using __dirname. This is maintenance only.
- FOR-1719 Nested form SAR feature.
- Schema collection is now a first class model.
- Issues where an admin token generated with no logged in user would fail.
- Issue with Email configurations overriding other emails with different settings.
- Problem with the "current" user endpoint where it would not work if query parameters are provided.
- Upgraded the formio-workers library to v1.18.0
- Upgraded formiojs library to v3.5.5
- Upgrade [email protected], [email protected], [email protected], [email protected], [email protected], [email protected], [email protected], and [email protected]
- Fixed the action condition checks to ensure it will not work for any empty conditionals.
- FOR-1603,FOR-1639: Improved Google CSV export
- Add option to mark template imports to create only.
- Expire all tokens when a password is reset.
- Apply form update permissions when fetching actions.
- A potential crash within the Validator.
- Query parameters to the action execution.
- Upgrade dependencies.
- Upgrade [email protected] [email protected]
- Allow usage of Unauthorized certificates for SMTP servers.
- FOR-1533: Improved conditional Actions.
- FOR-1556: Added timezone support for CSV downloads.
- Upgraded [email protected], [email protected], [email protected]
- Introduced an "Everyone" permission which applies to Anonymous + all Roles.
- Fixed dependency deprecation and vulnerabilities.
- Fixed the permission handler to work as expected with "owner" permissions.
- Upgraded dependencies.
- Upgraded [email protected], [email protected], [email protected], [email protected], [email protected], [email protected], [email protected]
- Issue with SQL Action for update commands.
- maxWords and minWords validation.
- Fixed the machine names to be performant and without special chars.
- Allow admins the ability to see all anonymous submissions
- Issues where the validator would crash for certain JSON form structures.
- [email protected], [email protected], [email protected], [email protected], [email protected], [email protected]
- Date converting for filter.
- The original message type of an email to the message payload.
- Moved all instances of mongoose to use a single entity provided within the formio object.
- Make select query validation use caching to limit requests being made.
- CSV export of wysiwyg
- Webhook improvements
- Problems with the machine name generation where numbers in the project name would mess it up.
- Issues with the machine name generation for names with more than 10 instances.
- Ability for email templates to execute from workers library.
- Validation changes for multi-mask fields
- Ability to configure email transports via hooks.
- Upgraded [email protected], [email protected], [email protected], [email protected], [email protected], [email protected], [email protected], [email protected], [email protected], [email protected], [email protected], [email protected], [email protected], [email protected], [email protected], [email protected], [email protected], [email protected]
- Potential crash when merging forms when one row was empty or missing.
- Upgraded resourcejs to v1.23.1 to fix issue with number filtering.
- Ability to calculate values of fields on server.
- Unique validation for objects.
- Issues with DataGrid exports.
- Issues with DateTime filters on index apis.
- Upgraded dependencies.
- Save as reference issues with multiple configuration.
- Problems with using the "exists" endpoint with the new converted ObjectId's
- Problems with providing an _id filter when using save as reference indexes.
- Upgraded [email protected], [email protected], [email protected], [email protected], [email protected]
- Email view for File component.
- Problem where some values would get converted to ObjectIds and then would not work with indexing.
- Upgraded [email protected], [email protected], [email protected], [email protected], [email protected], [email protected], [email protected], [email protected], [email protected], [email protected]
- Convert all sub-document submissions to use ObjectId's for form, owner, and _id.
- Added recommended indexes for performance.
- Problem where the references could get in a state where the Id's are not ObjectIds.
- Running the update hook to fix the references again to ensure they are all ObjectIds.
- Issues with single record save-as-reference where previous submission would mess up queries.
- Problems with the SMTP settings where username and password could be optional.
- Problems with the save-as-reference not working with empty references.
- Fixed some filtering issues with Save as reference.
- Potential crash within the CSV export functions.
- Refactored the save-as-reference so pagination + sort works as expected.
- Pagination issues with save-as-reference
- Correct sorting for save-as-reference when there are more items than references.
- Issues with save-as-reference lookup for single references.
- Some more issues with save as reference features.
- Resourcejs to allow fix date values.
- Upgrade dependencies.
- The form component unique validation to only care about input components.
- Issues with the store as reference features.
- The filter and sort index queries for referenced fields.
- CSV exporter that would throw an error for DateTime components.
- Issue where hidden components that have a value set remove their parent containers or datagrids.
- Ensure sub-requests get their own cloned request paramters.
- Issue with the field parameter actions would execute twice unintentionally.
- Issue where empty list of references would fail the request.
- Some potential undefined references causing crashes.
- A bunch of small bugs in CSV export.
- Issue with the resource references index query taking too long and taking a lot of memory.
- Problems with using cloneDeep on sub-requests which would gobble up memory.
- Problems with sub-responses calling methods that do not exist.
- Upgraded formiojs (2.29.5), nodemailer (4.5.0), nunjucks (3.1.0)
- Upgraded mongoose to 5.0.6, formio.js to 2.29.2
- Removed all calls to snapshot since it was causing serious performance regressions.
- Problem with the owner property not getting set properly when they are an admin.
- A potential crash when assigning submission resource access.
- Upgraded MongoDB driver to 3.0.2, Mongoose 5.0.3
- Add list querystring to allow more efficient list returns.
- Field Logic handling.
- Fix required multi-value fields not returning required.
- Fix the way rows are found for datagrid checkConditionals.
- Fix email actions for external authentication (User doesn't exist in form.io)
- Fixed an issue where the token handler would return 401 when it should try as anonymous.
- Upgrade MongoDB (v3) and Mongoose (v5) to latest versions.
- Potential crashes in CSV export and template imports.
- Removed a bunch of superfluous debug messages for memory and performance improvements.
- Tests to refer to the correct helper template instead of the global one.
- Submission index queries that filter based on the user owner.
- Problems with the Save as Reference for Select dropdowns and other bugs.
- Connection issues with SQL Action.
- ES6 cleanup items.
- Issue where the metadata property for submissions was getting stripped out.
- DateTime component export.
- Upgraded resourcejs to latest version.
- Upgraded all dependencies.
- Upgraded resourcejs to fix crash in index queries.
- The owner property to be either a MongoID or a string with custom value.
- Converted some code into ES6 patterns.
- Hook into the export capabilities.
- CSV export when Select component within DataGrid component.
- Do not replace the title and name during import if none are provided.
- Custom Form properties.
- Allow people to provide their form access settings on POST.
- Issue with CSV export crashing on fields within a datagrid.
- Threading so that it will not block debugging ports.
- Make async validators work properly and move select to joi validation.
- Fix issue with importing subforms out of order.
- Move sub form validation and submission to the appropriate areas so it works in conjunction with other functionality.
- Hooks for tempTokens.
- Problems with using temp tokens with remote environments.
- Import order of subforms no longer crashes import.
- Issues with problematic aggresive resource caching.
- Upgraded dependencies.
- Datetime fields to be stored as MongoDB Date objects.
- Ability to alter models dynamically.
- Partial indexes for non-deleted entities.
- Ability to provide dynamic sub-forms from parent form submissions.
- Upgrade all dependencies.
- Made the editgrid validation not dependant on the multiple flag in component settings.
- Bugfix/FOR-809. Fix in CSVExporter for multivalue resource and select fields.
- EditGrid validation.
- Tests
- A hook within the submission tests to get the right hook.alter.
- Ability to alter validation form before submission validation occurs.
- Enhancements to webhook actionz
- Validation for Checkbox component with 'radio' type and 'name' option.
- Allow altering of resources for forms.
- Backend validation checks for select dropdown components.
- Blocking webhook support
- Possibility to add shortcuts.
- Issue with the validation clearing out values when clearOnHide is set to false.
- Issue where a database update would be able to occur.
- Ensure we are on a 3.1.0 db schema.
- Allow patch schema updates without stopping server start.
- Added update hook to remove previous machineName indexes.
- Stop empty string removal on validation
- More changes to machineName so that it is not enforced unique at mongo level to keep duplicate errors from occuring.
- Machine name collisions on project import when there exists deleted entities.
- The export and import to translate the form property on form components.
- Issues with the machineKey not auto-incrementing and staying unique.
- Ability to alter submission with a hook.
- Possibility to use underscore in API key.
- Upgraded many dependencies to latest versions.
- Add json logic validation
- Upgrade Joi to 1.11.1
- Move custom javascript validation to Joi extension
- Change validator to return all errors instead of only the first encountered
- Return validation result along with errors
- Return result on dryrun
- Issue where data grid elements could not share name of parent element.
- Include the form settings within the export.
- Added a try/catch around the checkConditionals so that it will not crash when a bad conditional is provided.
- Submission validation with multi-value with empty strings would fail on the second save. Allow nulls.
- Sub-submissions and validations for form components where the submissions are already not established.
- Mongoose depcrecation warnings.
- Allowed for the temp token hooks to be asynchronous.
- Return SQL Server query results from get action
- Datagrids with invalid rows will no longer remove those rows.
- Validation errors on PUT will now return 400 instead of 500.
- Required fields hidden with JSON logic will no longer throw validation errors.
- Issue with import routine crashing on undefined function router.post.
- A way to track the parent submission when viewing submissions submitted from multi-form workflows.
- Merging of columns removes width, offset, push and pull settings.
- The token generation for SSO tokens to not require erroneous parameters.
- An issue with the Reset password action not working with case insensitive emails.
- Data in a datagrid showing in email notifications.
- Ability to modify the current form based on submission data before validation.
start:dev
script for npm with Nodemon support.
- An issue with custom validations with components within a datagrid were not working properly.
- CSV export for Resource component and Select component with data source Resource / URL / JSON.
- An issue where if you have clearOnHide not set, it would still clear out values for hidden fields.
- Issue with unit tests from extended libraries that introduce new properties.
- Issue with components still getting cleared even though clearOnHide is false.
- The ability to import a custom project.json during installation.
- Issue during installation where the paths would get all messed up.
- The ability to provide "full=true" query parameter to the form load and retrieve the full form, including form components.
- The possibility of the server crashing for reference fields.
- The body limit for form sizes to allow forms up to 16mb in size (JSON format).
- Method for having reference field types that can dynamically link to sub resources.
- Deprecated validation handler in the Roles model.
- 'Unknown resource' error on PUT of form which has multiple save actions to other resources
- Submission Resource Access are calculated on the server during submission instead of in the browser.
- Allow roles to have their own permissions apart from default owner permissions.
- Make sure to not run the temp token tests for customer docker deployment test runs.
- A tempToken hook system to allow external libraries to modify temp token payloads.
- The way that the debug flag was being checked for debugging purposes.
- Allow exported action machine names to be altered.
- Fixed debugger issues with the email threads, due to an issue with process forking using the parent process.
- Automatic generation of action machine names to be form:action.
- Don't attempt to set headers after response has been sent.
- Allow template export steps to be altered with templateExportSteps
- Allow default template to be modified.
- Change templateSteps to templateImportSteps
- Updating the default template for new email actions to use the submission macro, rather than email, to change the output of signature components to be Yes/No
- Revert project version back to 2.0.0 and use tag instead.
???
- Adding entity query hooks to the import entities.
- Changed export filename to include version.
- Changed export version to reference project version not export schema.
- Removed plan from export.
- Template import / export tests
- git pre commit hooks for linting
- External token hooks
- Template action imports could fail based on resources not existing at creation time.
- customPrivate validations now work for components nested inside of layout components.
- Removed old template schema translations on import.
- Added temporary auth token support. You can now generate new tokens using the
/token endpoint with the following headers.
- x-expire = The expiration of the token in seconds.
- x-allow = The paths to allow for the token in the format: GET:/path/[0-9a-z]+
- Make action handlers alterable.
- Add mongo indices to all entities.