github anomalyco/opencode v1.2.7

latest releases: v1.2.9, v1.2.8
6 hours ago

Core

  • Fixed terminal rendering and interaction issues in the application
  • Normalize file status paths relative to instance directory (@shantur)
  • Migrate from Bun.Glob to npm glob package
  • Bump AI SDK packages for Google, Google Vertex, Anthropic, Bedrock, and provider utils
  • Add support for medium reasoning with Gemini 3.1
  • Remove use of Bun.file
  • Text files misclassified as binary
  • Fetch default server at top level in desktop application
  • Terminal rework in the app
  • Bake in the AWS and Google authentication packages
  • Token substitution in OPENCODE_CONFIG_CONTENT now works correctly (@ariane-emory)
  • Revert migration from Bun.file() to Filesystem module
  • Migrate project.ts from Bun.file() to Filesystem/stat modules
  • Migrate read tool from Bun.file() to Filesystem module
  • Migrate write tool from Bun.file() to Filesystem module
  • Migrate Edit tool from Bun.file() to Filesystem module
  • Migrate remaining tool files from Bun.file() to Filesystem/stat modules
  • Migrate storage.ts from Bun.file()/Bun.write() to Filesystem module
  • Migrate src/storage/json-migration.ts from Bun.file() to Filesystem module
  • Migrate MCP auth module from Bun file APIs to Filesystem module
  • Migrate storage database from Bun.file() to statSync for file existence checks
  • Migrate session prompt module from Bun.file() to Filesystem/stat modules
  • Fix crash in opencode run and show errored tool calls in output
  • Migrate skill discovery to use Filesystem module instead of Bun file APIs
  • Migrate session instruction handling from Bun.file() to Filesystem module
  • Migrate provider.ts from Bun.file() to Filesystem module
  • Migrate shell.ts from Bun.file() to statSync for improved file system operations
  • Migrate log utility from Bun.file() to Node.js fs module for better compatibility
  • Migrate models.ts from Bun.file()/Bun.write() to Filesystem module
  • Use HashiCorp releases API for installing terraform-ls (@edubxb)
  • Migrate LSP server from Bun.file()/Bun.write() to Filesystem module
  • Migrate session command from Bun.file() to statSync for improved file system operations
  • Migrate agent.ts from Bun.file() to Filesystem module
  • Migrate auth module from Bun.file()/Bun.write() to Filesystem module
  • Pass sessionID and callID to shell.env hook input (@tesdal)
  • Fix terminal cross-talk issue in the application
  • Update SST version
  • Migrate src/global/index.ts from Bun.file() to Filesystem module
  • Emit PROMPT_TOO_LARGE error when GitHub context overflows (@elithrar)
  • Migrate src/bun/index.ts from Bun.file()/Bun.write() to Filesystem module
  • Migrate config/markdown.ts from Bun.file() to Filesystem module
  • Migrate file/index.ts from Bun.file() to Filesystem module
  • Migrate format/formatter.ts from Bun.file() to Filesystem module
  • Allow readJson to be called without explicit type parameter
  • Migrate file/ripgrep.ts from Bun APIs to Filesystem module
  • Migrate index.ts from Bun.file() to Filesystem module
  • Add Julia language server support (@zarly)
  • Bump GitLab AI provider to 3.6.0 to add Sonnet 4.6 support (@vglafirov)
  • Add centralized filesystem module for Bun.file migration
  • Fix Clojure syntax highlighting (@finalfantasia)
  • Ensure explore subagent prompts for external directory permission instead of auto-denying
  • Don't autoload kilo
  • Add Kilo as a native provider (@Nomadcxx)
  • Simplify redundant ternary in updateMessage (@yikayiyo)
  • Ensure Read tool uses fs/promises for all file system operations
  • Make read tool more memory efficient
  • Surface plugin auth providers in the login picker (@anoldguy)
  • Invalidate OAuth credentials when OAuth provider indicates they are invalid (@GreenStage)
  • Don't fetch models.dev on completion (@gigamonster256)
  • Recover state after SSE reconnect and harden SSE streams
  • Keep message part order stable when files resolve asynchronously
  • Drop IDs from attachments in tools and assign them in prompt.ts instead

TUI

  • Improve GitHub action branch detection and handle 422 errors (@elithrar)
  • Ensure onExit callback fires after terminal output is written
  • Migrate TUI thread module from Bun.file() to Filesystem module
  • Migrate agent command from Bun.file()/Bun.write() to Filesystem module
  • Migrate import command from Bun.file() to Filesystem module
  • Update pasteImage to only increment count when the previous attachment is an image (@OpeOginni)
  • Migrate editor.ts from Bun.file()/Bun.write() to Filesystem module
  • Migrate clipboard.ts from Bun.file() to Filesystem module
  • Migrate CLI run command from Bun.file() to Filesystem/stat modules
  • Session list --max-count parameter now correctly limits the number of sessions displayed (@mharris717)
  • Exit cleanly without hanging after session ends
  • Style scrollbox for permission and sidebar (@akronb)
  • Increase button heights and improve permission prompt layout alignment
  • Display new session banner with logo and project details in TUI

