Restore calver package versions on 2026-10-rc - #4636
Merged
Conversation
Assisted-By: devx/60256637-da58-4f80-9e3a-977e038d8a71
Assisted-By: devx/60256637-da58-4f80-9e3a-977e038d8a71
fatbattk
approved these changes
Aug 17, 2026
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.
Background
Every commit on
2026-10-rcsince #4622 fails thetestjob:Trace: #4612 shipped its (version-gated) breaking change with a
majorchangeset. The release PR #4622 then bumped@shopify/ui-extensionsand@shopify/ui-extensions-testerfrom2026.10.0-rc.4to2027.0.0-rc.5. These packages are calver-keyed — the tester derives its supported API version from its own npm version (api-version.ts), so the major bump produced the nonexistent API version2027-00, andvalidateApiVersionrejects every example pinned toapi_version = "2026-10".On an RC branch the
major.minorof the package version is the API version; breaking changes must release asminorbumps within the branch's calendar version (#4612's change was already version-gated in its own docs: "removed for API versions 2026-10 and later").Solution
Downgrade the retained changeset to
minor(pos-remove-action-api-from-action-render.md). Changesets pre-mode retains consumed changeset files and recomputes each release frominitialVersions+ the highest bump across all of them — with the file stillmajor, the nextVersion Packages (rc)would recompute2027.0.0-rc.6and revert any version correction. Verified viachangeset versiondry-run: withminor, the next computed version is2026.10.0-rc.5. The breaking-change warning stays in the changeset text and PR Remove Action API from POS cart line-item action render target #4612; only the "Major Changes" changelog heading is lost.Restore both packages to
2026.10.0-rc.5(next unpublished version;2027.0.0-rc.5is already on npm and can stay as a dead tag — considernpm deprecateafter merge). Note this was unsustainable regardless of intent: the branch's final release2026.10.0is semver-lower than the published2027.0.0-rc.5, so the rc stream could never converge to its own stable release.Fix the cross-dep (
ui-extensions-tester→ui-extensions@2026.10.0-rc.5) and retitle the CHANGELOG entries.Add a guard test asserting
API_VERSIONmatches^\d{4}-(01|04|07|10)$. Scope honestly stated: Version Packages (2026-10-rc) (rc) #4622'stestjob already failed on the existing example test and was merged and published anyway, so no test closes that override path. What this guard adds: it checks validity (real quarter) rather than consistency (toml == version), so the tempting wrong fix — bumping the example'sapi_versionto2027-00— stays red instead of going green, it also catches minor-overflow versions (2026-11), and its comment states the calver rule so the failure isn't misread as a stale example.Document the rule in
AGENTS.md(calver semantics, never-major, pre-mode changeset retention) so future contributors and coding agents don't repeat this.Follow-ups this PR doesn't do (process, not code)
testjob — red CI published to npm this time.majorbumps while.changeset/pre.jsonexists — that fires at the feature PR (earliest point), before the bad version exists in-tree.No changeset: this PR is the version correction; the next
Version Packages (rc)continues from2026.10.0-rc.5.🎩
yarn test --ci ui-extensions-tester: 98 passed (includes the new guard test)examples/testing/checkout-basic-testing-example: install + test) locally on this branch: 3 passed. The pre-fix failure is from CI logs, not reproduced locally.testjob on the branch since Version Packages (2026-10-rc) (rc) #4622)Note for after merge: the npm
rcdist-tag currently points at the broken2027.0.0-rc.5, sonpm install @shopify/ui-extensions-tester@rcserves the bad version until the nextVersion Packages (rc)publishes2026.10.0-rc.5and moves the tag. If that gap matters, retag manually (npm dist-tag add @shopify/ui-extensions-tester@2026.10.0-rc.4 rc) or deprecate2027.0.0-rc.5.