Skip to content

v0.3.0-beta.1

Pre-release
Pre-release

Choose a tag to compare

@leoafarias leoafarias released this 19 Jun 18:02

What's Changed

✨ New Features

  • Discriminated Union Schemas: New schema type for polymorphic validation based on discriminator fields
  • Dart Mappable Integration: Seamless field name synchronization for model generation
  • Unified API Compatibility Checking: Single melos api-check command replaces 19 complex shell commands

🔄 API Modernization & Deprecations

Multiple constraint classes have been deprecated in favor of unified ComparisonConstraint and PatternConstraint implementations:

String Constraints (use PatternConstraint instead):

  • StringDateTimeConstraintPatternConstraint.dateTime()
  • StringDateConstraintPatternConstraint.date()
  • StringEnumConstraintPatternConstraint.enumValues()
  • StringEmailConstraintPatternConstraint.email()
  • StringRegexConstraintPatternConstraint.regex()
  • StringJsonValidatorPatternConstraint.json()

Numeric Constraints (use ComparisonConstraint instead):

  • NumberMinConstraintComparisonConstraint.numberMin()
  • NumberMaxConstraintComparisonConstraint.numberMax()
  • NumberRangeConstraintComparisonConstraint.numberRange()
  • NumberExclusiveMinConstraintComparisonConstraint.numberExclusiveMin()
  • NumberExclusiveMaxConstraintComparisonConstraint.numberExclusiveMax()
  • NumberMultipleOfConstraintComparisonConstraint.numberMultipleOf()

Collection Constraints (use ComparisonConstraint instead):

  • StringMinLengthConstraintComparisonConstraint.stringMinLength()
  • StringMaxLengthConstraintComparisonConstraint.stringMaxLength()
  • ListMinItemsConstraintComparisonConstraint.listMinItems()
  • ListMaxItemsConstraintComparisonConstraint.listMaxItems()
  • ObjectMinPropertiesConstraintComparisonConstraint.objectMinProperties()
  • ObjectMaxPropertiesConstraintComparisonConstraint.objectMaxProperties()

🛠️ Schema API Changes

  • SchemaRegistry: Simplified type signatures - removed model type parameter
  • SchemaModel: Method signature updates for parse() and tryParse()
  • Extension Methods: Deprecated legacy method names on schema extensions

📚 Documentation & Tooling

  • Consolidated API documentation and tooling
  • Enhanced constraint migration guidance
  • Simplified development workflow with unified commands

All deprecated APIs remain functional with migration guidance. See the deprecations for detailed migration paths.

Full Changelog: v0.2.0-beta.1...0.3.0-beta.1