Recent Releases of https://github.com/ijl/orjson
https://github.com/ijl/orjson - 3.11.2
Fixed
- Fix build using Rust 1.89 on amd64.
Changed
- Build now depends on Rust 1.85 or later instead of 1.82.
- Python
Published by ijl 6 months ago
https://github.com/ijl/orjson - 3.11.1
Changed
- Publish PyPI wheels for CPython 3.14.
Fixed
- Fix
stron big-endian architectures.
- Python
Published by ijl 7 months ago
https://github.com/ijl/orjson - 3.11.0
Changed
- Use a deserialization buffer allocated per request instead of a shared buffer allocated on import.
- ABI compatibility with CPython 3.14 beta 4.
- Python
Published by ijl 7 months ago
https://github.com/ijl/orjson - 3.10.18
Fixed
- Fix incorrect escaping of the vertical tabulation character. This was introduced in 3.10.17.
- Python
Published by ijl 10 months ago
https://github.com/ijl/orjson - 3.10.17
Changed
- Publish PyPI Windows aarch64/arm64 wheels.
- ABI compatibility with CPython 3.14 alpha 7.
- Fix incompatibility running on Python 3.13 using WASM.
- Python
Published by ijl 10 months ago
https://github.com/ijl/orjson - 3.10.16
Changed
- Improve performance of serialization on amd64 machines with AVX-512.
- ABI compatibility with CPython 3.14 alpha 6.
- Drop support for Python 3.8.
- Publish additional PyPI wheels for macOS that target only aarch64, macOS 15, and recent Python.
- Python
Published by ijl 11 months ago
https://github.com/ijl/orjson - 3.10.15
Changed
- Publish PyPI manylinux aarch64 wheels built and tested on aarch64.
- Publish PyPI musllinux aarch64 and arm7l wheels built and tested on aarch64.
- Publish PyPI manylinux Python 3.13 wheels for i686, arm7l, ppc64le, and s390x.
- Python
Published by ijl about 1 year ago
https://github.com/ijl/orjson - 3.10.14
Changed
- Specify build system dependency on
maturin>=1,<2again. - Allocate memory using
PyMem_Malloc()and similar APIs for integration with pymalloc, mimalloc, and tracemalloc. - Source distribution does not ship compressed test documents and relevant tests skip if fixtures are not present.
- Build now depends on Rust 1.82 or later instead of 1.72.
- Python
Published by ijl about 1 year ago
https://github.com/ijl/orjson - 3.10.13
Changed
- Fix compatibility with maturin introducing a breaking change in 1.8.0 and specify a fixed version of maturin. Projects relying on any previous version being buildable from source by end users (via PEP 517) must upgrade to at least this version.
- Python
Published by ijl about 1 year ago
https://github.com/ijl/orjson - 3.10.12
Changed
- Publish PyPI manylinux i686 wheels.
- Publish PyPI musllinux i686 and arm7l wheels.
- Publish PyPI macOS wheels for Python 3.10 or later built on macOS 15.
- Publish PyPI Windows wheels using trusted publishing.
- Python
Published by ijl about 1 year ago
https://github.com/ijl/orjson - 3.10.11
Changed
- Improve performance of UUIDs.
- Publish PyPI wheels with trusted publishing and PEP 740 attestations.
- Include text of licenses for vendored dependencies.
- Python
Published by ijl over 1 year ago
https://github.com/ijl/orjson - 3.10.10
Fixed
- Fix
intserialization ons390x. This was introduced in 3.10.8.
Changed
- Publish aarch64 manylinux217 wheel for 3.13 to PyPI.
- Python
Published by ijl over 1 year ago
https://github.com/ijl/orjson - 3.10.9
Fixed
- Fix
intserialization on 32-bit Python 3.8, 3.9, 3.10. This was introduced in 3.10.8.
- Python
Published by ijl over 1 year ago
https://github.com/ijl/orjson - 3.10.8
Changed
intserialization no longer chainsOverflowErrorto the the__cause__attribute oforjson.JSONEncodeErrorwhen range exceeded.- Compatibility with CPython 3.14 alpha 1.
- Improve performance.
- Python
Published by ijl over 1 year ago
https://github.com/ijl/orjson - 3.10.7
Changed
- Improve performance of stable Rust amd64 builds.
- Python
Published by ijl over 1 year ago
https://github.com/ijl/orjson - 3.10.6
Changed
- Improve performance.
- Python
Published by ijl over 1 year ago
https://github.com/ijl/orjson - 3.10.5
Changed
- Improve performance.
- Python
Published by ijl over 1 year ago
https://github.com/ijl/orjson - 3.10.4
Changed
- Improve performance.
- Python
Published by ijl over 1 year ago
https://github.com/ijl/orjson - 3.10.3
Changed
manylinuxamd64 builds include runtime-detected AVX-512strimplementation.- Tests now compatible with numpy v2.
- Python
Published by ijl almost 2 years ago
https://github.com/ijl/orjson - 3.10.2
Fixed
- Fix crash serializing
strintroduced in 3.10.1.
Changed
- Improve performance.
- Drop support for arm7.
- Python
Published by ijl almost 2 years ago
https://github.com/ijl/orjson - 3.10.1
Fixed
- Serializing
numpy.ndarraywith non-native endianness raisesorjson.JSONEncodeError.
Changed
- Improve performance of serializing.
- Python
Published by ijl almost 2 years ago
https://github.com/ijl/orjson - 3.10.0
Changed
- Support serializing
numpy.float16(numpy.half). - sdist uses metadata 2.3 instead of 2.1.
- Improve Windows PyPI builds.
- Python
Published by ijl almost 2 years ago
https://github.com/ijl/orjson - 3.9.15
Fixed
- Implement recursion limit of 1024 on
orjson.loads(). - Use byte-exact read on
strformatting SIMD path to avoid crash.
- Python
Published by ijl almost 2 years ago
https://github.com/ijl/orjson - 3.9.14
Fixed
- Fix crash serializing
strintroduced in 3.9.11.
Changed
- Build now depends on Rust 1.72 or later.
- Python
Published by ijl about 2 years ago
https://github.com/ijl/orjson - 3.9.13
Fixed
- Serialization
strescape uses only 128-bit SIMD. - Fix compatibility with CPython 3.13 alpha 3.
Changed
- Publish
musllinux_1_2instead ofmusllinux_1_1wheels. - Serialization uses small integer optimization in CPython 3.12 or later.
- Python
Published by ijl about 2 years ago
https://github.com/ijl/orjson - 3.9.12
Fixed
- Minimal
musllinux_1_1build due to sporadic CI failure.
Changed
- Update benchmarks in README.
- Python
Published by ijl about 2 years ago
https://github.com/ijl/orjson - 3.9.11
Changed
- Improve performance of serializing.
stris significantly faster. Documents usingdict,list, andtupleare somewhat faster.
- Python
Published by ijl about 2 years ago
https://github.com/ijl/orjson - 3.9.10
Fixed
- Fix debug assert failure on 3.12
--profile=devbuild.
- Python
Published by ijl over 2 years ago
https://github.com/ijl/orjson - 3.9.9
Changed
orjsonmodule metadata explicitly marks subinterpreters as not supported.
- Python
Published by ijl over 2 years ago
https://github.com/ijl/orjson - 3.9.8
Changed
- Improve performance.
- Drop support for Python 3.7.
- Python
Published by ijl over 2 years ago
https://github.com/ijl/orjson - 3.9.7
Fixed
- Fix crash in
orjson.loads()due to non-reentrant handling of persistent buffer. This was introduced in 3.9.3. - Handle some FFI removals in CPython 3.13.
- Python
Published by ijl over 2 years ago
https://github.com/ijl/orjson - 3.9.6
Fixed
- Fix numpy reference leak on unsupported array dtype.
- Fix numpy.datetime64 reference handling.
Changed
- Minor performance improvements.
- Python
Published by ijl over 2 years ago
https://github.com/ijl/orjson - 3.9.5
Fixed
- Remove futex from module import and initialization path.
- Python
Published by ijl over 2 years ago
https://github.com/ijl/orjson - 3.9.4
Fixed
- Fix hash builder using default values.
- Fix non-release builds of orjson copying large deserialization buffer from stack to heap. This was introduced in 3.9.3.
- Python
Published by ijl over 2 years ago
https://github.com/ijl/orjson - 3.9.3
Fixed
- Fix compatibility with CPython 3.12.
Changed
- Support i686/x86 32-bit Python installs on Windows.
- Python
Published by ijl over 2 years ago
https://github.com/ijl/orjson - 3.9.2
Fixed
- Fix the
__cause__exception onorjson.JSONEncodeErrorpossibly being denormalized, i.e., of typestrinstead ofException.
- Python
Published by ijl over 2 years ago
https://github.com/ijl/orjson - 3.9.1
Fixed
- Fix memory leak on chained tracebacks of exceptions raised in
default. This was introduced in 3.8.12.
- Python
Published by ijl over 2 years ago
https://github.com/ijl/orjson - 3.9.0
Added
orjson.Fragmentincludes already-serialized JSON in a document.
- Python
Published by ijl over 2 years ago
https://github.com/ijl/orjson - 3.8.14
Changed
- PyPI
manylinuxwheels are compiled forx86-64instead ofx86-64-v2.
- Python
Published by ijl over 2 years ago
https://github.com/ijl/orjson - 3.8.13
Changed
- Source distribution contains all source code required for an offline build.
- PyPI macOS wheels use a
MACOSX_DEPLOYMENT_TARGETof 10.15 instead of 11. - Build uses maturin v1.
- Python
Published by ijl over 2 years ago
https://github.com/ijl/orjson - 3.8.12
Changed
- Exceptions raised in
defaultare now chained as the__cause__attribute onorjson.JSONEncodeError.
- Python
Published by ijl almost 3 years ago
https://github.com/ijl/orjson - 3.8.11
Changed
orjson.loads()on an empty document has a specific error message.- PyPI
manylinux_2_28_x86_64wheels are compiled forx86-64-v2. - PyPI macOS wheels are only
universal2and compiled forx86-64-v2andapple-m1.
- Python
Published by ijl almost 3 years ago
https://github.com/ijl/orjson - 3.8.10
Fixed
- Fix compatibility with CPython 3.12.0a7.
- Fix compatibility with big-endian architectures.
- Fix crash in serialization.
Changed
- Publish musllinux 3.11 wheels.
- Publish s390x wheels.
- Python
Published by ijl almost 3 years ago
https://github.com/ijl/orjson - 3.8.9
Fixed
- Fix parallel initialization of orjson.
- Python
Published by ijl almost 3 years ago
https://github.com/ijl/orjson - 3.8.8
Changed
- Publish ppc64le wheels.
- Python
Published by ijl almost 3 years ago
https://github.com/ijl/orjson - 3.8.7
Fixed
- Use serialization backend introduced in 3.8.4 only on well-tested platforms such as glibc, macOS by default.
- Python
Published by ijl almost 3 years ago
https://github.com/ijl/orjson -
Fixed
- Fix crash serializing when using musl libc.
Changed
- Make
python-dateutiloptional in tests. - Handle failure to load system timezones in tests.
- Python
Published by ijl about 3 years ago
https://github.com/ijl/orjson - 3.8.5
Fixed
- Fix
orjson.dumps()invalid output on Windows.
- Python
Published by ijl about 3 years ago
https://github.com/ijl/orjson - 3.8.4
Changed
- Improve performance.
- Python
Published by ijl about 3 years ago
https://github.com/ijl/orjson - 3.8.3
Fixed
orjson.dumps()acceptsoption=NoneperOptional[int]type.
- Python
Published by ijl about 3 years ago
https://github.com/ijl/orjson - 3.8.2
Fixed
- Fix tests on 32-bit for
numpy.intpandnumpy.uintp.
Changed
- Build now depends on rustc 1.60 or later.
- Support building with maturin 0.13 or 0.14.
- Python
Published by ijl over 3 years ago
https://github.com/ijl/orjson - 3.8.1
Changed
- Build maintenance for Python 3.11.
- Python
Published by ijl over 3 years ago
https://github.com/ijl/orjson - 3.8.0
Changed
- Support serializing
numpy.int16andnumpy.uint16.
- Python
Published by ijl over 3 years ago
https://github.com/ijl/orjson - 3.7.12
Fixed
- Fix datetime regression tests with tzinfo 2022b.
Changed
- Improve performance.
- Python
Published by ijl over 3 years ago
https://github.com/ijl/orjson - 3.7.11
Fixed
- Revert
dictiterator implementation introduced in 3.7.9.
- Python
Published by ijl over 3 years ago
https://github.com/ijl/orjson - 3.7.10
Fixed
- Fix serializing
dictwith deleted final item. This was introduced in 3.7.9.
- Python
Published by ijl over 3 years ago
https://github.com/ijl/orjson - 3.7.9
Changed
- Improve performance of serializing.
- Improve performance of serializing pretty-printed (
orjson.OPT_INDENT_2) to be much nearer to compact. - Improve performance of deserializing
strinput. - orjson now requires Rust 1.57 instead of 1.54 to build.
- Python
Published by ijl over 3 years ago
https://github.com/ijl/orjson - 3.7.8
Changed
- Build makes best effort instead of requiring "--features".
- Build using maturin 0.13.
- Python
Published by ijl over 3 years ago
https://github.com/ijl/orjson - 3.7.7
Changed
- Support Python 3.11.
- Python
Published by ijl over 3 years ago
https://github.com/ijl/orjson - 3.7.6
Changed
- Handle unicode changes in CPython 3.12.
- Build PyPI macOS wheels on 10.15 instead of 12 for compatibility.
- Python
Published by ijl over 3 years ago
https://github.com/ijl/orjson - 3.7.5
Fixed
- Fix issue serializing dicts that had keys popped and replaced. This was introduced in 3.7.4.
- Python
Published by ijl over 3 years ago
https://github.com/ijl/orjson - 3.7.4
Changed
- Improve performance.
Fixed
- Fix deallocation of
orjson.JSONDecodeError.
- Python
Published by ijl over 3 years ago
https://github.com/ijl/orjson - 3.7.3
Changed
- Improve build.
- Publish aarch64 musllinux wheels.
- Python
Published by ijl over 3 years ago
https://github.com/ijl/orjson - 3.7.2
Changed
- Improve deserialization performance.
- Python
Published by ijl over 3 years ago
https://github.com/ijl/orjson - 3.7.1
Fixed
- Type stubs for
orjson.JSONDecodeErrornow inherit fromjson.JSONDecodeErrorinstead ofValueError - Null-terminate the internal buffer of
orjson.dumps()output.
- Python
Published by ijl over 3 years ago
https://github.com/ijl/orjson - 3.7.0
Changed
- Improve deserialization performance significantly through the use of a new backend. PyPI wheels for manylinux228 and macOS have it enabled. Packagers are advised to see the README.
- Python
Published by ijl over 3 years ago
https://github.com/ijl/orjson - 3.6.9
Changed
- Improve serialization and deserialization performance.
- Python
Published by ijl over 3 years ago
https://github.com/ijl/orjson - 3.6.8
Fixed
- Fix serialization of
numpy.datetime64("NaT")to raise on an unsupported type.
- Python
Published by ijl almost 4 years ago
https://github.com/ijl/orjson - 3.6.7
Changed
- Improve performance of deserializing almost-empty documents.
- Publish arm7l
manylinux_2_17wheels to PyPI. - Publish amd64
musllinux_1_1wheels to PyPI.
Fixed
- Fix build requiring
pythononPATH.
- Python
Published by ijl about 4 years ago
https://github.com/ijl/orjson - 3.6.6
Changed
- Improve performance of serializing
datetime.datetimeusingtzinfothat arezoneinfo.ZoneInfo.
Fixed
- Fix invalid indexing in line and column number reporting in
JSONDecodeError. - Fix
orjson.OPT_STRICT_INTEGERnot raising an error on values exceeding a 64-bit integer maximum.
- Python
Published by ijl about 4 years ago
https://github.com/ijl/orjson - 3.6.5
Fixed
- Fix build on macOS aarch64 CPython 3.10.
- Fix build issue on 32-bit.
- Python
Published by ijl about 4 years ago
https://github.com/ijl/orjson - 3.6.4
Fixed
- Fix serialization of
dataclassinheriting fromabc.ABCand using__slots__. - Decrement refcount for numpy
PyArrayInterface. - Fix build on recent versions of Rust nightly.
- Python
Published by ijl over 4 years ago
https://github.com/ijl/orjson - 3.6.3
Fixed
- Fix build on aarch64 using the Rust stable channel.
- Python
Published by ijl over 4 years ago
https://github.com/ijl/orjson - 3.6.2
Changed
orjsonnow compiles on Rust stable 1.54.0 or above. Use of some SIMD usage is now disabled by default and packagers are advised to add--cargo-extra-args="--features=unstable-simd"to thematurin buildcommand if they continue to use nightly.orjsonbuilt with--features=unstable-simdadds UTF-8 validation implementations that use AVX2 or SSE4.2.- Drop support for Python 3.6.
- Python
Published by ijl over 4 years ago
https://github.com/ijl/orjson - 3.6.1
Changed
orjsonnow includes apyitype stubs file.- Publish manylinux224 wheels instead of manylinux2014.
Fixed
- Fix compilation on latest Rust nightly.
- Python
Published by ijl over 4 years ago
https://github.com/ijl/orjson - 3.6.0
Added
orjson.dumps()serializesnumpy.datetime64instances as RFC 3339 strings.
- Python
Published by ijl over 4 years ago
https://github.com/ijl/orjson - 3.5.4
Fixed
- Fix memory leak serializing
datetime.datetimewithtzinfo. - Fix wrong error message when serializing an unsupported numpy type without default specified.
Changed
- Publish python3.10 and python3.9 manylinux224 wheels.
- Python
Published by ijl over 4 years ago
https://github.com/ijl/orjson - 3.5.3
Fixed
orjson.JSONDecodeErrornow haspos,lineno, andcolno.- Fix build on recent versions of Rust nightly.
- Python
Published by ijl over 4 years ago
https://github.com/ijl/orjson - 3.5.2
Changed
- Improve serialization and deserialization performance.
orjson.dumps()serializes individualnumpy.bool_objects.
- Python
Published by ijl almost 5 years ago
https://github.com/ijl/orjson - 3.5.1
Changed
- Publish
universal2wheels for macOS supporting Apple Silicon (aarch64).
- Python
Published by ijl almost 5 years ago
https://github.com/ijl/orjson - 3.5.0
Added
orjson.loads()supports reading frommemoryviewobjects.
Fixed
datetime.datetimeanddatetime.datezero pad years less than 1000 to four digits.- sdist pins maturin 0.9.0 to avoid breaks in later 0.9.x.
Changed
orjson.dumps()when given a non-C contiguousnumpy.ndarrayhas an error message suggesting to usedefault.
- Python
Published by ijl almost 5 years ago
https://github.com/ijl/orjson - 3.4.8
Fixed
- aarch64 manylinux2014 wheels are now compatible with glibc 2.17.
Changed
- Fix build warnings on ppcle64.
- Python
Published by ijl about 5 years ago
https://github.com/ijl/orjson - 3.4.7
Changed
- Use vectorcall APIs for method calls on python3.9 and above.
- Publish python3.10 wheels for Linux on amd64 and aarch64.
- Python
Published by ijl about 5 years ago
https://github.com/ijl/orjson - 3.4.6
Fixed
- Fix compatibility with debug builds of CPython.
- Python
Published by ijl about 5 years ago
https://github.com/ijl/orjson - 3.4.5
Fixed
- Fix deserializing long strings on processors without AVX2.
- Python
Published by ijl about 5 years ago
https://github.com/ijl/orjson - 3.4.4
Changed
orjson.dumps()serializes integers up to a 64-bit unsigned integer's maximum. It was previously the maximum of a 64-bit signed integer.
- Python
Published by ijl about 5 years ago
https://github.com/ijl/orjson - 3.4.3
Fixed
- Fix regression in parsing similar
dictkeys.
- Python
Published by ijl over 5 years ago
https://github.com/ijl/orjson - 3.4.2
Changed
- Improve deserialization performance.
- Publish Windows python3.9 wheel.
- Disable unsupported SIMD features on non-x86, non-ARM targets
- Python
Published by ijl over 5 years ago
https://github.com/ijl/orjson - 3.4.1
Fixed
- Fix
orjson.dumps.__module__andorjson.loads.__module__not being thestr"orjson".
Changed
- Publish macos python3.9 wheel.
- More packaging documentation.
- Python
Published by ijl over 5 years ago
https://github.com/ijl/orjson - 3.4.0
Added
- Serialize
numpy.uint8andnumpy.int8instances.
Fixed
- Fix serializing
numpy.empty()instances.
Changed
- No longer publish
manylinux1wheels due to tooling dropping support.
- Python
Published by ijl over 5 years ago
https://github.com/ijl/orjson - 3.3.1
Fixed
- Fix failure to deserialize some latin1 strings on some platforms. This was introduced in 3.2.0.
- Fix annotation of optional parameters on
orjson.dumps()forhelp().
Changed
- Publish
manylinux2014wheels for amd64 in addition tomanylinux1.
- Python
Published by ijl over 5 years ago
https://github.com/ijl/orjson - 3.3.0
Added
orjson.dumps()now serializes individual numpy floats and integers, e.g.,numpy.float64(1.0).orjson.OPT_PASSTHROUGH_DATACLASScausesorjson.dumps()to passdataclasses.dataclassinstances todefault.
- Python
Published by ijl over 5 years ago
https://github.com/ijl/orjson - 3.2.2
Fixed
- Fix serializing
dataclasses.dataclassthat have no attributes.
Changed
- Improve deserialization performance of
str.
- Python
Published by ijl over 5 years ago
https://github.com/ijl/orjson - 3.2.1
Fixed
- Fix
orjson.dumps(..., **{})raisingTypeErroron python3.6.
- Python
Published by ijl over 5 years ago
https://github.com/ijl/orjson - 3.2.0
Added
orjson.OPT_APPEND_NEWLINEappends a newline to output.
Changed
- Improve deserialization performance of
str.
- Python
Published by ijl over 5 years ago
https://github.com/ijl/orjson - 3.1.2
Fixed
- Fix serializing zero-dimension
numpy.ndarray.
- Python
Published by ijl over 5 years ago
https://github.com/ijl/orjson - 3.1.1
Fixed
- Fix repeated serialization of
strthat are ASCII-only and have a legacy (non-compact) layout.
- Python
Published by ijl over 5 years ago
https://github.com/ijl/orjson - 3.1.0
Added
orjson.OPT_PASSTHROUGH_SUBCLASScausesorjson.dumps()to pass subclasses of builtin types todefaultso the caller can customize the output.orjson.OPT_PASSTHROUGH_DATETIMEcausesorjson.dumps()to passdatetimeobjects todefaultso the caller can customize the output.
- Python
Published by ijl over 5 years ago
https://github.com/ijl/orjson - 3.0.2
Changed
orjson.dumps()does not serializedataclasses.dataclassattributes that begin with a leading underscore, e.g.,_attr. This is because of the Python idiom that a leading underscores marks an attribute as "private."orjson.dumps()does not serializedataclasses.dataclassattributes that areInitVarorClassVarwhether using__slots__or not.
- Python
Published by ijl over 5 years ago
https://github.com/ijl/orjson - 3.0.1
Fixed
orjson.dumps()raises an exception if the object to be serialized is not given as a positional argument.orjson.dumps({})is intended and ok whileorjson.dumps(obj={})is an error. This makes it consistent with the documentation,help()annotation, and type annotation.- Fix orphan reference in exception creation that leaks memory until the garbage collector runs.
Changed
- Improve serialization performance marginally by using the fastcall/vectorcall calling convention on python3.7 and above.
- Reduce build time.
- Python
Published by ijl almost 6 years ago