47f30df7a9
- Update to 0.19.0: * Improve JSON encoding performance by up to 40%. * Ensure tuple and frozenset default values are treated identically whether specified by value or default_factory. * Fix memory leak of match_args in StructConfig object. * Fix memory leak in Raw.copy(). * Update decode signatures for PEP 688. * Generate __replace__ method on Struct types, for use with copy.replace. * Fix incorrect decoding of certain > 64 bit integers. * Call __post_init__ when converting from an object to a Struct. * BREAKING: Expand buffer when encode_into is passed a buffer smaller than offset. * Support Raw objects as inputs to convert. * Error nicely when a dataclass type (instead of an instance) is passed to encode. * Drop support for Python 3.8. * Add support for Python 3.13. * Remove deprecated from_builtins. * Support encoding any Enum type whose .value is a supported type. * Don't fail eagerly when processing generic types with unsupported __parameters__. * Use eval_type_backport to backport type annotations to Python 3.9. - Drop patch python313.patch, included upstream. - Add patch support-python314.patch: * Support Python 3.14 annontation changes.
Steve Kowalik2025-11-07 03:31:08 +00:00
5880910cb3
Accepting request 1305403 from devel:languages:python
Ana Guerrero2025-09-17 15:06:51 +00:00
26880ed1e3
Accepting request 1142843 from devel:languages:python
Ana Guerrero2024-01-31 22:54:20 +00:00
1753bb4ac2
- update to 0.18.6: * Support coercing integral floats to ints when strict=False * Preserve leading _ when renaming fields to camel or pascal case * Support zero-copy decoding binary fields to a memoryview * Fix a bug when inheriting from the same Generic base class multiple times * Add an order option to all encoders for enforcing deterministic/sorted ordering when encoding. This can help provide a more consistent or human readable output * Support inheriting from any slots-class when defining a new Struct type with gc=False * Automatically infer the input field naming convention when converting non-dict mappings or arbitrary objects to Struct types in msgspec.convert
Dirk Mueller2024-01-30 18:06:52 +00:00
92bce22ce3
Accepting request 1135278 from devel:languages:python
Ana Guerrero2023-12-28 22:01:37 +00:00
86349e9f38
- update to 0.18.5: * Support unhashable `Annotated metadata in msgspec.inspect.type_info * Fix bug preventing decoding dataclasses/attrs types with default values and slots=True, frozen=True (:pr:569). * Support passing parametrized generic struct types to msgspec.structs.fields * Validate str constraints on dict keys when decoding msgpack (:pr:577). * Support UUID subclasses as inputs to msgspec.convert * Call __eq__ from generated __ne__ if user defines manual __eq__ method on a Struct type (:pr:593). * Include the Struct type in the generated hash * Add a cache_hash struct option (:pr:596). * Fix a bug around caching of dataclass type info when dealing with subclasses of dataclasses (:pr:599). * Add msgspec.structs.force_setattr (:pr:600). * Support custom dict key types in JSON encoder and decoder * Include dict key constraints in generated JSON schema via the propertyNames field (:pr:604). * Add a schema_hook for generating JSON schemas for custom types * Add support for Python 3.12's type aliases (:pr:606`).
Dirk Mueller2023-12-27 10:52:21 +00:00
8886932a3e
Accepting request 1131998 from devel:languages:python
Ana Guerrero2023-12-08 21:32:23 +00:00
99a38afad6
- update to 0.18.4: * Resolve an issue leading to periodic segfaults when importing `msgspec on CPython 3.12 * Improve type annotation for Struct.__rich_repr__ * Add pre-built wheels for Python 3.12 (:pr:558`) - Initial release of 0.18.2.
Dirk Mueller2023-12-07 23:03:53 +00:00
69d37cc3d9
Accepting request 1108387 from devel:languages:python
Ana Guerrero2023-09-01 12:21:45 +00:00