Mashumaro

Latest version: v3.14

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

Scan your dependencies

Page 1 of 12

3.14

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)

3.13.1

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)

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)

Page 1 of 12

© 2024 Safety CLI Cybersecurity Inc. All Rights Reserved.