- Updated the
AltDateTimeWidget
in@rjsf/core
to addclassName="list-inline-item"
to theLI
tags
- Fixed the
SelectWidget
to allow the proper display of the selected value, fixing #3422
- Fixed
Form
to remove passingexcludeObjectChildren
togetDefaultFormState()
, fixing #3424 and #675 - Added new feature prop
focusOnFirstError
, that if true, will cause the first field with an error to be focused on when a submit has errors
- Updated
computeDefaults()
to fix additionalProperties defaults not being propagated, fixing #2593- Also made sure to properly deal with empty
anyOf
/oneOf
lists by simply returning undefined - Add support for adding an empty object when that object is marked as required in a schema
- Also made sure to properly deal with empty
- Updated the playground to add a control for
focusOnFirstError
and theform-props
documentation for it as well
- Added the
idPrefix
,idSeparator
andrawErrors
optional props toFieldProps
since they were missing
- Migrated latest documentation to Docusaurus, which is deployed to GitHub Pages.
- Updated readthedocs.io documentation site to guide users to the new docs site.
- Updated links in documentation and package README files to point to new site.
- Updated the
custom-widgets-field
documentation for the newFieldProps
- Updated the
peerDependencies
in all packages to remove the-beta.x
tags from the@rjsf/xxxx
packages
- Updated
CheckboxesWidget
,RadioWidget
andSelectWidget
to use indexes as values to supportenumOptions
with object values, fixing #1494
- Updated
CheckboxesWidget
,RadioWidget
andSelectWidget
to use indexes as values to supportenumOptions
with object values, fixing #1494
- Updated
CheckboxesWidget
,RadioWidget
andSelectWidget
to use indexes as values to supportenumOptions
with object values, fixing #1494
- Updated
CheckboxesWidget
,RadioWidget
andSelectWidget
to use indexes as values to supportenumOptions
with object values, fixing #1494
- Updated
CheckboxesWidget
,RadioWidget
andSelectWidget
to use indexes as values to supportenumOptions
with object values, fixing #1494
- Updated
CheckboxesWidget
,RadioWidget
andSelectWidget
to use indexes as values to supportenumOptions
with object values, fixing #1494
- Updated
CheckboxesWidget
,RadioWidget
andSelectWidget
to use indexes as values to supportenumOptions
with object values, fixing #1494
- Updated
CheckboxesWidget
,RadioWidget
andSelectWidget
to use indexes as values to supportenumOptions
with object values, fixing #1494
- Added
enumOptionsIndexForValue()
,enumOptionsIsSelected()
,enumOptionsValueForIndex()
functions to support fixing #1494- Updated
enumOptionsDeselectValue()
,enumOptionsSelectValue()
andoptionId()
to use indexes instead of values - Deleted the
processSelectValue()
that was added in the beta and is no longer needed
- Updated
- Updated
getSchemaType()
to remove the inference of type fromanyOf
/oneOf
, fixing #3412
- Updated the
utility-functions
documentation for the new and updated methods mentioned above, as well as deleting the documentation forprocessSelectValue()
- Updated the playground to add a new
Enum Objects
example to highlight the use of indexes forenumOptions
- Updated
5.x migration guide
to document the change from values to indexes for theenumOptions
based controls.
- Fixed
schema.examples
to deduplicate whenschema.default
exists in the examples, fixing #3393
- Fixed
schema.examples
to deduplicate whenschema.default
exists in the examples, fixing #3393
- Fixed
schema.examples
to deduplicate whenschema.default
exists in the examples, fixing #3393
- Updated
MultiSchemaField
to passundefined
as the value to the widget when theselectedOption
is -1, supportingSelectWidget
implementations that allow the user to clear the selected value of theanyOf
/oneOf
field. - Updated
Form
to support receiving an optionalref
prop. - Updated
Form
to restore providing empty root level objects, fixing #3391 - Fixed
schema.examples
to deduplicate whenschema.default
exists in the examples, fixing #3393
- Fixed
schema.examples
to deduplicate whenschema.default
exists in the examples, fixing #3393
- Fixed
schema.examples
to deduplicate whenschema.default
exists in the examples, fixing #3393
- Fixed
schema.examples
to deduplicate whenschema.default
exists in the examples, fixing #3393
- Fixed
schema.examples
to deduplicate whenschema.default
exists in the examples, fixing #3393
- Updated
MultiSchemaField
to cache options with refs in state and to output better labels for options without them when a title is available in either theschema
oruiSchema
- Improved fix for #2691 to remove the breaking change caused by the original fix #2980 as follows:
- Added a new
ui:fieldReplacesAnyOrOneOf
flag to theuiSchema
that when true will allow users to opt-out of theanyOf
/oneOf
wrapping of a custom field
- Added a new
- Updated
toPathSchema()
to handleoneOf
/anyOf
by picking the closest option and generating the path for it, fixing #2262 - Added new
uiSchema
only flagui:fieldReplacesAnyOrOneOf
that, if true allows the user to opt-out of theanyOf
/oneOf
wrapping of a custom field
- Updated the
uiSchema
documentation forui:fieldReplacesAnyOrOneOf
- Updated
MultiSchemaField
to utilize the newgetClosestMatchingOption()
andsanitizeDataForNewSchema()
functions, fixing the following issues: - Updated
ObjectField
to deal withadditionalProperties
withoneOf
/anyOf
, fixing #2538 - Updated
Form
,MultiSchemaField
,ObjectField
andSchemaField
to properly support makingformData
optional, fixing #3305
- Fix shrinking of
SelectWidget
label only if value is not empty, fixing #3369
- Fix shrinking of
SelectWidget
label only if value is not empty, fixing #3369
- Added new
getClosestMatchingOption()
,getFirstMatchingOption()
andsanitizeDataForNewSchema()
schema-based utility functions- Deprecated
getMatchingOption()
and updated all calls to it in other utility functions to usegetFirstMatchingOption()
- Deprecated
- Updated
stubExistingAdditionalProperties()
to deal withadditionalProperties
withoneOf
/anyOf
, fixing #2538 - Updated
getSchemaType()
to grab the type of the first element of aoneOf
/anyOf
, fixing #1654 - Updated all props or function parameters of the generic type
T
to allow for them to be optionally provided, fixing #3305- This was done in both the types file and the actual implementation code
- Updated places where
formData
was required as a function argument to make it optional, fixing #3305
- Updated places where
formData
was required as a function argument to make it optional, fixing #3305
- Updated the playground to
onFormDataEdited()
to only change the formData in the state if theJSON.stringify()
of the old and new values are different, partially fixing #3236 - Updated the playground
npm start
command to always use the--force
option to avoid issues where changes made to other packages weren't getting picked up due tovite
caching - Updated the documentation for
utility-functions
and the5.x upgrade guide
to add the new utility functions and to document the deprecation ofgetMatchingOption()
- Also updated
utility-functions
, making all optional parameters without a default (as denoted by the syntax[<parameter>]: <type>
) to add| undefined
onto the type to make it clear it supports passing in undefined as a value.
- Also updated
- Enable searching in the
SelectWidget
by the label that the user sees rather than by the value - Added support for new
style
prop onFieldTemplate
andWrapIfAdditionalTemplate
rendering them on the outermost wrapper, partially fixing #1200 - Updated all the user "input" controls to have an
aria-describedby
value built using theariaDescribedByIds()
function, partially fixing #959- Also updated the generation of ids for the title, description, error, examples, options and help blocks using the associated new id generation utilty functions
- Added support for new
style
prop onFieldTemplate
andWrapIfAdditionalTemplate
rendering them on the outermost wrapper, partially fixing #1200 - Updated
CheckboxesWidget
to treat the value as an array when selecting/deselecting values and when determining the checked state - fixing #2141 - Updated all the user "input" controls to have an
aria-describedby
value built using theariaDescribedByIds()
function, partially fixing #959- Also updated the generation of ids for the title, description, error, examples, options and help blocks using the associated new id generation utilty functions
- Added support for new
style
prop onFieldTemplate
andWrapIfAdditionalTemplate
rendering them on the outermost wrapper, partially fixing #1200 - Updated
CheckboxesWidget
to treat the value as an array when selecting/deselecting values and when determining the checked state - fixing #2141 - Updated all the user "input" controls to have an
aria-describedby
value built using theariaDescribedByIds()
function, partially fixing #959- Also updated the generation of ids for the title, description, error, examples, options and help blocks using the associated new id generation utilty functions
- Updated
SchemaField
to handle the newstyle
prop in theuiSchema
similarly toclassNames
, passing it to theFieldTemplate
and removing it from being passed down to children.- Also, added support for new
style
prop onFieldTemplate
andWrapIfAdditionalTemplate
rendering them on the outermost wrapper - This partially fixes #1200
- Also, added support for new
- Updated
CheckboxesWidget
to treat the value as an array when selecting/deselecting values and when determining the checked state - fixing #2141 - Updated all the user "input" controls to have an
aria-describedby
value built using theariaDescribedByIds()
function, partially fixing #959- Also updated the generation of ids for the title, description, error, examples, options and help blocks using the associated new id generation utilty functions
- Added support for new
style
prop onFieldTemplate
rendering them on the outermost wrapper, partially fixing #1200 - Updated
CheckboxesWidget
to treat the value as an array when selecting/deselecting values and when determining the checked state - fixing #2141 - Updated all the user "input" controls to have an
aria-describedby
value built using theariaDescribedByIds()
function, partially fixing #959- Also updated the generation of ids for the title, description, error, examples, options and help blocks using the associated new id generation utilty functions
- Updated
SelectWidget
to support additionalTextFieldProps
in a manner similar to howBaseInputTemplate
does - Added support for new
style
prop onFieldTemplate
andWrapIfAdditionalTemplate
rendering them on the outermost wrapper, partially fixing #1200 - Updated
CheckboxesWidget
to treat the value as an array when selecting/deselecting values and when determining the checked state - fixing #2141 - Updated all the user "input" controls to have an
aria-describedby
value built using theariaDescribedByIds()
function, partially fixing #959- Also updated the generation of ids for the title, description, error, examples, options and help blocks using the associated new id generation utilty functions
- Updated
SelectWidget
to support additionalTextFieldProps
in a manner similar to howBaseInputTemplate
does - Added support for new
style
prop onFieldTemplate
andWrapIfAdditionalTemplate
rendering them on the outermost wrapper, partially fixing #1200 - Updated
CheckboxesWidget
to treat the value as an array when selecting/deselecting values and when determining the checked state - fixing #2141 - Updated all the user "input" controls to have an
aria-describedby
value built using theariaDescribedByIds()
function, partially fixing #959- Also updated the generation of ids for the title, description, error, examples, options and help blocks using the associated new id generation utilty functions
- Added support for new
style
prop onFieldTemplate
andWrapIfAdditionalTemplate
rendering them on the outermost wrapper, partially fixing #1200 - Updated
CheckboxesWidget
to treat the value as an array when selecting/deselecting values and when determining the checked state - fixing #2141 - Updated all the user "input" controls to have an
aria-describedby
value built using theariaDescribedByIds()
function, partially fixing #959- Also updated the generation of ids for the title, description, error, examples, options and help blocks using the associated new id generation utilty functions
- Updated the
FieldTemplateProps
,WrapIfAdditionalTemplateProps
andUIOptionsBaseType
types to addstyle?: StyleHTMLAttributes<any>
, partially fixing #1200 - Added
enumOptionsDeselectValue()
andenumOptionsSelectValue()
as a loose refactor of the duplicated functions in the variousCheckboxesWidget
implementations - Updated the
FieldTemplateProps
,WrapIfAdditionalTemplateProps
andUIOptionsBaseType
types to addstyle?: StyleHTMLAttributes<any>
, partially fixing #1200 - Added new
ariaDescribedByIds()
,descriptionId()
,errorId()
,examplesId()
,helpId()
optionId()
andtitleId()
id generator functions
- Remove alias for ajv -> ajv8 in package.json. This fixes #3215.
- Updated
AJV8Validator#transformRJSFValidationErrors
to return more human-readable error messages. The ajv8ErrorObject
message is enhanced by replacing the error message field with either theuiSchema
'sui:title
field if one exists or theparentSchema
title if one exists. Fixes #3246
- In the playground, change Vite
preserveSymlinks
totrue
, which provides an alternative fix for #3228 since the prior fix caused #3215. - Updated the
custom-templates.md
anduiSchema.md
to document the newstyle
prop - Updated the
validation.md
documentation to describe the newuiSchema
parameter passed to thecustomValidate()
andtransformError()
functions - Updated the
utility-functions
documentation to add the newenumOptionsDeselectValue()
andenumOptionsSelectValue()
functions and to describe the new id generator functions - Updated the
5.x migration guide
documentation to describe potential breakingid
changes
- 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 types for
ValidatorType
,CustomValidator
andErrorTransformer
to add the new generics, as well as passinguiSchema
to thevalidateFormData()
call, partially fixing #3170
- 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 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 - Updated the
CustomValidator
andErrorTransformer
types to take the full set ofT
,S
,F
generics in order to accept a new optionaluiSchema
property, partially fixing #3170 - Updated the
ValidatorType
to add theF
generic to allow thevalidateFormData()
function to take a new optionaluiSchema
parameter, partially fixing #3170- Updated many of the schema-based utility functions to take the additional generics as well to fulfill the
ValidatorType
interface change
- Updated many of the schema-based utility functions to take the additional generics as well to fulfill the
- Updated the
customizeValidator
andAJV6Validator
implementations to add theS
andF
generics, so thatvalidateFormData()
can accept a new optionaluiSchema
parameter that is passed totransformErrors()
andcustomValidate()
, partially fixing #3170
- Updated the
customizeValidator
andAJV8Validator
implementations to add theF
generic, so thatvalidateFormData()
can accept a new optionaluiSchema
parameter that is passed totransformErrors()
andcustomValidate()
, partially fixing #3170
- 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 - Updated the documentation in
utilty-functions.md
to add the newF
generic to all the places which needed them
- 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