# What changed in @mastra/client-js

> 27 changes in @mastra/client-js 1 from its official release notes, upgrade guides and advisories: 3 breaking, 1 deprecations, 19 new APIs and options. Each one cited. Sources checked 2026-10-19. HTML: https://unstale.sh/npm/@mastra/client-js/

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

## @mastra/client-js 1

### Breaking changes

- Supports mode: 'merge' for atomic working-memory merges; requests are rejected with HTTP 400 when the storage adapter does not support atomic merges. (1.53.0) — [release notes](https://github.com/mastra-ai/mastra/blob/ba2385ed939e980024859926953c03e8a1a8305a/client-sdks/client-js/CHANGELOG.md#1530)
- Requests conflicting with a run's state now return 409 Conflict instead of 500. (1.53.0) — [release notes](https://github.com/mastra-ai/mastra/blob/ba2385ed939e980024859926953c03e8a1a8305a/client-sdks/client-js/CHANGELOG.md#1530)
- With reconnect enabled, resubscribe failures with 4xx or 501 errors now reject with the original error instead of retrying; other documented retry cases remain. (1.53.0) — [release notes](https://github.com/mastra-ai/mastra/blob/ba2385ed939e980024859926953c03e8a1a8305a/client-sdks/client-js/CHANGELOG.md#1530)

### Deprecations

- experimentIdA and experimentIdB still support two-experiment comparisons but are deprecated in favor of experimentIds. (1.54.0) — [release notes](https://github.com/mastra-ai/mastra/blob/ba2385ed939e980024859926953c03e8a1a8305a/client-sdks/client-js/CHANGELOG.md#1540)

### New APIs and options

- Adds a method for queuing a typed signal behind the active thread run. (1.55.0) — [release notes](https://github.com/mastra-ai/mastra/blob/ba2385ed939e980024859926953c03e8a1a8305a/client-sdks/client-js/CHANGELOG.md#1550)
- Adds client-side trace aggregation by time range, grouping, and measures; check capabilities.traceAggregate before calling it. (1.55.0) — [release notes](https://github.com/mastra-ai/mastra/blob/ba2385ed939e980024859926953c03e8a1a8305a/client-sdks/client-js/CHANGELOG.md#1550)
- Adds errorPreview to trace list rows and querySpans() rows. (1.55.0) — [release notes](https://github.com/mastra-ai/mastra/blob/ba2385ed939e980024859926953c03e8a1a8305a/client-sdks/client-js/CHANGELOG.md#1550)
- Adds errorTruncated to querySpans() rows. (1.55.0) — [release notes](https://github.com/mastra-ai/mastra/blob/ba2385ed939e980024859926953c03e8a1a8305a/client-sdks/client-js/CHANGELOG.md#1550)
- Adds outputPreview to trace list rows. (1.55.0) — [release notes](https://github.com/mastra-ai/mastra/blob/ba2385ed939e980024859926953c03e8a1a8305a/client-sdks/client-js/CHANGELOG.md#1550)
- Adds an optional observability capability indicating how long traces are kept, so clients can avoid offering dates whose traces are gone. (1.55.0) — [release notes](https://github.com/mastra-ai/mastra/blob/ba2385ed939e980024859926953c03e8a1a8305a/client-sdks/client-js/CHANGELOG.md#1550)
- An exported type describes the output stored for agent experiment targets, including preserved error details. (1.54.0) — [release notes](https://github.com/mastra-ai/mastra/blob/ba2385ed939e980024859926953c03e8a1a8305a/client-sdks/client-js/CHANGELOG.md#1540)
- Compare two to ten experiments at once against a baseline by passing experimentIds and optionally baselineId. (1.54.0) — [release notes](https://github.com/mastra-ai/mastra/blob/ba2385ed939e980024859926953c03e8a1a8305a/client-sdks/client-js/CHANGELOG.md#1540)
- An exported type describes experiment result output by target. (1.54.0) — [release notes](https://github.com/mastra-ai/mastra/blob/ba2385ed939e980024859926953c03e8a1a8305a/client-sdks/client-js/CHANGELOG.md#1540)
- The /steer and /follow-up routes accept the files field and limits already supported by /messages. (1.54.0) — [release notes](https://github.com/mastra-ai/mastra/blob/ba2385ed939e980024859926953c03e8a1a8305a/client-sdks/client-js/CHANGELOG.md#1540)
- AgentController followUp accepts file attachments, including when the message is queued behind an active run. (1.54.0) — [release notes](https://github.com/mastra-ai/mastra/blob/ba2385ed939e980024859926953c03e8a1a8305a/client-sdks/client-js/CHANGELOG.md#1540)
- Generated Agent Controller tool-suspension route types now include an optional run id field. (1.54.0) — [release notes](https://github.com/mastra-ai/mastra/blob/ba2385ed939e980024859926953c03e8a1a8305a/client-sdks/client-js/CHANGELOG.md#1540)
- An exported type describes the output stored for scorer experiment targets. (1.54.0) — [release notes](https://github.com/mastra-ai/mastra/blob/ba2385ed939e980024859926953c03e8a1a8305a/client-sdks/client-js/CHANGELOG.md#1540)
- AgentController steer accepts file attachments, including when the message is queued behind an active run. (1.54.0) — [release notes](https://github.com/mastra-ai/mastra/blob/ba2385ed939e980024859926953c03e8a1a8305a/client-sdks/client-js/CHANGELOG.md#1540)
- Experiment results include targetType, which lets TypeScript narrow output to typed agent or scorer results; workflow, processor, and caller-driven outputs remain unknown. (1.54.0) — [release notes](https://github.com/mastra-ai/mastra/blob/ba2385ed939e980024859926953c03e8a1a8305a/client-sdks/client-js/CHANGELOG.md#1540)
- Gets an experiment by ID without requiring its dataset. (1.53.0) — [release notes](https://github.com/mastra-ai/mastra/blob/ba2385ed939e980024859926953c03e8a1a8305a/client-sdks/client-js/CHANGELOG.md#1530)
- Added as a trace-query operator in the generated trace-query types. (1.53.0) — [release notes](https://github.com/mastra-ai/mastra/blob/ba2385ed939e980024859926953c03e8a1a8305a/client-sdks/client-js/CHANGELOG.md#1530)
- Added as a trace-query operator in the generated trace-query types. (1.53.0) — [release notes](https://github.com/mastra-ai/mastra/blob/ba2385ed939e980024859926953c03e8a1a8305a/client-sdks/client-js/CHANGELOG.md#1530)
- The Client SDK recognizes this live session event, allowing web clients to respond immediately to the agent's task-completion verdict. (1.53.0) — [release notes](https://github.com/mastra-ai/mastra/blob/ba2385ed939e980024859926953c03e8a1a8305a/client-sdks/client-js/CHANGELOG.md#1530)

### Fixes and other changes

- Failed agent runs now store error.message and error.stack instead of an empty object. (1.54.0) — [release notes](https://github.com/mastra-ai/mastra/blob/ba2385ed939e980024859926953c03e8a1a8305a/client-sdks/client-js/CHANGELOG.md#1540)
- Session streams send the current display state as their first event; merge currentMessage by message ID rather than appending it. (1.53.0) — [release notes](https://github.com/mastra-ai/mastra/blob/ba2385ed939e980024859926953c03e8a1a8305a/client-sdks/client-js/CHANGELOG.md#1530)
- nestUnderParent is no longer dropped from agent and workflow requests sent over HTTP, preserving the run's parent-child trace relationship. (1.53.0) — [release notes](https://github.com/mastra-ai/mastra/blob/ba2385ed939e980024859926953c03e8a1a8305a/client-sdks/client-js/CHANGELOG.md#1530)
- Forwards options, including speaker, to the voice provider; options.speaker takes precedence over the top-level speakerId when both are sent. (1.53.0) — [release notes](https://github.com/mastra-ai/mastra/blob/ba2385ed939e980024859926953c03e8a1a8305a/client-sdks/client-js/CHANGELOG.md#1530)
