The single-binary sweep (be676502d, #5259) removed codewhale-tui from the
wrapper's bin map but left bin/codewhale-tui.js behind, where the files glob
still ships it as an executable npm never links. Nothing references it;
delete it to complete the sweep. Users invoking a previously-linked
codewhale-tui shim already get the deprecation from their installed v0.9.4
wrapper, not from this file.
Implemented with Claude Code agent assistance.
Bump the workspace, every published crate, the npm CLI package and its
codewhaleBinaryVersion, the runtime SDK, and the VS Code extension to 0.9.6 —
the four version sources the release workflow cross-checks before it will
tag.
The changelog entry describes v0.9.6 as what it is: a subtractive release.
The guards that interrupted live work, the per-mode prompt doctrine, and the
deterministic second compaction system are gone; a truncated provider
response can no longer be recorded as a finished answer. Most of these were
found by running v0.9.5 against Terminal-Bench 2.1 beside Pi 0.8.41 on the
same model, effort, endpoint, and task digests, then reading the trials
Codewhale lost — so the entry names those trials rather than describing the
fixes in the abstract.
Mistral AI ships in this release; Xavier Pestel (@xavierpestel-ai) is
credited in the contributors section for #5295.
Bump every tagged package and internal dependency pin to 0.9.5, refresh Cargo and npm lock records, regenerate the packaged changelog and web facts, and record the user-visible candidate contract. The changelog deliberately remains marked Unreleased candidate until the rebuilt binary is dogfooded and publication is explicitly approved.
The glibc preflight no longer promises Cargo-installed binaries that do not exist. It installs the sole codewhale implementation and shows how to create the optional codew alias, with a regression that rejects the removed TUI install hint.
Advertise codewhale and the release/npm codew convenience name without exposing the retired codewhale-tui install surface. Keep Cargo truthful: codewhale-cli installs only codewhale unless the user defines an alias.
Verified with focused public-surface tests, facts/docs/locale checks, ESLint, and diff checking.
Build codewhale once, expose the verified bytes as codew across release channels, and retain seven TUI-named release aliases solely so shipped v0.9.4 clients can discover and cross the transition. Current installers and containers expose only codewhale and codew.\n\nVerified with the npm asset suite, exact 34-asset assembly, workflow contract, Homebrew renderer, release-body, dogfood installer, and shell syntax tests.\n\nRefs #5259
npm: ASSET_MATRIX 3->2 per platform, CNB_BINARY 3->2, drop tui field (pair[1] shim). Backwards compat: old tui artifact check no longer needed. 7x1 matrix already done. Fixes part of 5260 packaging sweep.
extensions/vscode was 0.8.53, npm/runtime-sdk 0.8.60, and the
verifiers README claimed v0.9.1 while the workspace is 0.9.4. All
three now read 0.9.4. The release.yml version gate previously checked
only workspace + npm/codewhale, which is how the drift survived
release prep; it now also requires runtime-sdk and vscode package
versions to match the tag.
Evidence: cross-surface-tech-debt-audit-2026-08-03.md TL;DR 'Stale
version strings'; §11.3 version-sweep row.
Gate: node -p require(...).version -> 0.9.4 for both packages.
Add explicit local Fleet preparation/start APIs, named role and Workflow metadata, durable privacy-bounded replay/SSE, and per-worker controls. Keep managed launch collision-safe with run-scoped worker identities, effective write-root checks, contention-aware scheduling, and compaction-safe replay epochs. Extend Runtime capabilities, SDK helpers, documentation, and regression coverage while preserving the existing CLI launch path and failing closed on unsupported targets or authority overrides.
Bump the Rust workspace, internal dependency pins, npm wrapper, lockfiles, public candidate facts, remote smoke default, generated site facts, and packaged changelog together.\n\nAdd dated release notes for DeepSeek V4 Flash Responses support, the canonical action cutover, safety and durability hardening, and contributor credit. Public published-release facts remain pinned to v0.9.2 until v0.9.3 assets actually exist.
Cuts the [0.9.2] - 2026-07-27 changelog band from [Unreleased] and
runs scripts/release/prepare-release.sh 0.9.2: workspace and crate
versions, internal dependency pins, npm package + binary version,
lockfile, remote-smoke default tag, README install examples, public
fact matrix source-candidate version, crate changelog sync, and
regenerated web facts. check-versions.sh confirms the set agrees.
This is local release preparation only: no tag, no publication, no
push to protected main.
Label v0.9.1 as an unpublished source candidate while keeping v0.9.0 as the verified latest release. Correct channel and Android/Termux preview guidance, narrow model claims, synchronize localized README controls, and credit @fleitz for PR #4673/#4674 without rewriting contributor history.
Signed-off-by: Hunter B <hmbown@gmail.com>
Set the npm package description to the 0.9.1 copy: 'Terminal coding
agent for any model, open models first. One runtime on your machine.
Rust, MIT.' No version bump, no publish.
Fix CodeWhale -> Codewhale casing in public prose: the web package
description and the installer's user-facing messages. Repository URLs
and the Hmbown/CodeWhale identifier are unchanged.
Prepared with agent assistance for the 0.9.1 public-surface pass.
Signed-off-by: Hunter B <hmbown@gmail.com>
Keep same-version release preparation on the canonical validation path, install and package the native codew shim, and make web and checksum verification reflect what operators actually run. Add focused release-helper, npm, and checksum contracts while leaving deploy and publication boundaries unchanged.
Signed-off-by: Hunter B <hmbown@gmail.com>
Build and smoke the complete Windows ARM64 binary family on GitHub native runners, wire npm, updater, bundle, website, and release inventory support, and preserve the originating contributor credit.
Move Linux ARM64 releases off the slower cross-link path, remove redundant matrix target installs, and update actionlint for the hosted ARM runner label.
Refs #4267.
Co-authored-by: w1w218 <6767665+w1w218@users.noreply.github.com>
Signed-off-by: Hunter B <hmbown@gmail.com>
Promote the workspace, npm wrapper, internal crate pins, generated web
facts, mirrored changelogs, current docs, and the remote-smoke default
from 0.9.0 to 0.9.1.
The 0.9.1 changelog entry covers the local web client, OpenCode Go, the
xAI device-login restore, calendar-anchored hourly automations,
content-watch canonical draft identities, and the remaining runtime and
Windows fixes, with contributor credits for @h3c-hexin, @zhangweiii,
@sternelee, and @seanthefuturegorilla.
check-versions.sh passes; check-published.sh 0.9.1 reports nothing
published, as expected before release.
Signed-off-by: Hunter B <hmbown@gmail.com>
- Added test case checking `createRuntimeClient` returns `CodeWhaleRuntimeClient` instance.
- Verified expected `baseUrl` property on the returned client.
Co-authored-by: Hmbown <101357273+Hmbown@users.noreply.github.com>
Integrate the underwater TUI, message-first Operate, Fleet and Workflow reliability, expanded model/provider catalog, exact custom-route restoration, docs-first site, localization, packaging, and release metadata for the v0.9.0 candidate.
Harden endpoint-bound credential provenance, approval and goal UX, Fleet attempt fencing and crash recovery, large-workspace mention discovery, Kimi budgeting, and release asset/version gates. Include the stopship Fleet and Workflow fixtures used by release dogfood.
Verified with workspace fmt/check/clippy/tests on Rust 1.88, release-script and npm suites, 18-crate publish dry run, production web build, Docker build check, secret scan, dependency audit, and protected-state hash validation.
Promote the expanded underwater release from the 0.8.68 candidate number to 0.9.0 across Cargo, npm, generated facts, changelogs, current docs, and the authoritative release ledger.\n\nDocument the final runtime, Operate, Fleet, motion, Inkling, community, and deferred-work cutlines without rewriting historical fixtures. Version and release-helper checks pass.
Require exact-tag dispatches, immutable source checkouts, live tag revalidation before public writes, and stale-main-safe tag creation. Cargo and npm publication now fail closed unless the checkout is clean and matches the remote release tag, with moved-tag regression coverage and corrected operator sequencing.
Publish the codew shim alongside the Linux x64 CNB runtime, verify the exact four-file mirror set, and reject the CNB shortcut on platforms that the mirror does not build. Document Android and static-musl support accurately.
Place the bundle checksum manifest in the public asset set, write portable archive names, and keep the canonical manifest limited to actual release files. Expand the prepublish gate to require the binary, archive, installer, and manifest matrix.
Use the repository that actually receives synced Codewhale releases for CODEWHALE_USE_CNB_MIRROR. Lock the base, binary, and checksum URLs in package tests; the corrected v0.8.67 binary URL returns HTTP 200 instead of 404.
Update workspace, npm, changelogs, docs, and generated site facts for the 0.8.68 release. Refresh the public mode and Workflow language to match the shipped Plan/Act/Operate surface.
`install.js` resolved the binary version from legacy env vars and
`deepseekBinaryVersion`, skipping `pkg.codewhaleBinaryVersion`, while
`run.js` and `verify-release-assets.js` already honor it. That let
install-time asset resolution disagree with runtime and release verification
on packaging-only npm releases.
- `resolvePackageVersion` now resolves `pkg.codewhaleBinaryVersion` before
`deepseekBinaryVersion` and `pkg.version`, matching the sibling scripts.
- Legacy `DEEPSEEK_TUI_VERSION` / `DEEPSEEK_VERSION` precedence is unchanged.
- Parameterized `(pkgObj, env)` for testability and exported it via `_internal`.
- Adds a precedence test covering codewhaleBinaryVersion > deepseekBinaryVersion
> pkg.version, with env vars still taking top precedence.
Fixes#3769
Drain redirect responses in the npm release asset verifier before following them, and cap redirect recursion to match the existing HEAD helper.
Also clarify the 100-run workflow lookup window and add coverage for non-uploaded GitHub Release assets.
Add a release asset verification gate that compares the local and remote tag SHAs, confirms a successful Release workflow run for that SHA, and reruns the npm wrapper asset verifier against the public GitHub assets.
Strengthen npm release:check so stale or incomplete GitHub Release assets fail before publish, while local/mirror asset checks still work through explicit release-base overrides.
Document npm auth/OTP retry commands, final registry verification, and the legacy deepseek-tui no-republish rule.
Closes#2642.
Closes#2643.
Stage the codew binary in release builds, include it in platform archives and Windows installer inputs, and teach local release asset prep/checks about the shim. The Unix archive installer now installs via atomic replace so an existing executable is not overwritten in place.
Remove public benchmark docs/scripts and the shipped SWE-bench CLI surface from the CodeWhale repo; benchmark work belongs outside this release repo.
Trim public docs that routed users into private maintainer runbooks, remove stale deleted-doc links, tone down release-facing copy, update CodeWhale crate descriptions, and expose the residue ledger as /debt while keeping quiet legacy dispatch compatibility.
Verification:\n- cargo fmt --all -- --check\n- git diff --check\n- ./scripts/release/check-versions.sh\n- cargo check -p codewhale-tui --bin codewhale-tui --locked\n- cargo test -p codewhale-tui --bin codewhale-tui --locked command_registry\n- cargo test -p codewhale-tui --bin codewhale-tui --locked every_command_alias_dispatches_to_a_handler\n- cargo test -p codewhale-cli --locked
Align the workspace, internal crate pins, lockfile, npm wrapper metadata, install docs, release-site fallback, and existing changelog split on 0.8.63 so the branch state matches its active release guidance.
Verified: git diff --cached --check; cargo fmt --all -- --check; ./scripts/release/check-versions.sh.
The Linux x64 release asset has been a static (musl) build since v0.8.62
(commit 814a92242), so it has no glibc dependency and runs on Ubuntu 22.04,
Debian stable, RHEL/CentOS, and Alpine/musl. The glibc preflight already
returns early when a binary has no GLIBC_* symbols, so static binaries install
cleanly on older distros.
But the install error message and INSTALL.md were never updated and still
claimed 'official binaries are GNU libc builds' and listed 'add a musl/static
Linux asset' as a future follow-up — both now false for x64. Issue #3238
(Ubuntu 22.04 glibc mismatch) was reported against an older dynamic artifact
and is resolved for x64 by the v0.8.62 static build.
- preflight-glibc.js: glibcCompatibilityMessage now states x64 is static
(musl) and scopes the GLIBC_2.39 floor to the arm64/riscv64 glibc assets.
- install.test.js: update the pinned assertion to the accurate text.
- docs/INSTALL.md: rewrite the Linux asset/glibc-floor section and platform
table row to reflect the static x64 (musl) asset and the arm64/riscv64
glibc floor.
Verified: npm test (24 passed, incl. the updated glibc message test).
Refs #3238.
Update the 0.8.62 changelog entries, README/install snippets, npm wrapper metadata, and website fallback version after the final release-lane verification pass.
Also records the plan confirmation checklist visibility change from PR #3299 so the generated GitHub Release body includes it.
Verified: ./scripts/release/check-versions.sh; git diff --check; cargo fmt --all -- --check; python3 scripts/check-coauthor-trailers.py --author-map .github/AUTHOR_MAP --range v0.8.61..HEAD --check-authors; cargo test -p codewhale-tui --bin codewhale-tui --locked plan_prompt; cargo build --release -p codewhale-cli -p codewhale-tui --locked
Bump all crates 0.8.60 -> 0.8.61, npm package, and web facts; fill the 0.8.61 changelog with
the integrated runtime-control-plane work (TUI freeze fix, provider/model route isolation,
fleet-worker convergence, durable goal mode, distribution hygiene) plus community contributions.
Not tagged or published — release artifacts await maintainer approval.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Refs #3163.
Adds the @codewhale/runtime-sdk workspace with typed fleet Runtime API helpers, protocol-shaped TypeScript declarations, JSON/SSE event fixture handling, and typed RuntimeCapabilityError failures for create/event-stream endpoints that the Rust API has not exposed yet.
Documents the SDK contract in docs/RUNTIME_API.md and wires npm workspace verification through npm test --workspace @codewhale/runtime-sdk.
Cut the 0.8.59 changelog section, bump workspace/npm/README versions, refresh Cargo.lock and generated web facts, and sync the embedded TUI changelog slice.
Also fixes the short codew shim to prefer its sibling codewhale dispatcher before PATH so fresh installs do not delegate to an older global binary.