Skip to content

Commit

Permalink
Forward main changes (#4487)
Browse files Browse the repository at this point in the history
* fix(utils): direct lodash function import to improve bundling on library client side (#3976)

* v5.14.3 (#3979)

* add missing typescript project reference for utils in validator-ajv6 and validator-ajv8 (#3982)

* fix: #3961 resolve all recurse list for object properties (#3981)

* fix: resolve all recurse list for object properties

* update test

* simplfy logic

* revert

* update change log

* Add the ability to parse defaults from `allOf` schema (#3969)

* feat: support default values in anyOf format

* feat: add `skipDefaults` and `populateDefaults` options for `allOf` parsing

* docs: add examples

* chore: ammending chanelog

* mui: fix gap in outline when label is hidden (#3984)

* mui: fix gap in outline when label is hidden

Passing `label={false}` to the MUI text/select widgets results in a
gap in the widget outline where the label would be.  Instead, to hide
the label without a gap, we must pass `label={undefined}`.

This commit changes the calls to `labelValue(...)` for
BaseInputTemplatea and SelectWidget to return `undefined` when
`"ui:label": false` was specified.

* mui: update test snapshots

* Release 5.15.0 (#3986)

* - Fixup `CHANGELOG.md` to merge 5.14.4 into 5.15.0

* v5.15.0

* Make getFieldNames correctly defines array of primitives (#3990)

* Fix: Expose the internal `ajv` variable in the validator implementation classes (#3991)

* Fix: Expose the internal `ajv` variable in the validator implementation classes
Fixes: #3972 indirectly by exposing the `ajv` variable for use in the issue
- In `@rjsf/ajv6`, updated `AJV6Validator` to make the `ajv` variable public and changed the return of the `customizeValidator()` function to remove the interface return
- In `@rjsf/ajv8`, updated `AJV8Validator` to make the `ajv` variable public and changed the return of the `customizeValidator()` function to remove the interface return
  - Also removed some `@ts-expect-error` tags that are no longer needed due to the exposed variable
- Updated the `CHANGELOG.md` accordingly

* - Responded to reviewer feedback

* v5.15.1 (#3997)

* feat: pass down indexed title from array field (#4002)

* feat: pass indexed title from array field to use as title in children if present

* docs: add changelog

* test: add test for checkbox widget

* test: add test for remaining widgets

* test: add test for object, array, oneof and anyof fields

* test: add test for allof field

* refactor: move repetitive task to one function and run it on array data

* chore: change version changelog according to the changes made

* test: fix allof field test case

* chore(deps): bump actions/download-artifact from 3 to 4

Bumps [actions/download-artifact](https://github.com/actions/download-artifact) from 3 to 4.
- [Release notes](https://github.com/actions/download-artifact/releases)
- [Commits](https://github.com/actions/download-artifact/compare/v3...v4)

---
updated-dependencies:
- dependency-name: actions/download-artifact
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <[email protected]>

* chore(deps): bump actions/setup-python from 3 to 5

Bumps [actions/setup-python](https://github.com/actions/setup-python) from 3 to 5.
- [Release notes](https://github.com/actions/setup-python/releases)
- [Commits](https://github.com/actions/setup-python/compare/v3...v5)

---
updated-dependencies:
- dependency-name: actions/setup-python
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <[email protected]>

* chore(deps): bump actions/upload-artifact from 3 to 4

Bumps [actions/upload-artifact](https://github.com/actions/upload-artifact) from 3 to 4.
- [Release notes](https://github.com/actions/upload-artifact/releases)
- [Commits](https://github.com/actions/upload-artifact/compare/v3...v4)

---
updated-dependencies:
- dependency-name: actions/upload-artifact
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <[email protected]>

* chore(deps-dev): bump vite from 4.4.9 to 4.4.12

Bumps [vite](https://github.com/vitejs/vite/tree/HEAD/packages/vite) from 4.4.9 to 4.4.12.
- [Release notes](https://github.com/vitejs/vite/releases)
- [Changelog](https://github.com/vitejs/vite/blob/v4.4.12/packages/vite/CHANGELOG.md)
- [Commits](https://github.com/vitejs/vite/commits/v4.4.12/packages/vite)

---
updated-dependencies:
- dependency-name: vite
  dependency-type: direct:development
...

Signed-off-by: dependabot[bot] <[email protected]>

* Feat: Implements #297 request (#4004)

* [Feat] Add Date re-order option

* Added tests for date re-order

* Updated docs and example

* Update changelog

* Added documentation for getDateElementProps function

* Fix: test failing due to year change

* Removed redundant parameters info

* chore: Bumped packages using `npm run bump-all-packages` (#4006)

* Fix: Bumped packages using `npm run bump-all-packages`

- Temporarily locked down "@mui/material": "5.15.2" and "@mui/base": "5.0.0-beta.28" due to https://github.com/mui/material-ui/issues/40427

* - Responded to reviewer feedback by removing an added dev-dependency that seems unnecessary

* Update Form.tsx and make submit method public (#4029)

* Update Form.tsx and make submit method public

* Update Form.tsx and make submit public

* Update CHANGELOG.md and add an entry for submit method changes

* Update CHANGELOG.md

---------

Co-authored-by: Heath C <[email protected]>

* Fix: Change FormHelperText usage with @mui/material to render divs (#4032)

Fixes #4031 by switching the render component for `FormHelperText` to be `div`
- In `@rjsf/mui`, updated `FieldErrorTemplate` and `FieldHelpTemplate` to use the `div` component for `FormHelperText`

* Support file deletion for data-url (#4030)

* Release 5.16.0 (#4037)

* Merged the `5.15.2` change up into the `5.16.0` change since `5.15.2` was never released

* v5.16.0

* Release 5.16.1 (#4041)

* Releasing 5.16.1 with bumped peer dependencies

* v5.16.1

* Enhancement(Share): Enhancement base64 encoding/decoding using UTF-8 charset to support the characters outside the latin1 range. (#4024) (#4034)

* Enhancement(Share): Declare and export an object that provides base64 encoding and decoding functions using the utf-8 charset to support the characters outside the latin1 range. (#4024)

* Enhancement(Share): Add the 'base64.test.ts' to test the base64. (#4024)

* Enhancement(Share): Update the base64 reference in 'Playground' to the new customized base64 in 'utils' (#4024).

* Enhancement(Share): Update 'CHANGELOG.md' (#4024).

* Enhancement(Share): Update 'CHANGELOG.md' (#4024).

* Enhancement(Share): Add test to test the platform behavior (#4024).

* Enhancement: Fix comments and updating utility-functions.md to add introduction of base64 object

* Update CHANGELOG.md

* Update CHANGELOG.md

* Update base64.ts

* fix: Added support for anyOf/oneOf in uiSchema (#4055)

Fixes #4039 by updating `MultiSchemaField` to properly support `anyOf`/`oneOf` arrays in the `uiSchema`
- In `@rjsf/utils`: Improved documentation and typescript ignores in tests related to `base64` from previous PR
- In `@rjsf/core`: Updated `MultiSchemaField` to support `anyOf`/`oneOf` arrays in the `uiSchema`
  - Updated the tests to verify the new feature
- In `docs`: Added documentation to the `uiSchema.md` file describing how to use the new feature
- Updated the `CHANGELOG.md` accordingly

* chore(deps-dev): bump vite from 4.5.1 to 4.5.2

Bumps [vite](https://github.com/vitejs/vite/tree/HEAD/packages/vite) from 4.5.1 to 4.5.2.
- [Release notes](https://github.com/vitejs/vite/releases)
- [Changelog](https://github.com/vitejs/vite/blob/v4.5.2/packages/vite/CHANGELOG.md)
- [Commits](https://github.com/vitejs/vite/commits/v4.5.2/packages/vite)

---
updated-dependencies:
- dependency-name: vite
  dependency-type: direct:development
...

Signed-off-by: dependabot[bot] <[email protected]>

* Fix checkbox with 0 as a value was unselectable in antd (#4068)

* fix: Added support for anyOf/oneOf in uiSchema
Fixes #4039 by updating `MultiSchemaField` to properly support `anyOf`/`oneOf` arrays in the `uiSchema`
- In `@rjsf/utils`: Improved documentation and typescript ignores in tests related to `base64` from previous PR
- In `@rjsf/core`: Updated `MultiSchemaField` to support `anyOf`/`oneOf` arrays in the `uiSchema`
  - Updated the tests to verify the new feature
- In `docs`: Added documentation to the `uiSchema.md` file describing how to use the new feature
- Updated the `CHANGELOG.md` accordingly

* Fix checkbox with 0 as a value was unselectable in antd
Fixed #4067 by properly dealing with enums that have 0 as a value
- In `@rjsf/utils`: Updated `enumOptionsValueForIndex()` to filter against `emptyValue` rather than just truthy
  - Updated the tests to verify the bug and then validate the fix
- Updated the `CHANGELOG.md` accordingly

* Fix potential XSS in the preview button of FileWidget (#4065)

* fix dataURI parsing mechanism

* Restrict image preview file types

* Make broken files be ignored

* Update changelog

* Refactor image preview whitelist, add comments, and fix tests

* fix the way of error handling

to pass the coverage test

* Update packages/core/src/components/widgets/FileWidget.tsx

Co-authored-by: Heath C <[email protected]>

---------

Co-authored-by: Heath C <[email protected]>

* docs: update link to markdown-to-jsx homepage (#4071)

Co-authored-by: Heath C <[email protected]>

* Release 5.17.0 (#4073)

* - Fixed `CHANGELOG.md` to make it a minor version update
- Bumped the packages using `bump-all-packages`
  - Updated the tests for `antd` and `fluentui-rc` due to packages bump

* v5.17.0

* Fix: Make 'ui:rows' option work with chakra-ui for textarea elements #4070 (#4078)

* Fix typo in ErrorsListTemplate example (#4087)

Co-authored-by: Heath C <[email protected]>

* Fix #4080 by moving `base64` encoder/decoder from `@rjsf/utils` to playground (#4093)

* Pass errorSchema from ArrayField to ArrayFieldTemplate (#4094)

* Pass errorSchema from ArrayField to ArrayFieldTemplate

* Update CHANGELOG.md

* v5.17.1 (#4096)

* Feat: don't assign a default value of an empty field. (#3880) (#4085)

* Added skipEmptyDefaults feature

* Fixed an issue where the skipEmptyDefault option was not displaying default values for fields that are not required.

* Updated tests and the changelog

* Updated changelog: moved chakra-ui changes above utils.

---------

Co-authored-by: Abdallah Al-Soqatri <[email protected]>

* chore(deps-dev): bump ip from 2.0.0 to 2.0.1

Bumps [ip](https://github.com/indutny/node-ip) from 2.0.0 to 2.0.1.
- [Commits](https://github.com/indutny/node-ip/compare/v2.0.0...v2.0.1)

---
updated-dependencies:
- dependency-name: ip
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <[email protected]>

* Fix: Error state not resetting when schema changes (#4079) (#4103)

* #4079 Fixed the issue where the error state was not resetting when the schema changed.

* #4079 Updated the changelog

* #4079 Improved previous and new schema check

* #4079 Added test

* #4079 improved test

* #4079 removing console.log

* Apply suggestions from code review

- Accepted reviewer feedback

---------

Co-authored-by: Abdallah Al-Soqatri <[email protected]>
Co-authored-by: Heath C <[email protected]>

* Fix noImplicitAny error (#4106)

Co-authored-by: Heath C <[email protected]>

* Update validation docs with correct require statement (#4108)

Co-authored-by: Heath C <[email protected]>

* Fixes: [WARNING] Duplicate key "include" in object literal [duplicate-object-key] (#4114)

* Fixes: Warning: validateDOMNesting(...): <p> cannot appear as a descendant of <p>. (#4117)

* give instructions for material ui 5, not 4 (#4126)

* Fix documentation to add missing Form imports (#4131)

Fix #4127 to add missing `Form` import in documentation
- Updated many of the documentation files to add missing imports of `Form`
- Updated the `CHANGELOG.md` accordingly

Co-authored-by: Kevin Burnett <[email protected]>

* Fix: filename should be bold (#4125)

* Fix: filename should be bold

Also prevents horrible looking "\</strong>" from being printed on screen.

* Update CHANGELOG.md

* Skip populate function proposal in Experimental_ArrayMinItems (#4121)

* skip populate draft

* Added a new `computeSkipPopulate` option in `arrayMinItems`, allowing custom logic to skip populating arrays with default values

* Add example in documentation of computeSkipPopulate

* Update packages/docs/docs/api-reference/form-props.md

Co-authored-by: Heath C <[email protected]>

* Update packages/utils/src/types.ts

Co-authored-by: Heath C <[email protected]>

* Update packages/docs/docs/api-reference/form-props.md

Co-authored-by: Heath C <[email protected]>

---------

Co-authored-by: Marek Bodinger <[email protected]>
Co-authored-by: Heath C <[email protected]>

* Fix: use correct ConfigProvider context by using named imports (#4132)

Co-authored-by: Mehdi Salem <[email protected]>
Co-authored-by: Heath C <[email protected]>

* Fix 4134 by filtering out bad DOM props (#4140)

Fixes: #4134 by updating the spreading of props onto the `TextField` to remove bad DOM fields
- In `@rjsf/mui`, updated `SelectField` and `BaseInputTemplate` to filter out `errorSchema` and `autocomplete` from the `textFieldProps` before they are spread onto `TextField`
- Updated `CHANGELOG.md` accordingly, moving `@rjsf/antd` above `@rjsf/core`

* v5.18.0 (#4141)

* chore(deps): bump follow-redirects from 1.15.5 to 1.15.6

Bumps [follow-redirects](https://github.com/follow-redirects/follow-redirects) from 1.15.5 to 1.15.6.
- [Release notes](https://github.com/follow-redirects/follow-redirects/releases)
- [Commits](https://github.com/follow-redirects/follow-redirects/compare/v1.15.5...v1.15.6)

---
updated-dependencies:
- dependency-name: follow-redirects
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <[email protected]>

* Release 5.18.1 (#4145)

* - Bumped peer dependencies due to new feature

* v5.18.1

* - Removed unnecessary `package-lock.json` in `fluentui-rc` theme

* chore(deps-dev): bump vite from 4.5.2 to 4.5.3

Bumps [vite](https://github.com/vitejs/vite/tree/HEAD/packages/vite) from 4.5.2 to 4.5.3.
- [Release notes](https://github.com/vitejs/vite/releases)
- [Changelog](https://github.com/vitejs/vite/blob/v4.5.3/packages/vite/CHANGELOG.md)
- [Commits](https://github.com/vitejs/vite/commits/v4.5.3/packages/vite)

---
updated-dependencies:
- dependency-name: vite
  dependency-type: direct:development
...

Signed-off-by: dependabot[bot] <[email protected]>

* chore(deps): bump express from 4.18.2 to 4.19.2

Bumps [express](https://github.com/expressjs/express) from 4.18.2 to 4.19.2.
- [Release notes](https://github.com/expressjs/express/releases)
- [Changelog](https://github.com/expressjs/express/blob/master/History.md)
- [Commits](https://github.com/expressjs/express/compare/4.18.2...4.19.2)

---
updated-dependencies:
- dependency-name: express
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <[email protected]>

* chore(deps): bump webpack-dev-middleware from 5.3.3 to 5.3.4

Bumps [webpack-dev-middleware](https://github.com/webpack/webpack-dev-middleware) from 5.3.3 to 5.3.4.
- [Release notes](https://github.com/webpack/webpack-dev-middleware/releases)
- [Changelog](https://github.com/webpack/webpack-dev-middleware/blob/v5.3.4/CHANGELOG.md)
- [Commits](https://github.com/webpack/webpack-dev-middleware/compare/v5.3.3...v5.3.4)

---
updated-dependencies:
- dependency-name: webpack-dev-middleware
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <[email protected]>

* #3121 Fixed Programmatic submit not working properly in Firefox (#4150)

Co-authored-by: Abdallah Al-Soqatri <[email protected]>
Co-authored-by: Heath C <[email protected]>

* Fix Maximum call stack size exceeded in findSchemaDefinition (#4123)

* Add tests for circular and deeply circular refs in definitions

* Fix Maximum call stack size exceeded in findSchemaDefinition

* Update CHANGELOG

* Add tests for findSchemaDefinitionRecursive

* v5.18.2 (#4157)

* Upgrades React  (#4107)

* Upgrades react packages

* Updates semantic-ui-react

* Add support back for semantic version 1 via peerdependencies (#4169)

- In `@rjsf/semantic-ui` - added back `semantic-ui-react` version `^1.3.1` to the peer dependencies
  - Also made `semantic-ui-react` a devDependency for `^2.1.3`
- In the playground, added `[email protected]` due to the transition of `semantic-ui-react` as a devDependency
- Updated `CHANGELOG.md` accordlingly

* Create codeql.yml (#4170)

* Update LICENSE.md (#4174)

* Update LICENSE.md

Dear rsjf-team, I have a request. We are using the great rjsf packages to build a forms solution for a company. This company requires a copyright notice in the license file. Could you please replace the example copyright notice by a copyright of your team. I know it is strange at that location, but it would solve our problems.

Examples where they added names at that location in the license file:

- https://github.com/eisberg-labs/actix-actor-expect/blob/c28e751d219535c3d4d2b5579ddd281440e5ea87/LICENSE-APACHE#L4
- https://github.com/Swiftify-Corp/Swift-30-Projects/blob/5140f35ca0cb3767807bc518084809030a77139a/License.md?plain=1#L4

* Update LICENSE.md

- Added the start date from when the repo was created

---------

Co-authored-by: Heath C <[email protected]>

* Update custom-widgets-fields.md (#4171)

Co-authored-by: Heath C <[email protected]>

* chore(deps-dev): bump gh-pages from 3.2.3 to 5.0.0

Bumps [gh-pages](https://github.com/tschaub/gh-pages) from 3.2.3 to 5.0.0.
- [Release notes](https://github.com/tschaub/gh-pages/releases)
- [Changelog](https://github.com/tschaub/gh-pages/blob/main/changelog.md)
- [Commits](https://github.com/tschaub/gh-pages/compare/v3.2.3...v5.0.0)

---
updated-dependencies:
- dependency-name: gh-pages
  dependency-type: direct:development
...

Signed-off-by: dependabot[bot] <[email protected]>

* Release 5.18.3 (#4175)

* - Updated `CHANGELOG.md` to account for a few PRs

* v5.18.3

* Add missing angle bracket (#4178)

* fix typos in constants.ts, Form.tsx (#4185)

* fix typos in constants.ts, Form.tsx

* keep the constants to for backwards compatibility

Co-authored-by: Heath C <[email protected]>

---------

Co-authored-by: Heath C <[email protected]>

* chore(deps): bump mkdocs from 1.5.3 to 1.6.0

Bumps [mkdocs](https://github.com/mkdocs/mkdocs) from 1.5.3 to 1.6.0.
- [Release notes](https://github.com/mkdocs/mkdocs/releases)
- [Commits](https://github.com/mkdocs/mkdocs/compare/1.5.3...1.6.0)

---
updated-dependencies:
- dependency-name: mkdocs
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <[email protected]>

* chore(deps-dev): bump ejs from 3.1.9 to 3.1.10

Bumps [ejs](https://github.com/mde/ejs) from 3.1.9 to 3.1.10.
- [Release notes](https://github.com/mde/ejs/releases)
- [Commits](https://github.com/mde/ejs/compare/v3.1.9...v3.1.10)

---
updated-dependencies:
- dependency-name: ejs
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <[email protected]>

* v5.18.4 (#4195)

* feat: treat default field in additionalProperties (#4199)

* feat: treat "default" in additionalProperties

* test: add test cases for the case there's a default in additionalProperties

* Passes missing uiSchema prop to Form component. (#4219)

* Remove duplicate mention of hideError (#4211)

Co-authored-by: Nick Grosenbacher <[email protected]>

* Fix mui imports in docs (#4218)

Co-authored-by: Nick Grosenbacher <[email protected]>

* [fix] Resetting number fields should check the entire string when deciding to leave the input text alone (#4202) (#4220)

* chore(deps): bump ws from 7.5.9 to 7.5.10

Bumps [ws](https://github.com/websockets/ws) from 7.5.9 to 7.5.10.
- [Release notes](https://github.com/websockets/ws/releases)
- [Commits](https://github.com/websockets/ws/compare/7.5.9...7.5.10)

---
updated-dependencies:
- dependency-name: ws
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <[email protected]>

* chore(deps): bump braces from 3.0.2 to 3.0.3

Bumps [braces](https://github.com/micromatch/braces) from 3.0.2 to 3.0.3.
- [Changelog](https://github.com/micromatch/braces/blob/master/CHANGELOG.md)
- [Commits](https://github.com/micromatch/braces/compare/3.0.2...3.0.3)

---
updated-dependencies:
- dependency-name: braces
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <[email protected]>

* Bug: Fixed performance issue with large schema dependencies and oneOf (#4203) (#4204)

* Fixed performance issue #4203

* code improvement based on feedback

---------

Co-authored-by: Abdallah Al-Soqatri <[email protected]>
Co-authored-by: Heath C <[email protected]>

* Handle undefined target in onBlur and onFocus handlers (#4227)

There are some instances where the `onBlur` and `onFocus` handlers are receiving an undefined `target`, causing the following type error:
```
Cannot read properties of undefined (reading 'value')
```
- Updated all of the `onBlur()` and `onFocus()` handlers in all libraries to fix this
- Updated the `CHANGELOG.md` accordingly

* fix(core): field ui-options higher priority (#4212)

* fix(core): field ui-options higher priority

* docs(root): changelog

* Update CHANGELOG.md

---------

Co-authored-by: Heath C <[email protected]>

* Release 5.18.5 (#4230)

* - Fixed spelling mistake for `rjsf` in `CHANGELOG.md`

* v5.18.5

* fix(antd): disabled property of options of antd theme (#4216)

* fix: disabled property of options in CheckboxesWidget and RadioWidget of antd theme

* chore: update CHANGELOG.md for #4216

* chore: update formTests

* chore: update PULL_REQUEST_TEMPLATE.md for test

* Update CHANGELOG.md

---------

Co-authored-by: Heath C <[email protected]>

* fix: omitExtraData on submit and on validateForm (#4228)

* fix: omitExtraData on submit and on validateForm

* test: update tests for omitExtraData

* ci: update changelog

* Update CHANGELOG.md

Co-authored-by: Heath C <[email protected]>

* Apply suggestions from code review

Co-authored-by: Heath C <[email protected]>

* docs: update changelog

---------

Co-authored-by: Heath C <[email protected]>

* Fix IdSchema and PathSchema types (#4196)

* Fix IdSchema and PathSchema types

* Simplify type assertions

---------

Co-authored-by: Heath C <[email protected]>

* SchemaField: Only use nullish coalescing with uiOptions when computing readonly (#4238)

fixes #4236

* v5.18.6 (#4237)

* (feature) Add new relative Years feature to AltDateWidget (#4239)

* (feature) Add new relative Years feature to AltDateWidget
Added a new feature supporting relate Years and reversing Years ordering to `AltDateWidget`
- In `@rjsf/utils`
  - Refactored and improved the `dateRangeOptions()` function from all implementations of `AltDateWidget`
  - Added 100% unit tests for the new function
- In `@rjsf/antd`, `@rjsf/chakra-ui` and `@rjsf/core` replaced `rangeOptions()` with `dateRangeOptions()`
- In `docs`, added documentation for `dateRangeOptions()` to the `utility-functions.md` and feature documentation to `widgets.md`
- Updated the `CHANGELOG.md` accordingly

* Update packages/core/test/StringField.test.jsx

- Responded to reviewer feedback

Co-authored-by: Nick Grosenbacher <[email protected]>

---------

Co-authored-by: Nick Grosenbacher <[email protected]>

* v5.19.0 (#4240)

* Bumped peer dependencies to 5.19.x due to new API used from utils (#4241)

Since other repos required a new API in `utils` we need to bump peer dependencies
- Ran `npm run bump-peer-deps` and committed changes
- Updated the `CHANGELOG.md` accordingly

* Release 5.19.1 (#4242)

* - Fixed peer deps package-lock.json

* v5.19.1

* Removed .only on a core test (#4243)

One of the `core` tests was accidentally left as `.only`, undoing that as well as bumping most of the minor and patch package updates
- Updated `StringField.test.jsx` to remove a `.only`
- Centralized `esbuild` down to the main `package.json`
- Updated the `CHANGELOG.md` accordingly

* v5.19.2 (#4245)

* Fix #4197 in various themes by showing empty option in SelectWidget when appropriate (#4200)

* Release 5.19.3 (#4247)

* Fixed `CHANGELOG.md` to restore 5.19.2

* v5.19.3

* feature: Added better support for testing with AJV having discriminator option turned on (#4257)

* feature: Added better support for testing with AJV having discriminator option turned on
A recent issue made it clear that we didn't make it easy for users to turn on `discriminator` support from AJV
- In `@rjsf/utils` improved support for `discriminator` as follows:
  - Updated the `ValidatorType` to add support for an optional `reset()` method
  - Updated the `ParserValidator` to implement `reset()` to clear the schema map, including a test to verify that
  - Updated the tests that used `discriminator` to remove the `mapping` block that AJV doesn't support
  - Updated the `getFirstMatchingOption()` test to deal with the situation where AJV doesn't support discriminator for array types
  - Updated the `retrieveSchema()` test to call `reset()` on validators that have it in an `afterEach()`
  - Updated the `getTestValidator()` implementation to implement a `reset()` that empties the arrays
- In `@rjsf/validator-ajv8` improved support for `discriminator` as follows:
  - Updated the `createAjvInstance()` function to denote that we want to make `discriminator: true` the default in v6
  - Updated the `AJV8Validator` to make reset do `ajv.removeSchema()` to clear the cached schemas
  - Updated the `getTestValidator() implementation to call `reset()` on the validator if it exists
  - Updated the `schema.test.ts` file to run a set of test with `discriminator: true` set on the `AJV8Validator`
- Updated the `CHANGELOG.md` file accordingly

* - Added required for `code` to all of the schemas

* - Switched the default Translatable strings to use Markdown

* fix: xss when rendering schema errors (#4256)

* fix: stop rendering config errors as html

* Update CHANGELOG.md

* Update UnsupportedField.tsx

* Fix formatting

* Update packages/core/src/components/templates/UnsupportedField.tsx

* Update CHANGELOG.md

* Update <SchemaField> to match

* - Fix lint error

* Update CHANGELOG.md

- Updating to mention potential breaking change

---------

Co-authored-by: Heath C <[email protected]>

* v5.19.4 (#4258)

* Feat: Allow raising errors from within a custom whatever(#2718) (#4188)

* #2718 feature - raise errors from within fields

* fixed failing tests

* Fixed failing build

* Removing raiseError message and errorSchema is updated now using the onChange.

* reverting tests

* Filtering errors based on your retrieved schema to only show errors for properties in the selected branch.

* fixed issue with typing causing build failures.

* Improvement based on feedback

* improvement based on feedback and written test for custom widget

* documenting the feature

* docs improvement base on feedback

* removed empty line

* fixed lodash import

* Update packages/core/src/components/Form.tsx

Ordered lodash import

* Update packages/core/src/components/Form.tsx

* Update CHANGELOG.md

Added missing packages

* Update CHANGELOG.md

Added missing space

---------

Co-authored-by: Abdallah Al-Soqatri <[email protected]>
Co-authored-by: Abdallah Al-Soqatri <[email protected]>
Co-authored-by: Heath C <[email protected]>

* fix 4215 and 4260 by updating optionsList() to take a uiSchema (#4263)

* fix 4215 and 4260 by updating optionsList() to take a uiSchema
Fixes #4215 and #4260 by supporting alternate titles for enums and anyOf/oneOf lists via the uiSchema

- In `@rjsf/utils` added support for alternate option labels from the `UiSchema` as follows:
  - Updated `UIOptionsBaseType` to add the new `enumNames` prop to support an alternate way to provide labels for `enum`s in a schema
  - Updated `optionsList()` to take an optional `uiSchema` that is used to extract alternate labels for `enum`s or `oneOf`/`anyOf` in a schema
    - NOTE: The generics for `optionsList()` were expanded to add `T = any, F extends FormContextType = any` to support the `UiSchema`
    - Added unit tests to maintain 100% coverage
- In `@rjsf/core` updated `ArrayField`, `BooleanField` and `StringField` to call `optionsList()` with the additional `UiSchema` parameter
- In `docs` added documentation about the new `ui:enumNames` property, fixing up the `enumNames` documentation to indicate it WILL be removed
  - Also updated the `optionsList()` function's documentation to add the new `uiSchema` prop
- Updated the `CHANGELOG.md` accordingly

* Update packages/utils/test/optionsList.test.ts

Fix typo in test name

---------

Co-authored-by: Nick Grosenbacher <[email protected]>

* v5.20.0 (#4264)

* Release 5.20.1 (#4268)

* Release 5.20.1
- Updated the peer dependencies to 5.20.x

* v5.20.1

* Fixed Changelog (#4269)

* Bug: issue with dependencies computeDefaults (#4271) (#4282)

* Fixed issue with dependencies computedDefaults

* update changelog

* refactoring based on feedback

* created tests for the new created methods

* organized file based on feedback

* Update CHANGELOG.md

---------

Co-authored-by: Abdallah Al-Soqatri <[email protected]>
Co-authored-by: Heath C <[email protected]>

* feat: improve deepEquals performance (#4292)

* Change fast-deep-equal to fast-equals

* Add changelog and change deepEquals depscription

* run cs-format

* Add JSDocs for isFunctions and customDeepEqual

* Update CHANGELOG.md

---------

Co-authored-by: Heath C <[email protected]>

* fix querySelector in Form focusOnError when id includes dots (#4280)

Co-authored-by: Heath C <[email protected]>

* Fix 4283 by adding support for MUI v6 (#4294)

* Fix 4285 by adding support for MUI v6
- Updated `@rjsf/mui` to update the dev dependencies for `@mui/*` to v6 and the peer dependencies to add MUI v6
- Updated the playground to update `@mui/*` to v6
  - Also changed the dropdown name from `material-ui-5` to `mui` and switched `Layout` to use the `PropsWithChildren` for its props
  - Updated the `Form.test.tsx` to add information to the fake node to allow the tests to work with v6
  - Ran `npm run test:update` to update the snapshots due to the v6 and emotion upgrades
- Updated the test snapshots for `@rjsf/chakra-ui` which also uses emotion
- Updated `CHANGELOG.md` accordingly, bumping to `5.21.0`

* - Fixed the load of shared links to convert `material-ui-5` to `mui`

* chore(deps): bump mkdocs from 1.6.0 to 1.6.1

Bumps [mkdocs](https://github.com/mkdocs/mkdocs) from 1.6.0 to 1.6.1.
- [Release notes](https://github.com/mkdocs/mkdocs/releases)
- [Commits](https://github.com/mkdocs/mkdocs/compare/1.6.0...1.6.1)

---
updated-dependencies:
- dependency-name: mkdocs
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <[email protected]>

* v5.21.0 (#4295)

* Revert "feat: improve deepEquals performance (#4292)" (#4300)

* Revert "feat: improve deepEquals performance (#4292)"

This reverts commit 514ea85826ebfe48f5827b44f9daced5bff0bc47.

* package.json

* v5.21.1 (#4301)

* fix: Improved the widget/field customization docs (#4302)

* fix Improved the widget/field customization docs
Updated the widget and field customization docs to add examples of wrapping a widget/field to adjust props

* Apply suggestions from code review

- Responded to reviewer feedback

Co-authored-by: Nick Grosenbacher <[email protected]>

---------

Co-authored-by: Nick Grosenbacher <[email protected]>

* Fix: Pass required props to anyof/oneof field components (#4303)

* Chore: Updating changelog with missing info (#4309)

Updated `CHANGELOG.md` to add details for the simple fix provided in #4303

* fix: deal with null objects in errors in Form.filterErrorsBasedOnSchema() (#4310)

* fix: deal with null objects in errors in Form.filterErrorsBasedOnSchema()
Fixes #4306 by using `lodash.isNil()` instead of comparing to `undefined`
- Updated `Form.filterErrorsBasedOnSchema()` to use lodash `isNil()` to check if the key is either null or undefined
- Updated the `CHANGELOG.md` accordingly

* - Made name more correct

* fix: not merge the `allOf.contains` schemas

* feat: Support array numbers in pathOfError for ErrorSchemaBuilder

* Update CHANGELOG.md (#4317)

* Refactor: delete unused variable (#4320)

Co-authored-by: Dmitry Khomichenko <[email protected]>

* v5.21.2 (#4323)

* Fix typo L12n -> L10n (#4332)

* experimental_customMergeAllOf (#4308)

* experimental_customMergeAllOf draft

* Add test for experimental_customMergeAllOf

* Add documentation for experimental_customMergeAllOf

* Changelog update

* Add changelog v2

---------

Co-authored-by: Marek Bodinger <[email protected]>

* Make fields with const pre-fiiled and readonly #3843 (#4326)

* Make fields with const pre-fiiled and readonl

* fixed issue with default on root level.

* fixed array const populate values

* fixed array issue and written tests to cover the behavior

* updated changeLog

* fixed issue with core failing tests.

* changed changeLog to rerun tests

* improvement based on feedback

* Update packages/utils/test/schema/getDefaultFormStateTest.ts

Adding default that should not be used

* Update packages/utils/test/schema/getDefaultFormStateTest.ts

Fix linter

---------

Co-authored-by: Abdallah Al-Soqatri <[email protected]>
Co-authored-by: Heath C <[email protected]>

* Fix: made small changes to utility functions to fix #3997, #4314 and #4322 (#4329)

* Fix: made small changes to utility functions to fix #3997 and #4322
Fixes #3997 and #4322
- In `@rjsf/utils`, made the following changes:
  - Updated `mergeDefaultsWithFormData()` to not overwrite a default when the formData has an undefined value
  - Updated `getClosestMatchingOption()` to improve the scoring function so that an object container that matches a key gets an extra point
- In `@rjsf/core`, updated `MultiSchemaField` to call `onChange` after setting the new option in state rather than before
- Updated the `CHANGELOG.md` accordingly

* - In order to avoid regressions, added a new `mergeDefaultsWithFormData` prop to the `Experimental_DefaultFormStateBehavior`
- Updated `mergeDefaultsWithFormData()` to add new optional `defaultSupercedesUndefined` that when true uses the defaults rather than `undefined` formData
- Updated `getDefaultFormState()` to pass true to `mergeDefaultsWithFormData` for `defaultSupercedesUndefined` when `mergeDefaultsIntoFormData` has the value `useDefaultIfFormDataUndefined`
- Updated the documentation for the new capabilities
- Updated the playground to add controls for the new `mergeDefaultsIntoFormData` option
  - moved the `Show Error List` component over one column, making it inline radio buttons rather than a select

* - Improved documentation a teeny bit

* - More doc improvements

* - Responded to reviewer feedback

* - Fixed broken links

* - Added section header for wrapping BaseInputTemplate

* - Updated CHANGELOG.md

* v5.22.0 (#4341)

* Release 5.22.1 (#4342)

* Release 5.22.1 with bumped peer deps

* v5.22.1

* Bug: Validation regression Form not revalidating after formData change (#4343) (#4345)

* fixed regression

* Updating changelog

* improvement based on feedback

---------

Co-authored-by: Abdallah Al-Soqatri <[email protected]>

* fix: Validation error messages are inconsistent #4348 (#4349)

* fix: replace message field with title or ui:title correctly

* fix: add new changelog section & add description

* chore: removed extra empty line

---------

Co-authored-by: Heath C <[email protected]>

* fix: multiple file upload issue (#4347)

* fix: multiple file upload issue

Resolved a bug where only the first file was uploaded when multiple files were selected. Now, all selected files are uploaded as expected.

* feature: Added test to check the expected behaviour

* Fix: Move entry of changelog to version 5.22.2

---------

Co-authored-by: Heath C <[email protected]>

* v5.22.2 (#4353)

* Bug: Deep nested dependencies issue with assigning values to formData (#4356)

* Fix deep nested dependencies issue with formData

* update changelog

---------

Co-authored-by: Abdallah Al-Soqatri <[email protected]>

* v5.22.3 (#4358)

* chore(deps): bump crazy-max/ghaction-github-pages from 4.0.0 to 4.1.0

Bumps [crazy-max/ghaction-github-pages](https://github.com/crazy-max/ghaction-github-pages) from 4.0.0 to 4.1.0.
- [Release notes](https://github.com/crazy-max/ghaction-github-pages/releases)
- [Commits](https://github.com/crazy-max/ghaction-github-pages/compare/v4.0.0...v4.1.0)

---
updated-dependencies:
- dependency-name: crazy-max/ghaction-github-pages
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <[email protected]>

* Bug: Issue 'Maximum call stack size exceeded' with playground share. (#4370)

* Fix issue 'Maximum call stack size exceeded' with playground share with large content.

* update changelog

---------

Co-authored-by: Abdallah Al-Soqatri <[email protected]>

* Bug: Issue with array schema defaults not applying properly when formData is an empty array (#4359)

* Fixed issue with array schema defaults not applying properly when formData is an empty array.

* improvement based on feedback

* fixed docs error

---------

Co-authored-by: Abdallah Al-Soqatri <[email protected]>
Co-authored-by: Heath C <[email protected]>

* v5.22.4 (#4373)

* Adding feature to support const as default bug fix seeming like a regression (#4381)

Fixes #4344, #4361 and #4377
- In `@rjsf/utils`:
  - Updated the `Experimental_DefaultFormStateBehavior` type to add new optional `constAsDefaults` prop with three choices
  - Updated `getDefaultFormState()` to respond to the new `constAsDefaults` feature to limit `const` as defaults based on the `never` or `skipOneOf` choices
  - Added tests for `getDefaultFormState()` to verify the new feature
- In `@rjsf/core`:
  - Updated `SchemaField` to remove making the field readonly when const
- In `playground`:
  - Updated `Header` to add support for `constAsDefaults`
- Updated the `CHANGELOG.md` accordingly

* experimental_customMergeAllOf v2 (#4383)

* Pass experimental_customMergeAllOf to missing code branches

* Add experimental_customMergeAllOf parameter to documentation, fix link with anchor

* Changelog

---------

Co-authored-by: Marek Bodinger <[email protected]>

* Fixed issue where error messages do not have title or ui:title if a Localizer function is used. Fixes #4387. (#4391)

* fix: Update schema builder add/set actions to have unique errors (#4386)

* fix: update schema builder add/set actions to have unique errors

* docs: add fix description to changelog

---------

Co-authored-by: Heath C <[email protected]>

* v5.23.0 (#4392)

* Chakra-UI must be <3.0.0

fixes #4390

* Fix 4382 by passing errorSchema and id through in NumberField's onChange (#4395)

Fixes #4382

- Updated `NumberField`'s `handleChange` callback to pass through the `errorSchema` and `id`
- Updated the peerDependencies for the packages to be `5.23.x`
- Updated `CHANGELOG.md` accordingly

* v5.23.1 (#4396)

* Use default values when switching anyOf option (#4375)

* Use default values when switching anyOf option

* review

* Update changelog

* review: add oneOf test

* Move changelog entry to 5.23.1

* Update CHANGELOG.md

Fixed up release

---------

Co-authored-by: Heath C <[email protected]>

* Fix issue where ui:title in anyOf/oneOf is not shown in error messages (#4398)

* Fixed issue where ui:title in anyOf/oneOf is not shown in error messages. Fixes #4368.

* Use replace() instead of replaceAll() to support Node v14.

* fix: Short-circuit File and Date constructor access in isObject (#4413)

* fix: short-circuit File and Date constructor access in isObject if thing is missing required property

* chore: update changelog with isObject short-circuiting fix

---------

Co-authored-by: Jonathan Sun <[email protected]>

* v5.23.2

* Bug: issue with assigning values to deeply nested required properties (#4425)

* Fixed issue with assigning values to deeply nested required properties

* Update CHANGELOG.md

---------

Co-authored-by: Heath C <[email protected]>

* Bug: Issue with formData not updating when dependencies change (#4388)

* Fixing issue with formData value not changing when dependencies are updated.

* refactoring tests and added test to test non-valid formData

* update changeLog

* added test for getValidFormData method

* fixed failing issue because of type change

* changes based on feedback

* changes based on feedback

* fixed test coverage

* Override the formData with the const if the constAsDefaults is set to always

* Fixed issue with validator-ajv6 ignoring oneOf in dependencies because it thinks there isn't exactly one subschema that is valid.

* improvement based on feedback

* Fixed failing tests

* removed unnecessary code

* improvement based on feedback.

---------

Co-authored-by: Heath C <[email protected]>

* Bug: schema with conditions where switching to then/else subschemas did not reflect the actual validation errors in the onChange event. (#4432)

* Fixed issue with schema if/then/else conditions where switching to then/else subschemas did not reflect the actual validation errors in the onChange event.

* improvement based on feedback

---------

Co-authored-by: Heath C <[email protected]>

* Bug:  AJV $data reference in const property in schema treated as default/const value. (#4431)

* Validator to support AJV $data reference and saving validator state in ShareURL.

* Fix for AJV $data reference in const property in schema treated as default/const value.

* written a test for consIsAjvDataReference.

* Update CHANGELOG.md

Moving the change to the end of the existing list

---------

Co-authored-by: Heath C <[email protected]>

* fix: formData change clear errorMessage (#4429)

* fix: formData change clear errorMessage

fix: merge errorSchema

fix: merge errorSchema

* test: add tests for getChangedFields and update CHANGELOG

* fix: core test and error message when formData is a string
not cleared

* feat: modify CHANGELOG

---------

Co-authored-by: Heath C <[email protected]>

* Partially fixed dependency error messages (#4417)

* Partially fixed issue where dependency errors do not show title or ui:title. This fix only applicable if we use an ajv-i18n localizer. Ref. #4402.

* Add comments.

* Update packages/validator-ajv8/src/processRawValidationErrors.ts

---------

Co-authored-by: Heath C <[email protected]>

* feat: switch `lodash.isEqual` to `fast-equals.deepEqual` to improve performance (#4438)

* switch lodash.isEqual to fast-equals.deepEqual to improve performance

* Revert "switch lodash.isEqual to fast-equals.deepEqual to improve performance"

This reverts commit 86570fe6cc49899ef8828667c5b05cdbcc3bc8f7.

* use precompiledValidator @rjsf/utils.deepEquals

* switch lodash.isEqual to @rjsf/utils.deepEquals at utils package

* fix changelog and remove unnecessary comment

* v5.24.0 (#4443)

* Release 5.24.1 (#4445)

* Bump peer dependencies due to new API in utils

* v5.24.1

* - Updated `CHANGELOG.md` to indicate the bumping of peer dependencies

* - Fixed the peer deps version

* - Added documentation for `getChangedFields()`

* Update packages/docs/docs/api-reference/utility-functions.md

* Switch lodash.isEqualWith to fast-equals (#4446)

* Fixed file accept attribute not working on mui and chakra-ui. (#4457)

* Update validation.md (#4458)

schema is not a variable here, and yourSchema is unused. I believe the form input here should be schema={yourSchema}

Co-authored-by: Heath C <[email protected]>

* Bug : Fields inside an array can't be set to empty when default is set. (#4461)

* Fixed issue with fields inside an array can't be set to empty when a default is set

* Update packages/utils/src/mergeDefaultsWithFormData.ts

- Reviewer feedback

* Update packages/utils/src/mergeDefaultsWithFormData.ts

- Fix linting

---------

Co-authored-by: Heath C <[email protected]>

* Refactor: remove unnecessary indirectness in get default form state test (#4462)

* refactor `getDefaultFormState` tests

* refactor `computeDefaults` tests

* refactor `getDefaultBasedOnSchemaType` tests

* refactor `getObjectDefaults` tests

* refactor `getArrayDefaults` tests

* replace original `getDefaultFormStateTest` test with refactored

* clarify expected value for array test

* remove unused type

---------

Co-authored-by: Heath C <[email protected]>

* Bug: The oneOf selector can be modified in readonly mode (#4463)

* Fixed issue with oneOf selector can be modified in readonly mode

* update based on feedback

* v5.24.2 (#4468)

* Validator should not refresh on clicking a Selector in playground (#4472)

* Validator should not refresh on clicking a Selector in playground

* Updated change log

* Update CHANGELOG.md

---------

Co-authored-by: Heath C <[email protected]>

* Revert #4446 due to regression (#4478)

Fixed #4475 by rolling back #4446
- In `@rjsf/utils` rolled back the changes made by #4446
- Updated the `CHANGELOG.md` accordingly

* v5.24.3 (#4480)

* - Drop node 14, 16 and 18 support, adding 20 and 22

* - More `ci` clean for builds

* - Make code-ql work for rjsf-v6 branch

* - Fixed build by using correct version of MUI as well as removing MUI 5 support

* - Updated node engine >= 20

* - Fix package-lock.json

---------

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: Jonasz Wiącek <[email protected]>
Co-authored-by: Bogdan Savluk <[email protected]>
Co-authored-by: Christian Wendt <[email protected]>
Co-authored-by: Ben Lambert <[email protected]>
Co-authored-by: David R. Bild <[email protected]>
Co-authored-by: Ariqun <[email protected]>
Co-authored-by: Shivam Anand Murmu <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Shubham Biswas <[email protected]>
Co-authored-by: popmanhe <[email protected]>
Co-authored-by: Yuki Aoki <[email protected]>
Co-authored-by: Xiangcheng Kuo <[email protected]>
Co-authored-by: Bart van Andel <[email protected]>
Co-authored-by: Laurent Direr <[email protected]>
Co-authored-by: Vegard Stenvik <[email protected]>
Co-authored-by: Nick Grosenbacher <[email protected]>
Co-authored-by: Appie <[email protected]>
Co-authored-by: Abdallah Al-Soqatri <[email protected]>
Co-authored-by: Oren Forer <[email protected]>
Co-authored-by: Marcus Penn <[email protected]>
Co-authored-by: Kevin Burnett <[email protected]>
Co-authored-by: joachimhagheim <[email protected]>
Co-authored-by: MarekBodingerBA <[email protected]>
Co-authored-by: Marek Bodinger <[email protected]>
Co-authored-by: momesana <[email protected]>
Co-authored-by: Mehdi Salem <[email protected]>
Co-authored-by: Martti Roitto <[email protected]>
Co-authored-by: Serge van den Oever <[email protected]>
Co-authored-by: Enzo Ferey <[email protected]>
Co-authored-by: Skyf0l <[email protected]>
Co-authored-by: Jaejoon Han <[email protected]>
Co-authored-by: とまとみ <[email protected]>
Co-authored-by: Daniel Todd <[email protected]>
Co-authored-by: Dmitry Dzhus <[email protected]>
Co-authored-by: Alexander Kachkaev <[email protected]>
Co-authored-by: shaddollxz <[email protected]>
Co-authored-by: Changyu Geng <[email protected]>
Co-authored-by: Helen Lin <[email protected]>
Co-authored-by: solimant <[email protected]>
Co-authored-by: David Li <[email protected]>
Co-authored-by: Abdallah Al-Soqatri <[email protected]>
Co-authored-by: Igor Brasileiro <[email protected]>
Co-authored-by: Jonathan Roebuck <[email protected]>
Co-authored-by: Tomasz Durka <[email protected]>
Co-authored-by: Sergey Alimov <[email protected]>
Co-authored-by: Kylie Marshall <[email protected]>
Co-authored-by: Dmitry Khomichenko <[email protected]>
Co-authored-by: Dmitry Khomichenko <[email protected]>
Co-authored-by: Salvatore Testa <[email protected]>
Co-authored-by: Guilherme Castro <[email protected]>
Co-authored-by: BorjaDV <[email protected]>
Co-authored-by: Yasunobu Chiba <[email protected]>
Co-authored-by: Quentin Sommer <[email protected]>
Co-authored-by: Jonathan Sun <[email protected]>
Co-authored-by: Jonathan Sun <[email protected]>
Co-authored-by: 邵瑾瑜 <[email protected]>
Co-authored-by: Petar Gligic <[email protected]>
Co-authored-by: Roman Krasilnikov <[email protected]>
Co-authored-by: deepeshmi26 <[email protected]>
  • Loading branch information
Show file tree
Hide file tree
Showing 88 changed files with 10,110 additions and 7,678 deletions.
13 changes: 4 additions & 9 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ jobs:
runs-on: ubuntu-latest
strategy:
matrix:
node-version: [14.x, 16.x, 18.x]
node-version: [20.x, 22.x]

steps:
- uses: actions/checkout@v4
Expand All @@ -21,42 +21,37 @@ jobs:
node-version: ${{ matrix.node-version }}
cache: 'npm'
cache-dependency-path: 'package-lock.json'
- run: npm i -g npm@9
- run: npm ci
- run: npm run lint

- name: Build with Netlify badge
if: github.ref != 'refs/heads/main' && matrix.node-version != '14.x'
run: npm run build
env:
VITE_SHOW_NETLIFY_BADGE: true
NODE_OPTIONS: --max_old_space_size=4096

- name: Build
if: github.ref == 'refs/heads/main' && matrix.node-version != '14.x'
run: npm run build
env:
NODE_OPTIONS: --max_old_space_size=4096

# Docusaurus doesn't support Node 14. These tasks can be removed once Node 14 is EOL (May 2023)
- name: Build with Netlify badge (no docs)
if: github.ref != 'refs/heads/main' && matrix.node-version == '14.x'
run: npx nx run-many --target=build --exclude=@rjsf/docs
env:
VITE_SHOW_NETLIFY_BADGE: true
NODE_OPTIONS: --max_old_space_size=4096
- name: Build (no docs)
if: github.ref == 'refs/heads/main' && matrix.node-version == '14.x'
run: npx nx run-many --target=build --exclude=@rjsf/docs
env:
NODE_OPTIONS: --max_old_space_size=4096

- if: matrix.node-version == '18.x'
- if: matrix.node-version == '22.x'
uses: actions/upload-artifact@v4
with:
name: playground
path: packages/playground/dist
- if: matrix.node-version == '18.x'
- if: matrix.node-version == '22.x'
uses: actions/upload-artifact@v4
with:
name: docs
Expand All @@ -79,7 +74,7 @@ jobs:
name: docs
path: dist/docs
- name: Deploy playground + docs to GitHub Pages
uses: crazy-max/ghaction-github-pages@v4.0.0
uses: crazy-max/ghaction-github-pages@v4.1.0
with:
keep_history: true
target_branch: gh-pages
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/codeql.yml
Original file line number Diff line number Diff line change
Expand Up @@ -13,9 +13,9 @@ name: "CodeQL"

on:
push:
branches: [ "main" ]
branches: [ "main", "rjsf-v6" ]
pull_request:
branches: [ "main" ]
branches: [ "main", "rjsf-v6" ]
schedule:
- cron: '19 2 * * 1'

Expand Down
221 changes: 214 additions & 7 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,213 @@ it according to semantic versioning. For example, if your PR adds a breaking cha
should change the heading of the (upcoming) version to include a major version bump.
-->
# 5.24.3

## @rjsf/utils

- Rollback [4446](https://github.com/rjsf-team/react-jsonschema-form/pull/4446) due to regression

## Dev / docs / playground
- Fixed issue with selector, where validator was getting refreshed on clicking on anything in selector. [#4472](https://github.com/rjsf-team/react-jsonschema-form/pull/4472)

# 5.24.2

## @rjsf/utils

- switch `lodash.isEqualWith` to `fast-equals.createCustomEqual` providing `areFunctionsEqual` assuming any functions are equal.
- Fixed issue with oneOf selector can be modified in readonly mode, fixing [#4460](https://github.com/rjsf-team/react-jsonschema-form/issues/4460)
- Fixed issue with fields inside an array can't be set to empty when a default is set, fixing [#4456](https://github.com/rjsf-team/react-jsonschema-form/issues/4456)
- Fixed issue with file accept attribute, fixing [#4404](https://github.com/rjsf-team/react-jsonschema-form/issues/4404).

## @rjsf/mui

- Fixed issue with file accept attribute, fixing [#4404](https://github.com/rjsf-team/react-jsonschema-form/issues/4404).

# 5.24.1

## @rjsf/utils

- Fixed documentation for `getChangedFields()`

## Dev / docs / playground

- Updated the peer dependencies for `@rjsf/*` to be `5.24.x`
- Added documentation for `getChangedFields()`

# 5.24.0

## @rjsf/core

- Fixed issue with schema if/then/else conditions where switching to then/else subschemas did not reflect the actual validation errors in the onChange event, fixing [#4249](https://github.com/rjsf-team/react-jsonschema-form/issues/4249) and improving performance.
- Fixed issue error message will not be cleared after the controlled Form formData is changed. Fixes [#4426](https://github.com/rjsf-team/react-jsonschema-form/issues/4426)

## @rjsf/utils

- Fixed issue with formData not updating when dependencies change, fixing [#4325](https://github.com/rjsf-team/react-jsonschema-form/issues/4325)
- Fixed issue with assigning default values to formData with deeply nested required properties, fixing [#4399](https://github.com/rjsf-team/react-jsonschema-form/issues/4399)
- Fixed issue error message will not be cleared after the controlled Form formData is changed. Fixes [#4426](https://github.com/rjsf-team/react-jsonschema-form/issues/4426)
- Fix for AJV [$data](https://ajv.js.org/guide/combining-schemas.html#data-reference) reference in const property in schema treated as default/const value. The issue is mentioned in [#4361](https://github.com/rjsf-team/react-jsonschema-form/issues/4361).
- Switched uses of `lodash.isEqual()` to `@rjsf/utils.deepEquals`.

## @rjsf/validator-ajv8

- Partially fixed issue where dependency errors do not show `title` or `ui:title`. This fix only applicable if we use an ajv-i18n localizer. Ref. [#4402](https://github.com/rjsf-team/react-jsonschema-form/issues/4402).
- Switched uses of `lodash.isEqual()` to `@rjsf/utils.deepEquals` at precompiledValidator.

# 5.23.2

## @rjsf/core

- Fix default value population when switching between options in `MultiSchemaField` [#4375](https://github.com/rjsf-team/react-jsonschema-form/pull/4375). Fixes [#4367](https://github.com/rjsf-team/react-jsonschema-form/issues/4367)

## @rjsf/utils

- Short-circuit `File` and `Date` constructor access in isObject to optimize performance in scenarios where `globalThis` is a `Proxy` that incurs overhead for each class constructor access ([#4413](https://github.com/rjsf-team/react-jsonschema-form/pull/4413)). Fixes [#4409](https://github.com/rjsf-team/react-jsonschema-form/issues/4409)

## @rjsf/validator-ajv8

- Fixed issue where `ui:title` in anyOf/oneOf is not shown in error messages. Fixes [#4368](https://github.com/rjsf-team/react-jsonschema-form/issues/4368)

# 5.23.1

## @rjsf/chakra-ui

- Updated `package.json` to restrict `@chakra-ui/react`'s peer dependency to be < 3.0.0, fixing [#4390](https://github.com/rjsf-team/react-jsonschema-form/issues/4390)

## @rjsf/core

- Updated `NumberField` to properly pass through the `errorSchema` and `id` in the onChange handler, fixing [#4382](https://github.com/rjsf-team/react-jsonschema-form/issues/4382)

## Dev / docs / playground

- Updated the peer dependencies for `@rjsf/*` to be `5.23.x`

# 5.23.0

## @rjsf/core

- Updated `SchemaField` to no longer make schema fields with const read-only by default, partially fixing [#4344](https://github.com/rjsf-team/react-jsonschema-form/issues/4344)

## @rjsf/utils

- Updated `Experimental_DefaultFormStateBehavior` to add a new `constAsDefaults` option
- Updated `getDefaultFormState()` to use the new `constAsDefaults` option to control how const is used for defaulting, fixing [#4344](https://github.com/rjsf-team/react-jsonschema-form/issues/4344), [#4361](https://github.com/rjsf-team/react-jsonschema-form/issues/4361) and [#4377](https://github.com/rjsf-team/react-jsonschema-form/issues/4377)
- Use `experimental_customMergeAllOf` option in functions that have previously missed it.
- Updated `ErrorSchemaBuilder` methods `addErrors` and `setErrors` to prevent duplicate error messages.

## @rjsf/validator-ajv8

- Fixed issue where error messages do not have `title` or `ui:title` if a `Localizer` function is used. Fixes [#4387](https://github.com/rjsf-team/react-jsonschema-form/issues/4387)

## Dev / docs / playground

- Updated the playground to add a selector for the `constAsDefaults` option

# 5.22.4

## @rjsf/utils

- Fixed issue with array schema defaults not applying properly when formData is an empty array, fixing [#4335](https://github.com/rjsf-team/react-jsonschema-form/issues/4335).

## Dev / docs / playground

- Fix issue 'Maximum call stack size exceeded' with playground share with large content.

# 5.22.3

## @rjsf/utils

- Fixed deep nested dependencies issue with assigning values to formData, fixing [#4334](https://github.com/rjsf-team/react-jsonschema-form/issues/4334)

# 5.22.2

## @rjsf/core

- Fix an issue where only the first file was uploaded when users selected multiple files for upload.
- Fixed validation regression Form not revalidating after formData change, fixing [#4343](https://github.com/rjsf-team/react-jsonschema-form/issues/4343)

## @rjsf/validator-ajv8

- Fixed `AJV8Validator#transformRJSFValidationErrors` to replace the error message field with either the `uiSchema`'s `ui:title` field if one exists or the `parentSchema` title if one exists. Fixes [#4348](https://github.com/rjsf-team/react-jsonschema-form/issues/4348)

# 5.22.1

## Dev / docs / playground

- Bumped peer dependencies to 5.22.x due to updated type definition and API changes in @rjsf/utils

# 5.22.0

## @rjsf/core

- Updated `MultiSchemaField` to call the `onChange` handler after setting the new option, fixing [#3997](https://github.com/rjsf-team/react-jsonschema-form/issues/3977) and [#4314](https://github.com/rjsf-team/react-jsonschema-form/issues/4314)

## @rjsf/utils

- Added `experimental_customMergeAllOf` option to `retrieveSchema()` and `getDefaultFormState()` to allow custom merging of `allOf` schemas
- Made fields with const property pre-filled and readonly, fixing [#2600](https://github.com/rjsf-team/react-jsonschema-form/issues/2600)
- Added `mergeDefaultsIntoFormData` option to `Experimental_DefaultFormStateBehavior` type to control how to handle merging of defaults
- Updated `mergeDefaultsWithFormData()` to add new optional `defaultSupercedesUndefined` that when true uses the defaults rather than `undefined` formData, fixing [#4322](https://github.com/rjsf-team/react-jsonschema-form/issues/4322)
- Updated `getDefaultFormState()` to pass true to `mergeDefaultsWithFormData` for `defaultSupercedesUndefined` when `mergeDefaultsIntoFormData` has the value `useDefaultIfFormDataUndefined`, fixing [#4322](https://github.com/rjsf-team/react-jsonschema-form/issues/4322)
- Updated `getClosestMatchingOption()` to improve the scoring of sub-property objects that are provided over ones that aren't, fixing [#3997](https://github.com/rjsf-team/react-jsonschema-form/issues/3977) and [#4314](https://github.com/rjsf-team/react-jsonschema-form/issues/4314)

## Dev / docs / playground

- Updated the `form-props.md` to add documentation for the new `experimental_customMergeAllOf` props and the `experimental_defaultFormStateBehavior.mergeDefaultsIntoFormData` option
- Updated the `utility-functions.md` to add documentation for the new optional `defaultSupercedesUndefined` parameter and the two missing optional fields on `getDefaultFormState()`
- Updated the `custom-templates.md` to add a section header for wrapping `BaseInputTemplate`
- Updated the playground to add controls for the new `mergeDefaultsIntoFormData` option
- In the process, moved the `Show Error List` component over one column, making it inline radio buttons rather than a select

# 5.21.2

## @rjsf/core

- Updated `SchemaField` to pass `required` flag to `_AnyOfField`/`_OneOfField`
- Updated `Form` to deal with null objects in `filterErrorsBasedOnSchema()`, fixing [#4306](https://github.com/rjsf-team/react-jsonschema-form/issues/4306)

## @rjsf/utils

- Updated `ErrorSchemaBuilder` to support adding, updating, and removing paths that are numbers, fixing [#4297](https://github.com/rjsf-team/react-jsonschema-form/issues/4297)
- Updated `retrieveSchema` to not merge `contains` properties in `allOf` schema lists, fixing [#2923](https://github.com/rjsf-team/react-jsonschema-form/issues/2923#issuecomment-1946034240)

## Dev / docs / playground

- Updated the `custom-widgets-fields.md` to add examples of wrapping a widget/field

# 5.21.1

## @rjsf/utils

- Revert of updating `deepEquals()` from [#4292]

## @validator-ajv8

- Revert of using `deepEquals()` instead of `lodash.isEqual()` from [#4292]

# 5.21.0

## @rjsf/core

- Updated `Form` to fix `focusOnError()` to support the ids that include dots, fixing [#4279](https://github.com/rjsf-team/react-jsonschema-form/issues/4279)

## @rjsf/mui

- Updated the peer dependencies for `@mui/material` and `@mui/icon-material`, fixing [4283](https://github.com/rjsf-team/react-jsonschema-form/issues/4283)

## @rjsf/utils

- Fixes an issue with dependencies computeDefaults to ensure we can get the dependencies defaults [#4271](https://github.com/rjsf-team/react-jsonschema-form/issues/4271)
- Updated `deepEquals()` to use `fast-equals.createCustomEqual()` instead of `lodash.isEqualWith()`, fixing [#4291](https://github.com/rjsf-team/react-jsonschema-form/issues/4291)
- Switched uses of `lodash.isEqual()` to `deepEquals()` in many of the utility functions as well

## @validator-ajv8

- Use `@rjsf/utils` `deepEquals()` instead of `lodash.isEqual()` to improve performance, fixing [#4291](https://github.com/rjsf-team/react-jsonschema-form/issues/4291)

## Dev / docs / playground

- Updated the playground to use `@mui/*` version 6, changing the name of the dropdown from `material-ui-5` to `mui`

# 5.20.1

Expand All @@ -24,25 +231,25 @@ should change the heading of the (upcoming) version to include a major version b

# 5.20.0

## @rjsf/core
## @rjsf/core

- Support allowing raising errors from within a custom Widget [#2718](https://github.com/rjsf-team/react-jsonschema-form/issues/2718)
- Updated `ArrayField`, `BooleanField` and `StringField` to call `optionsList()` with the additional `UiSchema` parameter, fixing [#4215](https://github.com/rjsf-team/react-jsonschema-form/issues/4215) and [#4260](https://github.com/rjsf-team/react-jsonschema-form/issues/4260)
- Updated `ArrayField`, `BooleanField` and `StringField` to call `optionsList()` with the additional `UiSchema` parameter, fixing [#4215](https://github.com/rjsf-team/react-jsonschema-form/issues/4215) and [#4260](https://github.com/rjsf-team/react-jsonschema-form/issues/4260)

## @rjsf/utils

- Updated the `WidgetProps` type to add `es?: ErrorSchema<T>, id?: string` to the params of the `onChange` handler function
- Updated `UIOptionsBaseType` to add the new `enumNames` prop to support an alternate way to provide labels for `enum`s in a schema, fixing [#4215](https://github.com/rjsf-team/react-jsonschema-form/issues/4215)
- Updated `optionsList()` to take an optional `uiSchema` that is used to extract alternate labels for `enum`s or `oneOf`/`anyOf` in a schema, fixing [#4215](https://github.com/rjsf-team/react-jsonschema-form/issues/4215) and [#4260](https://github.com/rjsf-team/react-jsonschema-form/issues/4260)
- Updated `optionsList()` to take an optional `uiSchema` that is used to extract alternate labels for `enum`s or `oneOf`/`anyOf` in a schema, fixing [#4215](https://github.com/rjsf-team/react-jsonschema-form/issues/4215) and [#4260](https://github.com/rjsf-team/react-jsonschema-form/issues/4260)
- NOTE: The generics for `optionsList()` were expanded from `<S extends StrictRJSFSchema = RJSFSchema>` to `<S extends StrictRJSFSchema = RJSFSchema, T = any, F extends FormContextType = any>` to support the `UiSchema`.

## Dev / docs / playground

- Update the `custom-widget-fields.md` to add documentation for how to raise errors from a custom widget or field
- Update the `custom-widget-fields.md` to add documentation for how to raise errors from a custom widget or field

# 5.19.4

## @rjsf/core
## @rjsf/core

- Fix XSS when rendering schema validation errors [#4254](https://github.com/rjsf-team/react-jsonschema-form/issues/2718)
- NOTE: This will have potential consequences if you are using the [translateString](https://rjsf-team.github.io/react-jsonschema-form/docs/api-reference/form-props/#translatestring) feature and are trying to render HTML. Switching to [Markdown](https://www.markdownguide.org/) will solve your problems.
Expand All @@ -59,7 +266,7 @@ should change the heading of the (upcoming) version to include a major version b

## Dev / docs / playground

- Updated the `Validator` dropdown to add `AJV8 (discriminator)` which sets the AJV validator [discriminator](https://ajv.js.org/json-schema.html#discriminator) option to `true` to support testing schemas with that option in them
- Updated the `Validator` dropdown to add `AJV8 (discriminator)` which sets the AJV validator [discriminator](https://ajv.js.org/json-schema.html#discriminator) option to `true` to support testing schemas with that option in them

# 5.19.3

Expand Down Expand Up @@ -1944,7 +2151,7 @@ const Component = () => {

## @rjsf/validator-ajv8

- Support for localization (L12n) on a customized validator using a `Localizer` function passed as a second parameter to `customizeValidator()`, fixing (https://github.com/rjsf-team/react-jsonschema-form/pull/846, and https://github.com/rjsf-team/react-jsonschema-form/issues/1195)
- Support for localization (L10n) on a customized validator using a `Localizer` function passed as a second parameter to `customizeValidator()`, fixing (https://github.com/rjsf-team/react-jsonschema-form/pull/846, and https://github.com/rjsf-team/react-jsonschema-form/issues/1195)
- Fixed the `README.md` to correct the package name in several places to match the actual package

## Dev / docs / playground
Expand Down
Loading

0 comments on commit 21fdaa6

Please sign in to comment.