diff mbox series

[meta-python,2/2] python3-msgspec: Upgrade 0.21.1 -> 0.22.0

Message ID 20261001162102.2927672-2-leon.anavi@konsulko.com
State Under Review
Headers show
Series [meta-python,1/2] python3-ping3: Upgrade 5.1.5 -> 5.1.6 | expand

Commit Message

Leon Anavi Oct. 1, 2026, 4:21 p.m. UTC
Upgrade to release 0.22.0:

- BREAKING: Setting gc=False on a struct type that has a weakref
  slot, whether from weakref=True or from a base class, now raises
  ValueError. On CPython 3.12 and later the weakref slot is stored
  in a pre-header in front of the instance, so releasing an instance
  of a gc=False type with that slot corrupted memory, in most builds
  crashing the interpreter outright. The combination worked on 3.10
  and 3.11, and the restriction applies there as well, so that the
  same class definition behaves the same way on every supported
  version.
- Add frozendict support on Python 3.15+.
- Support passing a callable as decimal_format to
  msgspec.json.Encoder and msgspec.msgpack.Encoder for custom
  Decimal encoding.
- Support Literal[True] and Literal[False] types.
- Publish CPython 3.15 wheels, including freethreaded builds.
- Publish Linux riscv64 wheels.
- Support the PyEmscripten (Pyodide) platform.
- Fix handling of PEP 695 type parameter syntax (class Foo[T]) and
  of types.GenericAlias instances in type annotations.
- Fix NameError when creating a Struct with an unquoted forward
  reference on Python 3.14.
- Fix a crash on incorrect typing.ClassVar annotations (#1097).
- Fix an AttributeError when converting to a Struct type defined in
  a namespace without a __name__ (#1072).
- Fix overriding an inherited field alias back to the field's own
  name.
- Raise ValidationError instead of SystemError when convert receives
  an out-of-range int for a float target (#1162).
- Report raw rather than the misleading any as the expected type
  when a non-Raw value is given for a Raw field in convert, and
  therefore in yaml.decode and toml.decode.
- Fix an empty expected-type name in validation errors for a
  required Raw field in a TypedDict, or a Raw field with a
  default_factory on a dataclass or an attrs class.
- Correct the error messages for out-of-range Meta length bounds.
- Fix a reference leak when decoding msgpack Ext payloads.
- Fix backing type declaration of Ext.code.
- Fix a reference leak in msgspec.to_builtins, and therefore in
  yaml.encode, for array_like=True structs.
- Fix reference leaks in typenode_collect_literal,
  Meta.__rich_repr__, ms_decode_bigint, and Encoder.__init__.
- Fix msgspec.inspect.type_info and msgspec.json.schema crashing
  on mixed-type Literals such as Literal[1, None].
- Place null last in the anyOf generated for optional unions in
  JSON schemas.
- Fix minItems in the JSON schema for array_like=True structs whose
  fields are all optional.
- Use [] or "" rather than a Python set or bytearray object as the
  JSON schema default for Struct fields with a set or bytearray
  default_factory.
- Preserve JSON Schema metadata and string constraints in
  propertyNames for annotated dictionary key types.
- Fix msgspec.json.encode raising TypeError for a dict keyed by a
  plain enum.Enum with str values.
- Fix missing GC traversal and clearing of some module state
  members.
- Ensure an exception is always set on allocation failures.
- Fix compilation warnings on Python 3.15.
- Report the leading argument of the encode and decode functions
  and methods as positional-only in inspect.signature and the
  rendered docs, matching runtime behavior.
- Add overloads to the Meta type stub, so type checkers reject
  mixing gt with ge or lt with le.
- Many type stub improvements and fixes.
- Document the differences between msgspec.structs.asdict/astuple
  and msgspec.to_builtins.
- Document that omit_defaults ignores fields with a custom
  default_factory.
- Fix the msgspec.json.decode docstring to say dec_hook should
  raise NotImplementedError for unsupported types, not TypeError.
- msgspec moved to the msgspec GitHub organization.
- documentation now lives at msgspec.dev.

Signed-off-by: Leon Anavi <leon.anavi@konsulko.com>
---
 .../{python3-msgspec_0.21.1.bb => python3-msgspec_0.22.0.bb}    | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
 rename meta-python/recipes-devtools/python/{python3-msgspec_0.21.1.bb => python3-msgspec_0.22.0.bb} (86%)
diff mbox series

Patch

diff --git a/meta-python/recipes-devtools/python/python3-msgspec_0.21.1.bb b/meta-python/recipes-devtools/python/python3-msgspec_0.22.0.bb
similarity index 86%
rename from meta-python/recipes-devtools/python/python3-msgspec_0.21.1.bb
rename to meta-python/recipes-devtools/python/python3-msgspec_0.22.0.bb
index f12882e4c8..23bfac7ce4 100644
--- a/meta-python/recipes-devtools/python/python3-msgspec_0.21.1.bb
+++ b/meta-python/recipes-devtools/python/python3-msgspec_0.22.0.bb
@@ -3,7 +3,7 @@  HOMEPAGE = "https://github.com/jcrist/msgspec"
 LICENSE = "BSD-3-Clause"
 LIC_FILES_CHKSUM = "file://LICENSE;md5=c21402f8022478021f697044388b97c4"
 
-SRC_URI[sha256sum] = "2313508e394b0d208f8f56892ca9b2799e2561329de9763b19619595a6c0f72c"
+SRC_URI[sha256sum] = "0a13624a4969159fe35d8c2a3d377b2b61bbd8585e327440d5e52725affcce38"
 
 DEPENDS += "python3-setuptools-scm-native"