Skip to content

Releases: albertoruibal/liana

Liana 0.5.2

Choose a tag to compare

@albertoruibal albertoruibal released this 17 Oct 11:23

Liana 0.5.2 — resumable review batches and a clearer model log.

Downloads

  • Liana-0.5.2.AppImage — portable Linux app (x86_64). chmod +x and 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 explicit finish_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

Choose a tag to compare

@albertoruibal albertoruibal released this 15 Oct 20:08

Liana 0.5.1 — stricter review-batch termination and unlimited output budgets.

Downloads

  • Liana-0.5.1.AppImage — portable Linux app (x86_64). chmod +x and 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_batch tool call. A tool-free turn is treated as an abrupt ending, so the engine nudges the model to keep reviewing or call finish_batch, force-ending only after the nudge limit — termination stays guaranteed.
  • Unlimited output and tool results: a provider's maxTokens / toolResultChars of 0 now means unlimited — the request omits max_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

Choose a tag to compare

@albertoruibal albertoruibal released this 15 Oct 06:19

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 +x and 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-builder targets for Windows (a single portable .exe carrying both x64 and arm64) and macOS (an unsigned universal .zip), selected from electron-builder.yml rather than the CLI. npmRebuild is disabled so node-pty is packaged from its shipped N-API prebuilds, and .github/workflows/build.yml builds all three platforms on native runners (manual dispatch or a v* tag) and uploads the artifacts. On macOS the window now stays alive on window-all-closed and the terminal defaults to /bin/zsh.
  • Review comments are reported by an add_comment tool 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.promptTokens and 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_comment or 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, and get_mr_changes were 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

Choose a tag to compare

@albertoruibal albertoruibal released this 12 Oct 18:55

Liana 0.4.1 — branch checkout fixes.

Downloads

  • Liana-0.4.1.AppImage — portable Linux app (x86_64). chmod +x and 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

Choose a tag to compare

@albertoruibal albertoruibal released this 10 Oct 16:25

Liana 0.4.0 — model retrieval and richer review telemetry.

Downloads

  • Liana-0.4.0.AppImage — portable Linux app (x86_64). chmod +x and 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 /models is used first, with Ollama's native /api/show backfilling 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 via stream_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 AbortController is now the only fetch deadline; undici's headers/body timers are disabled so slow local models are no longer killed with UND_ERR_HEADERS_TIMEOUT.
  • The review agent's per-session remember/recall memory 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

Choose a tag to compare

@albertoruibal albertoruibal released this 08 Oct 19:04

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 +x and 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 activePanel discriminant so the graph, a review, and a terminal are mutually exclusive by construction.
  • Review agent memory: the model can remember/recall across 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

Choose a tag to compare

@albertoruibal albertoruibal released this 07 Oct 21:56

Full Changelog: v0.2.2...v0.2.3

Liana 0.2.2

Choose a tag to compare

@albertoruibal albertoruibal released this 07 Oct 20:50

Liana 0.2.2 — review session restore and model-log prompt.

Downloads

  • Liana-0.2.2.AppImage — portable Linux app (x86_64). chmod +x and 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

Choose a tag to compare

@albertoruibal albertoruibal released this 07 Oct 20:37

Liana 0.2.1 — review and commit-message UI fixes.

Downloads

  • Liana-0.2.1.AppImage — portable Linux app (x86_64). chmod +x and 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

Choose a tag to compare

@albertoruibal albertoruibal released this 07 Oct 18:51

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 +x and 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 localStorage and 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.