Skip to content

Releases: Bitslix/BLXCode

BLXCode 0.2.7 — Win/Linux stability & workspace polish

27 May 18:42

Choose a tag to compare

BLXCode 0.2.7 focuses on making the Linux desktop experience feel solid: terminals you can actually copy from, a browser panel that no longer crashes on startup, and a smoother git + memory workflow.

Highlights

Terminals that behave like real terminals (Linux)

  • Right-click menu with Copy, Paste, and Select all
  • Shift+right-click to paste instantly — familiar from GNOME/KDE terminals
  • Ctrl+Shift+C / Ctrl+Shift+V keyboard shortcuts
  • Clipboard goes through the native system clipboard (no more silent failures in the embedded web view)

More stable on Linux

  • Fixed boot crash when the embedded Browser tab was never opened
  • Fixed terminal copy/paste that previously did nothing under WebKitGTK
  • Browser navigation runs on the main thread for smoother WebKit behavior

Git in the sidebar

  • New File Diff panel: see changed files, stage/unstage, open diffs in a tab
  • Changes grouped into Staged and Unstaged
  • Commit graph refreshes automatically when your repo changes

Memory panel

  • Setup wizard when memory folders are empty
  • Agent pointers — one click to tell Claude Code, Cursor, Codex & co. where BLXCode memory lives
  • Cleaner file tree, workspace/global search filters, create global notes from the UI

Smaller quality-of-life wins

  • Agent chat shows which files each tool touched
  • Settings gear in the right panel header
  • Preview for AGENTS.md, CLAUDE.md, LICENSE, and other policy docs
  • Terminal scrollback increased to 5 000 lines

Install (Linux amd64)

Format File
Debian/Ubuntu BLXCode_0.2.7_amd64.deb
Fedora/RHEL BLXCode-0.2.7-1.x86_64.rpm
Universal BLXCode_0.2.7_amd64.AppImage
Mac Universal BLXCode-0.2.7-1.x86_64_universal.dmg
Windows BLXCode_0.2.7_amd64.exe

The in-app updater uses the AppImage (signed). .deb and .rpm are for manual installs.

Upgrade

If you already have BLXCode installed, open Settings → App → Check for updates, or download the AppImage above.


Full technical changelog: CHANGELOG.md#027---2026-05-27

BLXCode v0.2.6

23 May 01:21

Choose a tag to compare

BLXCode v0.2.6

A workbench-quality release: the file preview tab graduates from a plain text fallback to a full multi-format viewer (images, video, Markdown, Mermaid, syntax-highlighted source code, and policy-doc hero banners for LICENSE/CONTRIBUTING/…); the workspace pane gets terminal-slot drag & drop reorder and a closeable Terminals tab; and the Windows release CI gains a fast-runner-first / slow-runner-fallback execution model.

Highlights

File preview — five renderers in one tab

