v1.0.0-rc.2
Pre-releaseThe second release candidate: non-human callers become first-class mesh citizens,
and trust defaults shorten to match real threat models.
Added
- Principal identity (ADR-026). Non-human callers — scripts, automation, AI agents —
can enroll as client-role principals: a clientAuth-only leaf that structurally cannot
serve TLS, individually revocable, with operator-bound invites (invite --client).
The inter-node mTLS listener now also serves/v1/mcpbehind per-request CN→roster
authorization; unknown/expired/revoked callers are refused with named reasons and an
audit trail. The loopback + DAT model is unchanged. - Outbound webhook fan-out (ADR-028). Every domain event can be delivered as an
HMAC-SHA256-signed HTTP POST to operator-declared sinks (--webhooks <manifest>),
with bounded retry, lag-tolerant subscription that never back-pressures the bus, and
embedded-instance parity. - Adaptive mDNS coexistence (ADR-030). On hosts already running another mDNS stack
(avahi is everywhere), Koi skips its own responder instead of sharing the socket;
every other capability continues, and status reports truthfully. - TypeScript and Python SDK betas driving status/events/MCP-discovery and raw-CSR
enrollment against the frozen HTTP API — the same Agent-Door conformance vector
executed by Rust, TypeScript, and Python tests.
Changed
- Short-lived leaves are the default posture (ADR-027): new meshes issue 7-day
leaves renewed at 3 days remaining (1-day grace) instead of 90/30/14. Existing
meshes keep their stored policy. Diagnosis no longer degrades healthy leaves inside
the scheduled renewal window. - The mTLS listener mounts the management plane independently of the loopback MCP
switch (--no-mgmt-mcp); CA administration remains local-only.
Install
One line — detects your OS/arch, verifies the checksum, installs onto PATH:
# Linux / macOS
curl -fsSL https://raw.githubusercontent.com/sylin-org/koi/main/install.sh | sh# Windows (PowerShell)
irm https://raw.githubusercontent.com/sylin-org/koi/main/install.ps1 | iexContainer — multi-arch image on GHCR:
docker run --rm ghcr.io/sylin-org/koi:1.0.0-rc.2 versionOr download a binary from the table below, extract, and place on your PATH.
Or via crates.io: cargo install koi-net.
Or build from source: git clone https://github.com/sylin-org/koi && cd koi && cargo build --release.
Then, for always-on discovery, install as a system service:
sudo koi install # Linux / macOS
koi install # Windows (Administrator)Downloads
| Platform | Architecture | Download |
|---|---|---|
| Linux | x86_64 | koi-v1.0.0-rc.2-x86_64-unknown-linux-musl.tar.gz |
| Linux | aarch64 | koi-v1.0.0-rc.2-aarch64-unknown-linux-musl.tar.gz |
| macOS | Intel | koi-v1.0.0-rc.2-x86_64-apple-darwin.tar.gz |
| macOS | Apple Silicon | koi-v1.0.0-rc.2-aarch64-apple-darwin.tar.gz |
| Windows | x86_64 | koi-v1.0.0-rc.2-x86_64-pc-windows-msvc.zip |
| Windows | aarch64 | koi-v1.0.0-rc.2-aarch64-pc-windows-msvc.zip |
Verify
Every archive and the container image carry a signed build-provenance
attestation (GitHub Artifact Attestations / Sigstore). Prove an artifact was built
by this repo's release workflow — not a mirror or a tampered copy:
# a downloaded binary archive
gh attestation verify koi-v1.0.0-rc.2-x86_64-unknown-linux-musl.tar.gz --repo sylin-org/koi
# the container image
gh attestation verify oci://ghcr.io/sylin-org/koi:1.0.0-rc.2 --repo sylin-org/koi(The install scripts verify the SHA-256 below automatically; the attestation is the
stronger, signed check.)
Checksums (SHA-256)
a5043ca5f45d9a0c0330e100ee980d47f2650b385839f5a64231f2719962719c koi-v1.0.0-rc.2-aarch64-apple-darwin.tar.gz
45293cf442597be95e1b95a565d8fbbb521425c07d4db46d4bad47edce8b6628 koi-v1.0.0-rc.2-aarch64-pc-windows-msvc.zip
cfbae47d19c191828db42b85f7bcc0f348b97004634e15a617fb6a759e3b43c5 koi-v1.0.0-rc.2-aarch64-unknown-linux-musl.tar.gz
1175931e8c86b35c805e24c6cc8a5389e63b0df259e2a14791191a1eac62b994 koi-v1.0.0-rc.2-x86_64-apple-darwin.tar.gz
d2c5d3977315272b5898207bc06a2125df22e81fc88348f53553b0ac741ae75f koi-v1.0.0-rc.2-x86_64-pc-windows-msvc.zip
886d9efc7cce7ce7497a1d8c59f3f95132411169a7d4f42028b99ed1a91e87fe koi-v1.0.0-rc.2-x86_64-unknown-linux-musl.tar.gz