- Updated the usage of the
ButtonTemplates
to pass the new requiredregistry
prop, filtering it out in the actual implementations before spreading props, fixing - #3314 - Updated the test for the
CheckboxWidget
validating that theschema.title
is passed as the label, fixing #3302 - Updated the theme to accept generic types, exporting
generateXXX
functions forForm
,Theme
,Templates
andWidgets
to support using the theme with user-specified type generics, partially fixing #3072 - Updated the use of the deprecated
withConfigConsumer
with theConfigConsumer
component instead, fixing #3336
- Updated the usage of the
ButtonTemplates
to pass the new requiredregistry
prop, filtering it out in the actual implementations before spreading props, fixing - #3314 - Updated
CheckboxWidget
to get therequired
state of the checkbox from theschemaRequiresTrueValue()
utility function rather than therequired
prop, fixing #3317 - Updated the test for the
CheckboxWidget
validating that theschema.title
is passed as the label, fixing #3302 - Updated the theme to accept generic types, exporting
generateXXX
functions forForm
,Theme
,Templates
andWidgets
to support using the theme with user-specified type generics, partially fixing #3072
- Updated the usage of the
ButtonTemplates
to pass the new requiredregistry
prop, filtering it out in the actual implementations before spreading props, fixing - #3314 - Updated
CheckboxWidget
to get therequired
state of the checkbox from theschemaRequiresTrueValue()
utility function rather than therequired
prop, fixing #3317 - Updated the test for the
CheckboxWidget
validating that theschema.title
is passed as the label, fixing #3302 - Updated the theme to accept generic types, exporting
generateXXX
functions forForm
,Theme
,Templates
andWidgets
to support using the theme with user-specified type generics, partially fixing #3072
- Updated the usage of the
ButtonTemplates
to pass the new requiredregistry
prop, filtering it out in the actual implementations before spreading props, fixing - #3314- Also, passed
registry
into theSubmitButton
inside of theForm
as part of this fix
- Also, passed
- Updated
ArrayField
to pass the newtotalItems
andcanAdd
props to theArrayFieldItemTemplate
instances, fixing #3315- Also refactored the near duplicate logic for
onAddClick
andonAddIndexClick
into a new_handleAddClick()
function, fixing #3316
- Also refactored the near duplicate logic for
- Fix passing of generic types to a few helper methods, partially fixing #3072
- Updated the usage of the
ButtonTemplates
to pass the new requiredregistry
prop, filtering it out in the actual implementations before spreading props, fixing - #3314 - Updated the test for the
CheckboxWidget
validating that theschema.title
is passed as the label, fixing #3302
- Updated the usage of the
ButtonTemplates
to pass the new requiredregistry
prop, filtering it out in the actual implementations before spreading props, fixing - #3314 - Updated the test for the
CheckboxWidget
validating that theschema.title
is passed as the label, fixing #3302 - Updated the theme to accept generic types, exporting
generateXXX
functions forForm
,Theme
,Templates
andWidgets
to support using the theme with user-specified type generics, partially fixing #3072
- Updated the usage of the
ButtonTemplates
to pass the new requiredregistry
prop, filtering it out in the actual implementations before spreading props, fixing - #3314 - Updated the test for the
CheckboxWidget
validating that theschema.title
is passed as the label, fixing #3302 - Updated the theme to accept generic types, exporting
generateXXX
functions forForm
,Theme
,Templates
andWidgets
to support using the theme with user-specified type generics, partially fixing #3072
- Updated the usage of the
ButtonTemplates
to pass the new requiredregistry
prop, filtering it out in the actual implementations before spreading props, fixing - #3314 - Updated
CheckboxWidget
to get therequired
state of the checkbox from theschemaRequiresTrueValue()
utility function rather than therequired
prop, fixing #3317- Also fixed the
CheckboxWidget
missing label issue #3302
- Also fixed the
- Updated the test for the
CheckboxWidget
validating that theschema.title
is passed as the label, fixing #3302 - Updated the theme to accept generic types, exporting
generateXXX
functions forForm
,Theme
,Templates
andWidgets
to support using the theme with user-specified type generics, partially fixing #3072
- Updated the
SubmitButtonProps
andIconButtonProps
to add requiredregistry
prop, fixing - #3314 - Updated the
ArrayFieldTemplateItemType
to add the newtotalItems
andcanAdd
props, fixing #3315
- Fixed the documentation for
ArrayFieldItemTemplate
,SubmitButtonProps
andIconButtonProps
as part of the fix for #3314 and #3315 - Updated the documentation in
form-props.md
forchildren
, fixing #3322 - Added new
typescript.md
documentation toAdvanced Customization
describing how to use custom generics as part of the fix for #3072
- Pass the
schema
along to theArrayFieldItemTemplate
as part of the fix for #3253 - Tweak Babel configuration to emit ES5-compatible output files, fixing #3240
- Reverse the condition used in the
onChange
handler in theRangeWidget
, fixing #2161
- Reverse the condition used in the
onChange
handler in theRangeWidget
, fixing #2161
- Update the
ArrayFieldItemTemplate
to addschema
as part of the fix for #3253 - Fix improper merging of nested
allOf
s (#3025, #3227), fixing #2923 - Added a new
ErrorSchemaBuilder
class to enable building a properErrorSchema
without crazy castings, fixing #3239
- Updated the validator to use the
ErrorSchemaBuilder
in thetoErrorSchema()
function to simplify the implementation
- Updated the validator to use the
ErrorSchemaBuilder
in thetoErrorSchema()
function to simplify the implementation - Updated the validator to properly map missing required field errors in the
ErrorSchema
, fixing #3260
- Fixed the documentation for
ArrayFieldItemTemplate
as part of the fix for #3253 - Added documentation for
ErrorSchemaBuilder
in theutility-functions.md
, fixing #3239
- No longer render extra 0 for array without errors, fixing #3233
- Added
ref
definition toThemeProps
fixing #2135 - Updated the
onChange
handler inForm
to use the newpreventDuplicates
mode ofmergeObjects()
when mergingextraErrors
when live validation is off, fixing #3169
- Fix RangeWidget missing htmlFor and schema.title #3281
- Fix RangeWidget missing htmlFor and schema.title #3281
- Updated
computedDefaults
(used bygetDefaultFormState
) to skip saving the computed default if it's an empty object unlessincludeUndefinedValues
is truthy, fixing #2150 and #2708 - Expanded the
getDefaultFormState
util'sincludeUndefinedValues
prop to accept a boolean or"excludeObjectChildren"
if it does not want to include undefined values in nested objects - Updated
mergeObjects
to add newpreventDuplicates
mode when concatenating arrays so that only unique values from the source object array are copied to the destination object array - Fix
isObject
to correctly identify 'Date' as not an object, similar to 'File', thus preventing them from being merged with Object default values.
- Removed extraneous leading space on the examples in the validation documentation, fixing #3282
- Updated the documentation for
mergeObjects()
for the newpreventDuplicates
mode of concatenating arrays - Updated the documentation for unpkg releases to the correct name fixing the confusion found in #3262
- Fix Vite development server #3228
- BREAKING CHANGE: Disable form data validation for invalid JSON Schemas. Use @rjsf/validator-ajv6 if you need to validate against invalid schemas.
- Fix additionalProperties validation #3213
- Report all schema errors thrown by Ajv. Previously, we would only report errors thrown for a missing meta-schema. This behavior is unchanged for @rjsf/validator-ajv6.
- Disable Ajv strict mode by default.
- Add RJSF-specific additional properties keywords to Ajv to prevent errors from being reported in strict mode.
- For JSON Schemas with
$id
s, use a pre-compiled Ajv validation function when available. - No longer fail to validate inner schemas with
$id
s, fixing #2821.
- Updated the tests to use the
@rjsf/validator-ajv8
fixing #3110
- Updated the tests to use the
@rjsf/validator-ajv8
fixing #3110
- Automatically close single-choice Select widget on selection
- Updated the tests to use the
@rjsf/validator-ajv8
fixing #3110
- BREAKING CHANGE: ShowErrorList prop changed to support
false
,top
orbottom
;true
is no longer a valid value as the default changed fromtrue
totop
#634 - Added the new generic,
S extends StrictRJSFSchema = RJSFSchema
, forschema
/rootSchema
to every component that needed it. - Fix omitExtraData with field names with dots #2643
- Updated the tests to use the
@rjsf/validator-ajv8
fixing #3110 - Changed the
F = any
generic to beF extends FormContextType = any
to better support howformContext
is defined and used, partially fixing #3072
- Updated the tests to use the
@rjsf/validator-ajv8
fixing #3110
- Updated the tests to use the
@rjsf/validator-ajv8
fixing #3110
- Updated the tests to use the
@rjsf/validator-ajv8
fixing #3110
- Updated the tests to use the
@rjsf/validator-ajv8
fixing #3110
- Beta-only potentially BREAKING CHANGE: Changed all types that directly or indirectly defined
schema
/rootSchema
to add the genericS extends StrictRJSFSchema = RJSFSchema
and useS
as the type for them.StrictRJSFSchema
was added as the alias toJSON7Schema
andRJSFSchema
was modified to beStrictRJSFSchema & GenericObjectType
- This new generic was added BEFORE the newly added
F = any
generic because it is assumed that more people will want to change the schema than the formContext types - This provides future support for the newer draft versions of the schema
- Updated the
ValidatorType
interface to add a newrawValidation()
method for use by the playground - Added the
FormContextType
alias toGenericObjectType
and changing theF = any
generic to beF extends FormContextType = any
to better support howformContext
is defined and used, partially fixing #3072
- Fixed a few type casts given the new expanded definition of the
RJSFSchema
type change - Deprecated this library in favor of the
@rjsf/validator-ajv8
- Refactored out the
rawValidation()
function for use by the playground
- Updated the typing to add the new
S extends StrictRJSFSchema = RJSFSchema
generic and fixed up type casts - Added the
AjvClass
prop to theCustomValidatorOptionsType
to support using theAjv2019
orAjv2020
class implementation instead of the defaultAjv
class; fixing #3189 - Refactored out the
rawValidation()
function for use by the playground
- Updated the
5.x upgrade guide
andutility-functions.md
to document the newStrictRJSFSchema
, theS
generic and changing theF
generic extend - Updated the
validation
guide to document the newAjvClass
prop onCustomValidatorOptionsType
and mentioning the deprecation of@rjsf/validator-ajv6
- Updated the playground to add support for using the AJV 8 validator with the
draft-2019-09
anddraft-2020-12
schemas and to make theAJV8
validator the default validator, markingAJV6
as deprecated - Updated all the documentation to switch to Typescript notation where missing along with switching to using the
@rjsf/validator-ajv8
validator as the default - Added a way of doing a raw Ajv validation in the playground to determine whether an issue is with RJSF or Ajv
- Updated
FieldTemplate
to no longer render additional, unnecessary white space for fields that have emptyhelp
andextra
information, fixing #3147 - Updated
ArrayFieldTemplate
to always renderArrayFieldDescriptionTemplate
since that template deals with the optionaldescription
- Pass the
schema
into theArrayFieldDescriptionTemplate
,ArrayFieldTitleTemplate
,DescriptionFieldTemplate
andTitleFieldTemplate
, fixing #3176
- Make label generation consistent with other themes by refactoring the code into the
FieldTemplate
instead of having the widgets implementing the label, fixing #2007 - Updated
ArrayFieldTemplate
to always renderArrayFieldDescriptionTemplate
since that template deals with the optionaldescription
- Pass the
schema
into theArrayFieldDescriptionTemplate
,ArrayFieldTitleTemplate
,DescriptionFieldTemplate
andTitleFieldTemplate
, fixing #3176
- Added support for
chakra-react-select
v4, fixing #3152 - In
SelectWidget
useSelect
fromchakra-react-select
for both single- and multiple-choice select - In
SelectWidget
multiple-choice select display label rather than value for selected items - Updated
ArrayFieldTemplate
to always renderArrayFieldDescriptionTemplate
since that template deals with the optionaldescription
- Pass the
schema
into theArrayFieldDescriptionTemplate
,ArrayFieldTitleTemplate
,DescriptionFieldTemplate
andTitleFieldTemplate
, fixing #3176
- Extended
Form.onChange
to optionally return theid
of the field that caused the change, fixing #2768 - Fixed a regression in earlier v5 beta versions where additional properties could not be added when
additionalProperties
wastrue
(#3719). - Fixed a regression in v5 beta version where BooleanField was altering readonly props (#3188.
- Updated
ArrayFieldDescriptionTemplate
andArrayFieldTitleTemplate
to not render content whenui:label
is false, fixing #2535 - Updated
ArrayFieldTemplate
to always renderArrayFieldDescriptionTemplate
since that template deals with the optionaldescription
- Pass the
schema
into theArrayFieldDescriptionTemplate
,ArrayFieldTitleTemplate
,DescriptionFieldTemplate
andTitleFieldTemplate
, fixing #3176
- Updated
ArrayFieldTemplate
to always renderArrayFieldDescriptionTemplate
since that template deals with the optionaldescription
- Pass the
schema
into theArrayFieldDescriptionTemplate
,ArrayFieldTitleTemplate
,DescriptionFieldTemplate
andTitleFieldTemplate
, fixing #3176
- Updated
ArrayFieldTemplate
to always renderArrayFieldDescriptionTemplate
since that template deals with the optionaldescription
- Pass the
schema
into theArrayFieldDescriptionTemplate
,ArrayFieldTitleTemplate
,DescriptionFieldTemplate
andTitleFieldTemplate
, fixing #3176
- Updated
ArrayFieldTemplate
to always renderArrayFieldDescriptionTemplate
since that template deals with the optionaldescription
- Pass the
schema
into theArrayFieldDescriptionTemplate
,ArrayFieldTitleTemplate
,DescriptionFieldTemplate
andTitleFieldTemplate
, fixing #3176
- Updated
ArrayFieldTemplate
to always renderArrayFieldDescriptionTemplate
since that template deals with the optionaldescription
- Pass the
schema
into theArrayFieldDescriptionTemplate
,ArrayFieldTitleTemplate
,DescriptionFieldTemplate
andTitleFieldTemplate
, fixing #3176
- Updated the
onChange
prop onFieldProps
andFieldTemplateProps
to add an optionalid
parameter to the callback. - Updated the
DescriptionFieldProps
andTitleFieldProps
to add a new requiredschema
prop. Also updated theArrayFieldDescriptionTemplate
andArrayFieldTitleTemplate
to makedescription
andtitle
optional while pulling all the other props butid
from the associated type.
- Added an error boundary to prevent the entire app from crashing when an error is thrown by Form. See #3164 for closed issues.
- Updated the playground to log the
id
of the field being changed on theonChange
handler - Updated
form-props.md
to describe the newid
parameter being returned by theForm.onChange
handler - Updated
custom-templates.md
to add the newschema
prop to theArrayFieldDescriptionTemplate
,ArrayFieldTitleTemplate
,DescriptionFieldTemplate
andTitleFieldTemplate
documentation - Updated the
contributing.md
to describe setting up thehusky
precommit hooks for the first timegit clone
of the repo; Also added guidance for developing on underpowered computers; Finally discussed code-coverage requirements for some packages.
- Convert
WrapIfAdditional
toWrapIfAdditionalTemplate
- Added
name
to theinput
components that were missing it to supportremix
- Fixed
CheckboxesWidget
andRadioWidget
to have uniqueid
s for each radio element by appending theoption.value
, protecting against non-arrays - Converted
antd
to Typescript, indirectly fixing (rjsf-team#3123)
- Convert
WrapIfAdditional
toWrapIfAdditionalTemplate
- Added
name
to theinput
components that were missing it to supportremix
- Simplified the
CheckboxWidgets
code to eliminate a ternary in favor of a simpleinline={inline}
property since all the rest of the props were the same - Fixed
CheckboxesWidget
andRadioWidget
to have uniqueid
s for each radio element by appending theoption.value
, removing unnecessary casts toany
and protecting against non-arrays - Fixed an issue where
CheckboxesWidget
incorrectly rendered inner<form>
elements around each checkbox, fixing (rjsf-team#2355)
- Convert
WrapIfAdditional
toWrapIfAdditionalTemplate
- Added
name
to theinput
components that were missing it to supportremix
- Fixed
CheckboxesWidget
andRadioWidget
to have uniqueid
s for each radio element by appending theoption.value
, removing unnecessary casts toany
and protecting against non-arrays
- Convert
WrapIfAdditional
toWrapIfAdditionalTemplate
- Added
name
to theinput
components that were missing it to supportremix
- Fixed
CheckboxesWidget
andRadioWidget
to have uniqueid
s for each radio element by appending theoption.value
- Updated the
validate()
method onForm
to makeschemaUtils
an optional third parameter rather than a required first parameter, making the signature backwards compatible with what was provided in previous versions.
- Add stubbed
WrapIfAdditionalTemplate
.additionalProperties
is currently not supported in@rjsf/fluent-ui
(See #2777). - Added
name
orid
(for those fluent components not supporting name) to theinput
components that were missing it to supportremix
- Fixed
DateTimeWidget
to properly useBaseInputTemplate
rather thanTextWidget
- Fixed
CheckboxesWidget
andRadioWidget
to have uniqueid
s for each radio element by appending theoption.value
, removing unnecessary casts and protecting against non-arrays, fixing (rjsf-team#2138) - Fixed
RadioWidget
so that it supports read-only and disabled states
- Convert
WrapIfAdditional
toWrapIfAdditionalTemplate
- Added
name
to theinput
components that were missing it to supportremix
- Fixed
CheckboxesWidget
andRadioWidget
to have uniqueid
s for each radio element by appending theoption.value
, removing unnecessary casts toany
and protecting against non-arrays
- Convert
WrapIfAdditional
toWrapIfAdditionalTemplate
- Added
name
to theinput
components that were missing it to supportremix
- Fixed
CheckboxesWidget
andRadioWidget
to have uniqueid
s for each radio element by appending theoption.value
, removing unnecessary casts toany
and protecting against non-arrays
- Convert
WrapIfAdditional
toWrapIfAdditionalTemplate
- Fixed
ArrayFieldTemplate
andObjectFieldTemplate
'sAddButton
to show the non-labeled version. (rjsf-team#3142) - Added
name
to theinput
components that were missing it to supportremix
, including fixing incorrectname
s asid
s in some situations - Fixed
CheckboxesWidget
andRadioWidget
to have uniqueid
s for each radio element by appending theoption.value
, protecting against non-arrays - Converted
semantic-ui
to Typescript
- Added
WrapIfAdditionalTemplate
andWrapIfAdditionalTemplateProps
to simplify theming and make it easier to override Field behavior for schemas withadditionalProperties
.
- Pass
uiSchema
appropriately to all of theIconButton
s,ArrayFieldItemTemplate
andWrapIfAdditional
components, fixing (rjsf-team#3130)
- Updated the
FieldErrorTemplate
to remove the explicit typing of theerror
to string to support the two options - Updated
Theme
to use the renamedThemeProps
from@rjsf/core
- Pass
uiSchema
appropriately to all of theIconButton
s,ArrayFieldItemTemplate
andWrapIfAdditional
components, fixing (rjsf-team#3130)
- Updated
Theme
to use the renamedThemeProps
from@rjsf/core
- Pass
uiSchema
appropriately to all of theIconButton
s,ArrayFieldItemTemplate
andWrapIfAdditional
components, fixing (rjsf-team#3130)
- Updated the
FieldErrorTemplate
to remove the explicit typing of theerror
to string to support the two options - Implemented programmatic validation via new
validateForm()
method onForm
, fixing (rjsf-team#2755, rjsf-team#2552, rjsf-team#2381, rjsf-team#2343, rjsf-team#1006, rjsf-team#246) - Renamed
WithThemeProps
toThemeProps
to prevent another breaking-change by returning the type back to the name it had in version 4 - Pass
uiSchema
appropriately to all of theIconButton
s,ArrayFieldItemTemplate
andWrapIfAdditional
components, fixing (rjsf-team#3130) - Updated
ArrayField
to fall back toSchemaField
ifArraySchemaField
is not defined, fixing (rjsf-team#3131)
- Updated
Theme
to use the renamedThemeProps
from@rjsf/core
- Pass
uiSchema
appropriately to all of theIconButton
s andArrayFieldItemTemplate
components, fixing (rjsf-team#3130)
- Updated
Theme
to use the renamedThemeProps
from@rjsf/core
- Pass
uiSchema
appropriately to all of theIconButton
s,ArrayFieldItemTemplate
andWrapIfAdditional
components, fixing (rjsf-team#3130)
- Updated
Theme
to use the renamedThemeProps
from@rjsf/core
- Pass
uiSchema
appropriately to all of theIconButton
s,ArrayFieldItemTemplate
andWrapIfAdditional
components, fixing (rjsf-team#3130)
- Updated the
FieldErrorTemplate
to use thechildren
variation of theList.Item
that supports ReactElement - Pass
uiSchema
appropriately to all of theIconButton
s,ArrayFieldItemTemplate
andWrapIfAdditional
components, fixing (rjsf-team#3130)
- Updated the
FieldErrorProps
type to make it support an array of string and ReactElement - Updated the
IconButtonProps
type to adduiSchema
, adding the<T = any, F = any>
generics to it and the associatedButtonTemplates
inTemplatesType
AND addeduiSchema
toArrayFieldTemplateItemType
as well, fixing (rjsf-team#3130)
- Updated the
custom-templates.md
file to add the missing asterisk to the newFieldErrorTemplate
andFieldHelpTemplate
- Updated the playground to add a new button for programmatically validating a form
- Also updated the
validation.md
documentation to describe how to programmatically validate a form - Fixed the
chakra-ui
customuiSchema
documentation to make it clear they work on a per-field basis, fixing (rjsf-team#2865) - Added
formElement
breaking-change documentation to the5.x upgrade guide.md
- Replace Webpack with Vite
- Updated documentation for
ArraySchemaField
to better represent the updated implementation, fixing (rjsf-team#3131)
- When rendering additional properties with title, use the key of the property instead of the title.
- Only show description when there really IS a description, fixes (rjsf-team#2779)
- Refactored the
FieldErrorTemplate
from inside ofFieldTemplate
; fixes (rjsf-team#3104)
- Refactored the
FieldErrorTemplate
andFieldHelpTemplate
from inside ofFieldTemplate
; fixes (rjsf-team#3104)
- Refactored the
FieldErrorTemplate
andFieldHelpTemplate
from inside ofFieldTemplate
; fixes (rjsf-team#3104)
- Added new field
ArraySchemaField
, assigned toSchemaField
by default, that is used by theArrayField
to render thechildren
for each array field element - Refactored the internal
ErrorList
andHelp
components from inside ofSchemaField
to new templates:FieldErrorTemplate
andFieldHelpTemplate
; fixes (rjsf-team#3104)
- Refactored the
FieldErrorTemplate
andFieldHelpTemplate
from inside ofFieldTemplate
; fixes (rjsf-team#3104)
- Refactored the
FieldErrorTemplate
andFieldHelpTemplate
from inside ofFieldTemplate
; fixes (rjsf-team#3104)
- Converted
RawErrors
andHelpField
intoFieldErrorTemplate
andFieldHelpTemplate
, removing their explicit calls fromFieldTemplate
; fixes (rjsf-team#3104)
- Added new
FieldErrorProps
andFieldHelpProps
types - Added new
FieldErrorTemplate
andFieldHelpTemplate
to theTemplatesType
- Updated the
custom-templates.md
file to add documentation for the newFieldErrorTemplate
andFieldHelpTemplate
- Updated the
custom-widgets-fields.md
file to add documentation for the newArraySchemaField
field.
- Change custom attribute to bsPrefix by @WillowP, fixing (rjsf-team#2648)
- Added tests for the new
@rjsf/validator-ajv8
to thevalidate_test.js
file to ensure the validation works with both validator implementations
- Fixed the
README.md
to correct the package name in several places to match the actual package
- Fixed the
README.md
to remove references to ajv6 validator, adding link to theutility-functions.md
in the docs - Fixed the
README.md
to correct the package name in several places to match the actual package - Updated
getDefaultFormState()
so that oneOf and anyOf default values do not always use the first option when formData contains a better option, fixing (rjsf-team#2183)
- Fixed the
README.md
to correct the package name in several places to match the actual package
- Support for localization (L12n) on a customized validator using a
Localizer
function passed as a second parameter tocustomizeValidator()
, fixing (rjsf-team#846, and rjsf-team#1195) - Fixed the
README.md
to correct the package name in several places to match the actual package
- Added two new validator selections,
AJV8
andAJV8_es
to the list of available validators for the playground; Using the second one will translate error messages to spanish. - Updated the validation documentation to clarify the case of empty strings being stored as
null
in certain cases.
- Added the new Ajv 8 based validator so that it can get published on npm
- Switched
devDependencies
for React to 17.x and usedts
to build and test the library (rather thantsdx
)
- Added a
requestSubmit()
call to theForm.submit()
function, fixing (rjsf-team#2104, rjsf-team#3023) - Added missing
children
property on theFormProps
type forForm
- Throw an error when the required
validator
prop has not been provided to theForm
- Do not show errors if
extraErrors
has[]
(rjsf-team#2576). - Added support for
schema.examples
in the material ui theme fixing (rjsf-team#2368, rjsf-team#2557)
- Added support for
schema.examples
in the material ui theme fixing (rjsf-team#2368, rjsf-team#2557)
- Added support for
schema.examples
in the material ui theme fixing (rjsf-team#2368, rjsf-team#2557)
- Added support for
schema.examples
in the material ui theme fixing (rjsf-team#2368, rjsf-team#2557)
- Upgraded from the
1.x
to2.x
version ofsemantic-ui-react
- Added support for
schema.examples
in the material ui theme fixing (rjsf-team#2368, rjsf-team#2557)
- Avoid importing the whole of
react-icons
(rjsf-team#3046, react-icons/react-icons#154)
- Fixed missing
playground
import error by addingsource-map-loader
- Fixed up the incorrectly formatted
5.x Migration Guide
- Added a
Programmatic Submit
button on the playground form to allow users to test the ability to programmatically submit a form - Regenerated the
package-lock.json
files using cleannode_modules
directories - Fixed issue with playground controls in top right corner not functioning properly due to missing validator
- Added peer dependencies to new
@rjsf/utils
library now that it is published on npm
- Node 16 is now the default node engine for all packages, fixing (rjsf-team#2687)
- Refactored all themes to use the new
@rjsf/utils
library functions and types - Refactored the individual theme forms to consolidate
templates
as part of the fix for rjsf-team#2526- All the work implementing the
BaseInputTemplate
should fix (rjsf-team#2926, rjsf-team#2889, rjsf-team#2875, rjsf-team#2223) - Also made the display of
title
anddescription
consistent across themes, fixing (rjsf-team#2481, rjsf-team#2363, rjsf-team#2219) - This change also ensures that all templates are properly exported, resolving (rjsf-team#2365)
- All the work implementing the
- Bumped most devDependencies to the latest versions where possible
- Switched all repos
package.json
andpackage-lock.json
files to be built and maintained by Node 16. - Adding button templates help to change text for buttons (rjsf-team#2082, rjsf-team#2357)
- New package created by refactoring and converting to Typescript the
utils.js
file fromcore
into independent functions.- Resolves (rjsf-team#1655, rjsf-team#2480, rjsf-team#2341)
- Updated
types
fromcore
inutils
to better match the implementation across all themes- Included adding a bunch of new types for existing and new features
- The type updates should fix (rjsf-team#2871, rjsf-team#2673, rjsf-team#2347, rjsf-team#2186)
- Clear errors on
formData
change whenliveOmit=true
when "additionalProperties: false" issue 1507 (rjsf-team#2631)
- New package created by refactoring and converting to Typescript the
validator.js
file fromcore
into independent functions as well as a class that implements the newValidatorType
interface. - Added support for customizing the options passed to the creation of the
ajv
instance. - A BREAKING CHANGE to
toErrorList()
was made so that it takesfieldPath: string[]
rather thanfieldName='root'
as part of the fix to (rjsf-team#1596)- The returned
errors
also now addsproperty
from thefieldPath
along with the proper path from theproperty
to thestack
message, making it consistent with the AJV errors.- Previously the
stack
attribute would sayroot: error message
; now it says. error message
- Previously the
- In addition, the extra information provided by AJV is no longer lost from the
errors
when merged with custom validation, fixing (rjsf-team#1596).
- The returned
- Converted core to Typescript (rjsf-team#583)
ui:emptyValue
now works with selects (rjsf-team#1041)- Refactoring
utils.js
into the new@rjsf/utils
fixes (rjsf-team#2719) - BREAKING CHANGE Fix overriding core submit button className (rjsf-team#2979)
- Fix
ui:field
with anyOf or oneOf no longer rendered twice (#2890) - BREAKING CHANGE Fixed
anyOf
andoneOf
getting incorrect, potentially duplicate ids when combined with array (rjsf-team#2197) formContext
is now passed properly toSchemaField
, fixes (rjsf-team#2394, rjsf-team#2274)- Added
ui:duplicateKeySuffixSeparator
to customize how duplicate object keys are renamed when usingadditionalProperties
. - The
extraErrors
are now consistently appended onto the end of the schema validation-basederrors
information that is returned via theonErrors()
callback when submit fails.- In addition, the extra information provided by AJV is no longer stripped from the
errors
during the merge process, fixing (rjsf-team#1596).
- In addition, the extra information provided by AJV is no longer stripped from the
- Fixed id generation for
RadioWidget
to no longer use random numbers fixing (rjsf-team#2461) - Correctly call the
onChange
handler in the new set of props if it changed, fixing (rjsf-team#1708). - Fixed race condition for
onChange
whenformData
is controlled prop, fixing (rjsf-team#513),
- Fix esm build to use
@rollup/plugin-replace
to replaceantd/lib
andrc-picker/lib
withantd/es
andrc-picker/es
respectively, fixing (rjsf-team#2962)
- Bootstrap-4
withTheme
customizations should work properly now (rjsf-team#2058) ArrayFieldTemplate
refactor seems to have fixed rjsf-team#2775- Fix issues with
SelectField
(rjsf-team#2616, rjsf-team#2875)
- Properly handle the hidden field in this theme (rjsf-team#2571)
- The theme for Material UI version 5 (i.e.
@rjsf/mui
) was split out of the theme for version 4 (i.e.@rjsf/material-ui
) to resolve the following issues: - Material-UI TextWidget now respects
inputType
in uiSchema (rjsf-team#2057)- Also respects
step
fornumber
type (rjsf-team#2488)
- Also respects
- Material-UI UpDownWidget now support min/max/step (rjsf-team#2022)
- Properly handle the hidden field in this theme (rjsf-team#2571)
- Select properly accepts true or false (rjsf-team#2326)
- The theme for Material UI version 5 (i.e.
@rjsf/mui
) was split out of the theme for version 4 (i.e.@rjsf/material-ui
) to resolve the following issues: - Material-UI TextWidget now respects
inputType
in uiSchema (rjsf-team#2057)- Also respects
step
fornumber
type (rjsf-team#2488)
- Also respects
- Material-UI UpDownWidget now support min/max/step (rjsf-team#2022)
- Properly handle the hidden field in this theme (rjsf-team#2571)
- Fix missing error class on fields (rjsf-team#2666)
- Fixed the
main
definition insemantic-ui
to fix (withastro/astro#4357) - Properly handle the hidden field in this theme (rjsf-team#2571)
- Demonstrate use of
ui:field
withanyOf
(#2890) - Playground now uses webpack 5
- Corrected number field default (rjsf-team#2358)
- fix typo by @epicfaace in rjsf-team#2854
- Build all packages with TypeScript, including core by @nickgros in rjsf-team#2799
- fix(@rjsf/chakra-ui): append SubmitButton by @terrierscript in rjsf-team#2860
- fix: Pass uiSchema to custom ArrayField by @bakajvo in rjsf-team#2769
- fix(@rjsf-antd): Submit button type bug (#2867) by @sarpere in rjsf-team#2869
- Docs: Clarify registry object structure and that it's passed down to custom widgets by @epicfaace in rjsf-team#2886
- fix: allow UISchemaSubmitButtonOptions properties to be undefined by @maxpou in rjsf-team#2876
- Create FUNDING.yml by @epicfaace in rjsf-team#2866
- docs: fix schema dependencies link by @epicfaace in rjsf-team#2885
- chore(deps): bump core-js-pure from 3.21.1 to 3.23.3 by @dependabot in rjsf-team#2902
- chore(deps): bump minimist from 1.2.5 to 1.2.6 in /packages/fluent-ui by @dependabot in rjsf-team#2805
- fix(@rjsf/bootstrap-4): Change custom attribute to bsPrefix by @WillowP in rjsf-team#3049
- Feature for ui:submitButtonOptions on the submit button for forms (rjsf-team#2640)
- Fix
ui:orderable
andui:removable
in arrays (#2797) - Fix for nested allOf blocks with multiple if/then/else statements failing to render correctly (rjsf-team#2839)
- Enable ui options in playground, to demonstrate submit button options (rjsf-team#2640)
- Document the
material-ui
context and hook (#2757)
- SubmitButton widget to use new ui:submitButtonOptions on the submit button for forms (rjsf-team#2833)
- Fixed bundler warning issue (#2762) by exporting a
@rjsf/material-ui/v4
and@rjsf/material-ui/v5
sub-package- NOTE:
@rjsf/material-ui
was retained to avoid a breaking change, but using it will continue to cause bundler warnings - See the
README.md
for the@rjsf/material-ui
package for updated usage information
- NOTE:
- Fixed (#2831) for
material-ui
by removing theDefaultChildren
passed into the themes
- SubmitButton widget to use new ui:submitButtonOptions on the submit button for forms (rjsf-team#2640)
- SubmitButton widget to use new ui:submitButtonOptions on the submit button for forms (rjsf-team#2640)
- SubmitButton widget to use new ui:submitButtonOptions on the submit button for forms (rjsf-team#2640)
- SubmitButton widget to use new ui:submitButtonOptions on the submit button for forms (rjsf-team#2640)
- Fix bloated bundle size by individually requiring all MUI components (#2754)
- Add new
useMuiComponent()
hook as a shortcut foruseContext(MuiComponentContext)
- Added support for additionalProperties schema property (#2817)
- To improve performance, skip validating subschemas in oneOf / anyOf if formData is undefined (#2676)
- Fixed the
toIdSchema()
typescript definition to add newidSeparator
prop along with the spelling ofidPrefix
- Also passed the new
idSeparator
prop through to theAnyOfField
andOneOfField
inside ofSchemaField
- Updated
ArrayField
in@rjsf/core
to passidSeparator
andidPrefix
through toSchemaField
, fixing a small bug
- Also passed the new
- Added support for the new
ui:hideError
feature, which allows you to hide errors at a field level
- Remove
console.log()
of the import error inMaterialUIContext
andMui5Context
- Export the
MaterialComponentContext
(#2724)
- Added documentation for the new
ui:hideError
feature
- Bumped the peer dependencies of
@rjsf/core
to^4.0.0
for all of themes inpackage.json
- Also, added tests to all themes to verify that the
tagName
prop works as expected
- Updated
Form
to support thesemantic-ui
andmaterial-ui
themes to allow them work whentagName
is provided - Support if/then/else (#2700)
- Fixed up the
Theme
andTheme5
implementations to deal with a regression in which addingtagName
caused the 2 themes to not work - Only
console.log()
the import error inMaterialUIContext
andMui5Context
when not inproduction
to eliminate tons of warnings for released code
- Fixed up the
Theme
implementation to deal with a regression in which addingtagName
caused the theme to not work
- Add React 17 as a supported peer-dependency
- Introduce
idSeparator
prop to change the path separator used to generate field names (rjsf-team#2628) - Array fields support custom widgets (previously, only multiple-choice arrays with
enums
oruniqueItems
support it) (rjsf-team#2697)
- Added React 17 as an optional peer dependency
- Minimum version of React required to use package is now React 16.3
- Bumped required minimum versions of
@material-ui/core
and@material-ui/icons
to the latest (4.12.0
and4.11.1
)- New exports:
MuiForm4
andTheme4
are aliases to the material-ui version 4MuiForm
andTheme
- The Material-UI 4 theme will fallback to a form with a message indicating
@material-ui
is not available when one (or both) of the libraries are not installed
- New exports:
- Added support for material-ui version 5 on top of React 17
- Requires React 17 so will need to upgrade project
- Added
@mui/material
,@mui/icons-material
,@emotion/react
and@emotion/styled
as optional peer dependencies - New exports:
MuiForm5
andTheme5
support using the Material UI 5 libraries instead of version 4 - The Material-UI 5 theme will fallback to a form with a message indicating
@mui
is not available when one (or both) of the libraries are not installed
- Added support for this new theme
- Upgraded playground to use React 17
- Differentiated the material-ui 4 and 5 themes
- Added chakra-ui theme
- "semantic-ui-react" dependency updated to v1.3.1 (rjsf-team#2590)
- fixed an issue where all semantic props overwritten when a single semantic theme-specific prop is passed in (issue 2619) (rjsf-team#2590)
- Don't crash when non-object formData is passed in to a schema item with additionalProperties (rjsf-team#2595)
- Upgrade jsonpointer to 5.0.0 to address security vulnerability (rjsf-team#2599)
- Feature for ui:submitButtonOptions on the submit button for forms (rjsf-team#2640)
- Fix for clearing errors after updating and submitting form (rjsf-team#2536)
- bootstrap-4 TextWidget wrappers now pull from registry, add rootSchema to Registry, fix FieldProps.onFocus type to match WidgetProps (rjsf-team#2519)
- Added global
readonly
flag to theForm
(rjsf-team#2554) - Fix to allow changing
additionalProperties
to falsy values (rjsf-team#2540) - Pass uiSchema to custom Boolean widget (rjsf-team#2587
- bootstrap-4 TextWidget wrappers now pull from registry, add rootSchema to Registry, fix FieldProps.onFocus type to match WidgetProps (rjsf-team#2519)
- fluent-ui: Allow value of 0 in TextWidget (rjsf-team#2497)
- Several dependency updates
- Added global
readonly
flag to theForm
(rjsf-team#2554) - Enable source maps in playground, for development (rjsf-team#2568)
- Properly assign label prop for MultiSelect ArrayField (rjsf-team#2459)
- Take into account implicitly defined types when rendering labels for fields (rjsf-team#2502)
- Add default Form export to @rjsf/antd (rjsf-team#2514)
- Make material-ui and fluent-ui pull TextWidget from the registry; remove registry prop from in TextWidget (rjsf-team#2515)
- Make material-ui and fluent-ui pull TextWidget from the registry; remove registry prop from in TextWidget (rjsf-team#2515)
- Use getDisplayLabel to properly show labels for widgets (rjsf-team#2225)
- Add submit button, email, url, date widgets (rjsf-team#2224)
- Several dependency updates