Clicking a file row in the sidebar Project Explorer now opens a typed renderer instead of forcing every byte through UTF-8:

  • Images — PNG / JPEG / WebP / GIF / AVIF / BMP / ICO render via data: URL; SVG is sanitized + inlined so themes apply. 16 MiB cap.
  • Video — MP4 / WebM / MOV / M4V / MKV play in a native <video controls> element. 64 MiB cap.
  • Markdownpulldown-cmark with tables, strikethrough, task lists, footnotes, and smart punctuation. Fenced ```mermaid blocks render inline through the vendored Mermaid 11 UMD bundle.
  • Mermaid (.mmd / .mermaid) — single full-tab diagram with securityLevel: strict.
  • Code & plain text — two-column CodeView with a sticky line-number gutter and highlight.js 11.11 syntax colors (Rust / TS / JS / Python / Go / Java / Kotlin / Swift / C / C++ / C# / Ruby / PHP / Lua / Dart / HTML / CSS / SCSS / JSON / TOML / YAML / SQL / Shell / Dockerfile / Makefile / diff and 60+ more extensions).
    • Row & range selection — click to highlight a single line, drag to select a range (1-based inclusive).
    • Right-click handoff menuSnippet → Insert into terminal (any terminal in any workspace, current one pinned with a localized current badge), Full context block → Insert into terminal (wrapped in the ⟪ BLXCode attached context ⟫ envelope), Snippet → Attach to agent, and Clipboard (snippet / range / raw text) with per-action toast feedback.

Repository policy documents render with a hero banner

LICENSE, LICENCE, COPYING, CONTRIBUTING, CONTRIBUTORS, CODE_OF_CONDUCT, SECURITY, AUTHORS / MAINTAINERS / CODEOWNERS, CHANGELOG, README and their variants are detected by their filename stem (case-insensitive). They render as Markdown — with or without a .md extension — and get a kind-specific hero banner above the body: Scale / GitPullRequest / Users / ShieldCheck / Lock / UserRound / History / BookOpen icon, success-green accent for License, danger-red for Security, accent-blue for everything else.

Workbench

  • Terminal slot drag & drop — drag a slot by its grip handle (⋮⋮) to swap positions with any other slot in the same grid. Agent label, split-pane layout, and the live PTY session travel with the slot (no shell restart, no agent CLI re-launch).
  • Closeable Terminals tab + Settings without a workspace — every center tab now has a close button. The pinned Terminals tab confirms with a 3-second countdown before tearing down its PTYs. Settings can be opened from an empty workbench: an ephemeral shell workspace is provisioned lazily, hides itself from the sidebar, and is disposed when the Settings tab closes.

Sidebar polish

  • The orange terminal-count badge is now visible from 1 slot up (was: >= 2), so you can differentiate one terminal from no terminals at a glance.
  • The per-workspace color is now expressed through the same accent rail used for the active row — a subtle 35 % tint by default, ramping to the full color when selected (no more separate color-dot chip).

Tooling

  • Windows release CI: fast runner with automatic fallback. A new composite action at .github/actions/build-windows/ is shared between two jobs. build-windows-fast runs on [self-hosted, Windows, blxcode-win-fast] with continue-on-error: true and a 60-minute timeout. build-windows-fallback runs on [self-hosted, Windows, blxcode-win] and only triggers when the fast job actually failed (not on manual cancel). A previously-blocked release now self-recovers within a single workflow execution.
  • ./scripts/release.sh --bump patch+N / minor+N / major+N. The bump argument accepts an optional +N suffix so multi-step version jumps no longer need three separate invocations: ./scripts/release.sh --bump patch+3 performs 0.2.3 → 0.2.6 in a single call. PowerShell counterpart (scripts/release/version.ps1) updated for parity.

Fixes

  • Close-Terminals confirmation dialog had no chrome (four missing CSS classes) — added and aligned with the right-panel design language (tinted icon-chip, mono title, glow on the primary button while the 3 s countdown elapses, all theme-token-driven).
  • Sidebar Git Commits section now defaults to collapsed on new workspaces, so no more flash of "Could not load commit history." on every fresh workspace before the repo is resolved. Per-workspace expand/collapse state is still persisted across reloads.

Documentation

Fully synced with this release — new sections, eight new screenshots wired in:

  • docs/user/workspaces.md → new Center tabs section (tab strip, closeable Terminals, Settings without a workspace, per-tab persistence).
  • docs/user/file-preview.md → right-click handoff menu and policy-doc hero banners illustrated.
  • docs/user/getting-started.mdBoot loading screen explained with the three eyebrow phases (Starting BLXCodeRestoring workspaceOpening workbench).
  • docs/user/settings.md → screenshots for App / API Keys / BLXCode Agent panes; cross-link to the new Center tabs section.
  • docs/user/appearance-themes.md → corrected to 20 themes (15 dark / 5 light) with the theme grid screenshot.

Downloads

Platform File Size
Linux (Debian / Ubuntu / derivatives) BLXCode_0.2.6_amd64.deb 15.3 MB
Linux (RHEL / Fedora / derivatives) BLXCode-0.2.6-1.x86_64.rpm 15.3 MB
Linux (any distro, portable) BLXCode_0.2.6_amd64.AppImage 110.2 MB

Each bundle ships with a matching .sig file consumed by the in-app updater. The canonical latest.json manifest is uploaded alongside the bundles.

Windows and macOS bundles are produced by GitHub Actions (.github/workflows/release.yml) and may be uploaded to this release after the CI run finishes.

Updater

If you already have a previous BLXCode version installed, the in-app updater (Settings → App → Check for updates) will pick this release up automatically through the signed latest.json manifest. Updater signatures are independent of OS code-signing certificates.

Full Changelog

See CHANGELOG.md → 0.2.6 for every entry with implementation details, test coverage, and i18n notes.

BLXCode v0.2.3

22 May 09:40

Choose a tag to compare

BLXCode 0.2.3 ships a major workbench refresh: VS Code-style center tabs (terminals, file preview, docked settings), a 20-theme Appearance system, centralized API Keys, and the settings/agent UX overhaul from two merged PRs since v0.2.1.

Highlights

  • Center tabs — pinned Terminals tab plus dynamic tabs for file preview and docked settings; PTY sessions stay alive when switching tabs.
  • 20 app themes — Settings → Appearance with search, dark/light filters, and tokenized CSS across the workbench.
  • Docked settings — modal overlay replaced by a center-tab SettingsDock (App, Appearance, API Keys, Workspace, BLXCode Agent).
  • Centralized API Keys — single pane for LLM and web-search providers with keyring-backed storage.
  • Agent UX — per-turn metrics bar, session cost chip, harness.ask_user question cards, boot loading screen, and GitHub Releases updater plumbing.

Added

  • Center multi-view tabs, file preview (read_workspace_text_file), docked settings tab
  • App theme system & Appearance tab (20 themes, ThemeService, boot anti-flash)
  • Centralized API Keys settings pane + backend api_keys_* commands
  • Settings revamp: BLXCode Agent pane (text/image/voice), workspace category colors
  • Per-turn chat metrics & session cost (TurnMetricsBar, SessionCostChip)
  • Boot loading screen, harness.ask_user tool + question card UI
  • GitHub Releases auto-updater (Tauri updater plugins + in-app update dialog)

Changed

  • Global CSS tokenization for themes; workspace settings aligned with API Keys layout
  • Settings panel restructured (App pane grids, terminal hooks, app updates)
  • ChatUsageStats schema migration for per-turn cost/generation tracking

Fixed

  • BLXCode theme color regression after bulk tokenization (~99 color: rules)
  • render_i18n_locales_from_en.py crash on None translator responses

Removed

  • Settings → Image / Voice / Memory sidebar entries (moved into Agent / Workspace)
  • Global ChatUsageFooter, compact_timeline tool bundling, per-provider API key fields in Agent settings

Downloads (Linux amd64, local build)

Asset Use
BLXCode_0.2.3_amd64.deb Debian / Ubuntu
BLXCode-0.2.3-1.x86_64.rpm Fedora / openSUSE
BLXCode_0.2.3_amd64.AppImage Portable Linux

Built locally on amd64. Installers are unsigned; updater latest.json was not uploaded (no TAURI_SIGNING_PRIVATE_KEY in this run). macOS/Windows artifacts follow via CI on the hybrid release flow.

Merged PRs since v0.2.1

Links

BLXCode v0.2.1

21 May 18:16

Choose a tag to compare

BLXCode 0.2.1 is a small patch release for the Plans panel. It fixes a visible regression in the new-plan composer where the composer could collapse to a dashed outline instead of showing the title input, Markdown editor, and action buttons.

Fixed

  • Plans panel new-plan composer: fixed a flexbox collapse inside the scrollable Plans body. Pressing + now keeps the composer at its intrinsic height, shows the full title/editor/actions area, and focuses the title input after opening.

Downloads

  • BLXCode_0.2.1_amd64.deb for Debian/Ubuntu-based distributions
  • BLXCode-0.2.1-1.x86_64.rpm for RPM-based distributions
  • BLXCode_0.2.1_amd64.AppImage for portable Linux usage

Linux artifacts were built locally for amd64. Builds are currently unsigned.

Commit Links

BLXCode v0.2.0

21 May 17:54

Choose a tag to compare

BLXCode 0.2.0 is a focused harness and workflow release. It introduces coordinated subagents, a slimmer Core Skills based system prompt, a much stronger Plans experience, richer agent-chat controls, and cross-platform setup/release automation.

Highlights

  • BetterHarness + Core Skills: the agent system prompt is smaller and easier to maintain, with tool documentation moved into embedded Core Skills that are loaded only when needed. See 2e6b708 and 15a50cb.
  • Coordinated subagents: the coordinator can now run scoped subagents with filtered tool access, structured result submission, live status events, and server-side guardrails. See 61e87f8, d4a2b46, and 064f252.
  • Plans board and panel overhaul: Plans gained a Kanban board, a cleaner rules-style card UI, better task controls, and more polished create/edit flows. See c523fde, 46f3902, and aa87f23.
  • Agent chat quality of life: assistant answers now have Copy and Redo actions, the chat can be maximized, tool calls compact repeated entries, and usage stats are shown per workspace. See 1cc4611, 40beb12, and a066c0a.
  • Rules and Skills UI improvements: Rule and Skill cards are expandable, editable where appropriate, and better aligned with the rest of the right-panel workflow. See c45df89, 1606db6, and 0c6589a.
  • Setup and release automation: Linux, macOS, and Windows setup helpers plus native release-script counterparts make local development and packaging more repeatable. See 7f4ae3d and 3dbb3ea.
  • Leptos 0.8 upgrade: frontend dependencies were updated to Leptos 0.8, leptos_icons 0.7, and icondata 0.7. See d7157c9 and 684b3e4.

Fixes

  • Fixed subagents incorrectly reporting that no file-system tools were provisioned by tightening tool-group parsing, adding diagnostics, and falling back to role defaults when needed. See 6f2677c.
  • Fixed Azure-routed OpenAI-compatible tool-name validation by sanitizing dotted tool names at provider boundaries.
  • Fixed Project Explorer reload/flicker behavior during chat updates by narrowing reactive dependencies.
  • Improved setup script path handling on Windows and shared setup helpers. See 2d98dfe and 72e44aa.

Downloads

  • BLXCode_0.2.0_amd64.deb for Debian/Ubuntu-based distributions
  • BLXCode-0.2.0-1.x86_64.rpm for RPM-based distributions
  • BLXCode_0.2.0_amd64.AppImage for portable Linux usage

Linux artifacts were built locally for amd64. Builds are currently unsigned.

Commit Links

All commits in this release
  • 6fa5977 chore: release v0.2.0
  • aa87f23 Merge pull request #7 from Bitslix/feat/agent-chat-maximize
  • 46f3902 feat(plans): enhance Plans panel with improved UI for rules-style card flow and polish new-plan composer functionality
  • cb41758 feat(plans): refactor plan composer functionality and update tabs layout for improved responsiveness
  • 89538f6 feat(plans): update tabs layout for improved alignment and spacing
  • 6f344f0 feat(plans): enhance PlanCard layout with improved styling and edit functionality
  • c47b244 feat(plans): enhance tabs layout with grid display and improved overflow handling
  • 9759eb7 Refactor plans panel styles: streamline CSS, reduce redundancy, and enhance responsiveness for improved UI/UX
  • 6f2677c feat(agent): fix subagents reporting empty tool schema by enhancing allowed tool group parsing
  • 40beb12 feat(agent): add "Copy" and "Redo" actions to assistant chat bubbles with improved timeline handling
  • a066c0a feat(agent): implement chat usage tracking with aggregated stats and UI display
  • 658c7ed feat(agent): enhance subagent card tool display with count and styling
  • cdc7ef9 feat(tests): add test to ensure subagent toolsets do not contain dotted tool names
  • 064f252 feat(agent): enhance toolgroup handling and diagnostics for subagents
  • f79f533 feat(tests): add unit tests for validate_submit function in subagent_runner
  • f50ec83 feat(docs): add rules panel image and update skills panel description
  • d7ac15e feat(docs): update README and plans documentation with Kanban board features and rule/skill card enhancements
  • d4a2b46 feat(agent): add live text and thinking features for subagents
  • 81e38b2 feat(agent): enhance tool activity display and streamline tool invocation handling
  • 1cc4611 feat(agent): add chat maximize/minimize feature for agent panel
  • 15a50cb Merge pull request #6 from Bitslix/feat/better-harness
  • 5d880bd Merge branch 'main' into feat/better-harness
  • 003ac0c feat(docs): update README and localization scripts
  • 684b3e4 feat(deps): upgrade leptos 0.7->0.8 + leptos_icons/icondata 0.5->0.7 (#5)
  • 757591e feat(docs): enhance documentation for Agent Harness and Subagents
  • f3a9ddd feat(plans): update status of coordinated subagents and better harness plans to done
  • 05c7baf feat(i18n): add new localization keys for web tools and subagent statuses
  • 61e87f8 feat(subagents): implement coordinated subagents with unified tool dispatch and enhanced role management
  • 0c6589a feat(rules): implement rule creation with validation and UI enhancements
  • 1606db6 feat(rules): enhance RuleCard with expandable view, editing capabilities, and improved styling
  • 2d4b494 feat(recorder): improve device name retrieval for audio input
  • 07d0fbf feat(subagents): enhance coordinated subagents with unified tool dispatch and improved role management
  • c45df89 feat: enhance SkillCard with expandable view and improved styling
  • 2e6b708 feat(agent): BetterHarness — core skills + slim system prompt
  • 72e44aa fix(setup): update script paths in setup scripts for consistency
  • 2d98dfe fix(setup): correct root directory path resolution in Windows setup script
  • c523fde feat(plans): add Kanban board view and manage plans skill documentation
  • 2d331f0 ci: add PR cargo check workflow
  • d7157c9 feat(deps): upgrade leptos 0.7→0.8, leptos_icons 0.5→0.7, icondata 0.5→0.7
  • 3dbb3ea feat(setup): enhance setup and release automation with platform-specific scripts
  • 7f4ae3d feat: add macOS and Windows setup scripts for development environment

BLXCode v0.1.14

21 May 01:41

Choose a tag to compare

[0.1.14] - 2026-05-21

Added

  • Agent Image mode: new image-generation toggle in the agent chat header (next to Reset). When active, your prompt produces an image instead of a chat reply. Generated images render inline with a Download button and, when a workspace is set, are saved to <workspace>/.blxcode/generated/<unix-ms>-<slug>.<ext>. Reference images attached to the chat are forwarded as img2img inputs (max 4 × 8 MiB, PNG/JPEG/GIF/WebP). The toggle is per-workspace and persisted across reloads.
  • Image providers: OpenAI (/v1/images/generations for text-only, /v1/images/edits multipart when references are attached) and OpenRouter (/v1/chat/completions with modalities: ["image", "text"]). API keys reuse the existing agent provider keyring entries.
  • Settings → Image tab: provider buttons (OpenAI / OpenRouter) and a model picker with refresh, filtered to image-shaped models (dall-e, gpt-image, flux, stable-diffusion, sdxl, imagen, anything matching image) with curated fallbacks per provider.
  • Shared ModelPicker component under src/workbench/model_picker/ (datalist input + refresh button + entry count). Voice settings tab refactored to consume it; image settings tab uses the same component.
  • Tauri commands: image_settings_get, image_settings_save, image_curated_models, generated_image_preview (re-reads a saved image from disk for the timeline after a workspace reload — the snapshot stores saved_path only, never base64).
  • Voice + image integration: when an image-mode turn is submitted from voice input (PTT/hotkey) and TTS is enabled, BLXCode plays a short locale-aware confirmation phrase ("Bild erstellt." / "Image created.") after the image arrives. The image content itself is not narrated.
  • Protocol: UserTurn.image_generate: bool (default false) and AgentEvent::ImageGenerated { prompt, mime, savedPath?, filename?, previewSrc }. Mirrored in src/agent_wire.rs.
  • i18n: HsCatImage, ImagePaneTitle, ImagePaneDescription, ImageProviderField, ImageModelField, ImageSettingsSaved, ImageModeToggleAria, ImageModeHint, ImageModeBadge, ImageGenerateUserPromptPrefix, ImageGenerateDownload, ImageGenerateOpenFolder, ImageGenerateNoWorkspaceWarn, ImageGenerateMissingKey, ImageGenerateFailed, ImageGenerateConfirmTts — added to all 14 locales.
  • Docs: docs/user/image.md covering setup, generation flow, voice/image, limits, persistence and troubleshooting.
  • Tests: 8 new unit tests (image::settings::tests, image::generate::tests) covering the image-model heuristic, default settings, slug sanitisation, MIME→extension mapping and data-URL decoding.
  • Dynamic memory categories: any subdirectory under .agents/memory/ is now a real category in the sidebar and graph (built-in memory / learnings keep their special handling). New Tauri commands memory_list_categories and memory_create_category (creates the folder and drops .gitkeep so empty categories persist). MemoryNoteGroup.key and groups_open switched from &'static str to String; grouping derives the category from the first API-path segment.
  • Memory panel — Discord-style toolbar: the top inline "note title…" input is gone. The toolbar holds a + Kategorie button (LuFolderPlus) that opens NewCategoryDialog, plus the existing collapse button. Each category header gets a hover-revealed + button (workbench-memory-files__group-add) that opens NewNoteDialog prefilled with the clicked category.
  • Dialogs: NewCategoryDialog (name input → memory_create_category) and NewNoteDialog (title input → memory_create with <category>/<note>.md API path). Both reuse the workspace-rename-dialog styling and post errors inline.
  • Graph clustering by category: backend GraphNode carries a category string derived from the API path; the 2D force layout adds a per-iteration centroid attraction that pulls same-category nodes together, and the 3D bundle (graph3d_entry.mjs) installs a categoryClusterForce d3-force with matching behavior. Node fill comes from the category's color setting in both renderers.
  • Per-category colors for any folder: MemoryCategorySettings::for_category returns a deterministic #rrggbb (FNV-1a → HSL → hex) and uses the folder name as the label for user-created categories; built-in memory / learnings keep their existing colors. The sidebar accent stripe and graph node fill always match.
  • Sidebar Project Files resize: added SidebarResizer (drag handle with pointer capture) so the Project Files panel defaults to 50% of the sidebar height and is user-resizable; persisted as blxcode_sidebar_explorer_height_pct_v1 (clamped 15–85%).
  • System prompt — Workspace memory: rewrote the section to document dynamic categories, the new memory_list_categories / memory_create_category tools, that memory_rename may cross categories within .agents/memory/, that memory_category_update accepts any existing category key, and that memory_graph nodes are clustered by category.
  • i18n: MemNewCategory, MemNewCategoryTitle, MemNewCategoryLabel, MemNewCategoryPh, MemNewNoteTitle, MemNewNoteLabel, MemNewNoteInGroup, MemCreate — added to all 14 locales (English fallbacks for non-de_de).

Changed

  • Documentation: expanded user guides (Plans, Rules & Skills, Keyboard Shortcuts), updated Memory/Workspaces/Agent docs, developer Architecture/IPC with Mermaid diagrams, refreshed README screenshots and doc hub links.
  • Settings envelope round-trip fix: agent_settings_save now preserves sibling envelope keys (voice, image) instead of clobbering them. voice/settings.rs was deduplicated to share read_envelope/write_envelope helpers with agent_settings.rs; this is the single source of truth for agent_provider_settings.json.
  • Orchestrator TTS refactor: maybe_emit_tts split into emit_tts_for_text(app, state, text) (general) and maybe_emit_tts_for_last_assistant (chat path). The image branch reuses emit_tts_for_text to play the confirmation phrase without touching the chat conversation history.
  • Timeline persistence: when a GeneratedImage row has a saved_path, its base64 preview is dropped before persisting to sessions.json (the image is rehydrated lazily via generated_image_preview on next render). Keeps the snapshot small.
  • expand_files_group_for_path, MemoryFileGroupHead / MemoryFileGroupSection, MemoryContextTarget::Category::key, MemoryCategoryEditDialog, add_category_agent_context, and MemoryContextMenuView all moved from &'static str category keys to owned String for dynamic categories.
  • memory_note_groups now derives groups from the active workspace's notes plus state.empty_categories (loaded via memory_list_categories), sorts with memory first, learnings second, then alphabetic.

BLXCode v0.1.13

20 May 21:51

Choose a tag to compare

[0.1.13] - 2026-05-20

Added

Changed

Fixed

  • Right panel: native hover tooltips (title) on icon rail tabs and header tab strip (inactive tabs show icon-only).
  • Sidebar footer brand label is BLXCode (was lowercase blxcode).
  • Plans panel: plans-panel.css is now loaded via Trunk (was edited but never linked); task-summary gap/colors use !important so they override stale rules in styles.css.
  • Plans panel: plan list column is drag-resizable (default 288px, persisted blxcode_plans_list_width_px_v1); list rows are more compact (less padding, tighter chips).

BLXCode v0.1.12

20 May 20:43

Choose a tag to compare

[0.1.12] - 2026-05-20

Added

  • Plan Manager: durable Markdown plans under <workspace>/.agents/plans/, with PLANS.md as a protected index seeded on workspace bootstrap. Each plan can declare a canonical ## Tasks (or ## Todos) section using the syntax - [ ] \task-id` - titlewhere the marker is one of[ ] [>] [!] [x] [-]` (pending/in-progress/blocked/completed/cancelled).
  • Plans tab in the right panel (between Browser and Memory): list with per-plan task summary, Markdown editor with debounced auto-save, preview toggle, create/rename/delete, and a "Load into BLXCode Agent" action that syncs plan tasks into the task manager and attaches the plan to shared context. On workspace activation, the panel auto-opens the last-active plan via the persisted activePlanPath.
  • Plan-linked tasks: TaskRecord gains optional planPath / planTaskId; TaskSnapshot gains activePlanPath. plan_load replaces only tasks where planPath == path and leaves free tasks untouched. task_update on plan-linked tasks writes status changes back into the plan Markdown automatically. The Agent panel's task list groups plan-linked tasks by plan first, then renders a separate Free Tasks group.
  • Agent tools: plan_list, plan_read, plan_create, plan_write, plan_delete, plan_rename, plan_load, plan_sync_from_tasks (server-side), and plan_context_list, plan_context_attach, plan_context_detach (client-side).
  • Tauri commands: plan_list, plan_read, plan_create, plan_write, plan_delete, plan_rename, plan_load, plan_sync_from_tasks under src-tauri/src/plans.rs.
  • Shared context kinds: AgentContextKind::{PlanIndex, PlanFile, PlanTaskGroup} (mirrored in src/agent_wire.rs). render_context_prompt renders attached plans separately from memory, citing per-plan task counts.
  • Terminal handoff: harness.send_agent_context.includeKinds accepts "memory" | "plans" | "tasks" | "images" (default: all four). Renderer adds a new ## Attached plans / tasks section with per-plan status counts, the active/in-progress task title, and a compact task list. The handoff renderer is primed by a per-workspace task-snapshot cache populated by the Plans/Agent panels on workspace activation so the synchronous renderer surfaces restored plan state immediately after a reload.
  • System prompt — mandatory Turn checklist: explicit ordered steps at the top of the prompt that the agent must run every turn — (1) rules_list + rules_read on relevant active rules as a binding first step, (2) skills_list + skills_read on matching skills when the task warrants, (3) Resume check that recognises continuation directives in English (continue, keep going, resume, proceed) and German (weiter, fortsetzen, weitermachen, mach weiter) and resumes from task_list / activePlanPath, (4) memory/project context as needed, (5) execute. Trivial conversational turns may skip steps 1–2.
  • Workspace plans system-prompt section: explains plan tooling, ## Tasks line syntax, the task_* vs. plan_* separation, automatic status write-back, and that plan files and the task store survive workspace reload / harness restart / OS exit — so plan_list + task_list reconstruct in-flight work authoritatively after a restart.
  • i18n: TabPlans plus Plans-panel keys (PlansEmptyTitle, PlansEmptyLead, PlansNewPlan, PlansNewPlanPh, PlansRename, PlansDelete, PlansSelectPlan, PlansEdit, PlansPreview, PlansLoadIntoAgent, PlansLoaded, PlansRefresh, PlansTaskSummary, PlansTaskStatTotal, PlansTaskStatPending, PlansTaskStatInProgress, PlansTaskStatBlocked, PlansTaskStatCompleted, PlansTaskStatCancelled, PlansProtectedIndex) added to all 14 locales; TabPlans and de_de task-stat labels are translated, other locales fall back to English for the stat keys.
  • Tests: 11 new plan tests covering CRUD round-trip, PLANS.md protection, path-traversal sandboxing, parser status markers + ## Todos alias, plan_load replace-only-plan-tasks semantics, task_update status write-back to plan Markdown, plan_sync_from_tasks round-trip preserving non-Task sections. New handoff-renderer tests for the plans/tasks section. New system-prompt tests verifying the mandatory Turn checklist, all continuation keywords, and the persistence guarantee.
  • Sidebar layout — bottom panel: Project Files and Git graph share a single .workbench-sidebar__panels block (default 50% of sidebar height, not the full area below Workspaces). A horizontal drag handle between the workspace list and this block resizes the combined panel; the existing handle inside the block still splits Explorer vs. graph (blxcode_sidebar_panels_height_pct_v1 / blxcode_sidebar_explorer_height_pct_v1 in localStorage).
  • Sidebar width: drag handle on the right edge of the sidebar (like the right panel splitter) resizes width in pixels; default 260px (was clamp(216px, 22vw, 280px)). Persisted as blxcode_sidebar_width_px_v1 and on WorkbenchSnapshot.sidebar_width_px.
  • Project Explorer — hidden files: toolbar eye toggle (LuEye / LuEyeOff) shows or hides dot-prefixed entries client-side; preference stored as blxcode_sidebar_explorer_show_hidden_v1 (default off).
  • Project Explorer — tree navigation: clicking a folder row (name/icon area) expands or collapses the tree; the chevron still works and does not double-toggle.
  • i18n: SbExplorerShowHidden, SbExplorerHideHidden, SbExplorerResizeAria, SbPanelsResizeAria, SbWidthSplitterAria — added to all 14 locales (de_de, fr_fr, es_es translated for the new strings).

Changed

  • Sidebar Explorer/graph: SidebarResizer supports top- vs. bottom-measured splits (measure_from_bottom for the workspace↔panels boundary); container basis for the inner split is .workbench-sidebar__panels instead of .workbench-sidebar__views.

  • Workspaces nav in the sidebar uses remaining space above the bottom panel (flex: 1 1 auto) instead of a fixed max-height: 32%.

  • ensure_agents_layout now also creates .agents/plans/ and seeds PLANS.md if missing; WorkspaceRoots gains a plans field.

  • RightPanelTab adds a Plans variant; the right-panel rail and tabstrip render it before Memory.

  • harness.send_agent_context tool description updated: default includeKinds is ["memory", "plans", "tasks", "images"]; the rendered Markdown block includes attached plans and plan-linked task state.

Fixed

  • Sidebar Project Explorer no longer occupies almost the full sidebar when the tree is empty: Explorer and graph are confined to the resizable bottom panel so the graph stays visible and the file tree does not “stick” at the top of an oversized slot.
  • Project Files and Graph section expand/collapse state now restores correctly after app restart or workbench hydrate (per workspace via sidebar_explorer_open / sidebar_graph_open on WorkspaceEntry; default open on first load).
  • Project Explorer: nested folder clicks no longer bubble to parent rows (fixing “second level closes the tree”); row hover uses a visible highlight (rgba instead of undefined --bg-hover).
  • Sidebar: collapsed rail is 44px wide (min-width: 200px no longer applies); Explorer/Git panels snap to the bottom above the footer and shrink to header height when both sections are minimized (no empty 50% gap).
  • Plans panel: plan list rows show hover highlight; list/editor divider (border-left on the editor column) spans the full panel height; .workbench-right-plans dock fills the tab body so layout height propagates correctly.
  • Plans panel: collapsible plan list sidebar (same control as Memory — LuPanelLeftClose / LuPanelLeftOpen, narrow 3.8rem rail with plan initials badges).
  • Git commit graph (sidebar): lane layout assigns separate swim-lanes for forked branches (not everything on lane 0); branch_from_lane and pass_through_lanes wire fields; SVG uses cubic Bézier connectors for fork/merge and full-height pass-through lines; merge commits render as hollow nodes. Section title renamed to Git Commits (SbGraphTitle).
  • Plans panel: plan list rows show colorized task-summary chips (Leptos icons + counts per status — pending, in-progress, blocked, completed, cancelled) instead of the ASCII summary string (0 · 0p / 0>!0b / …); zero counts are muted. New-plan toolbar uses LuPlus instead of a literal +.

Removed

  • Project Explorer toolbar action Collapse all folders (SbExplorerCollapseAll); replaced by the hidden-files eye toggle.

BLXCode v0.1.11

20 May 17:55

Choose a tag to compare

[0.1.11] - 2026-05-20

Added

  • Sidebar Explorer & Git graph (VS Code–style view sections): collapsible panels at the bottom of the left sidebar (above the version footer), with the workspace list scrolling independently above.
  • Project Explorer section: lazy file tree for the active workspace cwd (directories and files via Tauri list_path_entries, sandboxed under the workspace root); refresh and collapse-all toolbar actions; expanded paths and open/collapsed state persisted per workspace.
  • Git graph section: commit history with swim-lane SVG layout, ref badges, and author/time metadata from git_commit_graph (up to 100 commits, git log --topo-order); shown only when .git is detected (git_is_repository); if Git is not on PATH, the section stays visible with an i18n hint (SbGraphGitMissing) instead of an empty graph.
  • Reusable Leptos component SidebarViewSection (src/workbench/sidebar_view_section/) with optional toolbar row (hover-reveal) and persisted sidebar_explorer_open / sidebar_graph_open on WorkspaceEntry.
  • Tauri: list_path_entries, git_is_repository, git_commit_graph; backend modules fs_entries and git_graph (lane layout unit-tested).
  • i18n: SbExplorerTitle, SbGraphTitle, SbSectionExpand, SbSectionCollapse, SbExplorerRefresh, SbExplorerCollapseAll, SbGraphRefresh, SbExplorerNoCwd, SbExplorerTauriOnly, SbGraphLoadError, SbGraphGitMissing — added to all 14 locales (German fully translated for sidebar explorer/graph strings).
  • Tmux-style keyboard shortcuts (default): prefix Ctrl+b, then a second key — o quick open, p toggle right panel, a / b / m agent / browser / memory tabs, n new terminal slot (active workspace only), : command palette. Prefix times out after 1.5 s; Esc cancels an armed prefix.
  • Classic (legacy) shortcut mode: restores direct chords (Ctrl+O, Ctrl+P, Ctrl+Shift+A/B/M/P, Ctrl+` new terminal, Ctrl+Shift+P palette). Selectable in BLXCode Settings → App → Keyboard shortcuts; persisted as blxcode_shortcut_mode_v1 (tmux | legacy, default tmux).
  • Frontend module harness_chords (handle_harness_keydown, dispatch_shortcut_action, open_new_terminal, ShortcutKeys display helpers) wired from HarnessHost; welcome-screen shortcut list reflects the active mode (Ctrl+b then key vs. combined keys).
  • i18n: WsKwThen, AppShortcutHeading, AppShortcutModeTmux, AppShortcutModeLegacy, AppShortcutModeHint — added to all 14 locales (German fully translated for shortcut settings).
  • Success toasts for terminal/memory handoff actions: a lightweight toast stack (bottom-right) confirms when context is sent to a terminal or attached to the BLXCode Agent; errors always show an error toast regardless of the success-toast toggle.
  • Optional success sound on handoff (short Web Audio beep, same timbre as terminal-hook notifications) — independent of the toast toggle.
  • BLXCode Settings → App → Notifications: checkboxes to enable/disable success toasts and success sounds (blxcode_success_toast_v1 / blxcode_success_sound_v1 in localStorage, default on).
  • Frontend modules toast (ToastService, ToastHost) and app_prefs (AppPrefsService) wired in WorkbenchShell.
  • i18n: HandoffOkAttached, HandoffNoActiveWorkspace, AppNotifHeading, AppNotifToasts, AppNotifToastsHint, AppNotifSound, AppNotifSoundHint — added to all 14 locales; HandoffToAgentContext shortened to Send to BLXCode Agent (German: An BLXCode-Agent senden).

