unstale

pypi / jsonpatch

jsonpatch

What changed in jsonpatch 1, from its official release notes, upgrade guides and advisories. Sources checked 2026-10-17.

4 breaking1 security2 performance2 behavior and defaults9 fixes and other

See which of these apply to your code, ranked, in your agent:

npx @unstale/cli init

@unstale/cli 0.1.1 on npm

jsonpatch 118 changes

Breaking changes 4

  • Rejects moving a location into its own children.

    1.35release notes

  • JSON diff comparison no longer treats 1 and True as equal.

    1.34release notes

  • Pointers can no longer index into strings.

    1.34release notes

  • The project supports only currently supported Python versions.

    1.34release notes

Security 1

  • Malformed patches and "from": "/-" raise the documented exceptions.

    1.35release notes

Performance 2

  • Finds moves without rewriting all later operations.

    1.35release notes

  • Patch operations are hashed by their op and path.

    1.35release notes

Behavior and default changes 2

Fixes and other changes 9

  • Closes the original input before performing an in-place replacement.

    1.35release notes

  • List diffing uses sequence alignment to avoid unnecessary replacements and cascading changes.

    1.35release notes

  • Handles self-containing values when generating a patch.

    1.35release notes

  • Adds support for Python 3.13 and 3.14.

    1.35release notes

  • Rejects '-' only when it refers to an array, rather than rejecting it in other contexts.

    1.35release notes

  • Fix operation reindexing for nested paths and other operation reindexing bugs in generated diffs.

    1.34release notes

  • Comparison ordering is deterministic, making JSON diff results consistent.

    1.34release notes

  • Applying patch operations no longer modifies the patch object.

    1.34release notes

  • Handle the whole-document pointer in the sequence branch and fix copying from that pointer.

    1.34release notes