1.86.0 (2026-10-26)
Features
- add the Meridian Pi extension and meridian setup --client pi (#1408) (bd02173)
- read x-session-id as conversation identity on /v1/chat/completions (#1426) (a5a939b)
Bug Fixes
- antigravity: compact older assistant text in active tool loops (#1437) (075e9e4)
- chatgpt: release a turn that fails before reaching the backend (#1440) (c84af24)
- pi: tier in-process pi-subagents children whose prompt is appended (#1453) (5359f63)
- require the Pi scrub in the live Pi harness and tell Pi users they need it (#1452) (cb767de)
Upgrade notes
x-session-idon/v1/chat/completionsis now conversation identity (#1426). A client that already sendsx-session-id(for example for OpenRouter) now resumes one SDK session per value instead of replaying its full history each turn. Turns under one value are serialized and must append to the same history; a turn that lost the race gets HTTP 400This session advanced while the request was waiting. Send a distinct value per conversation, or omit the header.x-opencode-sessionandx-session-affinitystill take precedence. See docs/agents.md.- Pi extension. Run
meridian setup --client pi, then pick a model under themeridianprovider. Oldermodels.jsonsetups keep working and log one warning suggesting the extension. On a Claude subscription, Claude can refuse Pi's system prompt as third-party traffic unless Meridian also loads the@rynfar/meridian-plugin-pi-scrubserver plugin. - Desktop. No signed and notarized desktop download is attached to this release: the release workflow's Apple notarization credential was rejected (HTTP 401).