Skip to content

iCode v0.7.0

Choose a tag to compare

@github-actions github-actions released this 10 Nov 10:38
· 44 commits to master since this release

Added

  • Mira now keeps a native harness conversation instead of replaying a
    truncated transcript. Claude, Codex and OpenCode are resumed by the
    harness's own session id; a changed harness or target starts a bridged
    conversation with a visible boundary, New conversation starts a clean
    one, and a failed resume falls back to reconstructed replay once. SQLite
    migration v11 adds assistant_conversations; retired rows keep the reason
    Mira started over.

  • Mira's thread is now split into selectable conversation segments. The header
    chooses the current or an earlier conversation, each segment pages 50
    messages at a time with Load earlier messages, and New conversation
    starts a new visible segment. Proactive notifications are hidden from the
    transcript and stay in the notifications drawer, fed by a dedicated recent
    notifications query. A resumed turn's ## Since your last turn digest now
    includes action results, failures and notifications, so write outcomes are
    not lost. SQLite migration v12 adds segment ranges (start_seq/end_seq);
    pre-v12 conversation rows are shown as one legacy segment.

  • Failed or cancelled tasks can now be continued in their existing
    session and worktree: the same harness conversation where the harness
    supports resume, and the same uncommitted changes. Retry still starts a
    fresh attempt in a new worktree. SQLite migration v13 records each attempt's
    mode (fresh or resume).

  • Tasks can now depend on one or more other tasks. A dependent starts only
    after every blocker reaches completed, a blocker can hold its dependents
    until its result is accepted, and the task detail shows blockers and
    dependents with a read-only chain graph tab. Dependencies can be changed
    while the dependent is queued and follow the newest attempt on retry or
    continue. SQLite migration v14 adds task_dependencies, the
    hold_dependents gate and a per-project concurrency limit. An edge orders
    starts; it does not transfer uncommitted work between worktrees.

  • Full app-chrome localization for English, Simplified Chinese, Japanese,
    Korean, Spanish, Brazilian Portuguese, German and French: renderer UI,
    native menus, dialogs, folder pickers, OS notifications and user-facing
    application errors. A Language card in Settings offers System or a pinned
    language and applies changes without restarting. English is authoritative
    and the fallback; the other catalogs are AI-assisted and marked for native
    review in src/shared/i18n/README.md. Terminal, harness, Git and model output
    and user content are never translated. Persisted task, schedule and assistant
    text keeps the language it was written in.

  • Agent providers: configure an API provider per harness (Claude Code, Codex,
    OpenCode) in Settings → Agent providers. iCode injects the endpoint, key,
    and model into the launched session's environment instead of writing the
    tool's global config, so plugins, hooks, and user settings stay untouched.
    Includes curated presets, encrypted key storage via Electron safeStorage,
    a real Test connection request, and a Settings preview of the exact
    launch inputs. SQLite migration v14 adds providers and
    harness_provider_selection; terminal-host protocol v2 adds per-session
    environment so Codex and OpenCode receive credentials without exposing them
    in argv or on disk.

Changed

  • Task admission is now bounded per project: by default at most one task per
    project runs at a time, in addition to the global limit. Raising the global
    limit lets different projects run in parallel; raising Tasks per project
    in Settings also lets one project run several. The lower of the two limits
    applies.
  • The installer, executable and desktop icons now use the transparent green
    brand mark from the README instead of the retired black tile.
  • Codex runs for Mira no longer use --ephemeral when resume is available, so
    the harness persists a resumable thread. Mira conversations now live in each
    harness's default state directory (~/.claude, ~/.codex, OpenCode's data
    directory).
  • iCode Workbench is now licensed under the GNU Affero General Public License
    v3.0 only (AGPL-3.0-only). A modified version made available to users over a
    network must offer them the corresponding source under section 13.
  • Starting a new session no longer blocks on the whole WSL pipeline. The New
    Session dialog closes immediately and shows a pending surface while the main
    process works; the create path now caches the guest home and Harness
    discovery, batches the workspace/repository read and the worktree
    create+verify into one guest script each, prewarms the WSL host/relay, and
    reuses the create-time checkout proof on the first attach. On a warm WSL
    repository this cuts session creation from roughly 34 wsl.exe spawns to
    about 5; the first attach still verifies that the checkout exists.

Fixed

  • A WSL shell session no longer reports its worktree as inconsistent after
    reconciliation. The desktop host runs wsl.exe from a Windows pty directory
    because a ConPTY cannot start in a Linux path; that cwd was being compared
    with the guest worktree, which blocked the terminal. The cwd comparison is
    now local-only, and guest checkouts keep the distro-side Git inspection.
  • Detect again in the New Session dialog now re-detects the selected
    repository's execution target, including a WSL distro, instead of this
    machine.
  • The Sessions workspace keeps its viewport height when the pending-session
    surface is visible, so the Files tree virtualizes instead of mounting every
    row.

Security

  • Updated the transitive dompurify dependency used by Monaco to 3.4.17,
    fixing the advisory inherited through monaco-editor@0.57.0.