Skip to content

Bulkhead v0.2.0

Latest

Choose a tag to compare

@NimbusSage NimbusSage released this 01 Oct 15:57
v0.2.0
acbc2bc

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.git

The 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_* and INFERHAVEN_*
  • Compose project name: inferhaven
  • Container, image, network, and volume names (volumes are inferhaven_*)
  • The user haven inside the workspace and ~/.haven
  • The tmux session Haven
  • The service haven-agent
  • Config file markers: # _haven: managed and ## 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

  1. In your clone, pull the latest commits. The old URL redirects, so no remote change is needed:
    git pull
  2. Rebuild and restart the stack:
    ./scripts/bulkhead update
    This rebuilds the images. ./scripts/bulkhead up alone does not rebuild an image that already exists.
  3. Confirm the upgrade from inside the workspace:
    bulkhead version
    The output should read 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.0

Primary 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.md explains how to verify the InferHaven OpenPGP key and how to report security issues privately to lookout@inferhaven.com, not to a public issue
  • Published releases are announced in the project's Discord
  • GitHub Actions updated to actions/checkout@v7 and actions/setup-node@v7