Releases: NowanIlfideme/pydantic-yaml
v0.6.1 - Now with docs!
This release adds docs, hosted on readthedocs.org - though it's currently just the README.md file in a prettier form, there's now a way to easily improve the docs.
Development status is now set to "5 - Production/Stable", meaning this should be stable enough for everyday use. If you have any issues - please raise them, I depend on this library for work, and so have a vested interest in keeping it bug-free. 😉
What's Changed
- Added doc configuration by @NowanIlfideme in #13
Full Changelog: v0.6.0...v0.6.1
v0.6.0 - Enabling Pydantic 1.8-1.9 and Python 3.10
This release adds compatibility with Pydantic 1.9 and ensures compatibility with Python 3.10
However, a minimum version of Pydantic was set at 1.7.4
We also now more explicitly check python and Pydantic versions.
We added some mypy
fixes.
What's Changed
- Enable Pydantic 1.9 & Python 3.10 by @NowanIlfideme in #12
Full Changelog: v0.5.2...v0.6.0
v0.5.2 - Pin maximum Pydantic version < 1.8
What's Changed
- Limited Pydantic version <1.8 (currently broken). by @Anatoly-Makarevich in #11
New Contributors
- @Anatoly-Makarevich made their first contribution in #11
Full Changelog: v0.5.1...v0.5.2
v0.5.1 - Added SecretStr, SecretBytes support.
This version adds support for Pydantic's SecretStr and SecretBytes classes.
You can now dump them to YAML (they will be "**********" instead of their actual values). However, the "json_encoders" trick does not currently work - it's not straightforward to implement a similar thing for YAML, either by hooking into json_encoders
or by defining our own yaml_encoders
config.
Full Changelog: v0.5.0...v0.5.1
v0.5.0 - Major Rewrite, Nothing Should Break
If this release breaks your code, please create an issue here.
This rewrites pydantic_yaml
to be based on the YamlModelMixin
class. YamlModel
is still available, but is now just a subclass of YamlModelMixin
and BaseModel
. This gives a lot more flexibility to the user. 😄
This also adds some pretty neat basic type classes:
YamlStr
andYamlInt
are base classes for YAML-enabled string and int subclasses.YamlStrEnum
andYamlIntEnum
are enum superclasses that remove a lot of the strange edge cases with YAML serialization (and custom enum types).
This release deprecates YamlEnum
, though users will just be nagged to switch to YamlStrEnum
for now until the next major release (or until I remember, whichever comes later).
The release has been tested against old tests, which have also been slightly improved. However, since the tests weren't extremely extensive, I assume this may break something for some users.
What's Changed
- Full rewrite to use Mixin classes by @NowanIlfideme in #9
Full Changelog: v0.4.3...v0.5.0
v0.4.3
Re-publishing release, for some reason it didn't publish.
Full Changelog: v0.4.2...v0.4.3
More type and mypy fixes
- Fixed
py.typed
not being included in package data. - Added mypy to test suite.
- Fixed new errors found by mypy. 😄
MyPy/Typing fixes
Thanks to @Tonkonozhenko for contributing the PR #4
Release 0.4.0
Improved user experience, by parsing YAML by default from YamlModel
. Note that JSON is a subset of YAML, so YAML should be able to parse JSON (it's slower, but config files are too small to make a difference).
Added VersionedYamlModel
that can be used for versioning config files, including requiring minimum or maximum versions.
Added some more tests to CI.
Release 0.3.0
Changes:
- Removed unsupported options (old
ruamel.yaml
andpython==3.6
) - Modernized packaging mechanism (via
setup.cfg
) - Added unit tests.
- Added pretty badges. 😃