Skip to content

Releases: Fatal1ty/mashumaro

v3.22

26 May 14:38

Choose a tag to compare

Changes

  • Added support for using Annotated[..., JSONSchema(...)] in JSON Schema generation (#326)
  • Added new fields contentEncoding, contentMediaType, contentSchema to JSONSchema (#326)

v3.21

07 May 16:31

Choose a tag to compare

Changes

  • Added support for recursive dataclasses in JSON Schema (#308)
  • Fixed building JSON Schema for dataclasses with slots (#307)
  • Fixed issue with deferred evaluation of annotations for serialization strategies and serializable types that include PEP 695 generic type parameters (#310)
  • Fixed errors for PEP 695 type aliases with generic arguments or cyclic references (#311, #312)
  • Code coverage report tool coveralls.io was replaced by codecov.io (#309)
  • Fixed propagation of lazy_compilation config value in generic dataclasses with inheritance (#319)
  • Added ability for serialization strategies to match subclasses (#298, #317)
  • Dropped support for Python 3.9 (#314)

v3.20

09 Feb 21:52

Choose a tag to compare

Changes

  • Fixed type name for for PEP 695 types created with type keyword (#305)

v3.19

03 Feb 19:17

Choose a tag to compare

Changes

  • Added support for recursive types in JSON Schema (#303)
  • Added "Trusted Publishing" workflow (#304)

v3.18

30 Jan 18:35

Choose a tag to compare

Changes

  • Fixed support for PEP 695 types created with type keyword in JSON Schema (#301)
  • Fixed serialization problem when collections with passing through items were used with no_copy_collections in unions (#302)

v3.17

03 Oct 21:10

Choose a tag to compare

Changes

  • Added support for Python 3.14 (#285)
  • Improved generating JSON Schema references and titles for generic dataclasses (#291)
  • Fixed JSON Schema for a generic dataclass with a field type T (#290)
  • Fixed ignoring NotRequired when using from __future__ import annotations (#292)
  • Added support for user extra args in field_options function (#286)
  • Improved packaging by switching from setup.py to pyproject.toml (#284)

v3.16

20 May 18:51

Choose a tag to compare

Changes

  • Added support for custom JSON Schema instance formats defined by users (#267)
  • Added support for typing.ReadOnly and typing_extensions.ReadOnly from PEP 705 (#272)
  • Fixed AttributeError when using generic SerializableType subclass (#275)

v3.15

23 Nov 17:05

Choose a tag to compare

Changes

  • Improved Union and basic types deserialization (#256), highlighted changes:
    • Expected int | float or float | int value can now be passed through without coercion and losing precision
    • Expected str value will be guaranteed to be a string version of the input value (#42)
    • Expected bool value will be guaranteed to be a boolean using standard truth testing procedure for the input value
    • Expected NoneType will be guaranteed to be None regardless of the input value
  • Introduced JSON Schema plugin system (#265), see updated documentation
    • Added built-in DocstringDescriptionPlugin to use a docstring as a description (#222)
  • Added support for recursive Union types (#206)
  • Configured MANIFEST.in to include tests folder in the sdist (#262)
  • Dropped support for Python 3.8 (#258)

v3.14

23 Oct 21:49

Choose a tag to compare

Changes

  • Added support for re.Pattern and typing.Pattern (#105)
  • Fixed DeprecationWarning introduced in Python 3.13 (#249)
  • Fixed potential duplications in the Union unpacker (#250)
  • Small changes under the hood (#244, #247)

v3.13.1

15 Jun 13:14

Choose a tag to compare

Changes

  • Fixed type annotation for the result of to_json method in DataClassORJSONMixin (#223)
  • Fixed compatibility with Python 3.12.4 (#226)
  • Fixed compatibility with latest TypeVar default changes in Python 3.13.0 and typing-extensions>=4.12 (#227)