Releases: izxxr/oblate
v1.2.1
The version 1.2.1 has been released for Oblate, that came with one major bug fix that caused the oblate.fields package to be missing when installing the library.
There are no other changes for this release but more features are planned and will be coming soon. Stay tuned!
v1.2.0
The version 1.2.0 is live on PyPi!
It has been two months since the last release because I had a lot to do and couldn't find time for Oblate but hopefully over the course of next few weeks, this library will see more release with more important features.
This release comes with a small change set. Some important features such as read only schemas and fields, data preprocessing and most notably, separated support for validating standard Python types (previously, it was only possible through the TypeExpr field). Apart from that, this release also fixes a critical bug that caused SyntaxError on Python versions below 3.11. Some other minor improvements have been implemented.
See the full changelog here: https://oblate.readthedocs.io/en/main/changelog.html#v1-2-0
Stay tuned for more in near future!
v1.1.0
Overview
This release mainly focuses on the introduction of type validation features. Oblate now provides type validation of basic type expressions from the Python's typing module. These type expressions are implemented into various data structures and other fields that have been added alongside validating raw value using a given type expression.
The new feature set for this release is relatively larger compared to general improvements and bug fixes. The next minor release will focus on these aspects.
New features
- Add
fields.Listfor acceptingliststructure. - Add
fields.Setfor acceptingsetstructures. - Add
fields.Dictandfields.TypedDictfor handling dictionaries. - Add
fields.TypeExprfor validating types using simple type expressions. - Add
fields.Anyfield as a no validation field. - Add
fields.Literalfield to accept pre-defined literal values. - Add
fields.Unionfor basic union type validation. - Add
validate.Rangevalidator for validating integer ranges. - Add
validate.Lengthvalidator for validating length of sized types. - Add
validate.Regexvalidator for validating values using regular expression. - Add
validate.Excludevalidator for disallowing/excluding specific values. - Add
validate.Orvalidator for OR'ing the result of multiple validators. - Add
Schema.__schema_post_init__method as a post initialization hook. - Add
ErrorContext.metadatafor storing extra error information. - Add
GlobalConfig.warn_unsupported_typesto control behaviour on using unsupported types. - Add
Field.nameandField.schemaproperties. - Add
init_kwargsparameter infields.Objectto support passing initialization arguments.
Improvements
- :
fields.Objectfield now supports passingSchemainstances directly instead of raw data. fields.Field.format_errorno longer requires super call and default error messages are resolved automatically.
v1.0.0
v0.2.0
New features
- Add support for partial schemas
- Add
fields.Partialfield. - Add
Schema.is_partialhelper method.
- Add
- Add
ValidationError.is_field_errorhelper to check whether exception relates to a field. - Add
Schema.after_init_hookmethod that gets called when schema is finished initializing. - Add
load_keyanddump_keyparameters tofields.Fieldto control the field names during serialization/deserialization of data. - Add
ValidationError.stateto allow storing state to an error that can later be accessed. - Add
includeandexcludeparameters toSchema.dump. - Add
rawparameter toField.validateandField.add_validatorto validate raw value.
Improvements
~fields.Objectfields now support raw data serialization upon setting after initialization.Schemaand all fields now have__slots__defined for performance sake.- User defined validators are now ran after field
value_*methods by default. Such that, validators now take serialized value instead of raw one. For previous behaviour,rawparameter must be used.
Bug fixes
- Fix
Schema.dumpreturning empty dictionary. - Fix fields returning improper values when initializing multiple schemas.
- Fix unable to set
Noneon nullable fields after initialization. - Fix field getting the new value using the setter even when the validations fail.
Full Changelog: 0.1.0...0.2.0