- 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
Structtypes when your messages have a common structure, but in cases where no type is provided decoding is now much more performant (#120, #121). - Adds
orderandeqconfiguration options forStructtypes, mirroring thedataclassesoptions of the same name. Order comparisons for Struct types are very performant, roughly 10x to 70x faster than alternative libraries (#122). - Speedup
Structdecoding for both JSON and MessagePack, on average 20% faster (#119). - Various additional performance improvements, mostly to the JSON implementation (#100, #101, #102).
- Add
defstructmethod for dynamically defining newStructtypes 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
nogcstruct option togc(a breaking change). To disable GC on a Struct instance you now want to specifygc=Falseinstead ofnogc=True(#124).