What's New in v3.1.7
π MCP OAuth 2.1 Authentication (#1169)
Full OAuth 2.1 support for MCP servers β RFC 7591 (Dynamic Client Registration), RFC 9728 (Protected Resource Metadata), RFC 8414 (Authorization Server Discovery), RFC 8707 (Resource Indicators). Includes secure token storage, step-up authorization, and CLI commands (opencode mcp oauth login/logout/status).
π§ LSP Client Migration to vscode-jsonrpc (#1095)
Replaced custom JSON-RPC implementation with vscode-jsonrpc library for improved protocol stability. BunβNode stream bridges for compatibility. ~60 line net reduction.
Bug Fixes
- background-agent: Prevent zombie processes by aborting all child sessions on shutdown (#1240)
- model-resolver: Respect UI model selection in agent initialization (#1158)
- model-resolver: Use connected providers cache when model cache is empty (#1227)
- delegate-task: Pass registered agent model explicitly for subagent_type (#1225)
- start-work: Prevent overwriting session agent if already set; inherit parent model (#1201)
- config: Expand override.category and explicit reasoningEffort priority (#1219)
- test: Migrate config-handler tests from mock.module to spyOn to prevent cross-file cache pollution
Documentation
- Add missing configuration options to configurations.md (#1186)
- Add OAuth 2.1 feature documentation and CLI guide
Commits
- dcda876 feat(mcp-oauth): add full OAuth 2.1 authentication for MCP servers (#1169)
- a94fbad Migrate LSP client to vscode-jsonrpc for improved stability (#1095)
- 23b49c4 fix: expand override.category and explicit reasoningEffort priority (#1219) (#1235)
- b497395 fix(background-agent): prevent zombie processes by aborting sessions on shutdown (#1240) (#1243)
- 34aaef2 fix(delegate-task): pass registered agent model explicitly for subagent_type (#1225)
- faca80c fix(start-work): prevent overwriting session agent if already set; inherit parent model for subagent types (#1201)
- 0c3fbd7 fix(model-resolver): respect UI model selection in agent initialization (#1158)
- bffa1ad fix(model-resolver): use connected providers cache when model cache is empty (#1227)
- c745570 docs: Add missing configuration options to configurations.md (#1186)
- cd4da93 fix(test): migrate config-handler tests from mock.module to spyOn
- 71b2f15 chore(agents): unify agent description format with OhMyOpenCode attribution