NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
PyPI · #2077 most downloaded on PyPI
Python wrapper around rapidjson
Last release 28 days ago
06 Sep 2026
Release timing varies
gaps range from 8 days to 11 months
Nearly every release is documented
notes for 60 of the last 60 stable releases
1 version withdrawn
withdrawn after publishing
11 years old
68 releases · first in 2015
Rectify packaging, mention minimal supported Python version (issue 240__)
Rectify packaging, mention minimal supported Python version (issue 240)
Fix error handling after PyList_SetItem() calls (issue 231__)
Fix error handling after PyList_SetItem() calls (issue 231)
Fix error handling after PyList_Append() calls (issue 232)
Fix crash serializing a list that changes on the fly (issue 238)
Fix memory leak in RawJSON constructor with invalid argument (PR #239), thanks to Junhyung Lee
Drop support for Python <3.10
Generate wheels on PyPI for Python 3.15rc1, thanks to cibuildwheel 4.2.0
One column per quarter.
Fix serialization bug when using MM_COERCE_KEYS_TO_STRINGS together with sort_keys=True (issue #229__)
Fix serialization bug when using MM_COERCE_KEYS_TO_STRINGS together with sort_keys=True (issue #229)
Generate wheels on PyPI using Python 3.14 final release, thanks to cibuildwheel 3.2.1__
Generate wheels on PyPI using Python 3.14 final release, thanks to cibuildwheel 3.2.1
Use current master__ version of rapidjson, thanks to Kyle Gottfried (although I didn't merge his PR #224__)
Use current master version of rapidjson, thanks to Kyle Gottfried (although I didn't merge his PR #224)
Recompute comparison table with latest versions of other libraries, using Python 3.13
Typing stubs: specify default value for stream argument of Encoder.__call__() (issue #215)
Use more recent OS images on GH Actions to test and build wheels
Rectify type hints of loads() and Decoder.__call__() (issue #214__)
Rectify type hints of loads() and Decoder.__call__() (issue #214)
Ensure Validator receives valid UTF-8 bytes/bytearray arguments
Generate wheels on PyPI using Python 3.13.0rc1 release, thanks to cibuildwheel 2.20.0
Properly dump subclasses of float with custom __repr__() method ( issue #213__)
Properly dump subclasses of float with custom __repr__() method ( issue #213)
Expose PEP-484 typing stubs, thanks to Rodion Kosianenko and GoodWasHere (PR #204__)
Expose PEP-484 typing stubs, thanks to Rodion Kosianenko and GoodWasHere (PR #204)
Use current master__ version of rapidjson
Use current master version of rapidjson
Generate wheels on PyPI using Python 3.13b1 release, thanks to cibuildwheel 2.18.0
Produce Python 3.8 wheels again, I deactivated it too eagerly, it's in *security fixes only* mode, not yet reached its end-of-life state
Produce Python 3.8 wheels again, I deactivated it too eagerly, it's in security fixes only mode, not yet reached its end-of-life state
Honor the recursion limit__ also at parse time, to avoid attacks as described by CVE-2024-27454__
Honor the recursion limit also at parse time, to avoid attacks as described by CVE-2024-27454
Produce binary wheels for macOS/arm64, thanks to timothyjlaurent (PR #195__)
Produce binary wheels for macOS/arm64, thanks to timothyjlaurent (PR #195)
Fix handling of write_mode in dump functions (problem emerged discussing issue #191__)
Fix handling of write_mode in dump functions (problem emerged discussing issue #191)
Generate wheels on PyPI using final Python 3.12 release, thanks to cibuildwheel 2.16.2__
Generate wheels on PyPI using final Python 3.12 release, thanks to cibuildwheel 2.16.2
Use current master__ version of rapidjson
Use current master version of rapidjson
Use cibuildwheel 2.15.0
Use current master__ version of rapidjson
Use current master version of rapidjson
Produce ppc64le wheels, thanks to mgiessing (PR #170)
Use cibuildwheel 2.12.1
Produce Python 3.11 wheels, thanks to cibuildwheel 2.11.1__
Produce Python 3.11 wheels, thanks to cibuildwheel 2.11.1
Fix problem on macOS__ explicitly requiring C++11, thanks to agate-pris (`issue
Fix problem on macOS explicitly requiring C++11, thanks to agate-pris (issue #166)
Use current master__ version of rapidjson
Use current master version of rapidjson
Update the test suite to work on Pyston, thanks to Kevin Modzelewski (PR #161)
Fix memory leak when using end_array (issue #160__)
Fix memory leak when using end_array (issue #160)
Fix serialization bug when using DM_UNIX_TIME in a non-C locale context
Fix serialization bug when using DM_UNIX_TIME in a non-C locale context
Build binary wheel for aarch64, thanks to odidev (PR #156__)
Build binary wheel for aarch64, thanks to odidev (PR #156)
Yet another attempt to fix automatic wheels upload
Yet another attempt to fix automatic wheels upload
Fix automatic wheels upload from GH Actions to PyPI
Fix automatic wheels upload from GH Actions to PyPI
Reduce decoder memory consumption by uniquifiying keys in the loaded dictionaries
Reduce decoder memory consumption by uniquifiying keys in the loaded dictionaries
Implement an alternative way of transmogrify JSON objects, similar to json's object_pairs_hook load option (issue #154)
New serialization options, iterable_mode and mapping_mode, to give some control on how generic iterables and mappings get encoded (fix issue #149__ an
Require Python 3.6 or greater
New serialization options, iterable_mode and mapping_mode, to give some control on how generic iterables and mappings get encoded (fix issue #149 and issue #150)
Internal refactorings, folding "skipkeys" and "sort_keys" arguments into the mapping_mode options, respectively as MM_SKIP_NON_STRING_KEYS and MM_SORT_KEYS: "old" arguments kept for backward compatibility
Bump major version to 1, tag as "production/stable" and switch to a simpler X.Y versioning schema
Fix memory leak loading an invalid JSON (issue #148__)
Fix memory leak loading an invalid JSON (issue #148)
Fix access to Encoder instance attributes (issue #147__)
Fix access to Encoder instance attributes (issue #147)
Use current master__ version of rapidjson
Use current master version of rapidjson
Enable GH Actions-based test workflow, thanks to Martin Thoma (PR #143)
Produce Python 3.9 wheels, disable testing under Python < 3.6
Make the character used for indentation in pretty mode a parameter (issue #135)
Handle wider precision range in timestamps fractional seconds (PR 133), thanks to Karl Seguin
Add comparison benchmarks against orjson and hyperjson (issue #130 and PR #131, thanks to Sebastian Pipping)
Fix memory leak in case of failed validation (issue #126__)
Fix memory leak in case of failed validation (issue #126)
Compatibility fix for Python 3.8 (issue #125__)
Produce Python 3.8 wheels
Compatibility fix for Python 3.8 (issue #125)
New dump option write_mode, supporting RapidJSON's kFormatSingleLineArray option (issue #123), thanks to Nguyễn Hồng Quân for the initial implementation (PR #124)
New serialization option bytes_mode to control how bytes instances get encoded (issue #122__)
New serialization option bytes_mode to control how bytes instances get encoded (issue #122)
Hopefully fix the memory leak when loading from a stream (issue #117__)
Hopefully fix the memory leak when loading from a stream (issue #117)
Raise a more specific exception on loading errors, JSONDecodeError, instead of generic ValueError (issue #118__)
Raise a more specific exception on loading errors, JSONDecodeError, instead of generic ValueError (issue #118)
Fix optimization path when using OrderedDicts (issue #119)
Fix serialization of IntEnums (issue #121)
I spent quite a lot of time investigating on the memory leak when loading from a stream (issue #117): as I was not able to fully replicate the problem, I cannot be sure I solved the problem... sorry!
Raise correct exception in code samples (PR #109__), thanks to Thomas Dähling
Raise correct exception in code samples (PR #109), thanks to Thomas Dähling
Fix compilation with system-wide install of rapidjson (issue #110)
Use current master version of rapidjson, that includes a fix for its issue #1368 and issue #1336, and cures several compilation warnings as well (issue #112 and issue #107)
Fix memory leak when using object_hook (issue #115)
No visible changes, but now PyPI carries binary wheels for Python 3.7.
No visible changes, but now PyPI carries binary wheels for Python 3.7.
Use a more specific ValidationError, to differentiate from invalid JSON
Use a more specific ValidationError, to differentiate from invalid JSON
Nothing new, attempt to build Python 3.6 binary wheels on Travis CI
Nothing new, attempt to build Python 3.6 binary wheels on Travis CI
Add a new comparison table involving ensure_ascii (issue #98__)
Add a new comparison table involving ensure_ascii (issue #98)
Use Python's repr() to emit float values instead of rapidjson's dtoa() (issue #101)
Use a newer (although unreleased) version of rapidjson to fix an issue with JSONSchema validation (PR #103), thanks to Anthony Miyaguchi
Tiny tweak to restore macOS build on Travis CI
Tiny tweak to restore macOS build on Travis CI
Minor tweaks to CI and PyPI deploy configuration
Minor tweaks to CI and PyPI deploy configuration
New RawJSON class, allowing inclusion of *pre-serialized* content (PR #95__ and PR #96__), thanks to Silvio Tomatis
Deserialize from bytes and bytearray instances, ensuring they contain valid UTF-8 data
Deserialize from bytes and bytearray instances, ensuring they contain valid UTF-8 data
Speed up parsing of floating point numbers, avoiding intermediary conversion to a Python string (PR #94)
Fix precision handling of DM_UNIX_TIME timestamps
Fix precision handling of DM_UNIX_TIME timestamps
Fix memory leaks in Decoder() and Encoder() classes, related to bad handling of PyObject_GetAttr() result value
Fix memory leaks in Decoder() and Encoder() classes, related to bad handling of PyObject_GetAttr() result value
Fix compatibility with Python 3.7a
Backward incompatibility: now the *flags* arguments on all the functions are *keyword only*, to mimic stdlib's json style
Reduce compiler warnings (issue #87__)
Reduce compiler warnings (issue #87)
Fix Travis CI recipe to accomodate MacOS
Fix Travis CI recipe to accomodate MacOS
Backward incompatibility: the dumps() function and the Encoder() constructor used to accept a max_recursion_depth argument, to control the maximum all…
Fix compilation on MacOS (issue #78)
Handle generic iterables (PR #89)
Backward incompatibility: the dumps() function and the Encoder() constructor used to accept a max_recursion_depth argument, to control the maximum allowed nesting of Python structures; since the underlying function is now effectively recursive, it has been replaced by the generic sys.setrecursionlimit() mechanism
Restore compatibility with Python < 3.6
Restore compatibility with Python < 3.6
Fix memory leaks when using object_hook/start_object/end_object
Fix memory leaks when using object_hook/start_object/end_object
Fix bug where error handling code could raise an exception causing a confusing exception to be returned (PR #82__)
Fix compatibility with MacOS/clang
Fix compatibility with MacOS/clang
Limit the precision of DM_UNIX_TIME timestamps to six decimal digits
Limit the precision of DM_UNIX_TIME timestamps to six decimal digits
Nothing new, attempt to fix production of Python 3.6 binary wheels
Nothing new, attempt to fix production of Python 3.6 binary wheels
Nothing new, attempt to fix production of Python 3.6 binary wheels
Nothing new, attempt to fix production of Python 3.6 binary wheels
New parse_mode option, implementing relaxed JSON syntax (issue #73__)
* Remove beta status
Remove beta status
Make execution of the test suite on Appveyor actually happen
Make execution of the test suite on Appveyor actually happen
Exclude CI configurations from the source distribution
Exclude CI configurations from the source distribution
Your coding agent can read these notes before it upgrades. Set up the MCP server →