Releases

Release Notes.

AVL Code ships continuously on the alpha channel. Every build’s new capabilities, improvements and fixes are recorded here, sourced from the desktop release notes.

Last month of builds · earlier history in the reference manual

2026-07-29

v0.7.29-alpha

New

  • Reading binary files no longer dumps garbled text — new hex viewer: the assistant detects file type before reading, and for binary content (images, executables) it suggests the hex view instead of stuffing gibberish into the conversation; a new fs.hexdump tool shows binary content as hex with a character column, making file structure easier to inspect

Fixed

  • Cleaner, more accurate web fetching: main-text extraction fully strips script and style code instead of mixing it into plain text; escaped entities (&, ', etc.) are decoded back to real characters; non-UTF-8 pages (GBK and friends) are recognized so Chinese no longer garbles; extraction runs only on web pages — JSON, plain text and the like are returned as-is without touching whitespace or newlines, with a new content-type label; out-of-range search parameters now warn instead of silently reverting to defaults, and a server's "retry later" is honored using the specific time it gives
  • Several failures are no longer swallowed silently, and 'broke' is no longer conflated with 'was empty all along': a corrupt vuln database and a never-synced one no longer both read as empty, and actively-exploited flags no longer vanish quietly; the remote background-task list distinguishes 'can't read the state file' from 'genuinely not running'; failure to persist login-token renewal is logged to avoid a mysterious re-login next cycle; failed reloads after trust-config changes or new-skill creation are logged too, so the UI no longer looks applied while running on the old config

2026-07-28

v0.7.28-alpha

New

  • Oversized outputs can be saved whole to a file: tools whose output gets truncated (commit diff/content views, symbol-reference lookups, malware rule scans and more) can now write the complete result to a file for on-demand reading — no more paging between truncated fragments; when truncation happens you're told where to resume, with SBOM tool previews showing an “n of N” marker and the saved file's path

Improved

  • Automatic retries now show the reason on the countdown banner (network hiccup, server busy, etc.) instead of just counting down silently, so you know what it's waiting on

Fixed

  • Insufficient voucher balance no longer triggers ~4 minutes of pointless retries: deterministic problems (out of balance, plan quota exhausted) now stop immediately with the right prompt (e.g. buy vouchers) instead of making you wait out a retry round
  • Fixed three classes of silently missing results in file content search (fs.grep): several cases dropped matches that should have hit, and interplay with ignore rules was off — search results no longer go missing quietly
  • Windows no longer leaves child processes behind when terminating background commands or language services: previously only the main process was ended and spawned children lingered — the whole process tree is now terminated
  • Several failures are no longer swallowed silently: recovery-file cleanup, sub-task service shutdown and working-copy cleanup now report honestly when they fail; the login-expired prompt draws from a single source, ending the two-versions-of-the-text inconsistency

2026-07-27

v0.7.27-alpha

New

  • Find within the previewed file: search the current file's content right in the preview drawer — matches highlighted with an “n of N” counter, previous/next navigation, and a case-sensitivity toggle

Improved

  • Self-repair no longer runs dry in long sessions: one repair credit is returned after each successfully completed turn — previously the budget never recovered once spent, leaving late-session transient faults with no self-healing; long conversations now keep their repair capacity

Fixed

  • Fixed every normal turn ending being misflagged as an incomplete answer: the check now runs one beat later, so clean finishes no longer trigger it
  • A genuinely missing answer is now called out: when a turn ends on a tool call and the final reply never arrives, a visible notice appears instead of a log-only record; turns you stopped yourself are exempt
  • Conditional automation rules no longer skip silently: when a rule's trigger condition can't be evaluated, the session shows an explicit notice instead of looking like the config never took effect
  • Large-repo search now discloses its coverage: the code-search index caps at 4000 files, and when a repo exceeds that, the count of unindexed files is stated plainly — so a miss is clearly either truly absent or simply not covered

Security

  • Dependency security update: goldmark and x/text upgraded, fixing two security issues that affected this application

2026-07-26

v0.7.26-alpha

New

  • SSH remote workspaces can run commands in the background: start long-running commands remotely (services, builds, tests), check output anytime, list running tasks and terminate them (children included); remote task state lives on the server, so tracking survives reconnects and even app restarts — previously remote workspaces only allowed one-shot synchronous commands

Improved

  • Tools now lazy-load on demand with a leaner default set: each turn carries twenty-odd tools by default instead of a hundred-plus, with the rest loaded when needed — less overhead, faster responses; a new tool catalog (tools.load) lists everything by category with a one-line description per tool; external MCP services get per-service lazy-load settings and a reachability audit, and the catalog stops listing tools that are momentarily unavailable
  • Tool permissions granted by category, with a full audit of all five modes: grants no longer enumerate tool names one by one — Auto / Plan / Prepare / Execute / Assess permissions were rewritten on this basis with gaps filled: Assess gains the read-only analysis abilities it should have had (security analysis, code intelligence, read-only git, SBOM), and Plan's read-only limits are expressed more precisely; planning and todo abilities are main-assistant-only so sub-tasks stop re-planning, and assistant-config tool lists apply only to the main assistant, stacking with mode limits
  • The assistant knows what tools you have connected: it is told explicitly that tools lazy-load and which categories exist, so a short default list is no longer mistaken for missing abilities; connected external MCP services are named one by one with tool counts and sample names
  • Clearer confirmation before closing the window: with tasks running or outside the workspace view, closing the main window asks first — distinguishing 9 kinds of unfinished work, ranking prompts by consequence with matching options, and stating plainly what closing would lose
  • Repeated-call warnings now reach you proactively: the assistant is prompted when it repeats the same tool with identical arguments; when it spirals into repetition, the session gets flagged in the session list with a notification on top of the in-chat notice — visible even from another session, in both sidebar and top-tab layouts, and the flag survives restarts
  • Auto-compaction gains a usage-based ceiling: besides the ratio trigger, a configurable absolute-usage threshold (default 372000) now fires compaction — models claiming huge context windows could dodge the ratio trigger for too long, and long sessions now compact in time
  • Session info (title, timestamps) keeps updating during long stretches of consecutive tool calls instead of waiting for the turn to finish

Fixed

  • Fixed the command palette keeping the previous query when reopened: it now starts fresh, so you can type to search right away
  • .gitignore parsing now matches Git's actual behavior: ! negation rules can re-include ignored files, and a directory name without a slash ignores the whole directory and its contents rather than just a same-named file — affecting what file search and change views skip

2026-07-25

v0.7.25-alpha

Improved

  • Whole-repo code search (code.search) now matches Chinese: bigram segmentation for Chinese means comments and questions in Chinese no longer return zero hits; unsupported-capability verdicts for go-to-implementation, completion and friends also join the cross-session cache, cutting repeated failed probes
  • Self-repair actions now actually execute: context-overflow and rate-limit situations are wired to real executors (context compaction, backoff retry) instead of being recognized but left unhandled — long tasks recover more reliably from transient faults

2026-07-24

v0.7.24-alpha

New

  • Six more code-intelligence capabilities: go to implementation, go to type definition, same-symbol highlighting, code completion, signature help and code formatting join the existing definition / references / diagnostics — plus graceful degradation driven by the language server's actual responses rather than declared capabilities, so genuinely supported features are no longer rejected by prediction

Improved

  • Code-intelligence support verdicts are cached across sessions: once a capability is determined unsupported by the language server, new sessions no longer re-probe it — fewer pointless failing requests, faster responses
  • When too many enabled tools exceed what the model accepts per request, the tool list is auto-trimmed and the request retried: tools are kept in order and cut from the tail, and the model's tool-count limit is remembered across sessions to avoid repeating the failure

Fixed

  • Vue / Astro language servers no longer broken out of the box: required TypeScript dependency defaults are now built in and the Vue language-server version is pinned, so they work immediately
  • Fixed ordered/unordered Markdown list numbers and bullets not showing in messages: a global style reset was wiping list markers — they are restored within the render container
  • Fixed manually configured external MCP services failing immediately on connect: the default transport could mismatch what the server actually offers — connections now auto-negotiate between Streamable HTTP and SSE with fallback, and manual configs default to HTTP, so onboarding succeeds more often

2026-07-23

v0.7.23-alpha

New

  • Customizable ordering for the tab strip and session list: top tabs support pinning and drag-to-reorder (time-ordered by default — pin favorites or drag to rearrange); the sidebar session list gains pluggable sorting and grouping — sort by recent activity / creation time / name / manual, group by date or status

Fixed

  • Systematic fix for parallel sub-tasks (AgentParallel) getting stuck: partial legs can now return as they finish, compression failures fail fast instead of waiting forever, concurrency-launch and runtime guardrails are added, and instrumentation is filled in for easier troubleshooting
  • Fixed sub-task context not actually converging when rebuilt after auto-compaction: the rebuild now applies the compaction exclusion filter, so compaction truly takes effect and context no longer keeps growing

2026-07-22

v0.7.22-alpha

Improved

  • Binary file preview switches to a hex dump: contents render as hex with a character column instead of garbled text, making file structure easy to skim

Fixed

  • File-type icon fixes and polish: completed the path whitelist to fix 6 file-type icons that never rendered; brandless generic formats now use semantic glyph icons for easier recognition; fixed YAML / TOML icons missing blocks in dark theme
  • Multiple compatibility fixes for external MCP tool calls: guardrails at tool registration (malformed declarations no longer crash the process), numeric precision preserved when passing call arguments, dropped connections classified correctly with automatic reconnect, and clear diagnostics instead of silent failure on malformed tool schemas
  • Fixed 401 when adding an external MCP service after token rotation: backend credential resolution now explicitly prefers the currently valid credential instead of reusing the expired token
  • External MCP calls are no longer rejected by strictly validating backends: process-identity context now travels out-of-band instead of being mixed into tool arguments
  • Removing an MCP service now cleans up orphaned credentials in the SM-crypto credential store, with a startup self-heal for any leftovers

2026-07-21

v0.7.21-alpha

New

  • Linux deb packages for domestic-platform systems with a dedicated upgrade channel: deb installers targeting domestic Chinese platforms (Kylin V10 / V11 and a full webkit 4.1 bundle variant); these installs use their own version-check and upgrade channel that only accepts packages matching the installed variant, so upgrades can't land on the wrong build

Improved

  • File preview gains syntax highlighting and more accurate coverage: source in the preview drawer is syntax-highlighted with a format icon before the path; the previewable range extends to session-attached directories / files (workspace first, then session attachments); the clickable-preview hint appears strictly for paths that can actually be previewed
  • Model info editing and saving are more reliable: parameter editing converges on a single panel wherever you enter from; saves update field-by-field instead of overwriting the whole model list, with optimistic-lock checks so concurrent edits no longer clobber each other

Fixed

  • Tool durations in the trace panel always showed 0: the duration field was dropped when backfilling results — fixed, so each step's actual time now displays

2026-07-20

v0.7.20-alpha

New

  • Switch the interface language right from the quick menu: the Header quick menu's Display group gains a Language slider (简 / 繁 / EN) — one click switches the whole interface instantly and saves the choice, no settings page needed; also fixes the language snapping back when an in-flight settings load overwrote the switch

Improved

  • On wide screens the attachments strip becomes a right-side stacked drawer: clearer visual link to the preview sidebar, unified stacked-list styling, and a stable centered three-pane layout that uses wide-screen space better; the in-session preview sidebar layout is polished along the way

Fixed

  • Fixed 401s from the tool-gateway (zMCP) admin API with multiple workspaces: the signing key was read from a global slot that could mismatch the actual workspace — it is now taken per owning workspace, eliminating the auth failures
  • The right-side stack container no longer reserves space when there are no status strips: an empty container hides itself instead of leaving a blank block
  • The usage-stats popover's right edge now aligns precisely with the context-usage ring: positioning is measured from the actual location, so no more subtle misalignment at different window widths

2026-07-19

v0.7.19-alpha

Improved

  • Model output length is no longer hard-capped: the fixed 4096 output ceiling is removed, so responses can run as long as the model itself allows; the model-parameter drawer is simplified accordingly, dropping the misleading nominal-value display

Fixed

  • Systematic security and stability hardening for SSH / remote workspaces: credential encryption now uses a random salt on every save for stronger at-rest ciphertext; credential files are lock-protected with atomic writes to prevent concurrent corruption; first connections ask for fingerprint confirmation, and the remote root-directory blacklist closes a parent-directory traversal bypass; connection transactionality, identity resolution and recent-list cleanup are polished as well

2026-07-18

v0.7.18-alpha

New

  • Signed-in username in top-tab mode: with the top-tab layout, the tab strip now shows the current username after signing in; the name renders at a fixed width with an ellipsis when too long, and characters with descenders (g / y / p) are no longer clipped at the bottom

2026-07-17

v0.7.17-alpha

New

  • Top-tab layout for workspaces and sessions: the layout can switch between “Sidebar” and “Top tabs”; in tab mode the content area extends edge-to-edge with more room to work in; open tabs are remembered and restored after a restart; the Header dropdown menu adds a quick layout slider, so switching no longer requires a trip to the settings page
  • Adjustable message detail from the quick menu: the “Display” group of the Header quick menu gains a “Detail” slider that switches message density between “Normal” and “Minimal”; at the minimal tier, tool calls and other details condense into thin rows for a more compact message flow
  • Message markers for unrestricted mode: consecutive messages produced while the mode is on are outlined as a whole with a light border, making the start and end obvious at a glance — easy to tell afterwards which content was generated without guardrails; the border closes off as soon as the mode is turned off. Subagents can recursively inherit the mode on demand, and messages produced under inheritance carry the same marker

Improved

  • Exported HTML matches what the app shows: it follows the minimal density tier — tool calls render as grayscale thin rows with same-kind calls merged and counted (failed calls still counted); subagents render as cards, and user message bubbles are colored by source, consistent with the in-app view
  • Clicking the text of the current-workspace chip now opens the dropdown menu, same as clicking ▾ — no more aiming precisely at the little arrow

Fixed

  • Custom names of SSH / remote workspaces are no longer overwritten by auto-derived names after a restart; the saved name is correctly read back on restore
  • Fixed unresponsive “Open on the right” clicks on subagent blocks and parallel branches in history replay; readability of quick-menu group labels in the dark theme is improved along the way

2026-07-16

v0.7.16-alpha

New

  • Plugin management tool set: four new plugin management tools — search / list / install / uninstall — let you look up plugins, view what's installed and complete installs and uninstalls right in the conversation; write operations such as install and uninstall take a two-step confirmation to prevent slips

Improved

  • The ⋯ menu opens on right click: the ⋯ menus on session entries and the two title bars above can now be summoned directly with the right mouse button — no more aiming at the ⋯ button; the menu is no longer clipped when close to the bottom of the window, and right-clicking no longer also selects the entry text

2026-07-15

v0.7.15-alpha

Improved

  • Better tool tri-state (enable / disable / ask) experience: “Disable” now takes effect on both the main agent and subagents; “Ask” is wired into a real confirmation flow that pauses before the call and waits for your go-ahead; uninstalling a plugin or MCP service also cleans up leftover tool configuration, keeping the on-disk config consistent with the tools actually available
  • More accurate self-healing for tool-call errors: recognition of upstream “invalid tool name” errors is extended (one more prose-style phrasing covered) so they trigger auto-correction and retry; also fixed error classification being thrown off by diagnostic markers, which misjudged upstream 400s as upstream outages — self-heal strategy selection is now more accurate

Fixed

  • Third-party MCP services no longer receive the tool gateway's admin key: third-party MCP child processes launched over standard input / output (stdio) are no longer handed the gateway admin key, so third-party services can no longer hold gateway admin privileges they were never meant to have — lowering the risk of privilege overreach
  • Plugin import identity and directory issues: an imported plugin's name is now taken from the signed manifest rather than the zip file name, so a file name can no longer impersonate a plugin name; importing a zip that shares a name with an existing plugin no longer silently reuses the old directory, which created the illusion of a successful import with unchanged content

2026-07-14

v0.7.14-alpha

Fixed

  • Stronger diagnostics for native crashes: crash capture can now recognize access violations caused by external / injected code and name the offending module in the report; when a native crash strikes mid-run in a subagent, the culprit-module information is filled in as well, making anomalies from third-party or injected components easier to pin down
  • Tool-list fetch failures now retry automatically, prompting only after repeated retries still fail: this avoids incomplete tool lists caused by momentary network hiccups; the fallback tool table is generated from the same source as the built-in tools, reducing missing entries

2026-07-13

v0.7.13-alpha

New

  • Plugin cards gain a source-trust shield: mirroring the plugin marketplace's source-trust display, it visually marks how trustworthy a plugin's source is, helping you judge before installing

Improved

  • Brand icons / badges for plugins and model providers: providers such as DeepSeek, OpenRouter, OpenCode Zen / Go, Xiaomi MiMo, Zhipu and Moonshot AI switch to brand icons faithful to their official colors, and plugin icons in the Claude Code-compatible format are translated and reused automatically; the “Plugin” badge changes to a neutral outline style and model providers reuse their parent plugin's icon, for a more unified look
  • Hardened signature verification and trust store for plugins / skills: a mandatory signature-verification loop is now closed — plugins whose origin cannot be proven (warn) proceed only after user confirmation, while those with evidence of tampering are still hard-blocked, and rejections / import failures surface the specific reason; signature policy and trust-store settings move to a dedicated “Skill / plugin signing” tab, the trust store supports manual / automatic reload and importing root-certificate PEMs, and dropped-in certificates take effect immediately — no restart needed

Fixed

  • Fixed visibility and conflict-validation issues for plugin model providers: key storage and the “model provider” term are unified; fixed disconnected providers getting deadlocked by conflict validation against existing models, which made saving impossible (existing data is now exempted); and the third tier of window conflicts is downgraded from a hard rejection to an advisory hint, so official specs are no longer wrongly blocked
  • Fixed provider, sampling-parameter and other metadata of some messages being silently dropped on the main-process side, leaving the frontend showing “unknown provider”: the main-process mirror structure and the non-streaming path now carry the full metadata, keeping records consistent with the actual call parameters

2026-07-12

v0.7.12-alpha

New

  • New /fork session-copy command: one command duplicates the current session as a copy and continues the current task there while the original session stays untouched — handy for forking from a given point to try a different approach without disturbing existing progress

Improved

  • Companion messaging /ws now performs real workspace switching: it previously returned placeholder text without actually switching; it now switches for real and persists the change — type a name to jump to that workspace, and when the name doesn't match, the reply lists the workspaces you can pick from
  • Companion messaging /stop and /resume now actually pause and stop: they previously returned hint text with no real effect; /stop now truly stops the current run and /resume resumes execution
  • The SBOM offline vulnerability database switches to a single-file index: hundreds of thousands of scattered file reads become one sequential index build, sharply cutting disk IO and greatly speeding up offline audits; older databases get the index built automatically on first use

Fixed

  • Occasional interruption of long-running tool calls (SSE EOF) fixed: long calls such as SAST / SBOM used to be cut off mid-flight by the tool gateway's write timeout on calls over 30 seconds; that limit is lifted — the timeout ceiling now honors the explicit budget and interactive answer windows are no longer reclaimed early by the idle watchdog, so long tasks complete reliably
  • Tighter signature-verification gating for full plugins: plugins with incomplete or non-compliant signatures are blocked more strictly, improving plugin-loading security

2026-07-11

v0.7.11-alpha

New

  • Built-in AI-guided skill creator (skill-creator): bundled with the app and ready out of the box — create and refine your own skills under guidance without installing anything extra; built-in skills materialize automatically at startup and content drift is overwritten to stay consistent, while build-time signing plus a built-in signature anchor let them pass under the strict signature policy; the Skills panel marks it with a “Built-in” badge to set it apart from self-built / third-party skills
  • zMarket publishing-contract compatibility checker (market.check): a new built-in read-only tool that validates plugin / skill packages against the zMarket publishing contract, catching naming, version, signature and capability-declaration issues early — handy for a self-check before publishing

Fixed

  • Message-handle popup menu clipped near the bottom of the screen fixed: the popup menu of the message action handle used to get partially cut off near the screen bottom; it now flips upward automatically and clamps into the visible area, so the menu stays fully visible

2026-07-10

v0.7.10-alpha

Improved

  • Agent Skills compatibility hardening: improved cross-client skill discovery and parsing tolerance, plus added translation mappings for tool names, so skills from different sources with different naming habits are recognized and invoked correctly

Fixed

  • Startup failure on Intel builds from wrongly blocked component extraction fixed: as built-in components grew with new features they exceeded the original decompression cap and were stopped by a safety guardrail, so extraction failed at startup on some Intel machines; the cap is raised from 64MiB to 256MiB, letting legitimately grown components extract normally

2026-07-09

v0.7.9-alpha

Improved

  • Broader, more precise SBOM supply-chain audits: manifest scanning recurses into subdirectories and falls back to manifest parsing when the lockfile is missing, Deno / Julia ecosystems are added and NuGet / yarn Berry / pnpm v5 detection is completed; the project itself is no longer mistaken for a third-party dependency, Go replace / exclude are handled correctly, and version-comparison fidelity is strengthened; vulnerability auditing supports per-ecosystem fallback, adds precision notes for Maven / Gradle / pip / Conda / Conan / npm, and ecosystems it could not audit get an explanation along with an exploitability description
  • Attachments wording now distinguishes “ready” from “upload”: when local workspace files are added as attachments, the status reads “Ready” instead of “Uploading / Uploaded”; the “upload” wording is kept only where data truly leaves the machine (such as submitting feedback or uploading for detection), avoiding misleading implications for local files

Fixed

  • Root cause surfaced for “zWorkspace / zAgent binary not found”: when the bundled zWorkspace / zAgent components could not be located at startup, only “binary not found” used to be shown; the real root cause — embedded component extraction failure — is now reported as well, along with per-platform troubleshooting suggestions
  • White-screen freeze when switching themes on Linux fixed: in some Linux environments (such as WebKitGTK on Fedora 44), switching between light and dark themes froze the interface on a white screen; the theme-switch transition animation is now disabled for that environment
  • Hard-to-read session-attachment scope badge fixed: the scope badge used to be white text on purple with low contrast; it now uses a more readable indigo palette, so the badge text is clearly legible

2026-07-08

v0.7.8-alpha

Improved

  • Context-usage ring changes color by tier: the context-usage indicator ring now shifts color with the usage ratio — yellow at 75%, red at 90% — a more eye-catching warning as you near the context limit
  • Clickable trajectory timeline: steps on the trajectory panel's timeline can now be clicked to jump straight to the corresponding spot in the message flow, making it easier to revisit a step

Fixed

  • Lost line breaks in multi-line input fixed: multi-line user messages used to get squashed onto one line when rendered; the rendering pipeline now preserves line breaks and blank lines, so messages display in multiple lines as typed
  • “unknown tool” when the tool gateway (zMCP) backend is absent fixed: an unknown-tool fallback now covers a momentarily absent / not-yet-ready backend, with on-demand reconnection and self-healing, so tools no longer go down wholesale because the backend isn't ready

2026-07-07

v0.7.7-alpha

Improved

  • Leaner tool results that spend less of your quota: workspace tool results are slimmed down — file paths display relative to the workspace root, error messages shed the verbose root-path prefix, duplicate line hashes are removed, and pagination bookkeeping is emitted only when a result is truncated; overall this cuts needless token usage, so long tasks cost less

2026-07-06

v0.7.6-alpha

Improved

  • Account-usage wording aligned to the voucher-purchase framing: the out-of-credits (402) message, version-lock prompt and related fallback copy all switch to the “purchase vouchers” framing, consistent with the account-usage display and server-side billing logic — no more mismatched “reset / balance” phrasing

2026-07-05

v0.7.5-alpha

Security

  • Security updates for component dependencies: multiple third-party dependencies are upgraded to pick up security fixes — 8 items including Go's x/crypto, x/net and the MCP SDK — with in-range updates for frontend dependencies

2026-07-04

v0.7.4-alpha

Improved

  • Upgrade dialog notes now match the release notes: the notes shown in the “new version found” upgrade dialog stay consistent with the release notes, no longer mixed with commit logs and other developer-facing information
  • Account and usage display aligned with the server: the account / usage panel now always shows your own view (scope=self), with “available credits” as the headline metric; quota is described as recovering gradually over a sliding window (recovery starts on schedule rather than resetting to zero), consistent with server-side billing logic
  • VirusTotal AI supports an independent endpoint: VirusTotal AI can now be configured with a custom endpoint independent of GTI, and the two don't affect each other

Fixed

  • Overlay and rounded-corner misalignment when maximized fixed: in the maximized state the window's corner radius is zeroed and the overlay fits flush, so the misalignment no longer appears

2026-07-03

v0.7.3-alpha

New

  • Full VirusTotal / Google Threat Intelligence tool set (vt.*): a new group of cloud threat-intelligence tools covering the VT and GTI v3 APIs — vt.lookup (read-only enrichment with automatic IOC-type detection, batch support and compact summaries), vt.api (full pass-through to every kind of endpoint), vt.submit (submit URLs / upload files / rescan, with upload confirmation and async polling), and vt.download / vt.feeds / vt.hunt (file download / feeds / hunting, Premium); each tool is gated by tier — enabled / query-only / paid / upload-confirmation-required — and activates with a valid API key; responses go through compact summarization to keep them from filling the context, and SSH remote workspaces are supported

Improved

  • Security settings reworked, decoupling detection capability from interception: the cloud detection backend becomes an explicit single choice (VirusTotal AI ⊕ Google Threat Intelligence ⊕ off) with an independent local YARA switch — the two axes are orthogonal and no longer entangled; once a cloud backend or local YARA is configured, the related analysis tools work directly, no need to turn on “sentinel interception”; the configuration is de-jargonized, cloud detection becomes single-select cards showing an effective-state summary, and a non-destructive “Reset to defaults” is added (keys / registrations preserved); key validation moves earlier, so an unusable key is flagged at enablement instead of surfacing as a decryption failure at tool-call time

2026-07-02

v0.7.2-alpha

Improved

  • Better retrieval quality for repo-wide code Q&A (code.ask / RAG): expanded retrieval results are now smart-reranked by default using code-structure relationships, keeping code.ask answers focused on the relevant content; incremental refresh scoping is also corrected, so the index refresh range after file changes is more accurate — no more over- or under-refreshing
  • Enhanced IOC extraction (sec.ioc_extract): defanged notations such as hxxp://, 1[.]2[.]3[.]4 and user[at]example[.]com are restored before extraction; IPs get validity and classification checks, domains are recognized against public suffixes, and private ranges can optionally be excluded to cut false positives; new indicator types include CVE IDs, Windows registry paths, MAC addresses, SHA-512 and Ethereum / Monero wallet addresses; results carry occurrence counts and type labels with pagination support (consistent with sec.strings), plus optional defanged output and match context

Fixed

  • Importing / rebuilding sessions no longer falsely reports “already exists”: fixed misplaced write targets and the dedup / ownership conflicts caused by reusing one session ID across workspaces (including sessions missing after import into a newly created workspace, and blank workspaces falsely reporting duplicates), and fixed the return structure of import conflict detection (previously failing because the Wails binding lost the model type); import / rebuild now completes normally
  • Session-export redaction now covers nested JSON: redaction recursively descends into nested JSON structures, covering sensitive data in tool-call arguments and results so deeply nested fields are no longer missed

2026-07-01

v0.7.1-alpha

New

  • Plugin marketplace update checks and upgrades: added marketplace sources can be refreshed from origin (git re-pull / local re-parse); after a refresh the view shows each plugin's installed version and an “upgradable” marker, with upgrades available right from the marketplace row or card; installed plugins get a “Check for updates” entry at the top of the list, and cards with updates show an “update available” badge and an upgrade button; upgrades compare by semver first with diff as fallback, the plugin directory is emptied before upgrading so stale components don't linger, and the marketplace cache swaps atomically with safe rollback on failure

Improved

  • Real inline progress for marketplace downloads / updates: install / upgrade / preview / update / add operations show an inline progress bar fed by the real download progress parsed from git clone; the update / check-for-updates buttons become an in-place spinning refresh icon for a more consistent look

Fixed

  • Session-export redaction now masks IPs at the start of code-block lines: rules are applied to decoded JSON text values, fixing line-leading IPs inside code blocks (affected by JSON escaping) that previously went unmasked
  • Extra title bar on Kylin V11 (Wayland) fixed: when Kylin V11 2603 enables the Wayland display protocol by default, the app no longer shows an extra system title bar across the top after launch
  • Sending no longer gets stuck when no model is configured: sending right after deleting the model provider in use previously hung; now an inline confirmation in the message flow guides you to switch to an available model first, and a failed start also resets the running state instead of staying stuck at “running”
  • Real diagnostics when the child process (zAgent) exits abnormally: when writing the persona or feeding data to a subagent hits a broken pipe, the real zAgent exit reason is reported instead of a generic symptom message, making tricky issues easier to pin down
  • Cleaner self-heal: result-type internal injection messages produced by auto self-heal (auto_self_heal) no longer appear in the conversation — what you see is still the normal output
  • UI detail fixes: full-window overlays keep their rounded corners, consistent with the frameless window; the agent management area no longer overflows the window width from truncated text

2026-06-30

v0.6.30-alpha

New

  • Intent restatement adds “Keep my original intent” plus choice statistics: the confirmation bar gains “Keep my original intent” — skip the AI's restatement and continue with your original message as-is; the count and character volume of each choice (confirm / edit / keep original / timeout auto-start / cancel) are recorded and shown as a table on the settings page; “Analyze intent and restart from here” gains a preview — messages after the restart point are hidden first and the confirmation bar sits below them, making the affected range easy to confirm
  • New installer packages for domestic sovereign platforms: dedicated installers for two domestic desktop operating systems — Kylin V10 SP1 (Kylin-Desktop-V10-SP1-2503) and UOS V20 (Uos-Desktop-V20-1060) — join the download page alongside the Windows / macOS / Linux builds, ready to pick directly; links always point to the latest alpha-channel build

Improved

  • Config directory and environment variables migrated to avlcode: internal identifiers move from zcode to avlcode across the board (global config directory, workspace .zcode directory, ZCODE_* environment variables and related YAML / frontmatter fields, with SSH remote workspaces handled as well); migration runs automatically at startup / workspace open, keeps dual-read fallback to the old names, shows progress along the way and leaves existing data untouched; leftover “zCode” mentions in the UI and outward-facing output are unified to “AVL Code”
  • Real-time status for parallel subtasks (fan-out): the call card for parallel subtasks now shows during execution and reflects each subtask's running state live; spinners stop once stopped, and result blocks are no longer wrongly collapsed at minimal density

2026-06-29

v0.6.29-alpha

New

  • Repo-wide code search and Q&A (code.search / code.ask): two new whole-repo semantic retrieval tools beyond the precise “find definition / find references” lookups — ask in natural language “where is the login logic and how does it flow”; purely local, zero vectors / zero embeddings, works offline (air-gap); hits are explainable with file:line plus keywords, structure-aware reranking uses call relationships and centrality, the index auto-refreshes incrementally as files change (with progress shown for first-time indexing), and SSH remote workspaces are supported too
  • Clickable code references: code locations cited in AI answers and file:line references in tool results are now clickable, jumping straight to the source at that line — grounded evidence you can see and verify, no manual digging

Improved

  • Continued polish for intent restatement: it now triggers only on the first message you typed yourself (automatic / programmatic triggers no longer interrupt), and only when the opening is short (under 30 characters) or fairly simple — say enough, clearly enough, and work starts right away; the confirmation bar's “Edit” can now edit both the goal and the plan, and the message menu adds “Analyze intent and restart from here”
  • More polish: a lone .md / .mdx path in a code block (when the file exists) can be clicked to preview; supply-chain (SBOM) settings add a “Reset to defaults” button (changes the form only; takes effect after “Test and save”)

Fixed

  • Fixed session-pane crosstalk when creating / switching workspaces (a briefly dangling current workspace wrongly fell back to the first workspace in the list); sessions no longer bleed across workspaces
  • Stopping the main session now also stops the subagents it dispatched, leaving no subtasks still running in the background
  • Building the code index / starting language services no longer floods the screen with a burst of toasts; progress is now a single in-place progress bar for a tidier interface