Skip to content

Changelog

New updates and improvements to OpenCode

  1. v2.2.4

    Publish Interactive Artifacts

    Enable "experimental": { "artifacts": true } in opencode.json to let agents publish, update, and serve HTML or static artifacts through the built-in local provider or plugin-provided storage.#60351

    Improvements

    • SDKExtended client.experimental.persistentPty.update to rename terminals or clear a user title, and exposed userTitle plus persistent-pty.updated events.#60329
  2. v2.2.3

    Added lazy loading for stored image references when experimental.media_blob is enabled

    Added lazy loading for stored image references when experimental.media_blob is enabled. Images are downloaded only for previews, while undo, revert, fork, and prompt recall restore referenced attachments safely.#60116

    Improvements

    • SDKPreserved partial LLMResponse output on AIError.partial when generation, object generation, or a tool loop fails.#60477
    • SDKUnified Effect and Promise tool declarations around tool(...), with optional output schemas and executable or declaration-only tools.#60407
    • SDKAdded typed OpenRouter debug, models, plugins, provider, and user options to the Responses route.#60044

    Fixes

    • SDKMatched the Promise AI client more closely to the Effect API and accepted typed tools in loops.#60465#60390
    • SDKKept tools whose execute handler can throw available to the AI client.#60431
    • SDKContinued polling queued media generations when providers return unknown intermediate statuses.#59988
    • SDKStopped sending an incompatible filename alongside file_url on OpenAI Responses requests.#60382
  3. v2.2.2

    Exposed SessionInfo.time.busy for the latest execution’s start time

    Improvements

    • SDKAdded if and until inputs for client.experimental.schedule.create, plus schedule check results and output fields.#60137
    • SDKAdded optional source metadata to prompt file attachments.
  4. v2.2.1

    Group experimental generated-client methods under client.experimental

    Group experimental generated-client methods under client.experimental; previous locations remain as deprecated aliases until the next minor release.#59072

    Improvements

    • SDKAdd client.experimental.schedule.{create,list,get,pause,resume,delete} for managing scheduled prompts.#59457
    • SDKExpose compaction through the Promise AI client.#59987
    • SDKAdd freeform tool support and Responses routes for OpenRouter, DigitalOcean, and Venice.#59963#59991
  5. v2.2.0

    Create, install and share Desktop plugins (experimental)

    Fixes

    • SDKFix generated Promise client input types for TypeScript consumers.#58875
    • SDKLet SDK clients discard inline tool-result file payloads to reduce memory use.#59101
    • SDKAvoid unnecessary catalog refreshes for locations an SDK client has not loaded.#55237#59099
    • SDKRestore running sessions created while an SDK client was disconnected.#53012
    • SDKRelease omitted tool-image payloads from memory instead of retaining their base64 data.#58560
  6. v1.17.12

    Add a live event subscription stream

    Improvements

    • SDKAdd SDK access to active sessions.
    • SDKRestore session runtime operations such as event streaming, interrupts, and message lookup.
    • SDKAdd paged durable session history.
    • SDKAdd session permission request create and fetch endpoints.

    Fixes

    • SDKPreserve V2Event names in SSE streams.
    • SDKWake embedded session execution after new prompts.
    • SDKImprove V2 runtime tool results and avoid duplicate model switch events.
    • SDKResolve MIME types for prompt attachments sent by URI.
  7. v1.17.10
  8. v1.17.7

    Improvements

    Improvements

    • SDKSDK clients now refresh model and provider availability when integrations change, and credential update and remove calls accept location.
  9. v1.17.0
  10. v1.16.0