# What changed in @rjsf/core

> 72 changes in @rjsf/core 6 from its official release notes, upgrade guides and advisories: 7 breaking, 4 deprecations, 27 new APIs and options. Each one cited. Sources checked 2026-10-19. HTML: https://unstale.sh/npm/@rjsf/core/

To see which of these apply to a repository, run `npx @unstale/cli init` in it.

## @rjsf/core 6

### Breaking changes

- Adds path-based property lookup; bare strings are literal keys, and lookup resolves own properties only. (6.9.0) — [release notes](https://github.com/rjsf-team/react-jsonschema-form/releases/tag/v6.9.0)
- Adds path-based property presence checks; bare strings are literal keys, and checks resolve own properties only. (6.9.0) — [release notes](https://github.com/rjsf-team/react-jsonschema-form/releases/tag/v6.9.0)
- RJSF packages no longer depend on lodash; applications relying on it being hoisted must declare it in their own package.json. (6.9.0) — [release notes](https://github.com/rjsf-team/react-jsonschema-form/releases/tag/v6.9.0)
- A required boolean field now defaults to false when the schema has no default. (6.9.0) — [release notes](https://github.com/rjsf-team/react-jsonschema-form/releases/tag/v6.9.0)
- Adds a path-based setter; bare strings are treated as literal keys, while dotted paths can be parsed with toPath(). (6.9.0) — [release notes](https://github.com/rjsf-team/react-jsonschema-form/releases/tag/v6.9.0)
- Adds explicit parsing of lodash-style dotted path strings for use with the new path utilities. (6.9.0) — [release notes](https://github.com/rjsf-team/react-jsonschema-form/releases/tag/v6.9.0)
- Adds a path-based property remover; bare strings are treated as literal keys, while dotted paths can be parsed with toPath(). (6.9.0) — [release notes](https://github.com/rjsf-team/react-jsonschema-form/releases/tag/v6.9.0)

### Deprecations

- The PathSchema type is deprecated. (6.6.0) — [release notes](https://github.com/rjsf-team/react-jsonschema-form/releases/tag/v6.6.0)
- The removeOptionalEmptyObject() function is deprecated. (6.6.0) — [release notes](https://github.com/rjsf-team/react-jsonschema-form/releases/tag/v6.6.0)
- The toPathSchema() member on SchemaUtilsType is deprecated. (6.6.0) — [release notes](https://github.com/rjsf-team/react-jsonschema-form/releases/tag/v6.6.0)
- The toPathSchema() function is deprecated. (6.6.0) — [release notes](https://github.com/rjsf-team/react-jsonschema-form/releases/tag/v6.6.0)

### New APIs and options

- Adds `requiredBooleanDefault`: `skip` leaves required booleans without a default undefined, while the default `populateFalse` preserves the 6.9.0+ behavior. (6.11.0) — [release notes](https://github.com/rjsf-team/react-jsonschema-form/releases/tag/v6.11.0)
- Adds a helper for the shared widget-name and enumOptions fallback logic used by StringField and NumberField. (6.10.1) — [release notes](https://github.com/rjsf-team/react-jsonschema-form/releases/tag/v6.10.1)
- Adds a helper to detect conditionals nested below a schema's top level, allowing sanitization to run when the root retrieved schema looks unchanged. (6.10.1) — [release notes](https://github.com/rjsf-team/react-jsonschema-form/releases/tag/v6.10.1)
- Added autocapitalize UI option handling to getInputProps() and the public input prop types. (6.10.0) — [release notes](https://github.com/rjsf-team/react-jsonschema-form/releases/tag/v6.10.0)
- Adds an optional deep flag that descends into nested objects and same-length arrays, returning the dotted path of the changed field. (6.9.0) — [release notes](https://github.com/rjsf-team/react-jsonschema-form/releases/tag/v6.9.0)
- Adds a helper to read a property's sub-schema, defaulting to an empty schema. (6.9.0) — [release notes](https://github.com/rjsf-team/react-jsonschema-form/releases/tag/v6.9.0)
- Adds a stricter counterpart to isObject() that excludes class instances, replacing lodash/isPlainObject for consumers. (6.9.0) — [release notes](https://github.com/rjsf-team/react-jsonschema-form/releases/tag/v6.9.0)
- Adds a do-nothing function to replace lodash/noop for consumers. (6.9.0) — [release notes](https://github.com/rjsf-team/react-jsonschema-form/releases/tag/v6.9.0)
- Added a utility to detect locale-specific decimal separators. (6.7.1) — [release notes](https://github.com/rjsf-team/react-jsonschema-form/releases/tag/v6.7.1)
- Added the `CycleDetected` key to `enums.ts`. (6.7.0) — [release notes](https://github.com/rjsf-team/react-jsonschema-form/releases/tag/v6.7.0)
- Added the props type for the cyclic schema expansion template. (6.7.0) — [release notes](https://github.com/rjsf-team/react-jsonschema-form/releases/tag/v6.7.0)
- Added a template for customizing the UI used to expand cyclic schemas. (6.7.0) — [release notes](https://github.com/rjsf-team/react-jsonschema-form/releases/tag/v6.7.0)
- Added the `ExpandButton` key to `enums.ts`. (6.7.0) — [release notes](https://github.com/rjsf-team/react-jsonschema-form/releases/tag/v6.7.0)
- Uses `nestedDefaultsPrecedence` to control how defaults defined on multiple levels are merged. (6.7.0) — [release notes](https://github.com/rjsf-team/react-jsonschema-form/releases/tag/v6.7.0)
- Added a helper for theme select widgets to warn when a schema default is not present in the enum options. (6.7.0) — [release notes](https://github.com/rjsf-team/react-jsonschema-form/releases/tag/v6.7.0)
- Added an option to control how defaults defined on multiple levels are merged. (6.7.0) — [release notes](https://github.com/rjsf-team/react-jsonschema-form/releases/tag/v6.7.0)
- Added `markCycleOnDetection` to mark schemas detected to contain a cycle with `RJSF_REF_CYCLE_KEY`. (6.7.0) — [release notes](https://github.com/rjsf-team/react-jsonschema-form/releases/tag/v6.7.0)
- Exports the isValueEmpty() function from the library. (6.6.0) — [release notes](https://github.com/rjsf-team/react-jsonschema-form/releases/tag/v6.6.0)
- Adds a utility that normalizes oneOf/anyOf options for scoring, optionally resolving $refs; it converts boolean schemas and widens additionalProperties: false to true. (6.6.0) — [release notes](https://github.com/rjsf-team/react-jsonschema-form/releases/tag/v6.6.0)
- Adds a translatable string for internationalizing the deprecated field suffix. (6.5.3) — [release notes](https://github.com/rjsf-team/react-jsonschema-form/releases/tag/v6.5.3)
- Adds deprecatedHandling to global UI schema options to configure handling of deprecated fields. (6.5.3) — [release notes](https://github.com/rjsf-team/react-jsonschema-form/releases/tag/v6.5.3)
- Adds the `string | FieldPathList` path type for getFromSchema and findFieldInSchema. (6.5.3) — [release notes](https://github.com/rjsf-team/react-jsonschema-form/releases/tag/v6.5.3)
- Adds a utility for opt-in rendering of real enum values in select, radio, and checkbox widgets. (6.5.0) — [release notes](https://github.com/rjsf-team/react-jsonschema-form/releases/tag/v6.5.0)
- Adds a utility for opt-in rendering of real enum values in select, radio, and checkbox widgets. (6.5.0) — [release notes](https://github.com/rjsf-team/react-jsonschema-form/releases/tag/v6.5.0)
- Adds a utility for opt-in rendering of real enum values in select, radio, and checkbox widgets. (6.5.0) — [release notes](https://github.com/rjsf-team/react-jsonschema-form/releases/tag/v6.5.0)
- Adds the `indexed` and `realValue` choices to `GlobalUISchemaOptions` for opting into real enum values in widget DOM attributes; also adds the `OptionValueFormat` type. (6.5.0) — [release notes](https://github.com/rjsf-team/react-jsonschema-form/releases/tag/v6.5.0)
- Recursively strips fully empty optional objects based on their parent’s required properties. (6.5.0) — [release notes](https://github.com/rjsf-team/react-jsonschema-form/releases/tag/v6.5.0)

### Performance

- Declares sideEffects as false so bundlers can tree-shake unused @rjsf/utils exports. (6.9.0) — [release notes](https://github.com/rjsf-team/react-jsonschema-form/releases/tag/v6.9.0)

### Behavior and default changes

- Parses locale-specific decimal strings. (6.7.1) — [release notes](https://github.com/rjsf-team/react-jsonschema-form/releases/tag/v6.7.1)
- Selected option descriptions are now shown. (6.7.0) — [release notes](https://github.com/rjsf-team/react-jsonschema-form/releases/tag/v6.7.0)
- Adopts the svelte-jsonschema-form algorithm and supports the code from removeOptionalEmptyObjects(). (6.6.0) — [release notes](https://github.com/rjsf-team/react-jsonschema-form/releases/tag/v6.6.0)
- Propagates `formatMinimum` and `formatMaximum` schema keywords to HTML `min` and `max` attributes for date-related input types, aligning native picker constraints with AJV validation. (6.5.0) — [release notes](https://github.com/rjsf-team/react-jsonschema-form/releases/tag/v6.5.0)
- Widens `min` and `max` to `number | string` to support date values. (6.5.0) — [release notes](https://github.com/rjsf-team/react-jsonschema-form/releases/tag/v6.5.0)

### Fixes and other changes

- Merging allOf schemas now preserves Symbol-keyed properties and distinct allOf.contains branches, avoiding over-constrained schemas. (6.10.1) — [release notes](https://github.com/rjsf-team/react-jsonschema-form/releases/tag/v6.10.1)
- When allOf is set to populateDefaults, computeDefaults merges a non-object schema's allOf so a $ref wrapped in a single-element allOf populates the same defaults as the bare $ref. (6.10.1) — [release notes](https://github.com/rjsf-team/react-jsonschema-form/releases/tag/v6.10.1)
- Includes defaults from a dependency subschema when called without form data or with an empty object. (6.10.1) — [release notes](https://github.com/rjsf-team/react-jsonschema-form/releases/tag/v6.10.1)
- Defaults number schemas to a text input in locales whose decimal separator is not a period, unless an explicit inputType is set, avoiding browser rejection of localized values. (6.10.1) — [release notes](https://github.com/rjsf-team/react-jsonschema-form/releases/tag/v6.10.1)
- Resolves dependencies, if/then/else, and allOf on each property's old and new schema before comparing them, so nested conditionals are considered when sanitizing data. (6.10.1) — [release notes](https://github.com/rjsf-team/react-jsonschema-form/releases/tag/v6.10.1)
- Fixed handling of existing arrays and stale undefined values when applying a new schema, retaining data or applying defaults for newly defined properties. (6.10.0) — [release notes](https://github.com/rjsf-team/react-jsonschema-form/releases/tag/v6.10.0)
- Fixes recursive default merging when an object key's default is an array, preventing defaults in nested dependencies from being dropped. (6.9.0) — [release notes](https://github.com/rjsf-team/react-jsonschema-form/releases/tag/v6.9.0)
- Stops over-reaching additionalProperties post-processing from stripping keys written by winning oneOf/anyOf and if/then/else branches. (6.9.0) — [release notes](https://github.com/rjsf-team/react-jsonschema-form/releases/tag/v6.9.0)
- Fixed handling of arrays containing null and undefined values. (6.8.0) — [release notes](https://github.com/rjsf-team/react-jsonschema-form/releases/tag/v6.8.0)
- With `experimental_defaultFormStateBehavior.arrayMinItems.populate = 'never'`, optional arrays with no data remain omitted and required arrays default to `[]`, allowing the validator to report `minItems` violations instead of surfacing invalid `null` items. (6.7.0) — [release notes](https://github.com/rjsf-team/react-jsonschema-form/releases/tag/v6.7.1), [release notes](https://github.com/rjsf-team/react-jsonschema-form/releases/tag/v6.7.0)
- Now filters out `RJSF_REF_KEY`-prefixed keys before hashing schemas. (6.7.0) — [release notes](https://github.com/rjsf-team/react-jsonschema-form/releases/tag/v6.7.0)
- Now treats empty tuple `items` arrays as fixed items so `additionalItems` schemas are handled consistently. (6.7.0) — [release notes](https://github.com/rjsf-team/react-jsonschema-form/releases/tag/v6.7.0)
- Better handles `allOf`s containing multiple `if/then/else` blocks. (6.7.0) — [release notes](https://github.com/rjsf-team/react-jsonschema-form/releases/tag/v6.7.0)
- Preserves an explicitly empty string `title` on `oneOf`/`anyOf` options instead of falling back to the option's value. (6.7.0) — [release notes](https://github.com/rjsf-team/react-jsonschema-form/releases/tag/v6.7.0)
- Now preserves boolean conditional branches while resolving schemas. (6.7.0) — [release notes](https://github.com/rjsf-team/react-jsonschema-form/releases/tag/v6.7.0)
- Preserves valid enum values while replacing or clearing stale values across enum, oneOf, and anyOf schema changes. (6.6.2) — [release notes](https://github.com/rjsf-team/react-jsonschema-form/releases/tag/v6.6.2)
- Filters invalid enum values in arrays when sanitizing data for a new schema. (6.6.2) — [release notes](https://github.com/rjsf-team/react-jsonschema-form/releases/tag/v6.6.2)
- When called by schemaParser with expandAllBranches=true, uses getFirstMatchingOption on relaxed options so they are captured for precompiled validators. (6.6.0) — [release notes](https://github.com/rjsf-team/react-jsonschema-form/releases/tag/v6.6.0)
- Avoids calling Object.entries on non-object defaults, preventing character-by-character iteration of long data URL strings and severe UI freezes. (6.5.3) — [release notes](https://github.com/rjsf-team/react-jsonschema-form/releases/tag/v6.5.3)
- Fixes schema descent when a path segment is numeric 0, which was previously skipped due to a falsy check. (6.5.3) — [release notes](https://github.com/rjsf-team/react-jsonschema-form/releases/tag/v6.5.3)
- Uses string keys for required and oneOf fallback matching. (6.5.3) — [release notes](https://github.com/rjsf-team/react-jsonschema-form/releases/tag/v6.5.3)
- Makes StrictRJSFSchema recursive so deprecated and future extensions are supported in nested schema structures without type casts. (6.5.3) — [release notes](https://github.com/rjsf-team/react-jsonschema-form/releases/tag/v6.5.3)
- Uses fast-equals with cycle detection and replaces direct lodash.isEqual usage in related utilities, fixing equality handling. (6.5.2) — [release notes](https://github.com/rjsf-team/react-jsonschema-form/releases/tag/v6.5.2)
- No longer re-injects stale schema-level default keys into additionalProperties when formData already contains its own keys, preventing renamed keys from reappearing. (6.5.2) — [release notes](https://github.com/rjsf-team/react-jsonschema-form/releases/tag/v6.5.2)
- Applies `ui:title` from `ui:definitions` to `oneOf` and `anyOf` dropdowns beyond the first recursion level. (6.5.0) — [release notes](https://github.com/rjsf-team/react-jsonschema-form/releases/tag/v6.5.0)
- `extraErrors` now display when `customErrors` are also present, including with array fields and controlled `formData`. (6.4.2) — [release notes](https://github.com/rjsf-team/react-jsonschema-form/releases/tag/v6.4.2)
- Required string and number fields now render the HTML required attribute. (6.4.2) — [release notes](https://github.com/rjsf-team/react-jsonschema-form/releases/tag/v6.4.2)
- Array properties with enum items again use `ui:enumNames` from the array property's uiSchema. (6.4.2) — [release notes](https://github.com/rjsf-team/react-jsonschema-form/releases/tag/v6.4.2)
