orjson breaking changes
Every breaking API change we have recorded in orjson on PyPI: 4 breaking changes in 2 versions. Below are its newest 2 versions, removals and renames first, each with its source.
Newest change January 29, 2026

On this page
3.11.6
- Removed
The release ends support for Python 3.9. Users on Python 3.9 must upgrade Python or stay on an older orjson release. github.com
3.11.0
- Signature changed
orjson.dumps
Was def dumps(__obj: Any, default: Optional[Callable[[Any], Any]] = ..., option: Optional[int] = ...) -> bytes; now def dumps(__obj: Any, default: Callable[[Any], Any] | None = ..., option: int | None = ...) -> bytes. pypi.org - Signature changed
orjson.Fragment.contents
Was contents: Union[bytes, str]; now contents: bytes | str. pypi.org - Signature changed
orjson.loads
Was def loads(__obj: Union[bytes, bytearray, memoryview, str]) -> Any; now def loads(__obj: bytes | bytearray | memoryview | str) -> Any. pypi.org
Check your code
These are the changes. To see which of them reach your code, scan a public repository, or have your coding agent call check_code with your manifest or lockfile over MCP. The API reads every change in every version, not only the newest. On Team and up, a fix pull request opens for the changes that reach a connected repository. Nothing merges or deploys.

Put your code on continuous management.
Scan a public repository now, or give your agent one line.
See how out of date your code is.
Tell your agent what changed since it was trained.
claude mcp add --transport http since https://api.since.dev/mcp