Skip to content

Releases: kaicontext/kai

v0.12.5

21 Apr 13:24

Choose a tag to compare

kai 0.12.5: MCP single-instance guard + demo teardown

MCP reconcile-on-start: scan .kai/mcp-session-*.json and decide per entry
  - dead PID          -> delete stale file
  - alive, parent dead -> orphan; SIGTERM + take over
  - alive, parent alive -> live sibling; refuse with a clear error
Prevents N MCP servers from stacking fsnotify watchers on the same workdir
(each server was logging its own push/skip for every event, flooding the
sync feed). Gating takeover on "parent dead" makes a kill ping-pong
impossible when two Claude windows share a repo.

Demo livesync scripts: new docs/teardown-livesync.sh kills the livesync
tmux session and any kai mcp serve whose cwd is under /tmp/demo-*.
setup-livesync.sh and layout-livesync.sh call it before rebuilding state.
Fix sed -> awk (macOS sed has no line-buffer flag) and drop SKIP events
from the sync feed so push/receive/merge aren't drowned out.

v0.12.4

21 Apr 06:09

Choose a tag to compare

kai 0.12.4: fix 'kai clone <org>/<repo>' shorthand

v0.12.3

20 Apr 13:06

Choose a tag to compare

kai 0.12.3: render signature/value changes as red/green pairs + voice…

v0.12.2

20 Apr 12:40

Choose a tag to compare

kai 0.12.2: colorized kai diff output

v0.12.1

20 Apr 08:59

Choose a tag to compare

kai 0.12.1: PostHog telemetry + default-on, bridge pull-import, docs

Bundles four changes that have been landing over the last day:

  - telemetry: ship events directly to PostHog (us.i.posthog.com) instead
    of a self-hosted endpoint. Legacy spool removed; on-disk state is a
    single telemetry.json for the install_id + opt-out.

  - telemetry default: on by default for developer machines (off in CI).
    First event materializes config + prints a one-line stderr notice
    naming exactly what's collected and how to disable. Returning users
    who ran 'kai telemetry disable' stay disabled.

  - bridge: import on git pull / checkout. Adds post-merge and
    post-checkout hooks so commits your teammates push via plain git
    show up as kai snapshots on your side automatically. Fixes a real
    gap the demo exposed.

  - docs: 'kai bridge' and 'kai telemetry' sections in the CLI
    reference; data-handling.md rewritten around PostHog + opt-out;
    quickstart gets a 'mixed-team' callout.

v0.12.0

20 Apr 06:59

Choose a tag to compare

smoke-init: update hook version assertions to v3 (fix CI for v0.12.0)…

v0.11.7

19 Apr 13:17

Choose a tag to compare

kai 0.11.7: clone --kai-only, doctor --fix installs missing hooks, li…

v0.11.6

19 Apr 10:55

Choose a tag to compare

kai 0.11.6: add 'kai telemetry flush' + fix bufio.Scanner aliasing bug

Found: a machine with 1791 spooled events hadn't uploaded since March 24
(26 days). Last upload timestamp was stuck; FlushIfNeeded was silently
failing or not reaching the POST.

Fixes:
- Scanner aliasing bug: spool parse did append(events, scanner.Bytes())
  without copying. Scanner reuses its internal buffer, so all
  RawMessage entries ended up pointing at the same memory — the server
  saw N copies of the last event instead of N distinct events. Now
  copies each line.
- Added explicit Buffer() call with a 1 MB max token size.
- Bumped HTTP timeout from 10s to 30s (large spools need it).
- Return scanner.Err() instead of silently dropping the read failure.

New: 'kai telemetry flush' command force-uploads the spool bypassing
the 24h rate limit. Reports events-sent, size, and any error to stdout
so future flush issues are diagnosable without source-level debugging.

v0.11.5

18 Apr 19:21

Choose a tag to compare

kai 0.11.5: fully exclude framework-generated code (.svelte-kit/gener…

v0.11.4

18 Apr 18:34

Choose a tag to compare

kai 0.11.4: push ref meta (git info, file counts) to server for histo…