Bulkhead v0.2.0 is the first release since v0.1.0, published on 2026-06-13 under the name InferHaven Core. This release adds bulkhead bench, renames the product and command, fixes the update command, and fixes a workspace startup race. Full diff: v0.1.0...v0.2.0
What is new
bulkhead bench [model] measures how many tokens per second a local model generates on your own hardware. It reports the generation (decode) rate, which excludes model load and prompt evaluation.
Options:
--runs K: averages K runs (3 is recommended, because the prompt rate is noisy on short prompts)--json: prints machine-readable output
bulkhead bench arrived in #10, merged 2026-06-18.
What was renamed
The product is now Bulkhead (formerly InferHaven Core). The hosted edition is Bulkhead Cloud (formerly InferHaven Cloud), not yet live; the waitlist is at https://inferhaven.com/bulkhead/.
The primary command is now bulkhead, with the short form bh. haven still works: it prints one notice on stderr ("This command is now 'bulkhead' (short: 'bh'). 'haven' still works.") and runs the same command. To silence the notice, set BULKHEAD_RENAME_NOTICE=0.
On the host, the scripts are ./scripts/bulkhead, ./scripts/bh, and ./scripts/haven. Inside the workspace, bulkhead, bh, and haven all work.
The repository is now InferHaven/bulkhead. GitHub redirects the old web and git URLs, so existing clones keep pulling without changes. To point a clone at the new URL explicitly:
git remote set-url origin https://github.com/InferHaven/bulkhead.gitThe rename (#14, merged as 5e2612e) updated the CLI output, log prefix, shell prompt, terminal and tmux titles, status page, devcontainer names, and generated config file headers to say Bulkhead.
What did not change
The following are unchanged on purpose. Existing installs and their stored data depend on them:
- Environment variables:
HAVEN_*andINFERHAVEN_* - Compose project name:
inferhaven - Container, image, network, and volume names (volumes are
inferhaven_*) - The user
haveninside the workspace and~/.haven - The tmux session
Haven - The service
haven-agent - Config file markers:
# _haven: managedand## inferhaven:managed, so existing generated files keep syncing
What was fixed
bulkhead update now completes
bulkhead update (and haven update before it) ran docker compose pull, which fails on the two images the stack builds itself (inferhaven/code-server:local and inferhaven/caddy:local), causing it to stop before rebuilding anything. It now skips those images during the pull (using --ignore-buildable on Compose 2.22 and later, or --ignore-pull-failures on older Compose v2) and then runs docker compose up -d --build.
Workspace startup race (#11, merged 2026-06-18)
The workspace container could exit during its first start when a temporary zsh file disappeared while the entrypoint was resetting ownership of the home directory. This showed up as Codespaces that sometimes failed to start.
How to upgrade
- In your clone, pull the latest commits. The old URL redirects, so no remote change is needed:
git pull
- Rebuild and restart the stack:
This rebuilds the images.
./scripts/bulkhead update
./scripts/bulkhead upalone does not rebuild an image that already exists. - Confirm the upgrade from inside the workspace:
The output should read
bulkhead version
Bulkhead v0.2.0.
Your data stays in its named volumes. Until the workspace image is rebuilt, the old image keeps working, because the host calls its CLI by the old name.
How to verify this release
The tag v0.2.0 is PGP-signed. Import the InferHaven OpenPGP key from inferhaven_pub.asc in the repository or from https://inferhaven.com/pgpkey.asc, then verify the tag:
gpg --import inferhaven_pub.asc
git verify-tag v0.2.0Primary key fingerprint: 4992 80D5 D75E 3A4F 837C 6A68 85D8 E097 0D05 CEC0
Signing subkey: 83BB 8610 7868 5655 60E4 52FE C075 355A E78E FD6D
Also in this release
SECURITY.mdexplains how to verify the InferHaven OpenPGP key and how to report security issues privately tolookout@inferhaven.com, not to a public issue- Published releases are announced in the project's Discord
- GitHub Actions updated to
actions/checkout@v7andactions/setup-node@v7