Repository navigation
v2.0.18 - Introducing Schema File Provider and Expanded Validation Schemas
Introduction
We are pleased to announce the release of v2.0.18, which introduces two powerful features: the SchemaFileProvider utility for loading external schema files and an expansion of our validation schema library. These improvements significantly enhance the flexibility and scalability of the validation system, providing developers with more granular control over their validation logic.
Key Improvements
SchemaFileProvider:
- External Schema Loading: Load schema definitions from JSON or YAML files, externalizing schema management for large-scale applications.
- Schema Conversion and Retrieval: Convert schema definitions into
ValidationSchemaBaseinstances and dynamically retrieve entity schemas usinggetSchema. - Environment Configuration: Schema file paths can now be configured via the
SCHEMA_FILE_PATHenvironment variable for seamless integration.
Expanded Validation Schemas:
- New Schema Types: Added support for various schema types including
StringSchema,NumberSchema,ArraySchema,EnumSchema,DateSchema,TupleSchema, and more. - Advanced Validation Control: With these new schema types, developers can validate complex data structures with greater precision and flexibility.
- Lazy and Transform Schemas: Support for lazy evaluations and transformations during validation.
Implications
These updates provide essential tools for externalizing schema management and enhancing the robustness of validation processes. Developers can now manage and update schema definitions without modifying core application logic, making the system more maintainable and scalable. Additionally, the expanded schema support allows for more comprehensive data validation, ensuring data integrity across a wider range of use cases.
Acknowledgments
We extend our gratitude to the development team for their dedication to enhancing the library, and to the community for their continuous feedback and support. These contributions help us refine and improve the system with every release.
For more details and implementation guidance, visit our GitHub repository.