Skip to content

fix: pin packages to 0.1.0 - #106

Merged
marcossevilla merged 5 commits into
mainfrom
fix/release-please
Oct 29, 2026
Merged

marcossevilla merged 5 commits into
mainfrom
fix/release-please

Conversation

@marcossevilla

@marcossevilla marcossevilla commented Oct 29, 2026 •

Copy link
Copy Markdown
Member

Fixes the failing checks on #105.

Why #105 fails

  • dart pub get fails in both build jobs, verify-pins and license_check: plugin_source was bumped to 0.2.0 while the CLI still required ^0.1.0. The x-release-please-version marker meant to bump that constraint was lost because release-please's dart updater rewrites pubspec.yaml through a YAML round-trip, which strips comments.
  • check_links fails on the CHANGELOG compare links: their tags only exist once the release PR merges.
  • The release is 0.2.0, not 0.1.0: the manifest records 0.1.0, so release-please treated it as already shipped even though nothing was tagged or published.

Changes

  • Keep plugin_source: ^0.1.0 with no marker, the way mason_cli depends on mason, and set bump-minor-pre-major and bump-patch-for-minor-pre-major so that before 1.0 features and fixes bump the patch and stay inside ^0.1.0. A breaking change bumps the minor and needs the constraint raised by hand on its release PR. The generic updater now only touches lib/src/version.dart.
  • Ignore vgv_ai_cli/compare/ links in .lycheeignore.
  • Pin the first release of both components with release-as: 0.1.0. Tracked for removal after 0.1.0 is published in chore: remove release-as after 0.1.0 is published #107, with a reminder comment in release_please.yaml.
  • Drop the hand-written 0.1.0 CHANGELOG entries so release-please's generated entry is the only one.
  • Update AGENTS.md to match.

release-please's dart updater rewrites pubspec.yaml through a YAML
round-trip, which strips the x-release-please-version marker on the
plugin_source constraint. The release PR then bumped plugin_source to
0.2.0 while the CLI still required ^0.1.0, and workspace resolution
failed in every job that runs dart pub get.

Follow mason_cli's approach instead: a hosted range that survives the
linked 0.x bumps, with the workspace supplying the local package. The
generic updater now only touches lib/src/version.dart.

Also ignore the CHANGELOG compare links in lychee, since the tags they
point at only exist once the release PR merges.
The manifest already records 0.1.0, but nothing has been tagged or
published yet, so release-please treated 0.1.0 as shipped and bumped
the first release to 0.2.0. release-as pins the first release of both
linked components to 0.1.0.
release-please writes the 0.1.0 entry from the commit history, and
would otherwise prepend it above these, leaving two 0.1.0 sections.
@marcossevilla
marcossevilla requested a review from a team as a code owner October 29, 2026 12:44
@marcossevilla marcossevilla changed the title fix: release both packages as 0.1.0 with a working plugin_source constraint fix: pin packages to 0.1.0 and add plugin_source constraint Oct 29, 2026
With linked versions, every feat: bumped plugin_source's minor in 0.x
and fell outside the CLI's ^0.1.0 constraint. Bumping the patch for
features and fixes until 1.0, as mason does, keeps ^0.1.0 satisfied, so
the CLI can go back to it. A breaking change bumps the minor and needs
the constraint raised by hand on its release PR.
@marcossevilla marcossevilla changed the title fix: pin packages to 0.1.0 and add plugin_source constraint fix: pin packages to 0.1.0 Oct 29, 2026
@marcossevilla
marcossevilla merged commit 93e73be into main Oct 29, 2026
9 checks passed
@marcossevilla
marcossevilla deleted the fix/release-please branch October 29, 2026 17:21
@vgvbot vgvbot mentioned this pull request Oct 29, 2026
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.

2 participants