From 4d4247b8c116346d964ff2c4c4566d6ba9d94956 Mon Sep 17 00:00:00 2001 From: Simon Iribarren Date: Fri, 21 Aug 2026 15:22:13 +0200 Subject: [PATCH] chore[notask]: release @qvac/opencode-plugin 0.3.0 Pairs the plugin with the @qvac/cli 0.12 line. - version 0.2.0 -> 0.3.0 - @qvac/cli dependency ^0.11.0 -> ^0.12.0 - README requirements updated (CLI 0.12, SDK 0.18 runtime) - changelog/0.3.0/ (CHANGELOG.md, CHANGELOG_LLM.md, breaking.md) - aggregated CHANGELOG.md rebuilt (cherry picked from commit ee46639ce599c5e65ecf3893f369d383a4edf051) --- plugins/opencode/CHANGELOG.md | 21 +++++++++++++++++++ plugins/opencode/README.md | 8 +++---- plugins/opencode/changelog/0.3.0/CHANGELOG.md | 7 +++++++ .../opencode/changelog/0.3.0/CHANGELOG_LLM.md | 20 ++++++++++++++++++ plugins/opencode/changelog/0.3.0/breaking.md | 13 ++++++++++++ plugins/opencode/package.json | 4 ++-- 6 files changed, 67 insertions(+), 6 deletions(-) create mode 100644 plugins/opencode/changelog/0.3.0/CHANGELOG.md create mode 100644 plugins/opencode/changelog/0.3.0/CHANGELOG_LLM.md create mode 100644 plugins/opencode/changelog/0.3.0/breaking.md diff --git a/plugins/opencode/CHANGELOG.md b/plugins/opencode/CHANGELOG.md index a31e5b06e6..eb4bbb35b0 100644 --- a/plugins/opencode/CHANGELOG.md +++ b/plugins/opencode/CHANGELOG.md @@ -1,5 +1,26 @@ # Changelog +## [0.3.0] + +📦 **NPM:** https://www.npmjs.com/package/@qvac/opencode-plugin/v/0.3.0 + +This release pairs the plugin with the `@qvac/cli` 0.12 line. The SDK removed the dynamic tools mode, so the plugin no longer pins the field that used to select it — a behaviour-neutral change on its own, but one that ties this version to the newer host. + +## Breaking Changes + +### Requires the @qvac/cli 0.12 line + +The plugin stops sending `toolsMode: 'static'` in the managed serve's model configuration. The SDK removed that field from its llamacpp config schema, and passing it now fails validation rather than being quietly ignored. A `0.2.x` plugin therefore cannot drive a `@qvac/cli` 0.12 / `@qvac/sdk` 0.18 serve, so the plugin and its host must move together — a normal `npm install` of this package does that. + +Nothing changes about how tools are handled. `static` was the only mode this plugin ever selected, and it is now the sole behaviour: tool definitions are always prepended after the system message. + +## Dependency Alignment + +Installs now resolve: + +- `@qvac/cli@^0.12.0` for `qvac serve` (SDK 0.18 runtime), which also brings the serve model catalog and lazy loading of models configured with `preload: false` +- `@qvac/ai-sdk-provider@^0.6.0` for managed mode, unchanged — the range already covers the 0.6.1 peer-range release + ## [0.2.0] 📦 **NPM:** https://www.npmjs.com/package/@qvac/opencode-plugin/v/0.2.0 diff --git a/plugins/opencode/README.md b/plugins/opencode/README.md index c96acac874..251be05449 100644 --- a/plugins/opencode/README.md +++ b/plugins/opencode/README.md @@ -148,10 +148,10 @@ running `opencode` from the terminal. for managed mode (AI SDK 7). The host proxies on behalf of the managed serve, so it needs the provider's `ManagedQvacProvider.apiKey` getter — see [Provider compatibility](#provider-compatibility). -- [`@qvac/cli@^0.11.0`](https://www.npmjs.com/package/@qvac/cli) available so the - host can run `qvac serve` (SDK 0.17 runtime). 0.11.0 is also the first CLI that - accepts `--api-key-file`, which keeps the managed serve's bearer key out of the - process command line. +- [`@qvac/cli@^0.12.0`](https://www.npmjs.com/package/@qvac/cli) available so the + host can run `qvac serve` (SDK 0.18 runtime). `--api-key-file`, which keeps the + managed serve's bearer key out of the process command line, has been accepted + since CLI 0.11.0. - Node.js 22 or newer. ### Provider compatibility diff --git a/plugins/opencode/changelog/0.3.0/CHANGELOG.md b/plugins/opencode/changelog/0.3.0/CHANGELOG.md new file mode 100644 index 0000000000..262db31bc5 --- /dev/null +++ b/plugins/opencode/changelog/0.3.0/CHANGELOG.md @@ -0,0 +1,7 @@ +# Changelog v0.3.0 + +Release Date: 2026-08-21 + +## 🐞 Fixes + +- Stop pinning `toolsMode: 'static'` on the managed serve's model config. The field was removed from the SDK's llamacpp schema and is now rejected rather than ignored. (see PR [#3380](https://github.com/tetherto/qvac/pull/3380)) - See [breaking changes](./breaking.md) diff --git a/plugins/opencode/changelog/0.3.0/CHANGELOG_LLM.md b/plugins/opencode/changelog/0.3.0/CHANGELOG_LLM.md new file mode 100644 index 0000000000..bcf8548816 --- /dev/null +++ b/plugins/opencode/changelog/0.3.0/CHANGELOG_LLM.md @@ -0,0 +1,20 @@ +# QVAC OpenCode Plugin v0.3.0 Release Notes + +📦 **NPM:** https://www.npmjs.com/package/@qvac/opencode-plugin/v/0.3.0 + +This release pairs the plugin with the `@qvac/cli` 0.12 line. The SDK removed the dynamic tools mode, so the plugin no longer pins the field that used to select it — a behaviour-neutral change on its own, but one that ties this version to the newer host. + +## Breaking Changes + +### Requires the @qvac/cli 0.12 line + +The plugin stops sending `toolsMode: 'static'` in the managed serve's model configuration. The SDK removed that field from its llamacpp config schema, and passing it now fails validation rather than being quietly ignored. A `0.2.x` plugin therefore cannot drive a `@qvac/cli` 0.12 / `@qvac/sdk` 0.18 serve, so the plugin and its host must move together — a normal `npm install` of this package does that. + +Nothing changes about how tools are handled. `static` was the only mode this plugin ever selected, and it is now the sole behaviour: tool definitions are always prepended after the system message. + +## Dependency Alignment + +Installs now resolve: + +- `@qvac/cli@^0.12.0` for `qvac serve` (SDK 0.18 runtime), which also brings the serve model catalog and lazy loading of models configured with `preload: false` +- `@qvac/ai-sdk-provider@^0.6.0` for managed mode, unchanged — the range already covers the 0.6.1 peer-range release diff --git a/plugins/opencode/changelog/0.3.0/breaking.md b/plugins/opencode/changelog/0.3.0/breaking.md new file mode 100644 index 0000000000..8910f77bfa --- /dev/null +++ b/plugins/opencode/changelog/0.3.0/breaking.md @@ -0,0 +1,13 @@ +# 💥 Breaking Changes v0.3.0 + +## Requires the @qvac/cli 0.12 line + +PR: [#3380](https://github.com/tetherto/qvac/pull/3380) + +_No migration code — the managed serve config is private to the plugin and the host it bundles._ + +- The plugin no longer sends `toolsMode: 'static'` in the managed serve's model config. The SDK removed that field from its llamacpp config schema, and passing it now fails validation instead of being ignored, so plugin `0.2.x` cannot drive a `@qvac/cli` 0.12 / `@qvac/sdk` 0.18 serve. Upgrade the plugin and the host together — installing this package does that. +- Behaviour is otherwise unchanged. `static` was the only mode this plugin ever selected, and it is now the sole behaviour: tools are always prepended after the system message. +- The `@qvac/cli` dependency floor moves from `^0.11.0` to `^0.12.0` accordingly. + +--- diff --git a/plugins/opencode/package.json b/plugins/opencode/package.json index c322f435df..f9759759bc 100644 --- a/plugins/opencode/package.json +++ b/plugins/opencode/package.json @@ -1,6 +1,6 @@ { "name": "@qvac/opencode-plugin", - "version": "0.2.0", + "version": "0.3.0", "description": "OpenCode plugin that runs a local, managed QVAC serve so `opencode` works against on-device models with no second terminal", "author": "Tether", "license": "Apache-2.0", @@ -59,7 +59,7 @@ "dependencies": { "@ai-sdk/openai-compatible": "^3.0.0", "@qvac/ai-sdk-provider": "^0.6.0", - "@qvac/cli": "^0.11.0", + "@qvac/cli": "^0.12.0", "ai": "^7.0.0" }, "devDependencies": {