Skip to content

Version 0.17.0

Compare
Choose a tag to compare
@jcrist jcrist released this 12 Jul 00:34
· 104 commits to main since this release
  • Ensure None may be explicitly passed to defstruct for module/namespace/bases (#445).
  • Support decoding datetime.datetime values from int/float values (interpreted as seconds since the Unix epoch) when strict=False (#452).
  • Support subclasses of collection types (list, dict, ...) as inputs to convert (#453).
  • Support str subclasses as keys in to_builtins and all protocol encode methods (#454).
  • Improved performance when JSON encoding decimal.Decimal values (#455).
  • Improved performance when JSON encoding int/float values (#458).
  • Improved performance when JSON encoding str values (#459).
  • Wrap errors in dec_hook with a ValidationError (#460).
  • Support decoding decimal.Decimal values from numeric values (#463)
  • Support encoding decimal.Decimal values as numeric values (#465).
  • Support converting decimal.Decimal values to float in convert (#466).
  • Preliminary support for CPython 3.12 beta releases (#467).
  • Support decoding integers that don't fit into an int64/uint64 (#469).
  • Add a new optional __post_init__ method for Struct types (#470).
  • Support decoding 0/1 into bool types when strict=False (#471).
  • Wrap errors raised in __post_init__/__attrs_post_init__ in a ValidationError when decoding (#472).
  • Add native support for encoding/decoding datetime.timedelta types (#475).
  • Add a new msgspec.json.Encoder.encode_lines method for encoding an iterable of values as newline-delimited JSON (#479).