Update dependency dataclass-wizard to v1 #118

Open
renovate-bot wants to merge 1 commits from renovate/dataclass-wizard-1.x into main
Collaborator

This PR contains the following updates:

Package Type Update Change
dataclass-wizard (changelog) project.dependencies major >=0.22.3,<1.0.0 -> >=1.0.0,<1.1.0

Release Notes

rnag/dataclass-wizard (dataclass-wizard)

v1.0.0

Compare Source

Major Release

This is the first stable major release of Dataclass Wizard.

Highlights include:

  • Made the v1 serialization and deserialization implementation the default.
  • Moved the legacy pre-v1 implementation under dataclass_wizard.v0 for compatibility.
  • Removed the temporary dataclass_wizard.v1 package used during the v1 opt-in period.
  • Added public modules for environment loading, meta configuration, conditions, patterns, properties, and mixins.
  • Added dedicated JSON, YAML, and TOML mixins under dataclass_wizard.mixins.
  • Improved automatic type conversion, alias handling, nested paths, recursive types, and union handling.
  • Added and updated type stubs across the package.
  • Reorganized the CLI package from wizard_cli to cli.
  • Updated README, documentation, examples, and tests for the v1 release.
  • Included numerous internal refactors, cleanup, and compatibility improvements.

v0.39.1

Compare Source

Maintenance and Fixes

  • General code cleanup and minor internal refactoring.

  • Minor optimization in v1 code generation for dump:

    • For fields with defaults, the generated code now uses the field name directly
      when the value is unchanged.
    • Avoids assigning to the temporary v1 variable when it is not required,
      resulting in slightly leaner generated output.
  • Updated results under benchmarks/ to reflect the latest changes.

  • Fixed mypy errors in serial_json.py (fixes :issue:237).

v0.39.0

Compare Source

v1 Improvements & Fixes

  • Optimized v1 dump and encode logic for recursive types. Dumpers now return JSON-compatible values only (dict, list, tuple, and scalar primitives), improving correctness and performance for deeply nested structures.

  • Fixed an issue where nested index assignments were not fully preserved during dump/encode. Index paths such as x[0][1] are now retained correctly instead of being truncated to x[0].

  • Fixed a bug in v1 nested Union handling where internal collisions could occur. Union resolution now incorporates a hash with a salt derived from the Union arguments, ensuring stable behavior for nested Unions.

Configuration

  • Added Meta.v1_namedtuple_as_dict (default: False)

    • When enabled, named tuples are dumped as dictionaries instead of positional tuples.
  • Added Meta.v1_coerce_none_to_empty_str (default: False)

    • When enabled, None values are coerced to empty strings for str fields during dump/encode.
  • Added Meta.v1_leaf_handling (default: 'exact')

    • Controls how leaf values are handled during serialization.

Internal Changes

  • Renamed internal codegen variable tp to t for clarity and consistency. This is an internal refactor with no user-facing impact.

v0.38.2

Compare Source

Documentation

  • Improved visibility and guidance for v1 opt-in usage

v0.38.1

Compare Source

Documentation

  • Streamlined and modernized front-page documentation
  • Improved visibility and guidance for v1 opt-in usage

v0.38.0

Compare Source

EnvWizard v1 (opt-in)


EnvWizard v1 introduces a new, explicit environment-loading engine with
predictable behavior and expanded feature support. v1 is **opt-in only**
and does not affect existing users unless enabled.

Highlights:

- Explicit environment precedence (env / dotenv / secrets)
- First-class nested dataclass support for env loading
- Separate alias models for load vs dump
- Improved error diagnostics and debug logging
- Full support for dotenv files and secrets directories

New v1 features:

- Environment precedence is now configurable and explicit
- Support for nested ``EnvWizard`` dataclasses
- New aliasing model:

  - ``v1_field_to_env_load`` (load-only)
  - ``v1_field_to_alias_dump`` (dump-only)

- Added ``Env(...)`` and ``Alias(env=...)`` helpers for field-level env configuration
- Added ``v1_pre_decoder`` to decode JSON or delimited strings into ``dict`` / ``list``
- Cached secrets and dotenv paths for improved performance
- v1 supports ``__post_init__()`` in generated ``EnvWizard.__init__``

Helpers and APIs:

