Changelog
New updates and improvements to OpenCode
v1.2.22 Canonicalize current working directory after changing directories in TUI
Improvements 19
- CoreFix broken MCP toggling in TUI@natewill
- CoreUpdate database path test to verify correct channel-based filename
- CoreAllow beta channel to share database with stable channel
- CoreAdd OPENCODE_SKIP_MIGRATIONS flag to bypass database migrations
- TerminalGuard TUI exit to prevent premature termination
- TerminalAvoid TTY corruption from double cleanup@tobwen
- DesktopFix sidebar background color when collapsed
- DesktopSuppress hover when opening project menu or right-clicking to prevent flickering
- DesktopTrim retained desktop terminal buffers
- DesktopMessages not loading reliably
- DesktopPrune and evict stale app session caches
- DesktopRestore new-session logo on dev so users recognize OpenCode immediately
- DesktopRevert new session logo on dev branch to ship UI change with auto-accept-permissions feature
- DesktopAdd OpenCode logo to new session screen for immediate app identification
- DesktopRevert prompt control docking in TUI
- DesktopDock auto-accept after thinking and move Add file to bottom-left
- DesktopBalance titlebar columns so center content doesn't get squeezed by long side content
- DesktopCenter empty states vertically in session view and improve review panel messaging for projects without version control
- DesktopReview panel transition fixed in app
v1.2.21 Preserve original line endings in edit tool
Improvements 30
- CoreFix Git path resolution for modified files across Git Bash, MSYS2, and Cygwin on Windows
- CoreFix PTY session handle leak@kikuchan
- CoreSanitize preview database filenames
- CoreLog stack trace when schema validation fails
- CoreI need to see the actual commit diff to understand what was fixed and provide an accurate changelog entry.
- CoreAdd project git init API
- CoreUpdate Drizzle and channel database handling
- CoreSpeed up share loads
- CoreEnable auto-accept keybind regardless of permission config@luisfelipesena
- TerminalFix broken /export toggling in TUI@natewill
- DesktopGuard session-header current() against undefined when options is empty@cyberprophet
- DesktopPreserve file tree tab on reopen and fix e2e test regressions@neriousy
- DesktopRemove close button from project hover popover
- DesktopNew session uses agent model/variant
- DesktopModel sticks to session after being changed
- DesktopBased on the commit message "fix(app): all panels transition", here's the changelog entry:
- DesktopCan't scroll files in app
- DesktopFix maximum width on timeline component
- DesktopAlign session empty states in TUI
- DesktopAdd interactive timeline visualization feature
- DesktopShare workspace slug wait helper across e2e specs
- DesktopAbort sessions and wait for idle before e2e cleanup
- DesktopShow skill issue when snapshotting is off in desktop app
- DesktopFix portal positioning for sidebar menus and tooltips by removing conditional mount logic
- DesktopAdd end-to-end tests for app (part 67)@neriousy
- DesktopAdd sidebar reveal animation, hover peek overlay, and weaker dividers to app
- DesktopBetter review and file tree empty states
- DesktopEnable Safari autocorrect in normal mode, disable in shell mode@alexandrereyes
- DesktopRevert stale read error fix in app
- DesktopAdd English to locale matchers@KirillTregubov
v1.2.20 Stop leaking fsmonitor daemons that caused 60GB+ of committed memory after running tests
Improvements
- CoreReplace Bun.which with npm which in OpenCode
- TerminalRestore Bun stdin reads for prompt input
v1.2.19 Add GPT-5.4 to Codex allowed models list
Improvements 12
- CoreReplace Bun.stderr and Bun.color with Node.js equivalents
- CoreReplace Bun.connect with net.createConnection for better compatibility
- CoreUse SHA1 for hash instead of unsupported xxHash3-XXH64
- CoreReplace Bun.hash with Hash.fast using xxhash3-xxh64
- CoreReplace Bun.write with Filesystem.write in config files
- CoreReplace Bun.write/file with Filesystem utilities in snapshot
- CoreReplace Bun.sleep with Node.js timers for better compatibility
- TerminalUse node:stream/consumers for stdin reading
- TerminalReplace Bun.stdin.text with Node.js stream reading for better compatibility
- DesktopFix stale show in app@neriousy
- DesktopRemove keyboard shortcut tooltips from new session and new workspace buttons in the sidebar
- DesktopLoad tab when opening file
v1.2.18 Handle SIGHUP signal and kill process gracefully
Improvements 16
- TerminalAdd onClick handler to InlineTool and Task components
- TerminalAdd options to auth login command to skip interactive questions@dbpolito
- TerminalDon't let Dax touch the UI
- DesktopFork Ghostty for web-based terminal implementation
- DesktopShow errors for stale keyed components
- DesktopFixed locale error in app
- DesktopResolve stale read error in app
- DesktopImprove provider settings consistency in app
- DesktopPreserve question dock state across session switches@ualtinok
- DesktopFix icon jiggle in app
- DesktopOpen search with Mod+F even when editor is not focused
- DesktopImprove error handling and translation in desktop server error formatting@OpeOginni
- DesktopImprove agent selection logic to correctly pass configured models and variants@OpeOginni
- DesktopRemove unnecessary macOS entitlements
- DesktopAdd desktop deep link support for creating new sessions
- DesktopPrefer using useLocation hook instead of window.location in app
v1.2.17 Rework workspace integration and adaptor interface
Improvements 9
- CoreClarify output capture guidance in bash tool documentation
- TerminalShow scrollbar by default
- TerminalPrevent orphaned opencode subprocesses on shutdown
- TerminalValidate agent when running with attach flag@alberti42
- DesktopRemove blur from todos in app
- DesktopDelay dock animation on session load
- DesktopRemove diff lines from sessions in sidebar
- DesktopLoading session should be scrolled to the bottom
- DesktopClose terminal tabs properly
v1.2.16 Normalize trailing slashes in auth login URLs
Improvements 60
- CoreUpgrade OpenTUI to v0.1.86 and enable markdown rendering by default
- CoreAvoid Gemini combiner schema sibling injection
- CoreForward metadata options to Cloudflare AI Gateway provider@ryanskidmore
- CoreClone part data in Bus event to preserve token values@ryanskidmore
- CoreRecover from 413 Request Entity Too Large errors via automatic compaction@bentrd
- CoreShow human-readable message for HTML error responses@rianvdm
- CoreKill orphaned MCP child processes and expose OPENCODE_PID on shutdown@ryanwyler
- CoreAdd workspace_id to session table
- CoreAdd WorkspaceContext to core
- CoreBasic implementation of remote workspace support
- CoreChange keybindings to navigate between child sessions
- CoreFixed test issues
- CoreFixed terminal rendering and interaction issues in the application
- TerminalReplace curved arrow with straight arrow for better terminal compatibility
- TerminalShow pending tool call count in TUI instead of generic 'Running...' message
- TerminalUse arrow indicator for active tool execution in TUI
- TerminalDisable session navigation commands when no parent session@jerome-benoit
- TerminalFixed project ID conflict and updated handling for same session ID@noamzbr
- TerminalImprove task tool display with subagent keybind hints and spinner animations
- TerminalAdd Go provider list command
- DesktopDefer diff rendering
- DesktopFixed timeline performance jank in the application
- DesktopTighten up header elements in the app
- DesktopStabilize project close navigation
- DesktopAdd comprehensive animation system with multiple easing functions and transition utilities
- DesktopDefault auto-respond to false
- DesktopRefactor app to use SolidJS
- DesktopMove session review bottom padding to UI layer
- DesktopFix latest.json finalizer in desktop application
- DesktopRevert Polish Turkish translations
- DesktopUse correct download link in finalize-latest-json script
- DesktopFaster session switching via windowed rendering and staged timeline
- DesktopAdd compact UI to the app@neriousy
- DesktopPolish Turkish translations@vaur94
- DesktopFallback to synthetic icon for unknown provider IDs@rexdotsh
- DesktopFixed scroll issues in the app
- DesktopSynchronize internationalization translations
- DesktopAdd Warp to the open menu
- DesktopAdd latest.json finalizer script for desktop builds
- DesktopAuto-accept permissions in app
- DesktopAdd Turkish locale support for app and UI packages@vaur94
- DesktopAdd recent projects section to command palette@neriousy
- DesktopMove desktop open_path functionality to Rust
- DesktopAllow providing username and password when connecting to remote server
- DesktopFixed permission indicator in app
- DesktopAdd permission notifications to app
- DesktopShow keybind on context tab close button
- DesktopBetter diff and code comments in app
- DesktopDeduplicate file tree scroll state management
- DesktopAlign review changes select height
- DesktopMute inactive file tab icons
- DesktopSet max-width on session when review is closed but file tree is open
- DesktopAdd border to file tree on scroll
- DesktopFix session tab alignment in compact view to prevent vertical overflow
- DesktopNew tabs styling in the app
- DesktopAuto-accept all permissions mode
- DesktopEnhance project tile interaction with suppress hover functionality@OpeOginni
- DesktopSimplify review layout
- DesktopRestore shell path environment for desktop sidecar
- DesktopOpen app in PowerShell instead of Command Prompt on Windows@neriousy
v1.2.15 Fix most segfaults on Windows with Bun v1.3.10 stable
Improvements
- CoreSplit TUI and server configuration
- DesktopRemove interactive shell flag from sidecar spawn to prevent hang on macOS@kilhyeonjun
- DesktopFixed permissions and questions handling from child sessions in the app
- DesktopFixed keyboard navigation for previous/next message@neriousy
- DesktopCorrect Copilot provider description in i18n files@Oleksii-Pavliuk
v1.2.14 Add message delete endpoint
Improvements
- TerminalConsume stdout concurrently with process exit in auth login@Ayushlm10
v1.2.12 Synchronize changes
Improvements 9
- CoreTemporarily disable plan enter tool to prevent unintended mode switches during task execution
- CoreMigrate Bun.spawn to Process utility with timeout and cleanup
- CoreDisable Bun config cache in CI
- CoreAwait git ID cache write in project module
- CoreImport custom tools via file URL
- TerminalAdd Go SDK code generation script
- TerminalShow LSP errors for apply_patch tool
- DesktopEnhance Windows app resolution and UI loading states@neriousy
- DesktopUpdate desktop README for accuracy