Releases: Latitudes-Dev/shuvcode
Releases · Latitudes-Dev/shuvcode
v1.2.27-4
- Fix: prune empty part entries in shared reducer
- Fix: filter ignored text in tui undo
- Merge PR #332: Add Openpad mobile app
- Add backslash newline
- Undo to last non-ignored message (fix for Opencode-DCP/opencode-dynamic-context-pruning#191)
- Add Openpad-based mobile app
Thank you to 2 community contributors:
- @gergesh:
- Add Openpad-based mobile app
- Undo to last non-ignored message (fix for Opencode-DCP/opencode-dynamic-context-pruning#191)
- Add backslash newline
- @shuv1337:
- Merge PR #332: Add Openpad mobile app
- fix: filter ignored text in tui undo
- fix: prune empty part entries in shared reducer
v1.2.27-3
v1.2.27-2
v1.2.27-1
v1.2.27
- Fix: restore fork markers and account config merge
- Sync: merge upstream v1.2.27 into shuvcode-dev
- Fix: vcs watcher if statement (anomalyco#17673)
- Tweak(ui): remove open label (anomalyco#17512)
- Chore(permission): delete legacy permission module (anomalyco#17534)
- Fix(question): clean up pending entry on abort (anomalyco#17533)
- Remove sighup exit (anomalyco#17254)
- Refactor(permission): effectify PermissionNext + fix InstanceState ALS bug (anomalyco#17511)
- Fix(app): handle multiline web paste in prompt composer (anomalyco#17509)
- Refactor(schema): inline branded ID schemas (anomalyco#17504)
- Refactor(question): effectify QuestionService (anomalyco#17432)
- Tweak: ensure that compaction message is tracked as agent initiated (anomalyco#17431)
- Fix(core): increase default chunk timeout from 2 min to 5 min (anomalyco#17490)
- Fix(opencode): lost sessions across worktrees and orphan branches (anomalyco#16389)
- Fix(app): model selection persist by session (anomalyco#17348)
- Fix(app): polish prompt composer controls (anomalyco#17388)
- Fix(app): sidebar sync
- Tweak(ui): use new-session icon in sidebar buttons
- Fix(app): avoid clipping new session during sidebar anim
- Fix(app): animate titlebar controls on sidebar open
- Fix(app): restore sidebar dash and sync session spinner colors (anomalyco#17384)
- Feat(schema): scaffold effect-to-zod bridge (anomalyco#17273)
- Fix(app): fork should copy prompt into new session (anomalyco#17375)
- Fix(app): sidebar spacing + session list spinner transition (anomalyco#17355)
- Fix(app): terminal cloning without retry (anomalyco#17354)
- Fix(app): scroll falls behind prompt input
- Fix(app): todo spacing
- Fix(app): better optimistic prompt submit (anomalyco#17337)
- Fix(opencode): serialize config bun installs (anomalyco#17342)
- Fix(app): support text attachments (anomalyco#17335)
- Chore(app): i18n sync (anomalyco#17283)
- Perf(app): use cursor session history loading (anomalyco#17329)
- Perf(server): paginate session history (anomalyco#17134)
- Fix(opencode): sessions lost after git init in existing project (anomalyco#16814)
- Fix(e2e): fail fast on config dependency installs (anomalyco#17280)
- Fix(app): list item background colors
- Fix: filter empty content blocks for Bedrock provider (anomalyco#14586)
- Fix(cli): hide console command from help output (anomalyco#17277)
- Fix(app): stabilize todo dock e2e with composer probe (anomalyco#17267)
- Refactor(provider): effectify ProviderAuthService (anomalyco#17227)
- Desktop: multi-window support in electron (anomalyco#17155)
- Feat(cli): add console account subcommands (anomalyco#17265)
- Refactor(auth): effectify AuthService (anomalyco#17212)
- Tweak: rm openrouter warning (anomalyco#17259)
- Fix(app): increase CI e2e workers (anomalyco#17263)
- Reorder provider list in providers login (anomalyco#17262)
- Fix(app): sidebar re-rendering too often
- Fix(app): task error state
- Fix(app): message loading
- Fix: if server password exists, use basic auth for plugin client by default (anomalyco#17213)
- Feat(app): follow-up behavior (anomalyco#17233)
- Fix(app): optimistic revert/restore
- Fix(app): not loading message nav
- Fix(app): titlebar cleanup (anomalyco#17206)
- Feat: session load perf (anomalyco#17186)
- Fix: non openai azure models that use completions endpoints (anomalyco#17128)
- Refactor(import): use .parse() at boundaries instead of manual .make() (anomalyco#17106)
- Refactor(provider): flow branded ProviderID/ModelID through internal signatures (anomalyco#17182)
- Fix(web): fix broken mobile sidebar (in workflows mode) sizing issue by adding flex-1 (anomalyco#17055)
- Fix(app): terminal animation
- Feat(id): brand ProviderID and ModelID (anomalyco#17110)
- Fix(app): sidebar quirks
- Refactor(desktop): rework default server initialization and connection handling (anomalyco#16965)
- Fix terminal e2e flakiness with a real terminal driver (anomalyco#17144)
- Fix(desktop): set default WebSocket username and prevent repeated calling of terminal spawn properly closing the terminal (anomalyco#17061)
- Fix(electron): theme Windows titlebar overlay (anomalyco#16843)
- Fix(app): guard comment accessor in message timeline (anomalyco#17126)
- Merge remote-tracking branch 'origin/dev' into dev
- Core: remove external sourcemap generation to reduce build artifacts
- Fix(e2e): re-focus prompt after terminal opens in slash-terminal test (anomalyco#17113)
- Feat(id): brand PermissionID, PtyID, QuestionID, and ToolID (anomalyco#17042)
- Feat(windows): add arm64 release targets for cli and desktop (anomalyco#16696)
- Feat(id): brand PartID through Drizzle and Zod schemas (anomalyco#16966)
- Feat(id): brand WorkspaceID through Drizzle and Zod schemas (anomalyco#16964)
- Fix: resolve symlinks in Instance cache to prevent duplicate contexts (anomalyco#16651)
- Feat(id): brand SessionID through Drizzle and Zod schemas (anomalyco#16953)
- Core: restore plugin serverUrl getter so plugins can connect to local server
- Feat(app): restore to message and fork session (anomalyco#17092)
- Fix: re-enable snapshot in acp (anomalyco#14918)
- Tweak: adjust skill presentation to be a little less token heavy (anomalyco#17098)
- Feat(id): brand ProjectID through Drizzle and Zod schemas (anomalyco#16948)
- Fix(app): todos not clearing
- Fix(app): skip editor reconcile during IME composition (anomalyco#17041)
- Refactor(account): tighten effect-based account flows (anomalyco#17072)
- Fix(core): read stdout and stderr in PackageRegistry.info before waiting for the process to exit (anomalyco#16998)
- Chore(app): simplify review pane (anomalyco#17066)
- Tweak: adjust way skills are presented to agent to increase likelyhood of skill invocations. (anomalyco#17053)
- Perf(app): trim session render work (anomalyco#16987)
- Sync: merge upstream v1.2.24 into shuvcode-dev
- Fix(electron): hide Windows background consoles (anomalyco#16842)
- Fix: add GOOGLE_VERTEX_LOCATION env var support for Vertex AI (anomalyco#16922)
- Fix(account): resilient orgs fetch (anomalyco#16944)
- Chore(app): fix tests
- Fix(app): terminal jank
- Fix(app): terminal focus issues and jank
- Fix ESM imports for @opencode-ai/plugin (anomalyco#16916)
- Core: make account login upgrades safe while adding multi-account workspace auth (anomalyco#15487)
- Fix(core): don't permit access to system directories (anomalyco#16891)
- Feat(core): allow passing
workspaceIDinto session create endpoint (anomalyco#16798) - Fix(core): a chunk timeout when processing llm stream (anomalyco#16366)
- Fix(core): make worktrees read the project id from local workspace (anomalyco#16795)
- Fix(opencode): add thinking variants support for SAP AI provider (anomalyco#14958)
- Chore(app): debug window
- Upgrade opentui to v0.1.87 (anomalyco#16772)
- Fix(mcp): fix OAuth auto-connect failing on first connection (anomalyco#15547)
- Refactor(server): extract createApp function for server initialization
- Chore(app): dev stats
- Fix(app): terminal state corruption
- Fix(core): put workspace routing behind OPENCODE_EXPERIMENTAL_WORKSPACES flag (anomalyco#16775)
- Merge remote-tracking branch 'origin/dev' into dev
- Refactor: replace bun semver with npm semver package
- Fix(tui): wait for model store before auto-submitting --prompt (anomalyco#7476)
- Refactor(opencode): replace Bun shell in core flows (anomalyco#16286)
- Refactor: change pathToFileURL imports from bun to url module
- Fix(tui): handle error when creating a session (anomalyco#16767)
- Fix: Multiple jdtls LSPs eating memory in java monorepos (anomalyco#12123)
- Fix(app): scroll jitter/loop
- Fix(app): session title turn spinner (anomalyco#16764)
- Fix(app): dismiss toast notifications when questions or permissions a… (anomalyco#16758)
- Feat(tui): add initial support for workspaces into the tui (anomalyco#16230)
- Feat(gitlab): send context-1m-2025-08-07 beta header to enable 1M context window (anomalyco#16153)
- Add copilot gpt-5.4 xhigh support (anomalyco#16294)
- Fix(app): remove oc-1 theme
- Tui: fix sidebar workspace container sizing by adding box-border class to prevent content overflow issues
- Fix(app): don't animate review panel in/out
- Revert(app): "STUPID SEXY TIMELINE (anomalyco#16420)" (anomalyco#16745)
- Fix(app): sanitize workspace store filenames on Windows (anomalyco#16703)
- Fix(opencode): pass missing auth headers in
run --attach(anomalyco#16097) - Feat(app): generate color palettes (anomalyco#16232)
- Disable fallback to free nano for small model
- Guard tui exit (anomalyco#16640)
- Fix(tui): canonicalize cwd after chdir (anomalyco#16641)
- Tui: fix sidebar background color when collapsed
- App: suppress hover when opening project menu or right-clicking to prevent flickering
- Fix: trim retained desktop terminal buffers (anomalyco#16583)
- Fix(app): messages not loading reliably
- Fix: prune and evict stale app session caches (anomalyco#16584)
- Fix(opencode): avoid TTY corruption from double cleanup (anomalyco#16565)
- Fix(tui): fix broken /mcp toggling (anomalyco#16431)
- Revert "tui: dock auto-accept after thinking and move Add file to bottom-left"
- Revert "tui: keep model + thinking selectors beside Add file"
- Revert "tui: add more editor bottom padding for prompt controls"
- Revert "tui: expose auto-accept as a permissions select"
- Revert "tui: use text-base color for prompt selects"
- Revert "tui: remove prompt model/thinking/permissions selectors on dev so the composer stays simple"
- Tui: remove prompt model/thinking/permissions selectors on dev so the composer stays simple
- Tui: restore new-session logo on dev so users recognize OpenCode immediately
- Tui: revert new-session logo on dev so this UI change only ships with auto-accept-permissions
- Tui: add opencode logo to new session screen so users can immediately identify the app when starting a fresh session
- Tui: use text-base color for prompt selects
- Tui: expose auto-accept as a permissions select
- Tui: add more editor bottom padding for prompt controls
- Tui: keep model + thinking selectors beside Add file
- Tui: dock auto-accept after thinking and move Add file to bottom-left
- Tui: revert prompt control docking
- Tui: dock auto-accept after thinking and move Add file to bottom-left
- Core: update database path test to verify correct channel-based filename
- Core: allow beta channel to share database with stable channel
- Tui: balance titlebar columns so center content doesn't get squeezed by long side content
- Tui: center empty states vertically in session view and improve review panel messaging for projects without version control
- Core: add OPENCODE_SKIP_MIGRATIONS flag to bypass database migrations
- Fix(app): review panel transition
- Fix(app): guard session-header current() against undefined when options is empty (anomalyco#16478)
- Fix(app): preserve file tree tab on reopen + fix e2e test regressions (anomalyco#16482)
- Tui: remove close butto...
v1.2.17
- Fix: make opencode tests pass on windows
- Fix: restore release pipeline after integration sync
- Fix: restore typecheck after v1.2.17 sync
- Sync: merge upstream v1.2.17 into shuvcode-dev
- Show scrollbar by default (anomalyco#15282)
- Fix(app): remove blur from todos
- Fix(app): delay dock animation on session load
- Fix(app): remove diff lines from sessions in sidebar
- Fix(app): loading session should be scrolled to the bottom
- Fix(app): terminal tab close
- Desktop: add electron version (anomalyco#15663)
- Fix(process): prevent orphaned opencode subprocesses on shutdown (anomalyco#15924)
- Feat(core): rework workspace integration and adaptor interface (anomalyco#15895)
- Docs(bash): clarify output capture guidance (anomalyco#15928)
- Fix:
run --attachagent validation (anomalyco#11812) - Tui: replace curved arrow with straight arrow for better terminal compatibility
- Tui: show pending toolcall count instead of generic 'Running...' message
- Tui: use arrow indicator for active tool execution (anomalyco#15887)
- Fix(auth): normalize trailing slashes in auth login URLs (anomalyco#15874)
- Fix(app): defer diff rendering
- Fix(app): defer diff rendering
- Upgrade opentui to v0.1.86 and activate markdown renderable by default (anomalyco#14974)
- Fix(app): timeline jank
- Fix(app): tighten up header elements
- Fix(app): stabilize project close navigation (anomalyco#15817)
- Fix(app): timeline jank
- Fix(app): timeline jank
- Fix(opencode): disable session navigation commands when no parent session (anomalyco#15762)
- Wip: zen
- Fix(opencode): avoid gemini combiner schema sibling injection (anomalyco#15318)
- Fix(provider): forward metadata options to cloudflare-ai-gateway provider (anomalyco#15619)
- Fix(opencode): clone part data in Bus event to preserve token values (anomalyco#15780)
- Animation Smorgasbord (anomalyco#15637)
- Fix(app): default auto-respond to false
- Chore(app): solidjs refactoring (anomalyco#13399)
- Ui: move session review bottom padding
- Fix: recover from 413 Request Entity Too Large via auto-compaction (anomalyco#14707)
- Fix: project ID conflict, and update on same session id (anomalyco#15596)
- Desktop: fix latest.json finalizer
- Revert "fix(i18n): polish turkish translations" (anomalyco#15656)
- Desktop: use correct download link in finalize-latest-json
- Perf(session): faster session switching via windowed rendering and staged timeline (anomalyco#15474)
- Feat(tui): improve task tool display with subagent keybind hints and spinner animations (anomalyco#15607)
- Fix(opencode): show human-readable message for HTML error responses (anomalyco#15407)
- Feat(app): add compact ui (anomalyco#15578)
- Fix(i18n): polish turkish translations (anomalyco#15491)
- Fix: kill orphaned MCP child processes and expose OPENCODE_PID on shu… (anomalyco#15516)
- Feat(core): add workspace_id to
sessiontable (anomalyco#15410) - Feat(core): add WorkspaceContext (anomalyco#15409)
- Fix(app): fallback to synthetic icon for unknown provider IDs (anomalyco#15295)
- Feat(core): basic implementation of remote workspace support (anomalyco#15120)
- Fix(app): scroll issues
- Chore(app): i18n sync (anomalyco#15362)
- Feat(app): add Warp to the open menu (anomalyco#15368)
- Change keybindings to navigate between child sessions (anomalyco#14814)
- Desktop: add latest.json finalizer script (anomalyco#15335)
- Fix(app): auto-accept permissions
- Feat(app): add Turkish (tr) locale for app and ui packages (anomalyco#15278)
- Feat(app): recent projects section in command pallette (anomalyco#15270)
- Desktop: move open_path to rust (anomalyco#15323)
- App: allow providing username and password when connecting to remote server (anomalyco#14872)
- Fix(app): permission indicator
- Fix(app): permission notifications
- Tweak(app): show keybind on context tab close
- Feat(app): better diff/code comments (anomalyco#14621)
- Refactor(app): dedupe filetree scroll state
- Tweak(app): align review changes select height
- Fix(ui): mute inactive file tab icons
- Tweak(ui): max-width on session when the review is closed but the file tree is open
- Fix: test
- Tweak(ui): add border to filetree on scroll
- Tui: fix session tab alignment in compact view to prevent vertical overflow
- Fix(app): terminal issues
- Feat(app): new tabs styling (anomalyco#15284)
- Feat(app): auto-accept all permissions mode
- Refactor(desktop): enhance project tile interaction with suppress hover functionality (anomalyco#15214)
- Fix(app): simplify review layout (anomalyco#14953)
- Feat: opencode go provider list (anomalyco#15203)
- Fix(desktop): restore shell path env for desktop sidecar (anomalyco#15211)
- Fix(app): open in powershell (anomalyco#15112)
- Fix: most segfaults on windows with Bun v1.3.10 stable (anomalyco#15181)
- Fix(desktop): remove interactive shell flag from sidecar spawn to prevent hang on macOS (anomalyco#15136)
- Fix(app): permissions and questions from child sessions (anomalyco#15105)
- Split tui/server config (anomalyco#13968)
- Fix(app): keyboard navigation previous/next message (anomalyco#15047)
- Fix(app): correct Copilot provider description in i18n files (anomalyco#15071)
- Feat(core): add message delete endpoint (anomalyco#14417)
- Fix: consume stdout concurrently with process exit in auth login (anomalyco#15058)
- Opencode go copy
- Sync
- Feat(desktop): enhance Windows app resolution and UI loading states (anomalyco#13320)
- Desktop: make readme more accurate
- Feat: show LSP errors for apply_patch tool (anomalyco#14715)
- Core: temporarily disable plan enter tool to prevent unintended mode switches during task execution
- Refactor: migrate Bun.spawn to Process utility with timeout and cleanup (anomalyco#14448)
- Fix(opencode): disable config bun cache in CI (anomalyco#14985)
- Fix(project): await git id cache write (anomalyco#14977)
- Fix(opencode): import custom tools via file URL (anomalyco#14971)
- Feat(core): add workspace-serve command (experimental) (anomalyco#14960)
- Fix(app): ignore stale part deltas
- Fix(app): on cancel comment unhighlight lines (anomalyco#14103)
- Refactor: replace error handling with serverErrorMessage utility and checks for if error is ConfigInvalidError (anomalyco#14685)
- Fix(app): preserve native path separators in file path helpers (anomalyco#14912)
- Fix: ACP both live and load share synthetic pending status preceeding… (anomalyco#14916)
- Fix(app): remove filetree tooltips
- Fix(test): replace structuredClone with spread for process.env (anomalyco#14908)
- Fix(win32): add 50ms tolerance for NTFS mtime fuzziness in FileTime assert (anomalyco#14907)
- Fix(test): replace Unix-only assumptions with cross-platform alternatives (anomalyco#14906)
- Fix(test): use path.sep in discovery test for cross-platform path matching (anomalyco#14905)
- Fix(win32): normalize backslash paths in config rel() and file ignore (anomalyco#14903)
- Fix(win32): fix plugin resolution with createRequire fallback (anomalyco#14898)
- Fix(test): harden preload cleanup against Windows EBUSY (anomalyco#14895)
- Fix(test): normalize git excludesFile path for Windows (anomalyco#14893)
- Feat: ACP - stream bash output and synthetic pending events (anomalyco#14079)
- Fix(win32): add git flags for snapshot operations and fix tests for cross-platform (anomalyco#14890)
- Fix(win32): handle CRLF line endings in markdown frontmatter parsing (anomalyco#14886)
- Fix(test): use path.join for cross-platform glob test assertions (anomalyco#14837)
- Fix: update createOpenReviewFile test to match new call order (anomalyco#14881)
- App: wait for loadFile before opening file tab
- Upgrade to bun 1.3.10 canary and force baseline builds always (anomalyco#14843)
- Fix(win32): e2e sometimes fails because windows is weird and sometimes ipv6 (anomalyco#14833)
- Fix(win32): scripts/turbo commands would not run (anomalyco#14829)
- Fix(app): correct inverted chevron direction in todo list (anomalyco#14628)
- Revert "fix(app): terminal issues"
- Fix(win32): normalize paths at permission boundaries (anomalyco#14738)
- Fix: Windows path support and canonicalization (anomalyco#13671)
- Upgrade opentui to v0.1.81 (anomalyco#14605)
- Fix(desktop): change detection on Windows, especially Cygwin (anomalyco#13659)
- Feat(app): feed customization options
- Fix(app): terminal issues
- Desktop: beta icon
- Fix: e2e test outdated
- Fix(app): remove double-border in share button
- Fix(app): better sound effect disabling ux
- Cache platform binary in postinstall for faster startup (anomalyco#14467)
- Wip(app): custom scroll view
- Feat(app): show/hide reasoning summaries
- Fix(app): stay pinned with auto-scroll on todos/questions/perms
- Revert "cache platform binary in postinstall for faster startup" (anomalyco#14457)
- Cache platform binary in postinstall for faster startup (anomalyco#14396)
- Desktop: publish betas to separate repo (anomalyco#14376)
- Desktop: bring back -i in sidecar arguments
- Feat: add list sessions for all sessions (experimental) (anomalyco#14038)
- Fix(app): large text pasted into prompt-input causes main thread lock
- Fix(app): terminal issues (anomalyco#14435)
- Fix(github): support variant in github action and opencode github run (anomalyco#14431)
- Fix(snapshot): respect info exclude in snapshot staging (anomalyco#13495)
- Fix(cli): missing plugin deps cause TUI to black screen (anomalyco#14432)
Thank you to 34 community contributors:
- @edemaine:
- fix: Windows path support and canonicalization (anomalyco#13671)
- @Hona:
- fix(win32): normalize paths at permission boundaries (anomalyco#14738)
- fix(cicd): flakey typecheck (anomalyco#14828)
- fix(win32): scripts/turbo commands would not run (anomalyco#14829)
- fix(win32): e2e sometimes fails because windows is weird and sometimes ipv6 (anomalyco#14833)
- upgrade to bun 1.3.10 canary and force baseline builds always (anomalyco#14843)
- fix: update createOpenReviewFile test to match new call order (anomalyco#14881)
- fix(test): use path.join for cross-platform glob test assertions (anomalyco#14837)
- fix(win32): add bun prefix to console app build scripts (anomalyco#14884)
- fix(win32): handle CRLF line endings in markdown frontmatter parsing (anomalyco#14886)
- fix(win32): add git flags for snapshot operations and fix tests for cross-platform (anomalyco#14890)
- fix(test): normalize git excludesFile path for Windows (anomalyco#14893)
- fix(test): harden preload cleanup against Windows EBUSY (anomalyco#14895)
- fix(win32): fix plugin resolution with createRequire fallback (anomalyco#14898)
- fix(win32): normalize backslash paths in config rel() and file ignore (anomalyco#14903)
- fix(test): use path.sep in discovery test for cross-platform path matching (anomalyco#14905)
- fix(test): replace Unix-only assumptions with cross-platform alternatives (anomalyco#14906)
- fix(win32): add 50ms tolerance for NTFS mtime fuzziness in FileTime assert (anomalyco#14907)
- fix(test): replace structuredClone with spread for process....
v1.2.10
- Sync: merge upstream v1.2.10 into shuvcode-dev
- Sdk: build to dist/ instead of dist/src (anomalyco#14383)
- Desktop: don't spawn sidecar if default is localhost server
- Fix: issue from structuredClone addition by using unwrap (anomalyco#14359)
- Fix(desktop): restore settings header mask
- Fix: add missing id/sessionID/messageID to MCP tool attachments (anomalyco#14345)
- Use structuredClone instead of remeda's clone (anomalyco#14351)
- Remove unnecessary deep clones from session loop and LLM stream (anomalyco#14354)
- Core: remove User-Agent header assertion from LLM test to fix failing test
- Fix(app): black screen on launch with sidecar server
- Feat(opencode): support adaptive thinking for claude sonnet 4.6 (anomalyco#14283)
- Feat(tui): add custom tool and mcp call responses visible and collapsable (anomalyco#10649)
- Fix(app): clear todos on abort
Thank you to 7 community contributors:
- @yanosh-k:
- feat(tui): add custom tool and mcp call responses visible and collapsable (anomalyco#10649)
- @tctev:
- feat(opencode): support adaptive thinking for claude sonnet 4.6 (anomalyco#14283)
- @mhart:
- Use structuredClone instead of remeda's clone (anomalyco#14351)
- @NatChung:
- fix: add missing id/sessionID/messageID to MCP tool attachments (anomalyco#14345)
- @rmk40:
- docs: clarify tool name collision precedence (anomalyco#14313)
- @Brendonovich:
- desktop: don't spawn sidecar if default is localhost server
- sdk: build to dist/ instead of dist/src (anomalyco#14383)
- @shuv1337:
- sync: merge upstream v1.2.10 into shuvcode-dev
- sync: record last synced tag v1.2.10
- Merge shuvcode-dev (v1.2.10 sync) into integration
v1.2.7
- Fix: resolve post-merge type errors and missing imports for v1.2.7 sync
- Sync: merge upstream v1.2.7 into shuvcode-dev
- Fix(github): action branch detection and 422 handling (anomalyco#14322)
- Fix(app): terminal issues (anomalyco#14329)
- Feat(i18n): update Japanese translations to WSL integration (anomalyco#13160)
- Fix(core): normalize file.status paths relative to instance dir (anomalyco#14207)
- Refactor: migrate from Bun.Glob to npm glob package (anomalyco#14317)
- Core: bump ai sdk packages for google, google vertex, anthropic, bedrock, and provider utils (anomalyco#14318)
- Tweak: add support for medium reasoning w/ gemini 3.1 (anomalyco#14316)
- Revert "refactor: migrate from Bun.Glob to npm glob package"
- App: make localhost urls work in isLocal
- Refactor: migrate from Bun.Glob to npm glob package
- Fix(app): navigate to last session on project nav
- Remove use of Bun.file (anomalyco#14215)
- Fix(core): text files missclassified as binary
- App: fix typecheck
- Desktop: fetch defaultServer at top level
- Fix(app): terminal rework (anomalyco#14217)
- Tweak: bake in the aws and google auth pkgs (anomalyco#14241)
- Fix: token substitution in OPENCODE_CONFIG_CONTENT (alternate take) (anomalyco#14047)
- Sdk: fix nested exports transformation in publish script
- Tui: ensure onExit callback fires after terminal output is written
- App: deduplicate allServers list
- Revert: all refactor commits migrating from Bun.file() to Filesystem module
- Refactor: migrate src/project/project.ts from Bun.file() to Filesystem/stat modules (anomalyco#14126)
- Tweak(app): adjust session turn horizontal padding
- Tweak(app): tighten prompt dock padding
- Refactor: migrate src/tool/read.ts from Bun.file() to Filesystem module (anomalyco#14118)
- Refactor: migrate src/tool/write.ts from Bun.file() to Filesystem module (anomalyco#14119)
- Refactor: migrate src/tool/edit.ts from Bun.file() to Filesystem module (anomalyco#14120)
- Refactor: migrate remaining tool files from Bun.file() to Filesystem/stat modules (anomalyco#14121)
- Refactor: migrate src/storage/storage.ts from Bun.file()/Bun.write() to Filesystem module (anomalyco#14122)
- Refactor: migrate src/storage/json-migration.ts from Bun.file() to Filesystem module (anomalyco#14123)
- Refactor: migrate src/mcp/auth.ts from Bun.file()/Bun.write() to Filesystem module (anomalyco#14125)
- Refactor: migrate src/storage/db.ts from Bun.file() to statSync (anomalyco#14124)
- Refactor: migrate src/session/prompt.ts from Bun.file() to Filesystem/stat modules (anomalyco#14128)
- Fix: opencode run crashing, and show errored tool calls in output (anomalyco#14206)
- Refactor: migrate src/skill/discovery.ts from Bun.file()/Bun.write() to Filesystem module (anomalyco#14133)
- Refactor: migrate src/session/instruction.ts from Bun.file() to Filesystem module (anomalyco#14130)
- Refactor: migrate src/provider/provider.ts from Bun.file() to Filesystem module (anomalyco#14132)
- Refactor: migrate src/shell/shell.ts from Bun.file() to statSync (anomalyco#14134)
- Refactor: migrate src/cli/cmd/tui/thread.ts from Bun.file() to Filesystem module (anomalyco#14135)
- Refactor: migrate src/util/log.ts from Bun.file() to Node.js fs module (anomalyco#14136)
- Refactor: migrate src/provider/models.ts from Bun.file()/Bun.write() to Filesystem module (anomalyco#14131)
- Fix(win32): Sidecar spawning a window (anomalyco#14197)
- Fix(lsp): use HashiCorp releases API for installing terraform-ls (anomalyco#14200)
- Refactor: migrate src/lsp/server.ts from Bun.file()/Bun.write() to Filesystem module (anomalyco#14138)
- Tweak(app): delay prompt mode toggle tooltip
- Tweak(app): shorten prompt mode toggle tooltips
- Refactor: migrate src/cli/cmd/session.ts from Bun.file() to statSync (anomalyco#14144)
- Refactor: migrate src/acp/agent.ts from Bun.file() to Filesystem module (anomalyco#14139)
- Refactor: migrate src/auth/index.ts from Bun.file()/Bun.write() to Filesystem module (anomalyco#14140)
- Refactor: migrate src/cli/cmd/agent.ts from Bun.file()/Bun.write() to Filesystem module (anomalyco#14142)
- Refactor: migrate src/cli/cmd/import.ts from Bun.file() to Filesystem module (anomalyco#14143)
- Tweak(ui): reduce review panel padding
- Tweak(ui): search button style
- Tweak(ui): expanded color state on titlebar buttons
- Tweak(ui): hover and active styles for title bar buttons
- Tweak(ui): share button border
- Tweak(ui): file tree background color
- Feat(plugin): pass sessionID and callID to shell.env hook input (anomalyco#13662)
- Fix(app): terminal cross-talk (anomalyco#14184)
- Zen: update sst version
- Refactor: migrate src/global/index.ts from Bun.file() to Filesystem module (anomalyco#14146)
- Fix(opencode): update pasteImage to only increment count when the previous attachment is an image too (anomalyco#14173)
- Fix(github): emit PROMPT_TOO_LARGE error on context overflow (anomalyco#14166)
- Refactor: migrate editor.ts from Bun.file()/Bun.write() to Filesystem module (anomalyco#14149)
- Refactor: migrate clipboard.ts from Bun.file() to Filesystem module (anomalyco#14148)
- Refactor: migrate src/bun/index.ts from Bun.file()/Bun.write() to Filesystem module (anomalyco#14147)
- Refactor: migrate config/markdown.ts from Bun.file() to Filesystem module (anomalyco#14151)
- Refactor: migrate file/index.ts from Bun.file() to Filesystem module (anomalyco#14152)
- Refactor: migrate format/formatter.ts from Bun.file() to Filesystem module (anomalyco#14153)
- Refactor: migrate cli/cmd/run.ts from Bun.file() to Filesystem/stat modules (anomalyco#14155)
- Core: allow readJson to be called without explicit type parameter
- Refactor: migrate file/ripgrep.ts from Bun.file()/Bun.write() to Filesystem module (anomalyco#14159)
- Refactor: migrate index.ts from Bun.file() to Filesystem module (anomalyco#14160)
- Feat: add Julia language server support (anomalyco#14129)
- Feat: GitLab Duo - bump gitlab-ai-provider to 3.6.0 (adds Sonnet 4.6) (anomalyco#14115)
- Fix(cli): session list --max-count not honored, shows too few sessions (anomalyco#14162)
- Desktop: handle sidecar key in projectsKey
- Desktop: fix isLocal
- Feat: Add centralized filesystem module for Bun.file migration (anomalyco#14117)
- App: refactor server management backend (anomalyco#13813)
- Fix: use group-hover for file tree icon color swap at all nesting levels
- Tui: simplify mode toggle icon styling
- Desktop: cleanup
- Desktop: temporarily disable wsl
- Fix(opencode): fix Clojure syntax highlighting (anomalyco#13453)
- Fix: ensure explore subagent has external_directory perm set to ask instead of auto denying (anomalyco#14060)
- Fix: dont autoload kilo (anomalyco#14052)
- Feat: add Kilo as a native provider (anomalyco#13765)
- Refactor: simplify redundant ternary in updateMessage (anomalyco#13954)
- Tui: exit cleanly without hanging after session ends
- Fix(tui): style scrollbox for permission and sidebar (anomalyco#12752)
- Tweak: ensure read tool uses fs/promises for all paths (anomalyco#14027)
- Chore(app): use radio group in prompt input (anomalyco#14025)
- Fix: make read tool more mem efficient (anomalyco#14009)
- Feat: surface plugin auth providers in the login picker (anomalyco#13921)
- Tui: simplify prompt mode toggle icon colors via CSS and tighten message timeline padding
- Fix(app): prompt input quirks
- Fix(app): terminal disconnect and resync (anomalyco#14004)
- Fix: Invalidate oauth credentials when oauth provider says so (anomalyco#14007)
- Desktop: replicate tauri-plugin-shell logic (anomalyco#13986)
- Tui: improve modified file visibility and button spacing
- Tui: show monochrome file icons by default in tree view, revealing colors on hover to reduce visual clutter and help users focus on code content
- Tui: fix share button text styling to use consistent 12px regular font weight
- Tui: add warning icon to permission requests for better visibility
- Refactor(ui): extract dock prompt shell
- Tweak(ui): bump button heights and align permission prompt layout
- Fix: don't fetch models.dev on completion (anomalyco#13997)
- Fix(app): ui flashing when switching tabs (anomalyco#13978)
- Fix(desktop): avoid sidecar health-check timeout on shell startup (anomalyco#13925)
- Tui: increase prompt mode toggle height for better clickability
- Feat(desktop): more e2e tests (anomalyco#13975)
- Tweak(ui): update magnifying-glass icon
- Tweak(app): tighten titlebar action padding
- Tweak(app): refine titlebar search and open padding
- Tweak(ui): center titlebar search and soften keybind
- Tweak(app): align titlebar search text size
- Tweak(app): match titlebar active bg to hover
- Tweak(app): use weak borders in titlebar actions
- Tweak(app): reduce titlebar right padding
- Tweak(app): keep file tree toggle visible
- Tweak(ui): icon button spacing
- Feat(app): session timeline/turn rework (anomalyco#13196)
- Fix(app): recover state after sse reconnect and harden sse streams (anomalyco#13973)
- Tweak(tui): new session banner with logo and details (anomalyco#13970)
- Fix(app): keep Escape handling local to prompt input on macOS desktop (anomalyco#13963)
- Fix: replace opencode ASCII logo with shuvcode branding in CLI ui
- Hide server CLI on windows (anomalyco#13936)
- Core: keep message part order stable when files resolve asynchronously (anomalyco#13915)
- Tweak: drop ids from attachments in tools, assign them in prompt.ts instead (anomalyco#13890)
- Feat(acp): add opt-in flag for question tool (anomalyco#13562)
- Fix(opencode): ACP sessions never get LLM-generated titles (anomalyco#13095)
- Feat(cli): add session delete command (anomalyco#13571)
Thank you to 29 community contributors:
- @shuv1337:
- fix: replace opencode ASCII logo with shuvcode branding in CLI ui
- sync: merge upstream v1.2.7 into shuvcode-dev
- sync: record last synced tag v1.2.7
- fix: resolve post-merge type errors and missing imports for v1.2.7 sync
- Merge branch 'shuvcode-dev' into integration
- fix: update fork-features.json markers for v1.2.7 file relocations
- Merge shuvcode-dev fork-features fix into integration
- @itskritix:
- fix(app): keep Escape handling local to prompt input on macOS desktop (anomalyco#13963)
- @vynnlee:
- docs(ko): improve Korean translation accuracy and clarity in Zen docs (anomalyco#13951)
- @chenmijiang:
- docs: improve zh-cn and zh-tw documentation translations (anomalyco#13942)
- @hmu332233:
- fix(docs): correct reversed meaning in Korean plugins logging section (anomalyco#13945)
- @nexxeln:
- fix(app): recover state after sse reconnect and harden sse streams (anomalyco#13973)
- @neriousy:
- feat(desktop): more e2e tests (anomalyco#13975)
- fix(app): ui flashing when switching tabs (anomalyco#13978)
- @ysm-dev:
- fix(desktop): avoid sidecar health-check timeout on shell startup (anomalyco#13925)
- @alexcarpent...
v1.2.6-1
v1.2.6
- Fix: update fork-features markers, archive tests, and restore status downgrade guard
- Fix: re-export DEFAULT_THEMES from theme context for tips
- Sync: merge upstream v1.2.6 into shuvcode-dev
- Feat(opencode): add
dfmtformatter support for D language files (anomalyco#13867) - Fix(tui): make use of server dir path for file references in prompts (anomalyco#13781)
- Feat(cli): add db migrate command for JSON to SQLite migration (anomalyco#13874)
- Feat(cli): add --continue and --fork flags to attach command (anomalyco#13879)
- Fix: bump GitLab provider and auth plugin for mid-session token refresh (anomalyco#13850)
- Fix (tui): Inaccurate tips (anomalyco#13845)
- Fix(core): remove unnecessary per-message title LLM calls (anomalyco#13804)
- Fix: google vertex var priority (anomalyco#13816)
- Feat: add openai-compatible endpoint support for google-vertex provider (anomalyco#10303)
- Fix(desktop): normalize Linux Wayland/X11 backend and decoration policy (anomalyco#13143)
- Feat(opencode): Add Venice support in temperature, topP, topK and smallOption (anomalyco#13553)
- Desktop: use process-wrap instead of manual job object (anomalyco#13431)
- Feat(opencode): add
cljfmtformatter support for Clojure files (anomalyco#13426) - Fix(desktop): issue viewing new files opened from the file tree (anomalyco#13689)
- Fix(app): only navigate prompt history at input boundaries (anomalyco#13690)
- Fix(app): keybind [shift+tab] (anomalyco#13695)
- Fix(desktop): focus window after update/relaunch (anomalyco#13701)
- Feat: Add GeistMono Nerd Font to available mono font options (anomalyco#13720)
- Fix: ensure sqlite migration logs to stderr instead of stdout (anomalyco#13691)
- Core: add db command for database inspection and querying
- Fix: derive all IDs from file paths during json migration
- Feat(app): clear notifications action (anomalyco#13668)
- Fix(app): stack overflow in filetree (anomalyco#13667)
- Fix: ensure anthropic models on OR also have variant support (anomalyco#13498)
- Fix: add WAL checkpoint on database open (anomalyco#13633)
- Fix: ensure vercel variants pass amazon models under bedrock key (anomalyco#13631)
- Core: add comprehensive test coverage for Session.list() filters
- Core: filter sessions at database level to improve session list loading performance
- Fix vercel gateway variants (anomalyco#13541)
- Bump vertex ai packages (anomalyco#13625)
- Tui: show all project sessions from any working directory
- Fix: tweak websearch tool description date info to avoid cache busts (anomalyco#13559)
- Desktop: fix rust
- Desktop: remote OPENCODE_SQLITE env (anomalyco#13545)
- Sqlite again (anomalyco#10597)
- Fix: prevent opencode run crash on malformed tool inputs (anomalyco#13051)
- Fix(test): move timeout config to CLI flag (anomalyco#13494)
- Fix(app): terminal resize
- Fix(web): use prompt_async endpoint to avoid timeout over VPN/tunnel (anomalyco#12749)
- Fix(app): remount SDK/sync tree when server URL changes (anomalyco#13437)
- Fix(web): sync docs locale cookie on alias redirects (anomalyco#13109)
- Fix(desktop): performance optimization for showing large diff & files (anomalyco#13460)
- Feat(cli): add --dir option to run command (anomalyco#12443)
- Feat: update some ai sdk packages and uuse adaptive reasoning for opus 4.6 on vertex/bedrock/anthropic (anomalyco#13439)
- Revert "fix: token substitution in OPENCODE_CONFIG_CONTENT" (anomalyco#13429)
- Fix: ensure @-ing a dir uses the read tool instead of dead list tool (anomalyco#13428)
- Feat(hook): add tool.definition hook for plugins to modify tool description and parameters (anomalyco#4956)
- Fix(app): reconnect event stream on disconnect
- Feat(app): toggle all provider models
- Cleanup desktop loading page
- Fix(app): notification should navigate to session
- Fix(app): prompt input quirks
- Fix(app): worktree delete
- Fix(app): failed to create store
- Desktop: only show loading window if sqlite migration is necessary
- Fix: resolve ACP hanging indefinitely in thinking state on Windows (anomalyco#13222)
- Fix: token substitution in OPENCODE_CONFIG_CONTENT (anomalyco#13384)
- Fix: look for recent model in fallback in cli (anomalyco#12582)
- Fix: baseline CPU detection (anomalyco#13371)
- Feat: windows selection behavior, manual ctrl+c (anomalyco#13315)
- Do not open console on error (anomalyco#13374)
- Fix(app): terminal pty isolation
- Feat(app): option to turn off sound effects
- Fix(app): normalize oauth error messages
- Fix(app): suggestion active state broken
- Fix(app): remote http server connections
- Improve codex model list
- Fix(app): project icons unloading
- Fix(app): preserve undo history for plain-text paste (anomalyco#13351)
- Chore(app): refactor for better solidjs hygiene (anomalyco#13344)
- Feat(tool): return image attachments from webfetch (anomalyco#13331)
- Fix(app): more defensive session context metrics
- Core: expose tool arguments in shell hook for plugin visibility
- Core: allow model configurations without npm/api provider details
- Wip(ui): diff virtualization (anomalyco#12693)
- Desktop: sqlite migration progress bar (anomalyco#13294)
- Tweak: tool outputs to be more llm friendly (anomalyco#13269)
- Fix(win32): use ffi to get around bun raw input/ctrl+c issues (anomalyco#13052)
- Feat: support claude agent SDK-style structured outputs in the OpenCode SDK (anomalyco#8161)
- Support custom api url per model
- Feat(tui): add toggle to hide session header (anomalyco#13244)
- Feat(opencode): Venice Add automatic variant generation for Venice models (anomalyco#12106)
- Fix(app): guard randomUUID in insecure browser contexts (anomalyco#13237)
- Tweak: use promise all for mcp listTools calls (anomalyco#13229)
- Upgrade opentui to 0.1.79 (anomalyco#13036)
- Tweak: compaction check (anomalyco#13214)
- Tweak: make read tool offset 1 indexed instead of 0 to avoid confusion that could be caused by line #s being 1 based (anomalyco#13198)
- Feat: adjust read tool so that it can handle dirs too (anomalyco#13090)
- Fix(app):workspace reset (anomalyco#13170)
Thank you to 41 community contributors:
- @neriousy:
- fix(app):workspace reset (anomalyco#13170)
- fix(desktop): performance optimization for showing large diff & files (anomalyco#13460)
- fix(app): keybind [shift+tab] (anomalyco#13695)
- @github-actions[bot]:
- Update VOUCHED list
- Update VOUCHED list
- @dpuyosa:
- feat(opencode): Venice Add automatic variant generation for Venice models (anomalyco#12106)
- feat(opencode): Add Venice support in temperature, topP, topK and smallOption (anomalyco#13553)
- @kitlangton:
- feat(tui): add toggle to hide session header (anomalyco#13244)
- fix(ui): support cmd-click links in inline code (anomalyco#12552)
- @K-Mistele:
- feat: support claude agent SDK-style structured outputs in the OpenCode SDK (anomalyco#8161)
- @Hona:
- fix(win32): use ffi to get around bun raw input/ctrl+c issues (anomalyco#13052)
- feat: windows selection behavior, manual ctrl+c (anomalyco#13315)
- fix: baseline CPU detection (anomalyco#13371)
- @Brendonovich:
- desktop: sqlite migration progress bar (anomalyco#13294)
- Testing SignPath Integration (anomalyco#13308)
- desktop: only show loading window if sqlite migration is necessary
- cleanup desktop loading page
- desktop: remote OPENCODE_SQLITE env (anomalyco#13545)
- desktop: fix rust
- desktop: use process-wrap instead of manual job object (anomalyco#13431)
- @R44VC0RP:
- feat: update to not post comment on workflows when no duplicates found (anomalyco#13238)
- feat(tool): return image attachments from webfetch (anomalyco#13331)
- feat(cli): add --continue and --fork flags to attach command (anomalyco#13879)
- @dtfiedler:
- fix(docs): correct
formatattribute inStructuredOutputs(anomalyco#13340)
- fix(docs): correct
- @gitRasheed:
- fix(app): preserve undo history for plain-text paste (anomalyco#13351)
- @amankalra172:
- docs: update STACKIT provider documentation with typo fix (anomalyco#13357)
- @smitchaudhary:
- fix: look for recent model in fallback in cli (anomalyco#12582)
- @ariane-emory:
- fix: token substitution in OPENCODE_CONFIG_CONTENT (anomalyco#13384)
- @ASidorenkoCode:
- fix: resolve ACP hanging indefinitely in thinking state on Windows (anomalyco#13222)
- @spoons-and-mirrors:
- feat(hook): add tool.definition hook for plugins to modify tool description and parameters (anomalyco#4956)
- @BlankParticle:
- feat(cli): add --dir option to run command (anomalyco#12443)
- @Seungjun0906:
- fix(web): sync docs locale cookie on alias redirects (anomalyco#13109)
- docs(ko): polish Korean phrasing in acp, agents, config, and custom-tools docs (anomalyco#13446)
- @ysm-dev:
- fix(app): remount SDK/sync tree when server URL changes (anomalyco#13437)
- @Annopick:
- docs: Fix zh-cn translation mistake in tools.mdx (anomalyco#13407)
- @eytans:
- fix(web): use prompt_async endpoint to avoid timeout over VPN/tunnel (anomalyco#12749)
- @G36maid:
- docs: add pacman installation option for Arch Linux alongside AUR (anomalyco#13293)
- @yanhao98:
- fix(test): move timeout config to CLI flag (anomalyco#13494)
- @niushuai1991:
- fix: standardize zh-CN docs character set and terminology (anomalyco#13500)
- @0xK3vin:
- fix: prevent opencode run crash on malformed tool inputs (anomalyco#13051)
- @brandon-julio-t:
- feat: Add GeistMono Nerd Font to available mono font options (anomalyco#13720)
- @zerone0x:
- fix(desktop): focus window after update/relaunch (anomalyco#13701)
- @dector:
- docs: add Ukrainian README translation (anomalyco#13697)
- @nexxeln:
- fix(app): only navigate prompt history at input boundaries (anomalyco#13690)
- @shanebishop1:
- fix(desktop): issue viewing new files opened from the file tree (anomalyco#13689)
- @alexyaroshuk:
- feat(app): localize "free usage exceeded" error & "Add credits" clickable link (anomalyco#13652)
- @finalfantasia:
- feat(opencode): add
cljfmtformatter support for Clojure files (anomalyco#13426)
- feat(opencode): add
- @pkx07:
- fix(website): correct zh-CN translation of proprietary terms in zen.mdx (anomalyco#13734)
- @bnema:
- fix(desktop): normalize Linux Wayland/X11 backend and decoration policy (anomalyco#13143)
- @leehack:
- feat: add openai-compatible endpoint support for google-vertex provider (anomalyco#10303)
- @hobostay:
- fix(docs): correct critical translation errors in Russian zen page (anomalyco#13830)
- @rmk40:
- fix(core): remove unnecessary per-message title LLM calls (anomalyco#13804)
- @imanolmzd-svg:
- fix (tui): Inaccurate tips (anomalyco#13845)
- @vglafirov:
- fix: bump GitLab provider and auth plugin for mid-session token refresh (anomalyco#13850)
- @OpeOginni:
- fix(tui): make use of server dir path for file references in prompts (anomalyco#13781)
- @burner:
- feat(opencode): add
dfmtformatter support for D language files (anomalyco#13867)
- feat(opencode): add
- @shuv1337:
- sync: merge upstream v1.2.6 into shuvcode-dev
- sync: record last synced tag v1.2.6
- fix: re-export DEFAULT_THEME...