Skip to content

v1.0.0-beta.12

Pre-release
Pre-release

Choose a tag to compare

@leoafarias leoafarias released this 24 Jun 19:51
9819869

ack 1.0.0-beta.12

ack

Breaking

  • DoubleSchema and NumberSchema now reject non-finite values (NaN, Infinity, -Infinity) during runtime validation by default, aligning numeric schemas with JSON-safe values.
  • Removed the retired JSON Schema DTO converter APIs.
  • Replaced the interim JSON Schema model-kind API with sealed AckSchemaModel variants and a canonical AckSchema.toSchemaModel() adapter conversion.

Added

  • Ack.enumCodec<T extends Enum>(List<T> values) returns a CodecSchema<String, T> wrapping EnumSchema<T>.
  • NumberSchemaExtensions adds fluent numeric constraints to Ack.number(): .min, .max, .greaterThan, .lessThan, .positive, .negative, .multipleOf.

Changed

  • Discriminated schemas are projected through union-owned discriminator branches.
  • Defaults, const values, extension keywords, transformed metadata, composition, and JSON Schema constraints are preserved through the schema-model boundary.

Migration

  • Re-run tests for code paths that parse or encode double/num values. If a boundary must accept NaN/infinities, model that value outside the JSON numeric schema path before validation.

ack_annotations

Breaking — Removed AckModel, AckField, and decorator annotations. Only @AckType() remains.

ack_generator

Breaking — Removed class-based schema generation. Only top-level @AckType() schema variables and getters are supported.

ack_firebase_ai

  • Added toFirebaseAiResponseJsonSchema() for Firebase AI's GenerationConfig.responseJsonSchema path, plus committed golden fixtures and native fixture corpora.
  • Removed typed Firebase AI Schema conversion APIs — use toFirebaseAiResponseJsonSchema() instead.

ack_json_schema_builder

  • Routes conversion through ACK's sealed AckSchemaModel boundary and generic Draft-7 JSON Schema renderer; preserves defaults, const values, extension keywords, transformed metadata, and composition.
  • Removed the retired JSON Schema DTO converter path.

All five packages are released in lockstep at 1.0.0-beta.12.