Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Milestone to v1 #164

Merged
merged 51 commits into from
Dec 17, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
51 commits
Select commit Hold shift + click to select a range
a69d542
apply `@dataclass` decorator
rnag Dec 1, 2024
05c860a
add `pprint` for `__str__()`
rnag Dec 1, 2024
19771ff
Lotta Changes to `Load`, it's Supa Fast !!!
rnag Dec 2, 2024
054e71a
Fixing a bug
rnag Dec 2, 2024
0506731
move to `v1`
rnag Dec 2, 2024
1eaa45c
ive got deser for defaultdict, enum, uuid, decimal, and path working!
rnag Dec 2, 2024
c75ec73
minor changes
rnag Dec 2, 2024
7fef942
add support for time, date, datetime, and timedelta
rnag Dec 2, 2024
dad21ec
add support for namedtuple, NamedTuple
rnag Dec 4, 2024
5a6ae32
add support for TypedDict
rnag Dec 4, 2024
deb839e
add support for ReadOnly, Literal, Annotated, LiteralString
rnag Dec 4, 2024
862e5c0
fix for nested dataclasses
rnag Dec 6, 2024
68b3312
minor refactor and changes
rnag Dec 7, 2024
e2b8e88
feat: deserialize `Union` types
rnag Dec 7, 2024
4a5c281
feat: add `v1` and `v1_unsafe_parse_dataclass_in_union`
rnag Dec 8, 2024
a873b2b
feat: add `v1` and `v1_unsafe_parse_dataclass_in_union`
rnag Dec 8, 2024
7a27227
fix tests and disable auto `@dataclass` application
rnag Dec 8, 2024
813eba8
i think that fix it
rnag Dec 8, 2024
2eade44
i think that fix it
rnag Dec 8, 2024
989416b
Moar Updates
rnag Dec 8, 2024
accb219
minor changes and tests need be added
rnag Dec 8, 2024
56685f3
optimize missing fields
rnag Dec 9, 2024
bfff459
add support for key casing
rnag Dec 9, 2024
f970288
add support for aliases
rnag Dec 10, 2024
3a91837
partially add `raise_on_unknown_key` support
rnag Dec 10, 2024
2c6868d
fully add `raise_on_unknown_key` support
rnag Dec 11, 2024
dde2d83
add support for `CatchAll`
rnag Dec 11, 2024
9a7725a
fully support `CatchAll`
rnag Dec 11, 2024
1b5f8fe
add more test cases for coverage
rnag Dec 12, 2024
6477ad3
add benchmarks for catch all
rnag Dec 12, 2024
dba8877
update to use `pytest-benchmark`
rnag Dec 13, 2024
aaf2077
checkin changes so far
rnag Dec 17, 2024
492f84c
fix logic so its working
rnag Dec 17, 2024
9044407
completely fix `AliasPath`
rnag Dec 17, 2024
3f3287a
fix tests on CI
rnag Dec 17, 2024
4a0adc6
fix tests on CI
rnag Dec 17, 2024
b0f6bb8
fix tests on CI
rnag Dec 17, 2024
f7f3ef8
Merge branch 'main' into milestone-to-V1
rnag Dec 17, 2024
543f51a
try fix tests on CI
rnag Dec 17, 2024
2a901eb
try fix tests on CI
rnag Dec 17, 2024
5649da1
thats not the issue, ima have to try debug it locally
rnag Dec 17, 2024
03d3936
Im stupid, we need to use `is_subclass_safe` after all :o
rnag Dec 17, 2024
34dea81
I tire of this
rnag Dec 17, 2024
bd52f88
Update badges and docs
rnag Dec 17, 2024
48c6ade
Update docs to mention v1` opt-in
rnag Dec 17, 2024
9857586
update description
rnag Dec 17, 2024
b6671b9
one last change, think its good to go!
rnag Dec 17, 2024
9147fe0
add section on perf in v1
rnag Dec 17, 2024
58a1ad3
clean up comments
rnag Dec 17, 2024
ce60349
Update HISTORY.rst
rnag Dec 17, 2024
b75f9e5
Update HISTORY.rst and add Dark Mode for Docs!
rnag Dec 17, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
24 changes: 24 additions & 0 deletions HISTORY.rst
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,30 @@
History
=======

0.33.0 (2024-12-17)
-------------------

* Introduce ``v1`` opt-in, providing a more user-friendly experience with significant performance improvements for de-serialization 🎉
* Add models for ``v1``, imported from ``dataclass_wizard.v1``:
* :func:`Alias`
* :func:`AliasPath`
* Add enums for ``v1``, imported from ``dataclass_wizard.v1.enums``:
* :class:`KeyCase`
* :class:`KeyAction`
* Add ``Meta`` settings for ``v1``:
* ``v1`` — Enable opt-in for the "experimental" major release `v1` feature.
* ``v1_debug`` — Replaces the deprecated ``debug_enabled`` Meta setting, which will be removed in ``v1``.
* ``v1_key_case`` — Specifies the letter case used for matching JSON keys when mapping them to dataclass fields.
* ``v1_field_to_alias`` — Custom mapping of dataclass fields to their JSON aliases (keys) for de/serialization.
* ``v1_on_unknown_key`` — Defines the action to take when an unknown JSON key is encountered during :meth:`from_dict` or :meth:`from_json` calls.
* ``v1_unsafe_parse_dataclass_in_union`` — Unsafe option: Enables parsing of dataclasses in unions without requiring the presence of a :attr:`tag_key`.
* Require the ``typing-extensions`` library up to Python 3.11 (its main use in Python 3.11 is ``ReadOnly`` for ``TypedDict``).
* Phase out the ``UnknownJSONKey`` exception class in favor of ``UnknownKeysError``, since ``v1`` now provides *all* missing keys in JSON (not just the first one!).
* Update benchmarks:
* Add benchmark for ``CatchAll``.
* Move benchmark dependencies to ``requirements-bench.txt``.
* Add new test cases.

0.32.1 (2024-12-04)
-------------------

Expand Down
Loading