Desktop

  • Update Japanese translations for WSL integration (@taroj1205)
  • Made localhost URLs work correctly in isLocal function
  • Navigate to last session when navigating to a project
  • Fix typecheck errors in app
  • Deduplicate allServers list in app
  • Adjust session turn horizontal padding
  • Tighten prompt dock padding in app
  • Fixed sidecar spawning a window on Windows
  • Delay prompt mode toggle tooltip
  • Shorten prompt mode toggle tooltips in the app
  • Reduce review panel padding
  • Tweak search button style in UI
  • Expanded color state on titlebar buttons
  • Tweak hover and active styles for title bar buttons
  • Share button now has a border
  • Adjust file tree background color
  • Handle sidecar key in projectsKey for desktop projects
  • Fixed desktop app incorrectly identifying local servers
  • Refactor server management backend
  • Use group-hover for file tree icon color swap at all nesting levels
  • Simplify mode toggle icon styling in TUI
  • Clean up desktop implementation
  • Temporarily disable WSL support in desktop application
  • Use radio group in prompt input
  • Simplify prompt mode toggle icon colors via CSS and tighten message timeline padding in TUI
  • Fix prompt input quirks in app
  • Terminal disconnect and resync functionality fixed
  • Replicate tauri-plugin-shell logic in desktop application
  • Improve modified file visibility and button spacing in TUI
  • Show monochrome file icons by default in tree view, revealing colors on hover to reduce visual clutter
  • Fix share button text styling to use consistent 12px regular font weight
  • Add warning icon to permission requests for better visibility
  • Extract dock prompt shell component
  • UI no longer flashes when switching tabs (@neriousy)
  • Avoid sidecar health-check timeout on shell startup in desktop app (@ysm-dev)
  • Increase prompt mode toggle height for better clickability
  • Add more end-to-end tests for desktop application (@neriousy)
  • Update magnifying-glass icon in UI
  • Tighten titlebar action padding
  • Refine titlebar search and open padding
  • Center titlebar search and soften keybind styling
  • Align titlebar search text size
  • Match titlebar active background to hover
  • Use weak borders in titlebar actions
  • Reduce titlebar right padding
  • Keep file tree toggle visible
  • Adjust icon button spacing in UI
  • Session timeline and turn handling reworked in app
  • Keep Escape handling local to prompt input on macOS desktop (@itskritix)
  • Hide server CLI window on Windows

SDK

  • Fix nested exports transformation in SDK publish script

Thank you to 25 community contributors:

  • @itskritix:
    • fix(app): keep Escape handling local to prompt input on macOS desktop (#13963)
  • @vynnlee:
    • docs(ko): improve Korean translation accuracy and clarity in Zen docs (#13951)
  • @chenmijiang:
    • docs: improve zh-cn and zh-tw documentation translations (#13942)
  • @hmu332233:
    • fix(docs): correct reversed meaning in Korean plugins logging section (#13945)
  • @neriousy:
    • feat(desktop): more e2e tests (#13975)
    • fix(app): ui flashing when switching tabs (#13978)
  • @ysm-dev:
    • fix(desktop): avoid sidecar health-check timeout on shell startup (#13925)
  • @alexcarpenter:
    • fix: Homepage video section layout shift (#13987)
  • @gigamonster256:
    • fix: don't fetch models.dev on completion (#13997)
  • @GreenStage:
    • fix: Invalidate oauth credentials when oauth provider says so (#14007)
  • @anoldguy:
    • feat: surface plugin auth providers in the login picker (#13921)
  • @akronb:
    • fix(tui): style scrollbox for permission and sidebar (#12752)
  • @yikayiyo:
    • refactor: simplify redundant ternary in updateMessage (#13954)
  • @Nomadcxx:
    • feat: add Kilo as a native provider (#13765)
  • @finalfantasia:
    • fix(opencode): fix Clojure syntax highlighting (#13453)
  • @mharris717:
    • fix(cli): session list --max-count not honored, shows too few sessions (#14162)
  • @vglafirov:
    • feat: GitLab Duo - bump gitlab-ai-provider to 3.6.0 (adds Sonnet 4.6) (#14115)
  • @zarly:
    • feat: add Julia language server support (#14129)
  • @elithrar:
    • fix(github): emit PROMPT_TOO_LARGE error on context overflow (#14166)
    • fix(github): action branch detection and 422 handling (#14322)
  • @OpeOginni:
    • fix(opencode): update pasteImage to only increment count when the previous attachment is an image too (#14173)
  • @tesdal:
    • feat(plugin): pass sessionID and callID to shell.env hook input (#13662)
  • @edubxb:
    • fix(lsp): use HashiCorp releases API for installing terraform-ls (#14200)
  • @ariane-emory:
    • fix: token substitution in OPENCODE_CONFIG_CONTENT (alternate take) (#14047)
  • @Seungjun0906:
    • docs(ko): improve wording in ecosystem, enterprise, formatters, and github docs (#14220)
  • @shantur:
    • fix(core): normalize file.status paths relative to instance dir (#14207)
  • @taroj1205:
    • feat(i18n): update Japanese translations to WSL integration (#13160)

Don't miss a new opencode release

NewReleases is sending notifications on new releases.