Changed

  • Ctrl+` (legacy) and Ctrl+b n (tmux) now open a new terminal slot via append_terminal_slot and focus it — no longer only reveal the Agent tab.
  • In tmux mode, Ctrl+b is not intercepted while a workspace terminal has focus (PTY/shell keeps the prefix).
  • Handoff feedback is centralized in HandoffMenu: Graph preview no longer shows an inline green/red status strip under the titlebar; the terminal titlebar handoff button no longer flips to check/alert icons — both rely on global toasts (+ optional sound) instead.
  • note_context_item and workspace Memory-category attach now set added_at from Date::now() (consistent with the Memory panel context menu).

[0.1.10] - 2026-05-20

Added

  • Terminal agent context handoff: new BLXCode Agent client tool harness.send_agent_context { slotId? | agentSlug?, instruction?, includeKinds?, submit? } that hands off the active workspace's attached Memory/Learnings/Images to a live claude / codex / gemini / opencode / cursor CLI session in the workbench terminal grid. Renders a terminal-safe Markdown block (workspace root, attached items, image paths, optional instruction), writes it through the existing PTY path, and submits by default. Image bytes are exported to disk and cited by path — base64 is never written into the prompt.
  • Image export pipeline for context handoff: new Tauri command agent_export_context_images writes selected images to <workspace>/.blxcode/agent-context/images/ with sanitized filenames and a JSON manifest sidecar; collision-safe (-2, -3 suffix) and idempotent across retries.
  • Terminal PTY env vars BLX_AGENT_CONTEXT_DIR and BLX_AGENT_CONTEXT_MANIFEST so hooks and the spawned CLI agent can discover the workspace handoff directory and manifest path. Hooks remain advisory — the explicit toolcall is the only transport.
  • Terminal titlebar handoff dropdown on every workspace terminal cell: opens a menu listing every live terminal in the workspace (so context can be forwarded to any peer slot), a separator, and a "Send to BLXCode agent context" entry that attaches the workspace's Memory category to the BLXCode Agent context (idempotent upsert). Button icon briefly flips to a check or alert and the border tints green / red as visual feedback (~2.8 s).
  • Memory Graph preview handoff button: the note preview popover gains a terminal-share icon (next to "Open in Files" / "Close") that opens the same dropdown. Picking a terminal sends ONLY this note as a one-shot memory_note / learning_note context item; the "Send to BLXCode agent context" entry attaches the previewed note to the BLXCode Agent context.
  • Shared frontend module agent_context_handoff containing the Markdown renderer (render_agent_context_block), the WorkspaceTerminalTarget listing, the async perform_handoff helper, and the reusable Leptos components HandoffMenu + TerminalSlotHandoffButton. The renderer is the single source of truth for the prompt shape and is fully unit-tested (empty / memory-only / image-only / mixed-with-instruction / long-path collapsing).
  • pty_sessions_signal() accessor on WorkbenchService so UI components can react to live PTY session registration (button enables the instant the cell registers; no stale-disabled states).
  • i18n keys for the new UI: MemGraphSendToTerminal, HandoffSendContext, HandoffPickTerminal, HandoffNoTerminals, HandoffOkSent, HandoffFailed, HandoffToAgentContext — German strings translated, all 12 other locales stubbed with the English fallback.
  • Agent Panel image context: attach PNG, JPEG, WebP, or GIF images to the BLXCode Agent via OS/browser drag-and-drop or paste.
  • Agent Panel drop-zone feedback: dragging images over the Agent chat highlights the pane with a dashed border and helper text; unsupported drops show a rejection hint.
  • Agent Context image rows: attached images show Pending/Read status, remove controls, manual “use again” reactivation, and a preview dialog with close/remove actions.
  • BLXCode Agent multimodal provider integration: pending images are sent once through OpenAI/OpenRouter and Anthropic vision payloads, then marked read via an ImageContextConsumed event.
  • BLXCode Agent image context client tools: image_context_list and image_context_detach.
  • Native image file validation command for dropped files, including MIME detection and per-image size limits.
  • Right panel Rules tab: cards for every .agents/rules/rule-*.md with title, summary, enabled/disabled pill, toggle, read, and remove controls; refresh button auto-loads on tab activation and workspace switch.
  • Right panel Skills tab: cards for every .agents/skills/<name>/SKILL.md with source badge (git / npm / local / agent), SKILL.md missing warn marker, toggle/remove controls, and an Install skill dialog.
  • Skill install dialog: segmented Git / npm / Local source picker with name + per-source fields; submits through the new skills_install Tauri command, shows progress and per-attempt error inline.
  • Tauri command surface for skills & rules: rules_list, rules_read, rules_write, rules_set_enabled, rules_remove, skills_list, skills_read, skills_write, skills_set_enabled, skills_remove, skills_install, and skills_rules_bootstrap.
  • On-disk manifests .agents/rules/index.json and .agents/skills/index.json tracking enabled state and (for skills) source provenance; atomic writes via tmp + rename, self-heal removes orphan entries at read time.
  • First-touch bootstrap: when a workspace is opened, the harness auto-creates .agents/{rules,skills}/ and seeds each index.json from the on-disk content (every existing rule and skill folder enters as enabled: true, skills with source.kind = "local"); manually disabled entries survive subsequent bootstraps.
  • Skill install pipeline: git clone --depth=1 --single-branch for git, npm pack + tar -xzf --strip-components=1 for npm, recursive copy for local; every install stages into .install.<name>.tmp/, validates that SKILL.md is present at the top level, and rolls the staging dir back on any failure.
  • BLXCode Agent server tools mirroring the Tauri commands: rules_list, rules_read, rules_write, rules_set_enabled, rules_remove, skills_list, skills_read, skills_write, `skil...
