Skip to content

Releasing 6.0.0 beta.1 #4595

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 3 commits into from
May 2, 2025
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
317 changes: 266 additions & 51 deletions package-lock.json

Large diffs are not rendered by default.

3 changes: 2 additions & 1 deletion package.json
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,8 @@
"refresh-node-modules": "rimraf packages/*/node_modules && rimraf node_modules && npm install",
"commit-package-changes": "git add package-lock.json packages/*/package*.json && cross-env CI=skipPrecommit git commit -m 'updated package*.json after versioning' && git push",
"post-versioning": "echo 'This will take a while...' && npm run bump-peer-deps && npm run refresh-node-modules && npm run commit-package-changes && npm run update-version-tags",
"update-version-tags": "git tag -f $(node scripts/get-version-tag.js) && git push -f origin $(node scripts/get-version-tag.js)"
"update-version-tags": "git tag -f $(node scripts/get-version-tag.js) && git push -f origin $(node scripts/get-version-tag.js)",
"nuke-build-env": "rimraf .nx && rimraf package-lock.json"
},
"license": "Apache-2.0",
"homepage": "https://github.com/rjsf-team/react-jsonschema-form",
Expand Down
10 changes: 5 additions & 5 deletions packages/antd/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@rjsf/antd",
"version": "6.0.0-alpha.0",
"version": "6.0.0-beta.1",
"description": "Ant Design theme, fields and widgets for react-jsonschema-form",
"main": "dist/index.js",
"module": "lib/index.js",
Expand Down Expand Up @@ -77,10 +77,10 @@
},
"devDependencies": {
"@ant-design/icons": "^6.0.0",
"@rjsf/core": "^6.0.0-alpha.0",
"@rjsf/snapshot-tests": "^6.0.0-alpha.0",
"@rjsf/utils": "^6.0.0-alpha.0",
"@rjsf/validator-ajv8": "^6.0.0-alpha.0",
"@rjsf/core": "^6.0.0-beta.1",
"@rjsf/snapshot-tests": "^6.0.0-beta.1",
"@rjsf/utils": "^6.0.0-beta.1",
"@rjsf/validator-ajv8": "^6.0.0-beta.1",
"@rollup/plugin-replace": "^6.0.2",
"antd": "^5.24.9",
"atob": "^2.1.2",
Expand Down
10 changes: 5 additions & 5 deletions packages/chakra-ui/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@rjsf/chakra-ui",
"version": "6.0.0-alpha.0",
"version": "6.0.0-beta.1",
"description": "Chakra UI theme, fields, and widgets for react-jsonschema-form",
"main": "dist/index.js",
"module": "lib/index.js",
Expand Down Expand Up @@ -87,10 +87,10 @@
"@emotion/jest": "^11.13.0",
"@emotion/react": "^11.14.0",
"@emotion/styled": "^11.14.0",
"@rjsf/core": "^6.0.0-alpha.0",
"@rjsf/snapshot-tests": "^6.0.0-alpha.0",
"@rjsf/utils": "^6.0.0-alpha.0",
"@rjsf/validator-ajv8": "^6.0.0-alpha.0",
"@rjsf/core": "^6.0.0-beta.1",
"@rjsf/snapshot-tests": "^6.0.0-beta.1",
"@rjsf/utils": "^6.0.0-beta.1",
"@rjsf/validator-ajv8": "^6.0.0-beta.1",
"chakra-react-select": "6.1.0",
"eslint": "^8.56.0",
"lucide-react": "^0.488.0"
Expand Down
8 changes: 4 additions & 4 deletions packages/core/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@rjsf/core",
"version": "6.0.0-alpha.0",
"version": "6.0.0-beta.1",
"description": "A simple React component capable of building HTML forms out of a JSON schema.",
"scripts": {
"compileReplacer": "tsc -p tsconfig.replacer.json && move-file lodashReplacer.js lodashReplacer.cjs",
Expand Down Expand Up @@ -77,9 +77,9 @@
"prop-types": "^15.8.1"
},
"devDependencies": {
"@rjsf/snapshot-tests": "^6.0.0-alpha.0",
"@rjsf/utils": "^6.0.0-alpha.0",
"@rjsf/validator-ajv8": "^6.0.0-alpha.0",
"@rjsf/snapshot-tests": "^6.0.0-beta.1",
"@rjsf/utils": "^6.0.0-beta.1",
"@rjsf/validator-ajv8": "^6.0.0-beta.1",
"@testing-library/jest-dom": "^6.6.3",
"@testing-library/react": "^16.2.0",
"@testing-library/user-event": "^14.6.1",
Expand Down
10 changes: 5 additions & 5 deletions packages/daisyui/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@rjsf/daisyui",
"version": "6.0.0",
"version": "6.0.0-beta.1",
"description": "Daisy UI components for react-jsonschema-form",
"main": "dist/index.js",
"module": "lib/index.js",
Expand Down Expand Up @@ -76,10 +76,10 @@
"react": ">=18"
},
"devDependencies": {
"@rjsf/core": "^6.0.0-alpha.0",
"@rjsf/snapshot-tests": "^6.0.0-alpha.0",
"@rjsf/utils": "^6.0.0-alpha.0",
"@rjsf/validator-ajv8": "^6.0.0-alpha.0",
"@rjsf/core": "^6.0.0-beta.1",
"@rjsf/snapshot-tests": "^6.0.0-beta.1",
"@rjsf/utils": "^6.0.0-beta.1",
"@rjsf/validator-ajv8": "^6.0.0-beta.1",
"@testing-library/jest-dom": "^6.1.3",
"@testing-library/react": "^14.0.0"
},
Expand Down
50 changes: 39 additions & 11 deletions packages/docs/docs/contributing.md
Original file line number Diff line number Diff line change
Expand Up @@ -29,6 +29,22 @@ If that is the situation for you, you can instead use `npm run build-serial` to
Also, if you are only working on one package, you can `npm run build` and `npm run test` from within the subdirectory.
Finally, you can simply `npm start` inside of the `playground` directory to test changes if you have already built all of your packages, without needing to watch all of the packages via the root directory `npm start`.

### Troubleshooting build failures

Sometimes your local builds fail and you can't figure out why. This is most likely to happen after rebase to `main` due
to `package.json` changes upstream. There are two commands you can use to (hopefully) get your environment back to a
working state. Try running the following two commands:

```bash
npm run refresh-node-modules
npm run clean-build
```

The first command will delete all of the `node_modules` directories in the environment and then rerun `npm install`.
The second command cleans up the typescript build cache files before retrying the build.

Worst case scenario when neither of those commands work, try running `npm run nuke-build-env` and then rerun the two commands.

## Cloud builds

When building in environments with limited memory, such as Netlify, it's recommended to use `npm run build-serial` that builds the packages serially.
Expand Down Expand Up @@ -123,7 +139,7 @@ Code coverage reports are currently available only for the `@rjsf/core` theme pa
They are generated using [nyc](https://github.com/istanbuljs/nyc) each time the `npm test-coverage` script is run.
The full report can be seen by opening `./coverage/lcov-report/index.html`.

#### Utils and validator-ajvX code coverage
#### Utils and validator-ajv8 code coverage

100% code coverage is required by the `@rjsf/utils` and `@rjsf/validator-ajv8` tests.
If you make changes to those libraries, you will have to maintain that coverage, otherwise the tests will fail.
Expand All @@ -133,23 +149,20 @@ If you make changes to those libraries, you will have to maintain that coverage,
## Releasing

To release, go to the main branch (NOT a fork) and then create a new branch with the version number (with an `rc` prefix instead of `v`).
For instance if you are about to create the new `5.100.10` branch, then you would run the following commands:
For instance if you are about to create the new `6.100.10` branch, then you would run the following commands:

```bash
git checkout -b rc6.100.10
git push
npx nx release version --git-tag
npm run post-versioning
git commit -m "Releasing 6.100.10"
git push
npm run update-version-tags
```

Make sure you use [semver](https://semver.org/) for version numbering when selecting the version.
The `npx nx release version --git-tag` command will create a new version tag and push it to GitHub.

The `npm run post-versioning` script will update the peer dependencies in all of the `packages/*/package.json` files if necessary.
It will then clean up the `node_modules` directories and rerun `npm install` to update the `package-lock.json` files.
Finally, it creates and pushes a new commit with those `package.json` and `package-lock.json` files up to GitHub.

> NOTE: this command will take a while, be patient
The `npx nx release version --git-tag` command will update the `package*.josn` files and create a new version tag.
Committing and pushing the branch will allow you to create the PR on GitHub.
The `npm run update-version-tags` will push the tags up to GitHub.

Then, make a PR to main. Merge the PR into main -- make sure you use "merge commit", not squash and merge, so that
the original commit where the tag was based on is still present in the main branch.
Expand All @@ -164,6 +177,21 @@ The package is published through an automation token belonging to the
[rjsf-bot](https://www.npmjs.com/~rjsf-bot) user on npm. This token
is stored as the `NPM_TOKEN` secret on GitHub Actions.

### Updating the peer dependencies for new features in a minor release

If a set of changes added new features or APIs that require updating downstream peer dependencies, then run the following
command:

```bash
npm run post-versioning
```

The `npm run post-versioning` script will update the peer dependencies in all of the `packages/*/package.json` files if necessary.
It will then clean up the `node_modules` directories and rerun `npm install` to update the `package-lock.json` files.
Finally, it creates and pushes a new commit with those `package.json` and `package-lock.json` files up to GitHub.

> NOTE: this command will take a while, be patient

### Releasing docs

Docs are automatically published to GitHub Pages when the `main` branch is updated.
Expand Down
10 changes: 5 additions & 5 deletions packages/fluentui-rc/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@rjsf/fluentui-rc",
"version": "6.0.0-alpha.0",
"version": "6.0.0-beta.1",
"description": "FluentUI React Components theme, fields and widgets for react-jsonschema-form",
"scripts": {
"build:ts": "tsc -b tsconfig.build.json && tsc-alias -p tsconfig.build.json",
Expand Down Expand Up @@ -74,10 +74,10 @@
"@fluentui/react-migration-v0-v9": "^9.3.10"
},
"devDependencies": {
"@rjsf/core": "^6.0.0-alpha.0",
"@rjsf/snapshot-tests": "^6.0.0-alpha.0",
"@rjsf/utils": "^6.0.0-alpha.0",
"@rjsf/validator-ajv8": "^6.0.0-alpha.0",
"@rjsf/core": "^6.0.0-beta.1",
"@rjsf/snapshot-tests": "^6.0.0-beta.1",
"@rjsf/utils": "^6.0.0-beta.1",
"@rjsf/validator-ajv8": "^6.0.0-beta.1",
"eslint": "^8.56.0"
},
"directories": {
Expand Down
10 changes: 5 additions & 5 deletions packages/mui/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@rjsf/mui",
"version": "6.0.0-alpha.0",
"version": "6.0.0-beta.1",
"main": "./dist/index.js",
"module": "./lib/index.js",
"types": "./lib/index.d.ts",
Expand Down Expand Up @@ -75,10 +75,10 @@
"@emotion/styled": "^11.11.0",
"@mui/icons-material": "^6.4.11",
"@mui/material": "^6.4.11",
"@rjsf/core": "^6.0.0-alpha.0",
"@rjsf/snapshot-tests": "^6.0.0-alpha.0",
"@rjsf/utils": "^6.0.0-alpha.0",
"@rjsf/validator-ajv8": "^6.0.0-alpha.0",
"@rjsf/core": "^6.0.0-beta.1",
"@rjsf/snapshot-tests": "^6.0.0-beta.1",
"@rjsf/utils": "^6.0.0-beta.1",
"@rjsf/validator-ajv8": "^6.0.0-beta.1",
"eslint": "^8.56.0"
},
"publishConfig": {
Expand Down
10 changes: 5 additions & 5 deletions packages/react-bootstrap/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@rjsf/react-bootstrap",
"version": "6.0.0-alpha.0",
"version": "6.0.0-beta.1",
"main": "dist/index.js",
"module": "lib/index.js",
"typings": "lib/index.d.ts",
Expand Down Expand Up @@ -71,10 +71,10 @@
"node": ">=20"
},
"devDependencies": {
"@rjsf/core": "^6.0.0-alpha.0",
"@rjsf/snapshot-tests": "^6.0.0-alpha.0",
"@rjsf/utils": "^6.0.0-alpha.0",
"@rjsf/validator-ajv8": "^6.0.0-alpha.0",
"@rjsf/core": "^6.0.0-beta.1",
"@rjsf/snapshot-tests": "^6.0.0-beta.1",
"@rjsf/utils": "^6.0.0-beta.1",
"@rjsf/validator-ajv8": "^6.0.0-beta.1",
"eslint": "^8.56.0",
"react-bootstrap": "^2.10.9"
},
Expand Down
10 changes: 5 additions & 5 deletions packages/semantic-ui/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@rjsf/semantic-ui",
"version": "6.0.0-alpha.0",
"version": "6.0.0-beta.1",
"main": "dist/index.js",
"module": "lib/index.js",
"typings": "lib/index.d.ts",
Expand Down Expand Up @@ -67,10 +67,10 @@
"semantic-ui-react": "^2.1.3"
},
"devDependencies": {
"@rjsf/core": "^6.0.0-alpha.0",
"@rjsf/snapshot-tests": "^6.0.0-alpha.0",
"@rjsf/utils": "^6.0.0-alpha.0",
"@rjsf/validator-ajv8": "^6.0.0-alpha.0",
"@rjsf/core": "^6.0.0-beta.1",
"@rjsf/snapshot-tests": "^6.0.0-beta.1",
"@rjsf/utils": "^6.0.0-beta.1",
"@rjsf/validator-ajv8": "^6.0.0-beta.1",
"atob": "^2.1.2",
"eslint": "^8.56.0",
"nanoid": "^5.1.5",
Expand Down
10 changes: 5 additions & 5 deletions packages/shadcn/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@rjsf/shadcn",
"version": "6.0.0-alpha.0",
"version": "6.0.0-beta.1",
"main": "dist/index.js",
"module": "lib/index.js",
"typings": "lib/index.d.ts",
Expand Down Expand Up @@ -71,10 +71,10 @@
"node": ">=20"
},
"devDependencies": {
"@rjsf/core": "^6.0.0-alpha.0",
"@rjsf/snapshot-tests": "^6.0.0-alpha.0",
"@rjsf/utils": "^6.0.0-alpha.0",
"@rjsf/validator-ajv8": "^6.0.0-alpha.0",
"@rjsf/core": "^6.0.0-beta.1",
"@rjsf/snapshot-tests": "^6.0.0-beta.1",
"@rjsf/utils": "^6.0.0-beta.1",
"@rjsf/validator-ajv8": "^6.0.0-beta.1",
"eslint": "^8.56.0",
"jsdom": "^20.0.3",
"tailwindcss": "^3.0.0"
Expand Down
8 changes: 4 additions & 4 deletions packages/snapshot-tests/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@rjsf/snapshot-tests",
"version": "6.0.0-alpha.0",
"version": "6.0.0-beta.1",
"description": "A set of snapshot tests to be used for testing RJSF theme.",
"scripts": {
"build": "tsc -b .",
Expand Down Expand Up @@ -35,9 +35,9 @@
"@rjsf/validator-ajv8": "^6.x"
},
"devDependencies": {
"@rjsf/core": "^6.0.0-alpha.0",
"@rjsf/utils": "^6.0.0-alpha.0",
"@rjsf/validator-ajv8": "^6.0.0-alpha.0"
"@rjsf/core": "^6.0.0-beta.1",
"@rjsf/utils": "^6.0.0-beta.1",
"@rjsf/validator-ajv8": "^6.0.0-beta.1"
},
"repository": {
"type": "git",
Expand Down
2 changes: 1 addition & 1 deletion packages/utils/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@rjsf/utils",
"version": "6.0.0-alpha.0",
"version": "6.0.0-beta.1",
"main": "dist/index.js",
"module": "lib/index.js",
"typings": "lib/index.d.ts",
Expand Down
4 changes: 2 additions & 2 deletions packages/validator-ajv8/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@rjsf/validator-ajv8",
"version": "6.0.0-alpha.0",
"version": "6.0.0-beta.1",
"main": "dist/index.js",
"module": "lib/index.js",
"typings": "lib/index.d.ts",
Expand Down Expand Up @@ -86,7 +86,7 @@
"@rjsf/utils": "^6.x"
},
"devDependencies": {
"@rjsf/utils": "^6.0.0-alpha.0",
"@rjsf/utils": "^6.0.0-beta.1",
"@types/json-schema": "^7.0.15",
"ajv-i18n": "^4.2.0",
"eslint": "^8.56.0"
Expand Down
Loading