Skip to content

1.6.0

Choose a tag to compare

@jpzk jpzk released this 20 Oct 09:28
Immutable release. Only release title and notes can be modified.

koto 1.6.0

Fix: koto install keeps all of koto.env (#45)

  • Upgrading with koto install used to rewrite koto.env from a whitelist, so keys such as OTEL_* and custom KOTO_* settings were dropped. Every existing key is now kept.

Proxy: nested KOTO_UPSTREAM

  • When koto runs inside another koto, the proxy now forwards a provider's traffic to KOTO_UPSTREAM only if the outer koto actually serves that provider.

OpenAI: default model

  • provider=openai always passes a model to codex. The default is gpt-6.1-sol.

Dependency upgrades (#44)

The 6-week dependency age gate was waived for this release, so some pins are less than 6 weeks old. All of them are pinned by hash.

Guest kernel

  • amzn microvm-kernel 6.1.186-50.374 → 6.1.188-56.385 (commit 0dcff8409289). Includes the backport for CVE-2026-99999, the virtio_net_hdr checksum / ip_do_fragment bug. Kernel config unchanged.

Harnesses (rootfs)

  • codex 0.152.1 → 0.163.0, with rustls 0.23.45 and webpki 0.103.15
  • pi 0.85.1 → 0.86.0. The undici override was dropped because pi now ships 8.10.2; the brace-expansion override is now 5.0.12
  • npm CLI 10.9.9 → 11.21.1 (major version)
  • claude-code: unchanged

Rootfs packages (Fedora 44, signed)

  • curl / libcurl 8.18.0-14
  • openssl-libs 3.5.9-1
  • sudo 1.9.17-10.p2
  • tar 1.35-9
  • libevent 2.1.13-1

Daemon (Go)

  • gvisor-tap-vsock v0.8.9 (pre-release build) → v0.9.0. This is the userspace network stack that handles guest traffic. gVisor itself is unchanged. Test-only dependencies (ginkgo, gomega, go-mockdns) were pulled up with it.
  • OpenTelemetry SDK: unchanged

Unchanged: firecracker 1.17.0, koto-tui

Known vulnerabilities in dependency scans, before → after

  • npm: 20 → 0
  • Fedora security updates pending: 8 → 0
  • codex crates: 61 → 51
  • Go: 1 → 1 (same issue; the vulnerable code is not reachable)
  • Kernel 6.1 LTS: CVEs continue to arrive; this release picks up 6.1.188

Tests

  • scripts/e2e-send.sh PROVIDER [NETWORK]: an end-to-end send for any provider. The network probe now reads its result from a marker file written inside the guest.
  • The e2e-otel harness unsets OTLP TLS and header variables before it sends to the plain-http receiver.
  • Before this draft was made, the release candidate passed claude-wan, claude-none and minimax end to end.

Assets

  • rootfs.img (fedora44) is new. It was built from fcguest/ at b7edf11, and fcguest/ and sidecar/ have not changed between b7edf11 and this tag.
  • vmlinux 6.1.188 is new.
  • firecracker 1.17.0 is the 1.5.2 asset, reused byte-for-byte.

Known issue

  • koto ctl history can return a partially written reply (for example "P" when the model answered "PONG") if it is polled while the reply is still being written. Cause: daemon/logtail.go readStreamHistory parses the unterminated last log line as a finished event. This code predates 1.5.2; the new rootfs writes replies in smaller chunks, so the race shows up more often. Workaround for clients: accept a reply only once it is stable across two polls. The fix is planned for a follow-up.