# What changed in @flue/runtime

> 16 changes in @flue/runtime 2 from its official release notes, upgrade guides and advisories: 5 breaking, 4 new APIs and options. Each one cited. Sources checked 2026-11-01. HTML: https://unstale.sh/npm/@flue/runtime/

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

## @flue/runtime 2

### Breaking changes

- Reads only the newest messages when a limit is provided; snapshots retain the head offset, incarnation, and every settlement, and add a before cursor. (2.2.0) — [release notes](https://github.com/withastro/flue/releases/tag/%40flue/runtime%402.2.0)
- Hydrates only the newest messages, then grows forward with live updates; reconnect rehydration and conversation-reset snapshots use the same window. (2.2.0) — [release notes](https://github.com/withastro/flue/releases/tag/%40flue/runtime%402.2.0)
- Is now a union of image and document attachments; document attachments carry PDF data and an optional filename. (2.2.0) — [release notes](https://github.com/withastro/flue/releases/tag/%40flue/runtime%402.2.0)
- Cursors are opaque and bound to one stream generation; reads with an old cursor after reset are rejected with history_cursor_not_found (410), and observe() re-bases. (2.2.0) — [release notes](https://github.com/withastro/flue/releases/tag/%40flue/runtime%402.2.0)
- Now requires settlements, so history pages are not accepted; it falls back to the latest assistant message only on a complete conversation. (2.2.0) — [release notes](https://github.com/withastro/flue/releases/tag/%40flue/runtime%402.2.0)

### New APIs and options

- Reads older messages one page at a time using a cursor; the page size is required. (2.2.0) — [release notes](https://github.com/withastro/flue/releases/tag/%40flue/runtime%402.2.0)
- The SDK now exports DeliveredImageAttachment. (2.2.0) — [release notes](https://github.com/withastro/flue/releases/tag/%40flue/runtime%402.2.0)
- Adds a documents option alongside images to session.prompt(), skill(), task(), and @flue/react's sendMessage(). (2.2.0) — [release notes](https://github.com/withastro/flue/releases/tag/%40flue/runtime%402.2.0)
- Conversation messages now include a server-authored ISO 8601 capture time in history(), observe(), and useFlueAgent; settlements include the time the submission settled. (2.2.0) — [release notes](https://github.com/withastro/flue/releases/tag/%40flue/runtime%402.2.0)

### Behavior and default changes

- If a model ID differs from exactly one catalog ID only by hyphens versus dots between version digits, Flue resolves it and logs a one-time warning suggesting the current ID. (2.2.1) — [release notes](https://github.com/withastro/flue/releases/tag/%40flue/runtime%402.2.1)
- Can now be passed to useModel() without extra configuration. (2.2.0) — [release notes](https://github.com/withastro/flue/releases/tag/%40flue/runtime%402.2.0)
- Documents are forwarded as native document content to Anthropic, OpenAI and Azure OpenAI Responses, and Google; other model APIs receive a text placeholder. (2.2.0) — [release notes](https://github.com/withastro/flue/releases/tag/%40flue/runtime%402.2.0)
- Can now be passed to useModel() without extra configuration. (2.2.0) — [release notes](https://github.com/withastro/flue/releases/tag/%40flue/runtime%402.2.0)
- Can now be passed to useModel() without extra configuration. (2.2.0) — [release notes](https://github.com/withastro/flue/releases/tag/%40flue/runtime%402.2.0)

### Fixes and other changes

- Registers Claude models under Anthropic-compatible dashed IDs so the Cloudflare AI Gateway’s native Anthropic endpoint no longer returns a 404; dotted specifiers still resolve to them. (2.2.2) — [release notes](https://github.com/withastro/flue/releases/tag/%40flue/runtime%402.2.2)
- Anthropic beta features are sent in the anthropic-beta request header instead of the request body, fixing Cloudflare-routed Anthropic models with tools. (2.2.0) — [release notes](https://github.com/withastro/flue/releases/tag/%40flue/runtime%402.2.0)
