---
title: "orjson Breaking Changes on PyPI | Since.dev"
description: "What each orjson release removed, renamed or changed: 4 breaking changes in 2 versions on PyPI, each with its source."
canonical_url: https://since.dev/packages/pypi/orjson
last_updated: 2026-01-29
---

# 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

## 3.11.6

1 breaking change, first published January 29, 2026.

- **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](https://github.com/ijl/orjson/releases/tag/3.11.6)

## 3.11.0

3 breaking changes, first published July 15, 2025.

- **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](https://pypi.org/project/orjson/3.11.0/)
- **Signature changed** `orjson.Fragment.contents`  

Was contents: Union\[bytes, str\]; now contents: bytes | str. [pypi.org](https://pypi.org/project/orjson/3.11.0/)
- **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](https://pypi.org/project/orjson/3.11.0/)

## Check your code

These are the changes. To see which of them reach your code, [scan a public repository](https://since.dev/scan.md), or have your coding agent call `check_code` with your manifest or lockfile over [MCP](https://since.dev/docs.md#mcp). [The API](https://since.dev/docs.md#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.

[Scan a repository](https://since.dev/scan.md). Any public GitHub repository. No sign-in.

### Tell your agent what changed since it was trained.

`claude mcp add --transport http since https://api.since.dev/mcp`

---

Every page on this site as Markdown: https://since.dev/sitemap.md. For agents: https://since.dev/llms.txt.
