diff --git a/.changeset/anthropic-drop-model-options-system.md b/.changeset/anthropic-drop-model-options-system.md
deleted file mode 100644
index 588124354..000000000
--- a/.changeset/anthropic-drop-model-options-system.md
+++ /dev/null
@@ -1,9 +0,0 @@
----
-'@tanstack/ai-anthropic': minor
----
-
-Drop `modelOptions.system` from the accepted Anthropic provider options. System prompts must now flow through the top-level `systemPrompts` option on `chat()`/`structuredOutput()`.
-
-This was an undocumented escape hatch only reachable via casts, but it was the only way to attach `cache_control` to system blocks for prompt caching. Until `systemPrompts` is widened to carry per-prompt metadata (planned follow-up), callers who need Anthropic `cache_control` on system text should keep using `modelOptions.system` on the prior version, or supply a custom adapter override.
-
-To make the removal loud instead of silent, the adapter now logs an `errors`-category log line via the provided `Logger` whenever unknown `modelOptions` keys are passed (including `system`). Callers casting around the public type will see the dropped keys named in the log, rather than the request going out without them.
diff --git a/.changeset/openrouter-restore-tool-capabilities.md b/.changeset/openrouter-restore-tool-capabilities.md
deleted file mode 100644
index fe43ac225..000000000
--- a/.changeset/openrouter-restore-tool-capabilities.md
+++ /dev/null
@@ -1,5 +0,0 @@
----
-'@tanstack/ai-openrouter': patch
----
-
-Restore `OpenRouterChatModelToolCapabilitiesByName` export in `model-meta.ts` and emit it from the OpenRouter model generator so future syncs don't drop it.
diff --git a/.changeset/sync-models.md b/.changeset/sync-models.md
deleted file mode 100644
index 84e913b41..000000000
--- a/.changeset/sync-models.md
+++ /dev/null
@@ -1,8 +0,0 @@
----
-'@tanstack/ai-anthropic': patch
-'@tanstack/ai-grok': patch
-'@tanstack/ai-openai': patch
-'@tanstack/ai-openrouter': patch
----
-
-Update model metadata from OpenRouter API
diff --git a/.changeset/vue-messages-discrimination.md b/.changeset/vue-messages-discrimination.md
deleted file mode 100644
index 692497af6..000000000
--- a/.changeset/vue-messages-discrimination.md
+++ /dev/null
@@ -1,5 +0,0 @@
----
-'@tanstack/ai-vue': patch
----
-
-Fix `useChat` in Vue: `messages`, `partial`, and `final` now use `Readonly<ShallowRef<X>>` instead of `DeepReadonly<ShallowRef<X>>`. The deep-readonly wrapper was contradictory over a shallow ref and silently collapsed the `MessagePart` discriminated union, breaking `parts.find(p => p.type === 'structured-output')?.data` narrowing in consumer code. The runtime behavior is unchanged.
diff --git a/packages/typescript/ai-anthropic/CHANGELOG.md b/packages/typescript/ai-anthropic/CHANGELOG.md
index 8cd386baf..39818cc49 100644
--- a/packages/typescript/ai-anthropic/CHANGELOG.md
+++ b/packages/typescript/ai-anthropic/CHANGELOG.md
@@ -1,5 +1,19 @@
 # @tanstack/ai-anthropic
 
