unstale

pypi / orjson

orjson

What changed in orjson 3, from its official release notes, upgrade guides and advisories. Sources checked 2026-10-21.

7 breaking1 security1 new APIs and options1 behavior and defaults2 tooling6 fixes and other

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

npx @unstale/cli init

@unstale/cli 0.2.1 on npm

orjson 318 changes

Breaking changes 7

  • PyPI wheels are no longer published for Windows x86/i686.

    3.13.0release notes

  • PyPI wheels are no longer published for ppc64le and s390x.

    3.12.0release notes

  • Building now requires Rust 1.95 or later instead of 1.89.

    3.11.9release notes

  • Float serialization uses a faster library; positive exponents are now written with a plus sign, such as 1.2e+30 instead of 1.2e30.

    3.11.7release notes

  • Python 3.9 is no longer supported.

    3.11.6release notes

  • Building orjson now requires Rust 1.89 or later instead of 1.85.

    3.11.6release notes

  • Building now requires a C compiler.

    3.11.4release notes

Security 1

  • orjson does not limit recursion for deeply nested JSON documents

    3.11.6security advisory

New APIs and options 1

  • ABI compatibility was added for CPython 3.15 alpha 1.

    3.11.4release notes

Behavior and default changes 1

  • Serializes the Python 3.15 built-in frozendict type identically to dict.

    3.13.0release notes

Tooling 2

  • Wheels are published for Python 3.15 and later, with manylinux_2_39 targeted instead of manylinux_2_17.

    3.12.0release notes

  • PyPI wheels are published for 3.14 and for manylinux i686, arm7, ppc64le, and s390x.

    3.11.4release notes

Fixes and other changes 6

  • Fixes building on Rust 1.95.

    3.11.9release notes

  • Adds ABI compatibility with CPython 3.15 alpha 5 free-threading.

    3.11.7release notes

  • ABI compatibility is added for CPython 3.15 alpha 5.

    3.11.6release notes

  • orjson now includes code licensed under MPL-2.0, which may affect licensing decisions.

    3.11.6release notes

  • Fixes a sporadic crash when serializing deeply nested lists of dictionaries.

    3.11.6release notes

  • Building on unsupported Python versions now shows a simple error message instead of a traceback.

    3.11.5release notes