diff --git a/.github/workflows/preflight.yml b/.github/workflows/preflight.yml index b4e62157..bdb25323 100644 --- a/.github/workflows/preflight.yml +++ b/.github/workflows/preflight.yml @@ -24,7 +24,7 @@ env: # The published release that every public API is compared against. Raise it # after each published version. `dart_apitool` compares the declared version # against the change severity, so a breaking change requires a major bump. - API_BASELINE_VERSION: '1.6.0' + API_BASELINE_VERSION: '1.6.1' # The lowest SDK versions that packages/*/pubspec.yaml accept. MINIMUM_DART_VERSION: '3.9.0' MINIMUM_FLUTTER_VERSION: '3.35.0' diff --git a/CHANGELOG.md b/CHANGELOG.md index 7b71ea0a..6de0858d 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,6 +3,15 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## 1.6.2 + +* Restore import of Ack-exported JSON Schemas containing `pattern` and accept + standard `propertyNames` constraints. +* Align all six publishable packages at 1.6.2 without changing the public Dart + API. Existing hosted dependency minimums remain compatible. + +See the core package changelog for supported keyword details and regex limits. + ## 1.6.1 * Honor effective nullability consistently across unions, defaults, boundaries, diff --git a/PUBLISHING.md b/PUBLISHING.md index dbcf0458..dfffa44d 100644 --- a/PUBLISHING.md +++ b/PUBLISHING.md @@ -9,13 +9,13 @@ environment. A release-preparation PR does not publish anything. Use SemVer for the combined public API: patch for compatible fixes, minor for new compatible features/packages, and major when any stable public API breaks. -The next release is **1.6.1**, coordinating the effective-nullability, encoder -error-propagation, and codec wire-schema fixes. The public API is unchanged -from 1.6.0; `dart scripts/api_check.dart ack v1.6.0` reports no changes, so the -patch version satisfies the API gate. +The next release is **1.6.2**, restoring JSON Schema import compatibility for +`pattern` and accepting standard `propertyNames` schemas. No public Dart API +was added; this is a patch release for the import compatibility fix. The API +check compares the six packages against v1.6.1. -All six packages are published at 1.6.0, so the shared API baseline for this -release is 1.6.0. +The shared API baseline for this release is 1.6.1. Confirm that all six +packages have published 1.6.1 versions before preparing the release. Melos **8.7** is configured with `mode: fixed` and `workspaceTag: true`, matching this repository's release-tag verifier. `smartDependents: true` preserves @@ -47,7 +47,7 @@ References: [Melos versioning](https://melos.invertase.dev/commands/version), 3. Preview/prepare a coordinated version without creating commits or tags: ```sh - dart run melos version --manual-version=ack:1.6.1 --yes --no-git-commit-version + dart run melos version --manual-version=ack:1.6.2 --yes --no-git-commit-version ``` Use the named flag, not a positional package argument: the positional form @@ -60,16 +60,16 @@ References: [Melos versioning](https://melos.invertase.dev/commands/version), unreleased notes into the new section, preserving every published section. Update installation snippets to match each package's version. 5. Set `API_BASELINE_VERSION` in `.github/workflows/preflight.yml` to the latest - release published for all packages (currently `1.6.0`). Record a new + release published for all packages (currently `1.6.1`). Record a new package's actual first release in `ackPackageFirstReleases` in `scripts/src/workspace_packages.dart`; checks skip only older baselines. `ack_mcp_dart` first released at 1.3.0. 6. Validate the complete release: ```sh - dart scripts/verify_release_tag.dart v1.6.1 --skip-ancestry + dart scripts/verify_release_tag.dart v1.6.2 --skip-ancestry dart run melos run ci - dart scripts/api_check.dart 1.6.0 + dart scripts/api_check.dart 1.6.1 dart scripts/publish_dry_run.dart dart run melos run validate-jsonschema:batch ``` @@ -80,10 +80,11 @@ References: [Melos versioning](https://melos.invertase.dev/commands/version), staged hosted-dependency analysis; all must pass on the release merge commit. 7. Review and merge the release PR before creating the tag. -## First publication of ack_mcp_dart +## Historical first publication of ack_mcp_dart [pub.dev requires the first version of a new package to be published manually](https://dart.dev/tools/pub/automated-publishing). -OIDC cannot create a new package, and `ack_mcp_dart` is not yet on pub.dev. +OIDC cannot create a new package. The steps below applied only to the first +`ack_mcp_dart` release, v1.3.0; do not repeat them for 1.6.2. After the release PR merges and all checks pass, but **before pushing v1.3.0**: @@ -115,14 +116,14 @@ repository cannot configure pub.dev Admin settings on behalf of its owner. ## Publish the coordinated release -After the release commit's CI/preflight succeeds and first-package setup is done: +After the release commit's CI/preflight succeeds: ```sh git fetch origin main --tags # Use the exact reviewed release merge commit, not an arbitrary later main head. -git tag -a v1.6.1 -m 'Ack 1.6.1' -dart scripts/verify_release_tag.dart v1.6.1 -git push origin v1.6.1 +git tag -a v1.6.2 -m 'Ack 1.6.2' +dart scripts/verify_release_tag.dart v1.6.2 +git push origin v1.6.2 ``` Pushing the tag triggers `.github/workflows/release.yml`; there is no Melos @@ -148,4 +149,4 @@ or republish different contents under an existing version. After all six exact versions are visible, create the GitHub Release from the existing tag using the prepared release notes. Before the first subsequent code -change, begin a new unreleased changelog section instead of editing 1.6.1 notes. +change, begin a new unreleased changelog section instead of editing 1.6.2 notes. diff --git a/docs/getting-started/installation.mdx b/docs/getting-started/installation.mdx index 4c7811a1..2a8e90e9 100644 --- a/docs/getting-started/installation.mdx +++ b/docs/getting-started/installation.mdx @@ -20,7 +20,7 @@ Or add to your `pubspec.yaml` (check [pub.dev](https://pub.dev/packages/ack) for ```yaml dependencies: - ack: ^1.6.1 # Replace with latest version + ack: ^1.6.2 # Replace with latest version ``` ## Optional code generator @@ -37,11 +37,11 @@ Or add them to your `pubspec.yaml`: ```yaml dependencies: - ack: ^1.6.1 # Replace with latest version - ack_annotations: ^1.6.1 # Replace with latest version + ack: ^1.6.2 # Replace with latest version + ack_annotations: ^1.6.2 # Replace with latest version dev_dependencies: - ack_generator: ^1.6.1 # Replace with latest version + ack_generator: ^1.6.2 # Replace with latest version build_runner: ^2.4.0 ``` diff --git a/packages/ack/CHANGELOG.md b/packages/ack/CHANGELOG.md index 32f7b18e..d443a3b2 100644 --- a/packages/ack/CHANGELOG.md +++ b/packages/ack/CHANGELOG.md @@ -1,13 +1,17 @@ -## Unreleased +## 1.6.2 + +### Fixed + +* `Ack.fromJsonSchema()` now compiles the `pattern` keyword, restoring import + of schemas exported from Ack. It uses an unanchored ECMA-262 search on + strings and rejects invalid regular expressions at import time. ### Added -* `Ack.fromJsonSchema()` now compiles the `pattern` and `propertyNames` - keywords. `pattern` is an unanchored ECMA-262 search applied to strings - only, and is rejected at import time when it is not a valid regular - expression string. `propertyNames` validates every key of an object - instance against its subschema. Both round-trip through the Draft-7 export - unchanged, raising the pinned upstream conformance selection to 631 cases. +* `Ack.fromJsonSchema()` now accepts the standard `propertyNames` keyword to + validate every key of an object instance against its subschema. Both + keywords round-trip through the Draft-7 export unchanged, raising the pinned + upstream conformance selection to 631 cases. ## 1.6.1 diff --git a/packages/ack/pubspec.yaml b/packages/ack/pubspec.yaml index 63e63e1d..f27985cc 100644 --- a/packages/ack/pubspec.yaml +++ b/packages/ack/pubspec.yaml @@ -1,6 +1,6 @@ name: ack description: Schema validation and bidirectional codecs for Dart and Flutter -version: 1.6.1 +version: 1.6.2 repository: https://github.com/conceptadev/ack issue_tracker: https://github.com/conceptadev/ack/issues homepage: https://concepta.dev/ack diff --git a/packages/ack_annotations/CHANGELOG.md b/packages/ack_annotations/CHANGELOG.md index 7ba7574c..3cb1d7ad 100644 --- a/packages/ack_annotations/CHANGELOG.md +++ b/packages/ack_annotations/CHANGELOG.md @@ -1,3 +1,10 @@ +## 1.6.2 + +### Changed + +* Align with the coordinated Ack 1.6.2 release. This package has no source or + public API changes from 1.6.1; compatible dependency minimums are preserved. + ## 1.6.1 ### Changed diff --git a/packages/ack_annotations/README.md b/packages/ack_annotations/README.md index 971229d0..1c674fa2 100644 --- a/packages/ack_annotations/README.md +++ b/packages/ack_annotations/README.md @@ -8,11 +8,11 @@ retained for Ack 1.1 extension-type compatibility. ```yaml dependencies: - ack: ^1.6.1 - ack_annotations: ^1.6.1 + ack: ^1.6.2 + ack_annotations: ^1.6.2 dev_dependencies: - ack_generator: ^1.6.1 + ack_generator: ^1.6.2 build_runner: ^2.4.0 ``` diff --git a/packages/ack_annotations/pubspec.yaml b/packages/ack_annotations/pubspec.yaml index a4ee2e62..293431cc 100644 --- a/packages/ack_annotations/pubspec.yaml +++ b/packages/ack_annotations/pubspec.yaml @@ -1,6 +1,6 @@ name: ack_annotations description: Annotations for Ack schema-first models and class-first schema generation -version: 1.6.1 +version: 1.6.2 repository: https://github.com/conceptadev/ack resolution: workspace topics: diff --git a/packages/ack_firebase_ai/CHANGELOG.md b/packages/ack_firebase_ai/CHANGELOG.md index 1fd43fe9..9f0dbc35 100644 --- a/packages/ack_firebase_ai/CHANGELOG.md +++ b/packages/ack_firebase_ai/CHANGELOG.md @@ -1,3 +1,10 @@ +## 1.6.2 + +### Changed + +* Align with the coordinated Ack 1.6.2 release. This package has no source or + public API changes from 1.6.1; compatible dependency minimums are preserved. + ## 1.6.1 ### Changed diff --git a/packages/ack_firebase_ai/README.md b/packages/ack_firebase_ai/README.md index 0d114982..d54215f9 100644 --- a/packages/ack_firebase_ai/README.md +++ b/packages/ack_firebase_ai/README.md @@ -24,7 +24,7 @@ Always validate model output with the same ACK schema after generation. Firebase ```yaml dependencies: ack: ^1.2.0 - ack_firebase_ai: ^1.6.1 + ack_firebase_ai: ^1.6.2 firebase_ai: ^3.12.2 ``` diff --git a/packages/ack_firebase_ai/pubspec.yaml b/packages/ack_firebase_ai/pubspec.yaml index 28e67885..966b2b74 100644 --- a/packages/ack_firebase_ai/pubspec.yaml +++ b/packages/ack_firebase_ai/pubspec.yaml @@ -1,6 +1,6 @@ name: ack_firebase_ai description: Firebase AI (Gemini) schema converter for the Ack validation library -version: 1.6.1 +version: 1.6.2 repository: https://github.com/conceptadev/ack issue_tracker: https://github.com/conceptadev/ack/issues resolution: workspace diff --git a/packages/ack_generator/CHANGELOG.md b/packages/ack_generator/CHANGELOG.md index ac91e5f6..8597869f 100644 --- a/packages/ack_generator/CHANGELOG.md +++ b/packages/ack_generator/CHANGELOG.md @@ -1,3 +1,10 @@ +## 1.6.2 + +### Changed + +* Align with the coordinated Ack 1.6.2 release. This package has no source or + public API changes from 1.6.1; compatible dependency minimums are preserved. + ## 1.6.1 ### Changed diff --git a/packages/ack_generator/pubspec.yaml b/packages/ack_generator/pubspec.yaml index 5f3ca4d9..6d7da109 100644 --- a/packages/ack_generator/pubspec.yaml +++ b/packages/ack_generator/pubspec.yaml @@ -1,6 +1,6 @@ name: ack_generator description: Generates immutable models from Ack schemas and validated schemas from Dart classes -version: 1.6.1 +version: 1.6.2 repository: https://github.com/conceptadev/ack issue_tracker: https://github.com/conceptadev/ack/issues resolution: workspace diff --git a/packages/ack_json_schema_builder/CHANGELOG.md b/packages/ack_json_schema_builder/CHANGELOG.md index d5044e61..66879662 100644 --- a/packages/ack_json_schema_builder/CHANGELOG.md +++ b/packages/ack_json_schema_builder/CHANGELOG.md @@ -1,3 +1,10 @@ +## 1.6.2 + +### Changed + +* Align with the coordinated Ack 1.6.2 release. This package has no source or + public API changes from 1.6.1; compatible dependency minimums are preserved. + ## 1.6.1 ### Changed diff --git a/packages/ack_json_schema_builder/README.md b/packages/ack_json_schema_builder/README.md index 75869877..5f679375 100644 --- a/packages/ack_json_schema_builder/README.md +++ b/packages/ack_json_schema_builder/README.md @@ -47,8 +47,8 @@ for the complete support matrix and reference/diagnostic behavior. ```yaml dependencies: - ack: ^1.6.1 - ack_json_schema_builder: ^1.6.1 + ack: ^1.6.2 + ack_json_schema_builder: ^1.6.2 json_schema_builder: ^0.1.3 ``` diff --git a/packages/ack_json_schema_builder/pubspec.yaml b/packages/ack_json_schema_builder/pubspec.yaml index 045b3307..79791242 100644 --- a/packages/ack_json_schema_builder/pubspec.yaml +++ b/packages/ack_json_schema_builder/pubspec.yaml @@ -1,6 +1,6 @@ name: ack_json_schema_builder description: JSON Schema Builder converter for the Ack validation library -version: 1.6.1 +version: 1.6.2 repository: https://github.com/conceptadev/ack issue_tracker: https://github.com/conceptadev/ack/issues resolution: workspace diff --git a/packages/ack_mcp_dart/CHANGELOG.md b/packages/ack_mcp_dart/CHANGELOG.md index 9dc72cff..863c8a3f 100644 --- a/packages/ack_mcp_dart/CHANGELOG.md +++ b/packages/ack_mcp_dart/CHANGELOG.md @@ -1,3 +1,10 @@ +## 1.6.2 + +### Changed + +* Align with the coordinated Ack 1.6.2 release. This package has no source or + public API changes from 1.6.1; compatible dependency minimums are preserved. + ## 1.6.1 ### Changed diff --git a/packages/ack_mcp_dart/README.md b/packages/ack_mcp_dart/README.md index 3d4135b6..c2c2f601 100644 --- a/packages/ack_mcp_dart/README.md +++ b/packages/ack_mcp_dart/README.md @@ -16,7 +16,7 @@ Transport, negotiation, cancellation, and lifecycle remain in `mcp_dart`. ```yaml dependencies: ack: ^1.2.0 - ack_mcp_dart: ^1.6.1 + ack_mcp_dart: ^1.6.2 mcp_dart: ^2.4.2 ``` diff --git a/packages/ack_mcp_dart/pubspec.yaml b/packages/ack_mcp_dart/pubspec.yaml index 613d3d5d..c7e1033c 100644 --- a/packages/ack_mcp_dart/pubspec.yaml +++ b/packages/ack_mcp_dart/pubspec.yaml @@ -1,6 +1,6 @@ name: ack_mcp_dart description: MCP tool schemas and typed argument validation for Ack and mcp_dart -version: 1.6.1 +version: 1.6.2 repository: https://github.com/conceptadev/ack issue_tracker: https://github.com/conceptadev/ack/issues resolution: workspace