Repository navigation
Releases: albertoruibal/liana
Release list
Liana 0.5.2
Liana 0.5.2 — resumable review batches and a clearer model log.
Downloads
Liana-0.5.2.AppImage— portable Linux app (x86_64).chmod +xand run.liana_0.5.2_amd64.deb— Debian/Ubuntu package.Liana 0.5.2.exe— portable Windows app (x64 and arm64 in one binary), no installer.Liana-0.5.2-universal-mac.zip— unsigned universal macOS app (x64 + arm64); Gatekeeper will warn on first launch.
Highlights
- Paused batches are resumable. A review batch that loops on the same tool call is force-ended instead of silently advancing, and the review pauses at that batch with its checkpoint kept. Continue re-enters the same conversation.
- Resume a batch from any logged step. In the Model log, Resume from here rebuilds the conversation from that call's recorded request, drops that batch's later steps, and re-runs from there; later batches are kept.
- Kept later batches continue at their last step. When the run advances, a later batch already in the log resumes at its last processed step — skipped when it already called
finish_batch— instead of restarting. A batch advances the run only after an explicitfinish_batch, so an error or abrupt end stops the run at that batch and never starts the next one. - The in-progress step is highlighted in the model-log timeline.
Built from the git CLI only — no libgit2/nodegit/isomorphic-git.
Full Changelog: v0.5.1...v0.5.2
Liana 0.5.1
Liana 0.5.1 — stricter review-batch termination and unlimited output budgets.
Downloads
Liana-0.5.1.AppImage— portable Linux app (x86_64).chmod +xand run.liana_0.5.1_amd64.deb— Debian/Ubuntu package.Liana 0.5.1.exe— portable Windows app (x64 and arm64 in one binary), no installer.Liana-0.5.1-universal-mac.zip— unsigned universal macOS app (x64 + arm64); Gatekeeper will warn on first launch.
Highlights
- A review batch now ends only on an explicit
finish_batchtool call. A tool-free turn is treated as an abrupt ending, so the engine nudges the model to keep reviewing or callfinish_batch, force-ending only after the nudge limit — termination stays guaranteed. - Unlimited output and tool results: a provider's
maxTokens/toolResultCharsof0now means unlimited — the request omitsmax_tokens(reserving a quarter of the context window for output) and tool results are not truncated. Exposed as an "Unlimited" checkbox in Settings. - Reset mode is chosen in a dialog instead of the context menu.
- Aligned the Unlimited checkboxes with their field labels.
Built from the git CLI only — no libgit2/nodegit/isomorphic-git.
Full Changelog: v0.5.0...v0.5.1
Liana 0.5.0
Liana 0.5.0 — Windows and macOS desktop builds, and a reworked review agent.
Downloads
Liana-0.5.0.AppImage— portable Linux app (x86_64).chmod +xand run.liana_0.5.0_amd64.deb— Debian/Ubuntu package.Liana 0.5.0.exe— portable Windows app (x64 and arm64 in one binary), no installer.Liana-0.5.0-universal-mac.zip— unsigned universal macOS app (x64 + arm64); Gatekeeper will warn on first launch.
Highlights
- Windows and macOS builds: the Electron app now ships
electron-buildertargets for Windows (a single portable.execarrying both x64 and arm64) and macOS (an unsigned universal.zip), selected fromelectron-builder.ymlrather than the CLI.npmRebuildis disabled so node-pty is packaged from its shipped N-API prebuilds, and.github/workflows/build.ymlbuilds all three platforms on native runners (manual dispatch or av*tag) and uploads the artifacts. On macOS the window now stays alive onwindow-all-closedand the terminal defaults to/bin/zsh. - Review comments are reported by an
add_commenttool call, not a JSON text protocol: the model reports each issue as soon as it can substantiate it and ends a batch by replying with no tool calls. A rejection or a non-anchorable line comes back as a tool-result hint so the model can correct itself. - No agent step cap: the loop is bounded by a conservative chars/3.5 token budget, shrunk further by the drift observed between the endpoint's real
usage.promptTokensand the estimate so prompt pruning stays ahead of a local server's silent truncation. - Prose-drift recovery: a tool-free turn normally ends a batch, but when the model drifts into prose it gets up to 2 corrective nudges per batch to call
add_commentor finish empty — termination stays guaranteed. - Reworked model log: entries interleave the agent trace with each model call, completed responses are kept, each step is loaded on demand (kept untruncated on disk), calls are labelled by batch, durations show hours, and the active call auto-expands. The final JSON request is distinguished from tool turns, and the redundant output pane and per-call toggles were simplified.
- Leaner review tools:
git_blame,git_diff, andget_mr_changeswere dropped, and the model is told its batch scope so it stays within the current files. - Review UI: a spinner in the code-review tab while a review runs, Pause/Cancel in place of Review with AI, and Checkout branch moved left.
- Settings: provider Test and Remove buttons moved to a top row; the dialog's Cancel button renamed to Close.
The review language setting was removed and Liana is no longer named in review prompts.
Built from the git CLI only — no libgit2/nodegit/isomorphic-git.
Full Changelog: v0.4.1...v0.5.0
Liana 0.4.1
Liana 0.4.1 — branch checkout fixes.
Downloads
Liana-0.4.1.AppImage— portable Linux app (x86_64).chmod +xand run.liana_0.4.1_amd64.deb— Debian/Ubuntu package.
Highlights
- Remote-branch double-click fix: double-clicking a remote branch chip no longer hard-resets whatever branch happens to be checked out. It now checks out (or creates) the matching local tracking branch and only hard-resets it to the remote tip when it already exists and has diverged.
- Review checkout matches: the review panel's Checkout branch button no longer runs
git pull(which could merge or refuse on divergence). It brings the local source branch to the request head — the fetched head ref when present, else a fresh fetch — hard-resetting an existing branch only when it differs, after the confirmation. - Reject before Post comment in review comment cards, so the destructive action isn't the primary button.
Full Changelog: v0.4.0...v0.4.1
Liana 0.4.0
Liana 0.4.0 — model retrieval and richer review telemetry.
Downloads
Liana-0.4.0.AppImage— portable Linux app (x86_64).chmod +xand run.liana_0.4.0_amd64.deb— Debian/Ubuntu package.
Highlights
- Retrieve models from the endpoint: the AI settings now have a per-provider Retrieve button that lists the endpoint's models and fills in the context-window and max-token fields when the API reports them. OpenAI-compatible
/modelsis used first, with Ollama's native/api/showbackfilling context windows when the shim omits them; the manual model field stays editable. - Richer model log: every logged model call shows its wall-clock time, token counts, and tokens/second — taken from the endpoint's
usage(requested viastream_options.include_usage) and otherwise estimated (~). The dialog subtitle totals tokens, tokens/second, and the accumulated LLM time for the whole review, which is also shown next to each entry in the Saved review picker. The agent trace is collapsible. - Continue errored reviews: a failed review is resumable — Continue re-issues the last step from its checkpoint (or re-runs the current batch when none exists) while keeping the comments already collected.
- Slow-model fix: the AI request's
AbortControlleris now the only fetch deadline; undici's headers/body timers are disabled so slow local models are no longer killed withUND_ERR_HEADERS_TIMEOUT. - The review agent's per-session
remember/recallmemory was removed: it was the only write-capable part of an otherwise read-only harness, and the agent never consulted the notes across batches. - Small UI fixes, including matching the Retrieve button's height to the provider inputs.
Full Changelog: v0.3.0...v0.4.0
Liana 0.3.0
Liana 0.3.0 — worktree management, an embedded terminal, and a per-repository review/terminal panel model.
Downloads
Liana-0.3.0.AppImage— portable Linux app (x86_64).chmod +xand run.liana_0.3.0_amd64.deb— Debian/Ubuntu package.
Highlights
- Worktrees are managed locally: add / remove / lock / unlock / move / prune from the repository detail pane, and open a worktree as an ordinary repository. Remove is blocked by uncommitted changes unless forced.
- Embedded terminal for any worktree, filling the pane to full height and surviving tab switches without misalignment.
- Panels are now owned by their repository tab: each repo tab keeps its own review and terminal state, with a single
activePaneldiscriminant so the graph, a review, and a terminal are mutually exclusive by construction. - Review agent memory: the model can
remember/recallacross steps, persisted per session and rendered read-only in the UI; the full model request (including native tools) is shown in a full-screen model log. - Reviews require native OpenAI function calling; the diff-only fallback is surfaced and a checkout-branch button added.
- Fixed undici's 300s timeout killing slow AI requests.
- Collapsible Branches and Unstaged sections (collapsed by default), styled cherry-pick and confirmation dialogs, and a remote-branch double-click that resets the current branch.
Full Changelog: v0.2.3...v0.3.0
v0.2.3
Liana 0.2.2
Liana 0.2.2 — review session restore and model-log prompt.
Downloads
Liana-0.2.2.AppImage— portable Linux app (x86_64).chmod +xand run.liana_0.2.2_amd64.deb— Debian/Ubuntu package.
Changes
- Restore a saved review's merge/pull request and its paused job when selecting it, so a paused session shows the resume state.
- Show the exact prompt sent to the LLM at each step in the review Model log.
Built from the git CLI only — no libgit2/nodegit/isomorphic-git.
Liana 0.2.1
Liana 0.2.1 — review and commit-message UI fixes.
Downloads
Liana-0.2.1.AppImage— portable Linux app (x86_64).chmod +xand run.liana_0.2.1_amd64.deb— Debian/Ubuntu package.
Changes
- Fix the "IA" typo in the Review with AI and Generate with AI buttons and the docs.
- Move the AI Test button next to each provider in Settings.
- Verify AI review comments against the MR head repo state before posting.
- Show the model log in a dialog.
Built from the git CLI only — no libgit2/nodegit/isomorphic-git.
Liana 0.2.0
Liana 0.2.0 — AI code review, conflict resolution, Monaco diffs, and a modularized backend.
Downloads
Liana-0.2.0.AppImage— portable Linux app (x86_64).chmod +xand run.liana_0.2.0_amd64.deb— Debian/Ubuntu package.
Highlights
- AI code review, forge-agnostic (GitLab / GitHub): browse merge/pull requests, read the diff, and let the local model run read-only tools over the MR head. Review comments are posted only after per-comment approval — Liana never merges or pushes code.
- Reviews are pausable and persistent: sessions are checkpointed to
~/.config/liana/sessions/, so a review can be paused, survive a restart (reopened as paused), and resumed. - AI conflict fix: a per-file, on-demand proposal merged from the
:1:/:2:/:3:stages, written only after explicit user approval. - AI commit messages from the staged diff.
- Review is a full main view with a per-repository tab; open reviews are persisted in
localStorageand reopen after a reload. - Monaco now powers diffs, file viewing, and the conflict editor, with scroll syncing across the conflict panes.
- Settings dialog (themes, remotes), search with
Ctrl+F/Cmd+F, working-tree diffs from the commit dialog, and a close X on dialogs. - Backend, git mirror, review, and UI split into feature modules.
Built from the git CLI only — no libgit2/nodegit/isomorphic-git.