release: fluttersdk_artisan 0.0.10 - #42
Merged
Merged
Conversation
Promotes `## [Unreleased]` to `## [0.0.10] - 2026-08-20` and bumps every stamp that carries the version. Three of those stamps are hand-edited and one of them has already been missed: the MCP handshake string shipped 0.0.8 through the whole 0.0.9 release, so clients read a version behind and it took a follow-up release to correct. `test/mcp/mcp_server_version_test.dart` now reads the version off the initialize handshake, compares it to `pubspec.yaml`, and names the file to edit when they differ, so that particular drift cannot happen a third time. Also in this cut: - `### Quality` renamed to `### Documentation`. Every entry under it is a docs or skill correction, `Quality` is not a Keep-a-Changelog category, and 0.0.8 already set the `Documentation` precedent in this file. - Footer compare links for all ten releases. The release procedure has called for one per version since the beginning and the file has never carried any, so adding a lone 0.0.10 link would have read as broken. - The caret constraint quoted in the installation, install and plugin authoring pages moved off `^0.0.1`, which told a reader the package had never moved.
… missed it CI caught what the release commit did not: `example/packages/awesome_plugin/ pubspec.yaml` also carries a `path:` dep on this package with an explicit `version:`, so bumping `example/pubspec.yaml` alone made `flutter pub get` fail with `version solving failed`. That makes five hand-edited version stamps, not the four the CLAUDE.md note claimed one commit ago. The note now names all five and says which of them are guarded: the MCP string by its new test, and the two example pubspecs by pub's own resolver, which is what just failed. The SKILL.md stamp is the only one nothing checks. `example/pubspec.lock` records the path dep's version too, so it moves with every release whether or not anything else changed. The analysis_options excludes are what `flutter pub get` writes on the current SDK; committing what the tool writes keeps `dart pub publish --dry-run` from failing on a modified checked-in file.
The current stable Flutter SDK writes an `analyzer: exclude:` block into every `analysis_options.yaml` it resolves. CI runs `flutter pub get` before `dart pub publish --dry-run`, so the file is modified by the time the archive is validated and the dry-run exits 65 on "1 checked-in file is modified in git". Not caused by this branch: master would fail the same way on its next run, for the same reason dusk did. Committing what the tool writes is the fix that holds, since reverting it just means the next `pub get` writes it again.
anilcancakir
force-pushed
the
release/0.0.10
branch
from
August 20, 2026 17:24
df8bd5b to
7427166
Compare
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.
What
Cuts 0.0.10 from the work merged in #40.
pubspec.yaml0.0.9 -> 0.0.10CHANGELOG.md[Unreleased]promoted to[0.0.10] - 2026-08-20example/pubspec.yaml, and theSKILL.mdstamp commenttest/mcp/mcp_server_version_test.dartWhy the guard
The MCP handshake version is a hand-edited literal beside a comment asking the next person to remember. Nobody did on the 0.0.9 cut, so every client read
0.0.8while the package on disk was0.0.9; version gating and bug reports both keyed on the wrong number, and correcting it cost a separate release (#36).The test drives a real
initializehandshake and assertsserverInfo.versionagainst the version parsed out ofpubspec.yaml. It reads the value off the wire because the wire value is what was wrong, and it reads the expectation out of the pubspec rather than hardcoding it, because a second hardcoded copy would just move the drift. Verified red-green: withpubspec.yamlbumped andmcp_server.dartuntouched it fails and names the file to edit.Housekeeping folded in
### Quality->### Documentation. Not a Keep-a-Changelog category; every entry under it is a docs or skill correction, and 0.0.8 set theDocumentationprecedent in this same file.CLAUDE.mdhas called for one per version from the start and the file carried none, so a lone 0.0.10 link would have looked broken.^0.0.1, which told a reader the package had never moved.CLAUDE.mdRelease section now names all four version-carrying files and which of them has a guard.Testing
dart formatzero diff,dart analyzezero issues, 1219 tests green,dart pub publish --dry-runclean on a committed tree.After merge
git tag 0.0.10 && git push origin 0.0.10triggerspublish.yml(validate -> pub.dev via OIDC -> GitHub Release, notes extracted from the[0.0.10]CHANGELOG section).