Skip to content

Releases: GEMISIS/leviath

Leviath v0.5.0-Beta

Leviath v0.5.0-Beta Pre-release
Pre-release

Choose a tag to compare

@GEMISIS GEMISIS released this 24 Aug 16:41

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 leviath

Linux:

curl -fsSL https://raw.githubusercontent.com/GEMISIS/leviath-dist/main/install.sh | bash

Manual:

tar xzf leviath-*.tar.gz
sudo mv lev /usr/local/bin/

Leviath v0.5.0-Alpha

Leviath v0.5.0-Alpha Pre-release
Pre-release

Choose a tag to compare

@github-actions github-actions released this 24 Aug 11:24

Nightly alpha build from main at 1610750

Built: 20260824
Commit: 1610750

⚠️ This is an alpha build. Use at your own risk.

Install

Homebrew (macOS):

brew tap gemisis/leviath https://github.com/GEMISIS/leviath-dist.git
brew install leviath

Linux:

curl -fsSL https://raw.githubusercontent.com/GEMISIS/leviath-dist/main/install.sh | bash

Manual:

# Download the archive for your platform, then:
tar xzf leviath-*.tar.gz
sudo mv lev /usr/local/bin/

Leviath v0.4.0

Choose a tag to compare

@GEMISIS GEMISIS released this 18 Aug 08:14

Stable release - v0.4.0

Source commit: 0f01fc8

Install

Homebrew (macOS):

brew tap gemisis/leviath https://github.com/GEMISIS/leviath-dist.git
brew install leviath

Linux:

curl -fsSL https://raw.githubusercontent.com/GEMISIS/leviath-dist/main/install.sh | bash

Windows (Scoop):

scoop bucket add leviath https://github.com/GEMISIS/leviath-dist.git
scoop install leviath

Manual:

# 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 lev

What'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)

Choose a tag to compare

@GEMISIS GEMISIS released this 18 Aug 08:14

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

Choose a tag to compare

@GEMISIS GEMISIS released this 14 Aug 22:08

Stable release - v0.3.10

Source commit: 114c564

Install

Homebrew (macOS):

brew tap gemisis/leviath https://github.com/GEMISIS/leviath-dist.git
brew install leviath

Linux:

curl -fsSL https://raw.githubusercontent.com/GEMISIS/leviath-dist/main/install.sh | bash

Windows (Scoop):

scoop bucket add leviath https://github.com/GEMISIS/leviath-dist.git
scoop install leviath

Manual:

# 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 lev

What'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

Choose a tag to compare

@GEMISIS GEMISIS released this 14 Aug 04:41

Stable release - v0.3.9

Source commit: 1638e40

Install

Homebrew (macOS):

brew tap gemisis/leviath https://github.com/GEMISIS/leviath-dist.git
brew install leviath

Linux:

curl -fsSL https://raw.githubusercontent.com/GEMISIS/leviath-dist/main/install.sh | bash

Windows (Scoop):

scoop bucket add leviath https://github.com/GEMISIS/leviath-dist.git
scoop install leviath

Manual:

# 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 lev

What'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

Choose a tag to compare

@GEMISIS GEMISIS released this 13 Aug 21:34

Stable release - v0.3.8

Source commit: b7cb61a

Install

Homebrew (macOS):

brew tap gemisis/leviath https://github.com/GEMISIS/leviath-dist.git
brew install leviath

Linux:

curl -fsSL https://raw.githubusercontent.com/GEMISIS/leviath-dist/main/install.sh | bash

Windows (Scoop):

scoop bucket add leviath https://github.com/GEMISIS/leviath-dist.git
scoop install leviath

Manual:

# 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 lev

What'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

Choose a tag to compare

@GEMISIS GEMISIS released this 13 Aug 18:34

Stable release - v0.3.7

Source commit: 3cd8e14

Install

Homebrew (macOS):

brew tap gemisis/leviath https://github.com/GEMISIS/leviath-dist.git
brew install leviath

Linux:

curl -fsSL https://raw.githubusercontent.com/GEMISIS/leviath-dist/main/install.sh | bash

Windows (Scoop):

scoop bucket add leviath https://github.com/GEMISIS/leviath-dist.git
scoop install leviath

Manual:

# 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 lev

What's Changed

Full Changelog: v0.3.6...v0.3.7

Leviath v0.3.6

Choose a tag to compare

@GEMISIS GEMISIS released this 13 Aug 17:04

Stable release - v0.3.6

Source commit: 6d7ba98

Install

Homebrew (macOS):

brew tap gemisis/leviath https://github.com/GEMISIS/leviath-dist.git
brew install leviath

Linux:

curl -fsSL https://raw.githubusercontent.com/GEMISIS/leviath-dist/main/install.sh | bash

Windows (Scoop):

scoop bucket add leviath https://github.com/GEMISIS/leviath-dist.git
scoop install leviath

Manual:

# 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 lev

What'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...
Read more

Leviath v0.2.0

Choose a tag to compare

@GEMISIS GEMISIS released this 04 Aug 07:43

Stable release - v0.2.0

Source commit: 17117aa

Install

Homebrew (macOS):

brew tap gemisis/leviath https://github.com/GEMISIS/leviath-dist.git
brew install leviath

Linux:

curl -fsSL https://raw.githubusercontent.com/GEMISIS/leviath-dist/main/install.sh | bash

Windows (Scoop):

scoop bucket add leviath https://github.com/GEMISIS/leviath-dist.git
scoop install leviath

Manual:

# 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 lev

What'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