Skip to content

v2.0.18 - Introducing Schema File Provider and Expanded Validation Schemas

Choose a tag to compare

@SeanLuis SeanLuis released this 28 Sep 03:37
· 3 commits to master since this release

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 ValidationSchemaBase instances and dynamically retrieve entity schemas using getSchema.
  • Environment Configuration: Schema file paths can now be configured via the SCHEMA_FILE_PATH environment 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.