Mashumaro

Latest version: v3.13

Safety actively analyzes 625095 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

Page 1 of 12

3.13

Changes
--------
* Added support for Python 3.13 (208, 209)
* Added support for PEP 695 (211)
* Added initial support for PEP 696 with typing-extensions 4.11.0 reference implementation (216)
* Added support for `MappingProxyType` (218)
* Added `forbid_extra_keys` config option to reject extra keys on deserialization (197, 198)
* Added an alternative way to assign a field alias with `Alias(...)` annotation (214), see updated [documentation](https://github.com/Fatal1ty/mashumaro?tab=readme-ov-file#field-aliases)
* Improved union encoding performance (194)
* Fixed a case when `omit_default` didn't work for `Enum` with basic types mixed in (204)
* Fixed `RecursionError` when annotated `SerializationStrategy` was used as a field serialization strategy (219)

3.12

Changes
--------
* Added support for associating multiple tags with a single variant by returning a list of tags from `variant_tagger_fn` (184)
* Added support for locally defined types (180, 182, 189)
* Added support for `ForwardRef` in JSON Schema generation (187)
* Fixed serialization of `IntFlag` when `omit_default` is enabled (188)
* Improved type annotations for `serialization_strategy` config option

3.11

Changes
--------
* Added "codecs" feature to separate data models from serialization and work with top-level lists, dataclasses without mixins etc. (108, 69), see updated [documentation](https://github.com/Fatal1ty/mashumaro#supported-serialization-formats)
* Added new `allow_deserialization_not_by_alias` config option to allow deserialization by both alias and field name, see [documentation](https://github.com/Fatal1ty/mashumaro#allow_deserialization_not_by_alias-config-option) (https://github.com/Fatal1ty/mashumaro/pull/175)
* Fixed `UnserializableDataError` for generic serializable types and generic serialization strategies with postponed evaluation of annotations (177)
* Fixed regression when `ValueError` was not thrown if invalid value type was passed to `from_*` method
* Added `serialize_by_alias` dialect option
* Added `namedtuple_as_dict` dialect option

3.10

Changes
--------
* Added new `sort_keys` config option to sort keys on serialization, see [documentation](https://github.com/Fatal1ty/mashumaro#sort_keys-config-option) (157)
* Added new `omit_default` config and dialect options to exclude values equal to defaults on serialization, see [documentation](https://github.com/Fatal1ty/mashumaro#omit_default-config-option) (161)
* Added `variant_tagger_fn` discriminator parameter to allow discrimination based on a key that is not part of the model, see [documentation](https://github.com/Fatal1ty/mashumaro#using-a-custom-variant-tagger-function) (135)
* Added new `no_copy_collections` dialect option to avoid collection data types copying, see [documentation](https://github.com/Fatal1ty/mashumaro#no_copy_collections-dialect-option) (163)
* Added support for `LiteralString` (166)
* Added initial support for `ForwardRef` types (144)
* Added ability to use basic types as serialization methods so that they will be reflected in the JSON schema (148)
* Added ability to use slots in `SerializableType` and `GenericSerializableType` subclasses (156)
* Added ability to use frozen dataclasses as dictionary keys (160)
* Added support for Python 3.12 (153)
* Dropped support for Python 3.7 (147)
* Moved from `flake8` to `ruff` (150)

3.9.1

Changes
--------
* Fixed handling of collections of annotated with unhashable metadata types on python < 3.9 (138)
* Fixed JSON Schema for inner dataclasses and optional fields with custom serialization methods (139)
* Fixed JSON Schema for third-party types with default value (141)

3.9

Changes
--------
* Added support for inner dataclasses without mashumaro mixins (109)
* Added support for `default_factory` by JSON Schema generator (114)
* Added ability to override `additionalProperties` in JSON Schema (123)
* Added ability to add "description" keyword in JSON Schema by using "description" key in dataclass field metadata (125)
* Fixed default reference prefix in JSON Schema 2022-12 dialect (126)
* Fixed handling of `Annotated` type with unhashable metadata (133)

Page 1 of 12

© 2024 Safety CLI Cybersecurity Inc. All Rights Reserved.