Skip to content

release: 20.1.1 — publish the x verify gate-reporting fix - #436

Merged
sebyx07 merged 1 commit into
mainfrom
release/20.1.1
Sep 12, 2026
Merged

sebyx07 merged 1 commit into
mainfrom
release/20.1.1

Conversation

@sebyx07

@sebyx07 sebyx07 commented Sep 12, 2026

Copy link
Copy Markdown
Contributor

What

The lockstep patch bump to 20.1.1, stamping all 31 publishable packages plus the private
example trees, and promoting ## [Unreleased] to ## 20.1.1 - 2026-09-12.

Why

f515aee4 (#435, closing #434) merged the fix for x verify reporting a green check over a gate
step whose only test skipped itself, and it is not on npm. This repository publishes only when a
GitHub Release is published (release.yml: on: release: types: [published]), so the registry
still serves 20.1.0 and every bunx create-ultimate scaffold still ships the silently-skipping
e2e gate. Measured before opening this:

bun run scripts/registry-audit.ts
-> 31/31 publishable packages are on npm at 20.1.0, every one attested

No bootstrap is owed, so the abort-mid-publish hazard release.yml warns about does not apply to
this run.

Changes

Patch, not minor. #435 is a bug fix to CLI gate reporting: no published API gained or lost a
member, no new capability, and the only [Unreleased] section was ### Fixed. SECURITY.md
states the same rule from the other direction — a fix ships as a patch to every package in one
release.

47 files, all modified, none added or deleted. Produced entirely by
bun run scripts/release.ts --bump patch — no manifest was hand-edited:

  • 42 manifests: the 31 published packages plus the private examples/dummy and
    dummy/social-media-clone trees, which resolve @ultimat3/* out of the same lockfile.
  • CHANGELOG.md: [Unreleased] promoted to 20.1.1 - 2026-09-12 with ### Commits appended
    inside it, and a fresh empty [Unreleased] opened above.
  • The four derived files the bump writes itself: framework.manifest.json (packages differs),
    bun.lock (235 recorded facts corrected), docker/helm/Chart.yaml, and wiki/_Footer.md
    (1 stamp).

Verification

Branch cut from main at f515aee4. Dry run first, then the write:

bun run scripts/release.ts --bump patch --dry-run --json
-> would release 31 packages at 20.1.1, findings: []

bun run scripts/release.ts --bump patch --json
-> 31 packages set to 20.1.1

The question the release workflow asks before it publishes:

bun run scripts/release.ts --check 20.1.1 --json
-> 31 packages are stamped at 20.1.1, and so is every file derived from them

bun install and then bun install --frozen-lockfile both reported no changes, confirming the
bump had already corrected the lock.

The repo gate, run on this branch:

bun run verify
✗ 2 of 20 steps failed — 6 skipped: drift, contract-diff, budgets, seo, i18n, policy
unit: 17023 pass, 17 skip, 8 fail, 17048 tests across 1373 files
live:     9 pass, 331 skip, 1 fail

Every one of the 9 failures is this box, not this tree, and that is measured rather than
asserted.
The diff contains no source file at allgit diff --name-only is 42
package.json files plus CHANGELOG.md, bun.lock, docker/helm/Chart.yaml,
framework.manifest.json and wiki/_Footer.md, and grep -cE '\.(ts|tsx|js|jsx)$' over it
answers 0. A test regression from a version-field rewrite is not possible by construction.

The failures, enumerated:

Count Test Cause
5 create-ultimate cases deterministic X_BUN_VERSION — the box runs Bun 1.3.14, REQUIRED_BUN is 1.4.0. Asserted X_CLI_BAD_FLAG, received X_BUN_VERSION, raised before the command does anything
2 x dev --role (dev-roles.test.ts) beforeEach/afterEach hook timed out at 5s
1 errors.explain (error-fixes.test.ts) test timed out at 30s
1 x dev … SIGINT (cmd-dev.live.test.ts) test timed out at 60s

The last three are the "port-bind and spawn-hook timeouts" #433 recorded as this box's variance.
Checked directly rather than assumed: bun test packages/cli/src/error-fixes.test.ts packages/cli/src/dev-roles.test.ts on unmodified main at f515aee4 gives the identical
two dev-roles hook timeouts at the identical 5s, and error-fixes passes on both branches when
the box is not running 8 parallel workers.

None of this reaches the publish decision: release.yml runs bun run scripts/verify.ts on a
pinned bun-version: 1.4.0 before the first npm publish, so a tree that is actually broken
cannot reach the registry.

One thing CI does not cover

This build box runs Bun 1.3.14 against REQUIRED_BUN = 1.4.0
(packages/cli/src/app-root.ts, and engines.bun). release.yml pins bun-version: 1.4.0, so
the gate that actually gates the publish runs above the floor; the local red is the box, not the
tree. PR #433 recorded the same gap.

A stale claim in PUBLISHING.md, not fixed here

PUBLISHING.md § 2 still reads "No required reviewers, by the owner's decision on 2026-09-05",
and § "Ongoing releases" step 4 reads "Nobody approves anything". Both are now false: #432 is
closed and the npm-publish environment carries required_reviewers (sebyx07, ivndev001) beside
its v* tag policy, which is what release.yml's own header comment has always said it should.
The publish for this tag will pause for approval. Left out of this PR deliberately — a release
stamp is script-produced and should stay that way — and worth its own change.

🤖 Generated with Claude Code


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

Summary by CodeRabbit

  • Bug Fixes

    • The CLI now reports test suites that execute no tests as skipped instead of passed, improving result accuracy.
  • Release

    • Released version 20.1.1.
    • Updated the displayed product version across documentation, deployment configuration, examples, and included packages.
    • Aligned package versions and internal dependencies for consistent installation and runtime compatibility.
  • Documentation

    • Added the 20.1.1 release entry and an upcoming-release placeholder to the changelog.

The lockstep patch bump that publishes the x verify gate-reporting fix.
f515aee (#435, closing #434) made a gate step whose suite executed nothing
report as skipped rather than passed, and npm still serves 20.1.0 for all 31
packages, so every bunx create-ultimate scaffold still ships a gate that
prints a green check over an e2e lane that never ran.

Patch rather than minor: no published API gained or lost a member and no new
capability shipped, and the only [Unreleased] section was ### Fixed.

Produced by scripts/release.ts --bump patch; no manifest was hand-edited.
Derived files moved with the manifests: framework.manifest.json, bun.lock
(235 recorded facts), docker/helm/Chart.yaml and the wiki footer's stamp.

scripts/release.ts --check 20.1.1 reports 31 packages stamped at 20.1.1 and
every file derived from them. bun install and bun install --frozen-lockfile
both report no changes.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
@coderabbitai

coderabbitai Bot commented Sep 12, 2026

Copy link
Copy Markdown

Review Change StackReview Change Stack

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yml

Review profile: ASSERTIVE

Plan: Essentials

Run ID: d2a11ddc-80a2-4071-b454-703bdc9d54b2

📥 Commits

Reviewing files that changed from the base of the PR and between f515aee and f12ecda.

⛔ Files ignored due to path filters (1)
  • bun.lock is excluded by !**/*.lock, !**/bun.lock
📒 Files selected for processing (46)
  • CHANGELOG.md
  • docker/helm/Chart.yaml
  • dummy/social-media-clone/package.json
  • dummy/social-media-clone/packages/i18n/package.json
  • examples/dummy/apps/admin/package.json
  • examples/dummy/apps/web/package.json
  • examples/dummy/package.json
  • examples/dummy/packages/core/package.json
  • examples/dummy/packages/db/package.json
  • examples/dummy/packages/domain/package.json
  • examples/dummy/packages/i18n/package.json
  • examples/dummy/packages/mcp/package.json
  • examples/dummy/packages/ui/package.json
  • framework.manifest.json
  • packages/action/package.json
  • packages/admin/package.json
  • packages/ai/package.json
  • packages/auth/package.json
  • packages/cache/package.json
  • packages/cli/package.json
  • packages/core/package.json
  • packages/create-ultimate/package.json
  • packages/db/package.json
  • packages/entity/package.json
  • packages/flags/package.json
  • packages/http/package.json
  • packages/i18n/package.json
  • packages/jobs/package.json
  • packages/mail/package.json
  • packages/manifest/package.json
  • packages/mcp/package.json
  • packages/money/package.json
  • packages/notify/package.json
  • packages/policy/package.json
  • packages/pwa/package.json
  • packages/query/package.json
  • packages/realtime/package.json
  • packages/render/package.json
  • packages/schema/package.json
  • packages/scraping/package.json
  • packages/seo/package.json
  • packages/storage/package.json
  • packages/testing/package.json
  • packages/time/package.json
  • packages/ui/package.json
  • wiki/_Footer.md

Included review availability: 4 reviews are currently available. Your included PR review attempts over the past 7 days set your current allowance at 5 reviews per hour.


📝 Walkthrough

Walkthrough

The release metadata, package manifests, Helm chart, examples, and documentation are updated from 20.1.0 to 20.1.1. The changelog records the CLI behavior fix for suites that execute no tests.

Changes

Release alignment

Layer / File(s) Summary
Release metadata
CHANGELOG.md, docker/helm/Chart.yaml, framework.manifest.json, wiki/_Footer.md
Records release 20.1.1, updates the build identifier, aligns chart versions, and updates the displayed version.
Package publication metadata
packages/*/package.json
Updates package versions and internal @ultimat3/* dependency versions to 20.1.1.
Example dependency alignment
dummy/..., examples/dummy/...
Updates example and dummy application dependencies to 20.1.1.

Priority: ⬇️ Low

Estimated code review effort: 1 (Trivial) | ~5 minutes

Change: Other

Suggested reviewers: ts-admin7

Merge Risk: ⚪ Minimal · up to f12ec

This is a metadata-only lockstep release with aligned versions and no source changes, so it is ready to merge.

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title clearly identifies the 20.1.1 release and the included x verify gate-reporting fix.
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)
  • Create PR with unit tests
  • Commit unit tests in branch release/20.1.1

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

@sebyx07
sebyx07 merged commit 1d79c14 into main Sep 12, 2026
39 checks passed
@sebyx07
sebyx07 deleted the release/20.1.1 branch September 12, 2026 21:21
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.

1 participant