Repository navigation
chore(release): prepare Ack 1.7.0-beta.2 - #168
Merged
Merged
Conversation
leoafarias
marked this pull request as ready for review
September 28, 2026 04:58
leoafarias
marked this pull request as draft
September 28, 2026 05:00
This was referenced Sep 28, 2026
leoafarias
changed the base branch from
main
to
feat/json-schema-model-generator
September 28, 2026 22:07
leoafarias
force-pushed
the
feat/json-schema-model-generator
branch
from
September 28, 2026 23:08
1f026b0 to
9d0a3c4
Compare
leoafarias
force-pushed
the
release/1.7
branch
from
September 28, 2026 23:10
3c33664 to
88a2070
Compare
leoafarias
force-pushed
the
release/1.7
branch
from
September 29, 2026 14:09
88a2070 to
c498de5
Compare
leoafarias
changed the base branch from
feat/json-schema-model-generator
to
main
September 29, 2026 14:10
This was referenced Sep 29, 2026
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.
leoafarias
force-pushed
the
release/1.7
branch
from
September 29, 2026 16:53
abc5828 to
6bec904
Compare
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.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
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.737b4299,edbedc20Model.schemashorthand on@AckInfermodels. It is omitted on name collisions and when aschemaimport prefix is in scope (reviewed in #174).ab642a92dartStringLiteralhelper escapes control characters in every generated string literal (reviewed in #164).07c9d338,587fc693description:on@AckModel/@AckFieldand a single-line@descriptiondoc tag (///or/** */). Annotation text wins; untagged prose and//comments never export. This replaces the unreleased whole-doc-comment behavior onmain(reviewed in #176) and addresses #175 with an explicit option instead of exporting untagged class doc comments.b36dc289ack_generatortest concurrency at two suites and tag the eight realbuild_runnertestsintegration(#179).6bec904a,de879d9e1.7.0-beta.2, changelogs, READMEs, andPUBLISHING.md.The release also ships what is already on
main: typedcopyWith(#165; theack_generatorchangelog lists it under Breaking), stricter constrained-Setvalidation andCodecSchema.canEncode(#166), and shared inference plus model adapter schemas (#161).The release commits change versions, changelogs, READMEs, and
PUBLISHING.md, and raiseack_generator's minimums toack/ack_annotations^1.7.0-beta.2(required formodelSchemaanddescription:). They revert nothing onmain.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):--fatal-infos) found no issues in all seven packages. Tests passed:ack1,311,ack_generator347,ack_firebase_ai98,ack_mcp_dart63,ack_json_schema_builder51,ack_annotations8, plus the root and example suites.*.ack.dart/*.g.dart, then rebuild) reproduced the committed output exactly.copyWithgetter.v1.7.0-beta.2 is releasable. The formatter check passed.This PR prepares a beta. It does not tag or publish anything.