- Added ``env_config`` for optional ``TypedDict``-style typing of ``__env__``
- ``EnvWizard.dict()`` (v0) is now ``EnvWizard.raw_dict()`` in v1
- Optimized helpers: ``as_bool``, ``as_int``, ``as_str``
- Added helpers: ``as_list``, ``as_dict``

Internal Changes and Fixes
  • Fixed invalid .pyi output in register_type (thanks to :user:GRcharles, :pr:234)

  • Added syntax checks to pre-commit and type checks to CI (:pr:234)

  • Fixed lazy codegen inheritance poisoning (:issue:209)

  • v1: Decode date / datetime as UTC by default (:issue:206)

  • Improved Windows timezone handling via tz extra (tzdata / ZoneInfo)

  • Improved caching behavior for Union loaders

  • Fixed multiple codegen and caching edge cases:

    • to_dict caching on subclasses
    • empty dataclass dumpers
    • kw_only field handling
    • FunctionBuilder globals merging
  • Added extensive v1 test coverage (90%+)

  • No breaking changes without explicit v1 opt-in

v0.37.0

Compare Source

Enhancements

  • Added first-class support for custom type hooks (see :issue:218) to extend (de)serialization
    for unsupported or user-defined types.

    • Type hooks can be registered either programmatically via register_type()
      or declaratively via Meta for v1 code generation.
  • Improved error reporting for unsupported types to clearly indicate whether the
    failure occurred during load or dump, and to suggest registering an
    appropriate type hook.

  • Extended support for additional standard-library types, such as
    ipaddress.IPv4Address.

  • Simplified internal code generation for iterable types and improved handling
    of built-in collection literals.

  • Exported register_type() at the top level, allowing type hooks to be
    registered via from dataclass_wizard import register_type.
    This is especially useful when using the functional API
    (fromdict / asdict) without class inheritance.

Backward compatibility

  • Existing v0 behavior remains unchanged unless custom type hooks are registered.
  • v1 behavior is opt-in and backward compatible.

v0.36.6

Compare Source

Packaging

  • Fixed an issue where subpackages were not included in built distributions
    after the switch to pyproject.toml packaging, which could cause import
    errors at runtime. See :issue:224.
  • Reduced packaged non-code files to the typing marker and stubs only.

v0.36.5

Compare Source

Bugfixes

  • Fixed a regression where inheriting from both LoadMixin and DumpMixin
    could fail due to conflicting internal helper method names.
    The helpers have been renamed to avoid method resolution order (MRO)
    conflicts when both mixins are used together.

    Reported by :user:rexzhang in :issue:218.

v0.36.4

Compare Source

Bugfixes

  • Fixed a regression in v0.36.x where frozen dataclasses could fail when
    inheriting from JSONWizard or other library mixins
    (TypeError: cannot inherit frozen dataclass from a non-frozen one).

    This occurred due to internal auto-dataclass decoration being applied to
    library-provided base classes. The behavior is now corrected so only
    user-defined subclasses are decorated.
    Thanks to :user:o-l-a-v for reporting this in :issue:217.

v0.36.3

Compare Source

Packaging

  • Migrated project configuration to pyproject.toml for modern,
    PEP 517-compliant builds using python -m build.
    Thanks to :user:CoolCat467 in :pr:213!

Typing

  • Fixed a syntax error in typing stub files that could surface during
    static analysis with tools such as mypy.
    Thanks to :user:CoolCat467 in :pr:213!

v0.36.2

Compare Source

Documentation

  • Updated the documentation URL to https://dcw.ritviknag.com.
  • Simplified the docs landing page by removing the redundant title header.
  • Refined the front-page layout for improved clarity and mobile readability.

Notes

  • This release includes documentation and presentation updates only.
  • No functional or behavioral changes were introduced.

v0.36.1

Compare Source

Documentation

  • Added a project logo and refreshed the front-page documentation layout.
  • Simplified and cleaned up the README and docs landing page for improved
    readability, especially on mobile.

Notes

  • This release contains documentation and presentation updates only.
    No functional or behavioral changes were introduced.

v0.36.0

Compare Source

Features and Improvements

  • Introduce DataclassWizard as the preferred base class for the v1 API.
    This class auto-applies the @dataclass decorator to subclasses, reducing
    boilerplate and clarifying the recommended usage going forward.
  • Add explicit v1 dump support via a new v1/dumpers.py implementation.
    This refactor improves separation of concerns and results in better
    serialization performance when v1 is enabled.
  • Update default usage examples and documentation to reflect the new
    DataclassWizard API and explicit load_case / dump_case configuration.
  • Fix annotation resolution for older Python versions by routing
    through get_resolved_annotations().

