- Dramatically speedup JSON string decoding, up to 2x speedup in some cases (#118).
- Adds a cache for decoding short (< 32 character) ASCII dict keys. This results in up to a 40% speedup when decoding many dicts with common keys using an untyped decoder. It's still recommended to define
Struct
types when your messages have a common structure, but in cases where no type is provided decoding is now much more performant (#120, #121). - Adds
order
andeq
configuration options forStruct
types, mirroring thedataclasses
options of the same name. Order comparisons for Struct types are very performant, roughly 10x to 70x faster than alternative libraries (#122). - Speedup
Struct
decoding for both JSON and MessagePack, on average 20% faster (#119). - Various additional performance improvements, mostly to the JSON implementation (#100, #101, #102).
- Add
defstruct
method for dynamically defining newStruct
types at runtime (#105). - Fix ARM support and publish ARM wheels for Linux and Mac (#104).
- Reduce published wheel sizes by stripping debug symbols (#113).
- Fix a memory leak in
Struct.__reduce__
(#117). - Rename
nogc
struct option togc
(a breaking change). To disable GC on a Struct instance you now want to specifygc=False
instead ofnogc=True
(#124).