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.
- Fixes some bugs in the
Numbercomponent validations. Thank you 77media-creations!- The component incorrectly used the label as the validator key.
- A nullable rule was not applied to optional components, which could cause problems with other validation rules in the chain.
v3.0.0 - 2026-04-06
- Requires
northwestern-sysdev/lodash-php^4.0.0, which removes the global__()function that conflicted with Laravel's__()(trans) helper. - Dropped support for Laravel 8, 9, and 10 (incompatible with PHP ^8.3 and Carbon ^3).
- Dropped support for Symfony Finder ^6.
- Updated composer requirements to support Laravel 13.
- Added PHP 8.5 to CI test matrix.
v2.0.0 - 2025-08-29
- The minimum PHP version is now 8.3.
v1.2.2 - 2025-02-24
- Updated composer requirements to support Laravel 12.
v1.2.1 - 2025-02-21
- Corrected routes that needed their controllers' full class paths, by @gauravmak in #447
v1.2.0 - 2025-01-28
- Deprecation warnings from PHP 8.4 have been addressed.
v1.1.0 - 2024-10-29
- The
ComponentInterfacehas a new method,advancedValidations()which returns an invokableValidationInterfaceinstance.
- Support for JSON Logic into the component validation process.
- Fixed an issue where the
Currencycomponent failed validation when not required and given null values. - Fixed an instance where the
$subjectparameter tostr_replace()could have been null inTextfield::processValidations(), as this was deprecated in PHP 8.1.
v1.0.1 - 2024-05-15
- Carbon v3 is now compatible with the package.
SimpleConditional::invoke()would always return false for multi-valueSelectorSelectBoxescomponents. This has been corrected.
v1.0.0 - 2024-03-19
-
The minimum versions for dependencies have changed. The new requirements are:
- PHP 8.2
- Laravel 11
- Bootstrap 5
- FontAwesome 6
-
The JS file
default.jsreferences the.envvalueVITE_STORAGE_DEFAULT_VALUEinstead ofMIX_STORAGE_DEFAULT_VALUE. If you are using Laravel Mix or another build system, you may need to adjust this code. -
The routes file now removes the
\Illuminate\Foundation\Http\Middleware\VerifyCsrfTokenmiddleware from the POSTs that formio makes, asApp\Http\Middleware\VerifyCsrfTokenis no longer part of the Laravel skeleton. If you are upgrading from Laravel 10 and have not removed your stock middleware, this does not need to be updated.
v0.15.1 - 2024-03-11
BaseComponent::submissionValue(), which provides the method for most components, will handle multiple-value components more elegantly and should never return anullfor them, even if this is what was represented in the submission JSON.
v0.15.0 - 2024-03-05
- The
ResourceInterface::submissionsmethod signature now includes an optional$contextparameter. To migrate, ensure that all custom resources classes incorporate the new parameter.
- Support for non-scalar option values in the
Selectcomponent.
v0.14.1 - 2024-02-29
- Fixes the check to ensure Quill is the default Textarea editor.
v0.14.0 - 2024-02-28
- Added
additional()getter to theComponentInterfacefor getting other settings that are not used by the dynamic-forms package directly.
v0.13.0 - 2023-12-06
- Added getters to the
ComponentInterfacefor validation rules.
v0.12.2 - 2023-05-22
- This fixes a bug introduced in v0.12.1;
show:falsein aSimpleConditionalwas being ignored instead of evaluated correctly.
v0.12.1 - 2023-05-02
- An incomplete
SimpleConditionalwill be ignored instead of erroring.
v0.12.0 - 2023-04-06
- Updated dependencies for Laravel compatibility 10. There are no breaking changes.
v0.11.4 - 2023-03-27
- Works around an issue concerning the translation of errors from
ValidatedFormin later versions of Laravel 9.x and 10.
v0.11.2 - 2023-03-22
- Swapped to a fork of the lodash-php package that has PHP 8.2 compatibility fixes.
v0.11.1 - 2023-01-18
- The
Selectcomponent'sinitSrcValues()method has been updated by setting an empty array for dropdowns that lack options instead ofnull.
v0.11.0 - 2023-01-09
- The
Buttoncomponent has a new method,action()which exposes the button's action type.
- PHP 8.2 has been added to the test matrix.
v0.10.0 - 2022-11-08
- The
Selectcomponent has a new method,options(), which exposes the labels for options.
- Problems with the installer were corrected. Thank you bilogic!
v0.9.2 - 2022-09-19
- The
Surveycomponent has two new methods,questionsWithLabels()andchoicesWithLabels(). These are used to get the key/label lookups for both the questions and answers, which were not previously available.
v0.9.1 - 2022-09-08
- Fixing how the resource registry stores its list of resources.
v0.9.0 - 2022-08-26
- Support for Resources within the Select component.
v0.8.4 - 2022-07-26
- Allows for regular textarea editors in addition to Quill.
v0.8.3 - 2022-07-06
- Before comparing values for select, selectboxes, radio, and survey components, the values will be trimed. This matches the behaviour of the default Laravel middleware, which trims all submitted form values.
v0.8.2 - 2022-07-01
- Fixes
Surveycomponents failing to validate if a question'svalueincluded a dot (.) character.
v0.8.1 - 2022-05-11
- The
ValidatedForm::allFiles()method would not return files if the key contained a folder prefix. This has been corrected.
v0.8.0 - 2022-05-09
- Adds support for Hidden components.
v0.7.7 - 2022-04-30
- An edge case where select & radio components in multiple-value mode when provided with a
nullsubmission value would trigger a runtime error has been corrected.
v0.7.6 - 2022-04-26
- If a component with child components is excluded by conditional logic, its children are now excluded from validation as well. This mirrors the formio.js behaviour.
- When a file component was excluded by conditional logic, validating the form would cause a PHP error. This has been corrected.
v0.7.5 - 2022-04-25
- Added
ComponentInterface::defaultValue(), for accessing the configured default value for a component.
v0.7.4 - 2022-04-22
- When running AJAX requests back to Laravel via a form component, server-side errors could cause the user to be redirected to the AJAX endpoint URL instead of the form. This has been corrected.
v0.7.3 - 2022-04-10
Filecomponents have a newgetStorageDirectory()method to access the configured storage directory.
v0.7.1 - 2022-03-30
- Processed values from components will be used for running JSON Logic calculations & conditionals now. This fixes problems with empty strings in number fields being used in mathematical calculations, which could potentially cause PHP runtime errors.
v0.7.0 - 2022-03-22
- Support for JSONLogic has been extended to calculated values.
v0.6.0 - 2021-02-22
- Enable support for Laravel 9.
v0.5.4 - 2021-02-04
- File components that use S3 and have a directory set will pass server-side validations now.
v0.5.3 - 2022-01-29
- Numeric values for
Select&Radiocomponents no longer cause the validation to fail.
v0.5.2 - 2022-01-20
- Several methods in
Storage\S3Driverhave a new optional parameter for an array of parameters to add to pre-signed URLgetCommand()calls. These can be utilized to add S3 encryption and use other S3 features. - The
urlValiditiyPeriodparameter introduced in v0.5.1 had a spelling error. If you are using PHP 8 named parameters, this may be breaking, if you've started using it since the last release.
v0.5.1 - 2022-01-19
- The
Storage\S3Driver::getDirectDownloadLinkmethod now has new optional parameters.
- Fixes a bug in
Rules\FileExistswhen using the S3 storage driver that caused validation to fail if the original filename contains URL-encodable characters.
v0.5.0 - 2021-11-03
- Set the default TextArea editor to Quill, and removed support for CKEDitor.
v0.4.0 - 2021-07-29
- Support for JSONLogic (augmented with lodash) for conditional form fields.
- Fixed a bug in
ValidatedForm::allFiles()when components were nested.
v0.3.1 - 2021-07-27
- Added an
allFiles()method toValidatedForms to easily access submitted files.
v0.3.0 - 2021-07-22
- Support for uploading files to the server instead of S3 added.
- A new
MIX_STORAGE_DEFAULT_VALUEenvironment variable has been added to pre-select & enforce a particular file upload method.
- The methods from the
HandlesDynamicFormsStoragetrait have been renamed.- The route stub file has been updated accordingly. Please see the upgrading guide in the docs site for resolving this change.
BaseComponentnow uses a newhasMultipleValuesForValidation()method to determine if a field in single-value mode should be validated in multi-value mode.
- The
ComponentRegistrynow consistently registers components without a leading slash in namespaces.
v0.2.0 - 2021-05-13
- The
dynamic-forms:installartisan command does a better job of installing now:- Adds the
formiojsdependency topackage.json - Adds the Formiojs CSS to your
app.scssfile - Adds a
builder-sidebar.jsfile w/ sensible builder defaults that remove unsupported components
- Adds the
v0.1.0 - 2021-05-04
- Initial release.