Repository navigation
v0.4.0
Get it
Grab your platform's archive below (install + MCP registration) — or take the container image:
docker pull ghcr.io/tobert/kaibo:0.4.0# one-line install into a devcontainer or any image — the binary is fully static
COPY --from=ghcr.io/tobert/kaibo:0.4.0 /usr/local/bin/kaibo /usr/local/bin/kaibo(Pull version tags like 0.4.0 — the sha256-* tags on the package page are
cosign signature/attestation artifacts riding alongside the image, not images.)
Verify it
Run these from the folder holding your downloads. Every artifact carries SLSA
build provenance — any downloaded file, one command:
gh attestation verify kaibo-v0.4.0-x86_64-unknown-linux-musl.tar.gz -R tobert/kaibo
gh attestation verify oci://ghcr.io/tobert/kaibo:0.4.0 -R tobert/kaiboOr keyless-verify the signed checksum manifest with cosign ≥ 2.5 (covers every file it lists, works offline):
cosign verify-blob \
--bundle checksums.txt.sigstore.json \
--certificate-identity "https://github.com/tobert/kaibo/.github/workflows/release.yml@refs/tags/v0.4.0" \
--certificate-oidc-issuer "https://token.actions.githubusercontent.com" \
checksums.txt
sha256sum -c --ignore-missing checksums.txtWhat's Changed
- fix(server): detach the MCP server from its launching terminal's process group by @tobert in #155
- chore: bump kaish-kernel to 0.14.1 by @tobert in #157
- feat(dashscope): generate images on Alibaba's wan family by @tobert in #158
- feat(tls): identify kaibo on every outbound request by @tobert in #159
- feat(telemetry): honour the OTEL_* environment, and redact content by default by @tobert in #160
- docs: the probe battery follows the sandbox, not the release calendar by @tobert in #161
- feat(telemetry): the GenAI metrics signal, safe by construction by @tobert in #162
- feat(media): write_cas — how an image reaches kaibo by @tobert in #163
- feat(media): named, plural input images, resolved by digest by @tobert in #164
- feat(cli): kaibo cas write — the command-line half of write_cas by @tobert in #165
- feat(openai-images): edits and variations behind the same
opby @tobert in #167 - feat(media): twelve Stability operations behind an
opparameter by @tobert in #166 - feat(gemini): image generation through
generate, like every other backend by @tobert in #168 - fix(batch): a failed batch says where it failed and what is recoverable by @tobert in #169
- feat(config): declared-only key sources + api_key_cmd by @tobert in #156
- feat(bfl): FLUX image generation through generate by @tobert in #170
- feat(retry): transient transport failures back off and retry by @tobert in #171
- fix(tests): restore the brace #170's merge swallowed in tests/config.rs by @tobert in #172
- chore(kaish): upgrade the read-only shell to kaish-kernel 0.17.0 by @tobert in #173
- chore(kaish): bump the read-only shell to kaish-kernel 0.17.1 by @tobert in #174
- docs(readme): the cosign floor was 3; a release verifies from 2.5 by @tobert in #175
- test(credentials): stub creation and child spawning stop overlapping by @tobert in #176
- docs(probes): the CAS write path gets a battery, and it found a missing test by @tobert in #177
- docs(changelog): the unreleased section shortens to the house rule by @tobert in #178
- docs: the cosign floor was wrong in two more places, one of them the release page by @tobert in #180
- fix(generate): provenance names the model that ran, not the slot's by @tobert in #181
- chore(release): v0.4.0 by @tobert in #179
Full Changelog: v0.3.0...v0.4.0