Update dependency dataclass-wizard to v1 #118
Open
renovate-bot
wants to merge 1 commits from
renovate/dataclass-wizard-1.x into main
pull from: renovate/dataclass-wizard-1.x
merge into: :main
:main
:renovate/pytz-2026.x
:renovate/ghcr.io-astral-sh-uv-0.x
:renovate/python-3.x
:renovate/pandas-3.x
:renovate/setuptools-84.x
:renovate/dataclass-wizard-1.x
:renovate/actions-checkout-7.x
:renovate/docker-login-action-4.x
:renovate/aiofiles-25.x
:81-sqlmodel
:autoban-channel
:test-some-util-functions
:add-logging
:update-python
:82-uv
:76-clan-points
:no-election-bug-fix
:78-config-for-skipping-election-cycle
:77-verification-for-splits
:21-edit-configs-from-discord
:65-database-changes
:74-Double-period-in-record-point-command
:60-view-event-points-when-no-non-discord-members
:71-catch-all-clan-participation
:68-time-command
:63-bad-sorting
:52-update-packages
:fix-ruff-lint-smells
:64-Limit-weekly-event-points
:49-view-votes-cant-see-HC-elections
:61-Create-virtual-environment-and-update-python-version
:54-Only-edit-changed-channels
:55-Use-dakiny-messages-repo-for-message-templates
:56-announce-clan-council
:53-Not-recording-High-Council-results-in-CouncilMembers-database
:6-add-clan-rules
:51-event-participation-recording
:44-sort-candidates
:47-incorrect-election-cycle
:42-q1-elections-wrong-name
:40-remove-presence
:39-view-presences
:v1.1.0
:36-bot-presence
:35-remove-nomination-views
:18-highcouncil-election
:33-fixes-from-mock-election
:30-threads
:34-use-correct-sql-statement
:mock-election
:32-view-votes-command
:28-add-election-reminder
:11-council-member-vote-automation
:29-update-name-of-channel
:27-supporting-first-live-action
:26-the-annoy-command
:25-cakeday
:22-daily-loop-not-starting-election
:19-birthday-tracking
:10-name-change-request
:20-finish-daily-loop
:15-term-start-action
:14-high-council-election-action
:13-voting-end-action
:12-voting-start-action
:3-sqlite-database
:2-election-cycle-class
:4-configuration-options
:election-class-test
:5-create-pipeline
:1-daily-loop
Reference in New Issue
Block a user
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
This PR contains the following updates:
>=0.22.3,<1.0.0->>=1.0.0,<1.1.0Release Notes
rnag/dataclass-wizard (dataclass-wizard)
v1.0.0Compare Source
Major Release
This is the first stable major release of Dataclass Wizard.
Highlights include:
dataclass_wizard.v0for compatibility.dataclass_wizard.v1package used during the v1 opt-in period.dataclass_wizard.mixins.wizard_clitocli.v0.39.1Compare Source
Maintenance and Fixes
General code cleanup and minor internal refactoring.
Minor optimization in v1 code generation for
dump:when the value is unchanged.
v1variable 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.0Compare 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 tox[0].Fixed a bug in v1 nested
Unionhandling 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)Added
Meta.v1_coerce_none_to_empty_str(default:False)Nonevalues are coerced to empty strings forstrfields during dump/encode.Added
Meta.v1_leaf_handling(default:'exact')Internal Changes
tptotfor clarity and consistency. This is an internal refactor with no user-facing impact.v0.38.2Compare Source
Documentation
v0.38.1Compare Source
Documentation
v0.38.0Compare Source
EnvWizard v1 (opt-in)
Fixed invalid
.pyioutput inregister_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/datetimeas UTC by default (:issue:206)Improved Windows timezone handling via
tzextra (tzdata/ZoneInfo)Improved caching behavior for
UnionloadersFixed multiple codegen and caching edge cases:
to_dictcaching on subclasseskw_onlyfield handlingAdded extensive v1 test coverage (90%+)
No breaking changes without explicit v1 opt-in
v0.37.0Compare Source
Enhancements
Added first-class support for custom type hooks (see :issue:
218) to extend (de)serializationfor unsupported or user-defined types.
register_type()or declaratively via
Metafor 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 beregistered via
from dataclass_wizard import register_type.This is especially useful when using the functional API
(
fromdict/asdict) without class inheritance.Backward compatibility
v0behavior remains unchanged unless custom type hooks are registered.v1behavior is opt-in and backward compatible.v0.36.6Compare Source
Packaging
after the switch to
pyproject.tomlpackaging, which could cause importerrors at runtime. See :issue:
224.v0.36.5Compare Source
Bugfixes
Fixed a regression where inheriting from both
LoadMixinandDumpMixincould 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:
rexzhangin :issue:218.v0.36.4Compare Source
Bugfixes
Fixed a regression in
v0.36.xwhere frozen dataclasses could fail wheninheriting from
JSONWizardor 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-vfor reporting this in :issue:217.v0.36.3Compare Source
Packaging
pyproject.tomlfor modern,PEP 517-compliant builds using
python -m build.Thanks to :user:
CoolCat467in :pr:213!Typing
static analysis with tools such as
mypy.Thanks to :user:
CoolCat467in :pr:213!v0.36.2Compare Source
Documentation
https://dcw.ritviknag.com.Notes
v0.36.1Compare Source
Documentation
readability, especially on mobile.
Notes
No functional or behavioral changes were introduced.
v0.36.0Compare Source
Features and Improvements
DataclassWizardas the preferred base class for the v1 API.This class auto-applies the
@dataclassdecorator to subclasses, reducingboilerplate and clarifying the recommended usage going forward.
v1/dumpers.pyimplementation.This refactor improves separation of concerns and results in better
serialization performance when v1 is enabled.
DataclassWizardAPI and explicitload_case/dump_caseconfiguration.through
get_resolved_annotations().API Changes
v1_key_casetov1_casefor clarity and consistency with relatedv1 configuration options.
Internal Changes
dumper pipeline when enabled.
v0.35.4Compare Source
Features and Improvements
rexzhangin :pr:204!v0.35.3Compare Source
Bugfixes
.pyi) compatibility for older Python/tooling versionsby removing Python 3.12-only
typestatement syntax and usingTypeAlias/typing-compatible annotations instead (fixes :issue:176).v0.35.2Compare Source
Bugfixes
ZoneInfo("UTC")withdatetime.timezone.utcto avoidimport-time failures on platforms without an IANA time zone database
(notably Windows), removing the implicit dependency on
tzdata(fixes :issue:180).v0.35.1Compare Source
Bugfixes
type ...syntax in.pyifiles to maintain compatibilitywith older Python versions such as 3.9 (fixes :issue:
176)v0.35.0Compare Source
Features and Improvements
Aliasand :func:AliasPathto support multiple aliases and nested path(s)KeyCase.AUTOsetting (specified viav1_key_case='AUTO') to correctlyhandle 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)Metasettingv1=True), floats or float stringswith fractional parts (e.g.,
123.4or"123.4") are no longer silently converted to integers.Instead, they now raise an error. However, floats without fractional parts (e.g.,
3.0or"3.0")will continue to convert to integers as before.
TypedDictrequirements-bench.txtto correctly capture all Benchmark-related dependenciesBugfixes
py.typedmarker is included in the source distribution (fixes :issue:173)within blocks such as braces
[]v0.34.0Compare Source
Features and Improvements
V1 Opt-in
NamedTupleTypedDictUnionLiteraldataclassesType aliases_ (introduced in Python 3.12+)bytesandbytearrayin the de/serialization process (fixes :issue:140).bool,NamedTuple,datetime,date, andtime.Type aliases_ (viatypestatement in Python 3.12+).load_to_strto better check if it's within anOptional[...]type.debug_enabled(replaced byv1_debug).Updated benchmarks for improved accuracy.
Bugfixes
dictwere used within aNamedTuple.make checknow works out-of-the-box for validatingREADME.rstand other RST files for PyPI deployment.169: Explicitly addedutf-8encoding forsetup.pyto 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.
This PR has been generated by Renovate Bot.
View command line instructions
Checkout
From your project repository, check out a new branch and test the changes.