Releases: InferHaven/bulkhead
Release list
Bulkhead v0.2.0
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
InferHaven Core v0.1.0
InferHaven Core v0.1.0 — first public release
Your own private AI coding server: a self-hostable Docker stack that runs local AI coding assistants on your hardware, with optional GPU acceleration, in a secure terminal-first dev environment. Your models, your code, your box — nothing leaves the machine.
This is the first public release. The project is source-available under FSL-1.1-Apache-2.0 (each version converts to Apache 2.0 two years after release). We're calling it 0.1.0 while the surrounding cloud offering is in beta; 1.0 lands when that stabilizes.
What's in the box
- Four-service stack on an isolated bridge network: Ollama (OpenAI-compatible inference API), a workspace SSH dev container, code-server (browser VS Code), and Caddy (reverse proxy + automatic HTTPS).
- The
havenCLI — models, background model pulls, per-harness config sync, an always-on auto-restoredtmuxsession, backups (rclone),tmatesharing, GPU readout, and adoctorthat checks your whole environment. - Seven coding assistants auto-wired to your local models — opencode, aider, qwencode, pi, goose, continue, avante. Pull a model and every harness config re-renders in parallel.
- GPU or CPU — NVIDIA Container Toolkit for acceleration, or run CPU-only.
- Devcontainer-ready — VS Code Dev Containers, GitHub Codespaces, DevPod, JetBrains Gateway, headless
@devcontainers/cli; two flavors (slim Codespaces + full prod stack), plus nested dev-in-prod. - Multi-user, key-only SSH, persistent volumes, BuildKit-cached warm rebuilds < 30s.
- Optional cloud agent (
--profile cloud) — opt-in, zero impact on self-hosted setups.
Quickstart
git clone https://github.com/InferHaven/inferhaven-core.git
cd inferhaven-core
cp .env.example .env # set CODE_SERVER_PASSWORD + AUTHORIZED_KEYS
make upFull guide: docs/quickstart.md.
Verify this release
This tag is PGP-signed. Confirm provenance before trusting it:
gpg --import inferhaven_pub.asc # or from https://inferhaven.com/pgpkey.asc
git verify-tag v0.1.0Signing key fingerprint: 4992 80D5 D75E 3A4F 837C 6A68 85D8 E097 0D05 CEC0
Security
Found a vulnerability? Please follow SECURITY.md — private disclosure to lookout@inferhaven.com (PGP available), not a public issue.
Contributing
We welcome contributions — start with CONTRIBUTING.md. Non-trivial changes: open a Discussion first.