Skip to content

v1.5.1

Choose a tag to compare

@dune-release dune-release released this 26 Aug 03:00
7be29d7

Dune IDE v1.5.1

Changes:

  • chore: repos moved to the duneyou org — update all slugs (9a09dbd)
  • chore(ios): ignore fastlane run artifacts (244c6db)
  • fix(ios): setup script uploads secrets before generating certs and fixes the deploy-key 422 (882ef9b)
  • ci(ios): standard fastlane layout — config in apps/dune-ios, dune-fastlane holds only encrypted certs over SSH (9df679b)
  • fix(ios): map ASC secrets to non-reserved env names (fastlane owns APP_STORE_CONNECT_API_KEY as a Hash) (9d9e8ab)
  • feat(ios): move fastlane config to the separate knoeone/dune-fastlane repo + one-command setup script (bf1fa76)
  • feat(ios): fastlane match + pilot replace the manual signing pipeline (be462fd)
  • docs(release): exact source for every secret — console URLs and click paths (dd1cd37)
  • docs(release): trim the secrets setup to steps and commands (4ebd6c8)
  • docs(release): current repo name + gh secret set commands for the App and iOS secret sets (9318954)
  • feat(workbench): theme color customizations, extension-preview polish, localhost remap, iOS icon variants (#125) (3208d31)
  • ci(release): ship dune-server on the single sem version train with desktop + iOS (eb9bba2)
  • ci: adopt tishlang/sem as the release version oracle + document conventional-commit rules (b4db72f)
  • feat: iOS (#123) (7a8994e)
  • fixes (639a8a6)
  • fixes (cb1a6b3)
  • lots of conformance (1476834)
  • docs(tish-ide): record why openvsx cannot be stubbed — tish's fetch and wss trust different stores (33f253f)
  • fix(tish-ide): remote pty/watch aborted the backend — connect off the dispatch thread (102 -> 109) (21b4f34)
  • test(tish-ide): cover the no-fixture long tail (79 -> 102 of 152) (7f7bac6)
  • test(tish-ide): drive the real node extension host (75 -> 79) (275c1f9)
  • test(tish-ide): cover the remote RPC path and ssh teardown (72 -> 75) (9d2e040)
  • test(tish-ide): drive MCP against a real stdio server (69 -> 72) (9feab4d)
  • test(tish-ide): assert the openvsx registry guard; stop the self-test calling real search APIs (1f8e43d)
  • test(tish-ide): drive the hypery family against a local stub server (62 -> 69) (d4dc39c)
  • fix(tish-ide): guard dap_write's body, and drive lsp + dap against real children (62/152) (df865fe)
  • test(tish-ide): drive a real pty child headlessly (coverage 49 -> 55) (4b7a627)
  • test(tish-ide): raise live command coverage 22 -> 49 and gate it (25b14b1)
  • feat(parity): resolve helper return shapes across module imports (1a1a071)
  • chore(toolchain): pin @tishlang/tish 3.2.2 (was 2.39.0) (65e2cd1)
  • feat(tish-ide): port the fs + git watchers, and make the parity gate check events (8fc45a4)
  • fix(dev): restore .tish source maps and make the HMR + file-layout guards blocking (2d67fd5)
  • fix: port the last stubs and get the file-layout guard green (ee056d4)
  • feat(tish-ide): port the remaining stubs — js-debug adapter, .code-workspace, cloud paths, shell command (b0018eb)
  • fix(tish-ide): honor the argument keys the webview actually sends in the git + fs broker (eb9c142)
  • docs: rewrite the theme docs against current reality — THEMES (model), THEME_RUNTIME (lifecycle/consumers/dev workflow), THEME_AUTHORING (external guide); index them; llms.md + CLAUDE.md entry points (e122508)
  • tish-ide: seed bundled dune-themes into ~/.dune/extensions on boot (version-gated) and stage them in the .app bundle (ee716b6)
  • theme: grouped duneThemeCollections picker (registry cache v2), hc-light base mapping, live vscode.window.activeColorTheme + onDidChangeActiveColorTheme, doc comments (dadb15d)
  • theme: extension TextMate tokenization follows the active theme (per-theme palette + light default) instead of a frozen dark palette (091cf52)
  • theme: generated key reference, JSON schema and machine catalog from themeModel (gen-theme-docs.mjs); CI drift guards for all generated theme artifacts (6195c71)
  • theme: consolidate geometry/native/escape-hatch key data into themeModel.tish; gen-dune-css --check + block markers; declare --dune-btn-pad-y (74fb764)
  • tish pairity (bd807d2)
  • chunk (3425a53)
  • pairioty (2fb13d4)
  • make dmg (#122) (947867c)
  • fix (79287a3)
  • fix (111e23a)
  • make dmg (8c4d929)
  • feat(tish-ide): ship as Dune.app and a DMG (#121) (f12b0bf)
  • fix: ci: one workflow — build the artifacts once, verify and release from them (#120) (2e106d3)
  • fix(tish-ide): stop building against tauri-ide, ship a separate artifact (#119) (12dddff)
  • ci: run CI on pull requests only, not on push to main (#118) (c2884e1)
  • feat(release): BUILD_* flags to select which OS targets build (#117) (1d2f622)
  • fix(release): secrets is not a valid context in a step-level if (#116) (fb16fca)
  • fix(release): only attach the Apple signing env when the secret exists (#115) (0f40fa3)
  • fix: ci(release): preflight the Apple signing certificate (#114) (0a5569d)
  • fix(release): stage the cloud-tier resources before bundling (#113) (166c6df)
  • fix(release): stop routing --bundles to cargo instead of tauri (#112) (271cf7c)
  • fix(tish-ide): dune-ui 403s on workbench bundles, and dev-mode hijack (#111) (886dcd2)
  • feat(scripts): run either app from the repo root, no cd (#110) (eba22df)
  • feat(release): sign + notarize the macOS DMG (#108) (4375068)
  • feat: Port the dune-ide desktop backend to tish on tish-desktop (#107) (b9dbb13)
  • onboarding (33b692c)
  • theme (f87dc19)
  • modern (832fb0a)
  • lights (041b2e7)
  • build: enable tauri macos-private-api feature (required for window transparency) (c9ee0e3)
  • theme: make the macOS traffic-light spacer themeable (19ea587)
  • theme: bottom corner elbow matches the top (image overlay, mirrored) (180bae7)
  • fix: run/debug title-bar icons take their token at high specificity too (26f8909)
  • fix: title-bar toolbar icons take the fg token, not the inherit chain (b93f351)
  • theme: route the remaining title-bar text to titlebar-fg tokens (8a4321e)
  • fix: activity-bar overflow menu z-index above workbench content (634dab4)
  • theme: title-bar run icon follows a token too (uniform colored-bar fg) (f366a19)
  • theme: title-bar foreground tokens (contrast on a colored title bar) (ecfb937)
  • app: route html + boot surfaces through the canvas token for transparency (008f7e5)
  • app: support theme-opt-in transparent window backgrounds (54c24de)
  • theme: top elbow as two-color image overlay (carves the title-bar line) (f5589e5)
  • theme: bolder top-left elbow — big sweep + long leg, own height (99d3acc)
  • theme: draw corner elbows as SVG-mask shapes (real elbows, not border blobs) (e71cb4d)
  • theme: always-on corner elbows, LCARS file tree + settings hooks, motion (241ebdb)
  • theme: rework LCARS elbow to ride the activity rail + colored view headers (f2a9a3e)
  • theme: chrome decoration layer — per-part caps, frame elbows, segment cycling, uppercase chrome labels, theme font leg + bundled Antonio (f81e740)
  • plan: the living document can no longer be destroyed — merge-on-write everywhere + an Open-plan card link (4cb24b6)
  • agent: custom modes flow through the shared mode-definition contract (2116dac)
  • agent: one loop for every host — pipeline: frontmatter gates staging, plan docs persist per session, subagents run the shared core (0ddeefd)
  • plan: MULTI-PASS pipeline — synopsis, flesh-out, tasks as SEPARATE model requests (ceaffec)
  • plan: the plan is a LIVING DOCUMENT — created at turn start, grown incrementally, notes + todos (a thought database, not a one-shot checklist) (3f9896b)
  • plan: interactive plan editor (live checklist, spinners, edits, side-split open) (5266e5f)
  • cloud: stream run output live (stdout-so-far on every PENDING tick) (bbcb364)
  • plan: ONE mode definition file drives BOTH hosts (frontmatter contract, shared core) (bcfdb6b)
  • plan: cloud plan-mode runs materialize the plan doc by INTERCEPTING the result (a71c428)
  • cloud: always clone from the LOCAL workspace path (stop predicting origin state) (1eef9a1)
  • cloud: unpushed branches clone from the local workspace, not origin (5753c25)
  • plan: FORCE manage_todos via OpenAI tool_choice when a plan-mode turn skips it (3da2c48)
  • plan: /plan runs a REAL planning turn; the plan DOCUMENT is the deliverable (2d5481c)
  • cloud: wipe the stale workdir before cloning (fix "destination path already exists") (c51d4f5)
  • cloud: real logging — a "Dune Cloud" Output channel over the whole run pipeline (bfb756d)
  • cloud: failed runs surface WHY + the full run log as a collapsed output (6d34895)
  • cloud: use the signed-in Hypery credential + pass the workspace repo to runs (b222a52)
  • cloud: provision builds request the fs feature (fix E0425 compilation failure) (087ddd1)
  • chat: tool output collapses to the HEADER ONLY when done (3-state, not preview) (62583b4)
  • chat: collapse LEGACY run outputs too (display-only upgrade in the renderer) (35b0f84)
  • chat: run-command output is a collapsible with a tail preview (toolOutput part) (f1c515e)
  • chat: more breathing room around code blocks (0.8rem vs the 0.35rem block margin) (c65733a)
  • chat: pre-pay the pre's horizontal-scrollbar height (fix sliced prose after code) (744ed1d)
  • chat: borderless tool rows; no bubble wrapper around code-only parts (2b3daf9)
  • chat: fix prose overlapping the pre block (drop fit-content bubble sizing) (df99d7d)
  • chat: single-bubble assistant messages + no whole-transcript horizontal scroll (c6fcd23)
  • chat: real stick-to-bottom + windowed transcript rendering (ChatMessagesView) (70168f0)
  • chat: PR chips above the composer (ChatPrBar) (369aac3)
  • styles: fix token violations from the recent run; sync THEMES/STYLING docs (d319436)
  • terminal: blank host while a session is missing; strip the reattach trace (c96ee00)
  • terminal: boot connect no longer kills the surviving shells before reattach (2aeebde)
  • terminal: undock leaves a stray zone container that blanks every later panel terminal (b46eac8)
  • terminal: reattach persisted terminals by NUMERIC pty id (fix self-closing on reload) (e6e139f)
  • terminal: persist terminals across a refresh by reattaching surviving shells (10348cf)
  • terminal: register session before pty_info so opening output isn't dropped (a34dcbb)
  • agents: one shared icon for chat sessions across all three surfaces (07b7157)
  • terminal: open xterm only once its host is laid out (fix blank new terminals) (48cfcad)
  • dnd: suppress text selection during tab/agent pointer-drags (5fffd01)
  • dnd: fix new terminal being blank / double-created (over-corrected the steal) (b548fb4)
  • dnd: new terminal no longer steals the editor-docked session; strip [TERMDND] trace (59f84e0)
  • dnd: dock terminal into split leaf BEFORE cleanup (empty-leaf collapse race) (9d89610)
  • dnd: remap stale DOM leaf id → real grid leaf before split/dock (8abaf70)
  • dnd: terminal panel-zone→grid dock retries until the split leaf's host mounts (e6483fe)
  • dnd: full [TERMDND] trace across the terminal drag→drop→mount path (3ed92e8)
  • dnd: fix terminal/agent edge-drop losing the item (split FIRST, then dock) (de6eb92)
  • dnd: terminal/agent edge-drop splits without requiring flexibleLayout (9f3c217)
  • dnd: terminal drag shows the split preview + drop diagnostics (a696266)
  • dnd: drag agents into the grid/panel + fix terminal edge-drop from the panel (3aefd45)
  • editor: actionable "changed on disk" notice (Reload / Compare) (3e9e0cc)
  • remote: /watch WebSocket push (replaces the 2.5s signature poll) (0a37f5b)
  • remote: fold a .git fingerprint into workspace_signature (041eb2e)
  • editor: handle open files deleted/renamed on disk (e9d91b6)
  • editor: save-collision guard (Overwrite / Compare), works local + remote (a992a40)
  • fs-watch: explorer softRefresh is a no-op unless a listing actually changed (12b9db7)
  • fs-watch: incremental explorer refresh + tighter change filter (no flashing) (08964fa)
  • fs-watch: reflect external filesystem changes (local + remote) (368e8f8)
  • panels: make Problems / LSP log / Output / Debug Console scrollable (eaff318)
  • remote: layers DX — feature catalog, validation, env, worked-example docs (51eafb8)
  • remote: devcontainer-style environment layers for dune-server (features + setup) (8d10d95)
  • remote: "Connect over SSH" mode — key-based tunnel to the remote dune-server (0a89996)
  • quickinput: sync the DOM input value to state so a reopened box clears (09eb091)
  • remote: connect accepts a bare host — try https, then http (55844ae)
  • remote: fix empty explorer + re-home terminals on connect (shape/routing parity) (9708af4)
  • remote: containerize the single-port dune-server + document the remote system (e8e061d)
  • remote: "Dune Remote" output channel — connect / RPC / terminal debug logging (7a4eefd)
  • remote: single-port dune-server — interactive terminal over WebSocket /pty upgrade (03f1230)
  • remote: client bridge for the remote interactive terminal (WebSocket /pty) (2b58930)
  • remote: open the remote workspace on connect (fixes empty files + git) (f6141dc)
  • remote: move the Remote indicator to the far bottom-left (VS Code / Cursor shape) (ed54cf1)
  • remote: Connect to Remote Dune Server — command, status pill, git-surface alignment (8c4f9af)
  • remote: Connect-to-Remote transport — Rust RPC forwarder + host routing (123a251)
  • headless: type the native agentNative* tool-execution chain (ee5eb9d)
  • headless: type agentNativeRepo (delegate→PR repo I/O helpers) (4cef952)
  • headless: type the dune-server host + agentHeadlessRun helpers (375a65c)
  • headless: bump tish to 2.37.3 + fully type the stack-spec + serve modules (f3df11a)
  • headless: type duneStack's leaf helpers (native f64-inference fix, tish#485) (bc7db3d)
  • docs/headless: reference filed tishlang/tish#485 for the native f64 landmine (472a915)
  • docs/headless: correct mis-attributed native landmines (keep only the verified one) (9efdc03)
  • cloud: ship + prefer dune-headless as the cloud runner source (fde72b7)
  • headless-dune m3: composable dune-headless host (agent / serve / both) driven by a stack spec (c103ed3)
  • headless-dune: delegate -> PR (repo I/O module) — clone, commit, push, open PR (2d92b41)
  • headless-dune: ask_subagent tool + modular toolset graph (cycle-broken) (e3a48a8)
  • headless-dune: modular tool registry + web_search tool module (3f72494)
  • headless-dune m2.5: cloud agent gets skills, rules, constitution, hooks + remember/save_skill (04e43a3)
  • headless-dune m2: native ctx — dune-cloud-agent is now the real Dune agent, headless (cb88adb)
  • headless-dune m1: extract the shared agent-core (host-agnostic tool loop) (147e1ec)
  • cloud agents: ship + auto-resolve the runner/agent — zero user config (1141162)
  • cloud agents: integrate into the Agents UI (drop the separate view) (8481c1b)
  • cloud agents: in-app 'Cloud Agents' surface (task #21) (3a72610)
  • dune-cloud-agent: inline the Hypery call to dodge native-tish #484 (real credit spend works) (e779b8a)
  • docs(cloud): Phase-0 backend complete incl. New cloud agent lifecycle (tish 2.37.0) (56c2d3c)
  • dune-cloud-run: read artifact_id from the build row + full-lifecycle reference driver (f624979)
  • deps: bump @tishlang/tish 2.36.2 -> 2.37.0 (native fetch multipart, tishlang/tish#483) (6658bc9)
  • dune-cloud-run: add provision / provision-status (the 'New cloud agent' bootstrap) (80262b8)
  • ci: build+smoke the native-tish cloud tier; document dune-cloud-run + webview wiring (d48c7e3)
  • dune-cloud-run: accept a --request JSON file (broker-drivable input, no env) (5b653a9)
  • docs(cloud): mark Phase-0 loop proven end-to-end; note remaining UI wiring + Zectre exit_code gap (2312d59)
  • dune-cloud-run: native-tish Dune->Zectre client (one-shot start/collect) (5122de3)
  • dune-cloud-agent: Phase-0 base-case cloud agent (tish→native one-shot) (5a1399e)
  • docs: local Zectre runs via justfile native processes, not docker (a93f50e)
  • docs: cloud tier is debug-first — prove the loop on local Zectre before auth (a7a858e)
  • docs: scope the cloud tier on Zectre (Dune + Hypery + Zectre) (caa0085)
  • docs: correct Nihmbus framing — separate marketing platform, NOT a Dune component (1732893)
  • docs: update parity reviews to reflect the deep-parity session (c23ef2f)
  • polish — per-hunk accept/reject for ⌘K inline edit (b6df862)
  • index:p3 — auto codebase context (opt-in pre-retrieval per message) (ceed9ce)
  • docs: scoped plan for GPU-first local embeddings sidecar (index:p3 #12) (460e139)
  • index:p3 — LLM reranking of code-search results (precision on top of hybrid) (75eec72)
  • index:p2 — batched embed+upsert + live first-index progress (3abd5db)
  • index:p2 — int8-quantize stored vectors (4x smaller .bin, faster search) (055c93e)
  • index:p1 — live re-embed on save (semantic index tracks edits in real time) (6d2d343)
  • index:p1 — show retrieval in chat + clickable file citations (450576b)
  • index:p1 — golden-set retrieval eval harness (recall@k / MRR) (f61f4fe)
  • index:p0 — hybrid BM25 + vector search via Reciprocal Rank Fusion (98c38a2)
  • index:p0 — symbol-aligned chunking + path/symbol-context embeddings (3a0a137)
  • docs: comprehensive analysis of code-index improvements (quality/freshness/scale/UX/eval) (e9b173e)
  • Semantic index: make it usable + observable (@codebase, index panel, self-test) (68025a0)
  • Semantic code index: Rust-backed vector store (uncapped, native search, non-blocking) (b91d27e)
  • Semantic code index: persist across sessions + incremental refresh (+ dreaming pass) (51d5ef2)
  • Settings ▸ Skills: surface duplicate-name skills (non-destructive report) (3594cf2)
  • Subagents: opt-in write-capable via 'tools: all', gated against Plan mode (c90d75d)
  • Skills: unify on editable SKILL.md files (Claude-parity), not a JSON blob (817393d)
  • Subagents: run a real read-only tool loop, not reasoning-only (e41ec46)
  • Agent hooks: merge user ~/.dune/hooks.json with project (Rust reader) (b4fa158)
  • User slash commands: read ~/.dune/commands too (Rust lister, not webview broker) (e123cf9)
  • dune-server: read .dune config dirs in tish (config_list RPC) (aefad01)
  • Subagent delegation: ask_subagent tool — pure tish (bd52c17)
  • Agent lifecycle hooks (.dune/hooks.json) — pure tish (8fcf14d)
  • User-authored slash commands (.dune/commands/*.md) — pure tish, no Rust (b6c4a80)
  • User-defined custom modes (.dune/modes/*.md) — Cursor-parity (2d03d5e)
  • Custom agents: wire /create-subagent + a "New" button so subagents are creatable (ce52367)
  • Plan mode: persist the task list as a reviewable .dune/plans/*.mdx doc (Cursor-style) (3de0de1)
  • Chat: keep the mode-pill icon when the menu opens (rev trigger) (2f7baab)
  • Chat pills: keep the Agent (icon) pill the same height as the Auto pill (dec38a3)
  • Chat: fix agent-mode pill icon (and other AgentIconSlot icons) vanishing on re-render (64e015e)
  • Chat: persist the Auto (and reasoning-effort) model prefs across reloads (469f811)
  • Chat: show an animated "..." typing indicator immediately on send (ac2e042)
  • Model picker: widen the menu so names fit on one line; tighten dedup (b658bfc)
  • Model picker: dedupe per-provider variants to one row; strip "Meta:"-style prefixes (01b22d4)
  • Model picker: strip author from label + show pricing tier instead of "Open" (fa7a3d2)
  • Add-to-chat: set composer before revealing (fix first-add-nothing/double); terminal = compact chip (1097506)
  • Chat composer: don't treat @ mid-word or inside code fences as a mention (e76afad)
  • First-party reference provider: Peek/Find References work multi-file without an LSP (25ad0fe)
  • Terminal context menu (small, custom) + fuller editor Go-to/Peek nav (1bbeaa6)
  • Add Selection to Chat: insert a Cursor-style @file:lines chip, not pasted code (1860d64)
  • Dirty tab: update the unsaved dot live on edit + save (not only on tab switch) (f2e1c91)
  • Dirty tab: hide the × with color:transparent, not font-size (was showing dot AND ×) (901aeb7)
  • Editor context menu: rich VS Code/Cursor items + robust fallback; dock quick input to the omnibar (1d3cf58)
  • Dirty editor tabs: VS Code / Cursor-style unsaved dot on the tab (52963c3)
  • Disable native text-selection over the editor (misleading fake selection) (4ad48f7)
  • Editor hot exit: recover unsaved changes across restart (e842f4b)
  • NES: yield Tab to a visible ghost + preview the edit (Copilot/Cursor-style coexistence) (dd0bd2d)
  • Models settings: show enabled models instantly, only query Hypery when searching (4a20cb6)
  • Hypery models: request ?category=chat, not the full catalog (141f3c0)
  • Hypery models: retry /models WITHOUT the team header when the team catalog is empty (1a6ab51)
  • Model pickers: Completion/Edit/Dreaming offer ANY model (live ∪ all defaults), not just chat-enabled (c3a131e)
  • Add Gemini 2.5 Flash Lite to the default model catalog (fast completion model) (677d3b2)
  • Hypery models: surface empty-catalog + log the fetch result (diagnose blank Models page) (f40d1af)
  • Inline suggest: cache per (model,version,offset) + temperature 0 to stop re-request flicker (4783394)
  • Inline suggest: fix stale-position crash + ghost≠tab mismatch (c2a6c28)
  • Inline suggest: cap output tokens (speed), log per-request latency, fix model dropdown (595253a)
  • Editor: explicitly enable Monaco inlineSuggest option so the ghost-text provider fires (9bebeb1)
  • Inline suggest: diagnostic logging to find why ghost text isn't showing (01bf76b)
  • Inline suggest: extract pure buildFimMessages + export sanitizeCompletion for tests (e30fdd8)
  • @code context: LSP-free symbol outline of the active file [roadmap P1 #8] (52d787c)
  • Web search: @web context + web_search tool, multi-provider + user-configurable [roadmap P1 #8] (1ac0b50)
  • Bottom-panel tabs follow editor tab style: border only on the selected tab (13121db)
  • Slash skills: de-Cursor the catalog + wire /automate /create-rule /create-skill /review-bugbot [roadmap Improvement #2] (f8a33c8)
  • Terminal in editor grid: use native panel:terminal tab, not a generic view wrapper (47dfe45)
  • Automations plan: native scheduler-tick host built; driver+fire-exec is the remaining wiring [P1 #7] (3dee86b)
  • scheduler-tick: native (headless) host for the shared scheduler [P1 #7] (a1d5bbb)
  • Panel active tab: don't drop the bottom border's 1px, so icons stop shifting (616e895)
  • Terminal panel tab ×: static (always visible) + editor tab close spacing (473de84)
  • Automations plan: scheduler decision engine is shared tish (JS+native), not hand-Rust [P1 #7] (48d2cc3)
  • Terminal font size: pre-paint --dune-terminal-font-size var kills first-terminal 12px flash (f0980c7)
  • Terminal: first terminal defaults to editor font size (--dune-mono-font-size) — kills the 12px boot flash (32e040c)
  • Terminal: resolve creation font size from a live terminal (fix stuck-at-12 + jump) (085e81f)
  • Terminal dock: attach the container to docked-view parking (fix blank terminal) (d065f03)
  • Scheduler: front-end uses the shared core + persists last-run, catches up on reopen [P1 #7] (981be9d)
  • Scheduler: shared cron/scheduling core in tish (compiles to JS AND native Rust) [P1 #7] (7035c2f)
  • Terminal dock: fit once the pane has a real size (fix blank-on-load) (eaf09bb)
  • Inputs: actually disable spellcheck/autocorrect (spellcheck="false", not {false}) (fa02e35)
  • Terminal tabs: use the existing dockview zone-tab system (draggable/splittable) (7cbc4ae)
  • Terminal: create the xterm at the resolved font size (no post-load jump) (2f326e1)
  • Settings search: render results plainly (no virtual list) for normal-size lists (457bfb1)
  • Flexible layout: decide it PRE-PAINT so the legacy terminal rail never flashes (77b4bce)
  • Settings search: stop the results list snapping back to the top while scrolling (a304d8b)
  • Terminal tabs: use the editor tab's exact .tab-close (hover/active reveal) (6411aac)
  • Settings search: ONE unified result list (core + agent), settings stay in their tabs (4489e92)
  • Terminal rail: hide it reliably when flexible (store flag, not the CSS class) (1bf79be)
  • Terminal panel tabs: robust redesign — tabs over the legacy panes, no reparent (dc25665)
  • Revert "Settings: agent settings are now ONE system with core settings (schema catalog)" (e9b4c45)
  • Settings: agent settings are now ONE system with core settings (schema catalog) (c663b0c)
  • Terminal panel tabs: make the flexible-layout path coherent (fix Stage 1 bugs) (330e9c5)
  • Reapply "Terminals as panel tabs when flexible layout is on (Stage 1)" (3485f92)
  • Revert "Terminals as panel tabs when flexible layout is on (Stage 1)" (7abc40c)
  • Settings search: delete ALL keyword blobs; filter by real setting text only (24d91d1)
  • Bottom panel: add a toggle to hide tab labels (icon-only, like the side bar) (6f02cac)
  • Terminals as panel tabs when flexible layout is on (Stage 1) (f932043)
  • Settings search: one keyword source for the Agents page (fixes new settings not being searchable) (96286cc)
  • NES: wire predictive next-edit into the editor (Tab to jump/apply) [P1 #4] (93d9a0a)
  • NES: pure next-edit prediction engine (prompt + response parser) [P1 #4] (1608c62)
  • Agent edit review: per-hunk accept/reject UI above the composer (P0 #3) (980b226)
  • Agent edit review: capture per-turn edits for hunk review (428b345)
  • Agent edit review: pure diff + hunk-reconciliation engine (P0 #3 foundation) (4b9c1ae)
  • Settings search: drop nav sections that have no matching settings (222e2d6)
  • Settings search: filter agent settings ROW-BY-ROW, not whole cards (00a5819)
  • Settings search: make it global + unified so agent settings actually show (5863d1b)
  • Settings search: filter the Agents page + keep sections reachable by content (441f6ab)
  • Settings dropdowns: add a chevron affordance so they read as dropdowns (0eb52a4)
  • Settings: kill two more drift-prone hand-maintained lists (874cff7)
  • Agent settings: one canonical persist list, ending the load/save allowlist drift (009c50c)
  • Settings: make Sidebar Width / Secondary Sidebar Width actually resize (21fedfa)
  • Settings: drop the redundant Core 'Agent' category, fold its one setting into Agents (cf0542c)
  • Chat: tool-call rows inherit the message font (identical to chat text) (d9191cc)
  • AI-generating decoration: use the declared --dune-border-focus token (8b5fe2d)
  • Agent settings: fix overlapping candidate-skill cards (bfb427e)
  • Chat: scale tool-call & sub-element fonts with the panel font, not rem (324399d)
  • Agent settings: Dreaming model uses the grouped model picker, not a text input (89b7994)
  • UI chrome: make all font sizes honor the UI Font Size setting (#106) (fcd68ef)
  • Chat @-context: add @lint (diagnostics) and @git (log + diff) (8f86f35)
  • Agent chat: run on custom providers (Ollama/LM Studio), not just completion/⌘K (a164a9f)
  • Agent: per-surface model selection + config-driven custom providers (Ollama/LM Studio) (#105) (dd8f6cd)
  • Agent: semantic (@codebase) code search tool (#104) (cc52ced)
  • Extensions: bridge inline-completion providers to the editor (#103) (043976e)
  • Explorer tree: fix icon/label/twistie alignment + bottom clipping at small fonts (#102) (6725f97)
  • Chat: scope the model/agent picker to the panel that opened it (#101) (e0f0f00)
  • Embeddings: read teamId fresh per call so a team switch bills the right team (#100) (a8aa226)
  • Synthesize tool_call_id when a provider streams tool calls without one (#99) (c587d02)
  • Extensions: recognize only .dune/extensions, not .vscode (#98) (97d1551)
  • Drop all .cursor compatibility — Dune reads only .dune (#97) (5ab6ee6)
  • Stop reading .cursor/rules — Dune is not Cursor (#96) (40be20f)
  • Don't force-inject alwaysApply:false project rules (#95) (f9b368a)
  • Send the correct tool_call_id on tool-result messages (#94) (ff89f93)
  • Hide per-second media models from the chat catalog (#93) (151de58)
  • Harden Hypery team display against the settings load/refresh race (#92) (1791604)
  • Persist the selected Hypery team (was billing the personal team) (#91) (375dfed)
  • Settings deep-link: target the embedded editor-tab surface, not the boot-warmed one (#90) (1b24d27)
  • Show signed-in user + team in the Hypery status-bar menu (#89) (cc23433)
  • Hypery: signed-in account + team-scoped billing (#88) (d2f1c8a)
  • Give Hypery its own settings tab (out of Models) (#87) (f9ed1e6)
  • Silence NotAllowedError/Canceled on every click (Monaco Safari clipboard workaround) (#86) (bb35817)
  • Settings deep-link: land on the target section on a cold open (#85) (2b5b316)
  • New Agent: reuse an existing empty chat instead of stacking another (#84) (e07ec03)
  • Agents menu: real New Agent hotkey + robot icon, fold Automations into Customize (#83) (8f85bb7)
  • Move startup-blocking sync commands off the main thread (#82) (0ddb81a)
  • Move Hypery model/embedding HTTP off the main thread (#81) (a80c474)
  • Secret store: honor file mode at boot (no keychain prompt/freeze) (#80) (3faf415)
  • Kill traffic-light 60fps main-thread poll (boot beachball) (#79) (a0283ea)
  • Customize Layout menu tracks the UI font size (#78) (95b73c5)
  • Fold titlebar card padding into base rules (fix duplicate .titlebar-tools-card) (#77) (210ad42)
  • Tighten the tools-card side padding (outer titlebar icons) (#76) (86d8d57)
  • Tighten titlebar icon buttons (less padding) (#75) (6098840)
  • Read agent rules/skills/subagents from .dune first, not just .cursor (#74) (d0c06a6)
  • Make the Automations action open a dedicated Automations settings section (#73) (bddc0f7)
  • Command palette + quick-input now track the UI font (#72) (8d355ed)
  • Stop the real cause of traffic-light flicker: don't retitle the window on file select (#71) (41e988b)
  • Catch the zoom button synchronously via KVO on its frame (#70) (a05c9d4)
  • Fix zoom-button misalignment during file load with a correction poll (#69) (ec1099c)
  • Fix residual zoom-button flicker: drop the reentrancy guard (#68) (dea86b7)
  • Eliminate traffic-light flicker with synchronous per-button frame observers (#67) (07f26d4)
  • Keep traffic-light inset pinned via an NSWindowDidUpdate observer (#66) (216579c)
  • Re-assert the traffic-light inset after window reveal (fix boot flicker) (#65) (96ee148)
  • Fix traffic-light inset getting reset on boot; increase Dune top padding (#64) (3c15722)
  • Shorten the header bar to 34px (was 38) (#63) (9ed4344)
  • Stop the traffic-light inset from growing the header; make Y a tunable position (#62) (f5a1e9c)
  • Fix over-tall header from the traffic-light container resize (#61) (845c243)
  • Make the macOS traffic-light inset theme-driven (#60) (23d620d)
  • macOS: preserve the OS default traffic-light spacing (#59) (5bb0c5e)
  • macOS: port traffic-light positioning from tauri-plugin-decorum verbatim (#58) (966d38d)
  • macOS: add the missing top padding to the traffic lights (#57) (a753e5f)
  • macOS: make the traffic-light inset actually stick (#56) (2392375)
  • macOS: pad the traffic lights off the top-left corner (#55) (1904a1b)
  • Remove the standalone Tish sandbox playground (#54) (f2fdcfa)
  • Fix blank-screen boot (Monaco Registry duplicate) via optimizeDeps pinning (#53) (79fbd79)
  • Debug: fix Restart locking up (stop + relaunch instead of DAP restart) (#52) (c7e1440)
  • Debug: auto-expand first scope, harden child-session swap, surface var fetches (#51) (7ca060c)
  • Fix empty play button after stopping a debug session (#50) (2826248)
  • Fix breakpoints not showing in the Debug panel + add stopped-line highlight (#49) (861b032)
  • Move debug stepping controls into the titlebar (drop the floating toolbar) (#48) (fc4b8c4)
  • Stop keychain password prompts on boot — presence check via non-secret index (#47) (f43691a)
  • Restructure debug UI to VS Code layout (sidebar + console tab + floating toolbar) (#46) (cf17332)
  • Make adding breakpoints discoverable (hover hint + right-click + glyph margin) (#45) (e30df33)
  • Add Stop/step controls + Debug Console to the debug panel (#44) (2e1ba3b)
  • Fix: substitute ${workspaceFolder} in launch.json + surface adapter stderr (#43) (773e879)
  • Fix: run .js debug adapters via node (play button did nothing) (#42) (e10dc30)
  • Add debug play button + Debug palette commands (+ fill palette gaps) (#41) (9d16fe2)
  • DAP Phase 4: first real adapter — JS/Node via vscode-js-debug (#40) (31caca6)
  • DAP Phase 3: debug panel (call stack, variables, watch, breakpoints) (#39) (908732e)
  • DAP Phase 2: breakpoint gutter + stepping toolbar (#38) (2c9463f)
  • DAP Phase 1: transport + MAIN dispatch wiring for vscode.debug (#37) (e3d7164)
  • Replace Rust dune-server with a native-tish implementation (#36) (d3eb354)
  • Bump tish to 2.36.2 and lattish to 4.0.2 (#35) (6156e9c)
  • Migrate loose ==/!= to strict ===/!== across all .tish (prep for tish 2.36.x) (#34) (f42c82c)
  • dune-server: standalone lean crate + Dockerfile (runs in a container) (#33) (e18a208)
  • Web transport seam: browser host + platform selector (Track B P2) (#28) (43c2b71)
  • dune-server: headless backend foundation (files + git RPC over HTTP) (#27) (04c41f6)
  • Automations: fire cron-scheduled automations from the background scheduler (#24) (c7ce544)
  • Fix orphaned Source Control header after moving SC to the editor grid (#26) (4b9bbb5)
  • feat(agent): clickable add-payment-method link on a 402 (#25) (2877f32)
  • Automations P0: manage saved prompts + run them on demand (#23) (c6bfdaf)
  • fix(hypery): normalize legacy api.hypery.ai → hypery.ai (fixes inference 401) (#22) (66e866b)
  • Dreaming: idle-time memory consolidation & self-improvement (#21) (a0cca84)
  • fix(hypery): resolve OAuth client_id from config + default gateway to hypery.ai (#20) (df28d31)
  • Add Dreaming (idle-time consolidation & self-improvement) plan (c65484b)
  • ui (d5edb8f)
  • Add Automations + detachable-backend plan (browser/container/cloud) (e2ff832)
  • ui fixes (9c40e76)
  • ui etc (c274f2e)
  • ui (a57c5b9)
  • ai fixes (4687be2)
  • fixes (b8a1b26)
  • stuff (c453eca)
  • Webview panel hot exit: restore serializer-backed panels across reload (44bbe7c)
  • Restore view/title toolbar for grid-docked extension views (ab3f437)
  • Consolidate extension view/title actions into the single pane header (881f27b)
  • Fix git graph commit list scroll + convert Fetch/Pull/Push/Refresh to icons (b2b704f)
  • Search results as a VS Code-style grouped accordion (ab458f0)
  • Conformance: quick-input fixture (green) + matrix rows showQuickPick/showInputBox STUB->WORKING (07a2f07)
  • Implement window.showQuickPick + window.showInputBox (Phase A) (b3f971c)
  • Reconcile the extension-API conformance matrix with the code (b9e1d16)
  • View/title actions render the COMMAND's icon, not text (da092c5)
  • Extension view/title actions: contributed toolbar buttons on ext view headers (f058175)
  • Zone panes: draggable per-pane headers + center-drop docks into the target pane (8557adc)
  • Settings opens to USER scope by default, not Workspace (7bcbd03)
  • Zone unification Phase 5: persistence hygiene + delete legacy made dead by the unification (c223945)
  • Git action buttons become icons; binary/non-UTF-8 files open with a dismissible notice (0058e92)
  • Zone-split DnD Phase 4: drag a view onto a zone-body edge to split the zone (8b798f9)
  • Zone-pane render Phase 3: zone bodies render their split tree (null = today's view, pixel-identical) (ced9bab)
  • Zone-pane model Phase 2: per-zone split trees in the layout (ships dark) (f940726)
  • Split-kit Phase 1: extract the editor grid's split machinery into shared modules (992f516)
  • Render the panel host on fresh panel-tab open and on generic panel-tab close (47b7e02)
  • Inter-panel spacing to 8px; vertical wheel scrolls tab strips horizontally (e08f47f)
  • Right-click on rail icons and zone tabs opens a native options menu (8d049a3)
  • Base .bottom-split-handle also sizes from --dune-split-size (03eea62)
  • Bottom-panel gap joins the split-size token: uniform inter-card spacing (94c6f80)
  • Count badge on activity icons: git changed-file count on the Source Control icon (b763a41)
  • Rail buttons adopt the tab-pill colors; tab pill borders removed (7715a2b)
  • 8px spacing rhythm: pill gaps and rail icons on one grid (e021507)
  • Bump dune-themes to 1.9.4 so the seeded copy picks up the spacing fixes (7fe0995)
  • Pill tabs: identical 4px gap on all four sides, inner padding removed (50e4148)
  • Tighten Dune theme chrome spacing: tab pads, strip/rail alignment, breadcrumb rhythm (ba6f9ac)
  • Fix disappearing/stale rail icons and heal stranded views in the layout state (8a1b58c)
  • Fix views vanishing on side-bar drops: pin body-drops into the rail, unbreak the overflow chevron (f2ce176)
  • CI: Windows job builds/tests the Rust CLI crate only (tish has no Windows binary) (#51) (ae6983e)
  • CI: build/test across Linux, macOS and Windows via matrix (tish caching paradigm) (#50) (a61415e)
  • Make the whole side bar a drop zone via geometric fallback (fix incomplete #38) (#49) (60542df)
  • CI: make the dev-time HMR validators non-blocking (#48) (ccc3b87)
  • validate-workbench-fixtures: skip agent-map.json (a nav-map index, not a state fixture) (#47) (c520497)
  • Gate macOS-only code so the Rust backend compiles on Linux CI (#46) (0b61ee3)
  • CI: build the dune CLI launcher before the Rust build (#45) (06890aa)
  • cargo fmt the src-tauri crate (#44) (363979e)
  • Make ensure-local-tish-links optional (don't fail CI when tish siblings absent) (#43) (d3687f9)
  • Switch @tishlang/tishdoc-* to published npm deps; fix CI install (#42) (ca61f03)
  • Persist agent view zone across reload: stop forcing it back to the secondary bar (#41) (3f7553e)
  • Lower boot.tish ratchet baseline 376 -> 375 to lock in the extraction (#40) (e6c5414)
  • Centralize cross-cutting protocol strings into shared constants (#37) (34317a6)
  • Fix secondary side-bar resize jank: stop the per-frame activity-rail repaint storm (#39) (332360c)
  • Let side-bar/panel view tabs drop onto the whole zone body, not just the tab strip (#38) (5c7faa3)
  • Make workspace per-window to fix multi-window ENOENT (#36) (03ff215)
  • Titlebar: replace chat button with three panel toggles; Extensions opens Customize (#35) (499200e)
  • Wire the token/CSS guards into CI, fix the boot.tish ratchet, and doc a manual gate (#34) (7d9ad70)
  • cleanup: promote duplicated frontend helpers into shared modules (#33) (ba0f824)
  • Fix language auto-detection: map .js and other extensions to their languages (#32) (7ff0d9b)
  • Add a decrease-only --dune-* token-policy CSS ratchet and fix contradicting docs (#30) (357eca4)
  • Coalesce onWorkbenchViewportResize to once per frame (#31) (0723be1)
  • Fold appended CSS parity overrides into base rules and dedupe declaration blocks (#27) (1a93c66)
  • Consolidate duplicated Hypery sign-in / chat / models plumbing (#29) (8fa5dab)
  • Fix panel-resize jank: rAF-coalesce the per-move insets reflow (#28) (5d07982)
  • Remove dummy settings and fix the default-keybindings dispatch (#26) (0753f1a)
  • Prune dead frontend runtime surfaces (#25) (b2114aa)
  • Remove the dead internal contribution pipeline; keep the command lane (#23) (0466d71)
  • Deduplicate build scripts and prune dead scripts and dependency declarations (#22) (1430732)
  • Unify the overlapping process-exec and extension-path broker surfaces (#21) (b16b4ca)
  • Delete dead CSS in style.css: legacy .scm-* block and orphaned selectors (#20) (6792fac)
  • Deduplicate copy-pasted helper logic across the Rust backend (#19) (06a049d)
  • Remove dead Tauri commands and orphaned functions from the Rust backend (#18) (547c3dd)
  • style (d29e0b6)
  • basic (316b551)
  • lots (8e280cf)
  • tabs (ba88ca2)
  • icons (95b7700)
  • side stuff (bb5aa0d)
  • hypery (84f8269)
  • panels (b36cf27)
  • panel updates (e241064)
  • agent (afec7aa)
  • agents (41f3f0f)
  • skills (e1339c2)
  • git (a91c637)
  • git stuff (53ab828)
  • git it (57ebe84)
  • native git (26dc3e9)
  • extensions (a51e8b2)
  • lots (d082d1b)
  • exteions (55d073b)
  • exteions debug (990592e)
  • api (619f124)
  • fixes (9f960d1)
  • fix (93bc4b7)
  • host (b2be1f2)
  • ui (b3bf1a5)
  • ui (384f4f9)
  • fix things (49341bc)
  • ui (661d0ed)
  • ui (e12656a)
  • ui (2dcea3e)
  • fixes (0d8efcb)
  • ui (157b9b9)
  • fix (b2bedf6)
  • fix (6d7b778)
  • ui (c27b2fc)
  • split (259c932)
  • refactor (fbe20bb)
  • tabs (0ab6946)
  • cleanup (c7c18bf)
  • cleanup (080ae29)
  • fixes (7c060bf)
  • fix (4d11214)
  • cleanup (e8e2935)
  • cleanup (204b1fb)
  • refactor (e3f1914)
  • fixes (1a86229)
  • refactor (0189d7e)
  • fixes (b0c8621)
  • fixes (9e5541a)
  • fix (02b3c00)
  • cleanup (1052047)
  • fix (329455d)
  • cleanup (311e486)
  • cleanup (5119800)
  • cleanup (2590b28)
  • refactor (0c65ff4)
  • fix (e6670e3)
  • refac (d0993c5)
  • cleanup (6494077)
  • refactor (08629aa)
  • cleanup (72cdd4e)
  • port (924aee1)
  • refactor (43289fb)
  • refactor (900fc89)
  • refactor (2889db7)
  • dragging and more (454f57f)
  • tabs (5179d06)
  • drag+drop, blank page (e8b2166)
  • hide (04321d6)
  • hmr and cleanup (b46e169)
  • virtualize settings (4c1d85f)
  • fix bugs (6174ef6)
  • tabs (6e1608d)
  • hmr (b7debb6)
  • musch (0b49079)
  • bunch of stuff (b8e271f)
  • more cleanup (dd561b6)
  • cleanup (d6be9a5)
  • lots of extension fixes (6a45cb3)
  • window and production optimizations (3bfef0c)
  • debug (7ef5d30)
  • fixes (cf9100d)
  • icons ane more (ad9826b)
  • esm and cleanup (cd7126d)
  • ararch (36d3b09)
  • layout fixes and cleanup (78a720a)
  • refactor cleanup major (cb290fd)
  • perf (ca77481)
  • themes (3b01563)
  • ui (2754a38)
  • ui (f18eb03)
  • ui (054e6a2)
  • lots of ui (cf0b2bb)
  • fixes (da9d329)
  • fixes (2e8d8e4)
  • panels (88a0978)
  • pannels (7bd2444)
  • remove broken file (2bc6ece)
  • panels (49c6190)
  • ui (c299793)
  • ui fixes (d4aa8f3)
  • more ide (59adb55)
  • panel (444e517)
  • reactive (f632a36)
  • styling (1c8acbc)
  • cleanup (9cabbfc)
  • fixes (74d4d45)
  • files (5c5e8b9)
  • files (0e0eb56)
  • fuck u (4c4e729)
  • fix menus (e5b65d4)
  • convert to tish (d49c8f8)
  • wow (d8de583)
  • ui (ac1dc1e)
  • init (d5b067a)