Skip to content

release: 4.0.0 version bumps, CHANGELOG cut, major-release landing flow [95c660e2] - #623

Merged
jpicklyk merged 5 commits into
release/4.0from
4.0/95c660e2
Oct 17, 2026
Merged

jpicklyk merged 5 commits into
release/4.0from
4.0/95c660e2

Conversation

@jpicklyk

@jpicklyk jpicklyk commented Oct 17, 2026 •

Copy link
Copy Markdown
Owner

Summary

P26 (X1), the 4.0.0 release PR into release/4.0. This PR does not land on main, does not tag, and does not publish; those steps are the user's gate.

  • Versions: version.properties 4.0.0; server.json version 4.0.0, OCI ghcr.io/jpicklyk/task-orchestrator:4.0.0, a description naming profiles and runs, and the UPGRADE_BACKUP stamp spelled <yyyyMMddTHHmmssZ>; plugin task-orchestrator 4.0.0 in plugin.json and .claude-plugin/marketplace.json; task-orchestrator-mod 0.2.0.
  • CHANGELOG.md: [Unreleased] cut into ## [4.0.0] - 2026-10-17 with "Upgrading from 3.x" on top and the Plugin 4.0 entry, with an empty ## [Unreleased] left above it. The lock wait (300 s, no env key) is release-noted, and the .bak stamp has one spelling everywhere.
  • claude-plugins/CLAUDE.md: the version and compatibility tables, with the 3.x pin written as the release/3.x ref (P25 D2).
  • .claude/skills/prepare-release/SKILL.md: the point-release path (both plugins, categories Added/Changed/Removed/Fixed/Security/Plugin, the empty-[Unreleased] rule, the data-step and UPGRADE_BACKUP lines kept in a major release body) and a "Major release landing" flow. That flow covers:
    • cutting release/3.x first
    • a twin audit of main-only commits
    • a land/4.0.0 branch that retires the guard job and records main with merge -s ours
    • the ruleset edit for the required guard check
    • ONE merge commit, never squash
    • tagging from main
    • docker-publish and the wiki
    • the plugin cache refresh
  • fleet-deployment.md and the smoke scripts: the two-boot wording and the 4.0.0 tag.

Test Results

  • Forced full Kotlin suite (:current:test + ktlintCheck, --rerun-tasks): BUILD SUCCESSFUL in 6m 18s. The version-embedding goldens normalize metadata.version.
  • node --test over scripts/tests/*.test.mjs and hooks/tests/*.test.mjs: 2444 pass, 0 fail. Four tests that pinned item bullets under [Unreleased] now read ## [4.0.0] (oracles unchanged, 97416043).
  • gen-call-shapes.mjs --check: fresh.

Review

Independent docs-accuracy review (Fable, task-orchestrator:reviewer): Pass, 0 blocking. Every operator-facing claim was opened at its source line (backup stamp, 300 s lock, failure names, env parity across 46 names, docker-publish/sync-wiki/test/guard workflows, both rulesets, the merge -s ours recipe and the 270 conflicting paths). N1-N5 were fixed in e858530d: the resolve-changelog path, the conflict count, folding post-cut [Unreleased] before the landing leaves draft, dropping the never-released freeze-guard bullet, and the release/3.x pin caveats. N6 and N7 were accepted (details in orchestrator-confirmation). origin/release/4.0 (#620-#622) was merged in at 3d6f94ac; its two Plugin bullets sit inside ## [4.0.0].

Docs

  • CHANGELOG.md
  • claude-plugins/CLAUDE.md
  • .claude/skills/prepare-release/SKILL.md
  • current/docs/fleet-deployment.md

MCP

95c660e2-617b-49ef-8eb3-4f1820f9fb8b (P26, W7; run r-202610171521-95c660e2). The landing twin audit found main's #574 without a 4.0 twin; twin item a3d6a64a. Bullets merged into release/4.0 after this branch's base are folded into ## [4.0.0] before merge.

🤖 Generated with Claude Code

jpicklyk and others added 5 commits October 17, 2026 11:38
…w [95c660e2]

Version bumps (server 4.0.0, plugin 4.0.0, mod 0.2.0), CHANGELOG 4.0.0 cut with empty [Unreleased], prepare-release X1 flow, UPGRADE_BACKUP stamp and smoke wording fixes.

Seat: implementer

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
…lease cut [95c660e2]

Four tests pinned item bullets under [Unreleased]; the cut moves them into ## [4.0.0] - 2026-10-17, so each test now anchors on that heading. Oracles unchanged.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…branch that absorbs main [95c660e2]

A simulated release/4.0 -> main merge conflicts in 60+ files, so the landing branch records main as a parent with -s ours after a twin audit (21/22 covered; #574 needs a 4.0 twin, item a3d6a64a). main's [Unreleased] 3.x bullets ship from release/3.x, not folded into 4.0.0.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…660e2]

N1 resolve-changelog path; N2 conflict count; N3 fold release/4.0 [Unreleased] into [4.0.0] before the landing leaves draft; N4 drop the never-released dogfood freeze guard from 4.0.0; N5 release/3.x pin recipe caveats. The #621 phase-guard bullet moves beside the other Fixed bullets in ### Plugin.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@jpicklyk
jpicklyk enabled auto-merge (squash) October 17, 2026 16:11
@jpicklyk
jpicklyk merged commit 1b3306c into release/4.0 Oct 17, 2026
7 checks passed
@jpicklyk
jpicklyk deleted the 4.0/95c660e2 branch October 17, 2026 16:23
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