Skip to content

v1.0.0-rc.2

Pre-release
Pre-release

Choose a tag to compare

@github-actions github-actions released this 24 Aug 18:58
· 112 commits to main since this release

The 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/mcp behind 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 | iex

Container — multi-arch image on GHCR:

docker run --rm ghcr.io/sylin-org/koi:1.0.0-rc.2 version

Or 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