Skip to content

chore(release): prepare Ack 1.7.0-beta.2 - #168

Merged
leoafarias merged 8 commits into
mainfrom
release/1.7
Sep 29, 2026
Merged

leoafarias merged 8 commits into
mainfrom
release/1.7

Conversation

@leoafarias

@leoafarias leoafarias commented Sep 28, 2026 •

Copy link
Copy Markdown
Collaborator

Summary

Everything in Ack 1.7.0-beta.2, as one PR into main. 1.7.0-beta.1 was never published; this candidate ships as beta.2.

Commit Change
737b4299, edbedc20 Static Model.schema shorthand on @AckInfer models. It is omitted on name collisions and when a schema import prefix is in scope (reviewed in #174).
ab642a92 One shared dartStringLiteral helper escapes control characters in every generated string literal (reviewed in #164).
07c9d338, 587fc693 description: on @AckModel/@AckField and a single-line @description doc tag (/// or /** */). Annotation text wins; untagged prose and // comments never export. This replaces the unreleased whole-doc-comment behavior on main (reviewed in #176) and addresses #175 with an explicit option instead of exporting untagged class doc comments.
b36dc289 Cap ack_generator test concurrency at two suites and tag the eight real build_runner tests integration (#179).
6bec904a, de879d9e Release prep: six packages at 1.7.0-beta.2, changelogs, READMEs, and PUBLISHING.md.

The release also ships what is already on main: typed copyWith (#165; the ack_generator changelog lists it under Breaking), stricter constrained-Set validation and CodecSchema.canEncode (#166), and shared inference plus model adapter schemas (#161).

The release commits change versions, changelogs, READMEs, and PUBLISHING.md, and raise ack_generator's minimums to ack/ack_annotations ^1.7.0-beta.2 (required for modelSchema and description:). They revert nothing on main.

Deferred to 2.0: the Draft 2020-12 runtime (#171) and JSON Schema-to-Dart generation (#167), still stacked as #171 ← #167, and the decoder error contract (#163). The pinned Draft 2020-12 corpus from #169 remains test data only.

#174, #164, and #176 show as merged into release/1.7. GitHub closed them automatically when this branch was restacked so the release commit comes last. Their review discussion remains on those PRs.

Validation

Validated locally on this exact tree (de879d9e):

  • The full Melos CI suite passed. Strict analysis (--fatal-infos) found no issues in all seven packages. Tests passed: ack 1,311, ack_generator 347, ack_firebase_ai 98, ack_mcp_dart 63, ack_json_schema_builder 51, ack_annotations 8, plus the root and example suites.
  • A clean regeneration (delete *.ack.dart/*.g.dart, then rebuild) reproduced the committed output exactly.
  • The API check against 1.6.2 reported no breaking changes in any of the six packages. It cannot inspect generated consumer code, so it does not flag the typed copyWith getter.
  • The publish dry run reported 0 warnings for all six packages. The release-tag verifier reports v1.7.0-beta.2 is releasable. The formatter check passed.
  • No feat(ack): support Draft 2020-12 runtime import and export #171 or feat(generator): generate models from Draft 2020-12 schemas #167 commit is an ancestor of this branch.

This PR prepares a beta. It does not tag or publish anything.

@leoafarias
leoafarias marked this pull request as ready for review September 28, 2026 04:58
@leoafarias
leoafarias marked this pull request as draft September 28, 2026 05:00
@leoafarias
leoafarias changed the base branch from main to feat/json-schema-model-generator September 28, 2026 22:07
@leoafarias
leoafarias added this pull request to stack #170 September 28, 2026 22:38
@leoafarias
leoafarias force-pushed the feat/json-schema-model-generator branch from 1f026b0 to 9d0a3c4 Compare September 28, 2026 23:08
@leoafarias
leoafarias removed this pull request from stack #170 September 28, 2026 23:10
@leoafarias
leoafarias added this pull request to stack #172 September 28, 2026 23:11
@leoafarias
leoafarias removed this pull request from stack #172 September 29, 2026 14:10
@leoafarias
leoafarias changed the base branch from feat/json-schema-model-generator to main September 29, 2026 14:10
@leoafarias
leoafarias added this pull request to stack #178 September 29, 2026 14:11
@leoafarias
leoafarias marked this pull request as ready for review September 29, 2026 15:06
…in scope

A static `schema` member shadows a library import prefix named `schema`,
so generated code that qualifies Ack or nested model types through that
prefix stopped compiling. Skip the shorthand in that case;
`$ack.modelSchema` stays available.
The generator had four copies of its string-literal helper. They escaped
quotes, backslashes, and `$` but wrote real newlines into single-quoted
Dart source, so a @pattern, discriminator, or key value with a line
terminator generated invalid code. Share one dartStringLiteral helper
that also writes C0 controls and U+2028/U+2029 as \uXXXX.

Rebuilt from #164 (c9adbcd..4440287) on the 1.7 release baseline.
Add `description:` to `@AckModel` and `@AckField`. When no annotation
description is present, read a single-line `@description` tag from `///`
or `/** */` documentation. Untagged prose and `//` comments never export.
Blank or duplicate tags fail with source-located diagnostics.

Class descriptions apply to the wire object and model codec, including
union bases and branches. Field descriptions apply only to the property.
This replaces the unreleased whole-doc-comment fallback on main.
Class-first string literals now escape control characters too.

Revises #176.
Only a bare fence marker closes an open code fence, so a ```dart line
inside a fence no longer exposes a following @description tag. Cover
blank annotation descriptions, make the authored-description test able
to fail, and rename tests that still described doc-comment export.
Align the six publishable packages at 1.7.0-beta.1 and move unreleased
notes into the 1.7.0-beta.1 changelog sections. The release includes
shared inference, model adapter schemas, CodecSchema.canEncode, typed
copyWith, stricter constrained-Set validation, the @AckInfer schema
shorthand (#174), generated string-literal escaping (#164), and explicit
schema descriptions (#176). Update PUBLISHING.md for this candidate.

The Draft 2020-12 runtime (#171), JSON Schema-to-Dart generation (#167),
and the decoder error contract (#163) are deferred to 2.0.
1.7.0-beta.1 was never published; release this candidate as beta.2.
Bump all six packages, the generator's ack/ack_annotations minimums,
changelog headings, README install snippets, and PUBLISHING.md.

Also, from the final release review: document that a `schema` import
prefix suppresses the model shorthand, clarify the @description tag
wording and example, note the generator's raised dependency minimums,
drop an odd scope paragraph from the root changelog, and write the
line-separator escapes in the literal helper as \u2028/\u2029 instead
of invisible characters.
@leoafarias leoafarias changed the title chore(release): prepare Ack 1.7.0-beta.1 chore(release): prepare Ack 1.7.0-beta.2 Sep 29, 2026
@leoafarias
leoafarias merged commit 354fb48 into main Sep 29, 2026
11 checks passed
@leoafarias
leoafarias deleted the release/1.7 branch September 29, 2026 17:34
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant