Skip to content

Releases: rjsf-team/react-jsonschema-form

6.0.1

31 Oct 19:40

Choose a tag to compare

Dev / docs / playground

  • Updated peer dependencies for packages to ^6.x

6.0.0

31 Oct 19:19

Choose a tag to compare

RJSF is proud to release the new major 6.0.0 release

There are many breaking change as mentioned in the beta changelogs and described in detail in the 6.x upgrade guide

Enjoy!

Also the following changes were made since the last beta release

@rjsf/antd

  • Updated the README.md to show the theme snapshot with the latest theme UI from the playground, making it a link to the theme

@rjsf/chakra-ui

  • Updated the README.md to show the theme snapshot with the latest theme UI from the playground, making it a link to the theme

@rjsf/core

  • Updated SchemaField to add a new optional property childFieldPathId to the FieldComponent render to prevent duplicate ids, fixing (#4819)[https://github.com//issues/4819]
    • Also updated ObjectField and ArrayField to make children use the childFieldPathId if present, falling back to the fieldPathId if not

Dev / docs / playground

  • Updated the libraries to the latest ones that aren't problematic
    Updated the playground to modernize the UI using MUI components
  • Updated the documentation to switch to using an animated gif based on the latest modernized playground UI
  • Updated the README.md in all themes to show the theme snapshot with the latest theme UI from the playground, making it a link to the theme

6.0.0-beta.23

28 Oct 22:48

Choose a tag to compare

6.0.0-beta.23 Pre-release
Pre-release

Small potential BREAKING CHANGES

  • If you are overriding the AltDateWidget or AltDateTimeWidget these changes may affect you

@rjsf/antd

  • Updated AltDateWidget to use the new useAltDateWidgetProps() hook, renaming showTime to time
  • Potentially BREAKING CHANGE: Updated AltDateTimeWidget to rename showTime prop to time

@rjsf/chakra-ui

  • Updated AltDateWidget to use the new useAltDateWidgetProps() hook, renaming showTime to time
  • Potentially BREAKING CHANGE: Updated AltDateTimeWidget to rename showTime prop to time

@rjsf/core

  • Updated FormProps to add new onChange/onBlur values for the liveValidate and liveOmit props, deprecating the boolean aspect of them
  • Updated Form to support the new feature to do onBlur handling of liveValidate and liveOmit
  • Updated FormProps to add the new initialFormData prop
  • Updated Form so that is behaves as a "controlled" form when formData is passed and uncontrolled when initialFormData is passed, fixing #391
    • Also fixed an issue where live validation was called on the initial form render, causing errors to show immediately, partially fixing #512
  • Updated Form to add a new programmatic function, setFieldValue(fieldPath: string | FieldPathList, newValue?: T): void, fixing #2099
  • Added new FallbackField to add opt-in functionality to control form data that is of an unsupported or unknown type (#4736).
  • Refactored much of the FileWidget implementation into a new useFileWidgetProps() hook, fixing #3146
  • Refactored much of the AltDateWidget implementation into a new useAltDateWidgetProps() hook, fixing #3352

@rjsf/daisyui

  • Deleted the FileWidget component, moving the className and isMulti logic directly into the BaseInputTemplate so that the @rjsf/core's FileWidget works properly for the theme, fixing #4803
  • Updated AltDateWidget to use the new useAltDateWidgetProps() hook

@rjsf/mantine

  • Updated FieldHelpTemplate to avoid issue when help and fieldPathId` are undefined
  • Updated AltDateWidget to use the new useAltDateWidgetProps() hook, renaming showTime to time
  • Potentially BREAKING CHANGE: Updated AltDateTimeWidget to rename showTime prop to time
  • Updated FileWidget to use the useFileWidgetProps() hook

@rjsf/utils

  • Added the useFileWidgetProps() hook implementation, refactored from @rjsf/core
  • Added the useAltDateWidgetProps() hook implementation, refactored from @rjsf/core

Dev / docs / playground

  • Updated the playground to switch liveValidate and liveOmit from checkboxes to radio buttons for the new options
  • Updated internals.md, form-props.md, utility-functions.md and v6x upgrade guide.md to document the new features, potential breaking changes and deprecations

6.0.0-beta.22

22 Oct 16:33

Choose a tag to compare

6.0.0-beta.22 Pre-release
Pre-release

Many BREAKING CHANGES

  • Due to some refactoring and performance improvements, every theme and @rjsf/utils have breaking changes that MAY affect your code base, especially if you have custom fields, template or widgets.

@rjsf/antd

  • Updated most of the widgets to get formContext from the registry instead of the props since it will no longer be passed
  • BREAKING CHANGE: Updated FieldTemplate, ObjectFieldTemplate and WrapIfAdditionalTemplate to rename the old additionalProperties interface props to the new ones
  • Updated BaseInputTemplate, CheckboxesWidget, CheckboxWidget, RadioWidget, SelectWidget, and TextareaWidget to use htmlName for the HTML name attribute
  • BREAKING CHANGE: Updated ArrayFieldTemplate to remove the ArrayFieldItemTemplate render in favor of simply using items due to ArrayField changes

@rjsf/chakra-ui

  • BREAKING CHANGE: Updated FieldTemplate, ObjectFieldTemplate and WrapIfAdditionalTemplate to rename the old additionalProperties interface props to the new ones
  • Updated BaseInputTemplate, CheckboxesWidget, CheckboxWidget, RadioWidget, SelectWidget, and TextareaWidget to use htmlName for the HTML name attribute
  • BREAKING CHANGE: Updated ArrayFieldTemplate to remove the ArrayFieldItemTemplate render in favor of simply using items due to ArrayField changes

@rjsf/core

  • Updated MultiSchemaField and SchemaField to properly display anyOf/oneOf optional data fields by hiding the label and selector control when it is an optional field AND there is no form data
  • Updated ArrayField, BooleanField, LayoutMultiSchemaField, MultiSchemaField, ObjectField, SchemaField, StringField and BaseInputTemplate to remove formContext from the props
  • Updated ObjectField to refactor the code from a class component to two stateless functional components, replacing the 3 generator-props with the 4 memoized props mentioned in the @rjsf/utils changes
  • Updated Form to "memoize" the fieldPathId and registry into the FormState, adding a toIChangeEvent() helper to restrict the state returned on the IChangeEvent interface callbacks
  • BREAKING CHANGE: Updated FieldTemplate, ObjectFieldTemplate and WrapIfAdditionalTemplate to rename the old additionalProperties interface props to the new ones
  • Added nameGenerator prop to Form component to enable custom HTML name attribute generation for form fields
  • Updated ArrayField to refactor code from a class component to seven stateless functional components, replacing the 4 generator-props with the 5 memoized props mentioned in the @rjsf/utils changes
    • BREAKING CHANGE: The refactor included rendering the ArrayFieldItemTemplate directly by the ArrayField rather than deferring it to the ArrayFieldTemplate
    • Updated the ArrayField tests to adjust for the rendering change AND to remove 2 tests due to them no longer being valid
  • BREAKING CHANGE: Updated ArrayFieldTemplate to remove the ArrayFieldItemTemplate render in favor of simply using items due to ArrayField changes
  • BREAKING CHANGE: Updated ArrayFieldItemButtonsTemplate to replace the old callback-generator functions with the new memoizable callback functions
  • Fixed a bug in Form to avoid getting errors being reported at the root level via onChange when there aren't
  • Refactored LayoutGridField as function components instead of a single class component.

@rjsf/daisyui

  • Updated the test mocks to remove formContext for the widget mock
  • BREAKING CHANGE: Updated FieldTemplate, ObjectFieldTemplate and WrapIfAdditionalTemplate to rename the old additionalProperties interface props to the new ones
  • Updated BaseInputTemplate, CheckboxesWidget, CheckboxWidget, RadioWidget, and TextareaWidget to use htmlName for the HTML name attribute
  • BREAKING CHANGE: Updated ArrayFieldTemplate to remove the ArrayFieldItemTemplate render in favor of simply using items due to ArrayField changes
  • BREAKING CHANGE: Updated ArrayFieldItemButtonsTemplate to replace the old callback-generator functions with the new memoizable callback functions

@rjsf/fluentui-rc

  • BREAKING CHANGE: Updated FieldTemplate, ObjectFieldTemplate and WrapIfAdditionalTemplate to rename the old additionalProperties interface props to the new ones
  • Updated BaseInputTemplate, CheckboxesWidget, CheckboxWidget, RadioWidget, SelectWidget, and TextareaWidget to use htmlName for the HTML name attribute
  • BREAKING CHANGE: Updated ArrayFieldTemplate to remove the ArrayFieldItemTemplate render in favor of simply using items due to ArrayField changes

@rjsf/mantine

  • BREAKING CHANGE: Updated FieldTemplate, ObjectFieldTemplate and WrapIfAdditionalTemplate to rename the old additionalProperties interface props to the new ones
  • Updated BaseInputTemplate, CheckboxesWidget, CheckboxWidget, RadioWidget, SelectWidget, and TextareaWidget to use htmlName for the HTML name attribute
  • BREAKING CHANGE: Updated ArrayFieldTemplate to remove the ArrayFieldItemTemplate render in favor of simply using items due to ArrayField changes

@rjsf/mui

  • Updated BaseInputTemplate and SelectWidget to remove formContext from the props
  • BREAKING CHANGE: Updated FieldTemplate, ObjectFieldTemplate and WrapIfAdditionalTemplate to rename the old additionalProperties interface props to the new ones
  • Updated BaseInputTemplate, CheckboxesWidget, CheckboxWidget, RadioWidget, SelectWidget, and TextareaWidget to use htmlName for the HTML name attribute
  • BREAKING CHANGE: Updated ArrayFieldTemplate to remove the ArrayFieldItemTemplate render in favor of simply using items due to ArrayField changes

@rjsf/primereact

  • Updated SelectWidget to remove formContext from the props
  • BREAKING CHANGE: Updated FieldTemplate, ObjectFieldTemplate and WrapIfAdditionalTemplate to rename the old additionalProperties interface props to the new ones
  • Updated BaseInputTemplate, CheckboxesWidget, CheckboxWidget, RadioWidget, SelectWidget, and TextareaWidget to use htmlName for the HTML name attribute
  • BREAKING CHANGE: Updated ArrayFieldTemplate to remove the ArrayFieldItemTemplate render in favor of simply using items due to ArrayField changes

@rjsf/react-bootstrap

  • BREAKING CHANGE: Updated FieldTemplate, ObjectFieldTemplate and WrapIfAdditionalTemplate to rename the old additionalProperties interface props to the new ones
  • Updated BaseInputTemplate, CheckboxesWidget, CheckboxWidget, RadioWidget, SelectWidget, and TextareaWidget to use htmlName for the HTML name attribute
  • BREAKING CHANGE: Updated ArrayFieldTemplate to remove the ArrayFieldItemTemplate render in favor of simply using items due to ArrayField changes

@rjsf/semantic-ui

  • BREAKING CHANGE: Updated FieldTemplate, ObjectFieldTemplate and WrapIfAdditionalTemplate to rename the old additionalProperties interface props to the new ones
  • Updated BaseInputTemplate, CheckboxesWidget, CheckboxWidget, RadioWidget, SelectWidget, and TextareaWidget to use htmlName for the HTML name attribute
  • BREAKING CHANGE: Updated ArrayFieldTemplate to remove the ArrayFieldItemTemplate render in favor of simply using items due to ArrayField changes
  • Updated ArrayFieldItemTemplate to refactor the getting of the semanticProps from ArrayFieldTemplate, using the new parentUiSchema prop to maintain the feature

@rjsf/shadcn

  • Updated the test mocks to remove formContext for the widget mock and added globalFormOptions in the registry mock
  • BREAKING CHANGE: Updated FieldTemplate, ObjectFieldTemplate and WrapIfAdditionalTemplate to rename the old additionalProperties interface props to the new ones
  • Updated BaseInputTemplate, CheckboxesWidget, CheckboxWidget, SelectWidget, and TextareaWidget to use htmlName for the HTML name attribute (Note: RadioWidget does not support htmlName due to Radix UI RadioGroup limitations)
  • BREAKING CHANGE: Updated ArrayFieldTemplate to remove the ArrayFieldItemTemplate render in favor of simply using items due to ArrayField changes

@rjsf/utils

  • BREAKING CHANGE: Updated FieldTemplateProps and WrapIfAdditionalTemplateProps to replace the onKeyChange() and onDropPropertyClick() callback-generator props with the onKeyRename(), onKeyRenameBlur() and onRemoveProperty() callback props
  • BREAKING CHANGE: Updated ObjectFieldTemplateProps to replace the onAddClick() callback-generator prop with the onAddProperty() callback prop
  • Added new hook useDeepCompareMemo() and its associated tests
  • Added NameGeneratorFunction type and two built-in name generators: bracketNameGenerator and dotNotationNameGenerator
  • Updated GlobalFormOptions type to include optional nameGenerator field
  • Updated toFieldPathId() function to support name generation via the nameGenerator option in GlobalFormOptions
  • Added htmlName field to WidgetProps interface to provide the generated HTML name attribute to widgets
  • BREAKING CHANGE: Renamed ArrayFieldItemTemplateType to ArrayFieldItemTemplateProps and updated it to change key: string to itemKey: string to avoid a name collision with React
  • BREAKING CHANGE: Updated ArrayFieldTemplateProps to change the type of the items prop from ArrayFieldItemTemplateType<T, S, F>[] to ReactElement[]
  • BREAKING CHANGE: Updated ArrayFieldItemButtonsTemplateType to replace the onAddIndexClick(), onCopyIndexClick(), onDropIndexClick() and onReorderClick() callback-generator props with the onAddItem(), onCopyItem(), onMoveUpItem(), onMoveDownItem() and onRemoveItem() callback props
  • BREAKING CHANGE: Updated `Ar...
Read more

6.0.0-beta.21

08 Oct 20:27

Choose a tag to compare

6.0.0-beta.21 Pre-release
Pre-release

New feature added

@rjsf/antd

  • Updated ArrayFieldTemplate, ObjectFieldTemplate, TitleField to add support for the new optionalDataControl feature
    • Added the new OptionalDataControlTemplate to the theme, adding it to the templates list
  • Updated the ButtonTemplates classes to fix up the props in AntdIconButtonProps and the IconButtons associated with them to better support the OptionalDataControlTemplate

@rjsf/chakra-ui

  • Updated ArrayFieldTemplate, ObjectFieldTemplate, TitleField to add support for the new optionalDataControl feature
    • Added the new OptionalDataControlTemplate to the theme, adding it to the templates list
  • Updated the ButtonTemplates classes to add ChakraIconButtonProps and the IconButtons associated with them to better support the OptionalDataControlTemplate

@rjsf/core

  • Added initialDefaultsGenerated flag to state, which indicates whether the initial generation of defaults has been completed
  • Added ObjectField tests for additionalProperties with defaults
  • Added a new OptionalDataControlsField to the fields that renders either undefined (when there is data for a readonly/disabled field) or gets the OptionalDataControlsTemplate and renders the label and potentially an onAddClick or onRemoveClick function
  • Updated ArrayField and ObjectField to check whether it shouldRenderOptionalData() and if true, calls ObjectDataControlsField and passes the result to its associated render template as optionalDataControl
  • Updated ArrayFieldTemplate, ObjectFieldTemplate, TitleField to add support for the new optionalDataControl feature
    • Added the new OptionalDataControlTemplate to the theme, adding it to the templates list
  • Updated Form as follows to fix #4796
    • Refactored the liveValidate() and mergeErrors() functions out of getStateFromProp() and processPendingChange()
    • Added new, optional customErrors?: ErrorSchemaBuilder<T> to the FormState, updating the IChangeEvent interface to remove all of the private variables
    • Reworked the newErrorSchema handling in processPendingChange() to simplify the handling since newErrorSchema is now path-specific, adding newErrorSchema to customErrors when they don't match an existing validator-based validation
      • This rework resulted in any custom errors passed from custom widgets/fields will now be remembered during the validation stage
    • Removed the now unused getPreviousCustomValidateErrors() and filterErrorsBasedOnSchema() methods
  • Updated LayoutGridField to simplify onFieldChange() to just return the given errorSchema now that it is path-specific, fixing #4796
  • Updated NullField to pass fieldPathId.path for the onChange() instead of [name]

@rjsf/daisyui

  • Updated ArrayFieldTemplate, ArrayFieldTitleTemplate, ObjectFieldTemplate, TitleField to add support for the new optionalDataControl feature
    • Added the new OptionalDataControlTemplate to the theme, adding it to the templates list
  • Updated the ButtonTemplates classes to better support the OptionalDataControlTemplate

@rjsf/fluentui-rc

  • Updated ArrayFieldTemplate, ObjectFieldTemplate, TitleField to add support for the new optionalDataControl feature
    • Added the new OptionalDataControlTemplate to the theme, adding it to the templates list
  • Updated the ButtonTemplates classes to add FluentIconButtonProps and the IconButtons associated with them to better support the OptionalDataControlTemplate

@rjsf/mantine

  • Updated ArrayFieldTemplate, ObjectFieldTemplate, TitleField to add support for the new optionalDataControl feature
    • Added the new OptionalDataControlTemplate to the theme, adding it to the templates list

@rjsf/mui

  • Updated ArrayFieldTemplate, ObjectFieldTemplate, TitleField to add support for the new optionalDataControl feature
    • Added the new OptionalDataControlTemplate to the theme, adding it to the templates list

@rjsf/primereact

  • Updated ArrayFieldTemplate, ObjectFieldTemplate, TitleField to add support for the new optionalDataControl feature
    • Added the new OptionalDataControlTemplate to the theme, adding it to the templates list
  • Updated the ButtonTemplates classes to add PrimeIconButtonProps and the IconButtons associated with them to better support the OptionalDataControlTemplate

@rjsf/react-bootstrap

  • Updated ArrayFieldTemplate, ObjectFieldTemplate, TitleField to add support for the new optionalDataControl feature
    • Added the new OptionalDataControlTemplate to the theme, adding it to the templates list
  • Updated the ButtonTemplates classes to add BootstrapIconButtonProps and the IconButtons associated with them to better support the OptionalDataControlTemplate

@rjsf/semantic-ui

  • Updated ArrayFieldTemplate, ObjectFieldTemplate, TitleField to add support for the new optionalDataControl feature
    • Added the new OptionalDataControlTemplate to the theme, adding it to the templates list
  • Updated the ButtonTemplates classes to add SemanticIconButtonProps and the IconButtons associated with them to better support the OptionalDataControlTemplate

@rjsf/shadcn

  • Updated ArrayFieldTemplate, ObjectFieldTemplate, TitleField to add support for the new optionalDataControl feature
    • Added the new OptionalDataControlTemplate to the theme, adding it to the templates list
  • Updated the ButtonTemplates classes to add ShadIconButtonProps and the IconButtons associated with them to better support the OptionalDataControlTemplate

@rjsf/utils

  • Updated getDefaultFormState to add a new initialDefaultsGenerated prop flag, along with type definitions, fixing uneditable & permanent defaults with additional properties 3759
  • Updated createSchemaUtils definition to reflect addition of initialDefaultsGenerated
  • Updated existing tests where getDefaultFormState is used to reflect addition of initialDefaultsGenerated
  • Updated types.ts to support the new Optional Data Controls feature as follows:
    • Added new OptionalDataControlsTemplateProps and refactored the common props from ArrayFieldTemplateProps and ObjectFieldTemplateProps into a new super type, ContainerFieldTemplateProps
    • Added new optionalDataControl?: ReactNode to the ArrayFieldTitleProps, TitleFieldProps and ContainerFieldTemplateProps
    • Updated GlobalFormOptions to add new enableOptionalDataFieldForType?: ('object' | 'array')[] prop
    • Updated SchemaUtilsType's retrieveSchema() function to add an additional, property resolveAnyOfOrOneOfRefs?: boolean
  • Updated the Templates interface to add a new required template OptionalDataControlsTemplate: ComponentType<OptionalDataControlsTemplateProps<T, S, F>>
  • Updated retrieveSchema() to add an additional property resolveAnyOfOrOneOfRefs?: boolean which causes resolveAllSchemas() to resolve $refs inside of the options of anyOf/oneOf schemas
  • Updated getDefaultFormState to fix an issue where optional array props had their default set to an empty array when they shouldn't be
  • Updated the TranslatableString enum to add three new strings in support of the new feature: OptionalObjectAdd, OptionalObjectRemove and OptionalObjectEmptyMsg
  • Added four new utility functions: isFormDataAvailable(), isRootSchema(), optionalControlsId(), and shouldRenderOptionalField()
  • Updated validationDataMerge() to add an additional, optional parameter preventDuplicates = false, that causes the mergeObjects() call to receive preventDuplicates instead of true

Dev / docs / playground

  • Updated docs for getDefaultFormState to reflect addition of the initialDefaultsGenerated prop
  • Updated utility-function.me docs to add documentation for the new functions and to update the validationDataMerge() function's new parameter
    • Also updated docs for retrieveSchema and SchemaUtilsType for the new prop
  • Updated uiSchema.md to add documentation for the new enableOptionalDataFieldForType prop
  • Updated the playground to add a new Optional Data Controls example
  • Updated the snapshot and jest tests for Form to test the new Optional Data Controls feature
  • Updated custom-widgets-fields.md to change the documentation around passing errors via onChange() to reflect the new reality
  • Updated the v6x upgrade guide.md to document the new feature, utility functions and changes to existing method parameters

6.0.0-beta.20

02 Oct 00:53

Choose a tag to compare

6.0.0-beta.20 Pre-release
Pre-release

Significant Breaking Changes in this release

In order to support future features and to improve performance, IdSchema was replaced with FieldPathId. See below

@rjsf/antd

  • BREAKING CHANGES - Updated all of the templates and widgets to change idSchema to fieldPathId or to remove the <T> off of the idGenerator functions

@rjsf/chakra-ui

  • BREAKING CHANGES - Updated all of the templates and widgets to change idSchema to fieldPathId or to remove the <T> off of the idGenerator functions

@rjsf/core

  • BREAKING CHANGES
    • Updated all of the fields, templates and widgets to change idSchema to fieldPathId or to remove the <T> off of the idGenerator functions
    • ObjectField and ArrayField to use toFieldPathId instead of toIdSchema() to generate the fieldPathIds of all its children
    • Updated the onChange handling of fields to make path required and either pass it straight through, or use the fieldPathId.path instead of using an empty array or appending path information
    • Updated Form to use toFieldPathId() to generate fieldPathId instead of idSchema, always providing the idPrefix and idSeparator in the globalFormOptions and make the path: FieldPathList required
    • Updated LayoutGridField to remove the IdSchema related code in favor of FieldPathId code
  • Also exported the getTestRegistry() function from the main index.ts to assist developers in creating registry object for tests
  • Updated all of the test to deal with the idSchema -> fieldPathId changes

@rjsf/daisyui

  • BREAKING CHANGES - Updated all of the templates and widgets to change idSchema to fieldPathId or to remove the <T> off of the idGenerator functions
  • Also fixed the FieldTemplate to extract the description element so that it was not spread onto the div, fixing the snapshots

@rjsf/fluent-ui

  • BREAKING CHANGES - Updated all of the templates and widgets to change idSchema to fieldPathId or to remove the <T> off of the idGenerator functions

@rjsf/mantine

  • BREAKING CHANGES - Updated all of the templates and widgets to change idSchema to fieldPathId or to remove the <T> off of the idGenerator functions

@rjsf/mui

  • BREAKING CHANGES - Updated all of the templates and widgets to change idSchema to fieldPathId or to remove the <T> off of the idGenerator functions

@rjsf/primereact

  • BREAKING CHANGES - Updated all of the templates and widgets to change idSchema to fieldPathId or to remove the <T> off of the idGenerator functions

@rjsf/react-bootstrap

  • BREAKING CHANGES - Updated all of the templates and widgets to change idSchema to fieldPathId or to remove the <T> off of the idGenerator functions

@rjsf/semantic-ui

  • BREAKING CHANGES - Updated all of the templates and widgets to change idSchema to fieldPathId or to remove the <T> off of the idGenerator functions

@rjsf/shadcn

  • BREAKING CHANGES - Updated all of the templates and widgets to change idSchema to fieldPathId or to remove the <T> off of the idGenerator functions

@rjsf/utils

  • Added new FieldPathList and FieldPathId types and DEFAULT_ID_PREFIX and DEFAULT_ID_SEPARATOR to constants.ts
  • Added the new toFieldPathId() function to generate FieldPathIds, exporting it from the library
  • Deprecated the ui:rootFieldId in the UiSchema since idPrefix does the same exact thing
  • BREAKING CHANGES
    • Removed the IdSchema type, replacing idSchema: IdSchema<T> in all types with fieldPathId: FieldPathId
    • Updated the idGenerators to replace id: IdSchema<T> | string with id: FieldPathId | string removing the need for the <T = any> generic on the functions
    • Removed the toIdSchema() function in the schema directory
    • Updated the FieldProps type's onChange() callback to make the path: FieldPathList parameter be required instead of optional
    • Updated the SchemaUtilsType and createSchemaUtils() to remove the toIdSchema() function

@rjsf/validator-ajv8

  • Updated the test to no longer try to test the delete toIdSchema function

Dev / docs / playground

  • Updated custom-templates.md, custom-widgets-fields.md and layout-grid.md to change the idSchema documentation to fieldPathId
  • Updated uiSchema.md to mark the ui:rootFieldId as deprecated in the documentation
  • Updated utility-functions.md delete toIdSchema(), add toFieldPathId() and to remove the <T> from the id generator functions
  • Updated v6.x upgrade guide.md to document all the breaking changes, new functions and deprecations made in 6.0.0-beta.20

6.0.0-beta.19

29 Sep 16:11

Choose a tag to compare

6.0.0-beta.19 Pre-release
Pre-release

@rjsf/core

  • Updated Form to fix live validation in getStateFromProps() broken by an optimization, fixing #4782
  • Updated Form to fix error messages being displayed abnormally when customValidate is provided, fixing #4783
  • Updated Form to fix omitExtraData when the leaf node happens to have an object value, fixing #4784

@rjsf/utils

  • Updated resolveSchema() to pass the experimental_customMergeAllOf options properly to resolveReference() and resolveDependencies() called within it

6.0.0-beta.18

21 Sep 05:43

Choose a tag to compare

6.0.0-beta.18 Pre-release
Pre-release

@rjsf/chakra-ui

  • Updated ObjectFieldTemplate to always generate the "Add" button when canExpand() is true, fixing #4772

@rjsf/core

  • Updated Form to add the globalFormOptions to the registry when there are GlobalFormOptions provided, also stopped passing idPrefix and idSeparator to SchemaField
  • Updated ArrayField, LayoutGridField, ObjectField and SchemaField to get idPrefix, idSeparator from the registry.globalFormOptions, no longer passing them on FieldProps
    • Updated SchemaField to get experimental_componentUpdateStrategy from the registry.globalFormOptions as well

@rjsf/utils

  • Update getDefaultFormState() to add support for null defaults for ["null", "object"] and ["null", "array"], fixing #1581
  • Added a new GlobalFormProps interface which contains the following props and replaced the experimental_componentUpdateStrategy in Registry with globalFormProps?: GlobalFormProps
    • experimental_componentUpdateStrategy (refactored from Registry) and idPrefix & idSeparator (refactored from FieldProps)
  • BREAKING CHANGE: Removed the optional idPrefix and idSeparator props from the FieldProps interface

Dev / docs / playground

  • Updated the custom-widget-fields.md and v6.x upgrade guide.md to document the refactor of the idPrefix and idSeparator refactor

6.0.0-beta.17

12 Sep 20:47

Choose a tag to compare

6.0.0-beta.17 Pre-release
Pre-release

@rjsf/core

  • Updated ObjectField to remove the name from the path passed to onChange() callback in handleAddClick() and onDropPropertyClick(), fixing #4763
  • Updated Form to restore the passing of an empty string for name to avoid accidentally showing it as the title for the whole schema

@rjsf/shadcn

  • Update ArrayFieldItemTemplate to align buttons with the input field, fixing #4753

6.0.0-beta.16

11 Sep 16:19

Choose a tag to compare

6.0.0-beta.16 Pre-release
Pre-release

@rjsf/antd

  • Updated the ArrayFieldTemplate, FieldTemplate and ObjectFieldTemplate to get formContext from the registry

@rjsf/core

  • Updated ArrayField, Form, LayoutMultiSchemaField and SchemaField to stop passing formContext

@rjsf/daisyui

  • Updated FieldTemplate to remove formContext as it is never used

@rjsf/semantic-ui

  • Updated the ArrayFieldTemplate, BaseInputTemplate, CheckboxWidget, FieldTemplate, RadioWidget, RangeSelect, SelectWidget, TextareaWidget and ObjectFieldTemplate to get formContext from the registry

@rjsf/utils

  • BREAKING CHANGE: Removed formContext from the following interfaces because it is available on registry:
    • ErrorListProps, FieldProps, FieldTemplateProps, ArrayFieldTemplateProps and WidgetProps
  • Update mergeDefaultsWithFormData to properly handle overriding undefined formData with a null default value, fixing #4734
  • Fixed object reference sharing in arrays with minItems when using oneOf schemas, fixing #4756
  • Updated getWigets() to output the schema when throwing errors, fixing #4731

Dev / docs / playground

  • Updated the documentation to remove formContext from the interface documentation, adding a BREAKING CHANGE notification in the v6.x upgrade guide
  • POTENTIAL BREAKING CHANGE: Updated the cjs build for all packages to generate .cjs files instead of .js files and updating the exports to make the require statements use .cjs, fixing [#4754]#4754)
  • Updated v6.x upgrade guide.md to note the change to the cjs builds