Repository navigation
Ack 1.7.0-beta.5
Pre-releaseChanges
- Strict JSON Schema import now supports
containsandif/then/else. - Imported-schema keyword evaluation failures expose
keyword,documentUri, andpointerthroughJsonSchemaValidationError. Source pointers correctly encode URI fragments containing percent signs, spaces,#, and Unicode. - All five publishable packages are coordinated at 1.7.0-beta.5. Adapter and generator APIs and compatible dependency minimums are unchanged.
Migration
Imported pattern expressions now use ECMA-262 Unicode mode. This is a deliberately accepted breaking change in 1.7.0, affecting users upgrading from stable 1.6.2 or earlier 1.7.0 betas.
. matches one code point: ^.$ accepts 😀, while ^..$ no longer matches its two UTF-16 code units. Review identity escapes too; replace ^\d{3}\-\d{4}$ with ^\d{3}-\d{4}$ outside character classes. Invalid Unicode-mode patterns fail import with an invalid_schema diagnostic.
Native Ack.string().matches() retains its Dart regex behavior. A native pattern can behave differently or fail import after export to JSON Schema.
Existing SchemaValidationError catches still work. Consumers requiring an exact runtime type or serialized error-map shape should allow the new subtype and its three additional fields. Initial null-input and JSON-value checks retain their existing Ack error types.
The beta.3 annotation and generator migrations still apply to users upgrading from older versions.
Packages
- ack 1.7.0-beta.5
- ack_generator 1.7.0-beta.5
- ack_json_schema_builder 1.7.0-beta.5
- ack_mcp_dart 1.7.0-beta.5
- ack_firebase_ai 1.7.0-beta.5
Validation
Full workspace tests, minimum Dart/Flutter checks, API comparison against 1.6.2, deterministic generation, Draft-7 validation, documentation validation, and zero-warning publish dry runs passed. The local aggregate passed 2,161 tests, including 394 generator tests; four opt-in Firebase live tests were skipped without credentials.