Releases: anomalyco/opencode
Releases Β· anomalyco/opencode
v1.1.36
Core
- Enable thinking for Google Vertex Anthropic models (@MichaelYochpaz)
- Make question validation more lax to avoid tool call failures
TUI
- Prevent crash when theme search returns no results (@ishaksebsib)
Desktop
- Visual cleanup in app
- Scroll to comment on click in app
- Fixed crash when no default model is set
- Performance improvements in the app package
- Clean up comment component usage in app
Thank you to 5 community contributors:
- @MichaelYochpaz:
- fix(provider): enable thinking for google-vertex-anthropic models (#10442)
- @ProdigyRahul:
- fix(app): cursor on resize (#10293)
- @DNGriffin:
- fix(app): mobile horizontal scrolling due to session stat btn (#10487)
- @ishaksebsib:
- fix(tui): prevent crash when theme search returns no results (#10565)
- @R44VC0RP:
- fix(web): add & fix the download button (#10566)
v1.1.35
Core
- Add tests
- Sync changes from upstream
- Fix models snapshot loading to prevent caching issues
- Fix Nix configuration
- Fix unicode filename handling in snapshot diff by disabling quote escaping
- Deep merge providerOptions in applyCaching to preserve nested configuration (@zerone0x)
- Construct apply_patch metadata before requesting permission in web interface (@brittlewis12)
- Remove models.dev macro
- Tell the model what model it is in the environment section of the prompt
- Retry web fetch with simple user agent on 403 errors (@Arasple)
- Allow GPT-5.1-Codex model in Codex auth plugin (@Danztee)
- Bump gitlab-ai-provider version (@vglafirov)
- Add model information as part of task metadata (@shantur)
- Add xhigh reasoning effort for GitHub Copilot GPT-5 models (@Arthur742Ramos)
- Normalize path separators for session diff filtering on Windows (@alexyaroshuk)
- Faster workspace creation
TUI
- Fix question selection click when terminal is unfocused (@maharshi365)
- Use min/maxHeight for question textarea
- Permission prompt should ignore keyboard events while dialog stack length is greater than zero (@justfortheloveof)
- Use selectedForeground for question prompt tab text visibility (@ariane-emory)
- Always center selected item in selection dialogs (@ariane-emory)
Desktop
- Fix submit button state in app
- Fix unnecessary suspense flash in app
- Add active state to comment cards in prompt input
- Fix type error
- Terminal clone needs remount to function properly
- Remove terminal connection error overlay
- Remove space between ellipsis and truncated text in comment card tooltip
- Update status popover empty state text color and centering
- Prevent focus on share popover text field
- Add link icon and use it for copy-to-clipboard buttons in UI
- Adjust share popover position 64px to the left
- Update share popover gutter to 6px and radius to match status dropdown
- Add 8px spacing between share button and icon buttons in titlebar
- Replace Popover with DropdownMenu for server options in app
- Update options icon button styling with improved active state and hover effects
- Change server item actions div padding from px-4 to pl-4
- Add onFilter callback to List component and hide add server row during search
- Position status circle inside input wrapper and fix dialog padding
- Remove hover background color from server list items
- Allow add server row to grow for error messages in app
- Update add server button and row styling in app
- Update manage servers dialog styling and behavior
- Add truncation tooltip to server items in status popover
- Update server and MCP item styles in status popover
- Update status popover styling and positioning
- Use 4px border radius (rounded-sm) consistently in app components
- Update titlebar spacing and status popover styling in app
- Enable submit button when comment cards are present in app
- Add back button in subagent sessions (@tomzhu1024)
- Model select dropdown not closing when pressing Escape key
- Improve model selector user experience
- Fix inability to select text when creating a new session
- Fix scrolling in unpaid model selector
- Fix Adam integration issue
- Add critical shadow for comment input validation and set editor popover radius to 14px
- Improve comment popover with better error styling and click-outside detection
- Change prompt placeholder based on comment count in app
- Adjust prompt container padding to 16px on bottom and horizontal sides
- Adjust prompt input positioning to 12px from bottom and right edges, remove session panel bottom padding
- Add escape/click-away to close read-only comment popovers, 10px radius, and remove 'Click to view context' text
- Don't use findLast in app package
- Add state to pause existing audio for demo menus and add support for audio controls (@jcampuza)
- Implement new server management for web and desktop (@OpeOginni)
- New workspace appears expanded and at the top of the list
- Missing translations in app
- Better error screen when connecting to sidecar
- Fix line selection issues in the app
- Fixed reactive loops in the app
- Better session stream rendering performance
- Add Iosevka as a font choice in desktop app (@ariane-emory)
- Always close hovercard when view-sessions is clicked (@DNGriffin)
- Close comment input popover on Escape key or click away
- Use shadow-lg-border-base on read-only comment popovers and align label spacing
- Remove border from comment input popover
- Position read-only comment popover below icon with 4px gutter
- Style comment popovers with 14px radius, move label below comment, and adjust text colors and sizes
- Move filename and line count below comment text in popovers
- Add tooltip with path, 6px spacing before close icon, and reduce filename truncation to 14 characters in editor tabs
- Add middle truncation for filename in comment card
- Truncate filename from start to show end of path in the app
- Remove gap between filename and comment in comment card
- Add shadow-xs-border with hover state to comment card
- Fix comment card styling with 48px height, 2px gap, and truncated filename while preserving line count visibility
- Increase comment font size to 12px in the app
- Add 8px gap before close icon and truncate long filenames in app
- Keep close icon in top right of comment card
- Add transition-all to comment card hover states
- Add close-small icon and use it for comment card dismiss button
- Truncate comment text and set card max-width to 200px in app
- Indent comment text to align with filename in context card
- Style submitted comment icons to match comment popup style
- Update prompt input styling with refined borders, hover states, and spacing
- Update context cards styling with 8px padding/gap and 6px border radius
- Add button-primary-base variable and use primary variant for Comment button
- Improve comment popup styling and add new comment icon
- Center checkbox indicator in provider selection (@ProdigyRahul)
- Auto-open OAuth links for Codex and Copilot (@edoedac0)
- Close delete workspace dialog immediately
- Don't remount directory layout in app for better performance
- Reapply work in progress changes for line selection feature in app
- Revert line selection work in progress
- Fix view all sessions flakiness in app (@DNGriffin)
Thank you to 18 community contributors:
- @ProdigyRahul:
- @DNGriffin:
- @shantur:
- @edoedac0:
- feat(app): auto-open oauth links for codex and copilot (#10258)
- @ariane-emory:
- @alexyaroshuk:
- fix(app): normalize path separators for session diff filtering on Windows (#10291)
- @Arthur742Ramos:
- fix: add xhigh reasoning effort for GitHub Copilot GPT-5 models (#10092)
- @vglafirov:
- fix: bump gitlab-ai-provider version (#10255)
- @Danztee:
- fix: allow gpt-5.1-codex model in codex auth pluginFixes (#10181)
- @Arasple:
- fix: retry webfetch with simple UA on 403 (#10328)
- @neriousy:
- feat(docs): add a desktop troubleshooting guide (#10397)
- @justfortheloveof:
- fix: permission prompt should ignore keyboard events while dialog stack len > 0 (#10338)
- @brittlewis12:
- fix(web): construct apply_patch metadata before requesting permission (#10422)
- @OpeOginni:
- feat(web): implement new server management for web and desktop (#8513)
- @zerone0x:
- fix(provider): deep merge providerOptions in applyCaching (#10323)
- @jcampuza:
- fix: add state to pause existing audio for demo menus, add support fo⦠(#10428)
- @maharshi365:
- fix(opentui): question selection click when terminal unfocused (#9731)
- @tomzhu1024:
- feat(app): back button in subagent sessions (#10439)
v1.1.34
v1.1.33
Core
- Add thinking presets for Google Vertex Anthropic provider (@zerone0x)
- Added support for OpenAI-based GitLab Duo models (@vglafirov)
- Show file path in apply_patch request permission screen (@iltenahmet)
TUI
- Add weight to fuzzy search to maintain title priority in TUI (@IdrisGit)
Desktop
- Session shouldn't be keyed
- Flash of fallback icon for projects fixed
- Fix project icon color flash on load
- Fixed folder suggestions missing last part in path completion
- Allow adding projects from any directory depth
- Allow adding projects from root directory in the app
- Non-git projects can now be renamed
- Add app version display to settings (@alexyaroshuk)
Thank you to 5 community contributors:
- @iltenahmet:
- fix(ui): show file path in apply_patch request permission screen (#10079)
- @alexyaroshuk:
- feat(app): add app version display to settings (#10095)
- @IdrisGit:
- fix(tui): add weight to fuzzy search to maintain title priority (#10106)
- @vglafirov:
- feat(gitlab): Added support for OpenAI based GitLab Duo models (#10108)
- @zerone0x:
- fix(provider): add thinking presets for Google Vertex Anthropic (#9953)
v1.1.32
Multi-Language Support
OpenCode Desktop now available in 14 languages.
languages-test.mp4
Core
- Revert handling of special characters in paths and git snapshot reading logic
- Revert snapshot regression fix
- Ensure cat command triggers external directory permission check in Bash tool
- Print MCP stderr to OpenCode log file (@karta0807913)
- Write refresh tokens to OpenAI auth in Codex (@CasualDeveloper)
- Add workspace startup script to projects
- Ensure images are properly returned as tool results
- Rename
setSessionModeltounstable_setSessionModelin ACP (@maxious) - Correct spelling of 'supercedes' to 'supersedes' (@luojiyin1987)
- Add prompt cache key support for Venice provider (@dpuyosa)
- Include noop tool in activeTools for LiteLLM proxy compatibility (@danielfrg)
TUI
- Allow remote directory specification in attach command (@gricha)
Desktop
- Add Brazilian Portuguese locale support (@ygorsimoes)
- Make 'Learn More' link functional in theme settings (@LAG-4)
- Render images in session review
- Fix Windows path handling in app tests
- Fix new session button in app
- Add translations support to app
- Delete sessions
- Close projects from hover card
- Don't auto-navigate to workspace after reset
- Expand font stacks to include macOS Nerd Font default names (@bewareoftheleopard)
- Clear session hover state on navigation (@kyashrathore)
- Correct NO_PROXY environment variable syntax in desktop application (@Brendonovich)
- Improve desktop connection reliability (@Brendonovich)
- Add terminal smoke test to app test suite
- Add file viewer smoke test
- Add model picker smoke test
- Add smoke test for @ attachment functionality
- Add slash command smoke tests to app
- Settings smoke tests
- Fix type error in codebase
- Fix TypeScript satisfies operator usage
- Fix hover card scrolling behavior
- Auto-scroll to bottom when new messages arrive
- Add scrollbar styling to session page (@alexyaroshuk)
- Add support for Norwegian translations (@Finityno)
- Snap to bottom when user submits a prompt
- Add accessibility translations to the app
- Change project path tooltip position to bottom in desktop app (@ProdigyRahul)
- Session screen accessibility improvements (@ndarilek)
- Move markdown rendering to Rust in desktop app (@nexxeln)
- Add 8px left margin to sidebar toggle on desktop
- Match terminal toggle button size with sidebar and review toggles
- Update jump to latest button with circular design and animation
- Add Arabic language support (@NourEldin-Osama)
- Always show Toggle-Review button in app (@DNGriffin)
- Open terminal pane when creating new terminal (@kearns-cu)
Thank you to 24 community contributors:
- @R44VC0RP:
- fix: scope PR recap to only PRs from today (#9905)
- @danielfrg:
- fix: include _noop tool in activeTools for LiteLLM proxy compatibility (#9912)
- @dpuyosa:
- feat: Add promptCacheKey for Venice provider (#9915)
- @kearns-cu:
- fix(app): open terminal pane when creating new terminal (#9926)
- @luojiyin1987:
- fix: correct spelling 'supercedes' to 'supersedes' (#9935)
- @maxious:
- fix(acp): rename setSessionModel to unstable_setSessionModel (#9940)
- @IdrisGit:
- docs: add API server section in CONTRIBUTING.md (#9888)
- @DNGriffin:
- feat(app): always show Toggle-Review button (#9944)
- @NourEldin-Osama:
- feat(i18n): add Arabic language support (#9947)
- @nexxeln:
- refactor(desktop): move markdown rendering to rust (#10000)
- @ndarilek:
- fix(app): session screen accessibility improvements (#9907)
- @ProdigyRahul:
- fix(desktop): change project path tooltip position to bottom (#9497)
- @Finityno:
- feat: Add support for Norwegian translations (#10018)
- @alexyaroshuk:
- @Brendonovich:
- fix(desktop): attempt to improve connection reliability
- fix(desktop): correct NO_PROXY syntax
- @kyashrathore:
- fix(app): clear session hover state on navigation (#10031)
- @ryanmiville:
- fix(app): support ctrl-n/p in lists (#10036)
- @bewareoftheleopard:
- fix(desktop): Expand font stacks to include macOS Nerd Font default names (#10045)
- @CasualDeveloper:
- @karta0807913:
- feat(mcp log): print mcp stderr to opencode log file (#9982)
- @LAG-4:
- fix: make 'Learn More' link functional in theme settings (#10078)
- @shubh73:
- feat(ui): add aura theme (#10056)
- @ygorsimoes:
- feat(i18n): add br locale support (#10086)
- @gricha:
- fix(attach): allow remote --dir (#8969)
v1.1.31
Core
- Mark subagent sessions as agent-initiated to exclude them from quota limits
- Add chat.headers hook and update codex and copilot plugins to use it (thanks to @ananas-viber for catching)
TUI
- Add Gruvbox theme to Web and App (@swolg)
Desktop
- Add Traditional Chinese language support and rename Chinese to Chinese (Simplified) (@alexyaroshuk)
- Add Russian language support (@alexyaroshuk)
- Polish translations in app (@neriousy)
Thank you to 4 community contributors:
v1.1.30
Core
- Add session list and session fork support to ACP (@remorses)
- Fix metadata matching to use model.id instead of model.api.id to support legacy model identifiers
- Adjust textVerbosity and reasoningEffort defaults to better align with Codex CLI behavior
- Implement home directory expansion for permission patterns using
~and$HOMEprefixes (@Danztee) - Add back todo list tools for OpenAI models
- Persist loaded model and mode when loading ACP sessions (@noamzbr)
- Update GitLab packages for better self-hosted instance support (@vglafirov)
- Make the models.dev domain configurable for offline environments (@bartbroere)
Desktop
- Rename favicon on web again
- Improve provider OAuth error handling in app
- Fix renaming non-git projects affecting other projects
- Tab should select suggestion in the app
- Fix type error
- Fix terminal issues and regressions
- Remove terminal button border to align with close button (@allanhvam)
- Fixed navigation issues when working with large sessions in desktop app (@dbpolito)
Thank you to 8 community contributors:
- @bartbroere:
- feat: Make the models.dev domain configurable for offline environments (#9258)
- @vglafirov:
- chore(deps): update GitLab packages for better self-hosted instance support (#9856)
- @noamzbr:
- fix: Persist loaded model and mode on ACP session load (#9829)
- @Danztee:
- feat: implement home directory expansion for permission patterns using
~and$HOMEprefixes. (#9813)
- feat: implement home directory expansion for permission patterns using
- @dbpolito:
- fix(desktop): Navigation with Big Sessions (#9529)
- @allanhvam:
- fix(app): remove terminal button border to align with close button (#9874)
- @remorses:
- feat(acp): add session/list and session/fork support (#7976)
- @gigamonster256:
- fix: update pre-push hook to allow caret version differences (#9876)
v1.1.29
Core
- Adjust skill tool description to clarify available skills
- Add caching support for Claude with Bedrock custom inference profiles (@stevoland)
- Add Laravel Pint as a PHP formatter (@nunomaduro)
- Change session title prompt to respond in user's language (@spoons-and-mirrors)
- Terminal improvements including focus handling, rename functionality, error state management, and CSP compliance (@unitythemaker)
- Fix snapshot regression in core module
- Handle special characters in paths and git snapshot reading logic (@shirukai)
- Update session summary after revert to show file changes
- Add OPENCODE_DISABLE_PROJECT_CONFIG environment variable to disable project configuration (@kdcokenny)
- Add OPENCODE_DISABLE_FILETIME_CHECK flag to skip file modification time checks (@luojiyin1987)
- Ensure apply patch tool emits edited events
- Ensure synthetic user message following subtasks is only added when user manually invoked subtask
- Don't update session timestamp for metadata-only changes (@ariane-emory)
- Fix issue when switching models between providers where past reasoning/metadata would cause 400 errors
TUI
- Support responsive layout for narrow terminal screens (@vmotta8)
Desktop
- New sound effects, downmixed to mono
- Fix keybind search dialog height in app
- Add new sounds to app
- Add missing internationalization keys in app package
- Add search functionality to settings shortcuts (@ProdigyRahul)
- Add new workspace button supporting all available languages (@ProdigyRahul)
- Add aria-labels to titlebar and sidebar buttons for improved accessibility (@ndarilek)
- Fix e2e tests in app package
- Fix type error
- Breaking out of auto-scroll in the app
- Add model tooltip metadata in chooser per Figma request (@kearns-cu)
- Fix workspaces padding inconsistency (@DNGriffin)
- Properly integrate window controls on Windows desktop (@Brendonovich)
- Add Japanese language support to the app
- Add workaround for nushell in desktop application (@Brendonovich)
- Add Danish translations to the application
- Add Japanese translations to the app
- Add French translations to the app
- Add Spanish translations to the app
- Add German translations to the application
- Add Korean language translations to the application
- Don't show notification on session if active
- Add manage models icon to selector (@kearns-cu)
- Allow users to select directory text on new session (@DNGriffin)
- Fix desktop app not connecting to sidecar when proxy is configured
- Standardize desktop layout icons (@jacobabahn)
- Fix numbered list rendering in web markdown (@R44VC0RP)
- Remove portal spacer and fix terminal toggle padding in UI (@alexyaroshuk)
- Add internationalization support to the app
- Add internationalization support for prompt input component
- Initial internationalization stubbing for the app
- Don't interfere with scroll when using message navigation
- Add keyboard shortcut (Mod+,) to open settings dialog
- Improve auto-scroll user experience in app
Thank you to 20 community contributors:
- @R44VC0RP:
- @alexyaroshuk:
- fix(ui): remove portal spacer and fix terminal toggle padding (#9728)
- @jacobabahn:
- feat(desktop): standardize desktop layout icons (#9685)
- @yxshee:
- @ariane-emory:
- @vmotta8:
- fix(tui): responsive layout for narrow screens (#9703)
- @luojiyin1987:
- feat: add OPENCODE_DISABLE_FILETIME_CHECK flag (#6581)
- @kdcokenny:
- feat: add OPENCODE_DISABLE_PROJECT_CONFIG env var (#8093)
- @RiskyMH:
- chore(opencode): Use Bun.semver instead of node-semver (#9773)
- @shirukai:
- @DNGriffin:
- @zerone0x:
- fix(ui): preserve filename casing in edit/write tool titles (#9752)
- @kearns-cu:
- @Brendonovich:
- fix(desktop): add workaround for nushell
- feat(desktop): properly integrate window controls on windows (#9835)
- @unitythemaker:
- fix(app): terminal improvements - focus, rename, error state, CSP (#9700)
- @ndarilek:
- fix(app): add aria-labels to titlebar and sidebar buttons (#9843)
- @ProdigyRahul:
- @spoons-and-mirrors:
- tweak(session title): change prompt to have the response with user language (#9847)
- @nunomaduro:
- feat(formatters): add laravel pint as a
.phpformatter (#7312)
- feat(formatters): add laravel pint as a
- @stevoland:
- fix: Claude w/bedrock custom inference profile - caching support (#9838)
v1.1.28
Core
- Preserve tool input from running state for MCP tool results (@rynfar)
- Pass arguments to commands without explicit placeholders (@remorses)
- Adjust Codex prompt to discourage unnecessary questions and encourage more autonomous decision-making
- Register OAuth callback before opening browser in MCP (@msvechla)
- Support ACP audience by mapping to ignore and synthetic (@noamzbr)
- Terminal no longer hangs on exit or Ctrl+D and closes the pane properly (@ProdigyRahul)
TUI
- Prevent sidebar height from overflowing in terminal UI (@IdrisGit)
Desktop
- Refactor Select component to use settings variant for settings modal styling
- Show "View all sessions" button for active project and close hovercard on click
- Remove close delay on hover cards to prevent overlapping
- Fix review empty state font size
- Fix race condition when editing project names (@DNGriffin)
- Resolve Select children type conflict with ButtonProps
- Fix prompt agent button style
- Fix type error
- Update keyboard shortcuts panel to match general settings styling
- Add color scheme preview on hover in appearance dropdown
- Update settings panel padding and make content full width
- Set 32px spacing between main title and group title
- Add fade gradient to settings panel headers
- Reset select trigger to default state after selection
- Add extra large dialog size and use it for settings modal
- Add triggerStyle prop to Select component and apply it to font selector
- Render font options in their respective fonts
- Wrap settings row groups with styled container
- Remove border and background from settings panel headers
- Remove subheader from General settings panel
- Add keyboard icon and use it for Shortcuts settings tab
- Add sliders icon and use it for General settings tab
- Update settings tabs layout and spacing
- Increase icon letter size to 32px in edit project dialog
- Increase session messages popover open delay to 1000ms
- Fix end-to-end tests in app package
- Add Windows end-to-end tests for the app
- Change terminal.new keybind to Ctrl+Alt+T (@ProdigyRahul)
- Cleanup PTY exited event listener on component unmount (@ProdigyRahul)
- Fix duplicate session loads in app
- Add tooltips to sidebar new session and workspace buttons (@ProdigyRahul)
- Better pending states for workspace operations
- Fix session loading loop in app
- Add restart and reload menu items on macOS (@BlankParticle)
- Fix broken app functionality
- Add settings page to app
Thank you to 13 community contributors:
- @ProdigyRahul:
- @BlankParticle:
- feat: add restart and reload menu items on macOS (#9212)
- @noamzbr:
- feat: Support ACP audience by mapping to ignore and synthetic (#9593)
- @msvechla:
- fix(mcp): register OAuth callback before opening browser (#9646)
- @remorses:
- fix: pass arguments to commands without explicit placeholders (#9606)
- @zerone0x:
- fix(ui): show filename in Edit/Write permission titles (#9662)
- @MBanucu:
- fix(opencode): Allow compatible Bun versions in packageManager field (#9597)
- @DRunkPiano114:
- fix(ui): prevent Enter key action during IME composition (#9564)
- @IdrisGit:
- fix(tui): prevent sidebar height from overflowing. (#9689)
- @gigamonster256:
- fix(opencode): relax bun version requirement (#9682)
- @DNGriffin:
- fix(app): Edit-project name race condition (#9551)
- @rynfar:
- fix(opencode): preserve tool input from running state for MCP tool results (#9667)
- @kdcokenny:
- docs(web): add KDCO plugins to ecosystem (#7694)
v1.1.27
Core
- Remove filetime assertions from patch tool
- Ensure truncation handling applies to MCP servers
- Update batch tool definition to outline correct value for max tool calls (@jamesmengo)
TUI
- Add space toggle hint to tool selection prompt (@cjellick)
- Fix message history cleanup to prevent memory leaks in TUI
Desktop
- Fixed flash of home page on application start
- Fixed localStorage quota handling in app
- Persist quota limits to prevent loss on reload
- Completely disable pinch to zoom in desktop application (@Brendonovich)
- Fix message list overflow and scrolling issues (@neriousy)
- Add 8px padding to recent sessions popover
- Remove top padding from edit project dialog form
- Update session messages popover gutter to 28px
- Position session messages popover at top
- Retain session hover state when popover is open and update border radius
- Update session hover popover styling
- Update review session empty state styling
- Add ability to select project directory text in web interface (@DNGriffin)
Thank you to 5 community contributors:
- @DNGriffin:
- feat(app): Add ability to select project directory text to web (#9344)
- @neriousy:
- fix(app): message list overflow & scrolling (#9530)
- @jamesmengo:
- fix(batch): update batch tool definition to outline correct value for max tool calls (#9517)
- @cjellick:
- fix: add space toggle hint to tool selection prompt (#9535)
- @Brendonovich:
- fix(desktop): completely disable pinch to zoom