# What changed in mastra

> 124 changes in mastra 1 from its official release notes, upgrade guides and advisories: 15 breaking, 5 security, 58 new APIs and options. Each one cited. Sources checked 2026-10-19. HTML: https://unstale.sh/npm/mastra/

To see which of these apply to a repository, run `npx @unstale/cli init` in it.

## mastra 1

### Breaking changes

- Vector document IDs now come from Elasticsearch _id; stored id fields are no longer written, which affects code relying on source.id. (1.2.0) — [release notes](https://github.com/mastra-ai/mastra/releases/tag/mastra%401.2.0)
- The Hono adapter returns HTTP 400 with a structured error for invalid POST JSON instead of HTTP 200, preventing workflows from starting with undefined input. (1.1.0) — [release notes](https://github.com/mastra-ai/mastra/releases/tag/mastra%401.1.0)
- The Hono adapter returns HTTP 400 with a structured error for invalid JSON POST bodies instead of accepting them with HTTP 200. (1.1.0) — [release notes](https://github.com/mastra-ai/mastra/releases/tag/mastra%401.1.0)
- Memory API endpoints now prioritize this middleware-reserved context key over client-provided values for secure user isolation. (1.1.0) — [release notes](https://github.com/mastra-ai/mastra/releases/tag/mastra%401.1.0)
- Memory API endpoints now prioritize this middleware-reserved context key over client-provided values for secure user isolation. (1.1.0) — [release notes](https://github.com/mastra-ai/mastra/releases/tag/mastra%401.1.0)
- A configured route prefix now replaces the default /api prefix instead of being prepended to it. (1.1.0) — [release notes](https://github.com/mastra-ai/mastra/releases/tag/mastra%401.1.0)
- Adapters and `@mastra/server` add explicit per-route authentication controls, with routes protected by default. (1.1.0) — [release notes](https://github.com/mastra-ai/mastra/releases/tag/mastra%401.1.0)
- Built-in API routes now declare whether authentication is required; routes default to protected, and setting requiresAuth: false makes a route public. (1.1.0) — [release notes](https://github.com/mastra-ai/mastra/releases/tag/mastra%401.1.0)
- Stored agent records now contain metadata only; configuration lives in versioned snapshot rows, and `ownerId` is renamed to `authorId`. (1.1.0) — [release notes](https://github.com/mastra-ai/mastra/releases/tag/mastra%401.1.0)
- Stored agent records now contain metadata while configuration lives in version snapshots; ownerId is renamed to authorId, memory becomes a record, and status is added. (1.1.0) — [release notes](https://github.com/mastra-ai/mastra/releases/tag/mastra%401.1.0)
- Stored agent records now contain metadata only; configuration lives in version snapshots, and list endpoints return resolved agents. The ownerId field is renamed to authorId. (1.1.0) — [release notes](https://github.com/mastra-ai/mastra/releases/tag/mastra%401.1.0)
- Stored agent records now hold metadata while configuration lives in version snapshots; resolved agents combine the record with active-version configuration. Inputs are flattened, memory is an object, and ownerId is renamed to authorId. (1.1.0) — [release notes](https://github.com/mastra-ai/mastra/releases/tag/mastra%401.1.0)
- Stored agent records now hold thin metadata while configuration lives in version snapshots; the change also adds status, renames ownerId to authorId, changes memory to an object, and flattens create/update inputs. (1.1.0) — [release notes](https://github.com/mastra-ai/mastra/releases/tag/mastra%401.1.0)
- The Google embedding model was removed from the model router; use `google/gemini-embedding-001` instead. (1.1.0) — [release notes](https://github.com/mastra-ai/mastra/releases/tag/mastra%401.1.0)
- A codemod transforms getInitData() calls to getInitData<any>() to restore the previous behavior after its return type changed from any to unknown. (1.1.0) — [release notes](https://github.com/mastra-ai/mastra/releases/tag/mastra%401.1.0)

### Security

- Sensitive observability credentials in tracingContext are excluded from tool execution error logs. (1.2.0) — [release notes](https://github.com/mastra-ai/mastra/releases/tag/mastra%401.2.0)
- Custom routes with requiresAuth: true enforce authentication in dev mode, and routes with path parameters correctly respect requiresAuth: false. (1.1.0) — [release notes](https://github.com/mastra-ai/mastra/releases/tag/mastra%401.1.0)
- Custom routes registered with requiresAuth: true now enforce authentication in development mode. (1.1.0) — [release notes](https://github.com/mastra-ai/mastra/releases/tag/mastra%401.1.0)
- Built-in API routes expose requiresAuth, defaulting to true; set it to false to make a route public. (1.1.0) — [release notes](https://github.com/mastra-ai/mastra/releases/tag/mastra%401.1.0)
- A unified API provides filesystem operations, sandboxed execution, search, and SKILL.md discovery with safety controls. (1.1.0) — [release notes](https://github.com/mastra-ai/mastra/releases/tag/mastra%401.1.0)

### New APIs and options

- Look up processors by ID on an Agent. (1.2.0) — [release notes](https://github.com/mastra-ai/mastra/releases/tag/mastra%401.2.0)
- Elasticsearch connections accept authentication configuration, including API key, basic, and bearer authentication. (1.2.0) — [release notes](https://github.com/mastra-ai/mastra/releases/tag/mastra%401.2.0)
- The project creation wizard can optionally install official Mastra skills and lets users choose an agent. (1.2.0) — [release notes](https://github.com/mastra-ai/mastra/releases/tag/mastra%401.2.0)
- A utility helps extract tool results from scorer output for use in dynamic scoring context. (1.2.0) — [release notes](https://github.com/mastra-ai/mastra/releases/tag/mastra%401.2.0)
- The hallucination scorer accepts a getContext hook to resolve scoring context dynamically at runtime. (1.2.0) — [release notes](https://github.com/mastra-ai/mastra/releases/tag/mastra%401.2.0)
- A utility type for schema input type inference is available. (1.2.0) — [release notes](https://github.com/mastra-ai/mastra/releases/tag/mastra%401.2.0)
- A utility type for schema output type inference is available. (1.2.0) — [release notes](https://github.com/mastra-ai/mastra/releases/tag/mastra%401.2.0)
- A new package stores, versions, and resolves agent configurations from a database, including dependencies from the Mastra registry. (1.2.0) — [release notes](https://github.com/mastra-ai/mastra/releases/tag/mastra%401.2.0)
- The server adds proxy endpoints for searching, browsing, previewing, installing, updating, and removing skills from skills.sh. (1.2.0) — [release notes](https://github.com/mastra-ai/mastra/releases/tag/mastra%401.2.0)
- Workspace filesystem errors expose a MastraClientError with status and body properties; not-found errors return 404 instead of 500. (1.2.0) — [release notes](https://github.com/mastra-ai/mastra/releases/tag/mastra%401.2.0)
- Set observationalMemory: true to enable a three-tier memory system that compresses conversation history into observations and reflections. (1.2.0) — [release notes](https://github.com/mastra-ai/mastra/releases/tag/mastra%401.2.0)
- A manual API for triggering observation outside the normal agent loop is available. (1.2.0) — [release notes](https://github.com/mastra-ai/mastra/releases/tag/mastra%401.2.0)
- Processor state can be persisted across loop iterations. (1.2.0) — [release notes](https://github.com/mastra-ai/mastra/releases/tag/mastra%401.2.0)
- Processors can emit custom stream events using ProcessorStreamWriter. (1.2.0) — [release notes](https://github.com/mastra-ai/mastra/releases/tag/mastra%401.2.0)
- ToolSearchProcessor's search configuration accepts minScore to filter results below a score threshold; the documented default is 0. (1.2.0) — [release notes](https://github.com/mastra-ai/mastra/releases/tag/mastra%401.2.0)
- ToolSearchProcessor's search configuration accepts topK to set the number of returned results; the documented default is 5. (1.2.0) — [release notes](https://github.com/mastra-ai/mastra/releases/tag/mastra%401.2.0)
- Workspace accepts a custom search index name; default index names now use underscores to work with SQL-based vector stores. (1.2.0) — [release notes](https://github.com/mastra-ai/mastra/releases/tag/mastra%401.2.0)
- Non-interactive project creation can install skills by passing comma-separated agent names with --skills. (1.2.0) — [release notes](https://github.com/mastra-ai/mastra/releases/tag/mastra%401.2.0)
- Studio adds an Add Skill dialog to browse, preview, install, update, and remove skills from the skills.sh registry. (1.2.0) — [release notes](https://github.com/mastra-ai/mastra/releases/tag/mastra%401.2.0)
- A type is available for schemas implementing both validation and JSON Schema conversion. (1.2.0) — [release notes](https://github.com/mastra-ai/mastra/releases/tag/mastra%401.2.0)
- Agents can search for and load tools on demand through built-in meta-tools, reducing context usage when working with large tool libraries. (1.2.0) — [release notes](https://github.com/mastra-ai/mastra/releases/tag/mastra%401.2.0)
- Convert Zod, JSON Schema, or AI SDK schemas to Standard Schema format. (1.2.0) — [release notes](https://github.com/mastra-ai/mastra/releases/tag/mastra%401.2.0)
- The model loop stream accepts `activeTools` to control which tools are available during LLM execution. (1.1.0) — [release notes](https://github.com/mastra-ai/mastra/releases/tag/mastra%401.1.0)
- Network calls can receive an abort signal and an `onAbort` callback so callers can cancel execution and handle aborts. (1.1.0) — [release notes](https://github.com/mastra-ai/mastra/releases/tag/mastra%401.1.0)
- Dynamic agent management adds CRUD operations, version history, compare and restore capabilities, and automatic versioning on updates. (1.1.0) — [release notes](https://github.com/mastra-ai/mastra/releases/tag/mastra%401.1.0)
- MastraClient accepts a custom API route prefix for servers deployed behind non-default paths; the default remains /api. (1.1.0) — [release notes](https://github.com/mastra-ai/mastra/releases/tag/mastra%401.1.0)
- MastraClientProvider accepts apiPrefix for connecting to servers with custom API route prefixes; it defaults to /api. (1.1.0) — [release notes](https://github.com/mastra-ai/mastra/releases/tag/mastra%401.1.0)
- Stored agents can be created, edited, and deleted through CRUD APIs, with version history, compare and restore capabilities, and optional automatic versioning. (1.1.0) — [release notes](https://github.com/mastra-ai/mastra/releases/tag/mastra%401.1.0)
- Trace results include a status of `success`, `error`, or `running`, making trace state easier to filter and display. (1.1.0) — [release notes](https://github.com/mastra-ai/mastra/releases/tag/mastra%401.1.0)
- The response now includes a status field indicating whether a trace succeeded, errored, or is still running. (1.1.0) — [release notes](https://github.com/mastra-ai/mastra/releases/tag/mastra%401.1.0)
- The listTraces response now includes a status indicating whether a trace succeeded, errored, or is still running. (1.1.0) — [release notes](https://github.com/mastra-ai/mastra/releases/tag/mastra%401.1.0)
- The listTraces response now includes a status field indicating whether each trace succeeded, errored, or is still running, so callers can filter traces without deriving state from other fields. (1.1.0) — [release notes](https://github.com/mastra-ai/mastra/releases/tag/mastra%401.1.0)
- The client adds workspace methods for files, skills, references, and search. (1.1.0) — [release notes](https://github.com/mastra-ai/mastra/releases/tag/mastra%401.1.0)
- Set MASTRA_SKIP_PEERDEP_CHECK=1 to skip the CLI peer dependency check. (1.1.0) — [release notes](https://github.com/mastra-ai/mastra/releases/tag/mastra%401.1.0)
- The studio command accepts --server-api-prefix to connect to servers with custom API route prefixes. (1.1.0) — [release notes](https://github.com/mastra-ai/mastra/releases/tag/mastra%401.1.0)
- Workspace client methods support workspace discovery, filesystem operations, skill management, and indexed-content search. (1.1.0) — [release notes](https://github.com/mastra-ai/mastra/releases/tag/mastra%401.1.0)
- Server adapters accept MCP options, including `serverless: true`, for stateless MCP HTTP transport in serverless or edge environments. (1.1.0) — [release notes](https://github.com/mastra-ai/mastra/releases/tag/mastra%401.1.0)
- Server adapters accept mcpOptions.serverless to run MCP HTTP transport without session state, supporting isolated serverless requests. (1.1.0) — [release notes](https://github.com/mastra-ai/mastra/releases/tag/mastra%401.1.0)
- Server adapters accept mcpOptions; setting serverless: true enables stateless MCP HTTP transport for serverless environments. (1.1.0) — [release notes](https://github.com/mastra-ai/mastra/releases/tag/mastra%401.1.0)
- Providers using non-default AI SDK packages are routed to their correct SDK instead of falling back to `openai-compatible`; Cerebras, Together AI, and DeepInfra are added as native SDK providers. (1.1.0) — [release notes](https://github.com/mastra-ai/mastra/releases/tag/mastra%401.1.0)
- When enabled, working memory is provided as context but the `updateWorkingMemory` tool is unavailable. (1.1.0) — [release notes](https://github.com/mastra-ai/mastra/releases/tag/mastra%401.1.0)
- When readOnly is true, working memory is provided as context but the updateWorkingMemory tool is unavailable. (1.1.0) — [release notes](https://github.com/mastra-ai/mastra/releases/tag/mastra%401.1.0)
- Provides access to all request context values, including validated values. (1.1.0) — [release notes](https://github.com/mastra-ai/mastra/releases/tag/mastra%401.1.0)
- Tools, agents, workflows, and steps can define a Zod schema to validate request context at runtime and provide typed access. (1.1.0) — [release notes](https://github.com/mastra-ai/mastra/releases/tag/mastra%401.1.0)
- Added type support for requestContextSchema. (1.1.0) — [release notes](https://github.com/mastra-ai/mastra/releases/tag/mastra%401.1.0)
- The Inngest integration adds requestContextSchema type support. (1.1.0) — [release notes](https://github.com/mastra-ai/mastra/releases/tag/mastra%401.1.0)
- Added type support for requestContextSchema. (1.1.0) — [release notes](https://github.com/mastra-ai/mastra/releases/tag/mastra%401.1.0)
- Adds an option to connect Mastra Studio to a server using a custom API prefix. (1.1.0) — [release notes](https://github.com/mastra-ai/mastra/releases/tag/mastra%401.1.0)
- Stored agents gain CRUD and version-management APIs, client SDK support, and automatic versioning on updates when enabled, allowing dynamic configuration management and audit history. (1.1.0) — [release notes](https://github.com/mastra-ai/mastra/releases/tag/mastra%401.1.0)
- Stored agents gain CRUD and version-management operations, including creating, listing, activating, restoring, deleting, and comparing versions, with automatic versioning on updates when enabled. (1.1.0) — [release notes](https://github.com/mastra-ai/mastra/releases/tag/mastra%401.1.0)
- Agents can be created, edited, deleted, and versioned dynamically through storage, REST endpoints, and the client SDK, with version comparison and restoration. (1.1.0) — [release notes](https://github.com/mastra-ai/mastra/releases/tag/mastra%401.1.0)
- Developers can configure a custom API route prefix in the Studio UI so Studio works with servers using a custom base path instead of /api. (1.1.0) — [release notes](https://github.com/mastra-ai/mastra/releases/tag/mastra%401.1.0)
- The workflow-run cancellation hook is now exported from @mastra/react for use in custom applications. (1.1.0) — [release notes](https://github.com/mastra-ai/mastra/releases/tag/mastra%401.1.0)
- The hook is exported from @mastra/react so custom applications can cancel workflow runs. (1.1.0) — [release notes](https://github.com/mastra-ai/mastra/releases/tag/mastra%401.1.0)
- A new @mastra/react hook supports streaming, observing, resuming, and time-traveling workflows, with tracingOptions and onError parameters. (1.1.0) — [release notes](https://github.com/mastra-ai/mastra/releases/tag/mastra%401.1.0)
- The @mastra/react hook supports streaming, observing, resuming, and time-traveling workflows, with tracingOptions and onError parameters. (1.1.0) — [release notes](https://github.com/mastra-ai/mastra/releases/tag/mastra%401.1.0)
- The playground UI adds components for browsing and viewing workspace files, listing skills, searching workspace content, and viewing skill reference files. (1.1.0) — [release notes](https://github.com/mastra-ai/mastra/releases/tag/mastra%401.1.0)
- Workspace API endpoints provide workspace discovery, filesystem operations, skill listing and details, references, and indexed-content search. (1.1.0) — [release notes](https://github.com/mastra-ai/mastra/releases/tag/mastra%401.1.0)

### Performance

- The Cloudflare deployer stubs out TypeScript to avoid exceeding the Workers 3MB size limit; agent-builder falls back to basic validation when TypeScript is unavailable. (1.1.0) — [release notes](https://github.com/mastra-ai/mastra/releases/tag/mastra%401.1.0)

### Behavior and default changes

- Filesystem providers extending MastraFilesystem now automatically receive the Mastra logger for consistent file-operation logging. (1.2.0) — [release notes](https://github.com/mastra-ai/mastra/releases/tag/mastra%401.2.0)
- Sandbox providers extending MastraSandbox now automatically receive the Mastra logger for consistent command-execution logging. (1.2.0) — [release notes](https://github.com/mastra-ai/mastra/releases/tag/mastra%401.2.0)
- Custom input processors replace only configured processors; memory and workspace skill tools remain available in generate() and stream(). (1.2.0) — [release notes](https://github.com/mastra-ai/mastra/releases/tag/mastra%401.2.0)
- recall now returns token usage from the vector-search query embedding. (1.2.0) — [release notes](https://github.com/mastra-ai/mastra/releases/tag/mastra%401.2.0)
- saveMessages now returns aggregated embedding token usage so applications can track embedding consumption. (1.2.0) — [release notes](https://github.com/mastra-ai/mastra/releases/tag/mastra%401.2.0)
- AI tracing now defaults to a 128KB maxStringLength and maxDepth 8, reducing truncation of large prompts and responses. (1.2.0) — [release notes](https://github.com/mastra-ai/mastra/releases/tag/mastra%401.2.0)
- Agent voice configuration now accepts any `MastraVoice` implementation directly, without requiring a `CompositeVoice` wrapper. (1.1.0) — [release notes](https://github.com/mastra-ai/mastra/releases/tag/mastra%401.1.0)
- `bail()` accepts any value, allowing workflow steps to exit early with a custom result. (1.1.0) — [release notes](https://github.com/mastra-ai/mastra/releases/tag/mastra%401.1.0)
- AgentBuilder now uses InMemoryStore as a fallback when no storage is provided, allowing Memory operations without explicit storage configuration. (1.1.0) — [release notes](https://github.com/mastra-ai/mastra/releases/tag/mastra%401.1.0)
- The Agent voice property now accepts `MastraVoice` implementations directly instead of only `CompositeVoice`. (1.1.0) — [release notes](https://github.com/mastra-ai/mastra/releases/tag/mastra%401.1.0)
- The model router now propagates providers' supported URL patterns, allowing supported file URLs to be passed directly instead of downloaded and converted to bytes or base64. (1.1.0) — [release notes](https://github.com/mastra-ai/mastra/releases/tag/mastra%401.1.0)
- Custom API routes registered with registerApiRoute are included in generated OpenAPI documentation alongside built-in routes. (1.1.0) — [release notes](https://github.com/mastra-ai/mastra/releases/tag/mastra%401.1.0)
- The playground no longer hardcodes temperature: 0.5 or topP: 1 in agent settings; agent configuration and provider defaults now determine these values. (1.1.0) — [release notes](https://github.com/mastra-ai/mastra/releases/tag/mastra%401.1.0)
- Tool approval requests now create MODEL_CHUNK spans containing the tool call ID and name, approval arguments, and resume schema, making approval flows visible for debugging. (1.1.0) — [release notes](https://github.com/mastra-ai/mastra/releases/tag/mastra%401.1.0)
- Spans inherit entity metadata from the closest non-internal parent, processor spans track input and output separately, streaming emits model chunk spans, and internal framework spans are omitted from exported traces. (1.1.0) — [release notes](https://github.com/mastra-ai/mastra/releases/tag/mastra%401.1.0)
- Spans inherit entity identifiers from the closest non-internal parent, processor spans track input and output separately, streaming chunks emit model chunk spans, and internal framework spans are excluded from exported traces. (1.1.0) — [release notes](https://github.com/mastra-ai/mastra/releases/tag/mastra%401.1.0)

### Tooling

- create mastra can add an AGENTS.md file during project creation, and can optionally add CLAUDE.md. (1.2.0) — [release notes](https://github.com/mastra-ai/mastra/releases/tag/mastra%401.2.0)
- The CLI checks whether installed @mastra/* packages satisfy each other's peer dependency requirements and warns with upgrade instructions when they do not. (1.1.0) — [release notes](https://github.com/mastra-ai/mastra/releases/tag/mastra%401.1.0)
- The CLI checks whether installed @mastra/* packages satisfy each other's peer dependency requirements and warns with upgrade instructions when they do not. (1.1.0) — [release notes](https://github.com/mastra-ai/mastra/releases/tag/mastra%401.1.0)

### Fixes and other changes

- The moonshotai provider now uses an Anthropic-compatible API endpoint to properly handle reasoning_content for kimi-k2.5. (1.2.0) — [release notes](https://github.com/mastra-ai/mastra/releases/tag/mastra%401.2.0)
- The China moonshotai provider now uses an Anthropic-compatible API endpoint to properly handle reasoning_content for kimi-k2.5. (1.2.0) — [release notes](https://github.com/mastra-ai/mastra/releases/tag/mastra%401.2.0)
- An explicit toolChoice of none returned with empty tools is preserved instead of being discarded and defaulting to auto. (1.2.0) — [release notes](https://github.com/mastra-ai/mastra/releases/tag/mastra%401.2.0)
- Malformed routing-agent JSON is fed back to the routing agent so it can retry instead of crashing the network. (1.1.0) — [release notes](https://github.com/mastra-ai/mastra/releases/tag/mastra%401.1.0)
- Network workflow runs now receive request context, including user and resource metadata for observability and analytics. (1.1.0) — [release notes](https://github.com/mastra-ai/mastra/releases/tag/mastra%401.1.0)
- Configured input and output processors are applied to the routing agent, while memory-derived processors are excluded. (1.1.0) — [release notes](https://github.com/mastra-ai/mastra/releases/tag/mastra%401.1.0)
- Configured output processors are applied to messages before network execution saves them to storage. (1.1.0) — [release notes](https://github.com/mastra-ai/mastra/releases/tag/mastra%401.1.0)
- Sub-agents no longer receive completion-check feedback from prior network iterations. (1.1.0) — [release notes](https://github.com/mastra-ai/mastra/releases/tag/mastra%401.1.0)
- Deployer resolves dependency versions accurately in monorepos, including hoisted dependencies, ESM-only packages, transitive workspace dependencies, and deployer-provided packages. (1.1.0) — [release notes](https://github.com/mastra-ai/mastra/releases/tag/mastra%401.1.0)
- Template merging now converts kebab-case filenames to camelCase correctly and fixes PascalCase and acronym-boundary conversions. (1.1.0) — [release notes](https://github.com/mastra-ai/mastra/releases/tag/mastra%401.1.0)
- RecursiveCharacterTransformer now supports all languages defined in the Language enum, including languages that previously caused runtime errors during code chunking. (1.1.0) — [release notes](https://github.com/mastra-ai/mastra/releases/tag/mastra%401.1.0)
- The Convex workflow snapshots table schema now defines the id field required by the by_record_id index, enabling successful Convex deployments. (1.1.0) — [release notes](https://github.com/mastra-ai/mastra/releases/tag/mastra%401.1.0)
- Swagger UI now uses the correct OpenAPI endpoint URL, /api/openapi.json. (1.1.0) — [release notes](https://github.com/mastra-ai/mastra/releases/tag/mastra%401.1.0)
- Agent and workflow operations now receive requestContext, preventing tools and nested operations that depend on its values from failing or behaving incorrectly. (1.1.0) — [release notes](https://github.com/mastra-ai/mastra/releases/tag/mastra%401.1.0)
- Route prefixes are normalized, and a custom prefix replaces the default /api prefix rather than being prepended to it. (1.1.0) — [release notes](https://github.com/mastra-ai/mastra/releases/tag/mastra%401.1.0)
- Workflow, agent, and tool spans now map to CHAIN, AGENT, and TOOL respectively instead of defaulting to LLM. (1.1.0) — [release notes](https://github.com/mastra-ai/mastra/releases/tag/mastra%401.1.0)
- PATCH requests now save stored-agent changes correctly instead of failing silently; schema migration and stale-record cleanup restore create and edit flows. (1.1.0) — [release notes](https://github.com/mastra-ai/mastra/releases/tag/mastra%401.1.0)
- PATCH requests now save stored agent changes correctly; migration handling repairs old snapshot-based schemas and cleans up stale draft records and legacy tables. (1.1.0) — [release notes](https://github.com/mastra-ai/mastra/releases/tag/mastra%401.1.0)
- Stored agent edits no longer fail silently; PATCH requests save changes correctly, and schema migration repairs legacy snapshot-based versions tables and stale records. (1.1.0) — [release notes](https://github.com/mastra-ai/mastra/releases/tag/mastra%401.1.0)
- Server handlers now resolve stored and sub-agents as well as registered agents for A2A, memory, scores, tools, and voice endpoints. (1.1.0) — [release notes](https://github.com/mastra-ai/mastra/releases/tag/mastra%401.1.0)
- `suspendedToolRunId` is nullable to fix null handling in tool input validation. (1.1.0) — [release notes](https://github.com/mastra-ai/mastra/releases/tag/mastra%401.1.0)
- The function imports ReadableStream and TransformStream from node:stream/web, fixing TypeScript async-iterator errors with for-await-of loops. (1.1.0) — [release notes](https://github.com/mastra-ai/mastra/releases/tag/mastra%401.1.0)
- Langfuse and PostHog exporters exclude cached tokens from input counts, report cache read and creation tokens separately, and clamp input counts to prevent negative values. (1.1.0) — [release notes](https://github.com/mastra-ai/mastra/releases/tag/mastra%401.1.0)
- Validation retries after stripping null values when the initial attempt fails, so optional fields accept null while nullable fields continue to work. (1.1.0) — [release notes](https://github.com/mastra-ai/mastra/releases/tag/mastra%401.1.0)
- Tags from agent defaultOptions.tracingOptions are now preserved when merging call-site options and passed to observability exporters. (1.1.0) — [release notes](https://github.com/mastra-ai/mastra/releases/tag/mastra%401.1.0)
- Tags from agent default tracing options are preserved when call-site options are merged and are passed to observability exporters. (1.1.0) — [release notes](https://github.com/mastra-ai/mastra/releases/tag/mastra%401.1.0)
