Releases: yukinarit/pyserde
Releases · yukinarit/pyserde
v0.10.3
What's Changed
Bug fixes
- fix: Fixed broken strict type checking for Optionals. Fixes #330 by @Fredrik-Reinholdsen in #331
Documentation
- Update README.md by @yukinarit in #327
- 👥 Add @Fredrik-Reinholdsen as a contributor by @yukinarit in #332
New Contributors
- @Fredrik-Reinholdsen made their first contribution in #331
Full Changelog: v0.10.2...v0.10.3
v0.10.2
What's Changed
Bug fixes
- Add type annotations to from_dict, from_tuple and from_msgpack by @yukinarit in #325
Refactoring
- Fix more type errors by @yukinarit in #322
Full Changelog: v0.10.1...v0.10.2
v0.10.1
What's Changed
Bug fixes
- Fix variable length of tuple by @yukinarit in #321
Full Changelog: v0.10.0...v0.10.1
v0.10.0
What's Changed
New features
pyserde can (de)serialize dataclasses without @serde
since v0.10.0. This feature is convenient when you want to use classes declared in external libraries or a type checker doesn't work with @serde
decorator. See this example. Thanks @Kobzol!
@dataclass
class Foo:
i: int
s: str
f: float
b: bool
f = Foo(i=10, s='foo', f=100.0, b=True)
print(f"Into Json: {to_json(f)}")
s = '{"i": 10, "s": "foo", "f": 100.0, "b": true}'
print(f"From Json: {from_json(Foo, s)}")
- Generate serialization/deserialization code for dataclasses not marked with @serde by @Kobzol in #312
- Use default options for unmarked dataclass code generation by @Kobzol in #314
- Allow serializing and deserializing root dataclasses by @Kobzol in #315
Bug fixes
- Fix deserialization with NewType and Untagged Union by @yukinarit in #313
CI
- Set commit author and title for commits in gh-pages by @yukinarit in #316
Documentation
- Migrate to Github's changelog by @yukinarit in #311
- Update contributors by @yukinarit in #317
- Document (de)serializing dataclasses without @serde by @yukinarit in #319
New Contributors
Full Changelog: v0.9.8...v0.10.0
v0.9.8
What's Changed
New features
- feat: Support optional ClassVar serialization by @yukinarit in #303
CI
- Add .github/release.yml by @yukinarit in #304
- Update CI scripts by @yukinarit in #305
- Upgrade to setup-python@v4 and enable caching by @yukinarit in #306
- Upgrade codecov-action to v3 by @yukinarit in #307
- Publish with Github Actions by @yukinarit in #310
Other changes
- Bump to 0.9.7 by @yukinarit in #295
- style: Fix styles and reformat code by @yukinarit in #299
- chore: Rename branch from master to main by @yukinarit in #300
Full Changelog: v0.9.7...v0.9.8
v0.9.7
A bug for optional unions was fixed, Thanks @soaxelbrooke!
@serde
@dataclass(frozen=True)
class Bar:
request: Optional[Union[str, int]]
- docs: add @soaxelbrooke as a contributor (063e705)
- Add support for optional unions (075949b)
- Add typing-utils for compatibility with python ver < 3.8 (620b9f6)
- Rely on compay.get_args instead of adding dependency (d93f894)
v0.9.6
- Recursive dataclasses are supported in #290
@dataclass class Recur: f: Optional['Recur'] serde(Recur)
typing.FrozenSet
andtyping.DefaultDict
are supported in #285,#286@serde @dataclass class Foo: a: FrozenSet[int] b: DefaultDict[str, List[int]]
- Pickle serializer and deserializer support is added in #284. Thanks @DoeringChristian!
Full Changelog: v0.9.5...v0.9.6
v0.9.5
v0.9.4
v0.9.3
Thanks to PEP681 @dataclass_transform, @dataclass
decorator is no longer mandatory if you use a PEP681 supported type checker such as pyright. If you are a mypy user, you still need @dataclass
decorator.
@serde
#@dataclass <= No longer needed.
class Foo:
i: int