2025-06-17 - Mastra Release
Agents
- Improve typings in agent stream by separating concerns, introduces experimental output handling, and generates typings for improved type flow and structure. #4483
- Add thread metadata to agent.stream() and agent.generate(), restructures their arguments for clarity and future extensibility, and deprecates the old argument format for backward compatibility. #5108
- The type definition for stream event unions, ensuring correct event type handling. #5086
- A bug by ensuring the resourceId is passed to the __stream function for accurate debug logging and error information. #5119
- Fix issue introduced in a recent MessageList refactor by allowing any input message format to be passed to the generate title function in @mastra/core, restoring compatibility with previous input types. #5136
- Dynamic default LLM options, allowing context messages to be set by default in the playground for improved usability. #5184
CLI / Playground
- Reorganize code by moving the evals fetching logic from the playground-ui package to the playground package. #4568
- Move workflow fetch logic from the playground-ui package to the playground package. #5075
- Support for importing modules without file extensions, such as 'lodash/fp/get', in development mode and includes a changeset. #5107
- Improve CLI by providing more descriptive error messages to help developers understand and resolve issues more easily. #5128
- Fix playground agent's streaming functionality by adding a transfer encoding header for dynamic content and includes a changeset. #5132
- Add Workflow-related hooks to the playground directory for better code organization. #5133
Deno Support WIP
- Deno support by using globalThis for compatibility. #5103
Deployer
- Fix Vercel deployment process to use Vercel's build output for deploying functions and adds a changeset. #5179
- Allow deployer package to throw Mastra Errors during application build and bundling, enabling better error categorization in the cloud. #4883
RAG
- LaTeX support to the getSeparatorsForLanguage method, enabling correct chunking of LaTeX documents and fixing errors when using the 'latex' strategy in MDocument.chunk(). #4882
MCP
- Multiple fixes to resolve MCP server and client connection issues over streamable HTTP. #5088
- Improve MCP connection handling. #5089
- Add MCP Bar, including its description and URL, to the MCP Registry Registry documentation. #5099
- Duck typing for agent checks after bundling, ensuring agents are correctly recognized even when not instances of the Agent class. #5193
- Add client connection logic for MCP. #5197
Memory
- Update thread's updatedAt timestamp is automatically refreshed whenever new messages are saved, providing accurate conversation ordering and activity tracking across all storage providers without breaking existing APIs. #4814
- Structured memory. #5091 [IMPORTANT]
- Fix regression in the deprecated fetchMemory API by restoring message return logic and adds tests to prevent future issues. #5140
- Fix compatibility issue with PostgreSQL 15 by adding explicit aliases to all subqueries in the FROM clause when retrieving messages, ensuring proper memory retrieval when the scope is resource. #5182
- Fix return value and type for the fetch memory function in the core module. #5192
Observability
- Add logging to help identify circular dependencies. #5185
Storage
- Fix and quote table and schema names in PostgreSQL, ensuring that camelCase and uppercase index names are preserved correctly. #5148
- Fix bug caused by a bad import by correcting the dynamic 'crypto' require in Upstash. #5181
Tools
- Add logic to the tools glob pattern to only include JavaScript and TypeScript files, preventing unintended bundling of other file types. #5125
- Make sure all tool exports are analyzed, even if they are unused, to guarantee complete export coverage and fixes issue #5149. #5180
Voice
- Support for the Gladia speech-to-text service as a new feature. #4459 [IMPORTANT]
- Voice handlers to use the async agent.getVoice() method instead of the deprecated agent.voice getter, ensuring compatibility with dynamic (function-based) agent instructions and adds comprehensive tests for this scenario. #5070
Workflows
- New .sleep() and .sleepUntil() methods to the Workflow, enabling workflows to pause execution for a specified duration or until a specific time. #5063 [IMPORTANT]
- Fixes a TypeScript type inference bug in the workflow.parallel method that caused compilation errors for consecutive parallel workflow executions, without affecting runtime behavior. #4658
- Add correct typings within workflow-related code. #5084
- Add workflow retrieval logic to fetch workflows from an agent if they are not found on the Mastra instance. #5083
- Add a new API for polling workflow execution results and includes corresponding test updates. #5061
- Fix the final result of a workflow, as referenced in issue #3788. #5105
- Add tests and updates documentation for the 'dountil' workflow's suspend-resume functionality. #5127
- An issue where the runtime context was showing as undefined even when it was correctly passed from the frontend. #5130