Releases: GEMISIS/leviath
Release list
Leviath v0.5.0-Beta
Weekly beta build promoted from alpha.
Source commit: 1610750
Promoted: 20260824
This build has passed nightly alpha testing. It will be promoted to
prod on Thursday if approved.
Install
Homebrew (macOS):
brew tap gemisis/leviath https://github.com/GEMISIS/leviath-dist.git
brew install leviathLinux:
curl -fsSL https://raw.githubusercontent.com/GEMISIS/leviath-dist/main/install.sh | bashManual:
tar xzf leviath-*.tar.gz
sudo mv lev /usr/local/bin/Leviath v0.5.0-Alpha
Nightly alpha build from main at 1610750
Built: 20260824
Commit: 1610750
Install
Homebrew (macOS):
brew tap gemisis/leviath https://github.com/GEMISIS/leviath-dist.git
brew install leviathLinux:
curl -fsSL https://raw.githubusercontent.com/GEMISIS/leviath-dist/main/install.sh | bashManual:
# Download the archive for your platform, then:
tar xzf leviath-*.tar.gz
sudo mv lev /usr/local/bin/Leviath v0.4.0
Stable release - v0.4.0
Source commit: 0f01fc8
Install
Homebrew (macOS):
brew tap gemisis/leviath https://github.com/GEMISIS/leviath-dist.git
brew install leviathLinux:
curl -fsSL https://raw.githubusercontent.com/GEMISIS/leviath-dist/main/install.sh | bashWindows (Scoop):
scoop bucket add leviath https://github.com/GEMISIS/leviath-dist.git
scoop install leviathManual:
# Download the archive for your platform, then:
tar xzf leviath-*.tar.gz # or unzip for Windows
sudo mv lev /usr/local/bin/From source:
cargo install --git https://github.com/GEMISIS/leviath.git --tag v0.4.0 --bin levWhat's Changed
- fix(journal): stop advancing the diff baseline past a record that was never written by @GEMISIS in #458
- feat(blueprint): let a stage grant a whole MCP server by @GEMISIS in #457
- feat(mcp)!: name every tool for the server it came from by @GEMISIS in #459
- feat(journal)!: read past a record kind this build does not know by @GEMISIS in #460
- fix(runtime): park an unattended run whose fix is somebody else's, too by @GEMISIS in #461
- fix(blueprint): resolve an MCP grant written without its server by @GEMISIS in #462
- fix(providers): send one system message, however many blocks assembled by @GEMISIS in #465
- feat(context): name each region in the prompt, and let it describe itself by @GEMISIS in #466
- feat(api): delete a run's record by @GEMISIS in #467
- fix(providers): guarantee a user turn on every OpenAI-dialect request by @GEMISIS in #471
- test(providers): pin the shape #469 actually dies on by @GEMISIS in #472
- fix(providers): give an Ollama tool call an id unique to the conversation by @GEMISIS in #473
- fix(providers): read an Ollama model's context window from the server by @GEMISIS in #476
- fix(context): stop rewriting a growing region into the cache every call by @GEMISIS in #477
- fix(context): close the remaining cache losses after #477 by @GEMISIS in #478
- revert: back out #478, a measured regression on the reporting workload by @GEMISIS in #479
- feat(context): let a region declare how much it moves, and order the prompt by it by @GEMISIS in #480
- revert(context): drop the breakpoint-eligibility rule from #477 by @GEMISIS in #481
- perf(anthropic): place cache markers in front of the churn, and spend the budget by @GEMISIS in #482
- feat(agents): declare region volatility across the bundled seven, and document it by @GEMISIS in #483
- docs(changelog): backfill the entries between 0.3.10 and the cache work by @GEMISIS in #484
- fix(providers): anchor cache markers so the next request can still find them by @GEMISIS in #487
- fix(runtime): token-estimate calibration (#485) and conversation ordering (#486) by @GEMISIS in #488
- fix(runtime): measure the estimate's shortfall as tokens, not as a ratio by @GEMISIS in #489
- fix(runtime): let a lifecycle region declare that it grows (#490), and unblock Dependabot CI by @GEMISIS in #493
- ci: bump taiki-e/install-action from 2.85.10 to 2.85.13 by @dependabot[bot] in #491
- deps: bump the patch-and-minor group with 5 updates by @dependabot[bot] in #492
- test: close the poll-loop hole in the coverage gate by @GEMISIS in #494
- fix(runtime): stop building two requests every provider rejects by @GEMISIS in #496
- feat(providers): reach a provider through a gateway by @GEMISIS in #497
- chore(release): 0.4.0 by @GEMISIS in #498
Full Changelog: v0.3.10...v0.4.0
Leviath v0.4.0 (stable channel)
Rolling stable channel release, currently v0.4.0.
Source commit: 0f01fc8
This tag always points at the newest stable release; see the
v0.4.0 release for details and install instructions.
Leviath v0.3.10
Stable release - v0.3.10
Source commit: 114c564
Install
Homebrew (macOS):
brew tap gemisis/leviath https://github.com/GEMISIS/leviath-dist.git
brew install leviathLinux:
curl -fsSL https://raw.githubusercontent.com/GEMISIS/leviath-dist/main/install.sh | bashWindows (Scoop):
scoop bucket add leviath https://github.com/GEMISIS/leviath-dist.git
scoop install leviathManual:
# Download the archive for your platform, then:
tar xzf leviath-*.tar.gz # or unzip for Windows
sudo mv lev /usr/local/bin/From source:
cargo install --git https://github.com/GEMISIS/leviath.git --tag v0.3.10 --bin levWhat's Changed
- fix(output): refuse a submission that is only the name of a stage by @GEMISIS in #447
- feat(lint): warn when an evicting region's bound scales with the model by @GEMISIS in #448
- fix(spawn): give stage prompts their own region even when nobody declared one by @GEMISIS in #449
- perf(anthropic): stop paying to cache a prefix that already churned by @GEMISIS in #450
- feat(journal): record what each provider call cost, and count the ones nobody was counting by @GEMISIS in #451
- feat(context): let an agent release what it is finished with by @GEMISIS in #452
- chore(release): 0.3.10 by @GEMISIS in #453
Full Changelog: v0.3.9...v0.3.10
Leviath v0.3.9
Stable release - v0.3.9
Source commit: 1638e40
Install
Homebrew (macOS):
brew tap gemisis/leviath https://github.com/GEMISIS/leviath-dist.git
brew install leviathLinux:
curl -fsSL https://raw.githubusercontent.com/GEMISIS/leviath-dist/main/install.sh | bashWindows (Scoop):
scoop bucket add leviath https://github.com/GEMISIS/leviath-dist.git
scoop install leviathManual:
# Download the archive for your platform, then:
tar xzf leviath-*.tar.gz # or unzip for Windows
sudo mv lev /usr/local/bin/From source:
cargo install --git https://github.com/GEMISIS/leviath.git --tag v0.3.9 --bin levWhat's Changed
- fix(update): refresh the package index before upgrading by @GEMISIS in #427
- fix(serve): return an agent's manifest, lint it where it lives, and settle on one local model by @GEMISIS in #430
- feat(runs): say why a run is parked, not just that it is by @GEMISIS in #432
- feat(serve): tools listing, script editing, and custom gateways in the config API by @GEMISIS in #436
- fix(agents): give every code stage a local model it can actually reach by @GEMISIS in #437
- feat(runtime): park a run whose fix is somebody else's, instead of ending it by @GEMISIS in #438
- feat(serve): say why a run is parked on the websocket, not just that it is by @GEMISIS in #439
- chore(release): 0.3.9 by @GEMISIS in #440
Full Changelog: v0.3.8...v0.3.9
Leviath v0.3.8
Stable release - v0.3.8
Source commit: b7cb61a
Install
Homebrew (macOS):
brew tap gemisis/leviath https://github.com/GEMISIS/leviath-dist.git
brew install leviathLinux:
curl -fsSL https://raw.githubusercontent.com/GEMISIS/leviath-dist/main/install.sh | bashWindows (Scoop):
scoop bucket add leviath https://github.com/GEMISIS/leviath-dist.git
scoop install leviathManual:
# Download the archive for your platform, then:
tar xzf leviath-*.tar.gz # or unzip for Windows
sudo mv lev /usr/local/bin/From source:
cargo install --git https://github.com/GEMISIS/leviath.git --tag v0.3.8 --bin levWhat's Changed
- ci(prod): tell leviath.dev when stable ships by @GEMISIS in #422
- ci(prod): start the site deploy with Actions:write, not Contents:write by @GEMISIS in #423
- ci(prod): drop the leviath.dev trigger, which cannot do anything by @GEMISIS in #424
- fix: a malformed fan-out split no longer kills the run, and the research stages are required by @GEMISIS in #425
- chore(release): 0.3.8 by @GEMISIS in #426
Full Changelog: v0.3.7...v0.3.8
Leviath v0.3.7
Stable release - v0.3.7
Source commit: 3cd8e14
Install
Homebrew (macOS):
brew tap gemisis/leviath https://github.com/GEMISIS/leviath-dist.git
brew install leviathLinux:
curl -fsSL https://raw.githubusercontent.com/GEMISIS/leviath-dist/main/install.sh | bashWindows (Scoop):
scoop bucket add leviath https://github.com/GEMISIS/leviath-dist.git
scoop install leviathManual:
# Download the archive for your platform, then:
tar xzf leviath-*.tar.gz # or unzip for Windows
sudo mv lev /usr/local/bin/From source:
cargo install --git https://github.com/GEMISIS/leviath.git --tag v0.3.7 --bin levWhat's Changed
- Fix the automate-labeled issues: #410-#414 by @GEMISIS in #416
- Fix the newer automate issues: #415, #417, #418 by @GEMISIS in #420
- chore(release): 0.3.7 by @GEMISIS in #419
- ci: build the feature-off path so it stops rotting by @GEMISIS in #421
Full Changelog: v0.3.6...v0.3.7
Leviath v0.3.6
Stable release - v0.3.6
Source commit: 6d7ba98
Install
Homebrew (macOS):
brew tap gemisis/leviath https://github.com/GEMISIS/leviath-dist.git
brew install leviathLinux:
curl -fsSL https://raw.githubusercontent.com/GEMISIS/leviath-dist/main/install.sh | bashWindows (Scoop):
scoop bucket add leviath https://github.com/GEMISIS/leviath-dist.git
scoop install leviathManual:
# Download the archive for your platform, then:
tar xzf leviath-*.tar.gz # or unzip for Windows
sudo mv lev /usr/local/bin/From source:
cargo install --git https://github.com/GEMISIS/leviath.git --tag v0.3.6 --bin levWhat's Changed
- Make tool approvals feel normal, and fix four things that made them not by @GEMISIS in #243
- feat(serve): paginated runs, server-side search, and run file listing for The Lair by @GEMISIS in #244
- feat: agents can produce a final output by @GEMISIS in #245
- Add Perf Tools + Clean Commit Hooks by @GEMISIS in #246
- perf: halve the daemon's live memory, drop it after runs finish, and stop dead-ended graphs from reporting success by @GEMISIS in #247
- fix(control): survive daemon restarts + authenticate subscribe; perf-tools: rigorous cross-OS memory metrics by @GEMISIS in #248
- perf: MCP idle disconnect, tool-lane relief decay, dash parse cache; allocator decided by measurement by @GEMISIS in #249
- perf-tools: honest macOS live memory and exact session concurrency by @GEMISIS in #250
- perf-tools: explain the post-burst live-memory floor by @GEMISIS in #251
- feat(run): batch spawning with lev run --count N by @GEMISIS in #253
- fix(daemon): provision 2048 blocking threads for script-provider pools by @GEMISIS in #254
- fix(alloc): purge freed memory at free time, in the binary itself by @GEMISIS in #255
- perf-tools: record the raw footprint alongside the corrected series by @GEMISIS in #256
- fix(cli): adaptive daemon-readiness polling by @GEMISIS in #257
- chore(perf-tools): move the monitor to leviath-benchmarks by @GEMISIS in #258
- fix(security): nine fixes to the approval and tool-execution layers by @GEMISIS in #259
- refactor(core): one implementation behind the five entry-add methods by @GEMISIS in #262
- refactor(providers): anthropic and ollama use the shared HTTP send by @GEMISIS in #263
- refactor: delete dead MCP surface, gate the test-only runstate writers by @GEMISIS in #264
- refactor(manifest): finish the parse_manifest section extraction (927 lines to 180) by @GEMISIS in #265
- fix(release): check the version pin and release profile that live outside the root manifest by @GEMISIS in #267
- chore(testkit): finish the subscriber consolidation; measure missing_docs rather than enable it by @GEMISIS in #272
- docs: fix stale file references and changelog-shaped comments by @GEMISIS in #268
- refactor(pipeline): split transition.rs into its five concerns by @GEMISIS in #266
- test(dashboard): 103 render tests asserted nothing; now none do by @GEMISIS in #271
- chore(deps): raise version floors to what is tested, route four through the workspace by @GEMISIS in #274
- fix(coverage): stop the poll-loop flake instead of re-running it by @GEMISIS in #275
- refactor(main): move the daemon-readiness backoff into the measured library by @GEMISIS in #273
- fix(persist): the answer's descriptor and its sidecar now travel together (#276) by @GEMISIS in #277
- feat(hooks): the stage-hook framework and its outcome contract (#260, 1/5) by @GEMISIS in #278
- feat(run): confirm a workdir an agent should probably not be pointed at (#252) by @GEMISIS in #279
- feat(hooks): fire on_stage_enter, and resolve hook scripts at spawn (#260, 2/5) by @GEMISIS in #280
- feat(hooks): before_inference and after_inference (#260, 3/5) by @GEMISIS in #281
- feat(hooks): on_tool_call, ordered so it can only narrow (#260, 4/5) by @GEMISIS in #283
- feat(hooks): on_stage_exit, on_completion and on_error - completing #260 by @GEMISIS in #284
- fix(output): the resolved output spec outranks the stage prompt (#282) by @GEMISIS in #285
- fix(shell): bound how much of a command's output is captured (#252) by @GEMISIS in #287
- fix(security): confine blueprint-declared seed and script paths by @GEMISIS in #288
- docs: require doc comments on the published crates, and write the 159 missing by @GEMISIS in #291
- docs: document leviath-cli, and drop the last missing_docs exemption (#290) by @GEMISIS in #294
- refactor(manifest): split the 5,293-line manifest.rs by concern by @GEMISIS in #295
- feat(release): ship static musl Linux binaries (#286) by @GEMISIS in #293
- refactor(daemon): move the lifecycle decisions out of the unmeasured binary by @GEMISIS in #297
- fix(security): confine shell redirect targets to the workdir (#289) by @GEMISIS in #292
- ci: run the tests on ARM Linux by @GEMISIS in #298
- feat(limits): bound what a run writes, and never fill the disk (#252) by @GEMISIS in #299
- feat(serve): optional TLS, and a page a browser can accept a certificate on (#300) by @GEMISIS in #301
- fix(runtime): pin the stall watchdog's clock in tests instead of racing it by @GEMISIS in #302
- fix: three findings from the round-3 audit by @GEMISIS in #303
- test(security): state the safe-list property once, over every entry by @GEMISIS in #304
- test(security): pin which tools may run without asking by @GEMISIS in #305
- refactor(runtime): split host.rs by concern by @GEMISIS in #306
- test: one real agent, one real tool call, end to end by @GEMISIS in #307
- refactor(cli): split config.rs by the table each section describes by @GEMISIS in #308
- refactor(daemon): give the spawn path a SpawnDeps struct by @GEMISIS in #310
- refactor(core): split blueprint.rs by concept by @GEMISIS in #309
- refactor(daemon): name build_tool_state's twenty-one arguments by @GEMISIS in #311
- refactor(runtime): name every ECS query instead of suppressing the lint by @GEMISIS in #312
- refactor: split the files over 1,200 lines, and add the rule that keeps them there by @GEMISIS in #313
- refactor: make lint suppressions expire, and delete the ones that already had by @GEMISIS in #315
- fix(test): make expect_tool_call work, honour max_tokens, and document the format by @GEMISIS in #316
- refactor: param structs for four of the long signatures by @GEMISIS in #317
- refactor: remove every string_slice suppression by @GEMISIS in #318
- build: make suppressing a lint a compile error by @GEMISIS in #319
- fix: lock poisoning and HTTPS-client failure stop aborting the daemon by @GEMISIS in #320
- fix: OpenAI and Ollama could not complete work, for two wire-format reasons by @GEMISIS in #321
- fix(windows): decide the console once, at construction by @GEMISIS in #322
- refactor(spawn): lift four phases out of build_agent_inner by @GEMISIS in #323
- test(runtime): pin what multi-world rests on, and the one thing it does not by @GEMISIS in #324
- fix(runtime): an agent id remembers which world minted it by @GEMISIS in #325
- fix(runtime): a raw World can check an agent id too by @GEMISIS in #328
- docs: cleanup, accuracy, and discoverability pass by @GEMISIS in #329
- f...
Leviath v0.2.0
Stable release - v0.2.0
Source commit: 17117aa
Install
Homebrew (macOS):
brew tap gemisis/leviath https://github.com/GEMISIS/leviath-dist.git
brew install leviathLinux:
curl -fsSL https://raw.githubusercontent.com/GEMISIS/leviath-dist/main/install.sh | bashWindows (Scoop):
scoop bucket add leviath https://github.com/GEMISIS/leviath-dist.git
scoop install leviathManual:
# Download the archive for your platform, then:
tar xzf leviath-*.tar.gz # or unzip for Windows
sudo mv lev /usr/local/bin/From source:
cargo install --git https://github.com/GEMISIS/leviath.git --tag v0.2.0 --bin levWhat's Changed
- One command for the version, a label before it ships, and badges for what each channel carries by @GEMISIS in #225
- docs: rewrite for readability, fact-check against source, add Integrations by @GEMISIS in #226
- TUI kit: shared keymap/widgets, terminal guard, and the setup wizard rework by @GEMISIS in #230
- fix: make OpenRouter work end to end by @GEMISIS in #229
- Dashboard: stable run ordering, confirmed kills, scrollable log, consistent keys by @GEMISIS in #231
- Dashboard: full-screen stage explorer, visit timeline, and a collapsible context tree by @GEMISIS in #232
- ci: bump taiki-e/install-action from 2.85.4 to 2.85.5 by @dependabot[bot] in #235
- ci: bump aws-actions/configure-aws-credentials from 4.3.1 to 6.2.3 by @dependabot[bot] in #234
- ci: bump actions/setup-node from 4.4.0 to 7.0.0 by @dependabot[bot] in #233
- serve: agent file reads, doctor checks, and a folder picker for the browser console by @GEMISIS in #236
- docs: make Leviath navigable by an agent arriving cold by @GEMISIS in #237
- fix(windows): stop child processes flashing console windows by @GEMISIS in #238
- docs: the console-window fix lands in 0.2, not 0.1.3 by @GEMISIS in #239
- Update Version to 0.2.0 by @GEMISIS in #240
- ci(alpha): grant the gate job the permissions ci.yml now asks for by @GEMISIS in #242
Full Changelog: v0.1.2...v0.2.0