> Documentation index for m4trix: https://m4trix.dev/llms.txt. Every page is available as Markdown by appending `.md` to its URL.

# Changelog

> Release notes for @m4trix/core, stream, react, and ui.

Source: https://m4trix.dev/docs/project/changelog

Product updates for **@m4trix/core**, generated from [conventional commits](https://www.conventionalcommits.org/) in the monorepo. Scopes in commit messages route entries to the Agents, Evals, or Tracing changelogs.

_Last regenerated 2026-10-14 (UTC)._

## October 14, 2026

_Unreleased · latest core v0.17.0_

### Breaking changes

- production-ready runtime for agent networks, with context folds (`core`) **BREAKING** ([00b1845](https://github.com/Pascal-Lohscheidt/m4trix/commit/00b184513053bf9c14bd1c62c3043d0719e6e458))

  Runs now have a lifecycle, limits, validation, tenant-scoped history and resumable streams, and
  agents can build their model context incrementally with context folds. Migration notes for every
  breaking change are in packages/core/CHANGELOG.md.
  
  - Run lifecycle: `endsOn(event, when?)`, `ctx.complete()` / `ctx.fail()`, `idleTimeout` and
    `maxDuration`, `onAgentError: 'fail' | 'continue'`, and `m4trix:run.completed|failed|cancelled`
    after which the stream closes. Agents, tools and skills get an AbortSignal.
  - Concurrency: per-run mailboxes, so a run's events are handled in order while runs proceed in
    parallel; `.concurrency(n)` per agent; transient events slide instead of blocking.
  - Limits and usage: `maxDepth` (25) and `maxEvents` (1000) by default, `ctx.reportUsage()` with
    optional `maxTokens` / `maxCostUsd`; events carry `eventId`, `ts`, `depth` and `causationId`.
  - Stores and tenancy: async pluggable `AgentNetworkStore`, `ctx.history`, an in-memory default
    with TTL and LRU, history namespaced by the principal `auth` returns, `EventTransport`, and
    `runStoreContract` / `runTransportContract` in `@m4trix/core/testing`.
  - Validation: 400 on invalid requests, strict emits against `.emits([...])`, enforced
    `channel.events([...])`, a wiring check at setup (`network.validate()`), validated params.
  - SSE: `id:` lines with Last-Event-ID resume from the store, a 30 s reconnect window,
    heartbeats, Express back-pressure, GET `?payload=`.
  - Tools: JSON Schema, `toOpenAI()` / `toAnthropic()` / `toAiSdk()`, typed errors,
    `executeForModel()`, `.timeout()` / `.retry()`, a trace span per call; skills stream.
  - Context folds: `ContextFold`, `SegmentedFold`, budgeted views with `ContextStrategy`,
    `.folds([...])` and `ctx.folds.<name>()`, cached on the event plane, compaction via
    checkpoint events; `history.context({ names, after })` and `history.latest()`.
  - Observability: `logger` and `onMetric` options, a tracer `onUsage` hook, cancelled status.
  - Public API: explicit exports with an API report, no Node built-ins (Edge runtimes),
    `effect` as a peer dependency, Node 20+.
  
  BREAKING CHANGE: streams close when their run ends and runs need `endsOn` or `complete()`;
  `ctx.history` replaces `runEvents` / `contextEvents`; `AgentNetworkStore` is async with a new
  interface; `auth` returns a principal; undeclared or invalid emits fail the run; runs default to
  25 hops and 1000 events; tools reject with typed errors; `NetworkTracer` end hooks take a status;
  `DepedencyLayer*` is renamed `DependencyLayer*`; the spawner, `Proxy.kafka` / `Proxy.socketIo`
  and the legacy LLM and socket.io helpers are removed; `effect` must be installed alongside.

## October 3, 2026

_core v0.17.0 · ui v0.8.4 · unreleased (stream v0.8.3, react v0.8.3)_

### Bug fixes

- override vulnerable transitive dependencies to clear high-severity audit findings (`core, stream, react, ui`) ([f5b079d](https://github.com/Pascal-Lohscheidt/m4trix/commit/f5b079d40fbb3369e5e8e7bc28a5b6b84927771b))

  `pnpm audit` (scripts/audit-deployed-packages.ts) reported high/critical
  advisories reachable from published packages, which blocks the release
  pipeline. Pin patched versions via pnpm overrides, staying within each
  dependency's current major line:
  
  - brace-expansion@5 >=5.0.11, nanoid@3 >=3.3.18, ws@8 >=8.21.0,
    js-yaml@4 >=4.3.2 (version-scoped so other majors are untouched)
  - browserslist >=4.28.7, engine.io >=6.6.10, postcss >=8.5.18,
    @grpc/grpc-js >=1.13.6
  - raise existing floors: axios >=1.20.0, form-data >=4.0.6,
    socket.io-parser >=4.2.7
  - trace-viewer: vite ^6.4.3; vitest's auto-installed vite peer now
    resolves to the same patched 6.4.3 instead of 7.3.3
  
  Co-Authored-By: Claude Opus 5.5 (1M context) &lt;noreply@anthropic.com>

## June 5, 2026

_core v0.17.0 · ui v0.8.4 · unreleased (stream v0.8.3, react v0.8.3)_

### Breaking changes

- replace channel sinks with proxy consumers (`matrix`) **BREAKING** ([90871b6](https://github.com/Pascal-Lohscheidt/m4trix/commit/90871b64d9dbe07a87e3f1c5de8c2c529bdd92d9))

  Add channel proxy declarations, explicit SSE proxy consumers, custom proxy registration, and inbound event publishing through InteractiveProxyHandle.
  
  BREAKING CHANGE: AgentNetwork setup now provides `proxy` instead of `sink`, channels use `.proxy(...)`/`getProxies()` instead of `.sink(...)`/`getSinks()`, and `network.expose()` now accepts proxy consumers such as `registerSSEStream(...)` instead of `{ protocol, select }` options.

## June 3, 2026

_core v0.17.0 · ui v0.8.4 · unreleased (stream v0.8.3, react v0.8.3)_

### New features

- add dependency layers, typed tools, and network tracing (`matrix`) ([4e2c6fa](https://github.com/Pascal-Lohscheidt/m4trix/commit/4e2c6fa14adabb5aec1b7f832fb946652692771a))

  - Extract DepedencyLayer for injection across skills, agents, and networks
  - AgentFactory dependsOn/tools; agent logic gets layers, tools, emitAndAwait, tracing
  - Tool builder with Effect schemas, layer deps, and optional event emission
  - AgentNetwork.dependsOn with layer injection at run() and expose()
  - EventPlane.publishAndAwait for request-reply over the event bus
  - NetworkTracer hooks for runs, event publish, and agent invocations

## May 28, 2026

_core v0.16.2 · stream v0.8.3 · react v0.8.3 · ui v0.8.3_

### Bug fixes

- upgrade dependencies to clear high-severity audit findings (`core, stream, react, ui`) ([3316b84](https://github.com/Pascal-Lohscheidt/m4trix/commit/3316b84971ab10b6c8bbe733b34a1bbaad8946c5))

  - bump effect, langchain, and socket.io in core; effect in evals
  - upgrade vitest 4 and tsup 8 across packages; turbo at root
  - add pnpm overrides for transitive advisories (axios, protobufjs, etc.)
  - align example apps and website on patched next releases
  - fix ui vitest 4 test options API in AiCursor spec

## April 18, 2026

_core v0.16.1 · stream v0.8.2 · react v0.8.2 · ui v0.8.2_

### Improvements

- update import paths to use .js extensions for consistency ([97e481c](https://github.com/Pascal-Lohscheidt/m4trix/commit/97e481cc37368ee68fac654649424c19163b3241))

## March 7, 2026

_v0.16.0_

### New features

- main channel api changes (`core`) ([e4fd96f](https://github.com/Pascal-Lohscheidt/m4trix/commit/e4fd96ff56a3371cdbc6c827ef4c27f04aaf774d))
- new features and project restructure ([c5bdf34](https://github.com/Pascal-Lohscheidt/m4trix/commit/c5bdf34571ba590de2106965330e8aa635d1b08d))

## February 27, 2026

_v0.13.0_

### New features

- another refactoring of the skill api (`core`) ([61fae57](https://github.com/Pascal-Lohscheidt/m4trix/commit/61fae5715f753636762ddc413f43813f6bc38741))

## February 25, 2026

_v0.12.0_

### New features

- improved skill interface (`core`) ([3b2b342](https://github.com/Pascal-Lohscheidt/m4trix/commit/3b2b3426bb9f65d8a9906378c999bc939548b0e5))

## February 22, 2026

_core v0.11.0 · stream v0.8.0 · react v0.8.0 · ui v0.8.0_

### New features

- add skill export and enhance type safety in event-plane (`matrix`) ([5bfa399](https://github.com/Pascal-Lohscheidt/m4trix/commit/5bfa3996069a6441aed06cdc32f08a692d492dc0))

  - Added export for the 'skill' module in the matrix index.
  - Improved type safety by specifying types for results and error handling in event-plane functions.
