-
v2.3.0 Stable
released this
2026-07-29 13:13:06 -07:00 | 3 commits to main since this releaseKaimon v2.3.0
Kaimon 2.3.0
Custom system images for managed sessions, a fix for restarts losing the gate
when Julia was launched with a separated--sysimageflag, and two silent-data
bugs: per-project launch config and session preferences were being dropped on
load, and a clean shutdown ended in a stack trace.Requires Tachikoma 2.5 and bundles KaimonGate 1.2.
Custom system images and launch config (#69)
A project with a custom sysimage can now declare it, so a session Kaimon spawns
boots the same way you start the project by hand instead of paying full
compilation cost.LaunchConfiggainssysimage,julia_bin(a Julia binary,
or a wrapper script that forwards its arguments to one), andstartup_file
(~/.julia/config/startup.jlwas previously suppressed unconditionally).There are two places to set it. Per user, in
projects.json— editable from the
TUI Config tab, select a project and presse:"launch_config": { "sysimage": "MyProject-image.so", "heap_size_hint": "8G" }Or per project, checked into the repo, in the project's own
kaimon.toml, so
everyone working on it gets the same launch recipe with no local setup:[launch] sysimage = "MyProject-image.so" # relative → resolved against the project root threads = "auto"The user's entry is overlaid field-wise on the project's, so a single field can
be overridden locally while the rest is inherited. A configured sysimage that
isn't on disk is logged and skipped — the session still starts, on the default
image. Thanks to @ufechner7 for the report.Fix: restarting a REPL launched with
--sysimage <path>(#69)Restarting a REPL you started yourself replays its original launch flags, so a
custom sysimage, thread count, and heap hint survive. But the check for "was
this launched with a script?" didn't know which flags take a value as a separate
token, so the path injulia --sysimage /path/sys.solooked like a script
argument. The restart then took the verbatim-replay branch and re-exec'd a plain
interactive REPL that never calledserve()— the session didn't come back at
all. The attached forms (-J/path,--sysimage=/path) were unaffected.Value-taking flags are now recognized as a shared set, and
-e/-E/-Lare
explicit user-code triggers rather than a side effect of the path check.Fix: launch config and session preferences were silently discarded
Nested JSON objects parse as
JSON.Object, which is anAbstractDictbut not a
Dict— and bothprojects.jsonreaders guarded onisa Dict. Every
per-projectlaunch_config(threads, GC threads, heap hint, extra flags) and
every persistedmirror_repl/allow_restartpreference was dropped on load
and silently replaced with defaults.Fix: clean shutdown no longer ends in a stack trace
The managed-Qdrant
atexitreaper read its child's pid after terminating it,
to decide whether the PID file was its own.getpidthrowsESRCHon a handle
whose process has exited and been reaped — the expected state at that point — so
the error escapedatexiton every clean exit.Downloads
-
Source code (ZIP)
0 downloads
-
Source code (TAR.GZ)
0 downloads
-
Source code (ZIP)
-
KaimonGate v1.2.0 Stable
released this
2026-07-29 05:00:35 -07:00 | 3 commits to main since this releaseKaimonGate v1.2.0
Fixes
-
Restarting a REPL launched with a separated
--sysimage <path>no longer loses the gate (#69). The check for "was this process launched with a script?" only skipped the values of-C/-J/--project/-t, so any other flag whose value is a path looked like a positional script argument. The restart then took the verbatim-replay branch and re-exec'd a plain interactive REPL that never calledserve()— so the session did not come back at all. The attached spellings (-J/path,--sysimage=/path) were unaffected.Value-taking flags are now recognized as a single shared set, used both to skip values during script detection and to fuse each flag with its value into one token when reconstructing the launch command.
-e/-E/-Lare explicit user-code triggers rather than a side effect of the path check.
Compatibility
- Paired with Kaimon 2.3.0, which requires
KaimonGate = "1.2".
Downloads
-
Source code (ZIP)
0 downloads
-
Source code (TAR.GZ)
0 downloads
-
-
v2.2.0 Stable
released this
2026-07-22 19:33:40 -07:00 | 10 commits to main since this releaseKaimon v2.2.0
Kaimon 2.2.0
Features
- Binary streaming transport — event-driven, wake-on-arrival stream draining
and a zero-copy raw binary frame path for high-rate streaming consumers (live
widgets/plots, KaimonSlate binary-emit), cutting stream latency and idle CPU. - Startup KaimonGate upgrade prompt — on interactive launch, offers to update
a stale registry-installed global KaimonGate so auto-connecting REPL sessions
pick up the latest gate fixes. No-op for dev/current installs; dismissals are
remembered per version; re-armed withkaimon --reset-global-prompt.
Fixes
- #67 — a raw-mode Tachikoma TUI run from a gate REPL no longer wedges the
host REPL on exit (stream guard via Tachikoma 2.4'sset_stream_guard!).
Requires
- Tachikoma 2.4, KaimonGate 1.1.
Downloads
-
Source code (ZIP)
0 downloads
-
Source code (TAR.GZ)
0 downloads
- Binary streaming transport — event-driven, wake-on-arrival stream draining
-
KaimonGate-v1.1.0 Stable
released this
2026-07-22 05:15:16 -07:00 | 10 commits to main since this releaseKaimonGate KaimonGate-v1.1.0
KaimonGate 1.1.0
Features
- Event-driven stream draining (
wait_stream_messages!) that wakes on frame
arrival instead of polling on a fixed cadence, and a zero-copy raw binary
frame path (_publish_stream_raw) that skips the Serialization envelope for
high-rate streaming consumers. Binary payloads are preserved end-to-end as bytes.
Fixes
- Register a stream guard (via Tachikoma's
set_stream_guard!) so a raw-mode
Tachikoma TUI run from a gate-hosted REPL no longer wedges the host REPL's
stdin on exit (Kaimon #67). Adds publicdisable_wedge_guard!for a host that
runs its own persistent full-screen TUI alongside the capture mux. The guard is
a no-op unless a Tachikoma new enough to define the hook is loaded.
Merged pull requests:
- Extension spawn: put Kaimon's active environment on JULIA_LOAD_PATH, not pkgdir (#61) (@mthelm85)
- Managed runtime env for registry/app-installed extensions (exposure #2) (#65) (@kahliburke)
- Fix Windows npm-shim
claudespawn + stop leaking env in spawn errors (#63) (#66) (@kahliburke)
Closed issues:
- Provide Qdrant via JLL? (lazily?) (#24)
- Can Kaimon ping claude? (#30)
- Excessive memory consumption (#33)
- Windows: ZMQ ipc:// transport not supported — TUI fails to start after /dev/tty fix (#41)
- Orphaned Gate.serve() REPLs are never reaped — multi-GB leak under headless server (#51)
- claude code bug report (#55)
- Kaimon / GLMakie interaction problems (#56)
- Kaimon writes Antigravity MCP config in wrong directory (#57)
- Kaimon should not always put a session in the background after 30s (#59)
- Registered extension
project_pathis manifest-less for registry installs, so the extension can't boot (#62) - Agent fails to spawn
claudeon Windows when the CLI is installed via npm (.ps1/.cmdshim) (#63) - False warning Julia not on path (#64)
Downloads
-
Source code (ZIP)
0 downloads
-
Source code (TAR.GZ)
0 downloads
- Event-driven stream draining (
-
v2.1.0 Stable
released this
2026-07-19 19:58:18 -07:00 | 13 commits to main since this releaseKaimon v2.1.0
Kaimon v2.1.0
Features
- Managed (zero-Docker) Qdrant (#24): Kaimon lazily installs
Qdrant_jllinto a small Kaimon-owned environment and runs the binary itself — no Docker required. Includes TUI start/stop controls, autostart on launch, and create-collection/embedding robustness.
Fixes
- Extension runtimes are no longer treated as addressable REPL sessions: agents can no longer be auto-bound to (or eval in) an extension's runtime; explicit targeting points at
start_sessionfor a real REPL. - Windows: resolve the npm
claudeshim viaPATHEXT(#66), and stop leaking environment in spawn errors. - Extensions receive Kaimon's active environment on
JULIA_LOAD_PATH, and registry/app-installed extensions get a properly instantiated runtime env (#61, #65).
Compatibility
- Requires Tachikoma 2.3.7.
Merged pull requests:
- Fix Windows npm-shim
claudespawn + stop leaking env in spawn errors (#63) (#66) (@kahliburke)
Closed issues:
- Agent fails to spawn
claudeon Windows when the CLI is installed via npm (.ps1/.cmdshim) (#63)
Downloads
-
Source code (ZIP)
0 downloads
-
Source code (TAR.GZ)
0 downloads
- Managed (zero-Docker) Qdrant (#24): Kaimon lazily installs
-
v2.0.8 Stable
released this
2026-07-17 17:55:27 -07:00 | 17 commits to main since this releaseKaimon v2.0.8
Kaimon 2.0.8
Fixes extension boot on a fresh registry/app install (
pkg> app add Kaimon+app add <extension>), which previously crash-looped. Two independent load-path failures, both resolved:using Kaimonfails — the extension subprocess carried the manifest-lesspkgdir(Kaimon)on its load path. Kaimon now puts the running instance's active (manifest-bearing) environment there instead. (#61, thanks @mthelm85)using <ExtensionModule>fails — the extension was launched with--project=<manifest-less, write-protected depot dir>, so its own deps couldn't resolve. Kaimon now maintains a writable, instantiated environment per extension (~/.julia/environments/kaimon-ext/<namespace>) and launches against it; dev checkouts with their own manifest are unchanged. (#65)
Merged pull requests:
- Extension spawn: put Kaimon's active environment on JULIA_LOAD_PATH, not pkgdir (#61) (@mthelm85)
- Managed runtime env for registry/app-installed extensions (exposure #2) (#65) (@kahliburke)
Downloads
-
Source code (ZIP)
0 downloads
-
Source code (TAR.GZ)
0 downloads
-
v2.0.7 Stable
released this
2026-07-17 12:45:45 -07:00 | 20 commits to main since this releaseKaimon v2.0.7
Changes
- Require Tachikoma 2.3.6, which fixes input starvation in render-bound TUI apps (keyboard/mouse were dropped while the app kept animating when a frame exceeded its budget).
Closed issues:
- False warning Julia not on path (#64)
Downloads
-
Source code (ZIP)
0 downloads
-
Source code (TAR.GZ)
0 downloads
-
v2.0.6 Stable
released this
2026-07-16 20:28:45 -07:00 | 21 commits to main since this releaseFixes
- Windows extensions no longer wedge at startup. On Windows a local IPC gate is bound over TCP (no IPC transport); under a non-lax (API-key) security config it enforces its auth token, but the discovery watcher connected tokenless and was rejected with
"Authentication required"— leaving extensions (e.g. KaimonSlate) stuck at:startingin a restart loop. The watcher now presents the same token, authenticating to its own local gate. - Fixed extension loading by removing an unused
using ReTestimport that forced ReTest onto extension-subprocessLOAD_PATHs, where it failed to resolve.
Observability
- A health-check ping that receives an error reply (e.g. an auth rejection) is now logged, throttled to once per distinct message, instead of being silently treated as a healthy pong.
Dependencies
- Requires Tachikoma 2.3.5 — Windows console-size/resize handling and
ReadConsoleInputWmouse + keyboard support, plus international-keyboard decoding on all platforms.
Downloads
-
Source code (ZIP)
0 downloads
-
Source code (TAR.GZ)
0 downloads
- Windows extensions no longer wedge at startup. On Windows a local IPC gate is bound over TCP (no IPC transport); under a non-lax (API-key) security config it enforces its auth token, but the discovery watcher connected tokenless and was rejected with
-
v2.0.5 Stable
released this
2026-07-14 19:30:33 -07:00 | 24 commits to main since this releaseKaimon v2.0.5
Security & Claude Code compat patch.
- Security: removed a localhost OAuth auto-mint that issued bearer tokens to anyone who could reach the port (auth bypass); Kaimon now accepts only configured API keys, and
Originvalidation rejectslocalhost-spoof hosts (e.g.localhost.evil.test). - Compat: OAuth/OIDC probe paths return a clean 404 with a JSON error body, so modern Claude Code no longer crashes on discovery and keyless clients get a clear "Missing API key".
- Chore/CI: gitignore deploy artifacts; LinkCheck false-positive exclusion.
Downloads
-
Source code (ZIP)
0 downloads
-
Source code (TAR.GZ)
0 downloads
- Security: removed a localhost OAuth auto-mint that issued bearer tokens to anyone who could reach the port (auth bypass); Kaimon now accepts only configured API keys, and
-
v2.0.4 Stable
released this
2026-07-11 23:11:38 -07:00 | 29 commits to main since this releaseKaimon v2.0.4
Fixes
ex: a call that omitted theeparameter (e.g. the code was passed ascode) silently ran an empty eval — success with no result and only a bareagent>in the shared REPL. It now returns a clear error (with a hint whencodewas used), and the tool description / instructions / docs state plainly that the parameter ise.- TUI: control characters (
\r,\n, backspace, …) in tool-call content no longer smear the Activity table / log pane (carriage-return corruption seen on slate tool calls). Requires the companion Tachikoma 2.3.4set_string!control-char strip;[compat]bumped toTachikoma = "2.3.4". - Gate: the "advertised for discovery" diagnostic no longer prints to the console on interactive Julia startup — dropped to
@debugfor a user's own gate; spawned/extension gates keep it in their captured logs.
Changed
- Code search:
search_code(by meaning) is now the documented default for discovery overgrep_code; agrep_codecall that finds nothing (a true negative) nudges towardsearch_code.
Downloads
-
Source code (ZIP)
0 downloads
-
Source code (TAR.GZ)
0 downloads