v0.17.0
Highlights
- apischema is now compiled! It results in a big performance improvement, as shown on the new benchmark of the documentation. Compiled parts are still optional, and apischema remains a pure Python library.
- CI/CD has been improved a lot, everything is automated now!
- Breaking change Arbitrary exception raised during serialization are no more converted to ValidationError (#244) because of a security issue
What's Changed
- Cythonize (de)serialization methods and enable errors customization by @wyfo in #235
- Remove arbitrary exception conversion to ValidationError by @wyfo in #244
- Rename ValidationError "msg" to "err" by @wyfo in #246
- Ignore compilation failure at build by @wyfo in #247
- Add allowed types to deserialization by @wyfo in #239
- Improve Generic documentation about default type_name by @wyfo in #249
- Improve error message when missing type_name by @thomascobb in #250
- Add versioning to documentation by @wyfo in #265
- Use precommit for static checks by @wyfo in #269
- Add catch_value_error helper for converters by @wyfo in #270
- Avoid unnecessary copies in (de)serialization by @wyfo in #274
- Add Github action to publish documentation by @wyfo in #275
- Add compatibility with graphql-core>=3.0.0 and ignore older versions by @wyfo in #278
- Fix ForwardRef issue in Python 3.9.8 by @wyfo in #280
- Fix regression introduced by #280 by @wyfo in #283
- Refactor CI/CD by @wyfo in #286
- Include additional properties in TypedDict deserialization by @wyfo in #292
- Override dataclass constructor to improve performance by @wyfo in #295
- Add benchmark by @wyfo in #296
- Add location to serialization type check errors by @wyfo in #298
- Support OpenAPI discriminator by @wyfo in #301
- Include pyx files in package_data by @wyfo in #302
New Contributors
- @thomascobb made their first contribution in #250
- @dependabot made their first contribution in #287
- @pre-commit-ci made their first contribution in #290
Full Changelog: v0.16.1...v0.17