Skip to content

v1.0.0

Latest

Choose a tag to compare

@leoafarias leoafarias released this 26 Jun 18:33
6ecf4a1

Ack 1.0.0

Ack 1.0.0 is the first stable release of Ack, a schema validation library for Dart and Flutter. Ack helps you validate untrusted data at application boundaries, reuse the same schemas across runtime validation and JSON workflows, and generate typed wrappers when you want stronger ergonomics than map access.

Start with the documentation site or jump straight into the Quickstart Tutorial.

What is included

  • Fluent schema definitions for strings, numbers, booleans, objects, lists, enums, literals, unions, discriminated unions, and recursive schemas.
  • Validation rules for common constraints such as string length, patterns, email, UUID, URI, numeric ranges, list length, uniqueness, and custom checks.
  • Clear error handling through safeParse, SchemaResult, structured paths, and readable validation messages.
  • JSON serialization workflows for validating decoded API responses and working with validated data safely.
  • Codecs for bidirectional conversion between wire values and Dart runtime values, including dates, datetimes, URIs, durations, enums, and custom conversions.
  • Type-safe schema generation with @AckType() for extension types, typed getters, parse, and safeParse.
  • JSON Schema export through toJsonSchema() and the reusable schema-model boundary for adapter authors.
  • Flutter form validation examples for using Ack schemas in form fields.
  • Common recipes for API responses, reusable schemas, composition, enums, and other everyday validation tasks.
  • API reference covering the stable surface in one place.

Packages

For AI agents

Ack also publishes an llms.txt index with a compact overview of the packages, core APIs, code generation workflow, and common examples.

Release quality

This release was validated with the full package test suites, documentation checks, example tests, and pub.dev dry-runs before publishing. All five packages are now available on pub.dev at version 1.0.0.