API Changes

  • Rename v1_key_case to v1_case for clarity and consistency with related
    v1 configuration options.

Internal Changes

  • Refactor v1 load/dump selection logic to route through the new v1 loader and
    dumper pipeline when enabled.

v0.35.4

Compare Source

Features and Improvements

  • Add compatability and support for Python 3.14. Thanks to :user:rexzhang in :pr:204!

v0.35.3

Compare Source

Bugfixes

  • Fix typing stub (.pyi) compatibility for older Python/tooling versions
    by removing Python 3.12-only type statement syntax and using
    TypeAlias/typing-compatible annotations instead (fixes :issue:176).

v0.35.2

Compare Source

Bugfixes

  • Replace ZoneInfo("UTC") with datetime.timezone.utc to avoid
    import-time failures on platforms without an IANA time zone database
    (notably Windows), removing the implicit dependency on tzdata (fixes :issue:180).

v0.35.1

Compare Source

Bugfixes

  • Roll back type ... syntax in .pyi files to maintain compatibility
    with older Python versions such as 3.9 (fixes :issue:176)

v0.35.0

Compare Source

Features and Improvements

  • V1 Opt-In:
    • Add support for Patterned Date and Time:
      • Naive Date/Time/Datetime
      • Timezone-aware Time/Datetime
      • UTC Time/Datetime
    • Update :func:Alias and :func:AliasPath to support multiple aliases and nested path(s)
    • Update the KeyCase.AUTO setting (specified via v1_key_case='AUTO') to correctly
      handle multiple possible keys for the field (e.g., it doesn't latch onto the first encountered key but now
      tries all valid key case transformations at runtime). This now results in expected or desired behavior (fixes :issue:175)
    • Float to Int Conversion Change: In V1 Opt-in (via Meta setting v1=True), floats or float strings
      with fractional parts (e.g., 123.4 or "123.4") are no longer silently converted to integers.
      Instead, they now raise an error. However, floats without fractional parts (e.g., 3.0 or "3.0")
      will continue to convert to integers as before.
    • Add documentation:
      • Patterned Date and Time
      • Aliases
    • Add tests for coverage
  • Optimize logic for determining if an annotated type is a TypedDict
  • Update requirements-bench.txt to correctly capture all Benchmark-related dependencies

Bugfixes

  • Ensure the py.typed marker is included in the source distribution (fixes :issue:173)
  • Address a minor bug in object path parsing that did not correctly interpret quoted literal values
    within blocks such as braces []

v0.34.0

Compare Source

Features and Improvements

  • V1 Opt-in

    • Support for recursive types OOTB for the following Python types:
      • NamedTuple
      • TypedDict
      • Union
      • Literal
      • Nested dataclasses
      • Type aliases_ (introduced in Python 3.12+)
    • Full support for bytes and bytearray in the de/serialization process (fixes :issue:140).
    • Performance improvements: Optimized Load functions for bool, NamedTuple, datetime, date, and time.
    • Added support for Type aliases_ (via type statement in Python 3.12+).
    • Improved logic in load_to_str to better check if it's within an Optional[...] type.
    • Enhanced handling of sub-types in de/serialization (TODO: add test cases).
    • Show deprecation warning for Meta setting debug_enabled (replaced by v1_debug).
  • Updated benchmarks for improved accuracy.

Bugfixes

  • Fixed issue where code generation failed to correctly account for indexes, especially when nested collection types like dict were used within a NamedTuple.
  • make check now works out-of-the-box for validating README.rst and other RST files for PyPI deployment.
  • :pr:169: Explicitly added utf-8 encoding for setup.py to enable installation from source on Windows (shoutout to :user:birkholz-cubert!).

.. _Type aliases: https://docs.python.org/3/library/typing.html#type-aliases


Configuration

📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 Ignore: Close this PR and you won't be reminded about this update again.


  • If you want to rebase/retry this PR, check this box

This PR has been generated by Renovate Bot.