Read more

v0.1.8

20 May 01:52

Choose a tag to compare

[0.1.8] - 2026-05-20

Added

  • One-time dialog after the EULA asking whether to append .blxcode/ to the workspace .gitignore (answer stored in blxcode_gitignore_prompt_v1; skipped in non-Tauri builds).
  • Tauri command workspace_ensure_agents to create .agents/memory/, .agents/learnings/, and _templates/ on workspace open.
  • Tauri command gitignore_append_blxcode to add a .blxcode/ entry when the user accepts the post-EULA prompt.
  • Release CI workflow: authorize job — only the repository owner may run release builds (workflow_dispatch or v* tag push); org repos may set Actions variable RELEASE_OWNER.
  • Release CI manual run: choose build targets — Alle, Linux (deb, rpm, AppImage), Mac Universal, or Windows (plan job sets the matrix). Tag pushes still build all platforms.
  • Memory Files sidebar: collapsible Memory / Learnings groups (chevron toggle, collapsed by default). Group headers open the category index note (README.md / MEMORY.md or learnings/LEARNINGS.md) and list other notes when expanded.
  • Memory Search view: category filter badges (pill style) between the query field and results — All, Memory, and Learnings with hit counts; filters appear whenever there are hits (not only when both roots match); filters reset on a new query.
  • Memory Search and note editor: Show in graph control jumps to the 3D graph, selects the note node, and flies the camera to it.
  • Memory Graph view: lazy-loaded offline 3D graph powered by a local 3d-force-graph / Three.js bundle, with the existing SVG graph retained as the 2D fallback.
  • Memory Graph toolbar: icon-only controls for reset, zoom in/out, and 2D/3D mode switching; the selected graph mode is persisted locally.
  • Memory Graph preview flow: clicking a node stays in the Graph tab, flies/focuses to the node, and opens a markdown preview popover with close, “Open in Files”, and in-preview wikilink navigation.
  • Memory category context menu: right-click category headers to edit display name, category color, sidebar visibility, graph visibility, or send the category to the BLXCode Agent.
  • Memory note context menu: right-click individual Memory/Learnings entries to open them or send that single note to the BLXCode Agent.
  • BLXCode Settings → Memory: app-wide color preset management for Memory category colors, with add/edit/delete/reset controls.
  • Agent Panel Context section: list of attached Memory/Learnings categories and notes, with per-item remove controls.
  • BLXCode Agent list_tools server tool: returns JSON catalog of every registered tool (name, server/client site, description, parameters schema).
  • BLXCode Agent memory management server tools: memory_delete, memory_rename (move/rename within one root, optional wikilink rewrite), memory_graph, and memory_backlinks.
  • BLXCode Agent memory UI client tools: memory_category_list, memory_category_update (label, #rrggbb color, sidebar/graph visibility for memory / learnings), memory_context_list, memory_context_attach, and memory_context_detach.

Changed

  • Memory file list no longer repeats the learnings/ folder label on every row; notes are grouped under their category instead.
  • Memory graph labels are cleaned up for display (tanstack-start-api-routesTanstack Start API Routes) in 3D, 2D fallback, and preview titles.
  • Memory graph node colors now respect workspace category settings and graph visibility toggles.
  • Memory graph spacing and interaction feel more physical: 3D nodes spread farther apart, links curve subtly, and connected lines wobble when nodes or links are dragged/released.
  • BLXCode Agent turns now include attached Memory context as compact path metadata before the user prompt, leaving file contents to existing workspace read tools.
  • Workspace memory and learnings now live under .agents/memory/ and .agents/learnings/ (unified Memory API with learnings/… paths). Legacy .blxcode/memory/ is migrated automatically when the new memory folder is empty. Existing learnings Markdown index links are upgraded to [[wikilinks]] for the memory graph.
  • .agents/ layout is bootstrapped when a workspace path is set (wizard commit, workspace switch, or workbench restore), not only when opening the Memory tab.
  • Agent system prompt and memory tool descriptions reference .agents/memory/ and .agents/learnings/, document full memory CRUD/graph/category/context tools, and recommend list_tools when schemas are unclear.
  • Agent Panel Tasks and Context sections stay collapsed when empty and expand automatically when at least one task or context item is present (manual toggle still works until the count changes).
  • Agent memory pointer blocks list both memory and learnings roots.
  • Memory export/import uses memory/ and learnings/ subdirectories.
  • Developer docs (architecture, tauri-ipc, getting-started, memory-and-tasks) updated for the .agents/ memory layout, workspace_ensure_agents, and memory-flow diagrams.
  • scripts/render_i18n_locales_from_en.py default mode translates only missing keys (not a full locale rewrite); use --full for the previous behavior, --patch-english-matches or --keys for English placeholder rows.

Fixed

  • Release CI authorize job reads optional RELEASE_OWNER via the GitHub API (actions/github-script) instead of ${{ vars.RELEASE_OWNER }} in workflow expressions (avoids invalid context warnings when the variable is unset).
  • i18n render script no longer rewrites locale files when nothing changed; prints guidance when zero rows are translated.

screenshot-2026-05-20_03-16-13 screenshot-2026-05-20_03-16-26