Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
42 commits
Select commit Hold shift + click to select a range
c1b5f1b
feat(core): add the session_part table and read history from it (#58915)
kitlangton Oct 29, 2026
ecc075a
fix(codemode): visit inherited enumerable keys in for...in (#59933)
rekram1-node Oct 29, 2026
0ab1346
docs: document the experimental image_generate tool (#60105)
rekram1-node Oct 29, 2026
6118c83
fix(merman): route visible flowchart subgraph edges (#60100)
rekram1-node Oct 29, 2026
28a3974
fix(core): tag image job notices with their job ID (#60098)
rekram1-node Oct 29, 2026
510aa79
fix(core): store forked and imported session media as blobs (#60118)
kitlangton Oct 29, 2026
d500927
feat(core): record when a session's latest execution started (#59910)
opencode-agent[bot] Oct 29, 2026
bb85c54
fix(app): list side launchers only in a New tab and close the region …
opencode-agent[bot] Oct 29, 2026
2999751
fix(app): order the inbox Working shelf by when each run started (#60…
opencode-agent[bot] Oct 29, 2026
7ab721a
fix(session-ui): scroll Markdown fragment links to their heading (#59…
opencode-agent[bot] Oct 29, 2026
4b60235
fix(app): report composer attachment persistence failures through onE…
opencode-agent[bot] Oct 29, 2026
2fc3716
feat(app): unify quote comments and browser annotations (#60164)
usrnk1 Oct 29, 2026
5093326
fix(app): focus the matching review navigation arrow (#59920)
usrnk1 Oct 29, 2026
1341387
feat(app): align searchable dialogs (#60162)
usrnk1 Oct 29, 2026
7d0f79d
feat(app): make redesigned question dock opt-in (#59723)
usrnk1 Oct 29, 2026
66f1fa8
chore: upgrade effect to 4.0.6 (#59630)
kommander Oct 29, 2026
726cf09
feat(tui): add dialog footer theme override and retire faint in new d…
arvsrn Oct 29, 2026
4a05d11
chore(protocol): regenerate OpenAPI document (#60228)
arvsrn Oct 29, 2026
d9d3548
fix(app): match search dialog radius and background (#60200)
arvsrn Oct 29, 2026
589c62d
feat(session-ui): move user message actions into a menu (#60208)
arvsrn Oct 29, 2026
f99bc07
fix(app): keep side panel tab close buttons in view and add a tab men…
opencode-agent[bot] Oct 29, 2026
82666b6
fix(app): count queued quotes and annotations as attachments (#60235)
usrnk1 Oct 29, 2026
304e835
fix(app): stop dropping frames while a queued prompt grows in (#60216)
opencode-agent[bot] Oct 29, 2026
87a35fa
chore(process-daemon): release 0.3.3 (#59969)
jlongster Oct 29, 2026
372d0d5
fix(core): have agents ask before generating an image nobody asked fo…
rekram1-node Oct 29, 2026
f74b141
release: v2.2.1 (#60113)
github-actions[bot] Oct 29, 2026
d4e48f5
feat(core): turn experimental_image_generate on by default (#60258)
rekram1-node Oct 29, 2026
3829291
feat(app): open the worktree picker from the new session branch (#60263)
thdxr Oct 29, 2026
6007274
feat(app): redesign the todo pill and share the composer pill styling…
arvsrn Oct 29, 2026
3eb834b
fix: type the Go and ChatGPT usage limits (#57897)
kitlangton Oct 29, 2026
d3ad3da
chore(core): use @opencode/pty 0.3.3 (#60276)
jlongster Oct 29, 2026
d9ecbbc
fix: show the Go usage limit's reset time, Go page link and a compose…
thdxr Oct 29, 2026
a8e17ae
fix(tui): preserve captured attachments and source paths (#60222)
OpeOginni Oct 29, 2026
6b9f214
perf(app): keep each tab's timeline when switching directories (#59168)
kitlangton Oct 29, 2026
ccd406b
fix(tui): prevent truncateMiddle overflow at small widths (#60287)
neriousy Oct 29, 2026
756f832
fix(core): reject persistent terminals with a missing cwd (#60300)
jlongster Oct 29, 2026
c784d17
feat(core): gate scheduled prompts with shell checks (#60137)
kitlangton Oct 29, 2026
1eea2d4
fix(session-ui): name a pending steer's model only when it changes (#…
opencode-agent[bot] Oct 29, 2026
f7b4d50
feat: link live system status from site footers (#60223)
adamdotdevin Oct 29, 2026
3e8e974
feat(go): add Go Teams plan and limits to /go (#60308)
adamdotdevin Oct 29, 2026
149767c
fix(tui): match the empty dialog search cursor to the highlighted row…
jlongster Oct 29, 2026
b2bd02e
feat(core): integration.connect and integration.use policies (#60315)
thdxr Oct 29, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
93 changes: 93 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,99 @@

Release notes for OpenCode V2, newest first.

## v2.2.1 — 2026-10-29

### Highlights

- **Keep Working Toward a Goal**: Run `/goal <objective>` in the TUI or Desktop to let the session continue until a reviewer confirms the objective is met. Use `/goal pause`, `/goal resume`, or `/goal clear` to control it. ([#59437](https://github.com/anomalyco/opencode/pull/59437))
- **Generate Images**: Enable `experimental.image_generate` to let agents create or edit images with the new `image_generate` tool. You can optionally set its default model with `experimental.image_generate.model`. ([#59939](https://github.com/anomalyco/opencode/pull/59939), [#60096](https://github.com/anomalyco/opencode/pull/60096))
- **Inspect Background Shells**: Click a running shell in the Desktop activity pill to see its live output and stop it without leaving the menu. ([#59496](https://github.com/anomalyco/opencode/pull/59496))
- **New Default Model Picker**: Search favorites, recent models, providers, and variants from the redesigned model picker, which is now the default in Desktop. ([#59997](https://github.com/anomalyco/opencode/pull/59997))

### Breaking changes

#### `@opencode/ai` provider removals and renames

These changes affect code that imports `@opencode/ai` directly. They don't change the CLI, Desktop, or the HTTP API.

- The fal, Black Forest Labs, Replicate, and Stability providers are removed, along with their `./providers/fal`, `./providers/black-forest-labs`, `./providers/replicate`, and `./providers/stability` entry points. ([#59977](https://github.com/anomalyco/opencode/pull/59977))
- Five legacy entry points are removed. Import the nested paths instead, which 2.2.0 already exports: `./providers/amazon-bedrock-mantle` → `./providers/amazon-bedrock/mantle`, and `./providers/google-vertex-chat`, `-interactions`, `-mistral`, and `-responses` → `./providers/google-vertex/chat`, `/interactions`, `/mistral`, and `/responses`. ([#59506](https://github.com/anomalyco/opencode/pull/59506))
- Each provider's `configure()` input type is now named `Config`, for example `Groq.LanguageModelOptions` → `Groq.Config`, and `model()` settings are optional when every setting is optional. ([#59765](https://github.com/anomalyco/opencode/pull/59765))

### Core

#### Improvements

- Add `/goal <objective>` with pause, resume, and clear controls, plus automatic progress review until the objective is met. ([#59437](https://github.com/anomalyco/opencode/pull/59437))
- Add opt-in scheduled prompts through `/schedule`, agent tools, and `experimental.schedules`. ([#59401](https://github.com/anomalyco/opencode/pull/59401), [#59457](https://github.com/anomalyco/opencode/pull/59457))
- Add the opt-in `image_generate` tool for background image creation and editing, with automatic or configured model selection. ([#59939](https://github.com/anomalyco/opencode/pull/59939), [#60096](https://github.com/anomalyco/opencode/pull/60096))
- Offer GPT Image 2 after Codex sign-in and add MiniMax and Meta Muse image generation support. ([#60085](https://github.com/anomalyco/opencode/pull/60085), [#59929](https://github.com/anomalyco/opencode/pull/59929), [#60081](https://github.com/anomalyco/opencode/pull/60081))
- Add Responses API support for OpenRouter, DigitalOcean, and Venice, including freeform tools. ([#59991](https://github.com/anomalyco/opencode/pull/59991), [#59963](https://github.com/anomalyco/opencode/pull/59963))
- Improve snapshot performance by coalescing captures and avoiding repeated ignore-file work. ([#59419](https://github.com/anomalyco/opencode/pull/59419))

#### Bug fixes

- Preserve more context headroom when fitting tool output into the context window. ([#59934](https://github.com/anomalyco/opencode/pull/59934))
- Retry provider throttling correctly instead of reporting it as context overflow. ([#59649](https://github.com/anomalyco/opencode/pull/59649))
- Send image-edit references and image sizes in the formats expected by OpenRouter, Google, and Vercel Grok. ([#60067](https://github.com/anomalyco/opencode/pull/60067), [#59927](https://github.com/anomalyco/opencode/pull/59927))
- Keep credential metadata and prompt-cache settings out of model settings and variants. ([#60057](https://github.com/anomalyco/opencode/pull/60057), [#59500](https://github.com/anomalyco/opencode/pull/59500))
- Keep Git snapshots working in repositories that use a split index. ([#59417](https://github.com/anomalyco/opencode/pull/59417))
- Expose Console web search only when the workspace enables it. ([#59592](https://github.com/anomalyco/opencode/pull/59592))
- Improve Code Mode diagnostics for parse errors, stalled awaits, and promise-like search results. ([#59834](https://github.com/anomalyco/opencode/pull/59834), [#59749](https://github.com/anomalyco/opencode/pull/59749), [#59981](https://github.com/anomalyco/opencode/pull/59981))

### TUI

#### Improvements

- Show `/goal` status below the prompt and provide a dialog for pausing, resuming, or clearing it. ([#59437](https://github.com/anomalyco/opencode/pull/59437))

#### Bug fixes

- Show execution failures that occur before the first model step. ([#60079](https://github.com/anomalyco/opencode/pull/60079))
- Keep the activity spinner visible while a continued subagent runs. ([#59950](https://github.com/anomalyco/opencode/pull/59950))
- Send pasted image and PDF paths correctly when connected to a local server. ([#59833](https://github.com/anomalyco/opencode/pull/59833))
- Improve spacing in an empty `/usage` dialog. Thanks [@Tarquinen](https://github.com/Tarquinen). ([#59918](https://github.com/anomalyco/opencode/pull/59918))

### Desktop

#### Improvements

- Add `/reload` to reload configuration without restarting. ([#59887](https://github.com/anomalyco/opencode/pull/59887))
- Make the redesigned searchable model picker the default, with dedicated Favorites and Recent sections and keyboard-accessible provider controls. ([#59997](https://github.com/anomalyco/opencode/pull/59997))
- Show live output and a Stop action when you select a background shell from the activity pill. ([#59496](https://github.com/anomalyco/opencode/pull/59496))
- Show `/goal` state and actions in a composer pill. ([#59437](https://github.com/anomalyco/opencode/pull/59437))
- Redesign the integrations dialog and always include OpenCode free models in the model picker. ([#59976](https://github.com/anomalyco/opencode/pull/59976), [#60047](https://github.com/anomalyco/opencode/pull/60047))
- Add project, worktree, open-in-app, and terminal actions to the session location menu. ([#59607](https://github.com/anomalyco/opencode/pull/59607))
- Refine project and worktree selection, command search, prompt-history focus, composer model labels, and artifact preview controls. ([#59397](https://github.com/anomalyco/opencode/pull/59397), [#59604](https://github.com/anomalyco/opencode/pull/59604), [#59626](https://github.com/anomalyco/opencode/pull/59626), [#59735](https://github.com/anomalyco/opencode/pull/59735), [#59657](https://github.com/anomalyco/opencode/pull/59657))
- Highlight quoted timeline content while you write its first comment. ([#59286](https://github.com/anomalyco/opencode/pull/59286))
- Keep draft attachment bytes local when using experimental media URIs. ([#59104](https://github.com/anomalyco/opencode/pull/59104))

#### Bug fixes

- Follow each plugin server’s configured endpoint when connecting to its event stream. ([#60087](https://github.com/anomalyco/opencode/pull/60087))
- Treat the reachable scroll boundary as the end when Desktop zoom is active. ([#60034](https://github.com/anomalyco/opencode/pull/60034))
- Prevent shell text from showing through copy buttons and avoid restyling the transcript when closing a side panel. ([#59901](https://github.com/anomalyco/opencode/pull/59901), [#59878](https://github.com/anomalyco/opencode/pull/59878))
- Keep rendering malformed tool metadata instead of crashing the timeline. ([#59736](https://github.com/anomalyco/opencode/pull/59736))
- Make dropdowns open immediately and keep the new-session location shortcut working after tooltip interactions. ([#59268](https://github.com/anomalyco/opencode/pull/59268), [#59680](https://github.com/anomalyco/opencode/pull/59680))
- Remove edge halos from macOS application icons. ([#59900](https://github.com/anomalyco/opencode/pull/59900))

### SDK

#### Improvements

- Add `client.experimental.schedule.{create,list,get,pause,resume,delete}` for managing scheduled prompts. ([#59457](https://github.com/anomalyco/opencode/pull/59457))
- Group experimental generated-client methods under `client.experimental`; previous locations remain as deprecated aliases until the next minor release. ([#59072](https://github.com/anomalyco/opencode/pull/59072))
- Expose compaction through the Promise AI client. ([#59987](https://github.com/anomalyco/opencode/pull/59987))
- Add freeform tool support and Responses routes for OpenRouter, DigitalOcean, and Venice. ([#59963](https://github.com/anomalyco/opencode/pull/59963), [#59991](https://github.com/anomalyco/opencode/pull/59991))

### Extensions

#### Improvements

- Add the experimental `experimental.idle` Session hook so plugins can continue work before a session goes idle. ([#59437](https://github.com/anomalyco/opencode/pull/59437))
- Let Code Mode extension globals return Effects and declare required services. ([#59948](https://github.com/anomalyco/opencode/pull/59948))
- Add custom composer-pill popovers for GUI plugins. ([#59437](https://github.com/anomalyco/opencode/pull/59437))

## v2.2.0 — 2026-10-27

### Highlights
Expand Down
Loading
Loading