2025-06-24 - Mastra Release
Agents
- Fix the return type of the getAgentsHandler function. #5201
- Fix bug where telemetry settings were ignored when calling Agent.generate with experimental_object, ensuring telemetry preferences are now respected in this code path. #5202
- Fix build failures by removing duplicate error domains caused by a bad merge and also deletes the unused 'UNKNOWN' error domain. #5226
- The core to pass the runId to onFinish and onStepFinish callbacks, enabling direct evaluation of tool-call and tool-result events during agent execution. #5299
- Add the request's AbortController signal to the Agent's generate and stream methods to enable request cancellation support. #5428
- Add automatic client tool calling #5445
- And resolves issues related to streaming functionality. #5452
Client SDK - JS
- Fix handling of runtimeContext for text/plain request bodies in the mastra server and ensures the client SDK sends application/json for POST and PUT requests. #5231
- Client-side execution of clientTools in the clientSDK agent's generate and stream functions. #5305
Developer Tools & UI
- Fix OpenAPI routes that are always displayed by fixing a bug that previously prevented them from showing. #5208
- Improve dynamic form handling to better support various schemas. #5230
- Remove 'recharts' and 'ramada' libraries from the project. #5339
- Fix icon display issue by standardizing agent identification to use only the part before the dot (e.g., 'openai'), ensuring consistent handling regardless of response type. #5443
Course
- Adds a new lesson 4 focused on workflows. #5311
Misc
- Mastra class and core evaluations to wrap errors with Mastra Errors for improved error handling. #4838
MCP
- Fix MCP server and client to throw mastra errors, improving error tracking during build and runtime. #5116
- Schema compatibility issues related to Claude. #5301
- Adds support for structured output schemas to both MCPServer and MCPClient. #5235
- Add Elicitation capabilities to both MCPClient and MCPServer, provides an example of its usage, and fixes multi-client session handling on the server. #5310
- Object.passthrough schemas for compatibility with some MCP servers, except when using OpenAI reasoning models, improving interoperability at the cost of potential performance issues. #5442
Memory
- Add updateMessages API and message metadata support to memory and storage modules, implementing the feature for PGStore and LibSQLStore adapters. #5188
- Fix issue where tool call messages were incorrectly sent as the first message in LLM context, which caused errors with some providers, by ensuring the first message is not a tool call. #5218
- Add working memory tests to improve or modify its behavior. #5225
- Add Per-resource working memory across multiple @mastra packages, including feature implementation, storage adapter support, tests, documentation, and manual verification. [IMPORTANT] #5221
- Fix issues with working memory by removing duplicate tool calls and redundant LLM prompts, preventing double requests and potential infinite loops when working memory is enabled. #5358
Storage
- Issues with PGStorage and other storage adapters to ensure semantic recall and lastMessages can be used together and that disabling lastMessages works as intended across all adapters. #5215
- All stores to throw mastra errors, improving error tracking during builds and runtime. #5092
- A bug in MongoDB storage by ensuring eval results are parsed so they display correctly in the playground UI. #5298
- Fix MongoDB trace queries by correctly handling wildcard searches with regular expressions and adjusting attribute access for both BSON and stringified data formats. #5303
- Fix implementation of paginated message retrieval for PgStore and LibSQLStore and adds corresponding tests. #5355
- All storage adapters to upsert messages in saveMessages, preventing duplicate message errors caused by ID constraints. #5286
Workflows
- Add to
waitForEvent
for a specific event before proceeding. #5080 - Type-safe variable mapping, enhancing type safety and reliability in variable handling. #5210
- Fix issue with workflow watch streaming to ensure correct functionality. #5239
- Add new
bail
function to allow workflows to exit a step early and updates the return types ofsuspend()
andbail()
toany
for improved developer ergonomics. [IMPORTANT] #5414 - CreateRun in favor of a new async createRunAsync() method that stores a pending workflow state, adds warnings for deprecated usage, and updates related tests and documentation. [IMPORTANT] #5422
Networks
- vNext AgentNetwork! [IMPORTANT] #5292
Observability
- Fix telemetry installation in development by using a custom loader to source @openlemetry packages from mastra. #5234
RAG
- Add type definitions for metadata filters used with vector databases. #5306
Deployer
- Fix issues with the Netlify and Vercel deployers for both CLI and Git integrations. #5425
CLI / Playground
- Fix a bug where the final output was not displayed on the playground for previously suspended steps. #5207
Tools
- Add runtimeContext variables in createVectorQueryTool. #5295