v1.14.29
OpenCodeSummary
This release focuses heavily on aligning internal logic and external APIs, ensuring OpenAPI schemas and sync validation now match the HTTP API specifications. Key fixes include cleaner shell cancellation handling and improved TUI dialog responsiveness. Additionally, tool streaming defaults have been adjusted for better compatibility with DeepSeek and Google Vertex setups.
New Features
- Enabled DeepSeek OpenAI-compatible setups to keep `reasoning_content` interleaved by default.
- Enabled the experimental LSP tool to forward the workspace symbol query.
Bug Fixes
- Fixed issue where shell cancellations left aborted commands in a bad state; they now finish cleanly.
- Fixed creation of a session over HTTP failing when using an empty request body.
- Fixed crash/issue where pressing Enter in TUI dialogs leaked through instead of triggering the dialog action.
- Fixed TUI issue where `opencode agent create` wrote an invalid `permissions.deny` config.
Improvements
- OpenAPI request body schemas now accurately match the real HTTP API.
- Sessions now correctly maintain a relative workspace path.
- OpenAPI documentation now correctly documents instance `directory` and `workspace` query parameters.
- Sync sequence validation now matches the HTTP API.
- Moonshot and Kimi tool schemas are sanitized to prevent rejected tool calls.
- MCP OAuth errors and Provider OAuth authorize errors now align more closely with the native API.
- Workspace HTTP API routes are now correctly mounted through the bridge.
- Tool streaming now defaults to off for non-Anthropic models when using the Anthropic SDK, and defaults off for Google Vertex.
- Zed context polling in the TUI remains responsive.
- TUI file context is clearer, can be toggled off, and clears after sending.
- Per-workspace icon overrides now persist correctly for subdirectories within the same repository.
- Sync state loading is more reliable across MCP, LSP, and workspace refreshes.