This PR contains the following updates: | Package | Type | Update | Change | |---|---|---|---| | [dataclass-wizard](https://github.com/rnag/dataclass-wizard) ([changelog](https://dcw.ritviknag.com/en/latest/history.html)) | project.dependencies | major | `>=0.22.3,<1.0.0` -> `>=1.0.0,<1.1.0` | --- ### Release Notes <details> <summary>rnag/dataclass-wizard (dataclass-wizard)</summary> ### [`v1.0.0`](https://github.com/rnag/dataclass-wizard/blob/HEAD/HISTORY.rst#100-2026-07-02) [Compare Source](https://github.com/rnag/dataclass-wizard/compare/v0.39.1...v1.0.0) **Major Release** This is the first stable major release of Dataclass Wizard. Highlights include: - Made the v1 serialization and deserialization implementation the default. - Moved the legacy pre-v1 implementation under `dataclass_wizard.v0` for compatibility. - Removed the temporary `dataclass_wizard.v1` package used during the v1 opt-in period. - Added public modules for environment loading, meta configuration, conditions, patterns, properties, and mixins. - Added dedicated JSON, YAML, and TOML mixins under `dataclass_wizard.mixins`. - Improved automatic type conversion, alias handling, nested paths, recursive types, and union handling. - Added and updated type stubs across the package. - Reorganized the CLI package from `wizard_cli` to `cli`. - Updated README, documentation, examples, and tests for the v1 release. - Included numerous internal refactors, cleanup, and compatibility improvements. ### [`v0.39.1`](https://github.com/rnag/dataclass-wizard/blob/HEAD/HISTORY.rst#0391-2026-01-05) [Compare Source](https://github.com/rnag/dataclass-wizard/compare/v0.39.0...v0.39.1) **Maintenance and Fixes** - General code cleanup and minor internal refactoring. - Minor optimization in v1 code generation for `dump`: - For fields with defaults, the generated code now uses the field name directly when the value is unchanged. - Avoids assigning to the temporary `v1` variable when it is not required, resulting in slightly leaner generated output. - Updated results under `benchmarks/` to reflect the latest changes. - Fixed **mypy** errors in `serial_json.py` (fixes :issue:`237`). ### [`v0.39.0`](https://github.com/rnag/dataclass-wizard/blob/HEAD/HISTORY.rst#0390-2026-01-01) [Compare Source](https://github.com/rnag/dataclass-wizard/compare/v0.38.2...v0.39.0) **v1 Improvements & Fixes** - Optimized v1 dump and encode logic for recursive types. Dumpers now return **JSON-compatible values only** (`dict`, `list`, `tuple`, and scalar primitives), improving correctness and performance for deeply nested structures. - Fixed an issue where nested index assignments were not fully preserved during dump/encode. Index paths such as `x[0][1]` are now retained correctly instead of being truncated to `x[0]`. - Fixed a bug in v1 nested `Union` handling where internal collisions could occur. Union resolution now incorporates a **hash with a salt derived from the Union arguments**, ensuring stable behavior for nested Unions. **Configuration** - Added `Meta.v1_namedtuple_as_dict` (*default*: `False`) - When enabled, named tuples are dumped as dictionaries instead of positional tuples. - Added `Meta.v1_coerce_none_to_empty_str` (*default*: `False`) - When enabled, `None` values are coerced to empty strings for `str` fields during dump/encode. - Added `Meta.v1_leaf_handling` (*default*: `'exact'`) - Controls how leaf values are handled during serialization. **Internal Changes** - Renamed internal codegen variable `tp` to `t` for clarity and consistency. This is an internal refactor with no user-facing impact. ### [`v0.38.2`](https://github.com/rnag/dataclass-wizard/blob/HEAD/HISTORY.rst#0382-2025-12-27) [Compare Source](https://github.com/rnag/dataclass-wizard/compare/v0.38.1...v0.38.2) **Documentation** - Improved visibility and guidance for v1 opt-in usage ### [`v0.38.1`](https://github.com/rnag/dataclass-wizard/blob/HEAD/HISTORY.rst#0381-2025-12-26) [Compare Source](https://github.com/rnag/dataclass-wizard/compare/v0.38.0...v0.38.1) **Documentation** - Streamlined and modernized front-page documentation - Improved visibility and guidance for v1 opt-in usage ### [`v0.38.0`](https://github.com/rnag/dataclass-wizard/blob/HEAD/HISTORY.rst#0380-2025-12-26) [Compare Source](https://github.com/rnag/dataclass-wizard/compare/v0.37.0...v0.38.0) EnvWizard v1 (opt-in) ``` EnvWizard v1 introduces a new, explicit environment-loading engine with predictable behavior and expanded feature support. v1 is **opt-in only** and does not affect existing users unless enabled. Highlights: - Explicit environment precedence (env / dotenv / secrets) - First-class nested dataclass support for env loading - Separate alias models for load vs dump - Improved error diagnostics and debug logging - Full support for dotenv files and secrets directories New v1 features: - Environment precedence is now configurable and explicit - Support for nested ``EnvWizard`` dataclasses - New aliasing model: - ``v1_field_to_env_load`` (load-only) - ``v1_field_to_alias_dump`` (dump-only) - Added ``Env(...)`` and ``Alias(env=...)`` helpers for field-level env configuration - Added ``v1_pre_decoder`` to decode JSON or delimited strings into ``dict`` / ``list`` - Cached secrets and dotenv paths for improved performance - v1 supports ``__post_init__()`` in generated ``EnvWizard.__init__`` Helpers and APIs: - Added ``env_config`` for optional ``TypedDict``-style typing of ``__env__`` - ``EnvWizard.dict()`` (v0) is now ``EnvWizard.raw_dict()`` in v1 - Optimized helpers: ``as_bool``, ``as_int``, ``as_str`` - Added helpers: ``as_list``, ``as_dict`` Internal Changes and Fixes ``` - Fixed invalid `.pyi` output in `register_type` (thanks to :user:`GRcharles`, :pr:`234`) - Added syntax checks to pre-commit and type checks to CI (:pr:`234`) - Fixed lazy codegen inheritance poisoning (:issue:`209`) - v1: Decode `date` / `datetime` as UTC by default (:issue:`206`) - Improved Windows timezone handling via `tz` extra (`tzdata` / `ZoneInfo`) - Improved caching behavior for `Union` loaders - Fixed multiple codegen and caching edge cases: - `to_dict` caching on subclasses - empty dataclass dumpers - `kw_only` field handling - FunctionBuilder globals merging - Added extensive v1 test coverage (90%+) - No breaking changes without explicit v1 opt-in ### [`v0.37.0`](https://github.com/rnag/dataclass-wizard/blob/HEAD/HISTORY.rst#0370-2025-12-20) [Compare Source](https://github.com/rnag/dataclass-wizard/compare/v0.36.6...v0.37.0) **Enhancements** - Added first-class support for **custom type hooks** (see :issue:`218`) to extend (de)serialization for unsupported or user-defined types. - Type hooks can be registered either programmatically via `register_type()` or declaratively via `Meta` for v1 code generation. - Improved error reporting for unsupported types to clearly indicate whether the failure occurred during **load** or **dump**, and to suggest registering an appropriate type hook. - Extended support for additional standard-library types, such as `ipaddress.IPv4Address`. - Simplified internal code generation for iterable types and improved handling of built-in collection literals. - Exported `register_type()` at the top level, allowing type hooks to be registered via `from dataclass_wizard import register_type`. This is especially useful when using the functional API (`fromdict` / `asdict`) without class inheritance. **Backward compatibility** - Existing `v0` behavior remains unchanged unless custom type hooks are registered. - `v1` behavior is opt-in and backward compatible. ### [`v0.36.6`](https://github.com/rnag/dataclass-wizard/blob/HEAD/HISTORY.rst#0366-2025-12-19) [Compare Source](https://github.com/rnag/dataclass-wizard/compare/v0.36.5...v0.36.6) **Packaging** - Fixed an issue where subpackages were not included in built distributions after the switch to `pyproject.toml` packaging, which could cause import errors at runtime. See :issue:`224`. - Reduced packaged non-code files to the typing marker and stubs only. ### [`v0.36.5`](https://github.com/rnag/dataclass-wizard/blob/HEAD/HISTORY.rst#0365-2025-12-19) [Compare Source](https://github.com/rnag/dataclass-wizard/compare/v0.36.4...v0.36.5) **Bugfixes** - Fixed a regression where inheriting from both `LoadMixin` and `DumpMixin` could fail due to conflicting internal helper method names. The helpers have been renamed to avoid method resolution order (MRO) conflicts when both mixins are used together. Reported by :user:`rexzhang` in :issue:`218`. ### [`v0.36.4`](https://github.com/rnag/dataclass-wizard/blob/HEAD/HISTORY.rst#0364-2025-12-18) [Compare Source](https://github.com/rnag/dataclass-wizard/compare/v0.36.3...v0.36.4) **Bugfixes** - Fixed a regression in `v0.36.x` where frozen dataclasses could fail when inheriting from `JSONWizard` or other library mixins (`TypeError: cannot inherit frozen dataclass from a non-frozen one`). This occurred due to internal auto-dataclass decoration being applied to library-provided base classes. The behavior is now corrected so only user-defined subclasses are decorated. Thanks to :user:`o-l-a-v` for reporting this in :issue:`217`. ### [`v0.36.3`](https://github.com/rnag/dataclass-wizard/blob/HEAD/HISTORY.rst#0363-2025-12-18) [Compare Source](https://github.com/rnag/dataclass-wizard/compare/v0.36.2...v0.36.3) **Packaging** - Migrated project configuration to `pyproject.toml` for modern, PEP 517-compliant builds using `python -m build`. Thanks to :user:`CoolCat467` in :pr:`213`! **Typing** - Fixed a syntax error in typing stub files that could surface during static analysis with tools such as `mypy`. Thanks to :user:`CoolCat467` in :pr:`213`! ### [`v0.36.2`](https://github.com/rnag/dataclass-wizard/blob/HEAD/HISTORY.rst#0362-2025-12-15) [Compare Source](https://github.com/rnag/dataclass-wizard/compare/v0.36.1...v0.36.2) **Documentation** - Updated the documentation URL to `https://dcw.ritviknag.com`. - Simplified the docs landing page by removing the redundant title header. - Refined the front-page layout for improved clarity and mobile readability. **Notes** - This release includes documentation and presentation updates only. - No functional or behavioral changes were introduced. ### [`v0.36.1`](https://github.com/rnag/dataclass-wizard/blob/HEAD/HISTORY.rst#0361-2025-12-15) [Compare Source](https://github.com/rnag/dataclass-wizard/compare/v0.36.0...v0.36.1) **Documentation** - Added a project logo and refreshed the front-page documentation layout. - Simplified and cleaned up the README and docs landing page for improved readability, especially on mobile. **Notes** - This release contains documentation and presentation updates only. No functional or behavioral changes were introduced. ### [`v0.36.0`](https://github.com/rnag/dataclass-wizard/blob/HEAD/HISTORY.rst#0360-2025-12-14) [Compare Source](https://github.com/rnag/dataclass-wizard/compare/v0.35.4...v0.36.0) **Features and Improvements** - Introduce `DataclassWizard` as the preferred base class for the v1 API. This class auto-applies the `@dataclass` decorator to subclasses, reducing boilerplate and clarifying the recommended usage going forward. - Add explicit v1 dump support via a new `v1/dumpers.py` implementation. This refactor improves separation of concerns and results in better serialization performance when v1 is enabled. - Update default usage examples and documentation to reflect the new `DataclassWizard` API and explicit `load_case` / `dump_case` configuration. - Fix annotation resolution for older Python versions by routing through `get_resolved_annotations()`. **API Changes** - Rename `v1_key_case` to `v1_case` for clarity and consistency with related v1 configuration options. **Internal Changes** - Refactor v1 load/dump selection logic to route through the new v1 loader and dumper pipeline when enabled. ### [`v0.35.4`](https://github.com/rnag/dataclass-wizard/blob/HEAD/HISTORY.rst#0354-2025-12-12) [Compare Source](https://github.com/rnag/dataclass-wizard/compare/v0.35.3...v0.35.4) **Features and Improvements** - Add compatability and support for **Python 3.14**. Thanks to :user:`rexzhang` in :pr:`204`! ### [`v0.35.3`](https://github.com/rnag/dataclass-wizard/blob/HEAD/HISTORY.rst#0353-2025-12-12) [Compare Source](https://github.com/rnag/dataclass-wizard/compare/v0.35.2...v0.35.3) **Bugfixes** - Fix typing stub (`.pyi`) compatibility for older Python/tooling versions by removing Python 3.12-only `type` statement syntax and using `TypeAlias`/`typing`-compatible annotations instead (fixes :issue:`176`). ### [`v0.35.2`](https://github.com/rnag/dataclass-wizard/blob/HEAD/HISTORY.rst#0352-2025-12-12) [Compare Source](https://github.com/rnag/dataclass-wizard/compare/v0.35.1...v0.35.2) **Bugfixes** - Replace `ZoneInfo("UTC")` with `datetime.timezone.utc` to avoid import-time failures on platforms without an IANA time zone database (notably Windows), removing the implicit dependency on `tzdata` (fixes :issue:`180`). ### [`v0.35.1`](https://github.com/rnag/dataclass-wizard/blob/HEAD/HISTORY.rst#0351-2025-07-27) [Compare Source](https://github.com/rnag/dataclass-wizard/compare/v0.35.0...v0.35.1) **Bugfixes** - Roll back `type ...` syntax in `.pyi` files to maintain compatibility with older Python versions such as 3.9 (fixes :issue:`176`) ### [`v0.35.0`](https://github.com/rnag/dataclass-wizard/blob/HEAD/HISTORY.rst#0350-2025-01-19) [Compare Source](https://github.com/rnag/dataclass-wizard/compare/v0.34.0...v0.35.0) **Features and Improvements** - **V1 Opt-In:** - Add support for Patterned Date and Time: - Naive Date/Time/Datetime - Timezone-aware Time/Datetime - UTC Time/Datetime - Update :func:`Alias` and :func:`AliasPath` to support multiple aliases and nested path(s) - Update the `KeyCase.AUTO` setting (specified via `v1_key_case='AUTO'`) to correctly handle multiple possible keys for the field (e.g., it doesn't latch onto the first encountered key but now tries all valid key case transformations at runtime). This now results in expected or desired behavior (fixes :issue:`175`) - **Float to Int Conversion Change**: In V1 Opt-in (via `Meta` setting `v1=True`), floats or float strings with fractional parts (e.g., `123.4` or `"123.4"`) are no longer silently converted to integers. Instead, they now raise an error. However, floats without fractional parts (e.g., `3.0` or `"3.0"`) will continue to convert to integers as before. - Add documentation: - Patterned Date and Time - Aliases - Add tests for coverage - Optimize logic for determining if an annotated type is a `TypedDict` - Update `requirements-bench.txt` to correctly capture all Benchmark-related dependencies **Bugfixes** - Ensure the `py.typed` marker is included in the source distribution (fixes :issue:`173`) - Address a minor bug in object path parsing that did not correctly interpret quoted literal values within blocks such as braces `[]` ### [`v0.34.0`](https://github.com/rnag/dataclass-wizard/blob/HEAD/HISTORY.rst#0340-2024-12-30) [Compare Source](https://github.com/rnag/dataclass-wizard/compare/v0.33.0...v0.34.0) **Features and Improvements** - **V1 Opt-in** - Support for recursive types OOTB for the following Python types: - `NamedTuple` - `TypedDict` - `Union` - `Literal` - Nested `dataclasses` - `Type aliases`\_ (introduced in Python 3.12+) - Full support for `bytes` and `bytearray` in the de/serialization process (fixes :issue:`140`). - Performance improvements: Optimized Load functions for `bool`, `NamedTuple`, `datetime`, `date`, and `time`. - Added support for `Type aliases`\_ (via `type` statement in Python 3.12+). - Improved logic in `load_to_str` to better check if it's within an `Optional[...]` type. - Enhanced handling of sub-types in de/serialization (**TODO**: add test cases). - Show deprecation warning for Meta setting `debug_enabled` (replaced by `v1_debug`). - Updated benchmarks for improved accuracy. **Bugfixes** - Fixed issue where code generation failed to correctly account for indexes, especially when nested collection types like `dict` were used within a `NamedTuple`. - `make check` now works out-of-the-box for validating `README.rst` and other RST files for PyPI deployment. - :pr:`169`: Explicitly added `utf-8` encoding for `setup.py` to enable installation from source on Windows (shoutout to :user:`birkholz-cubert`!). .. \_Type aliases: https://docs.python.org/3/library/typing.html#type-aliases </details> --- ### Configuration 📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined). 🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied. ♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox. 🔕 **Ignore**: Close this PR and you won't be reminded about this update again. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- This PR has been generated by [Renovate Bot](https://github.com/renovatebot/renovate). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzOS4yNjQuMCIsInVwZGF0ZWRJblZlciI6IjM5LjI2NC4wIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119-->
renovate-bot added 1 commit 2026-07-04 20:01:24 -04:00
You are not authorized to merge this pull request.
This pull request can be merged automatically.
View command line instructions

Checkout

From your project repository, check out a new branch and test the changes.
git fetch -u origin renovate/dataclass-wizard-1.x:renovate/dataclass-wizard-1.x
git checkout renovate/dataclass-wizard-1.x
Sign in to join this conversation.
No Reviewers
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: imcompiling/dakiny-bot#118