Releases · anomalyco/opencode
v1.2.21
Core
- Preserve original line endings in edit tool (@ranqn)
- Fix Git path resolution for modified files across Git Bash, MSYS2, and Cygwin on Windows
- Fix PTY session handle leak (@kikuchan)
- Sanitize preview database filenames
- Log stack trace when schema validation fails
- I need to see the actual commit diff to understand what was fixed and provide an accurate changelog entry.
Could you provide either:
- The commit hash so I can examine it with
git show - The full commit message with more details
- Or run
git logto show me the commit?
- Add project git init API
- Update Drizzle and channel database handling
- Speed up share loads
- Enable auto-accept keybind regardless of permission config (@luisfelipesena)
TUI
- Fix broken /export toggling in TUI (@natewill)
Desktop
- Guard session-header current() against undefined when options is empty (@cyberprophet)
- Preserve file tree tab on reopen and fix e2e test regressions (@neriousy)
- Remove close button from project hover popover
- New session uses agent model/variant
- Model sticks to session after being changed
- Based on the commit message "fix(app): all panels transition", here's the changelog entry:
All panels transition correctly
- Can't scroll files in app
- Fix maximum width on timeline component
- Align session empty states in TUI
- Add interactive timeline visualization feature
- Share workspace slug wait helper across e2e specs
- Abort sessions and wait for idle before e2e cleanup
- Show skill issue when snapshotting is off in desktop app
- Fix portal positioning for sidebar menus and tooltips by removing conditional mount logic
- Add end-to-end tests for app (part 67) (@neriousy)
- Add sidebar reveal animation, hover peek overlay, and weaker dividers to app
- Better review and file tree empty states
- Enable Safari autocorrect in normal mode, disable in shell mode (@alexandrereyes)
- Revert stale read error fix in app
- Add English to locale matchers (@KirillTregubov)
Thank you to 12 community contributors:
- @luisfelipesena:
- fix(app): enable auto-accept keybind regardless of permission config (#16259)
- @imdzx:
- feat: Add Vietnamese README and update all language navigation links … (#16322)
- @KirillTregubov:
- fix(app): add english to locale matchers (#16280)
- @hoshiumiarata:
- fix(ui): prevent unwanted key events during composition in LineCommentEditor (#16361)
- @alexandrereyes:
- fix(app): enable Safari autocorrect in normal mode, disable in shell mode (#15563)
- @neriousy:
- @kikuchan:
- fix(pty): pty session handle leak (#15599)
- @ShriKaranHanda:
- @natewill:
- fix(tui): fix broken /export toggling (#16443)
- @ranqn:
- fix(opencode): preserve original line endings in 'edit' tool (#9443)
- @cyberprophet:
- fix(app): guard session-header current() against undefined when options is empty (#16478)
- @Eric-Guo:
- fix(app): text-shimmer undefined length (#16475)
v1.2.20
Core
- Stop leaking fsmonitor daemons that caused 60GB+ of committed memory after running tests
- Replace Bun.which with npm which in OpenCode
TUI
- Restore Bun stdin reads for prompt input
v1.2.19
Core
- Add GPT-5.4 to Codex allowed models list (@msadiks)
- Replace Bun.stderr and Bun.color with Node.js equivalents
- Replace Bun.connect with net.createConnection for better compatibility
- Use SHA1 for hash instead of unsupported xxHash3-XXH64
- Replace Bun.hash with Hash.fast using xxhash3-xxh64
- Replace Bun.write with Filesystem.write in config files
- Replace Bun.write/file with Filesystem utilities in snapshot
- Replace Bun.sleep with Node.js timers for better compatibility
TUI
- Use node:stream/consumers for stdin reading
- Replace Bun.stdin.text with Node.js stream reading for better compatibility
Desktop
- Fix stale show in app (@neriousy)
- Remove keyboard shortcut tooltips from new session and new workspace buttons in the sidebar
- Load tab when opening file
Thank you to 3 community contributors:
v1.2.18
Core
- Handle SIGHUP signal and kill process gracefully
TUI
- Add onClick handler to InlineTool and Task components
- Add options to auth login command to skip interactive questions (@dbpolito)
- Don't let Dax touch the UI
Desktop
- Fork Ghostty for web-based terminal implementation
- Show errors for stale keyed components
- Fixed locale error in app
- Resolve stale read error in app
- Improve provider settings consistency in app
- Preserve question dock state across session switches (@ualtinok)
- Fix icon jiggle in app
- Open search with Mod+F even when editor is not focused
- Improve error handling and translation in desktop server error formatting (@OpeOginni)
- Improve agent selection logic to correctly pass configured models and variants (@OpeOginni)
- Remove unnecessary macOS entitlements
- Add desktop deep link support for creating new sessions
- Prefer using useLocation hook instead of window.location in app
SDK
- Update SDK package.json
Thank you to 4 community contributors:
- @stolinski:
- docs: Add opencode-sentry-monitor to ecosystem documentation (#16037)
- @dbpolito:
- feat(opencode): Adding options to auth login to skip questions (#14470)
- @OpeOginni:
- @ualtinok:
- fix(app): preserve question dock state across session switches (#16173)
v1.2.17
Core
- Rework workspace integration and adaptor interface
- Clarify output capture guidance in bash tool documentation
TUI
- Show scrollbar by default
- Prevent orphaned opencode subprocesses on shutdown
- Validate agent when running with attach flag (@alberti42)
Desktop
- Remove blur from todos in app
- Delay dock animation on session load
- Remove diff lines from sessions in sidebar
- Loading session should be scrolled to the bottom
- Close terminal tabs properly
Thank you to 3 community contributors:
- @Copilot:
- @alberti42:
- fix:
run --attachagent validation (#11812)
- fix:
- @Niraj12chaudhary:
- fix(docs): update dead opencode-daytona ecosystem link (#15979)
v1.2.16
Core
- Normalize trailing slashes in auth login URLs (@elithrar)
- Upgrade OpenTUI to v0.1.86 and enable markdown rendering by default
- Avoid Gemini combiner schema sibling injection
- Forward metadata options to Cloudflare AI Gateway provider (@ryanskidmore)
- Clone part data in Bus event to preserve token values (@ryanskidmore)
- Recover from 413 Request Entity Too Large errors via automatic compaction (@bentrd)
- Show human-readable message for HTML error responses (@rianvdm)
- Kill orphaned MCP child processes and expose OPENCODE_PID on shutdown (@ryanwyler)
- Add workspace_id to session table
- Add WorkspaceContext to core
- Basic implementation of remote workspace support
- Change keybindings to navigate between child sessions
- Fixed test issues
- Fixed terminal rendering and interaction issues in the application
TUI
- Replace curved arrow with straight arrow for better terminal compatibility
- Show pending tool call count in TUI instead of generic 'Running...' message
- Use arrow indicator for active tool execution in TUI
- Disable session navigation commands when no parent session (@jerome-benoit)
- Fixed project ID conflict and updated handling for same session ID (@noamzbr)
- Improve task tool display with subagent keybind hints and spinner animations
- Add Go provider list command
Desktop
- Defer diff rendering
- Fixed timeline performance jank in the application
- Tighten up header elements in the app
- Stabilize project close navigation
- Add comprehensive animation system with multiple easing functions and transition utilities
- Default auto-respond to false
- Refactor app to use SolidJS
- Move session review bottom padding to UI layer
- Fix latest.json finalizer in desktop application
- Revert Polish Turkish translations
- Use correct download link in finalize-latest-json script
- Faster session switching via windowed rendering and staged timeline
- Add compact UI to the app (@neriousy)
- Polish Turkish translations (@vaur94)
- Fallback to synthetic icon for unknown provider IDs (@rexdotsh)
- Fixed scroll issues in the app
- Synchronize internationalization translations
- Add Warp to the open menu
- Add latest.json finalizer script for desktop builds
- Auto-accept permissions in app
- Add Turkish locale support for app and UI packages (@vaur94)
- Add recent projects section to command palette (@neriousy)
- Move desktop open_path functionality to Rust
- Allow providing username and password when connecting to remote server
- Fixed permission indicator in app
- Add permission notifications to app
- Show keybind on context tab close button
- Better diff and code comments in app
- Deduplicate file tree scroll state management
- Align review changes select height
- Mute inactive file tab icons
- Set max-width on session when review is closed but file tree is open
- Add border to file tree on scroll
- Fix session tab alignment in compact view to prevent vertical overflow
- New tabs styling in the app
- Auto-accept all permissions mode
- Enhance project tile interaction with suppress hover functionality (@OpeOginni)
- Simplify review layout
- Restore shell path environment for desktop sidecar
- Open app in PowerShell instead of Command Prompt on Windows (@neriousy)
SDK
- Add zen mode feature
Thank you to 17 community contributors:
- @neriousy:
- @niushuai1991:
- docs: Sync zh_CN docs with English Version (#15228)
- @OpeOginni:
- refactor(desktop): enhance project tile interaction with suppress hover functionality (#15214)
- @pirrozani:
- docs(readme): add Greek translation and update language navigation (#15281)
- @vaur94:
- @Niraj12chaudhary:
- docs: add missing Bosanski link to Arabic README (#15399)
- @alexyaroshuk:
- @rexdotsh:
- fix(app): fallback to synthetic icon for unknown provider IDs (#15295)
- @inkdust2021:
- docs(ecosystem): add opencode-vibeguard (#15464)
- @ryanwyler:
- fix: kill orphaned MCP child processes and expose OPENCODE_PID on shu… (#15516)
- @rianvdm:
- fix(opencode): show human-readable message for HTML error responses (#15407)
- @noamzbr:
- fix: project ID conflict, and update on same session id (#15596)
- @bentrd:
- fix: recover from 413 Request Entity Too Large via auto-compaction (#14707)
- @ryanskidmore:
- @jerome-benoit:
- fix(opencode): disable session navigation commands when no parent session (#15762)
- @06ergin06:
- fix: update Turkish translations (#15835)
- @elithrar:
- fix(auth): normalize trailing slashes in auth login URLs (#15874)
v1.2.15
Core
- Fix most segfaults on Windows with Bun v1.3.10 stable
- Split TUI and server configuration
Desktop
- Remove interactive shell flag from sidecar spawn to prevent hang on macOS (@kilhyeonjun)
- Fixed permissions and questions handling from child sessions in the app
- Fixed keyboard navigation for previous/next message (@neriousy)
- Correct Copilot provider description in i18n files (@Oleksii-Pavliuk)
Thank you to 5 community contributors:
- @Oleksii-Pavliuk:
- fix(app): correct Copilot provider description in i18n files (#15071)
- @neriousy:
- fix(app): keyboard navigation previous/next message (#15047)
- @OpeOginni:
- fix(docs): update schema URL in share configuration examples across multiple languages (#15114)
- @kilhyeonjun:
- fix(desktop): remove interactive shell flag from sidecar spawn to prevent hang on macOS (#15136)
- @choephix:
- fix(app): middle-click tab close in scrollable tab bar (#15081)
v1.2.14
Core
- Add message delete endpoint (@shantur)
TUI
- Consume stdout concurrently with process exit in auth login (@Ayushlm10)
Thank you to 2 community contributors:
- @Ayushlm10:
- fix: consume stdout concurrently with process exit in auth login (#15058)
- @shantur:
- feat(core): add message delete endpoint (#14417)
v1.2.13
v1.2.12
Core
- Synchronize changes
- Temporarily disable plan enter tool to prevent unintended mode switches during task execution
- Migrate Bun.spawn to Process utility with timeout and cleanup
- Disable Bun config cache in CI
- Await git ID cache write in project module
- Import custom tools via file URL
TUI
- Add Go SDK code generation script
- Show LSP errors for apply_patch tool
Desktop
- Enhance Windows app resolution and UI loading states (@neriousy)
- Update desktop README for accuracy
Thank you to 1 community contributor: