@mastra/server 0.0.0-error-handler-fix-20251020202607 → 0.0.0-export-agent-memory-from-local-studio-20251112153946

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (179) hide show
  1. package/CHANGELOG.md +802 -3
  2. package/README.md +1 -1
  3. package/dist/{chunk-FWO7VQDC.js → chunk-2IS5WICF.js} +7079 -1524
  4. package/dist/chunk-2IS5WICF.js.map +1 -0
  5. package/dist/{chunk-SPRRK3P7.cjs → chunk-2YZH5PH6.cjs} +47 -47
  6. package/dist/chunk-2YZH5PH6.cjs.map +1 -0
  7. package/dist/{chunk-BATEJLED.js → chunk-3AMNUUZF.js} +20 -20
  8. package/dist/chunk-3AMNUUZF.js.map +1 -0
  9. package/dist/{chunk-AW5BU3RQ.js → chunk-3F52QCI4.js} +40 -40
  10. package/dist/chunk-3F52QCI4.js.map +1 -0
  11. package/dist/{chunk-OEOGYAQC.js → chunk-4JF5WXPL.js} +155 -206
  12. package/dist/chunk-4JF5WXPL.js.map +1 -0
  13. package/dist/{chunk-7NADHFD2.cjs → chunk-64ITUOXI.cjs} +2 -2
  14. package/dist/chunk-64ITUOXI.cjs.map +1 -0
  15. package/dist/{chunk-MMROOK5J.js → chunk-6QWQZI4Q.js} +2 -2
  16. package/dist/{chunk-7NADHFD2.cjs.map → chunk-6QWQZI4Q.js.map} +1 -1
  17. package/dist/{chunk-ABRFV4XP.js → chunk-73PAWDM5.js} +13 -13
  18. package/dist/chunk-73PAWDM5.js.map +1 -0
  19. package/dist/{chunk-2S4IMB6E.cjs → chunk-A24TSVEZ.cjs} +39 -39
  20. package/dist/chunk-A24TSVEZ.cjs.map +1 -0
  21. package/dist/chunk-A2NPD5N6.cjs +517 -0
  22. package/dist/chunk-A2NPD5N6.cjs.map +1 -0
  23. package/dist/{chunk-QQXMIP6C.js → chunk-B3Z6J745.js} +17 -17
  24. package/dist/chunk-B3Z6J745.js.map +1 -0
  25. package/dist/{chunk-G4PUALCE.cjs → chunk-BTWIR2B7.cjs} +4 -4
  26. package/dist/{chunk-G4PUALCE.cjs.map → chunk-BTWIR2B7.cjs.map} +1 -1
  27. package/dist/{chunk-YWOK4F5A.js → chunk-D7T74TVR.js} +4 -6
  28. package/dist/chunk-D7T74TVR.js.map +1 -0
  29. package/dist/{chunk-FHSOPERI.cjs → chunk-EHACNWDL.cjs} +221 -242
  30. package/dist/chunk-EHACNWDL.cjs.map +1 -0
  31. package/dist/{chunk-HPXAM2PG.js → chunk-FPBYKMIS.js} +13 -13
  32. package/dist/chunk-FPBYKMIS.js.map +1 -0
  33. package/dist/{chunk-3SNGNFUJ.cjs → chunk-GLAZTMX3.cjs} +37 -37
  34. package/dist/chunk-GLAZTMX3.cjs.map +1 -0
  35. package/dist/{chunk-7HDOBOGG.cjs → chunk-ID6JYDNL.cjs} +7102 -1544
  36. package/dist/chunk-ID6JYDNL.cjs.map +1 -0
  37. package/dist/{chunk-TRGAMKHX.cjs → chunk-KF3RI45U.cjs} +46 -41
  38. package/dist/chunk-KF3RI45U.cjs.map +1 -0
  39. package/dist/{chunk-TOP25AIO.cjs → chunk-KJIDZQRA.cjs} +14 -14
  40. package/dist/chunk-KJIDZQRA.cjs.map +1 -0
  41. package/dist/{chunk-MYR4PVGN.js → chunk-KWH5QBXP.js} +4 -4
  42. package/dist/{chunk-MYR4PVGN.js.map → chunk-KWH5QBXP.js.map} +1 -1
  43. package/dist/{chunk-AHB4JCIQ.js → chunk-ND5OKOMT.js} +31 -26
  44. package/dist/chunk-ND5OKOMT.js.map +1 -0
  45. package/dist/{chunk-XN74I6VW.cjs → chunk-PPMIB3FQ.cjs} +20 -20
  46. package/dist/chunk-PPMIB3FQ.cjs.map +1 -0
  47. package/dist/{chunk-XVPBGW6Y.cjs → chunk-QU6N55W6.cjs} +9 -9
  48. package/dist/{chunk-XVPBGW6Y.cjs.map → chunk-QU6N55W6.cjs.map} +1 -1
  49. package/dist/{chunk-EP3JQDPD.cjs → chunk-S54HNARD.cjs} +18 -18
  50. package/dist/{chunk-EP3JQDPD.cjs.map → chunk-S54HNARD.cjs.map} +1 -1
  51. package/dist/{chunk-SIW6CYO3.js → chunk-SHWNNZBL.js} +7 -7
  52. package/dist/{chunk-SIW6CYO3.js.map → chunk-SHWNNZBL.js.map} +1 -1
  53. package/dist/{chunk-4QCXUEAT.js → chunk-SZIFSF4T.js} +3 -3
  54. package/dist/{chunk-4QCXUEAT.js.map → chunk-SZIFSF4T.js.map} +1 -1
  55. package/dist/{chunk-FZNS32WJ.js → chunk-TOCYBDP2.js} +4 -4
  56. package/dist/{chunk-FZNS32WJ.js.map → chunk-TOCYBDP2.js.map} +1 -1
  57. package/dist/{chunk-CY4TP3FK.js → chunk-UXGQZUYZ.js} +3 -3
  58. package/dist/{chunk-CY4TP3FK.js.map → chunk-UXGQZUYZ.js.map} +1 -1
  59. package/dist/{chunk-RE4RPXT2.cjs → chunk-V5WWQN7P.cjs} +4 -4
  60. package/dist/{chunk-RE4RPXT2.cjs.map → chunk-V5WWQN7P.cjs.map} +1 -1
  61. package/dist/{chunk-VY4ENABS.cjs → chunk-W2KMU354.cjs} +4 -6
  62. package/dist/chunk-W2KMU354.cjs.map +1 -0
  63. package/dist/chunk-X3MICMI2.cjs +620 -0
  64. package/dist/chunk-X3MICMI2.cjs.map +1 -0
  65. package/dist/{chunk-OYL5TBJW.cjs → chunk-X6C7BUWN.cjs} +4 -4
  66. package/dist/{chunk-OYL5TBJW.cjs.map → chunk-X6C7BUWN.cjs.map} +1 -1
  67. package/dist/{chunk-XDAYZS6N.js → chunk-Z2O5YVHY.js} +190 -211
  68. package/dist/chunk-Z2O5YVHY.js.map +1 -0
  69. package/dist/{chunk-DB63UMTV.js → chunk-ZJ6KEY6H.js} +110 -170
  70. package/dist/chunk-ZJ6KEY6H.js.map +1 -0
  71. package/dist/server/handlers/a2a.cjs +7 -7
  72. package/dist/server/handlers/a2a.d.ts +10 -10
  73. package/dist/server/handlers/a2a.d.ts.map +1 -1
  74. package/dist/server/handlers/a2a.js +1 -1
  75. package/dist/server/handlers/agent-builder.cjs +31 -19
  76. package/dist/server/handlers/agent-builder.d.ts +38 -47
  77. package/dist/server/handlers/agent-builder.d.ts.map +1 -1
  78. package/dist/server/handlers/agent-builder.js +1 -1
  79. package/dist/server/handlers/agents.cjs +26 -26
  80. package/dist/server/handlers/agents.d.ts +44 -54
  81. package/dist/server/handlers/agents.d.ts.map +1 -1
  82. package/dist/server/handlers/agents.js +1 -1
  83. package/dist/server/handlers/error.cjs +2 -2
  84. package/dist/server/handlers/error.js +1 -1
  85. package/dist/server/handlers/logs.cjs +7 -7
  86. package/dist/server/handlers/logs.d.ts +3 -3
  87. package/dist/server/handlers/logs.d.ts.map +1 -1
  88. package/dist/server/handlers/logs.js +1 -1
  89. package/dist/server/handlers/memory.cjs +17 -25
  90. package/dist/server/handlers/memory.d.ts +28 -34
  91. package/dist/server/handlers/memory.d.ts.map +1 -1
  92. package/dist/server/handlers/memory.js +1 -1
  93. package/dist/server/handlers/observability.cjs +8 -8
  94. package/dist/server/handlers/observability.d.ts +12 -12
  95. package/dist/server/handlers/observability.d.ts.map +1 -1
  96. package/dist/server/handlers/observability.js +1 -1
  97. package/dist/server/handlers/scores.cjs +11 -11
  98. package/dist/server/handlers/scores.d.ts +24 -24
  99. package/dist/server/handlers/scores.d.ts.map +1 -1
  100. package/dist/server/handlers/scores.js +1 -1
  101. package/dist/server/handlers/tools.cjs +7 -7
  102. package/dist/server/handlers/tools.d.ts +8 -8
  103. package/dist/server/handlers/tools.d.ts.map +1 -1
  104. package/dist/server/handlers/tools.js +1 -1
  105. package/dist/server/handlers/utils.cjs +3 -3
  106. package/dist/server/handlers/utils.js +1 -1
  107. package/dist/server/handlers/vector.cjs +7 -7
  108. package/dist/server/handlers/vector.js +1 -1
  109. package/dist/server/handlers/voice.cjs +5 -5
  110. package/dist/server/handlers/voice.d.ts +6 -6
  111. package/dist/server/handlers/voice.js +1 -1
  112. package/dist/server/handlers/workflows.cjs +27 -27
  113. package/dist/server/handlers/workflows.d.ts +34 -37
  114. package/dist/server/handlers/workflows.d.ts.map +1 -1
  115. package/dist/server/handlers/workflows.js +1 -1
  116. package/dist/server/handlers.cjs +26 -36
  117. package/dist/server/handlers.d.ts +0 -2
  118. package/dist/server/handlers.d.ts.map +1 -1
  119. package/dist/server/handlers.js +11 -13
  120. package/dist/server/http-exception.d.ts +0 -5
  121. package/dist/server/http-exception.d.ts.map +1 -1
  122. package/dist/server/utils.d.ts +3 -2
  123. package/dist/server/utils.d.ts.map +1 -1
  124. package/dist/{token-53CFGXUO.cjs → token-375W3LEI.cjs} +10 -10
  125. package/dist/{token-53CFGXUO.cjs.map → token-375W3LEI.cjs.map} +1 -1
  126. package/dist/{token-WAEKDUVY.js → token-C3IMNCC4.js} +8 -8
  127. package/dist/{token-WAEKDUVY.js.map → token-C3IMNCC4.js.map} +1 -1
  128. package/dist/token-util-CV3RRG6K.cjs +9 -0
  129. package/dist/{token-util-S4A355II.cjs.map → token-util-CV3RRG6K.cjs.map} +1 -1
  130. package/dist/token-util-E5QO2RCL.js +7 -0
  131. package/dist/{token-util-LY37VCIN.js.map → token-util-E5QO2RCL.js.map} +1 -1
  132. package/package.json +11 -8
  133. package/dist/chunk-2S4IMB6E.cjs.map +0 -1
  134. package/dist/chunk-3LTO44EP.cjs +0 -570
  135. package/dist/chunk-3LTO44EP.cjs.map +0 -1
  136. package/dist/chunk-3SNGNFUJ.cjs.map +0 -1
  137. package/dist/chunk-67GYDFSB.js +0 -160
  138. package/dist/chunk-67GYDFSB.js.map +0 -1
  139. package/dist/chunk-6ZR275MD.cjs +0 -165
  140. package/dist/chunk-6ZR275MD.cjs.map +0 -1
  141. package/dist/chunk-7HDOBOGG.cjs.map +0 -1
  142. package/dist/chunk-ABRFV4XP.js.map +0 -1
  143. package/dist/chunk-AHB4JCIQ.js.map +0 -1
  144. package/dist/chunk-AW5BU3RQ.js.map +0 -1
  145. package/dist/chunk-BATEJLED.js.map +0 -1
  146. package/dist/chunk-DB63UMTV.js.map +0 -1
  147. package/dist/chunk-FHSOPERI.cjs.map +0 -1
  148. package/dist/chunk-FWO7VQDC.js.map +0 -1
  149. package/dist/chunk-HPXAM2PG.js.map +0 -1
  150. package/dist/chunk-I3C4ODGV.cjs +0 -335
  151. package/dist/chunk-I3C4ODGV.cjs.map +0 -1
  152. package/dist/chunk-LLUOPR3J.js +0 -323
  153. package/dist/chunk-LLUOPR3J.js.map +0 -1
  154. package/dist/chunk-MMROOK5J.js.map +0 -1
  155. package/dist/chunk-MQDBNHBT.cjs +0 -680
  156. package/dist/chunk-MQDBNHBT.cjs.map +0 -1
  157. package/dist/chunk-OEOGYAQC.js.map +0 -1
  158. package/dist/chunk-QQXMIP6C.js.map +0 -1
  159. package/dist/chunk-SPRRK3P7.cjs.map +0 -1
  160. package/dist/chunk-TOP25AIO.cjs.map +0 -1
  161. package/dist/chunk-TRGAMKHX.cjs.map +0 -1
  162. package/dist/chunk-VY4ENABS.cjs.map +0 -1
  163. package/dist/chunk-XDAYZS6N.js.map +0 -1
  164. package/dist/chunk-XN74I6VW.cjs.map +0 -1
  165. package/dist/chunk-YWOK4F5A.js.map +0 -1
  166. package/dist/server/handlers/legacyWorkflows.cjs +0 -48
  167. package/dist/server/handlers/legacyWorkflows.cjs.map +0 -1
  168. package/dist/server/handlers/legacyWorkflows.d.ts +0 -59
  169. package/dist/server/handlers/legacyWorkflows.d.ts.map +0 -1
  170. package/dist/server/handlers/legacyWorkflows.js +0 -3
  171. package/dist/server/handlers/legacyWorkflows.js.map +0 -1
  172. package/dist/server/handlers/telemetry.cjs +0 -20
  173. package/dist/server/handlers/telemetry.cjs.map +0 -1
  174. package/dist/server/handlers/telemetry.d.ts +0 -33
  175. package/dist/server/handlers/telemetry.d.ts.map +0 -1
  176. package/dist/server/handlers/telemetry.js +0 -3
  177. package/dist/server/handlers/telemetry.js.map +0 -1
  178. package/dist/token-util-LY37VCIN.js +0 -7
  179. package/dist/token-util-S4A355II.cjs +0 -9
package/CHANGELOG.md CHANGED
@@ -1,19 +1,818 @@
1
1
  # @mastra/server
2
2
 
3
- ## 0.0.0-error-handler-fix-20251020202607
3
+ ## 0.0.0-export-agent-memory-from-local-studio-20251112153946
4
+
5
+ ### Major Changes
6
+
7
+ - Moving scorers under the eval domain, api method consistency, prebuilt evals, scorers require ids. ([#9589](https://github.com/mastra-ai/mastra/pull/9589))
8
+
9
+ - Every Mastra primitive (agent, MCPServer, workflow, tool, processor, scorer, and vector) now has a get, list, and add method associated with it. Each primitive also now requires an id to be set. ([#9675](https://github.com/mastra-ai/mastra/pull/9675))
10
+
11
+ Primitives that are added to other primitives are also automatically added to the Mastra instance
12
+
13
+ - Update handlers to use `listWorkflowRuns` instead of `getWorkflowRuns`. Fix type names from `StoragelistThreadsByResourceIdInput/Output` to `StorageListThreadsByResourceIdInput/Output`. ([#9507](https://github.com/mastra-ai/mastra/pull/9507))
14
+
15
+ - **BREAKING:** Remove `getMessagesPaginated()` and add `perPage: false` support ([#9670](https://github.com/mastra-ai/mastra/pull/9670))
16
+
17
+ Removes deprecated `getMessagesPaginated()` method. The `listMessages()` API and score handlers now support `perPage: false` to fetch all records without pagination limits.
18
+
19
+ **Storage changes:**
20
+ - `StoragePagination.perPage` type changed from `number` to `number | false`
21
+ - All storage implementations support `perPage: false`:
22
+ - Memory: `listMessages()`
23
+ - Scores: `listScoresBySpan()`, `listScoresByRunId()`, `listScoresByExecutionId()`
24
+ - HTTP query parser accepts `"false"` string (e.g., `?perPage=false`)
25
+
26
+ **Memory changes:**
27
+ - `memory.query()` parameter type changed from `StorageGetMessagesArg` to `StorageListMessagesInput`
28
+ - Uses flat parameters (`page`, `perPage`, `include`, `filter`, `vectorSearchString`) instead of `selectBy` object
29
+
30
+ **Stricter validation:**
31
+ - `listMessages()` requires non-empty, non-whitespace `threadId` (throws error instead of returning empty results)
32
+
33
+ **Migration:**
34
+
35
+ ```typescript
36
+ // Storage/Memory: Replace getMessagesPaginated with listMessages
37
+ - storage.getMessagesPaginated({ threadId, selectBy: { pagination: { page: 0, perPage: 20 } } })
38
+ + storage.listMessages({ threadId, page: 0, perPage: 20 })
39
+ + storage.listMessages({ threadId, page: 0, perPage: false }) // Fetch all
40
+
41
+ // Memory: Replace selectBy with flat parameters
42
+ - memory.query({ threadId, selectBy: { last: 20, include: [...] } })
43
+ + memory.query({ threadId, perPage: 20, include: [...] })
44
+
45
+ // Client SDK
46
+ - thread.getMessagesPaginated({ selectBy: { pagination: { page: 0 } } })
47
+ + thread.listMessages({ page: 0, perPage: 20 })
48
+ ```
49
+
50
+ - # Major Changes ([#9695](https://github.com/mastra-ai/mastra/pull/9695))
51
+
52
+ ## Storage Layer
53
+
54
+ ### BREAKING: Removed `storage.getMessages()`
55
+
56
+ The `getMessages()` method has been removed from all storage implementations. Use `listMessages()` instead, which provides pagination support.
57
+
58
+ **Migration:**
59
+
60
+ ```typescript
61
+ // Before
62
+ const messages = await storage.getMessages({ threadId: 'thread-1' });
63
+
64
+ // After
65
+ const result = await storage.listMessages({
66
+ threadId: 'thread-1',
67
+ page: 0,
68
+ perPage: 50,
69
+ });
70
+ const messages = result.messages; // Access messages array
71
+ console.log(result.total); // Total count
72
+ console.log(result.hasMore); // Whether more pages exist
73
+ ```
74
+
75
+ ### Message ordering default
76
+
77
+ `listMessages()` defaults to ASC (oldest first) ordering by `createdAt`, matching the previous `getMessages()` behavior.
78
+
79
+ **To use DESC ordering (newest first):**
80
+
81
+ ```typescript
82
+ const result = await storage.listMessages({
83
+ threadId: 'thread-1',
84
+ orderBy: { field: 'createdAt', direction: 'DESC' },
85
+ });
86
+ ```
87
+
88
+ ## Client SDK
89
+
90
+ ### BREAKING: Renamed `client.getThreadMessages()` → `client.listThreadMessages()`
91
+
92
+ **Migration:**
93
+
94
+ ```typescript
95
+ // Before
96
+ const response = await client.getThreadMessages(threadId, { agentId });
97
+
98
+ // After
99
+ const response = await client.listThreadMessages(threadId, { agentId });
100
+ ```
101
+
102
+ The response format remains the same.
103
+
104
+ ## Type Changes
105
+
106
+ ### BREAKING: Removed `StorageGetMessagesArg` type
107
+
108
+ Use `StorageListMessagesInput` instead:
109
+
110
+ ```typescript
111
+ // Before
112
+ import type { StorageGetMessagesArg } from '@mastra/core';
113
+
114
+ // After
115
+ import type { StorageListMessagesInput } from '@mastra/core';
116
+ ```
117
+
118
+ - Bump minimum required Node.js version to 22.13.0 ([#9706](https://github.com/mastra-ai/mastra/pull/9706))
119
+
120
+ - Replace `getThreadsByResourceIdPaginated` with `listThreadsByResourceId` across memory handlers. Update client SDK to use `listThreads()` with `offset`/`limit` parameters instead of deprecated `getMemoryThreads()`. Consolidate `/api/memory/threads` routes to single paginated endpoint. ([#9508](https://github.com/mastra-ai/mastra/pull/9508))
121
+
122
+ - This simplifies the Memory API by removing the confusing rememberMessages method and renaming query to recall for better clarity. ([#9701](https://github.com/mastra-ai/mastra/pull/9701))
123
+
124
+ The rememberMessages method name implied it might persist data when it was actually just retrieving messages, same as query. Having two methods that did essentially the same thing was unnecessary.
125
+
126
+ Before:
127
+
128
+ ```typescript
129
+ // Two methods that did the same thing
130
+ memory.rememberMessages({ threadId, resourceId, config, vectorMessageSearch });
131
+ memory.query({ threadId, resourceId, perPage, vectorSearchString });
132
+ ```
133
+
134
+ After:
135
+
136
+ ```typescript
137
+ // Single unified method with clear purpose
138
+ memory.recall({ threadId, resourceId, perPage, vectorMessageSearch, threadConfig });
139
+ ```
140
+
141
+ All usages have been updated across the codebase including tests. The agent now calls recall directly with the appropriate parameters.
142
+
143
+ - Rename RuntimeContext to RequestContext ([#9511](https://github.com/mastra-ai/mastra/pull/9511))
144
+
145
+ - Rename `defaultVNextStreamOptions` to `defaultOptions`. Add "Legacy" suffix to v1 option properties and methods (`defaultGenerateOptions` → `defaultGenerateOptionsLegacy`, `defaultStreamOptions` → `defaultStreamOptionsLegacy`). ([#9535](https://github.com/mastra-ai/mastra/pull/9535))
146
+
147
+ - Remove `getThreadsByResourceId` and `getThreadsByResourceIdPaginated` methods from storage interfaces in favor of `listThreadsByResourceId`. The new method uses `offset`/`limit` pagination and a nested `orderBy` object structure (`{ field, direction }`). ([#9536](https://github.com/mastra-ai/mastra/pull/9536))
148
+
149
+ - Renamed a bunch of observability/tracing-related things to drop the AI prefix. ([#9744](https://github.com/mastra-ai/mastra/pull/9744))
150
+
151
+ - **Breaking Change**: Remove legacy v1 watch events and consolidate on v2 implementation. ([#9252](https://github.com/mastra-ai/mastra/pull/9252))
152
+
153
+ This change simplifies the workflow watching API by removing the legacy v1 event system and promoting v2 as the standard (renamed to just `watch`).
154
+
155
+ ### What's Changed
156
+ - Removed legacy v1 watch event handlers and types
157
+ - Renamed `watch-v2` to `watch` throughout the codebase
158
+ - Removed `.watch()` method from client-js SDK (`Workflow` and `AgentBuilder` classes)
159
+ - Removed `/watch` HTTP endpoints from server and deployer
160
+ - Removed `WorkflowWatchResult` and v1 `WatchEvent` types
161
+
162
+ - **BREAKING CHANGE**: Pagination APIs now use `page`/`perPage` instead of `offset`/`limit` ([#9592](https://github.com/mastra-ai/mastra/pull/9592))
163
+
164
+ All storage and memory pagination APIs have been updated to use `page` (0-indexed) and `perPage` instead of `offset` and `limit`, aligning with standard REST API patterns.
165
+
166
+ **Affected APIs:**
167
+ - `Memory.listThreadsByResourceId()`
168
+ - `Memory.listMessages()`
169
+ - `Storage.listWorkflowRuns()`
170
+
171
+ **Migration:**
172
+
173
+ ```typescript
174
+ // Before
175
+ await memory.listThreadsByResourceId({
176
+ resourceId: 'user-123',
177
+ offset: 20,
178
+ limit: 10,
179
+ });
180
+
181
+ // After
182
+ await memory.listThreadsByResourceId({
183
+ resourceId: 'user-123',
184
+ page: 2, // page = Math.floor(offset / limit)
185
+ perPage: 10,
186
+ });
187
+
188
+ // Before
189
+ await memory.listMessages({
190
+ threadId: 'thread-456',
191
+ offset: 20,
192
+ limit: 10,
193
+ });
194
+
195
+ // After
196
+ await memory.listMessages({
197
+ threadId: 'thread-456',
198
+ page: 2,
199
+ perPage: 10,
200
+ });
201
+
202
+ // Before
203
+ await storage.listWorkflowRuns({
204
+ workflowName: 'my-workflow',
205
+ offset: 20,
206
+ limit: 10,
207
+ });
208
+
209
+ // After
210
+ await storage.listWorkflowRuns({
211
+ workflowName: 'my-workflow',
212
+ page: 2,
213
+ perPage: 10,
214
+ });
215
+ ```
216
+
217
+ **Additional improvements:**
218
+ - Added validation for negative `page` values in all storage implementations
219
+ - Improved `perPage` validation to handle edge cases (negative values, `0`, `false`)
220
+ - Added reusable query parser utilities for consistent validation in handlers
221
+
222
+ - Changing getAgents -> listAgents, getTools -> listTools, getWorkflows -> listWorkflows ([#9495](https://github.com/mastra-ai/mastra/pull/9495))
223
+
224
+ - Removed old tracing code based on OpenTelemetry ([#9237](https://github.com/mastra-ai/mastra/pull/9237))
225
+
226
+ - Remove deprecated vector prompts and cohere provider from code ([#9596](https://github.com/mastra-ai/mastra/pull/9596))
227
+
228
+ - Mark as stable ([`83d5942`](https://github.com/mastra-ai/mastra/commit/83d5942669ce7bba4a6ca4fd4da697a10eb5ebdc))
229
+
230
+ - Enforcing id required on Processor primitive ([#9591](https://github.com/mastra-ai/mastra/pull/9591))
231
+
232
+ - Renamed `MastraMessageV2` to `MastraDBMessage` ([#9255](https://github.com/mastra-ai/mastra/pull/9255))
233
+ Made the return format of all methods that return db messages consistent. It's always `{ messages: MastraDBMessage[] }` now, and messages can be converted after that using `@mastra/ai-sdk/ui`'s `toAISdkV4/5Messages()` function
234
+
235
+ - moved ai-tracing code into @mastra/observability ([#9661](https://github.com/mastra-ai/mastra/pull/9661))
236
+
237
+ - Remove legacy evals from Mastra ([#9491](https://github.com/mastra-ai/mastra/pull/9491))
238
+
239
+ ### Minor Changes
240
+
241
+ - Update peer dependencies to match core package version bump (1.0.0) ([#9237](https://github.com/mastra-ai/mastra/pull/9237))
242
+
243
+ - **BREAKING CHANGE**: Memory scope defaults changed from 'thread' to 'resource' ([#8983](https://github.com/mastra-ai/mastra/pull/8983))
244
+
245
+ Both `workingMemory.scope` and `semanticRecall.scope` now default to `'resource'` instead of `'thread'`. This means:
246
+ - Working memory persists across all conversations for the same user/resource
247
+ - Semantic recall searches across all threads for the same user/resource
248
+
249
+ **Migration**: To maintain the previous thread-scoped behavior, explicitly set `scope: 'thread'`:
250
+
251
+ ```typescript
252
+ memory: new Memory({
253
+ storage,
254
+ workingMemory: {
255
+ enabled: true,
256
+ scope: 'thread', // Explicitly set for thread-scoped behavior
257
+ },
258
+ semanticRecall: {
259
+ scope: 'thread', // Explicitly set for thread-scoped behavior
260
+ },
261
+ }),
262
+ ```
263
+
264
+ See the [migration guide](https://mastra.ai/docs/guides/migrations/memory-scope-defaults) for more details.
265
+
266
+ Also fixed issues where playground semantic recall search could show missing or incorrect results in certain cases.
267
+
268
+ - Update peer dependencies to match core package version bump (1.0.0) ([#9495](https://github.com/mastra-ai/mastra/pull/9495))
269
+
270
+ - Update peer dependencies to match core package version bump (0.22.1) ([#8649](https://github.com/mastra-ai/mastra/pull/8649))
271
+
272
+ - Add observeStream support for agent-builder template installation ([#9372](https://github.com/mastra-ai/mastra/pull/9372))
273
+ - Add observeStream, observeStreamVNext, observeStreamLegacy, and resumeStream methods to agent-builder client SDK
274
+ - Add corresponding server handlers and deployer routes for observe streaming
275
+ - Add tracingOptions parameter to existing agent-builder handlers for parity with workflows
276
+ - Update template installation processor to support both legacy and VNext streaming event formats
277
+
278
+ - Update peer dependencies to match core package version bump (0.22.0) ([#8983](https://github.com/mastra-ai/mastra/pull/8983))
279
+
280
+ - Update peer dependencies to match core package version bump (1.0.0) ([#9491](https://github.com/mastra-ai/mastra/pull/9491))
281
+
282
+ ### Patch Changes
283
+
284
+ - Make step optional in all resume APIs ([#9454](https://github.com/mastra-ai/mastra/pull/9454))
285
+
286
+ - Add agent id to the list agent ([#9770](https://github.com/mastra-ai/mastra/pull/9770))
287
+
288
+ - Update tool execution signature ([#9587](https://github.com/mastra-ai/mastra/pull/9587))
289
+
290
+ Consolidated the 3 different execution contexts to one
291
+
292
+ ```typescript
293
+ // before depending on the context the tool was executed in
294
+ tool.execute({ context: data });
295
+ tool.execute({ context: { inputData: data } });
296
+ tool.execute(data);
297
+
298
+ // now, for all contexts
299
+ tool.execute(data, context);
300
+ ```
301
+
302
+ **Before:**
303
+
304
+ ```typescript
305
+ inputSchema: z.object({ something: z.string() }),
306
+ execute: async ({ context, tracingContext, runId, ... }) => {
307
+ return doSomething(context.string);
308
+ }
309
+ ```
310
+
311
+ **After:**
312
+
313
+ ```typescript
314
+ inputSchema: z.object({ something: z.string() }),
315
+ execute: async (inputData, context) => {
316
+ const { agent, mcp, workflow, ...sharedContext } = context
317
+
318
+ // context that only an agent would get like toolCallId, messages, suspend, resume, etc
319
+ if (agent) {
320
+ doSomething(inputData.something, agent)
321
+ // context that only a workflow would get like runId, state, suspend, resume, etc
322
+ } else if (workflow) {
323
+ doSomething(inputData.something, workflow)
324
+ // context that only a workflow would get like "extra", "elicitation"
325
+ } else if (mcp) {
326
+ doSomething(inputData.something, mcp)
327
+ } else {
328
+ // Running a tool in no execution context
329
+ return doSomething(inputData.something);
330
+ }
331
+ }
332
+ ```
333
+
334
+ - Add the description field to listAgents ([#9672](https://github.com/mastra-ai/mastra/pull/9672))
335
+
336
+ - Fix the link issue in observability ([#9764](https://github.com/mastra-ai/mastra/pull/9764))
337
+
338
+ - Add tool call approval ([#8649](https://github.com/mastra-ai/mastra/pull/8649))
339
+
340
+ - Fix scorers listing filtring ([#9801](https://github.com/mastra-ai/mastra/pull/9801))
341
+
342
+ - Fixes issue where clicking the reset button in the model picker would fail to restore the original LanguageModelV2 (or any other types) object that was passed during agent construction. ([#9481](https://github.com/mastra-ai/mastra/pull/9481))
343
+
344
+ - Update peer dependencies to match core package version bump (1.0.0) ([#9489](https://github.com/mastra-ai/mastra/pull/9489))
345
+
346
+ - Fix undefined runtimeContext using memory from playground ([#9328](https://github.com/mastra-ai/mastra/pull/9328))
347
+
348
+ - Make step optional in resumeStreamVNext API ([#9453](https://github.com/mastra-ai/mastra/pull/9453))
349
+
350
+ - Remove `waitForEvent` from workflows. `waitForEvent` is now removed, please use suspend & resume flow instead. See https://mastra.ai/en/docs/workflows/suspend-and-resume for more details on suspend & resume flow. ([#9214](https://github.com/mastra-ai/mastra/pull/9214))
351
+
352
+ - Use memory mock in server tests ([#9486](https://github.com/mastra-ai/mastra/pull/9486))
353
+
354
+ - Remove format from stream/generate ([#9577](https://github.com/mastra-ai/mastra/pull/9577))
355
+
356
+ - Updated dependencies [[`39c9743`](https://github.com/mastra-ai/mastra/commit/39c97432d084294f8ba85fbf3ef28098ff21459e), [`f743dbb`](https://github.com/mastra-ai/mastra/commit/f743dbb8b40d1627b5c10c0e6fc154f4ebb6e394), [`fec5129`](https://github.com/mastra-ai/mastra/commit/fec5129de7fc64423ea03661a56cef31dc747a0d), [`0491e7c`](https://github.com/mastra-ai/mastra/commit/0491e7c9b714cb0ba22187ee062147ec2dd7c712), [`f6f4903`](https://github.com/mastra-ai/mastra/commit/f6f4903397314f73362061dc5a3e8e7c61ea34aa), [`0e8ed46`](https://github.com/mastra-ai/mastra/commit/0e8ed467c54d6901a6a365f270ec15d6faadb36c), [`6c049d9`](https://github.com/mastra-ai/mastra/commit/6c049d94063fdcbd5b81c4912a2bf82a92c9cc0b), [`910db9e`](https://github.com/mastra-ai/mastra/commit/910db9e0312888495eb5617b567f247d03303814), [`2f897df`](https://github.com/mastra-ai/mastra/commit/2f897df208508f46f51b7625e5dd20c37f93e0e3), [`08c31c1`](https://github.com/mastra-ai/mastra/commit/08c31c188ebccd598acaf55e888b6397d01f7eae), [`3443770`](https://github.com/mastra-ai/mastra/commit/3443770662df8eb24c9df3589b2792d78cfcb811), [`f0a07e0`](https://github.com/mastra-ai/mastra/commit/f0a07e0111b3307c5fabfa4094c5c2cfb734fbe6), [`aaa40e7`](https://github.com/mastra-ai/mastra/commit/aaa40e788628b319baa8e889407d11ad626547fa), [`1521d71`](https://github.com/mastra-ai/mastra/commit/1521d716e5daedc74690c983fbd961123c56756b), [`9e1911d`](https://github.com/mastra-ai/mastra/commit/9e1911db2b4db85e0e768c3f15e0d61e319869f6), [`ebac155`](https://github.com/mastra-ai/mastra/commit/ebac15564a590117db7078233f927a7e28a85106), [`dd1c38d`](https://github.com/mastra-ai/mastra/commit/dd1c38d1b75f1b695c27b40d8d9d6ed00d5e0f6f), [`5948e6a`](https://github.com/mastra-ai/mastra/commit/5948e6a5146c83666ba3f294b2be576c82a513fb), [`8940859`](https://github.com/mastra-ai/mastra/commit/89408593658199b4ad67f7b65e888f344e64a442), [`e629310`](https://github.com/mastra-ai/mastra/commit/e629310f1a73fa236d49ec7a1d1cceb6229dc7cc), [`4c6b492`](https://github.com/mastra-ai/mastra/commit/4c6b492c4dd591c6a592520c1f6855d6e936d71f), [`dff01d8`](https://github.com/mastra-ai/mastra/commit/dff01d81ce1f4e4087cfac20fa868e6db138dd14), [`9d819d5`](https://github.com/mastra-ai/mastra/commit/9d819d54b61481639f4008e4694791bddf187edd), [`71c8d6c`](https://github.com/mastra-ai/mastra/commit/71c8d6c161253207b2b9588bdadb7eed604f7253), [`6179a9b`](https://github.com/mastra-ai/mastra/commit/6179a9ba36ffac326de3cc3c43cdc8028d37c251), [`00f4921`](https://github.com/mastra-ai/mastra/commit/00f4921dd2c91a1e5446799599ef7116a8214a1a), [`ca8041c`](https://github.com/mastra-ai/mastra/commit/ca8041cce0379fda22ed293a565bcb5b6ddca68a), [`7051bf3`](https://github.com/mastra-ai/mastra/commit/7051bf38b3b122a069008f861f7bfc004a6d9f6e), [`a8f1494`](https://github.com/mastra-ai/mastra/commit/a8f1494f4bbdc2770bcf327d4c7d869e332183f1), [`0793497`](https://github.com/mastra-ai/mastra/commit/079349753620c40246ffd673e3f9d7d9820beff3), [`5df9cce`](https://github.com/mastra-ai/mastra/commit/5df9cce1a753438413f64c11eeef8f845745c2a8), [`a854ede`](https://github.com/mastra-ai/mastra/commit/a854ede62bf5ac0945a624ac48913dd69c73aabf), [`c576fc0`](https://github.com/mastra-ai/mastra/commit/c576fc0b100b2085afded91a37c97a0ea0ec09c7), [`3defc80`](https://github.com/mastra-ai/mastra/commit/3defc80cf2b88a1b7fc1cc4ddcb91e982a614609), [`16153fe`](https://github.com/mastra-ai/mastra/commit/16153fe7eb13c99401f48e6ca32707c965ee28b9), [`9f4a683`](https://github.com/mastra-ai/mastra/commit/9f4a6833e88b52574665c028fd5508ad5c2f6004), [`bc94344`](https://github.com/mastra-ai/mastra/commit/bc943444a1342d8a662151b7bce1df7dae32f59c), [`57d157f`](https://github.com/mastra-ai/mastra/commit/57d157f0b163a95c3e6c9eae31bdb11d1bfc64f9), [`903f67d`](https://github.com/mastra-ai/mastra/commit/903f67d184504a273893818c02b961f5423a79ad), [`2a90c55`](https://github.com/mastra-ai/mastra/commit/2a90c55a86a9210697d5adaab5ee94584b079adc), [`eb09742`](https://github.com/mastra-ai/mastra/commit/eb09742197f66c4c38154c3beec78313e69760b2), [`96d35f6`](https://github.com/mastra-ai/mastra/commit/96d35f61376bc2b1bf148648a2c1985bd51bef55), [`5cbe88a`](https://github.com/mastra-ai/mastra/commit/5cbe88aefbd9f933bca669fd371ea36bf939ac6d), [`a1bd7b8`](https://github.com/mastra-ai/mastra/commit/a1bd7b8571db16b94eb01588f451a74758c96d65), [`d78b38d`](https://github.com/mastra-ai/mastra/commit/d78b38d898fce285260d3bbb4befade54331617f), [`0633100`](https://github.com/mastra-ai/mastra/commit/0633100a911ad22f5256471bdf753da21c104742), [`c710c16`](https://github.com/mastra-ai/mastra/commit/c710c1652dccfdc4111c8412bca7a6bb1d48b441), [`354ad0b`](https://github.com/mastra-ai/mastra/commit/354ad0b7b1b8183ac567f236a884fc7ede6d7138), [`cfae733`](https://github.com/mastra-ai/mastra/commit/cfae73394f4920635e6c919c8e95ff9a0788e2e5), [`e3dfda7`](https://github.com/mastra-ai/mastra/commit/e3dfda7b11bf3b8c4bb55637028befb5f387fc74), [`844ea5d`](https://github.com/mastra-ai/mastra/commit/844ea5dc0c248961e7bf73629ae7dcff503e853c), [`398fde3`](https://github.com/mastra-ai/mastra/commit/398fde3f39e707cda79372cdae8f9870e3b57c8d), [`f0f8f12`](https://github.com/mastra-ai/mastra/commit/f0f8f125c308f2d0fd36942ef652fd852df7522f), [`0d7618b`](https://github.com/mastra-ai/mastra/commit/0d7618bc650bf2800934b243eca5648f4aeed9c2), [`7b763e5`](https://github.com/mastra-ai/mastra/commit/7b763e52fc3eaf699c2a99f2adf418dd46e4e9a5), [`d36cfbb`](https://github.com/mastra-ai/mastra/commit/d36cfbbb6565ba5f827883cc9bb648eb14befdc1), [`3697853`](https://github.com/mastra-ai/mastra/commit/3697853deeb72017d90e0f38a93c1e29221aeca0), [`b2e45ec`](https://github.com/mastra-ai/mastra/commit/b2e45eca727a8db01a81ba93f1a5219c7183c839), [`d6d49f7`](https://github.com/mastra-ai/mastra/commit/d6d49f7b8714fa19a52ff9c7cf7fb7e73751901e), [`00c2387`](https://github.com/mastra-ai/mastra/commit/00c2387f5f04a365316f851e58666ac43f8c4edf), [`a534e95`](https://github.com/mastra-ai/mastra/commit/a534e9591f83b3cc1ebff99c67edf4cda7bf81d3), [`9d0e7fe`](https://github.com/mastra-ai/mastra/commit/9d0e7feca8ed98de959f53476ee1456073673348), [`53d927c`](https://github.com/mastra-ai/mastra/commit/53d927cc6f03bff33655b7e2b788da445a08731d), [`3f2faf2`](https://github.com/mastra-ai/mastra/commit/3f2faf2e2d685d6c053cc5af1bf9fedf267b2ce5), [`22f64bc`](https://github.com/mastra-ai/mastra/commit/22f64bc1d37149480b58bf2fefe35b79a1e3e7d5), [`83d5942`](https://github.com/mastra-ai/mastra/commit/83d5942669ce7bba4a6ca4fd4da697a10eb5ebdc), [`b7959e6`](https://github.com/mastra-ai/mastra/commit/b7959e6e25a46b480f9ea2217c4c6c588c423791), [`bda6370`](https://github.com/mastra-ai/mastra/commit/bda637009360649aaf579919e7873e33553c273e), [`d7acd8e`](https://github.com/mastra-ai/mastra/commit/d7acd8e987b5d7eff4fd98b0906c17c06a2e83d5), [`c7f1f7d`](https://github.com/mastra-ai/mastra/commit/c7f1f7d24f61f247f018cc2d1f33bf63212959a7), [`0bddc6d`](https://github.com/mastra-ai/mastra/commit/0bddc6d8dbd6f6008c0cba2e4960a2da75a55af1), [`735d8c1`](https://github.com/mastra-ai/mastra/commit/735d8c1c0d19fbc09e6f8b66cf41bc7655993838), [`acf322e`](https://github.com/mastra-ai/mastra/commit/acf322e0f1fd0189684cf529d91c694bea918a45), [`c942802`](https://github.com/mastra-ai/mastra/commit/c942802a477a925b01859a7b8688d4355715caaa), [`a0c8c1b`](https://github.com/mastra-ai/mastra/commit/a0c8c1b87d4fee252aebda73e8637fbe01d761c9), [`cc34739`](https://github.com/mastra-ai/mastra/commit/cc34739c34b6266a91bea561119240a7acf47887), [`c218bd3`](https://github.com/mastra-ai/mastra/commit/c218bd3759e32423735b04843a09404572631014), [`2c4438b`](https://github.com/mastra-ai/mastra/commit/2c4438b87817ab7eed818c7990fef010475af1a3), [`2b8893c`](https://github.com/mastra-ai/mastra/commit/2b8893cb108ef9acb72ee7835cd625610d2c1a4a), [`8e5c75b`](https://github.com/mastra-ai/mastra/commit/8e5c75bdb1d08a42d45309a4c72def4b6890230f), [`e59e0d3`](https://github.com/mastra-ai/mastra/commit/e59e0d32afb5fcf2c9f3c00c8f81f6c21d3a63fa), [`465ac05`](https://github.com/mastra-ai/mastra/commit/465ac0526a91d175542091c675181f1a96c98c46), [`fa8409b`](https://github.com/mastra-ai/mastra/commit/fa8409bc39cfd8ba6643b9db5269b90b22e2a2f7), [`e7266a2`](https://github.com/mastra-ai/mastra/commit/e7266a278db02035c97a5e9cd9d1669a6b7a535d), [`173c535`](https://github.com/mastra-ai/mastra/commit/173c535c0645b0da404fe09f003778f0b0d4e019)]:
357
+ - @mastra/core@0.0.0-export-agent-memory-from-local-studio-20251112153946
358
+
359
+ ## 1.0.0-beta.2
360
+
361
+ ### Patch Changes
362
+
363
+ - Updated dependencies [[`465ac05`](https://github.com/mastra-ai/mastra/commit/465ac0526a91d175542091c675181f1a96c98c46)]:
364
+ - @mastra/core@1.0.0-beta.2
365
+
366
+ ## 1.0.0-beta.1
367
+
368
+ ### Patch Changes
369
+
370
+ - Updated dependencies [[`910db9e`](https://github.com/mastra-ai/mastra/commit/910db9e0312888495eb5617b567f247d03303814), [`e7266a2`](https://github.com/mastra-ai/mastra/commit/e7266a278db02035c97a5e9cd9d1669a6b7a535d)]:
371
+ - @mastra/core@1.0.0-beta.1
372
+
373
+ ## 1.0.0-beta.0
374
+
375
+ ### Major Changes
376
+
377
+ - Moving scorers under the eval domain, api method consistency, prebuilt evals, scorers require ids. ([#9589](https://github.com/mastra-ai/mastra/pull/9589))
378
+
379
+ - Every Mastra primitive (agent, MCPServer, workflow, tool, processor, scorer, and vector) now has a get, list, and add method associated with it. Each primitive also now requires an id to be set. ([#9675](https://github.com/mastra-ai/mastra/pull/9675))
380
+
381
+ Primitives that are added to other primitives are also automatically added to the Mastra instance
382
+
383
+ - Update handlers to use `listWorkflowRuns` instead of `getWorkflowRuns`. Fix type names from `StoragelistThreadsByResourceIdInput/Output` to `StorageListThreadsByResourceIdInput/Output`. ([#9507](https://github.com/mastra-ai/mastra/pull/9507))
384
+
385
+ - **BREAKING:** Remove `getMessagesPaginated()` and add `perPage: false` support ([#9670](https://github.com/mastra-ai/mastra/pull/9670))
386
+
387
+ Removes deprecated `getMessagesPaginated()` method. The `listMessages()` API and score handlers now support `perPage: false` to fetch all records without pagination limits.
388
+
389
+ **Storage changes:**
390
+ - `StoragePagination.perPage` type changed from `number` to `number | false`
391
+ - All storage implementations support `perPage: false`:
392
+ - Memory: `listMessages()`
393
+ - Scores: `listScoresBySpan()`, `listScoresByRunId()`, `listScoresByExecutionId()`
394
+ - HTTP query parser accepts `"false"` string (e.g., `?perPage=false`)
395
+
396
+ **Memory changes:**
397
+ - `memory.query()` parameter type changed from `StorageGetMessagesArg` to `StorageListMessagesInput`
398
+ - Uses flat parameters (`page`, `perPage`, `include`, `filter`, `vectorSearchString`) instead of `selectBy` object
399
+
400
+ **Stricter validation:**
401
+ - `listMessages()` requires non-empty, non-whitespace `threadId` (throws error instead of returning empty results)
402
+
403
+ **Migration:**
404
+
405
+ ```typescript
406
+ // Storage/Memory: Replace getMessagesPaginated with listMessages
407
+ - storage.getMessagesPaginated({ threadId, selectBy: { pagination: { page: 0, perPage: 20 } } })
408
+ + storage.listMessages({ threadId, page: 0, perPage: 20 })
409
+ + storage.listMessages({ threadId, page: 0, perPage: false }) // Fetch all
410
+
411
+ // Memory: Replace selectBy with flat parameters
412
+ - memory.query({ threadId, selectBy: { last: 20, include: [...] } })
413
+ + memory.query({ threadId, perPage: 20, include: [...] })
414
+
415
+ // Client SDK
416
+ - thread.getMessagesPaginated({ selectBy: { pagination: { page: 0 } } })
417
+ + thread.listMessages({ page: 0, perPage: 20 })
418
+ ```
419
+
420
+ - # Major Changes ([#9695](https://github.com/mastra-ai/mastra/pull/9695))
421
+
422
+ ## Storage Layer
423
+
424
+ ### BREAKING: Removed `storage.getMessages()`
425
+
426
+ The `getMessages()` method has been removed from all storage implementations. Use `listMessages()` instead, which provides pagination support.
427
+
428
+ **Migration:**
429
+
430
+ ```typescript
431
+ // Before
432
+ const messages = await storage.getMessages({ threadId: 'thread-1' });
433
+
434
+ // After
435
+ const result = await storage.listMessages({
436
+ threadId: 'thread-1',
437
+ page: 0,
438
+ perPage: 50,
439
+ });
440
+ const messages = result.messages; // Access messages array
441
+ console.log(result.total); // Total count
442
+ console.log(result.hasMore); // Whether more pages exist
443
+ ```
444
+
445
+ ### Message ordering default
446
+
447
+ `listMessages()` defaults to ASC (oldest first) ordering by `createdAt`, matching the previous `getMessages()` behavior.
448
+
449
+ **To use DESC ordering (newest first):**
450
+
451
+ ```typescript
452
+ const result = await storage.listMessages({
453
+ threadId: 'thread-1',
454
+ orderBy: { field: 'createdAt', direction: 'DESC' },
455
+ });
456
+ ```
457
+
458
+ ## Client SDK
459
+
460
+ ### BREAKING: Renamed `client.getThreadMessages()` → `client.listThreadMessages()`
461
+
462
+ **Migration:**
463
+
464
+ ```typescript
465
+ // Before
466
+ const response = await client.getThreadMessages(threadId, { agentId });
467
+
468
+ // After
469
+ const response = await client.listThreadMessages(threadId, { agentId });
470
+ ```
471
+
472
+ The response format remains the same.
473
+
474
+ ## Type Changes
475
+
476
+ ### BREAKING: Removed `StorageGetMessagesArg` type
477
+
478
+ Use `StorageListMessagesInput` instead:
479
+
480
+ ```typescript
481
+ // Before
482
+ import type { StorageGetMessagesArg } from '@mastra/core';
483
+
484
+ // After
485
+ import type { StorageListMessagesInput } from '@mastra/core';
486
+ ```
487
+
488
+ - Bump minimum required Node.js version to 22.13.0 ([#9706](https://github.com/mastra-ai/mastra/pull/9706))
489
+
490
+ - Replace `getThreadsByResourceIdPaginated` with `listThreadsByResourceId` across memory handlers. Update client SDK to use `listThreads()` with `offset`/`limit` parameters instead of deprecated `getMemoryThreads()`. Consolidate `/api/memory/threads` routes to single paginated endpoint. ([#9508](https://github.com/mastra-ai/mastra/pull/9508))
491
+
492
+ - This simplifies the Memory API by removing the confusing rememberMessages method and renaming query to recall for better clarity. ([#9701](https://github.com/mastra-ai/mastra/pull/9701))
493
+
494
+ The rememberMessages method name implied it might persist data when it was actually just retrieving messages, same as query. Having two methods that did essentially the same thing was unnecessary.
495
+
496
+ Before:
497
+
498
+ ```typescript
499
+ // Two methods that did the same thing
500
+ memory.rememberMessages({ threadId, resourceId, config, vectorMessageSearch });
501
+ memory.query({ threadId, resourceId, perPage, vectorSearchString });
502
+ ```
503
+
504
+ After:
505
+
506
+ ```typescript
507
+ // Single unified method with clear purpose
508
+ memory.recall({ threadId, resourceId, perPage, vectorMessageSearch, threadConfig });
509
+ ```
510
+
511
+ All usages have been updated across the codebase including tests. The agent now calls recall directly with the appropriate parameters.
512
+
513
+ - Rename RuntimeContext to RequestContext ([#9511](https://github.com/mastra-ai/mastra/pull/9511))
514
+
515
+ - Rename `defaultVNextStreamOptions` to `defaultOptions`. Add "Legacy" suffix to v1 option properties and methods (`defaultGenerateOptions` → `defaultGenerateOptionsLegacy`, `defaultStreamOptions` → `defaultStreamOptionsLegacy`). ([#9535](https://github.com/mastra-ai/mastra/pull/9535))
516
+
517
+ - Remove `getThreadsByResourceId` and `getThreadsByResourceIdPaginated` methods from storage interfaces in favor of `listThreadsByResourceId`. The new method uses `offset`/`limit` pagination and a nested `orderBy` object structure (`{ field, direction }`). ([#9536](https://github.com/mastra-ai/mastra/pull/9536))
518
+
519
+ - Renamed a bunch of observability/tracing-related things to drop the AI prefix. ([#9744](https://github.com/mastra-ai/mastra/pull/9744))
520
+
521
+ - **Breaking Change**: Remove legacy v1 watch events and consolidate on v2 implementation. ([#9252](https://github.com/mastra-ai/mastra/pull/9252))
522
+
523
+ This change simplifies the workflow watching API by removing the legacy v1 event system and promoting v2 as the standard (renamed to just `watch`).
524
+
525
+ ### What's Changed
526
+ - Removed legacy v1 watch event handlers and types
527
+ - Renamed `watch-v2` to `watch` throughout the codebase
528
+ - Removed `.watch()` method from client-js SDK (`Workflow` and `AgentBuilder` classes)
529
+ - Removed `/watch` HTTP endpoints from server and deployer
530
+ - Removed `WorkflowWatchResult` and v1 `WatchEvent` types
531
+
532
+ - **BREAKING CHANGE**: Pagination APIs now use `page`/`perPage` instead of `offset`/`limit` ([#9592](https://github.com/mastra-ai/mastra/pull/9592))
533
+
534
+ All storage and memory pagination APIs have been updated to use `page` (0-indexed) and `perPage` instead of `offset` and `limit`, aligning with standard REST API patterns.
535
+
536
+ **Affected APIs:**
537
+ - `Memory.listThreadsByResourceId()`
538
+ - `Memory.listMessages()`
539
+ - `Storage.listWorkflowRuns()`
540
+
541
+ **Migration:**
542
+
543
+ ```typescript
544
+ // Before
545
+ await memory.listThreadsByResourceId({
546
+ resourceId: 'user-123',
547
+ offset: 20,
548
+ limit: 10,
549
+ });
550
+
551
+ // After
552
+ await memory.listThreadsByResourceId({
553
+ resourceId: 'user-123',
554
+ page: 2, // page = Math.floor(offset / limit)
555
+ perPage: 10,
556
+ });
557
+
558
+ // Before
559
+ await memory.listMessages({
560
+ threadId: 'thread-456',
561
+ offset: 20,
562
+ limit: 10,
563
+ });
564
+
565
+ // After
566
+ await memory.listMessages({
567
+ threadId: 'thread-456',
568
+ page: 2,
569
+ perPage: 10,
570
+ });
571
+
572
+ // Before
573
+ await storage.listWorkflowRuns({
574
+ workflowName: 'my-workflow',
575
+ offset: 20,
576
+ limit: 10,
577
+ });
578
+
579
+ // After
580
+ await storage.listWorkflowRuns({
581
+ workflowName: 'my-workflow',
582
+ page: 2,
583
+ perPage: 10,
584
+ });
585
+ ```
586
+
587
+ **Additional improvements:**
588
+ - Added validation for negative `page` values in all storage implementations
589
+ - Improved `perPage` validation to handle edge cases (negative values, `0`, `false`)
590
+ - Added reusable query parser utilities for consistent validation in handlers
591
+
592
+ - Changing getAgents -> listAgents, getTools -> listTools, getWorkflows -> listWorkflows ([#9495](https://github.com/mastra-ai/mastra/pull/9495))
593
+
594
+ - Removed old tracing code based on OpenTelemetry ([#9237](https://github.com/mastra-ai/mastra/pull/9237))
595
+
596
+ - Remove deprecated vector prompts and cohere provider from code ([#9596](https://github.com/mastra-ai/mastra/pull/9596))
597
+
598
+ - Mark as stable ([`83d5942`](https://github.com/mastra-ai/mastra/commit/83d5942669ce7bba4a6ca4fd4da697a10eb5ebdc))
599
+
600
+ - Enforcing id required on Processor primitive ([#9591](https://github.com/mastra-ai/mastra/pull/9591))
601
+
602
+ - Renamed `MastraMessageV2` to `MastraDBMessage` ([#9255](https://github.com/mastra-ai/mastra/pull/9255))
603
+ Made the return format of all methods that return db messages consistent. It's always `{ messages: MastraDBMessage[] }` now, and messages can be converted after that using `@mastra/ai-sdk/ui`'s `toAISdkV4/5Messages()` function
604
+
605
+ - moved ai-tracing code into @mastra/observability ([#9661](https://github.com/mastra-ai/mastra/pull/9661))
606
+
607
+ - Remove legacy evals from Mastra ([#9491](https://github.com/mastra-ai/mastra/pull/9491))
4
608
 
5
609
  ### Minor Changes
6
610
 
611
+ - Update peer dependencies to match core package version bump (1.0.0) ([#9237](https://github.com/mastra-ai/mastra/pull/9237))
612
+
613
+ - **BREAKING CHANGE**: Memory scope defaults changed from 'thread' to 'resource' ([#8983](https://github.com/mastra-ai/mastra/pull/8983))
614
+
615
+ Both `workingMemory.scope` and `semanticRecall.scope` now default to `'resource'` instead of `'thread'`. This means:
616
+ - Working memory persists across all conversations for the same user/resource
617
+ - Semantic recall searches across all threads for the same user/resource
618
+
619
+ **Migration**: To maintain the previous thread-scoped behavior, explicitly set `scope: 'thread'`:
620
+
621
+ ```typescript
622
+ memory: new Memory({
623
+ storage,
624
+ workingMemory: {
625
+ enabled: true,
626
+ scope: 'thread', // Explicitly set for thread-scoped behavior
627
+ },
628
+ semanticRecall: {
629
+ scope: 'thread', // Explicitly set for thread-scoped behavior
630
+ },
631
+ }),
632
+ ```
633
+
634
+ See the [migration guide](https://mastra.ai/docs/guides/migrations/memory-scope-defaults) for more details.
635
+
636
+ Also fixed issues where playground semantic recall search could show missing or incorrect results in certain cases.
637
+
638
+ - Update peer dependencies to match core package version bump (1.0.0) ([#9495](https://github.com/mastra-ai/mastra/pull/9495))
639
+
640
+ - Update peer dependencies to match core package version bump (0.22.1) ([#8649](https://github.com/mastra-ai/mastra/pull/8649))
641
+
642
+ - Add observeStream support for agent-builder template installation ([#9372](https://github.com/mastra-ai/mastra/pull/9372))
643
+ - Add observeStream, observeStreamVNext, observeStreamLegacy, and resumeStream methods to agent-builder client SDK
644
+ - Add corresponding server handlers and deployer routes for observe streaming
645
+ - Add tracingOptions parameter to existing agent-builder handlers for parity with workflows
646
+ - Update template installation processor to support both legacy and VNext streaming event formats
647
+
648
+ - Update peer dependencies to match core package version bump (0.22.0) ([#8983](https://github.com/mastra-ai/mastra/pull/8983))
649
+
650
+ - Update peer dependencies to match core package version bump (1.0.0) ([#9491](https://github.com/mastra-ai/mastra/pull/9491))
651
+
652
+ ### Patch Changes
653
+
654
+ - Make step optional in all resume APIs ([#9454](https://github.com/mastra-ai/mastra/pull/9454))
655
+
656
+ - Add agent id to the list agent ([#9770](https://github.com/mastra-ai/mastra/pull/9770))
657
+
658
+ - Update tool execution signature ([#9587](https://github.com/mastra-ai/mastra/pull/9587))
659
+
660
+ Consolidated the 3 different execution contexts to one
661
+
662
+ ```typescript
663
+ // before depending on the context the tool was executed in
664
+ tool.execute({ context: data });
665
+ tool.execute({ context: { inputData: data } });
666
+ tool.execute(data);
667
+
668
+ // now, for all contexts
669
+ tool.execute(data, context);
670
+ ```
671
+
672
+ **Before:**
673
+
674
+ ```typescript
675
+ inputSchema: z.object({ something: z.string() }),
676
+ execute: async ({ context, tracingContext, runId, ... }) => {
677
+ return doSomething(context.string);
678
+ }
679
+ ```
680
+
681
+ **After:**
682
+
683
+ ```typescript
684
+ inputSchema: z.object({ something: z.string() }),
685
+ execute: async (inputData, context) => {
686
+ const { agent, mcp, workflow, ...sharedContext } = context
687
+
688
+ // context that only an agent would get like toolCallId, messages, suspend, resume, etc
689
+ if (agent) {
690
+ doSomething(inputData.something, agent)
691
+ // context that only a workflow would get like runId, state, suspend, resume, etc
692
+ } else if (workflow) {
693
+ doSomething(inputData.something, workflow)
694
+ // context that only a workflow would get like "extra", "elicitation"
695
+ } else if (mcp) {
696
+ doSomething(inputData.something, mcp)
697
+ } else {
698
+ // Running a tool in no execution context
699
+ return doSomething(inputData.something);
700
+ }
701
+ }
702
+ ```
703
+
704
+ - Add the description field to listAgents ([#9672](https://github.com/mastra-ai/mastra/pull/9672))
705
+
706
+ - Fix the link issue in observability ([#9764](https://github.com/mastra-ai/mastra/pull/9764))
707
+
708
+ - Add tool call approval ([#8649](https://github.com/mastra-ai/mastra/pull/8649))
709
+
710
+ - Fix scorers listing filtring ([#9801](https://github.com/mastra-ai/mastra/pull/9801))
711
+
712
+ - Fixes issue where clicking the reset button in the model picker would fail to restore the original LanguageModelV2 (or any other types) object that was passed during agent construction. ([#9481](https://github.com/mastra-ai/mastra/pull/9481))
713
+
714
+ - Update peer dependencies to match core package version bump (1.0.0) ([#9489](https://github.com/mastra-ai/mastra/pull/9489))
715
+
716
+ - Fix undefined runtimeContext using memory from playground ([#9328](https://github.com/mastra-ai/mastra/pull/9328))
717
+
718
+ - Make step optional in resumeStreamVNext API ([#9453](https://github.com/mastra-ai/mastra/pull/9453))
719
+
720
+ - Remove `waitForEvent` from workflows. `waitForEvent` is now removed, please use suspend & resume flow instead. See https://mastra.ai/en/docs/workflows/suspend-and-resume for more details on suspend & resume flow. ([#9214](https://github.com/mastra-ai/mastra/pull/9214))
721
+
722
+ - Use memory mock in server tests ([#9486](https://github.com/mastra-ai/mastra/pull/9486))
723
+
724
+ - Remove format from stream/generate ([#9577](https://github.com/mastra-ai/mastra/pull/9577))
725
+
726
+ - Updated dependencies [[`39c9743`](https://github.com/mastra-ai/mastra/commit/39c97432d084294f8ba85fbf3ef28098ff21459e), [`f743dbb`](https://github.com/mastra-ai/mastra/commit/f743dbb8b40d1627b5c10c0e6fc154f4ebb6e394), [`fec5129`](https://github.com/mastra-ai/mastra/commit/fec5129de7fc64423ea03661a56cef31dc747a0d), [`0491e7c`](https://github.com/mastra-ai/mastra/commit/0491e7c9b714cb0ba22187ee062147ec2dd7c712), [`f6f4903`](https://github.com/mastra-ai/mastra/commit/f6f4903397314f73362061dc5a3e8e7c61ea34aa), [`0e8ed46`](https://github.com/mastra-ai/mastra/commit/0e8ed467c54d6901a6a365f270ec15d6faadb36c), [`6c049d9`](https://github.com/mastra-ai/mastra/commit/6c049d94063fdcbd5b81c4912a2bf82a92c9cc0b), [`2f897df`](https://github.com/mastra-ai/mastra/commit/2f897df208508f46f51b7625e5dd20c37f93e0e3), [`3443770`](https://github.com/mastra-ai/mastra/commit/3443770662df8eb24c9df3589b2792d78cfcb811), [`f0a07e0`](https://github.com/mastra-ai/mastra/commit/f0a07e0111b3307c5fabfa4094c5c2cfb734fbe6), [`aaa40e7`](https://github.com/mastra-ai/mastra/commit/aaa40e788628b319baa8e889407d11ad626547fa), [`1521d71`](https://github.com/mastra-ai/mastra/commit/1521d716e5daedc74690c983fbd961123c56756b), [`9e1911d`](https://github.com/mastra-ai/mastra/commit/9e1911db2b4db85e0e768c3f15e0d61e319869f6), [`ebac155`](https://github.com/mastra-ai/mastra/commit/ebac15564a590117db7078233f927a7e28a85106), [`dd1c38d`](https://github.com/mastra-ai/mastra/commit/dd1c38d1b75f1b695c27b40d8d9d6ed00d5e0f6f), [`5948e6a`](https://github.com/mastra-ai/mastra/commit/5948e6a5146c83666ba3f294b2be576c82a513fb), [`8940859`](https://github.com/mastra-ai/mastra/commit/89408593658199b4ad67f7b65e888f344e64a442), [`e629310`](https://github.com/mastra-ai/mastra/commit/e629310f1a73fa236d49ec7a1d1cceb6229dc7cc), [`4c6b492`](https://github.com/mastra-ai/mastra/commit/4c6b492c4dd591c6a592520c1f6855d6e936d71f), [`dff01d8`](https://github.com/mastra-ai/mastra/commit/dff01d81ce1f4e4087cfac20fa868e6db138dd14), [`9d819d5`](https://github.com/mastra-ai/mastra/commit/9d819d54b61481639f4008e4694791bddf187edd), [`71c8d6c`](https://github.com/mastra-ai/mastra/commit/71c8d6c161253207b2b9588bdadb7eed604f7253), [`6179a9b`](https://github.com/mastra-ai/mastra/commit/6179a9ba36ffac326de3cc3c43cdc8028d37c251), [`00f4921`](https://github.com/mastra-ai/mastra/commit/00f4921dd2c91a1e5446799599ef7116a8214a1a), [`ca8041c`](https://github.com/mastra-ai/mastra/commit/ca8041cce0379fda22ed293a565bcb5b6ddca68a), [`7051bf3`](https://github.com/mastra-ai/mastra/commit/7051bf38b3b122a069008f861f7bfc004a6d9f6e), [`a8f1494`](https://github.com/mastra-ai/mastra/commit/a8f1494f4bbdc2770bcf327d4c7d869e332183f1), [`0793497`](https://github.com/mastra-ai/mastra/commit/079349753620c40246ffd673e3f9d7d9820beff3), [`5df9cce`](https://github.com/mastra-ai/mastra/commit/5df9cce1a753438413f64c11eeef8f845745c2a8), [`a854ede`](https://github.com/mastra-ai/mastra/commit/a854ede62bf5ac0945a624ac48913dd69c73aabf), [`c576fc0`](https://github.com/mastra-ai/mastra/commit/c576fc0b100b2085afded91a37c97a0ea0ec09c7), [`3defc80`](https://github.com/mastra-ai/mastra/commit/3defc80cf2b88a1b7fc1cc4ddcb91e982a614609), [`16153fe`](https://github.com/mastra-ai/mastra/commit/16153fe7eb13c99401f48e6ca32707c965ee28b9), [`9f4a683`](https://github.com/mastra-ai/mastra/commit/9f4a6833e88b52574665c028fd5508ad5c2f6004), [`bc94344`](https://github.com/mastra-ai/mastra/commit/bc943444a1342d8a662151b7bce1df7dae32f59c), [`57d157f`](https://github.com/mastra-ai/mastra/commit/57d157f0b163a95c3e6c9eae31bdb11d1bfc64f9), [`903f67d`](https://github.com/mastra-ai/mastra/commit/903f67d184504a273893818c02b961f5423a79ad), [`2a90c55`](https://github.com/mastra-ai/mastra/commit/2a90c55a86a9210697d5adaab5ee94584b079adc), [`eb09742`](https://github.com/mastra-ai/mastra/commit/eb09742197f66c4c38154c3beec78313e69760b2), [`96d35f6`](https://github.com/mastra-ai/mastra/commit/96d35f61376bc2b1bf148648a2c1985bd51bef55), [`5cbe88a`](https://github.com/mastra-ai/mastra/commit/5cbe88aefbd9f933bca669fd371ea36bf939ac6d), [`a1bd7b8`](https://github.com/mastra-ai/mastra/commit/a1bd7b8571db16b94eb01588f451a74758c96d65), [`d78b38d`](https://github.com/mastra-ai/mastra/commit/d78b38d898fce285260d3bbb4befade54331617f), [`0633100`](https://github.com/mastra-ai/mastra/commit/0633100a911ad22f5256471bdf753da21c104742), [`c710c16`](https://github.com/mastra-ai/mastra/commit/c710c1652dccfdc4111c8412bca7a6bb1d48b441), [`354ad0b`](https://github.com/mastra-ai/mastra/commit/354ad0b7b1b8183ac567f236a884fc7ede6d7138), [`cfae733`](https://github.com/mastra-ai/mastra/commit/cfae73394f4920635e6c919c8e95ff9a0788e2e5), [`e3dfda7`](https://github.com/mastra-ai/mastra/commit/e3dfda7b11bf3b8c4bb55637028befb5f387fc74), [`844ea5d`](https://github.com/mastra-ai/mastra/commit/844ea5dc0c248961e7bf73629ae7dcff503e853c), [`398fde3`](https://github.com/mastra-ai/mastra/commit/398fde3f39e707cda79372cdae8f9870e3b57c8d), [`f0f8f12`](https://github.com/mastra-ai/mastra/commit/f0f8f125c308f2d0fd36942ef652fd852df7522f), [`0d7618b`](https://github.com/mastra-ai/mastra/commit/0d7618bc650bf2800934b243eca5648f4aeed9c2), [`7b763e5`](https://github.com/mastra-ai/mastra/commit/7b763e52fc3eaf699c2a99f2adf418dd46e4e9a5), [`d36cfbb`](https://github.com/mastra-ai/mastra/commit/d36cfbbb6565ba5f827883cc9bb648eb14befdc1), [`3697853`](https://github.com/mastra-ai/mastra/commit/3697853deeb72017d90e0f38a93c1e29221aeca0), [`b2e45ec`](https://github.com/mastra-ai/mastra/commit/b2e45eca727a8db01a81ba93f1a5219c7183c839), [`d6d49f7`](https://github.com/mastra-ai/mastra/commit/d6d49f7b8714fa19a52ff9c7cf7fb7e73751901e), [`a534e95`](https://github.com/mastra-ai/mastra/commit/a534e9591f83b3cc1ebff99c67edf4cda7bf81d3), [`9d0e7fe`](https://github.com/mastra-ai/mastra/commit/9d0e7feca8ed98de959f53476ee1456073673348), [`53d927c`](https://github.com/mastra-ai/mastra/commit/53d927cc6f03bff33655b7e2b788da445a08731d), [`3f2faf2`](https://github.com/mastra-ai/mastra/commit/3f2faf2e2d685d6c053cc5af1bf9fedf267b2ce5), [`22f64bc`](https://github.com/mastra-ai/mastra/commit/22f64bc1d37149480b58bf2fefe35b79a1e3e7d5), [`83d5942`](https://github.com/mastra-ai/mastra/commit/83d5942669ce7bba4a6ca4fd4da697a10eb5ebdc), [`b7959e6`](https://github.com/mastra-ai/mastra/commit/b7959e6e25a46b480f9ea2217c4c6c588c423791), [`bda6370`](https://github.com/mastra-ai/mastra/commit/bda637009360649aaf579919e7873e33553c273e), [`d7acd8e`](https://github.com/mastra-ai/mastra/commit/d7acd8e987b5d7eff4fd98b0906c17c06a2e83d5), [`c7f1f7d`](https://github.com/mastra-ai/mastra/commit/c7f1f7d24f61f247f018cc2d1f33bf63212959a7), [`0bddc6d`](https://github.com/mastra-ai/mastra/commit/0bddc6d8dbd6f6008c0cba2e4960a2da75a55af1), [`735d8c1`](https://github.com/mastra-ai/mastra/commit/735d8c1c0d19fbc09e6f8b66cf41bc7655993838), [`acf322e`](https://github.com/mastra-ai/mastra/commit/acf322e0f1fd0189684cf529d91c694bea918a45), [`c942802`](https://github.com/mastra-ai/mastra/commit/c942802a477a925b01859a7b8688d4355715caaa), [`a0c8c1b`](https://github.com/mastra-ai/mastra/commit/a0c8c1b87d4fee252aebda73e8637fbe01d761c9), [`cc34739`](https://github.com/mastra-ai/mastra/commit/cc34739c34b6266a91bea561119240a7acf47887), [`c218bd3`](https://github.com/mastra-ai/mastra/commit/c218bd3759e32423735b04843a09404572631014), [`2c4438b`](https://github.com/mastra-ai/mastra/commit/2c4438b87817ab7eed818c7990fef010475af1a3), [`2b8893c`](https://github.com/mastra-ai/mastra/commit/2b8893cb108ef9acb72ee7835cd625610d2c1a4a), [`8e5c75b`](https://github.com/mastra-ai/mastra/commit/8e5c75bdb1d08a42d45309a4c72def4b6890230f), [`e59e0d3`](https://github.com/mastra-ai/mastra/commit/e59e0d32afb5fcf2c9f3c00c8f81f6c21d3a63fa), [`fa8409b`](https://github.com/mastra-ai/mastra/commit/fa8409bc39cfd8ba6643b9db5269b90b22e2a2f7), [`173c535`](https://github.com/mastra-ai/mastra/commit/173c535c0645b0da404fe09f003778f0b0d4e019)]:
727
+ - @mastra/core@1.0.0-beta.0
728
+
729
+ ## 0.22.2
730
+
731
+ ### Patch Changes
732
+
733
+ - Updated dependencies [[`2b031e2`](https://github.com/mastra-ai/mastra/commit/2b031e25ca10cd3e4d63e6a27f909cba26d91405)]:
734
+ - @mastra/core@0.22.2
735
+
736
+ ## 0.22.2-alpha.0
737
+
738
+ ### Patch Changes
739
+
740
+ - Updated dependencies [[`2b031e2`](https://github.com/mastra-ai/mastra/commit/2b031e25ca10cd3e4d63e6a27f909cba26d91405)]:
741
+ - @mastra/core@0.22.2-alpha.0
742
+
743
+ ## 0.22.1
744
+
745
+ ### Patch Changes
746
+
747
+ - Get agent registered on a parent agent via API ([#9106](https://github.com/mastra-ai/mastra/pull/9106))
748
+
749
+ - Updated dependencies []:
750
+ - @mastra/core@0.22.1
751
+
752
+ ## 0.22.1-alpha.0
753
+
754
+ ### Patch Changes
755
+
756
+ - Get agent registered on a parent agent via API ([#9106](https://github.com/mastra-ai/mastra/pull/9106))
757
+
758
+ - Updated dependencies []:
759
+ - @mastra/core@0.22.1-alpha.0
760
+
761
+ ## 0.22.0
762
+
763
+ ### Minor Changes
764
+
765
+ - Consolidate streamVNext logic into stream, move old stream function into streamLegacy ([#9092](https://github.com/mastra-ai/mastra/pull/9092))
766
+
7
767
  - Update peer dependencies to match core package version bump (0.21.2) ([#9038](https://github.com/mastra-ai/mastra/pull/9038))
8
768
 
769
+ - Update peer dependencies to match core package version bump (0.22.0) ([#9092](https://github.com/mastra-ai/mastra/pull/9092))
770
+
771
+ - Update peer dependencies to match core package version bump (0.21.2) ([#9021](https://github.com/mastra-ai/mastra/pull/9021))
772
+
9
773
  ### Patch Changes
10
774
 
775
+ - Updated `watch` and `watchAsync` methods to use proper function overloads instead of generic conditional types, ensuring compatibility with the base Run class signatures. ([#9048](https://github.com/mastra-ai/mastra/pull/9048))
776
+
11
777
  - Generate a title for Agent.network() threads ([#8853](https://github.com/mastra-ai/mastra/pull/8853))
12
778
 
779
+ - Fix custom metadata preservation in UIMessages when loading threads. The `getMessagesHandler` now converts `messagesV2` (V2 format with metadata) instead of `messages` (V1 format without metadata) to AIV5.UI format. Also updates the abstract `MastraMemory.query()` return type to include `messagesV2` for proper type safety. ([#9029](https://github.com/mastra-ai/mastra/pull/9029))
780
+
781
+ - Fix provider tools for popular providers and add support for anthropic/claude skills. ([#9038](https://github.com/mastra-ai/mastra/pull/9038))
782
+
783
+ - Show agent tool output better in playground ([#9021](https://github.com/mastra-ai/mastra/pull/9021))
784
+
785
+ - Update peerdeps to 0.23.0-0 ([#9043](https://github.com/mastra-ai/mastra/pull/9043))
786
+
787
+ - Updated dependencies [[`c67ca32`](https://github.com/mastra-ai/mastra/commit/c67ca32e3c2cf69bfc146580770c720220ca44ac), [`efb5ed9`](https://github.com/mastra-ai/mastra/commit/efb5ed946ae7f410bc68c9430beb4b010afd25ec), [`dbc9e12`](https://github.com/mastra-ai/mastra/commit/dbc9e1216ba575ba59ead4afb727a01215f7de4f), [`99e41b9`](https://github.com/mastra-ai/mastra/commit/99e41b94957cdd25137d3ac12e94e8b21aa01b68), [`c28833c`](https://github.com/mastra-ai/mastra/commit/c28833c5b6d8e10eeffd7f7d39129d53b8bca240), [`8ea07b4`](https://github.com/mastra-ai/mastra/commit/8ea07b4bdc73e4218437dbb6dcb0f4b23e745a44), [`ba201b8`](https://github.com/mastra-ai/mastra/commit/ba201b8f8feac4c72350f2dbd52c13c7297ba7b0), [`f053e89`](https://github.com/mastra-ai/mastra/commit/f053e89160dbd0bd3333fc3492f68231b5c7c349), [`4fc4136`](https://github.com/mastra-ai/mastra/commit/4fc413652866a8d2240694fddb2562e9edbb70df), [`b78e04d`](https://github.com/mastra-ai/mastra/commit/b78e04d935a16ecb1e59c5c96e564903527edddd), [`d10baf5`](https://github.com/mastra-ai/mastra/commit/d10baf5a3c924f2a6654e23a3e318ed03f189b76), [`038c55a`](https://github.com/mastra-ai/mastra/commit/038c55a7090fc1b1513a966386d3072617f836ac), [`182f045`](https://github.com/mastra-ai/mastra/commit/182f0458f25bd70aa774e64fd923c8a483eddbf1), [`9a1a485`](https://github.com/mastra-ai/mastra/commit/9a1a4859b855e37239f652bf14b1ecd1029b8c4e), [`9257233`](https://github.com/mastra-ai/mastra/commit/9257233c4ffce09b2bedc2a9adbd70d7a83fa8e2), [`7620d2b`](https://github.com/mastra-ai/mastra/commit/7620d2bddeb4fae4c3c0a0b4e672969795fca11a), [`b2365f0`](https://github.com/mastra-ai/mastra/commit/b2365f038dd4c5f06400428b224af963f399ad50), [`0f1a4c9`](https://github.com/mastra-ai/mastra/commit/0f1a4c984fb4b104b2f0b63ba18c9fa77f567700), [`9029ba3`](https://github.com/mastra-ai/mastra/commit/9029ba34459c8859fed4c6b73efd8e2d0021e7ba), [`426cc56`](https://github.com/mastra-ai/mastra/commit/426cc561c85ae76a112ded2385532a91f9f9f074), [`00931fb`](https://github.com/mastra-ai/mastra/commit/00931fb1a21aa42c4fbc20c2c40dd62466b8fc8f), [`e473bfe`](https://github.com/mastra-ai/mastra/commit/e473bfe416c0b8e876973c2b6a6f13c394b7a93f), [`b78e04d`](https://github.com/mastra-ai/mastra/commit/b78e04d935a16ecb1e59c5c96e564903527edddd), [`2db6160`](https://github.com/mastra-ai/mastra/commit/2db6160e2022ff8827c15d30157e684683b934b5), [`8aeea37`](https://github.com/mastra-ai/mastra/commit/8aeea37efdde347c635a67fed56794943b7f74ec), [`02fe153`](https://github.com/mastra-ai/mastra/commit/02fe15351d6021d214da48ec982a0e9e4150bcee), [`648e2ca`](https://github.com/mastra-ai/mastra/commit/648e2ca42da54838c6ccbdaadc6fadd808fa6b86), [`74567b3`](https://github.com/mastra-ai/mastra/commit/74567b3d237ae3915cd0bca3cf55fa0a64e4e4a4), [`b65c5e0`](https://github.com/mastra-ai/mastra/commit/b65c5e0fe6f3c390a9a8bbcf69304d972c3a4afb), [`15a1733`](https://github.com/mastra-ai/mastra/commit/15a1733074cee8bd37370e1af34cd818e89fa7ac), [`fc2a774`](https://github.com/mastra-ai/mastra/commit/fc2a77468981aaddc3e77f83f0c4ad4a4af140da), [`4e08933`](https://github.com/mastra-ai/mastra/commit/4e08933625464dfde178347af5b6278fcf34188e)]:
788
+ - @mastra/core@0.22.0
789
+
790
+ ## 0.22.0-alpha.1
791
+
792
+ ### Minor Changes
793
+
794
+ - Consolidate streamVNext logic into stream, move old stream function into streamLegacy ([#9092](https://github.com/mastra-ai/mastra/pull/9092))
795
+
796
+ - Update peer dependencies to match core package version bump (0.21.2) ([#9038](https://github.com/mastra-ai/mastra/pull/9038))
797
+
798
+ - Update peer dependencies to match core package version bump (0.22.0) ([#9092](https://github.com/mastra-ai/mastra/pull/9092))
799
+
800
+ - Update peer dependencies to match core package version bump (0.21.2) ([#9021](https://github.com/mastra-ai/mastra/pull/9021))
801
+
802
+ ### Patch Changes
803
+
804
+ - Updated `watch` and `watchAsync` methods to use proper function overloads instead of generic conditional types, ensuring compatibility with the base Run class signatures. ([#9048](https://github.com/mastra-ai/mastra/pull/9048))
805
+
806
+ - Fix custom metadata preservation in UIMessages when loading threads. The `getMessagesHandler` now converts `messagesV2` (V2 format with metadata) instead of `messages` (V1 format without metadata) to AIV5.UI format. Also updates the abstract `MastraMemory.query()` return type to include `messagesV2` for proper type safety. ([#9029](https://github.com/mastra-ai/mastra/pull/9029))
807
+
13
808
  - Fix provider tools for popular providers and add support for anthropic/claude skills. ([#9038](https://github.com/mastra-ai/mastra/pull/9038))
14
809
 
15
- - Updated dependencies [[`c67ca32`](https://github.com/mastra-ai/mastra/commit/c67ca32e3c2cf69bfc146580770c720220ca44ac), [`efb5ed9`](https://github.com/mastra-ai/mastra/commit/efb5ed946ae7f410bc68c9430beb4b010afd25ec), [`dbc9e12`](https://github.com/mastra-ai/mastra/commit/dbc9e1216ba575ba59ead4afb727a01215f7de4f), [`99e41b9`](https://github.com/mastra-ai/mastra/commit/99e41b94957cdd25137d3ac12e94e8b21aa01b68), [`c28833c`](https://github.com/mastra-ai/mastra/commit/c28833c5b6d8e10eeffd7f7d39129d53b8bca240), [`f053e89`](https://github.com/mastra-ai/mastra/commit/f053e89160dbd0bd3333fc3492f68231b5c7c349), [`182f045`](https://github.com/mastra-ai/mastra/commit/182f0458f25bd70aa774e64fd923c8a483eddbf1), [`9a1a485`](https://github.com/mastra-ai/mastra/commit/9a1a4859b855e37239f652bf14b1ecd1029b8c4e), [`9257233`](https://github.com/mastra-ai/mastra/commit/9257233c4ffce09b2bedc2a9adbd70d7a83fa8e2), [`b2365f0`](https://github.com/mastra-ai/mastra/commit/b2365f038dd4c5f06400428b224af963f399ad50), [`0f1a4c9`](https://github.com/mastra-ai/mastra/commit/0f1a4c984fb4b104b2f0b63ba18c9fa77f567700), [`e473bfe`](https://github.com/mastra-ai/mastra/commit/e473bfe416c0b8e876973c2b6a6f13c394b7a93f), [`2db6160`](https://github.com/mastra-ai/mastra/commit/2db6160e2022ff8827c15d30157e684683b934b5), [`8aeea37`](https://github.com/mastra-ai/mastra/commit/8aeea37efdde347c635a67fed56794943b7f74ec), [`02fe153`](https://github.com/mastra-ai/mastra/commit/02fe15351d6021d214da48ec982a0e9e4150bcee), [`74567b3`](https://github.com/mastra-ai/mastra/commit/74567b3d237ae3915cd0bca3cf55fa0a64e4e4a4), [`15a1733`](https://github.com/mastra-ai/mastra/commit/15a1733074cee8bd37370e1af34cd818e89fa7ac), [`fc2a774`](https://github.com/mastra-ai/mastra/commit/fc2a77468981aaddc3e77f83f0c4ad4a4af140da), [`4e08933`](https://github.com/mastra-ai/mastra/commit/4e08933625464dfde178347af5b6278fcf34188e)]:
16
- - @mastra/core@0.0.0-error-handler-fix-20251020202607
810
+ - Show agent tool output better in playground ([#9021](https://github.com/mastra-ai/mastra/pull/9021))
811
+
812
+ - Update peerdeps to 0.23.0-0 ([#9043](https://github.com/mastra-ai/mastra/pull/9043))
813
+
814
+ - Updated dependencies [[`efb5ed9`](https://github.com/mastra-ai/mastra/commit/efb5ed946ae7f410bc68c9430beb4b010afd25ec), [`8ea07b4`](https://github.com/mastra-ai/mastra/commit/8ea07b4bdc73e4218437dbb6dcb0f4b23e745a44), [`ba201b8`](https://github.com/mastra-ai/mastra/commit/ba201b8f8feac4c72350f2dbd52c13c7297ba7b0), [`4fc4136`](https://github.com/mastra-ai/mastra/commit/4fc413652866a8d2240694fddb2562e9edbb70df), [`b78e04d`](https://github.com/mastra-ai/mastra/commit/b78e04d935a16ecb1e59c5c96e564903527edddd), [`d10baf5`](https://github.com/mastra-ai/mastra/commit/d10baf5a3c924f2a6654e23a3e318ed03f189b76), [`038c55a`](https://github.com/mastra-ai/mastra/commit/038c55a7090fc1b1513a966386d3072617f836ac), [`182f045`](https://github.com/mastra-ai/mastra/commit/182f0458f25bd70aa774e64fd923c8a483eddbf1), [`7620d2b`](https://github.com/mastra-ai/mastra/commit/7620d2bddeb4fae4c3c0a0b4e672969795fca11a), [`b2365f0`](https://github.com/mastra-ai/mastra/commit/b2365f038dd4c5f06400428b224af963f399ad50), [`9029ba3`](https://github.com/mastra-ai/mastra/commit/9029ba34459c8859fed4c6b73efd8e2d0021e7ba), [`426cc56`](https://github.com/mastra-ai/mastra/commit/426cc561c85ae76a112ded2385532a91f9f9f074), [`00931fb`](https://github.com/mastra-ai/mastra/commit/00931fb1a21aa42c4fbc20c2c40dd62466b8fc8f), [`e473bfe`](https://github.com/mastra-ai/mastra/commit/e473bfe416c0b8e876973c2b6a6f13c394b7a93f), [`b78e04d`](https://github.com/mastra-ai/mastra/commit/b78e04d935a16ecb1e59c5c96e564903527edddd), [`648e2ca`](https://github.com/mastra-ai/mastra/commit/648e2ca42da54838c6ccbdaadc6fadd808fa6b86), [`b65c5e0`](https://github.com/mastra-ai/mastra/commit/b65c5e0fe6f3c390a9a8bbcf69304d972c3a4afb)]:
815
+ - @mastra/core@0.22.0-alpha.1
17
816
 
18
817
  ## 0.21.2-alpha.0
19
818