NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
PyPI · #2319 most downloaded on PyPI
JSON5 serializer and parser for Python 3 written in Cython.
Last release 4 months ago
15 May 2026
Ships fairly regularly
a new release about every 4 months
Most releases are documented
notes for 16 of 25 stable releases
Nothing withdrawn
no release was ever pulled
8 years old
25 releases · first in 2018
Support Python free-threaded builds (PEP 703). The extension now opts into the no-GIL ABI via Cython's freethreading_compatible directive, so it is lo
freethreading_compatible directive, so it is loaded on python3.13t / python3.14t without re-enabling the GIL. All module state is set once at import and the encode/decode hot paths keep per-call state on the C stack, so the extension is safe to call from many OS threads concurrently. Bumps the build-time Cython requirement to >= 3.1. A new threaded stress test (scripts/run-threaded-test.py) is run in CI on every free-threaded build identifier produced by cibuildwheel. (By Eric Buehl, #143)Full Changelog: v2.0.0...v2.0.1
Build CPython 3.14 wheels by @edgarrmondragon in #112
One column per quarter.
_SupportsRead by @Kijewski in #118dump() write str instead of bytes by @Kijewski in #119Breaking changes are in bold.
Full Changelog: v1.6.9...v2.0.0
Remove unused import to fix installation on Termux by @veka0 in #105
Requires at least Python 3.7 Update dependencies Relicense to MIT OR Apache-2.0 Full Changelog : v1.6.7...v1.6.8
Full Changelog: v1.6.7...v1.6.8
Update to Unicode 15.1.0 by @Kijewski in #90
Full Changelog: v1.6.6...v1.6.7
Bump third-party/fast_double_parser from cee3272 to d2e8f22 by @dependabot in #81
cee3272 to d2e8f22 by @dependabot in #81Full Changelog: v1.6.5...v1.6.6
Fix type hints for optional arguments by @Kijewski in #74
Full Changelog: v1.6.4...v1.6.5
What's Changed Update to Cython 3 Update for Python 3.12 Full Changelog : v1.6.3...v1.6.4
Fix typing for _SupportsWrite by @Kijewski in #62
Update to Unicode 15.0.0 by @Kijewski in #48
Full Changelog: https://github.com/Kijewski/pyjson5/compare/v1.6.0...v1.6.1
Full Changelog: https://github.com/Kijewski/pyjson5/compare/v1.6.0...v1.6.1
Nothing published for this version
Fallback to encode vars(obj) if obj is not stringifyable, e.g. to serialize dataclasses.
vars(obj) if obj is not stringifyable, e.g. to serialize dataclasses.Full Changelog: https://github.com/Kijewski/pyjson5/compare/v1.5.3...v1.6.0
Create codeql-analysis.yml by @Kijewski in https://github.com/Kijewski/pyjson5/pull/16
Full Changelog: https://github.com/Kijewski/pyjson5/compare/v1.5.2...v1.5.3
Use filenames with extensions by @Kijewski in https://github.com/Kijewski/pyjson5/pull/15
Full Changelog: https://github.com/Kijewski/pyjson5/compare/v1.5.1...v1.5.2
Full Changelog: https://github.com/Kijewski/pyjson5/compare/v1.5.0...v1.5.1
Full Changelog: https://github.com/Kijewski/pyjson5/compare/v1.5.0...v1.5.1
Faster double encoding by @Kijewski in https://github.com/Kijewski/pyjson5/pull/12
Full Changelog: https://github.com/Kijewski/pyjson5/compare/v1.4.9...v1.5.0
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Your coding agent can read these notes before it upgrades. Set up the MCP server →