Skip to content
Merged
Show file tree
Hide file tree
Changes from 3 commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
23 changes: 23 additions & 0 deletions packages/sdk/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,28 @@
# Changelog

## [0.9.2]

πŸ“¦ **NPM:** https://www.npmjs.com/package/@qvac/sdk/v/0.9.2

Hotfix patch release. Single-fix patch β€” no API, behavioral, or model changes.

---

## 🐞 Fixes

### Fix `TypeError: z.xor is not a function` for consumers on zod < 4.3

The SDK's finetune schemas used `z.xor([z.number(), z.nan()])` in 8 places, an API only available in zod β‰₯ 4.3.0. The package declared `"zod": "^4.0.17"`, so consumer projects whose tree resolved zod to a 4.0.x / 4.1.x / 4.2.x version crashed at runtime when finetune schemas loaded.

Two coordinated changes:

- Replaced `z.xor([z.number(), z.nan()])` with `z.union([z.number(), z.nan()])` in `packages/sdk/schemas/finetune.ts`. In zod v4, `z.number()` rejects `NaN` by default, so `z.number()` and `z.nan()` are disjoint β€” `z.xor` and `z.union` are semantically identical here.
- Bumped the declared `zod` floor from `^4.0.17` to `^4.3.0` to align the declared range with the version of zod the SDK is actually built and tested against.

Consumers who hit `_zod.z.xor is not a function` on `0.9.1` will be unblocked at runtime after upgrading to `0.9.2`.

See PR [#1790](https://github.com/tetherto/qvac/pull/1790) for full details and reasoning.

## [0.9.1]

πŸ“¦ **NPM:** https://www.npmjs.com/package/@qvac/sdk/v/0.9.1
Expand Down
7 changes: 7 additions & 0 deletions packages/sdk/changelog/0.9.2/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
# Changelog v0.9.2

Release Date: 2026-04-30

## 🐞 Fixes

- Replace `z.xor` with `z.union` in finetune schemas and bump `zod` floor to `^4.3.0` to fix `TypeError: _zod.z.xor is not a function` for consumers whose tree resolved `zod` to a pre-4.3 version. (see PR [#1790](https://github.com/tetherto/qvac/pull/1790))
22 changes: 22 additions & 0 deletions packages/sdk/changelog/0.9.2/CHANGELOG_LLM.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
# QVAC SDK v0.9.2 Release Notes

πŸ“¦ **NPM:** https://www.npmjs.com/package/@qvac/sdk/v/0.9.2

Hotfix patch release. Single-fix patch β€” no API, behavioral, or model changes.

---

## 🐞 Fixes

### Fix `TypeError: z.xor is not a function` for consumers on zod < 4.3

The SDK's finetune schemas used `z.xor([z.number(), z.nan()])` in 8 places, an API only available in zod β‰₯ 4.3.0. The package declared `"zod": "^4.0.17"`, so consumer projects whose tree resolved zod to a 4.0.x / 4.1.x / 4.2.x version crashed at runtime when finetune schemas loaded.

Two coordinated changes:

- Replaced `z.xor([z.number(), z.nan()])` with `z.union([z.number(), z.nan()])` in `packages/sdk/schemas/finetune.ts`. In zod v4, `z.number()` rejects `NaN` by default, so `z.number()` and `z.nan()` are disjoint β€” `z.xor` and `z.union` are semantically identical here.
- Bumped the declared `zod` floor from `^4.0.17` to `^4.3.0` to align the declared range with the version of zod the SDK is actually built and tested against.

Consumers who hit `_zod.z.xor is not a function` on `0.9.1` will be unblocked at runtime after upgrading to `0.9.2`.

See PR [#1790](https://github.com/tetherto/qvac/pull/1790) for full details and reasoning.
2 changes: 1 addition & 1 deletion packages/sdk/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@qvac/sdk",
"version": "0.9.1",
"version": "0.9.2",
"license": "Apache-2.0",
"repository": {
"type": "git",
Expand Down
Loading