Skip to content

Commit b64027f

Browse files
QVAC-19908 chore: release sdk + bare-sdk 0.13.4
Fix-only patch release: recover malformed Qwen hybrid tool-call frames (#2677). Bumps @qvac/sdk and @qvac/bare-sdk to 0.13.4 and adds the 0.13.4 changelog. (cherry picked from commit 92da258)
1 parent 4b3ac99 commit b64027f

5 files changed

Lines changed: 52 additions & 9 deletions

File tree

packages/bare-sdk/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "@qvac/bare-sdk",
3-
"version": "0.13.3",
3+
"version": "0.13.4",
44
"license": "Apache-2.0",
55
"description": "Bare-targeted slim assembly of the QVAC SDK. Consumers install only the addon packages they need and register plugins explicitly. No addon dependencies pulled in by default.",
66
"repository": {

packages/sdk/CHANGELOG.md

Lines changed: 25 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,23 @@
11
# Changelog
22

3+
## [0.13.4]
4+
5+
📦 **NPM:** https://www.npmjs.com/package/@qvac/sdk/v/0.13.4
6+
7+
A patch release that hardens tool-call parsing for Qwen models used in agentic
8+
workflows.
9+
10+
## Bug Fixes
11+
12+
### Recover malformed Qwen tool-call frames
13+
14+
Qwen3.5/3.6 can intermittently emit a malformed tool-call frame that fuses its
15+
XML and JSON tool templates, embedding the `function=<name>` token as a bare
16+
string key inside an otherwise JSON object. Previously the parser rejected that
17+
frame as invalid JSON, so no structured tool call was produced and callers saw
18+
the raw markup as assistant text. The parser now recognizes and repairs this
19+
specific shape, so the tool call is recovered and dispatched correctly.
20+
321
## [0.13.3]
422

523
📦 **NPM:** https://www.npmjs.com/package/@qvac/sdk/v/0.13.3
@@ -58,15 +76,15 @@ per-platform prebuilds at install time. Both packages remain available in
5876

5977
The bundled `@qvac/rag` dependency is updated to `^0.6.4`.
6078

61-
## [0.13.1]
62-
63-
📦 **NPM:** https://www.npmjs.com/package/@qvac/sdk/v/0.13.1
64-
65-
Dependency-maintenance patch. `@qvac/sdk` and `@qvac/bare-sdk` adopt `bare-fetch` 3.x and `@qvac/decoder-audio` 0.4.x, and move dev-only `bare-subprocess` to 6.x. This removes the deprecated `@qvac/response` and its exact `bare-events 2.4.2` pin from the dependency tree.
79+
## [0.13.1] (LLM)
6680

67-
## Maintenance
81+
Dependency-maintenance patch. No public API changes.
6882

69-
Bump `bare-fetch` to `^3.0.1` (public fetch API unchanged) and dev `bare-subprocess` to `^6.1.0`. Bump `@qvac/decoder-audio` to `^0.4.0` (drops deprecated `@qvac/response`); `decoder-audio@0.4.0` returns its `QvacResponse` synchronously, so `server/utils/audio/decoder.ts` no longer `await`s `decoder.run()`. `@qvac/sdk`/`@qvac/bare-sdk` bumped in lockstep.
83+
- `bare-fetch``^3.0.1` (transitive-only major; fetch API unchanged; only 3.0.1 header validation, all SDK headers are RFC-valid).
84+
- dev `bare-subprocess``^6.1.0` (not shipped to consumers).
85+
- `@qvac/decoder-audio``^0.4.0`: removes the deprecated `@qvac/response` package (folded into `@qvac/infer-base`) from the dependency tree, eliminating its exact `bare-events 2.4.2` pin. `decoder-audio@0.4.0`'s `run()` returns `QvacResponse` synchronously; `server/utils/audio/decoder.ts` updated to not `await` it.
86+
- `@qvac/sdk` + `@qvac/bare-sdk` bumped in lockstep.
87+
- Validated by a clean install: no `@qvac/response`, no `bare-events@2.4.2`, no `bare-fetch@2.x`, no `decoder-audio@0.3.x` resolve in the tree.
7088

7189
## [0.13.0]
7290

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
# Changelog v0.13.4
2+
3+
Release Date: 2026-06-18
4+
5+
## 🐞 Fixes
6+
7+
- Recover Qwen hybrid tool-call frames. (see PR [#2677](https://github.com/tetherto/qvac/pull/2677))
8+
Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
# QVAC SDK v0.13.4 Release Notes
2+
3+
📦 **NPM:** https://www.npmjs.com/package/@qvac/sdk/v/0.13.4
4+
5+
A patch release that hardens tool-call parsing for Qwen models used in agentic
6+
workflows.
7+
8+
## Bug Fixes
9+
10+
### Recover malformed Qwen tool-call frames
11+
12+
Qwen3.5/3.6 can intermittently emit a malformed tool-call frame that fuses its
13+
XML and JSON tool templates, embedding the `function=<name>` token as a bare
14+
string key inside an otherwise JSON object. Previously the parser rejected that
15+
frame as invalid JSON, so no structured tool call was produced and callers saw
16+
the raw markup as assistant text. The parser now recognizes and repairs this
17+
specific shape, so the tool call is recovered and dispatched correctly.

packages/sdk/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "@qvac/sdk",
3-
"version": "0.13.3",
3+
"version": "0.13.4",
44
"license": "Apache-2.0",
55
"repository": {
66
"type": "git",

0 commit comments

Comments
 (0)