- Detect Pydantic 2.10 models #311
- Fix serialization of dataclasses without
__slots__
and with a field defined with a descriptor object as default value, a field defined withinit=False
and a default value, or a cached property
- Drop support for Python 3.8
- Support
OPT_SORT_KEYS
also for Pydantic models #312 - Improve deserialization performance
- Deduplicate map keys also when
OPT_NON_STR_KEYS
is set #279 - Add missing type information for Ext type by trim21 in #285
- Fix type annotation of unpackb first argument
- Add support for python 3.13
- Improve test coverage
- Add support for numpy datetime64 and float16 types
- Optimize serialization of dataclasses
- Optimize deserialization of arrays and maps
- Fix crash on termination with Python 3.11 (#223)
- Add Linux aarch64 and armv7 wheels (#100, #207)
- Fix performance regression in dict serialization introduced in 1.3.0
- Fix crash in non optimized builds
- Add support for MessagePack Extension type
- Add support for numpy 16-bit integers
- Drop support for Python 3.7
- Add support for Python 3.12
- Add support for Pydantic 2
- Add
packb
optionOPT_SORT_KEYS
to serialize dictionaries sorted by key - Update dependencies
- aarch64 build on macOS. Took
src/serialize/writer.rs
from upstream orjson. by @ijl - Fix release on aarch64 to match orjson's upstream.
- update dependencies
- Fix CI (upgrade maturin, warnings, etc.)
- Updated dependencies. partially by @tilman19
- Handle clippy warnings.
- Update dependencies
- Release 3.10 wheels
- Update dependencies
- Extended int passthrough to support u64. by @pejter
- Updated README to include new options. by @ThomasTNO
- Updated dependencies
- Renamed in
numpy.rs
from_parent
toto_children
to fix new lint rules
- Add optional passthrough for tuples. by @TariqTNO
- Add optional passthrough for ints, that do not fit into an i64. by @TariqTNO
opt
parameter can beNone
.
- Updated dependencies.
- Dropped 3.6 CI/CD.
- Added macOS universal builds (M1)
- Update dependencies
- Update dependencies
- Decrement refcount for numpy
PyArrayInterface
. by @ilj. - Fix serialization of dataclass inheriting from
abc.ABC
and using__slots__
. by @ilj
- Updated dependencies.
find_str_kind
test for 4-byte before latin1. by @ilj
- Aligned to orjson's flags and features of SIMD. Didn't include the stable compilation part as seems unnecessary.
- Bumped serde, pyo3.
- Fixed pyproject.toml to work with newest maturin version.
- Update dependencies.
- Fixed clippy warnings for semicolon in macro.
- Bumped serde.rs
- Fixed
ormsgpack.pyi
support of str as input forunpackb
.
- Fixed Windows CI/CD.
- Refactored adding objects to the module, creating a
__all__
object similar to the way PyO3 creates. This solves an issue with upgrading to new maturin version. - Changed < Py3.7 implementation to use automatic range inclusion.
- Added test to validate correct Python method flags are used on declare.
- Changed to use PyO3 configurations instead of our own. PR #25 by @pejter.
- Fix memory leak serializing
datetime.datetime
withtzinfo
. (Copied from orjson)
- Update dependencies, PyO3 -> 0.14.1.
- Setup dependabot.
- Added
scripts/bench_target.py
andscripts/profile.sh
for easily benchmarking and profiling. Works only on Linux. PR #17 by @ijl.
unpackb
now accepts keyword argumentoption
with argumentOPT_NON_STR_KEYS
. This option will let ormsgpack unpack dictionaries with non-str keys. Be aware that this option is considered unsafe and disabled by default in msgpack due to possibility of HashDoS.packb
now is able to pack dictionaries with tuples as keys.unpackb
is able to unpack such dictionaries. Both requiresOPT_NON_STR_KEYS
.
- Grouped benchmarks in a pattern that should make more sense.
- Added pydantic docs to
README.md
- Added graphs and benchmark results.
- Depth limit is now enforced for
ormsgpack.unpackb
- function should be safe for use now.
- Removed
OPT_SERIALIZE_UUID
from ormsgpack.pyi as it doesn't exist.
- Added
scripts/test.sh
for running tests. - Added benchmarks, modified scripts to match new layout.
- Add support for serializing pydantic's
BaseModel
instances usingormsgpack.OPT_SERIALIZE_PYDANTIC
.
ormsgpack.packb
withoption
argument asormsgpack.OPT_NON_STR_KEYS
serializes bytes key into tuple of integers instead of using bin type. This also resulted in asymmetrical packb/unpackb.
- Added
--no-index
topip install ormsgpack
to avoid installing from PyPI on CI.
First version, changed orjson to ormsgpack.