Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .github/workflows/preflight.yml
Original file line number Diff line number Diff line change
Expand Up @@ -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'
Expand Down
9 changes: 9 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -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,
Expand Down
35 changes: 18 additions & 17 deletions PUBLISHING.md
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down Expand Up @@ -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
Expand All @@ -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
```
Expand All @@ -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**:

Expand Down Expand Up @@ -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 <release-merge-sha> -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 <release-merge-sha> -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
Expand All @@ -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.
8 changes: 4 additions & 4 deletions docs/getting-started/installation.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand All @@ -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
```

Expand Down
18 changes: 11 additions & 7 deletions packages/ack/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -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

Expand Down
2 changes: 1 addition & 1 deletion packages/ack/pubspec.yaml
Original file line number Diff line number Diff line change
@@ -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
Expand Down
7 changes: 7 additions & 0 deletions packages/ack_annotations/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -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
Expand Down
6 changes: 3 additions & 3 deletions packages/ack_annotations/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -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
```

Expand Down
2 changes: 1 addition & 1 deletion packages/ack_annotations/pubspec.yaml
Original file line number Diff line number Diff line change
@@ -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:
Expand Down
7 changes: 7 additions & 0 deletions packages/ack_firebase_ai/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -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
Expand Down
2 changes: 1 addition & 1 deletion packages/ack_firebase_ai/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -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
```

Expand Down
2 changes: 1 addition & 1 deletion packages/ack_firebase_ai/pubspec.yaml
Original file line number Diff line number Diff line change
@@ -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
Expand Down
7 changes: 7 additions & 0 deletions packages/ack_generator/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -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
Expand Down
2 changes: 1 addition & 1 deletion packages/ack_generator/pubspec.yaml
Original file line number Diff line number Diff line change
@@ -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
Expand Down
7 changes: 7 additions & 0 deletions packages/ack_json_schema_builder/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -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
Expand Down
4 changes: 2 additions & 2 deletions packages/ack_json_schema_builder/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -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
```

Expand Down
2 changes: 1 addition & 1 deletion packages/ack_json_schema_builder/pubspec.yaml
Original file line number Diff line number Diff line change
@@ -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
Expand Down
7 changes: 7 additions & 0 deletions packages/ack_mcp_dart/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -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
Expand Down
2 changes: 1 addition & 1 deletion packages/ack_mcp_dart/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -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
```

Expand Down
2 changes: 1 addition & 1 deletion packages/ack_mcp_dart/pubspec.yaml
Original file line number Diff line number Diff line change
@@ -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
Expand Down
Loading