Releases: anomalyco/opencode
Releases Β· anomalyco/opencode
v1.2.27
Core
- Fixed VCS watcher if statement logic
- Delete legacy permission module
- Clean up pending entry when question is aborted
- Remove SIGHUP exit handler
- Effectify PermissionNext and fix InstanceState ALS bug
- Inline branded ID schemas
- Refactor QuestionService to use effects
- Ensure that compaction message is tracked as agent initiated
- Increase default chunk timeout from 2 minutes to 5 minutes
- Fix lost sessions across worktrees and orphan branches (@michaeldwan)
Desktop
- Remove open label from UI
- Handle multiline web paste in prompt composer
Thank you to 4 community contributors:
- @michaeldwan:
- fix(opencode): lost sessions across worktrees and orphan branches (#16389)
- @marcusschiesser:
- fix(ui): prevent long filenames from overlapping actions (#17151)
- @Gojer16:
- docs(es): fix Spanish intro page translation, grammar, and terminology (#17563)
- @erikengervall:
- docs: Add opencode-firecrawl to ecosystem documentation (#17672)
v1.2.26
Core
- Scaffold effect-to-zod bridge for schema conversion
- Serialize configuration for Bun installations
- Support text attachments in app
- Paginate session history for improved server performance
- Sessions lost after git init in existing project (@michaeldwan)
- Fail fast on config dependency installs in end-to-end tests
- Filter empty content blocks for Bedrock provider (@Tom-Ryder)
- Refactor ProviderAuthService to use Effect pattern
- Add console account subcommands to CLI
- Refactor AuthService to use Effect pattern
TUI
- Hide console command from help output
- Remove OpenRouter warning
- Reorder provider list in providers login
Desktop
- Model selection now persists by session
- Polish prompt composer controls
- Synchronize sidebar state across the application
- Use new-session icon in sidebar buttons
- Avoid clipping new session during sidebar animation
- Animate titlebar controls on sidebar open
- Restore sidebar dash and sync session spinner colors
- Fork should copy prompt into new session
- Improved sidebar spacing and session list spinner transition
- Terminal cloning without retry
- Scroll falls behind prompt input
- Adjust spacing in todo list component
- Better optimistic prompt submit in app
- Synchronize internationalization translations
- Use cursor session history loading for improved performance
- List item background colors fixed in app
- Stabilize todo dock end-to-end tests with composer probe
- Desktop multi-window support added to Electron
- Increase CI end-to-end test workers
Thank you to 2 community contributors:
- @Tom-Ryder:
- fix: filter empty content blocks for Bedrock provider (#14586)
- @michaeldwan:
- fix(opencode): sessions lost after git init in existing project (#16814)
v1.2.25
Core
- Support non-OpenAI Azure models that use completions endpoints
- Flow branded ProviderID and ModelID through internal signatures
- Brand ProviderID and ModelID types for improved type safety
- Remove external sourcemap generation to reduce build artifacts
- Brand PermissionID, PtyID, QuestionID, and ToolID types for improved type safety
- Add ARM64 release targets for Windows CLI and desktop
- Brand PartID through Drizzle and Zod schemas
- Brand WorkspaceID through Drizzle and Zod schemas
- Resolve symlinks in Instance cache to prevent duplicate contexts (@jmylchreest)
- Brand SessionID through Drizzle and Zod schemas
- Restore plugin serverUrl getter so plugins can connect to local server
- Re-enable snapshot in ACP (@noamzbr)
- Adjust skill presentation to reduce token usage
- Brand ProjectID through Drizzle and Zod schemas
- Tighten effect-based account flows
- Read stdout and stderr in PackageRegistry.info before waiting for process to exit (@ghost91-)
- Improve skill presentation to agent to increase likelihood of skill invocations
- Hide Windows background consoles in Electron
- Add GOOGLE_VERTEX_LOCATION environment variable support for Vertex AI (@SOUMITRO-SAHA)
- Implement resilient organization data fetching with error handling
- Make account login upgrades safe while adding multi-account workspace authentication
- Don't permit access to system directories
- Allow passing workspaceID into session create endpoint
- Fixed chunk timeout when processing LLM stream
- Make worktrees read the project ID from local workspace
- Add thinking variants support for SAP AI provider (@jerome-benoit)
- Upgrade OpenTUI to v0.1.87
- Fix OAuth auto-connect failing on first MCP connection (@domdomegg)
- Extract createApp function for server initialization
- Put workspace routing behind OPENCODE_EXPERIMENTAL_WORKSPACES flag
- Replace Bun semver with npm semver package
- Replace Bun shell with direct spawn calls in core flows
- Change pathToFileURL imports from bun to url module
- Multiple jdtls LSPs eating memory in Java monorepos (@stevoland)
TUI
- Use parse() at boundaries instead of manual make() for imports
- Wait for model store before auto-submitting --prompt in TUI (@altendky)
- Handle error when creating a session in TUI
Desktop
- Fix broken mobile sidebar sizing issue in workflows mode (@5w14)
- Fixed terminal animation in application
- Fix sidebar quirks in app
- Rework default server initialization and connection handling in desktop client
- Fix terminal e2e test flakiness by implementing a real terminal driver
- Set default WebSocket username and fix terminal spawn lifecycle issues in desktop app (@OpeOginni)
- Theme Windows titlebar overlay in Electron
- Guard comment accessor in message timeline
- Re-focus prompt after terminal opens in slash-terminal test
- Restore to message and fork session functionality in app
- Todos not clearing in app
- Skip editor reconcile during IME composition (@ysm-dev)
- Simplify review pane
- Trim session render work in app for improved performance
- Fix tests in app package
- Fixed terminal jank in the app
- Fixed terminal focus issues and reduced jank in the app
- Add debug window to app
- Display development statistics in the application
- Terminal state corruption fixed
SDK
- Fix ESM imports for @opencode-ai/plugin
Thank you to 15 community contributors:
- @stevoland:
- fix: Multiple jdtls LSPs eating memory in java monorepos (#12123)
- @altendky:
- fix(tui): wait for model store before auto-submitting --prompt (#7476)
- @bhaktatejas922:
- @domdomegg:
- fix(mcp): fix OAuth auto-connect failing on first connection (#15547)
- @jerome-benoit:
- fix(opencode): add thinking variants support for SAP AI provider (#14958)
- @SOUMITRO-SAHA:
- fix: add GOOGLE_VERTEX_LOCATION env var support for Vertex AI (#16922)
- @neriousy:
- fix(app): make error tool card respect settings (#17005)
- @andyWang1688:
- docs(providers): clarify npm choice for chat vs responses APIs (#16974)
- @ghost91-:
- fix(core): read stdout and stderr in PackageRegistry.info before waiting for the process to exit (#16998)
- @ysm-dev:
- fix(app): skip editor reconcile during IME composition (#17041)
- @noamzbr:
- fix: re-enable snapshot in acp (#14918)
- @jmylchreest:
- fix: resolve symlinks in Instance cache to prevent duplicate contexts (#16651)
- @OpeOginni:
- fix(desktop): set default WebSocket username and prevent repeated calling of terminal spawn properly closing the terminal (#17061)
- @5w14:
- fix(web): fix broken mobile sidebar (in workflows mode) sizing issue by adding flex-1 (#17055)
- @Wangmerlyn:
- docs: clarify subagent session navigation keybinds (#16455)
v1.2.24
Core
- Add initial support for workspaces into the TUI
- Send context-1m-2025-08-07 beta header to GitLab to enable 1M context window (@Krule)
- Add Copilot GPT-5.4 xhigh support
Desktop
- Fix scroll jitter and loop issues in app
- Session title turn spinner now displays correctly
- Dismiss toast notifications when questions or permissions are resolved (@neriousy)
Thank you to 3 community contributors:
v1.2.23
Core
- Disable fallback to free nano for small model requests
TUI
- Pass missing auth headers in run --attach (@ericclemmons)
Desktop
- Remove oc-1 theme from app
- Fix sidebar workspace container sizing to prevent content overflow
- Don't animate review panel in/out
- Revert "Stupid Sexy Timeline" feature
- Sanitize workspace store filenames on Windows
- Generate color palettes in app
Thank you to 3 community contributors:
- @ariane-emory:
- docs: add session_child_first keybinding to documentation (#16631)
- @ericclemmons:
- fix(opencode): pass missing auth headers in
run --attach(#16097)
- fix(opencode): pass missing auth headers in
- @yihuikhuu:
- fix(app): fix issue with scroll jumping when pressing escape in comment text area (#15374)
v1.2.22
Core
- Canonicalize current working directory after changing directories in TUI
- Fix broken MCP toggling in TUI (@natewill)
- Update database path test to verify correct channel-based filename
- Allow beta channel to share database with stable channel
- Add OPENCODE_SKIP_MIGRATIONS flag to bypass database migrations
TUI
- Guard TUI exit to prevent premature termination
- Avoid TTY corruption from double cleanup (@tobwen)
Desktop
- Fix sidebar background color when collapsed
- Suppress hover when opening project menu or right-clicking to prevent flickering
- Trim retained desktop terminal buffers
- Messages not loading reliably
- Prune and evict stale app session caches
- Restore new-session logo on dev so users recognize OpenCode immediately
- Revert new session logo on dev branch to ship UI change with auto-accept-permissions feature
- Add OpenCode logo to new session screen for immediate app identification
- Revert prompt control docking in TUI
- Dock auto-accept after thinking and move Add file to bottom-left
- Balance titlebar columns so center content doesn't get squeezed by long side content
- Center empty states vertically in session view and improve review panel messaging for projects without version control
- Review panel transition fixed in app
Thank you to 3 community contributors:
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.
- 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)