Skip to content

Releases: librefang/librefang

v2026.7.21

Choose a tag to compare

@houko houko released this 21 Jul 09:36
7835a8c
release: v2026.7.21 (#6537)

* chore: bump version to v2026.7.21

* chore(codegen): sync generated artifacts (openapi.json, SDKs, baselines)

* docs: strip stray code fence and leaked assistant commentary from release article

The committed file wrapped the whole article in an outer ```markdown
code fence and appended a trailing block of AI-assistant meta-commentary
that was never meant to ship, breaking the dev.to-style article render.

---------

Co-authored-by: Evan <[email protected]>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Claude <[email protected]>

v2026.7.11

Choose a tag to compare

@houko houko released this 10 Jul 18:03
7e2ac18

Full Changelog

Stable release. First stable cut on the repaired release pipeline (#6433):

  • cli_pypi now publishes only for stable / LTS tags, so beta/rc pre-releases no longer fill the librefang PyPI project's 10 GB quota.
  • The desktop asset-cleanup no longer deletes the CLI binary tarballs, so the macOS/Linux/Windows CLI wheels publish to PyPI cleanly.

See the CHANGELOG for the full list of changes.

Install / Upgrade

Homebrew (macOS):

brew install librefang              # CLI (stable) — official homebrew-core

brew tap librefang/tap              # pre-release CLI + desktop app
brew install --cask librefang       # Desktop (stable)

CLI (Linux/macOS): curl -fsSL https://librefang.ai/install.sh | sh

npm: npm install -g @librefang/cli  ·  pip: pip install librefang  ·  cargo: cargo install librefang

Docker: docker pull ghcr.io/librefang/librefang:latest

Documentation  ·  Discord  ·  Contributing Guide


Full diff: v2026.7.10...v2026.7.11

v2026.6.29

Choose a tag to compare

@houko houko released this 29 Jun 07:01
8b1893e

Full Changelog

14 PRs from 4 contributors since v2026.6.26-beta.24.

Highlights

  • Korean language support — full UI, CLI/TUI, and error message translations added (233 keys covered)
  • ARM64 Linux packages — aarch64 binaries now published alongside x86_64 via AUR and the project's pacman repo
  • Telegram setup resilience — the setup form stays available after a describe timeout instead of disappearing
  • Codex CLI flexibility — Codex CLI can now be used outside of Git repositories
  • Mixed-media message enrichment — coalesced batches with mixed content types are now correctly enriched on the debounced path

Added

Fixed

  • Bump pdf-extract 0.10→0.12 to patch lopdf RUSTSEC-2026-0187 (#6339) (@houko)
  • Keep Telegram setup form available after describe timeout (#6345) (@pavver)
  • Allow Codex CLI outside Git repositories (#6347) (@pavver)
  • Enrich coalesced mixed-media batches on the debounced path (#6348) (#6351) (@houko)
Documentation, maintenance, and other internal changes

Maintenance

  • Symlink legacy NDK binutils so vendored OpenSSL cross-compiles for Android (#6335) (@houko)
  • Put NDK bin on PATH so openssl-src finds the legacy ranlib symlink (#6338) (@houko)
  • Enable auto-merge instead of forcing --admin (#6340) (@houko)
  • Publish AUR packages on release (#6334) (#6341) (@houko)
  • Publish project-maintained pacman repo to R2 (#6334) (#6352) (@houko)

Other

Install / Upgrade

Homebrew (macOS):

brew tap librefang/tap
brew install librefang              # CLI (stable)
brew install librefang-beta         # CLI (beta channel)
brew install librefang-rc           # CLI (rc channel)
brew install --cask librefang       # Desktop (stable)
brew install --cask librefang-beta  # Desktop (beta channel)
brew install --cask librefang-rc    # Desktop (rc channel)

CLI (Linux/macOS): curl -fsSL https://librefang.ai/install.sh | sh

npm: npm install -g @librefang/cli  ·  pip: pip install librefang  ·  cargo: cargo install librefang

Docker: docker pull ghcr.io/librefang/librefang:latest

Coming from OpenClaw / OpenFang? librefang migrate --from openclaw (or --from openfang)

Documentation  ·  Discord  ·  Contributing Guide


Full diff: v2026.6.26-beta.24...v2026.6.29

v2026.6.26-beta.24

Choose a tag to compare

@houko houko released this 26 Jun 07:17
d522fea

Full Changelog

10 PRs from 2 contributors since v2026.6.24-beta.23.

Added

Fixed

  • Disable redirect following on OAuth HTTP clients (SSRF + credential leak) (#6315) (@houko)
  • Block separator-less secret env names from WASM guests (#6316) (@houko)
  • Guard gc_sweep running_tasks removal with task_id (TOCTOU) (#6317) (@houko)
  • Describe inbound images on the debounced channel path (#6321) (#6323) (@houko)
  • Accept empty-recipient HMAC so bootstrap_peers can connect (#6330) (@houko)
Documentation, maintenance, and other internal changes

Maintenance

Install / Upgrade

Homebrew (macOS):

brew tap librefang/tap
brew install librefang              # CLI (stable)
brew install librefang-beta         # CLI (beta channel)
brew install librefang-rc           # CLI (rc channel)
brew install --cask librefang       # Desktop (stable)
brew install --cask librefang-beta  # Desktop (beta channel)
brew install --cask librefang-rc    # Desktop (rc channel)

CLI (Linux/macOS): curl -fsSL https://librefang.ai/install.sh | sh

npm: npm install -g @librefang/cli  ·  pip: pip install librefang  ·  cargo: cargo install librefang

Docker: docker pull ghcr.io/librefang/librefang:latest

Coming from OpenClaw / OpenFang? librefang migrate --from openclaw (or --from openfang)

Documentation  ·  Discord  ·  Contributing Guide


Full diff: v2026.6.24-beta.23...v2026.6.26-beta.24

v2026.6.24-beta.23

Choose a tag to compare

@houko houko released this 24 Jun 07:18
e5d0dd0

Full Changelog

33 PRs from 5 contributors since v2026.6.22-beta.22.

Added

  • Localize TUI Onboarding Wizard and Agents screen (#6253) (@pavver)
  • Pluggable context-rewrite modules — per-agent engine + host-run request_llm_summary (closes #6264) (#6287) (@houko)
  • Add scriptable tool result transform hook (#6291) (@pavver)
  • Per-step errors and re-run with same parameters (#6292) (#6302) (@houko)
  • Code_search workspace regex search tool (#6295) (#6307) (@houko)

Fixed

  • Gate provider hourly token budget pre-call so exhaustion flags the fallback chain (#5980) (#5988) (@DaBlitzStein)
  • Persist agent skill & MCP-server assignments to agent.toml (#6046) (@DaBlitzStein)
  • Embed developer-loop placeholder in first result delivery (closes #6251) (#6254) (@maoxin1234)
  • Kill sidecar child on shutdown + forward async delegation result to channel (#6267) (@DaBlitzStein)
  • Complete dashboard i18n coverage (#6271) (@pavver)
  • Vendor OpenSSL unconditionally so cross-compiled release targets link (#6279) (@houko)
  • Merge updater plugin config into base tauri.conf.json (closes #6270) (#6283) (@houko)
  • Handle /new in the TUI chat surfaces (closes #6265) (#6284) (@houko)
  • Merge the dual [Unreleased] sections into one at the top (#6285) (@houko)
  • Forward web-UI-initiated delegation results to the home channel (refs #6266) (#6286) (@houko)
  • AUTH PLAIN fallback for SMTP + expose input/error in workflow runs list (#6293) (@DaBlitzStein)
  • Scope GET /api/workflows/{id}/runs to the path workflow (#6298) (@houko)
  • Block sandbox escape via intermediate-ancestor symlink on writes to non-existent dirs (#6299) (@houko)
  • Reject newline/CR/NUL in secret key to prevent secrets.env line injection (#6300) (@houko)
  • Graceful 400 for non-table [memory]/[proactive_memory] in PATCH /api/memory/config (#6301) (@houko)
  • Apply api_key_env/base_url in PATCH /api/agents/{id}/config instead of dropping them (#6303) (@houko)
  • Wire provider cooldown breaker into the LLM retry path and fix its probe gate (#6305) (@houko)
  • Gate scriptable transform-hook tests behind cfg(unix) to unbreak Windows CI (#6306) (@houko)
  • Gate use std::sync::Arc behind cfg(unix) to complete the Windows-red fix (#6308) (@houko)
  • Install libdbus-1-dev in the release Bump Version job (#6309) (@houko)

Performance

Documentation, maintenance, and other internal changes

Maintenance

  • Token-estimation accuracy benchmark with multi-tokenizer baselines (#6269) (@maoxin1234)
  • Bump the cargo-minor-patch group across 1 directory with 8 updates (#6276) (@app/dependabot)
  • Bump wasmtime from 45.0.2 to 46.0.0 (#6277) (@app/dependabot)
  • Bump cron from 0.16.0 to 0.17.0 (#6278) (@app/dependabot)
  • Bump vulnerable/yanked lockfile deps to clear global CI failures (#6280) (@houko)
  • Bump actions/checkout from 6 to 7 (#6296) (@app/dependabot)
  • Bump actions/cache from 5.0.5 to 6.0.0 (#6297) (@app/dependabot)
Install / Upgrade

Homebrew (macOS):

brew tap librefang/tap
brew install librefang              # CLI (stable)
brew install librefang-beta         # CLI (beta channel)
brew install librefang-rc           # CLI (rc channel)
brew install --cask librefang       # Desktop (stable)
brew install --cask librefang-beta  # Desktop (beta channel)
brew install --cask librefang-rc    # Desktop (rc channel)

CLI (Linux/macOS): curl -fsSL https://librefang.ai/install.sh | sh

npm: npm install -g @librefang/cli  ·  pip: pip install librefang  ·  cargo: cargo install librefang

Docker: docker pull ghcr.io/librefang/librefang:latest

Coming from OpenClaw / OpenFang? librefang migrate --from openclaw (or --from openfang)

Documentation  ·  Discord  ·  Contributing Guide


Full diff: v2026.6.22-beta.22...v2026.6.24-beta.23

v2026.6.22-beta.22

Choose a tag to compare

@houko houko released this 22 Jun 10:58
c643a32

Full Changelog

1 PR from 1 contributor since v2026.6.22-beta.21.

Highlights

  • Safer upgrades — the installer now falls back to the last known-good release and automatically rolls back a failed upgrade instead of leaving the app in a broken state.

Fixed

  • Fall back to installable release, roll back bad upgrades (#6272) (@houko)
Install / Upgrade

Homebrew (macOS):

brew tap librefang/tap
brew install librefang              # CLI (stable)
brew install librefang-beta         # CLI (beta channel)
brew install librefang-rc           # CLI (rc channel)
brew install --cask librefang       # Desktop (stable)
brew install --cask librefang-beta  # Desktop (beta channel)
brew install --cask librefang-rc    # Desktop (rc channel)

CLI (Linux/macOS): curl -fsSL https://librefang.ai/install.sh | sh

npm: npm install -g @librefang/cli  ·  pip: pip install librefang  ·  cargo: cargo install librefang

Docker: docker pull ghcr.io/librefang/librefang:latest

Coming from OpenClaw / OpenFang? librefang migrate --from openclaw (or --from openfang)

Documentation  ·  Discord  ·  Contributing Guide


Full diff: v2026.6.22-beta.21...v2026.6.22-beta.22

v2026.6.22-beta.21

Choose a tag to compare

@houko houko released this 22 Jun 00:23
feb7e3f

Full Changelog

45 PRs from 7 contributors since v2026.6.17-beta.20.

Highlights

  • Context-window awareness — a live usage indicator shows how much context remains, quota errors are classified honestly, and agents now guide you to open a new session when you hit a token or context limit.
  • Dashboard agent management — you can now edit and bind a system prompt directly from the agent detail drawer, remove a configured sidecar channel, and view agents grouped into Core Agents and Hands sections.
  • Per-agent sidecar secrets & provider controls — each agent instance can hold its own private credentials, and you can view and edit the provider max-token limit from the UI; the arbitrary 200k cap on agent max tokens has been removed.
  • CoT pruning + streaming reliability — chain-of-thought steps are pruned and developer-loop turns aggregated to keep sessions lean; streaming final answers now arrive as a fresh message instead of being lost on delivery.
  • Confidential OAuth clients — OAuth clients can now supply their client_secret via an env variable (client_secret_env), keeping secrets out of config files.

Added

  • Non-blocking agent_send via the async-task tracker (#6044) (@DaBlitzStein)
  • Global Auto-Dream on/off switch on the Memory tab (#6194) (@houko)
  • Edit + bind system prompt from the agent detail drawer (#6201) (@houko)
  • Remove a configured sidecar channel from the dashboard (#6202) (@houko)
  • Group the Agents list into Core Agents and Hands sections (#6205) (@houko)
  • Context-window usage indicator + honest quota-error classification (#6215) (@houko)
  • Per-instance sidecar secrets so each agent can own its own handle (#6217) (@houko)
  • Coding-agent class, actual_model reporting, CodeWhale driver, provider grouping (#6220) (@houko)
  • Add agent label to librefang_tool_call_total (#6226) (#6229) (@houko)
  • Guide user to a new session on token/context limit (#6211) (#6231) (@houko)
  • Emit agent-loop exit-reason metric (#6227) (#6232) (@houko)
  • Tool-call telemetry fidelity — failure-type breakdown, per-tool latency histogram, span error status (#6233) (@houko)
  • Display + edit provider max-token limit (#6209) (#6238) (@houko)
  • CoT-pruning + developer-loop aggregation (#6173) (#6239) (@houko)
  • Localize TUI main interface, welcome, sessions, and peers screens (#6241) (@pavver)
  • Add agent dimension to librefang_tool_execution_seconds (#6244) (#6245) (@houko)
  • Confidential OAuth clients via client_secret_env (revives #5060) (#6260) (@houko)

Fixed

  • Zeroize EmbeddingConfig.api_key on drop (partial LF-001) (#6190) (@BunnyMoth)
  • Enforce SHA256 verification in install.sh, remove silent skip paths (#6191) (@BunnyMoth)
  • Resolve link-preview-js peer conflict and commit lockfile (#6192) (@houko)
  • Deny WASM fs_write to the audit anchor via a capability deny-list (#6196) (@houko)
  • Bind launchctl status string to a let so the macOS build compiles (E0716) (#6203) (@houko)
  • Serve the SPA shell on a hard refresh of Prompts and Tasks pages (#6207) (@houko)
  • Refuse to delete the active (bound) prompt version (#6208) (@houko)
  • Stop the agent-creation wizard stamping a hidden 200k hourly token cap (#6212) (@houko)
  • Merge Hand settings on save instead of replacing the whole config (#6213) (@houko)
  • Drop the arbitrary 200000 cap on the agent max_tokens input (#6214) (@houko)
  • Allow close_range, getresuid/gid, and pipe splicing syscalls in seccomp sandbox (#6221) (@pavver)
  • Scope compaction-summary banner to the compacted session (#6225) (#6230) (@houko)
  • Make i18n locale-detection test deterministic on macOS (refs #6240) (#6243) (@houko)
  • Spill oversized shell_exec output instead of truncating (#6242) (#6246) (@houko)
  • Deliver streaming final answer as a fresh notifying message (#6248) (#6249) (@houko)
  • Rank explicit per-peer bindings above the sidecar instance default (#6258) (@neo-wanderer)
  • Clear .secrets.baseline drift from #6190 and hard-error pre-commit when detect-secrets missing (#6259) (@houko)
  • Channel_send without recipient replies to the group, not the speaker (#6261) (@neo-wanderer)

Changed

Documentation, maintenance, and other internal changes

Maintenance

  • Bump the dashboard-minor-patch group in /crates/librefang-api/dashboard with 7 updates (#6183) (@app/dependabot)
  • Bump the web-minor-patch group in /web with 5 updates (#6184) (@app/dependabot)
  • Drop five orphaned email workspace dependencies (#6193) (@houko)
  • Bump the docs-minor-patch group in /docs with 3 updates (#6224) (@app/dependabot)
  • Skip network-dependent hands registry tests on the macOS lane (#6240) (#6247) (@houko)
  • Warn on cleanup failures in shell and web_fetch_to_file (#6255) (@maoxin1234)
  • Replace detect-secrets baseline with gitleaks (#6262) (@houko)
Install / Upgrade

Homebrew (macOS):

brew tap librefang/tap
brew install librefang              # CLI (stable)
brew install librefang-beta         # CLI (beta channel)
brew install librefang-rc           # CLI (rc channel)
brew install --cask librefang       # Desktop (stable)
brew install --cask librefang-beta  # Desktop (beta channel)
brew install --cask librefang-rc    # Desktop (rc channel)

CLI (Linux/macOS): curl -fsSL https://librefang.ai/install.sh | sh

npm: npm install -g @librefang/cli  ·  pip: pip install librefang  ·  cargo: cargo install librefang

Docker: docker pull ghcr.io/librefang/librefang:latest

Coming from OpenClaw / OpenFang? librefang migrate --from openclaw (or --from openfang)

Documentation  ·  Discord  ·  Contributing Guide


Full diff: v2026.6.17-beta.20...v2026.6.22-beta.21

v2026.6.17-beta.20

Choose a tag to compare

@houko houko released this 17 Jun 23:03
e7c30a0

Full Changelog

22 PRs from 3 contributors since v2026.6.16-beta.19.

Added

Fixed

  • Enforce cross-chat dispatch guard through the /mcp bridge (#6117) (#6125) (@houko)
  • Take over a stale conversation-ownership claim from a channel-ineligible holder (#5323) (#6132) (@houko)
  • Respect LIBREFANG_HOME when resolving plugin directory (#6136) (@HuaGu-Dragon)
  • Close channel media RBAC bypass and audit findings (#6141) (@houko)
  • Keep Save actionable after a passing Test (#6144) (#6146) (@houko)
  • Refetch hand settings after save so inputs persist (#6145) (#6147) (@houko)
  • Show the correct Hand agent name in the sessions view (#6156) (#6162) (@houko)
  • Build vendored OpenSSL on Windows so webauthn-rs links (#6161) (#6163) (@houko)
  • Pin vendored OpenSSL to Strawberry Perl on the Windows test lane (#6171) (@houko)

Changed

Documentation, maintenance, and other internal changes

Maintenance

  • Bump the actions-minor-patch group with 2 updates (#6140) (@app/dependabot)
Install / Upgrade

Homebrew (macOS):

brew tap librefang/tap
brew install librefang              # CLI (stable)
brew install librefang-beta         # CLI (beta channel)
brew install librefang-rc           # CLI (rc channel)
brew install --cask librefang       # Desktop (stable)
brew install --cask librefang-beta  # Desktop (beta channel)
brew install --cask librefang-rc    # Desktop (rc channel)

CLI (Linux/macOS): curl -fsSL https://librefang.ai/install.sh | sh

npm: npm install -g @librefang/cli  ·  pip: pip install librefang  ·  cargo: cargo install librefang

Docker: docker pull ghcr.io/librefang/librefang:latest

Coming from OpenClaw / OpenFang? librefang migrate --from openclaw (or --from openfang)

Documentation  ·  Discord  ·  Contributing Guide


Full diff: v2026.6.16-beta.19...v2026.6.17-beta.20

v2026.6.16-beta.19

Choose a tag to compare

@houko houko released this 16 Jun 03:23
1ead1fd

Full Changelog

18 PRs from 3 contributors since v2026.6.11-beta.18.

Highlights

  • External Skill Registry — agents can now discover and consume skills hosted on a Codeberg registry, with diff and propose-to-registry support for pending evolution drafts
  • Persistent MCP Server Config — MCP server configurations are stored in SQLite and survive restarts; runtime writes to /api/mcp/servers are also persisted
  • Ukrainian Language Support — backend and web UI are now fully localized in Ukrainian
  • DeepSeek V4 Pro Reasoning — DeepSeek v4-pro is now treated as a thinking-with-tools model so reasoning_content is correctly echoed through
  • WhatsApp Voice Notes & Matrix Memory — ElevenLabs voice notes send as Ogg/Opus with proper MIME sniffing; Matrix peers with colons in their IDs can now use the Memory tool

Added

  • Consume a Codeberg-hosted skill registry via registry.registry_host (#6095) (#6103) (@houko)
  • Diff + propose-to-registry for pending evolution drafts (#5819) (#6104) (@houko)
  • SidecarChannelConfig.agent + available_agents (#5671 PR-A) (#6105) (@houko)
  • SQLite-backed MCP server config storage + boot merge (#6021) (#6106) (@houko)
  • Add Ukrainian language support for backend and web UI (#6109) (@pavver)
  • Persist /api/mcp/servers writes to a DB store via mcp_runtime_store (#6113) (#6115) (@houko)

Fixed

  • Accept version field in ClawHubInstallRequest (#6038) (#6039) (@DaBlitzStein)
  • Stage Skills-tab edits behind a Save button (#6042) (@DaBlitzStein)
  • Refresh detect-secrets baseline for migrated Cloudflare account_id (#6093) (@houko)
  • Treat deepseek-v4-pro as thinking-with-tools so reasoning_content is echoed (#6098) (@DaBlitzStein)
  • Preserve caller-supplied channel name case in channel_send (#6078) (#6101) (@houko)
  • Percent-encode colons in peer_id so Matrix peers can use Memory (#6100) (#6102) (@houko)
  • Pin brace-expansion override to 2.0.2 to unbreak the Cloudflare docs build (#6110) (@houko)
  • Send ElevenLabs voice notes as Ogg/Opus and sniff audio mime (#6116) (#6118) (@houko)

Changed

Documentation, maintenance, and other internal changes

Maintenance

  • Migrate worker config to librefang Cloudflare account (#6092) (@houko)
  • Scope frontend pnpm audit to production deps (#6108) (@houko)
  • Free runner disk space before the integration shard build (fixes ENOSPC on main) (#6112) (@houko)
Install / Upgrade

Homebrew (macOS):

brew tap librefang/tap
brew install librefang              # CLI (stable)
brew install librefang-beta         # CLI (beta channel)
brew install librefang-rc           # CLI (rc channel)
brew install --cask librefang       # Desktop (stable)
brew install --cask librefang-beta  # Desktop (beta channel)
brew install --cask librefang-rc    # Desktop (rc channel)

CLI (Linux/macOS): curl -fsSL https://librefang.ai/install.sh | sh

npm: npm install -g @librefang/cli  ·  pip: pip install librefang  ·  cargo: cargo install librefang

Docker: docker pull ghcr.io/librefang/librefang:latest

Coming from OpenClaw / OpenFang? librefang migrate --from openclaw (or --from openfang)

Documentation  ·  Discord  ·  Contributing Guide


Full diff: v2026.6.11-beta.18...v2026.6.16-beta.19

v2026.6.11-beta.18

Choose a tag to compare

@houko houko released this 11 Jun 14:34
ac4900b

Full Changelog

8 PRs from 2 contributors since v2026.6.10-beta.17.

Fixed

  • Persist run state outside the state lock so GET /run never spuriously reports running:false (#6083) (@houko)
  • Inject embedded SDK into the sidecar --describe probe so the configure form isn't empty without pip install (#6085) (@houko)
  • Encode qrcode_img_content so the login QR is scannable (#6086) (@houko)
Documentation, maintenance, and other internal changes

Maintenance

  • Bump @whiskeysockets/baileys from 6.7.21 to 6.7.22 in /packages/whatsapp-gateway (#6077) (@app/dependabot)
  • Bump @types/react from 19.2.16 to 19.2.17 in /web in the web-minor-patch group (#6079) (@app/dependabot)
  • Bump the dashboard-minor-patch group in /crates/librefang-api/dashboard with 3 updates (#6080) (@app/dependabot)
  • Free runner disk space before nix build (#6082) (@houko)
  • Free runner disk space before the unit-test build (fixes ENOSPC on main) (#6089) (@houko)
Install / Upgrade

Homebrew (macOS):

brew tap librefang/tap
brew install librefang              # CLI (stable)
brew install librefang-beta         # CLI (beta channel)
brew install librefang-rc           # CLI (rc channel)
brew install --cask librefang       # Desktop (stable)
brew install --cask librefang-beta  # Desktop (beta channel)
brew install --cask librefang-rc    # Desktop (rc channel)

CLI (Linux/macOS): curl -fsSL https://librefang.ai/install.sh | sh

npm: npm install -g @librefang/cli  ·  pip: pip install librefang  ·  cargo: cargo install librefang

Docker: docker pull ghcr.io/librefang/librefang:latest

Coming from OpenClaw / OpenFang? librefang migrate --from openclaw (or --from openfang)

Documentation  ·  Discord  ·  Contributing Guide


Full diff: v2026.6.10-beta.17...v2026.6.11-beta.18