Skip to content

v0.4.0

Choose a tag to compare

@github-actions github-actions released this 04 Sep 13:06
· 156 commits to main since this release
d6d1636

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/kaibo

Or 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.txt

What'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 op by @tobert in #167
  • feat(media): twelve Stability operations behind an op parameter 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