Skip to content

Releases: open-runtime/opencode

v1.2.26-open-runtime-fork.3

Choose a tag to compare

fix: add timeouts to MCP listTools and LLM connection to prevent inde…

v1.2.26-open-runtime-fork.2

Choose a tag to compare

feat(release): add Windows ARM64 binary to release matrix

- Add windows-11-arm runner to build matrix for windows/arm64
- Add windows-arm64 row to release download table
- Fix packaging step conditionals to use matrix.platform instead of
  matrix.os so both Windows runners (windows-latest, windows-11-arm)
  correctly use PowerShell Compress-Archive

The build script (build.ts) already supports win32/arm64 in
allTargets — this just adds the CI runner to actually build it.
Bun has supported Windows ARM64 natively since v1.3.10.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>

v1.2.26-open-runtime-fork.1

Choose a tag to compare

feat(plugin): forward maxTokens from RuntimeAPI to LLM.stream()

Add optional maxOutputTokens field to LLM.StreamInput and use it as
an override before falling back to ProviderTransform.maxOutputTokens().

The RuntimeAPI's stream() params.maxTokens is now forwarded through
LLM.stream({ maxOutputTokens }), so plugin callers (including the
Dart runtime) can control output token limits per-request.

Previously maxTokens was silently dropped — the Dart side sends
maxTokens for title generation (30), emoji generation (20), and
summaries (maxWords * 2), all of which were ignored, causing
unnecessary token usage and latency.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>

v1.1.50-open-runtime-fork.3

Choose a tag to compare

fix(plugin): remove unnecessary default auth plugins from BUILTIN

These third-party auth plugins (opencode-anthropic-auth, gitlab-auth) are
unnecessary for our embedded runtime use case where auth is handled by the
host Dart process. They cause intermittent ERR_MODULE_NOT_FOUND failures
when Bun's compiled binary can't resolve npm packages installed at runtime
from /$bunfs/, and add ~1.5s of startup latency per execution.

Co-authored-by: Cursor <cursoragent@cursor.com>

v1.1.50-open-runtime-fork.2

Choose a tag to compare

fix(plugin): use neutral agent for RuntimeAPI to prevent prompt conta…

v1.1.50-open-runtime-fork.1

Choose a tag to compare

fix(plugin): fix RuntimeAPI getProviders, getModels, and stream error…

v1.1.48-open-runtime-fork.6

Choose a tag to compare

fix: extract base semver for plugin version matching

Handles custom fork version strings like "1.1.48-open-runtime-fork.5"
by extracting the base semver "1.1.48" for @opencode-ai/plugin installation.

This allows the fork to use the official @opencode-ai/plugin package
from npm without requiring a separately published fork plugin.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>

v1.1.48-open-runtime-fork.5

Choose a tag to compare

fix(plugin): Add complete model structure to RuntimeAPI fallback

The fallback model was missing required fields like `capabilities`,
`cost`, `limit`, etc. that LLM.stream() expects. This caused errors like
"undefined is not an object (evaluating 'input.model.capabilities.temperature')".

Now creates a complete model object with sensible defaults for all
required fields, enabling RuntimeAPI to work when Provider.getModel()
fails (e.g., for providers not in models.dev like OpenRouter).

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>

v1.1.48-open-runtime-fork.4

Choose a tag to compare

fix(plugin): Include api.npm in RuntimeAPI fallback model

When Provider.getModel() fails, the RuntimeAPI creates a fallback model
object. This fallback was missing the api.npm field required by getSDK()
to load the correct provider SDK.

Added a mapping of known provider IDs to their npm packages, with a
fallback to @ai-sdk/openai-compatible for unknown providers.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>

v1.1.48-open-runtime-fork.3

Choose a tag to compare

feat: expose RuntimeAPI to plugins for LLM completion calls

Adds a new RuntimeAPI that plugins can use to make LLM completion calls
without disrupting the active session. The API provides:
- stream(): Stream LLM completions with deltas
- getProviders(): List available providers
- getModels(): List available models for a provider

This allows the Dart runtime plugin to make LLM calls through the
official plugin API rather than relying on internal module imports.