Repository navigation
Ack 2.0.0-alpha.1
Pre-release
Pre-release
First prerelease of Ack 2.0, published for ack, ack_generator, ack_json_schema_builder, ack_firebase_ai and ack_mcp_dart. It runs on stable Dart (3.13 language features, including primary constructors on @Schemable classes).
Breaking
- Remove the legacy 1.x generator annotations (
@AckType,@AckInfer,@AckModel,@AckFieldand friends). Use@Schemable()on top-level schemas and on hand-written classes and unions. - Replace the top-level presence and constraint annotations (
@Optional,@Min,@Matches,@Email, …) andpackage:ack/format_annotations.dartwith the@Validate.*namespace. - Remove
Ack.enumCodec(useAck.enumValues) and the unusedStandardSchemaV1; sealSchemaErrorandAckSchema. Ack.fromJsonSchema()defaults toassertFormats: false, matching Draft 2020-12;toJsonSchema()preserves imported Draft 2020-12 resources (usetoJsonSchemaDraft7()for Draft-07 lowering).
Added
@Validate.*presence and constraint annotations, exported frompackage:ack/ack.dartandpackage:ack/annotations.dart.JsonMaybe<T>for PATCH-style tri-state presence.@Schemable(schemas: [...])and@AckKey('...')for custom schema registration and wire-name overrides.- Two-way string normalizers (
.trim(),.toLowerCase(),.toUpperCase()) onStringSchema. - The complete JSON Schema Draft 2020-12 validation runtime in
Ack.fromJsonSchema(). - The generator emits one
.g.dartpart per library and applies scalar@Validate.*constraints toList/Setitems.
Full notes are in each package's CHANGELOG.md under 2.0.0-alpha.1.