Changelog
New updates and improvements to OpenCode
v1.2.12 Synchronize changes
Improvements
- 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
v1.2.11 Add workspace-serve command (experimental)
Improvements 27
- CoreACP both live and load share synthetic pending status preceding actual data@noamzbr
- CoreReplace structuredClone with spread operator for process.env in tests
- CoreAdd 50ms tolerance for NTFS mtime precision in Windows FileTime assertions
- CoreReplace Unix-only test assumptions with cross-platform alternatives
- CoreUse path.sep in discovery test for cross-platform path matching
- CoreNormalize backslash paths in config rel() and file ignore on Windows
- CoreFix plugin resolution with createRequire fallback on Windows
- CoreHarden preload cleanup against Windows EBUSY errors
- CoreNormalize git excludesFile path for Windows in tests
- CoreStream bash output and add synthetic pending events to ACP@noamzbr
- CoreAdd git flags for snapshot operations and fix tests for cross-platform on Windows
- CoreHandle CRLF line endings in markdown frontmatter parsing on Windows
- CoreUse path.join for cross-platform glob test assertions
- CoreUpgrade to Bun 1.3.10 canary and force baseline builds always
- CoreNormalize paths at permission boundaries on Windows
- CoreWindows path support and canonicalization@edemaine
- CoreUpgrade OpenTUI to v0.1.81
- CoreChange detection on Windows, especially Cygwin@edemaine
- CoreCache platform binary in postinstall for faster startup
- CoreRevert caching platform binary in postinstall for faster startup
- CoreCache platform binary in postinstall for faster startup
- CorePublish desktop beta releases to a separate repository
- CoreAdd experimental endpoint to list all sessions
- CoreFixed terminal issues in the app
- CoreRespect info exclude in snapshot staging
- CoreMissing plugin dependencies cause TUI to black screen@elithrar
- SDKScripts using Turbo commands would not run on Windows
v1.2.10 v1.2.9 Add missing id, sessionID, and messageID to MCP tool attachments
Improvements
- CoreRemove unnecessary deep clones from session loop and LLM stream
- CoreRemove User-Agent header assertion from LLM test to fix failing test
v1.2.8 v1.2.7 Fixed terminal rendering and interaction issues in the application
Improvements 62
- CoreNormalize file status paths relative to instance directory@shantur
- CoreMigrate from Bun.Glob to npm glob package
- CoreBump AI SDK packages for Google, Google Vertex, Anthropic, Bedrock, and provider utils
- CoreAdd support for medium reasoning with Gemini 3.1
- CoreRemove use of Bun.file
- CoreText files misclassified as binary
- CoreFetch default server at top level in desktop application
- CoreTerminal rework in the app
- CoreBake in the AWS and Google authentication packages
- CoreToken substitution in OPENCODE_CONFIG_CONTENT now works correctly@ariane-emory
- CoreRevert migration from Bun.file() to Filesystem module
- CoreMigrate project.ts from Bun.file() to Filesystem/stat modules
- CoreMigrate read tool from Bun.file() to Filesystem module
- CoreMigrate write tool from Bun.file() to Filesystem module
- CoreMigrate Edit tool from Bun.file() to Filesystem module
- CoreMigrate remaining tool files from Bun.file() to Filesystem/stat modules
- CoreMigrate storage.ts from Bun.file()/Bun.write() to Filesystem module
- CoreMigrate src/storage/json-migration.ts from Bun.file() to Filesystem module
- CoreMigrate MCP auth module from Bun file APIs to Filesystem module
- CoreMigrate storage database from Bun.file() to statSync for file existence checks
- CoreMigrate session prompt module from Bun.file() to Filesystem/stat modules
- CoreFix crash in
opencode runand show errored tool calls in output - CoreMigrate skill discovery to use Filesystem module instead of Bun file APIs
- CoreMigrate session instruction handling from Bun.file() to Filesystem module
- CoreMigrate provider.ts from Bun.file() to Filesystem module
- CoreMigrate shell.ts from Bun.file() to statSync for improved file system operations
- CoreMigrate log utility from Bun.file() to Node.js fs module for better compatibility
- CoreMigrate models.ts from Bun.file()/Bun.write() to Filesystem module
- CoreUse HashiCorp releases API for installing terraform-ls@edubxb
- CoreMigrate LSP server from Bun.file()/Bun.write() to Filesystem module
- CoreMigrate session command from Bun.file() to statSync for improved file system operations
- CoreMigrate agent.ts from Bun.file() to Filesystem module
- CoreMigrate auth module from Bun.file()/Bun.write() to Filesystem module
- CorePass sessionID and callID to shell.env hook input@tesdal
- CoreFix terminal cross-talk issue in the application
- CoreUpdate SST version
- CoreMigrate src/global/index.ts from Bun.file() to Filesystem module
- CoreEmit PROMPT_TOO_LARGE error when GitHub context overflows@elithrar
- CoreMigrate src/bun/index.ts from Bun.file()/Bun.write() to Filesystem module
- CoreMigrate config/markdown.ts from Bun.file() to Filesystem module
- CoreMigrate file/index.ts from Bun.file() to Filesystem module
- CoreMigrate format/formatter.ts from Bun.file() to Filesystem module
- CoreAllow readJson to be called without explicit type parameter
- CoreMigrate file/ripgrep.ts from Bun APIs to Filesystem module
- CoreMigrate index.ts from Bun.file() to Filesystem module
- CoreAdd Julia language server support@zarly
- CoreBump GitLab AI provider to 3.6.0 to add Sonnet 4.6 support@vglafirov
- CoreAdd centralized filesystem module for Bun.file migration
- CoreFix Clojure syntax highlighting@finalfantasia
- CoreEnsure explore subagent prompts for external directory permission instead of auto-denying
- CoreDon't autoload kilo
- CoreAdd Kilo as a native provider@Nomadcxx
- CoreSimplify redundant ternary in updateMessage@yikayiyo
- CoreEnsure Read tool uses fs/promises for all file system operations
- CoreMake read tool more memory efficient
- CoreSurface plugin auth providers in the login picker@anoldguy
- CoreInvalidate OAuth credentials when OAuth provider indicates they are invalid@GreenStage
- CoreDon't fetch models.dev on completion@gigamonster256
- CoreRecover state after SSE reconnect and harden SSE streams
- CoreKeep message part order stable when files resolve asynchronously
- CoreDrop IDs from attachments in tools and assign them in prompt.ts instead
- SDKFix nested exports transformation in SDK publish script
v1.2.6 Add dfmt formatter support for D language files
Improvements
- CoreBump GitLab provider and auth plugin for mid-session token refresh@vglafirov
- CoreRemove unnecessary per-message title LLM calls@rmk40
- CorePrioritize user-defined variables over environment variables in Google Vertex AI configuration
- CoreAdd OpenAI-compatible endpoint support for Google Vertex provider@leehack
- CoreAdd Venice support for temperature, topP, topK, and smallOption parameters@dpuyosa
- CoreAdd cljfmt formatter support for Clojure files@finalfantasia
v1.2.5 v1.2.4 Add db command for database inspection and querying
Improvements
- CoreDerive all IDs from file paths during JSON migration
v1.2.3 Ensure Anthropic models on OpenRouter also have variant support
Improvements
- CoreAdd WAL checkpoint on database open
- CoreEnsure Vercel variants pass Amazon models under Bedrock key