Releases: Bitslix/BLXCode
BLXCode 0.2.7 — Win/Linux stability & workspace polish
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
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. - Markdown —
pulldown-cmarkwith tables, strikethrough, task lists, footnotes, and smart punctuation. Fenced```mermaidblocks render inline through the vendored Mermaid 11 UMD bundle. - Mermaid (
.mmd/.mermaid) — single full-tab diagram withsecurityLevel: strict. - Code & plain text — two-column CodeView with a sticky line-number gutter and
highlight.js11.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 menu — Snippet → 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-fastruns on[self-hosted, Windows, blxcode-win-fast]withcontinue-on-error: trueand a 60-minute timeout.build-windows-fallbackruns 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+Nsuffix so multi-step version jumps no longer need three separate invocations:./scripts/release.sh --bump patch+3performs0.2.3 → 0.2.6in 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.md→ Boot loading screen explained with the three eyebrow phases (Starting BLXCode → Restoring workspace → Opening 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
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_userquestion 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_usertool + 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)
ChatUsageStatsschema migration for per-turn cost/generation tracking
Fixed
- BLXCode theme color regression after bulk tokenization (~99
color:rules) render_i18n_locales_from_en.pycrash onNonetranslator responses
Removed
- Settings → Image / Voice / Memory sidebar entries (moved into Agent / Workspace)
- Global
ChatUsageFooter,compact_timelinetool 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.jsonwas not uploaded (noTAURI_SIGNING_PRIVATE_KEYin this run). macOS/Windows artifacts follow via CI on the hybrid release flow.
Merged PRs since v0.2.1
- #13 — Center tabs, docked settings, centralized API keys
- #14 — App-wide theme system with Appearance tab (20 themes)
Links
- Full changelog: CHANGELOG.md#023---2026-05-22
- Compare:
v0.2.1...v0.2.3
BLXCode v0.2.1
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.debfor Debian/Ubuntu-based distributionsBLXCode-0.2.1-1.x86_64.rpmfor RPM-based distributionsBLXCode_0.2.1_amd64.AppImagefor portable Linux usage
Linux artifacts were built locally for amd64. Builds are currently unsigned.
Commit Links
- Full diff:
v0.2.0...v0.2.1 - Composer fix:
082eb32 - Composer focus/layout follow-up:
7c53945 - Version and changelog:
e83e2e5
BLXCode v0.2.0
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
2e6b708and15a50cb. - 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, and064f252. - 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, andaa87f23. - 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, anda066c0a. - 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, and0c6589a. - Setup and release automation: Linux, macOS, and Windows setup helpers plus native release-script counterparts make local development and packaging more repeatable. See
7f4ae3dand3dbb3ea. - Leptos 0.8 upgrade: frontend dependencies were updated to Leptos 0.8,
leptos_icons0.7, andicondata0.7. Seed7157c9and684b3e4.
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
2d98dfeand72e44aa.
Downloads
BLXCode_0.2.0_amd64.debfor Debian/Ubuntu-based distributionsBLXCode-0.2.0-1.x86_64.rpmfor RPM-based distributionsBLXCode_0.2.0_amd64.AppImagefor portable Linux usage
Linux artifacts were built locally for amd64. Builds are currently unsigned.
Commit Links
- Full diff:
v0.1.14...v0.2.0 - Release commit:
6fa5977 - Merged PRs: #7, #6, #5
All commits in this release
6fa5977chore: release v0.2.0aa87f23Merge pull request #7 from Bitslix/feat/agent-chat-maximize46f3902feat(plans): enhance Plans panel with improved UI for rules-style card flow and polish new-plan composer functionalitycb41758feat(plans): refactor plan composer functionality and update tabs layout for improved responsiveness89538f6feat(plans): update tabs layout for improved alignment and spacing6f344f0feat(plans): enhance PlanCard layout with improved styling and edit functionalityc47b244feat(plans): enhance tabs layout with grid display and improved overflow handling9759eb7Refactor plans panel styles: streamline CSS, reduce redundancy, and enhance responsiveness for improved UI/UX6f2677cfeat(agent): fix subagents reporting empty tool schema by enhancing allowed tool group parsing40beb12feat(agent): add "Copy" and "Redo" actions to assistant chat bubbles with improved timeline handlinga066c0afeat(agent): implement chat usage tracking with aggregated stats and UI display658c7edfeat(agent): enhance subagent card tool display with count and stylingcdc7ef9feat(tests): add test to ensure subagent toolsets do not contain dotted tool names064f252feat(agent): enhance toolgroup handling and diagnostics for subagentsf79f533feat(tests): add unit tests for validate_submit function in subagent_runnerf50ec83feat(docs): add rules panel image and update skills panel descriptiond7ac15efeat(docs): update README and plans documentation with Kanban board features and rule/skill card enhancementsd4a2b46feat(agent): add live text and thinking features for subagents81e38b2feat(agent): enhance tool activity display and streamline tool invocation handling1cc4611feat(agent): add chat maximize/minimize feature for agent panel15a50cbMerge pull request #6 from Bitslix/feat/better-harness5d880bdMerge branch 'main' into feat/better-harness003ac0cfeat(docs): update README and localization scripts684b3e4feat(deps): upgrade leptos 0.7->0.8 + leptos_icons/icondata 0.5->0.7 (#5)757591efeat(docs): enhance documentation for Agent Harness and Subagentsf3a9dddfeat(plans): update status of coordinated subagents and better harness plans to done05c7baffeat(i18n): add new localization keys for web tools and subagent statuses61e87f8feat(subagents): implement coordinated subagents with unified tool dispatch and enhanced role management0c6589afeat(rules): implement rule creation with validation and UI enhancements1606db6feat(rules): enhance RuleCard with expandable view, editing capabilities, and improved styling2d4b494feat(recorder): improve device name retrieval for audio input07d0fbffeat(subagents): enhance coordinated subagents with unified tool dispatch and improved role managementc45df89feat: enhance SkillCard with expandable view and improved styling2e6b708feat(agent): BetterHarness — core skills + slim system prompt72e44aafix(setup): update script paths in setup scripts for consistency2d98dfefix(setup): correct root directory path resolution in Windows setup scriptc523fdefeat(plans): add Kanban board view and manage plans skill documentation2d331f0ci: add PR cargo check workflowd7157c9feat(deps): upgrade leptos 0.7→0.8, leptos_icons 0.5→0.7, icondata 0.5→0.73dbb3eafeat(setup): enhance setup and release automation with platform-specific scripts7f4ae3dfeat: add macOS and Windows setup scripts for development environment
BLXCode v0.1.14
[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/generationsfor text-only,/v1/images/editsmultipart when references are attached) and OpenRouter (/v1/chat/completionswithmodalities: ["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 matchingimage) with curated fallbacks per provider. - Shared
ModelPickercomponent undersrc/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 storessaved_pathonly, 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) andAgentEvent::ImageGenerated { prompt, mime, savedPath?, filename?, previewSrc }. Mirrored insrc/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.mdcovering 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-inmemory/learningskeep their special handling). New Tauri commandsmemory_list_categoriesandmemory_create_category(creates the folder and drops.gitkeepso empty categories persist).MemoryNoteGroup.keyandgroups_openswitched from&'static strtoString; 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
+ Kategoriebutton (LuFolderPlus) that opensNewCategoryDialog, plus the existing collapse button. Each category header gets a hover-revealed+button (workbench-memory-files__group-add) that opensNewNoteDialogprefilled with the clicked category. - Dialogs:
NewCategoryDialog(name input →memory_create_category) andNewNoteDialog(title input →memory_createwith<category>/<note>.mdAPI path). Both reuse theworkspace-rename-dialogstyling and post errors inline. - Graph clustering by category: backend
GraphNodecarries acategorystring 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 acategoryClusterForced3-force with matching behavior. Node fill comes from the category's color setting in both renderers. - Per-category colors for any folder:
MemoryCategorySettings::for_categoryreturns a deterministic#rrggbb(FNV-1a → HSL → hex) and uses the folder name as the label for user-created categories; built-inmemory/learningskeep 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 asblxcode_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_categorytools, thatmemory_renamemay cross categories within.agents/memory/, thatmemory_category_updateaccepts any existing category key, and thatmemory_graphnodes 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_savenow preserves sibling envelope keys (voice,image) instead of clobbering them.voice/settings.rswas deduplicated to shareread_envelope/write_envelopehelpers withagent_settings.rs; this is the single source of truth foragent_provider_settings.json. - Orchestrator TTS refactor:
maybe_emit_ttssplit intoemit_tts_for_text(app, state, text)(general) andmaybe_emit_tts_for_last_assistant(chat path). The image branch reusesemit_tts_for_textto play the confirmation phrase without touching the chat conversation history. - Timeline persistence: when a
GeneratedImagerow has asaved_path, its base64 preview is dropped before persisting tosessions.json(the image is rehydrated lazily viagenerated_image_previewon next render). Keeps the snapshot small. expand_files_group_for_path,MemoryFileGroupHead/MemoryFileGroupSection,MemoryContextTarget::Category::key,MemoryCategoryEditDialog,add_category_agent_context, andMemoryContextMenuViewall moved from&'static strcategory keys to ownedStringfor dynamic categories.memory_note_groupsnow derives groups from the active workspace's notes plusstate.empty_categories(loaded viamemory_list_categories), sorts withmemoryfirst,learningssecond, then alphabetic.
BLXCode v0.1.13
[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.cssis now loaded via Trunk (was edited but never linked); task-summary gap/colors use!importantso they override stale rules instyles.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
[0.1.12] - 2026-05-20
Added
- Plan Manager: durable Markdown plans under
<workspace>/.agents/plans/, withPLANS.mdas 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:
TaskRecordgains optionalplanPath/planTaskId;TaskSnapshotgainsactivePlanPath.plan_loadreplaces only tasks whereplanPath == pathand leaves free tasks untouched.task_updateon 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), andplan_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_tasksundersrc-tauri/src/plans.rs. - Shared context kinds:
AgentContextKind::{PlanIndex, PlanFile, PlanTaskGroup}(mirrored insrc/agent_wire.rs).render_context_promptrenders attached plans separately from memory, citing per-plan task counts. - Terminal handoff:
harness.send_agent_context.includeKindsaccepts"memory" | "plans" | "tasks" | "images"(default: all four). Renderer adds a new## Attached plans / taskssection 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_readon relevant active rules as a binding first step, (2)skills_list+skills_readon 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 fromtask_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,
## Tasksline syntax, thetask_*vs.plan_*separation, automatic status write-back, and that plan files and the task store survive workspace reload / harness restart / OS exit — soplan_list+task_listreconstruct in-flight work authoritatively after a restart. - i18n:
TabPlansplus 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;TabPlansandde_detask-stat labels are translated, other locales fall back to English for the stat keys. - Tests: 11 new plan tests covering CRUD round-trip,
PLANS.mdprotection, path-traversal sandboxing, parser status markers +## Todosalias,plan_loadreplace-only-plan-tasks semantics,task_updatestatus write-back to plan Markdown,plan_sync_from_tasksround-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__panelsblock (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_v1inlocalStorage). - 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 asblxcode_sidebar_width_px_v1and onWorkbenchSnapshot.sidebar_width_px. - Project Explorer — hidden files: toolbar eye toggle (
LuEye/LuEyeOff) shows or hides dot-prefixed entries client-side; preference stored asblxcode_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_estranslated for the new strings).
Changed
-
Sidebar Explorer/graph:
SidebarResizersupports top- vs. bottom-measured splits (measure_from_bottomfor the workspace↔panels boundary); container basis for the inner split is.workbench-sidebar__panelsinstead of.workbench-sidebar__views. -
Workspaces nav in the sidebar uses remaining space above the bottom panel (
flex: 1 1 auto) instead of a fixedmax-height: 32%. -
ensure_agents_layoutnow also creates.agents/plans/and seedsPLANS.mdif missing;WorkspaceRootsgains aplansfield. -
RightPanelTabadds aPlansvariant; the right-panel rail and tabstrip render it before Memory. -
harness.send_agent_contexttool description updated: defaultincludeKindsis["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_openonWorkspaceEntry; 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 (
rgbainstead of undefined--bg-hover). - Sidebar: collapsed rail is 44px wide (
min-width: 200pxno 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-lefton the editor column) spans the full panel height;.workbench-right-plansdock fills the tab body so layout height propagates correctly. - Plans panel: collapsible plan list sidebar (same control as Memory —
LuPanelLeftClose/LuPanelLeftOpen, narrow3.8remrail with plan initials badges). - Git commit graph (sidebar): lane layout assigns separate swim-lanes for forked branches (not everything on lane 0);
branch_from_laneandpass_through_laneswire 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 usesLuPlusinstead of a literal+.
Removed
- Project Explorer toolbar action Collapse all folders (
SbExplorerCollapseAll); replaced by the hidden-files eye toggle.
BLXCode v0.1.11
[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 Taurilist_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.gitis detected (git_is_repository); if Git is not onPATH, 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 persistedsidebar_explorer_open/sidebar_graph_openonWorkspaceEntry. - Tauri:
list_path_entries,git_is_repository,git_commit_graph; backend modulesfs_entriesandgit_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 —oquick open,ptoggle right panel,a/b/magent / browser / memory tabs,nnew terminal slot (active workspace only),:command palette. Prefix times out after 1.5 s;Esccancels 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+Ppalette). Selectable in BLXCode Settings → App → Keyboard shortcuts; persisted asblxcode_shortcut_mode_v1(tmux|legacy, defaulttmux). - Frontend module
harness_chords(handle_harness_keydown,dispatch_shortcut_action,open_new_terminal,ShortcutKeysdisplay helpers) wired fromHarnessHost; welcome-screen shortcut list reflects the active mode (Ctrl+bthen 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_v1inlocalStorage, default on). - Frontend modules
toast(ToastService,ToastHost) andapp_prefs(AppPrefsService) wired inWorkbenchShell. - i18n:
HandoffOkAttached,HandoffNoActiveWorkspace,AppNotifHeading,AppNotifToasts,AppNotifToastsHint,AppNotifSound,AppNotifSoundHint— added to all 14 locales;HandoffToAgentContextshortened to Send to BLXCode Agent (German: An BLXCode-Agent senden).
Changed
Ctrl+`(legacy) and Ctrl+bn(tmux) now open a new terminal slot viaappend_terminal_slotand focus it — no longer only reveal the Agent tab.- In tmux mode,
Ctrl+bis 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_itemand workspace Memory-category attach now setadded_atfromDate::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 liveclaude/codex/gemini/opencode/cursorCLI 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_imageswrites selected images to<workspace>/.blxcode/agent-context/images/with sanitized filenames and a JSON manifest sidecar; collision-safe (-2,-3suffix) and idempotent across retries. - Terminal PTY env vars
BLX_AGENT_CONTEXT_DIRandBLX_AGENT_CONTEXT_MANIFESTso 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_notecontext item; the "Send to BLXCode agent context" entry attaches the previewed note to the BLXCode Agent context. - Shared frontend module
agent_context_handoffcontaining the Markdown renderer (render_agent_context_block), theWorkspaceTerminalTargetlisting, the asyncperform_handoffhelper, and the reusable Leptos componentsHandoffMenu+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 onWorkbenchServiceso 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
ImageContextConsumedevent. - BLXCode Agent image context client tools:
image_context_listandimage_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-*.mdwith 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.mdwith source badge (git/npm/local/agent),SKILL.md missingwarn marker, toggle/remove controls, and an Install skill dialog. - Skill install dialog: segmented
Git/npm/Localsource picker with name + per-source fields; submits through the newskills_installTauri 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, andskills_rules_bootstrap. - On-disk manifests
.agents/rules/index.jsonand.agents/skills/index.jsontracking 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 eachindex.jsonfrom the on-disk content (every existing rule and skill folder enters asenabled: true, skills withsource.kind = "local"); manually disabled entries survive subsequent bootstraps. - Skill install pipeline:
git clone --depth=1 --single-branchforgit,npm pack+tar -xzf --strip-components=1fornpm, recursive copy forlocal; every install stages into.install.<name>.tmp/, validates thatSKILL.mdis 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...
v0.1.8
[0.1.8] - 2026-05-20
Added
- One-time dialog after the EULA asking whether to append
.blxcode/to the workspace.gitignore(answer stored inblxcode_gitignore_prompt_v1; skipped in non-Tauri builds). - Tauri command
workspace_ensure_agentsto create.agents/memory/,.agents/learnings/, and_templates/on workspace open. - Tauri command
gitignore_append_blxcodeto add a.blxcode/entry when the user accepts the post-EULA prompt. - Release CI workflow:
authorizejob — only the repository owner may run release builds (workflow_dispatchorv*tag push); org repos may set Actions variableRELEASE_OWNER. - Release CI manual run: choose build targets — Alle, Linux (deb, rpm, AppImage), Mac Universal, or Windows (
planjob 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.mdorlearnings/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_toolsserver tool: returns JSON catalog of every registered tool (name,server/clientsite, description, parameters schema). - BLXCode Agent memory management server tools:
memory_delete,memory_rename(move/rename within one root, optional wikilink rewrite),memory_graph, andmemory_backlinks. - BLXCode Agent memory UI client tools:
memory_category_list,memory_category_update(label,#rrggbbcolor, sidebar/graph visibility formemory/learnings),memory_context_list,memory_context_attach, andmemory_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-routes→Tanstack 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 withlearnings/…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 recommendlist_toolswhen 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/andlearnings/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.pydefault mode translates only missing keys (not a full locale rewrite); use--fullfor the previous behavior,--patch-english-matchesor--keysfor English placeholder rows.
Fixed
- Release CI
authorizejob reads optionalRELEASE_OWNERvia 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.
