Mastra shipped @mastra/core 1.71.0 on 2026-09-24: agent.stream starts each tool as soon as its args complete (eagerToolExecution on by default), cutting idle seconds on multi-tool steps; adds planTraceAggregate(), observability getFeatures discovery/feedback flags, and RE2-backed dataset schema regexes to close a DoS vector.
Key Takeaways
- ✓Default: tools start when their streamed args complete; opt out with `eagerToolExecution: false` (#25005)
- ✓Observability stores declare discovery + feedback via `getFeatures()` (#25008, #25020)
- ✓`planTraceAggregate()`: ≤365d range, ≤1000 buckets, ≤10,000 rows (#24868)
- ✓Dataset schema regexes run on RE2; unsupported lookarounds/backrefs rejected (#25044)
- ✓Upgrade: `npm i @mastra/[email protected]`
Project Links & Resources
Direct AccessIn-Depth Technical Analysis
Background
Multi-tool agent steps often idle while the model finishes streaming even after each tool-call's arguments are complete. Observability UIs also lack a shared capability advertisement for custom stores. Mastra 1.71.0 targets both.
Architecture
agent.stream enables eager tool execution by default (#25005): a tool starts when its args complete. Approval/suspend/provider-client/background tools and certain concurrency/output-processor paths still wait for the model. Opt out with eagerToolExecution: false. ObservabilityStorage getFeatures() can advertise discovery + feedback (#25008/#25020). planTraceAggregate() returns a TrustedTraceAggregatePlan after validation (#24868).
Benchmarks
No public SWE scores. Documented aggregate limits: ≤365-day range, ≤1000 buckets, ≤10,000 rows. ~57 commits vs 1.70.0 on the monorepo compare. Dataset regexes move to RE2 (#25044).
Get started
npm i @mastra/[email protected], read the core CHANGELOG, and declare only supported observability features in custom stores.
Discussion & Comments
0Sign in to join the discussion
Connect with AI developers to exchange benchmark insights.