v1.0.0-beta.12
Pre-release
Pre-release
ack 1.0.0-beta.12
ack
Breaking
DoubleSchemaandNumberSchemanow 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
AckSchemaModelvariants and a canonicalAckSchema.toSchemaModel()adapter conversion.
Added
Ack.enumCodec<T extends Enum>(List<T> values)returns aCodecSchema<String, T>wrappingEnumSchema<T>.NumberSchemaExtensionsadds fluent numeric constraints toAck.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/numvalues. If a boundary must acceptNaN/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'sGenerationConfig.responseJsonSchemapath, plus committed golden fixtures and native fixture corpora. - Removed typed Firebase AI
Schemaconversion APIs — usetoFirebaseAiResponseJsonSchema()instead.
ack_json_schema_builder
- Routes conversion through ACK's sealed
AckSchemaModelboundary 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.