+## 0.9.0
+
+### Minor Changes
+
+- Drop `modelOptions.system` from the accepted Anthropic provider options. System prompts must now flow through the top-level `systemPrompts` option on `chat()`/`structuredOutput()`. ([#572](https://github.com/TanStack/ai/pull/572))
+
+  This was an undocumented escape hatch only reachable via casts, but it was the only way to attach `cache_control` to system blocks for prompt caching. Until `systemPrompts` is widened to carry per-prompt metadata (planned follow-up), callers who need Anthropic `cache_control` on system text should keep using `modelOptions.system` on the prior version, or supply a custom adapter override.
+
+  To make the removal loud instead of silent, the adapter now logs an `errors`-category log line via the provided `Logger` whenever unknown `modelOptions` keys are passed (including `system`). Callers casting around the public type will see the dropped keys named in the log, rather than the request going out without them.
+
+### Patch Changes
+
+- Update model metadata from OpenRouter API ([#581](https://github.com/TanStack/ai/pull/581))
+
 ## 0.8.9
 
 ### Patch Changes
diff --git a/packages/typescript/ai-anthropic/package.json b/packages/typescript/ai-anthropic/package.json
index 35432300c..25ffd8e35 100644
--- a/packages/typescript/ai-anthropic/package.json
+++ b/packages/typescript/ai-anthropic/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@tanstack/ai-anthropic",
-  "version": "0.8.9",
+  "version": "0.9.0",
   "description": "Anthropic Claude adapter for TanStack AI",
   "author": "",
   "license": "MIT",
diff --git a/packages/typescript/ai-grok/CHANGELOG.md b/packages/typescript/ai-grok/CHANGELOG.md
index 51c38fc41..b0f5d3dd2 100644
--- a/packages/typescript/ai-grok/CHANGELOG.md
+++ b/packages/typescript/ai-grok/CHANGELOG.md
@@ -1,5 +1,11 @@
 # @tanstack/ai-grok
 
+## 0.8.3
+
+### Patch Changes
+
+- Update model metadata from OpenRouter API ([#581](https://github.com/TanStack/ai/pull/581))
+
 ## 0.8.2
 
 ### Patch Changes
diff --git a/packages/typescript/ai-grok/package.json b/packages/typescript/ai-grok/package.json
index 66e402cc8..e0faa7f9d 100644
--- a/packages/typescript/ai-grok/package.json
+++ b/packages/typescript/ai-grok/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@tanstack/ai-grok",
-  "version": "0.8.2",
+  "version": "0.8.3",
   "description": "Grok (xAI) adapter for TanStack AI",
   "author": "",
   "license": "MIT",
diff --git a/packages/typescript/ai-openai/CHANGELOG.md b/packages/typescript/ai-openai/CHANGELOG.md
index 1e20f75f4..0e7a4a74d 100644
--- a/packages/typescript/ai-openai/CHANGELOG.md
+++ b/packages/typescript/ai-openai/CHANGELOG.md
@@ -1,5 +1,11 @@
 # @tanstack/ai-openai
 
+## 0.9.3
+
+### Patch Changes
+
+- Update model metadata from OpenRouter API ([#581](https://github.com/TanStack/ai/pull/581))
+
 ## 0.9.2
 
 ### Patch Changes
diff --git a/packages/typescript/ai-openai/package.json b/packages/typescript/ai-openai/package.json
index d23eb4066..afc04e21d 100644
--- a/packages/typescript/ai-openai/package.json
+++ b/packages/typescript/ai-openai/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@tanstack/ai-openai",
-  "version": "0.9.2",
+  "version": "0.9.3",
   "description": "OpenAI adapter for TanStack AI",
   "author": "",
   "license": "MIT",
diff --git a/packages/typescript/ai-openrouter/CHANGELOG.md b/packages/typescript/ai-openrouter/CHANGELOG.md
index 9456790b4..48bff83a2 100644
--- a/packages/typescript/ai-openrouter/CHANGELOG.md
+++ b/packages/typescript/ai-openrouter/CHANGELOG.md
@@ -1,5 +1,13 @@
 # @tanstack/ai-openrouter
 
+## 0.9.3
+
+### Patch Changes
+
+- Restore `OpenRouterChatModelToolCapabilitiesByName` export in `model-meta.ts` and emit it from the OpenRouter model generator so future syncs don't drop it. ([#582](https://github.com/TanStack/ai/pull/582))
+
+- Update model metadata from OpenRouter API ([#581](https://github.com/TanStack/ai/pull/581))
+
 ## 0.9.2
 
 ### Patch Changes
diff --git a/packages/typescript/ai-openrouter/package.json b/packages/typescript/ai-openrouter/package.json
index 4925af01e..16c1d50ba 100644
--- a/packages/typescript/ai-openrouter/package.json
+++ b/packages/typescript/ai-openrouter/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@tanstack/ai-openrouter",
-  "version": "0.9.2",
+  "version": "0.9.3",
   "description": "OpenRouter adapter for TanStack AI",
   "author": "",
   "license": "MIT",
diff --git a/packages/typescript/ai-vue-ui/CHANGELOG.md b/packages/typescript/ai-vue-ui/CHANGELOG.md
index 675b2ccb3..11e5d34bf 100644
--- a/packages/typescript/ai-vue-ui/CHANGELOG.md
+++ b/packages/typescript/ai-vue-ui/CHANGELOG.md
@@ -1,5 +1,12 @@
 # @tanstack/ai-vue-ui
 
+## 0.1.37
+
+### Patch Changes
+
+- Updated dependencies [[`88fe80c`](https://github.com/TanStack/ai/commit/88fe80c404a218bf3e3a1ed5853a14f61248ed14)]:
+  - @tanstack/ai-vue@0.10.1
+
 ## 0.1.36
 
 ### Patch Changes
diff --git a/packages/typescript/ai-vue-ui/package.json b/packages/typescript/ai-vue-ui/package.json
index 112194cc2..7197f55d1 100644
--- a/packages/typescript/ai-vue-ui/package.json
+++ b/packages/typescript/ai-vue-ui/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@tanstack/ai-vue-ui",
-  "version": "0.1.36",
+  "version": "0.1.37",
   "description": "Headless Vue components for building AI chat interfaces",
   "module": "./src/index.ts",
   "types": "./src/index.ts",
diff --git a/packages/typescript/ai-vue/CHANGELOG.md b/packages/typescript/ai-vue/CHANGELOG.md
index 4f255f180..2c05a6b73 100644
--- a/packages/typescript/ai-vue/CHANGELOG.md
+++ b/packages/typescript/ai-vue/CHANGELOG.md
@@ -1,5 +1,11 @@
 # @tanstack/ai-vue
 
+## 0.10.1
+
+### Patch Changes
+
+- Fix `useChat` in Vue: `messages`, `partial`, and `final` now use `Readonly<ShallowRef<X>>` instead of `DeepReadonly<ShallowRef<X>>`. The deep-readonly wrapper was contradictory over a shallow ref and silently collapsed the `MessagePart` discriminated union, breaking `parts.find(p => p.type === 'structured-output')?.data` narrowing in consumer code. The runtime behavior is unchanged. ([#583](https://github.com/TanStack/ai/pull/583))
+
 ## 0.10.0
 
 ### Minor Changes
diff --git a/packages/typescript/ai-vue/package.json b/packages/typescript/ai-vue/package.json
index 2df0b313a..4efaca928 100644
--- a/packages/typescript/ai-vue/package.json
+++ b/packages/typescript/ai-vue/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@tanstack/ai-vue",
-  "version": "0.10.0",
+  "version": "0.10.1",
   "description": "Vue hooks for TanStack AI",
   "author": "",
   "license": "MIT",
