NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
PyPI · #763 most downloaded on PyPI
Modern high-performance serialization utilities for Python
Last release 7 days ago
27 Sep 2026
Ships fairly regularly
a new release about every 4 months
Most releases are documented
notes for 28 of 37 stable releases
1 version withdrawn
withdrawn after publishing
8 years old
45 releases · first in 2018
Align with thinc's workflow: trigger only on release-v*/prerelease-v* tags instead of branch pushes/PRs, pin the reusable workflow to a specific SHA,
Align with thinc's workflow: trigger only on release-v*/prerelease-v*
tags instead of branch pushes/PRs, pin the reusable workflow to a
specific SHA, remove the now-unnecessary create-release input, and add
the retag_release job that re-points the draft release to a clean v* tag.
Security fix for the vendored msgpack, plus fixes for crashes in the vendored ujson.
Security fix for the vendored msgpack, plus fixes for crashes in the vendored ujson.
srsly.msgpack.Unpacker after a failed unpack could crash the process. Backports the upstream msgpack-python fix. The high-level helpers such as srsly.msgpack_loads create a new unpacker for each call, so they were not exposed. (#124, #127)srsly.ujson.dumps(..., sort_keys=True) on a dict. (#128)srsly.ujson.dumps(..., sort_keys=True) is given keys that can't be sorted, such as {1: 1, "a": 2}. It now raises TypeError, like the standard library json module. (#128)srsly.ujson when encoding a large object fails partway through. (#128)srsly.json_dumps was not affected by the sort_keys crashes, because it uses the standard library json module when sort_keys=True.
One column per quarter.
Python 3.14 support via updated cloudpickle
Python 3.14 support via updated cloudpickle
Nothing published for this version
Now that Github have runners for Linux ARM, we can build wheels for that again 🎉
Now that Github have runners for Linux ARM, we can build wheels for that again 🎉
Update vendored msgpack-python to v1.1.0
msgpack-python to v1.1.0Updates for Python 3.12 support ( #102 ).
Restrict to Cython 0.29.x due to incompatibilities with Cython 3.
Fix typing for JSONInput and JSONInputBin ( #79 ).
Update to cloudpickle v2.2.0 for Python 3.11 support.
Nothing published for this version
…handling of invalid surrogate pair characters (CVE-2022-31116)
Port https://github.com/ultrajson/ultrajson/pull/519 to fix buffer overflows (CVE-2021-4595)
Nothing published for this version
Fix json_loads behaviour for string "-"
write_jsonljson_loads behaviour for string "-"Support custom msgpack serializers and deserializers via function registries (mostly internals).
msgpack serializers and deserializers via function registries (mostly internals).Nothing published for this version
Nothing published for this version
Nothing published for this version
Expose data loaders for spaCy v3.
Remove unsafe YAML implementations, raising if called (see #28)
Include vendorized `ruamel.yaml`.
ruamel.yaml.Nothing published for this version
Nothing published for this version
Nothing published for this version
Support cupy.ndarray in msgpack_numpy.
cupy.ndarray in msgpack_numpy.msgpack raise correct errors for unserializable objects if numpy is not installed.Port over esnme/ultrajson#323 by @timdawborn.
Nothing published for this version
Nothing published for this version
Port ultrajson/ultrajson#550 and ultrajson/ultrajson#555 to fix incorrect handling of invalid surrogate pair characters ( CVE-2022-31116 )
Drop support for Python 3.5 and earlier.
Nothing published for this version
Nothing published for this version
Nothing published for this version
Support cupy.ndarray in msgpack_numpy.
cupy.ndarray in msgpack_numpy.msgpack raise correct errors for unserializable objects if numpy is not installed.Nothing published for this version
Fix issue #10: Update cloudpickle to 1.2.2 to support Python 3.8.
append_new_line option to write_jsonl to control whether newline is appended.Thanks to @nyejon for the pull request!
Add read_gzip_json and write_gzip_json for working with compressed JSON.
read_gzip_json and write_gzip_json for working with compressed JSON.Thanks to @polm for the pull request!
Fix issue #6: Don't write to JSONL as "a" (append) by default.
"a" (append) by default.Thanks to @sadovnychyi for the pull request and to @Adriandorr for the fix.
Thanks to @sadovnychyi for the pull request and to @Adriandorr for the fix.
Fix length limits on msgpack serialization.
msgpack serialization.Move ujson to srsly.ujson for API consistency.
ujson to srsly.ujson for API consistency.pickle_loads and pickle_dumps.msgpack_loads, msgpack_dumps, write_msgpack, read_msgpack.Expose json_dumps and json_loads helpers.
json_dumps and json_loads helpers.sort_keys via json.Fix tests across Python versions and platforms.
Nothing published for this version
Your coding agent can read these notes before it upgrades. Set up the MCP server →