Skip to content

release: labelle-cli v4.0.0 — the full agnostic core (RFC cli#471) - #520

Merged
apotema merged 4 commits into
mainfrom
release/v4.0.0
Sep 29, 2026
Merged

apotema merged 4 commits into
mainfrom
release/v4.0.0

Conversation

@apotema

@apotema apotema commented Sep 29, 2026 •

Copy link
Copy Markdown
Contributor

Bumps to 4.0.0, the final phase of RFC #406 (#471). The CLI core names no platform, backend or store.

Breaking

Also in 4.0

Migration guide: docs/migrating-to-4.0.md. A cli pin on an older major now points at it.

Tests: zig build test passes 13/13 steps (1155 tests).


View with [code]smith Autofix with [code]smith
Need help on this PR? Tag @codesmith-bot with what you need. Autofix is disabled.

The CLI core names no platform, backend or store. The assembler answers
backend and target facts through `describe` (protocol 7), and providers
own iOS (labelle-ios) and SDL2 (labelle-sdl's sdl2 provider). See
docs/migrating-to-4.0.md. A cli pin on an older major now points at that
guide.
@coderabbitai

coderabbitai Bot commented Sep 29, 2026 •

Copy link
Copy Markdown

Review in Change Stack →

Navigate logical layers of code changes, visualize relationships, and explore their blast radius.

Warning

Review limit reached

Next included review available in 44 minutes.

Check out review usage here.

View limit details

Limit details: You’ve used the included review currently available. Your 103 included PR review attempts over the past 7 days set your current allowance at 1 review per hour.

Enable usage-based reviews in Billing to review now. Otherwise, wait until the next included review is available.
You're only billed for reviews past your plan's rate limits ($0.25/file).

Learn how review limits work.

Review configuration:

⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Team

Run ID: 469af400-fbb9-4081-b279-12c42a5246f8

📥 Commits

Reviewing files that changed from the base of the PR and between 3528de4 and 89db52d.

📒 Files selected for processing (1)
  • src/cli/compatibility.zig

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Team

Run ID: 5b3e287f-b78a-4b2a-8a5d-c18a03cd9fa6

📥 Commits

Reviewing files that changed from the base of the PR and between ce7eee7 and 3528de4.

📒 Files selected for processing (2)
  • build.zig.zon
  • src/cli/compatibility.zig

Included review availability: This review used your included allowance. 0 included reviews remain after this review. Your included PR review attempts over the past 7 days set your current allowance at 1 review per hour.


📝 Walkthrough

Walkthrough

The package version changes from 3.1.0 to 4.0.0. The migration guide now covers upgrades from CLI versions below 4 and identifies assembler 0.118.0+ as a requirement.

Changes

CLI 4.0 transition

Layer / File(s) Summary
Version update and migration guide
build.zig.zon, src/cli/compatibility.zig
The package version changes to 4.0.0. The migration guide returns a 4.0 notice when the pinned CLI major is below 4 and the curated major is 4 or later. The guide describes the assembler requirement and the move of remaining platform code into provider packages. Tests cover migration from 3.1.0 and no guide between 4.0.0 and 4.0.1.

Priority: ➖ Normal

Estimated code review effort: 2 (Simple) | ~10 minutes

Change: Other

Merge Risk: ⚪ Minimal · up to 3528d

The selected CLI 4.0 release changes have no identified migration or versioning issue that should block merging.

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Title check ✅ Passed The title clearly identifies the v4.0.0 release and its main change: the full agnostic core.
Description check ✅ Passed The description directly explains the v4.0.0 release, its breaking changes, migration guidance, and test results.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check. Docstring coverage is scoped to functions touched by this diff. Analyzed 0 functions across 0…
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Commit to this branch
  • Create a new PR

Comment @coderabbitai help to get the list of available commands.

@chatgpt-codex-connector

chatgpt-codex-connector Bot commented Sep 29, 2026 •

Copy link
Copy Markdown

Codex Review Summary

This comment shows the latest Codex review activity on this pull request.

Review Status Commit Review trigger
📝 Code Review ✅ Completed 2026-09-29T18:05:42.804508Z 89db52d New commits
ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review" or "@codex security review".

Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings.

@opencode-agent

Copy link
Copy Markdown

User coderabbitai[bot] does not have write permissions

github run

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 3528de43e1

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread src/cli/compatibility.zig Outdated
return "upgrading alone is not enough: the 3.0 CLI removed its built-in browser toolchain, serve and\n" ++
" export, so the project may need migrating too; see https://github.com/labelle-toolkit/labelle-cli/blob/main/docs/migrating-to-3.0.md";
}
if (pinned < 4 and curated >= 4) {

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 Badge Surface the 4.0 guide for every pre-4 CLI pin

When a project is pinned to CLI 1.x or 2.x and runs CLI 4, the earlier pinned < 2 or pinned < 3 branch returns first, so this new branch is never reached. The same warning recommends labelle upgrade all, which writes the current CLI_VERSION; afterward the compatibility warning disappears, while neither earlier migration guide links to the 4.0 guide. Such users can therefore miss the required assembler/provider migration, so the 4.0 guide must also be surfaced or explicitly chained for every pin below 4.

Useful? React with 👍 / 👎.

A 1.x or 2.x pin returned the 2.0 or 3.0 guide first and never reached
the 4.0 branch. Neither older guide links 4.0, and `upgrade all` then
silences the warning. Chain the 4.0 steps after the first guide whenever
the pin is below 4.

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 129acf89ea

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread src/cli/compatibility.zig Outdated
Comment on lines +155 to +156
if (pinned < 2 and curated >= 2) {
return "upgrading alone is not enough: the 2.0 CLI builds every non-desktop target through\n" ++
" provider packages, so the project needs migrating too; see https://github.com/labelle-toolkit/labelle-cli/blob/main/docs/migrating-to-2.0.md";
return if (then_four) guide_two ++ guide_then_four else guide_two;

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 Badge Include the 3.0 migration for 1.x pins

For a project pinned to CLI 1.x and upgraded directly to 4.0, this branch now emits the 2.0 guide followed immediately by the 4.0 guide, but neither guide links to or covers the 3.0 migration. Such a project can therefore miss required changes such as replacing the removed browser commands and upgrading the web provider; after labelle upgrade all changes the pin to 4.x, this warning disappears. Chain all crossed major-version guides rather than skipping 3.0 for this case.

Useful? React with 👍 / 👎.

A 1.x pin going to 4.0 got the 2.0 and 4.0 guides and skipped 3.0's
browser-toolchain move. Chain every crossed line in order.
… wording

The previous commit didn't compile (i2/i3/i4 shadow primitive types),
and its 3.0 hint named a platform the agnostic guard forbids.
@apotema
apotema merged commit 17e8dfc into main Sep 29, 2026
5 checks passed
@apotema
apotema deleted the release/v4.0.0 branch September 29, 2026 18:09
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