# Pi 0.84.0: Fullscreen TUI, Mermaid/LaTeX rendering, per-directory context overrides, extensive API breaks

> Major release introducing fullscreen TUI mode with independently scrollable transcript and draggable scrollbars, Mermaid diagram and LaTeX math rendering in interactive transcripts, per-directory context overrides via `AGENTS.override.md`, advanced custom model sampling parameters, and a built-in Baseten provider. Includes extensive breaking changes to the provider API (`ModelsStreamTransforms`→`ModelsRequestTransforms`, `message_update` event deltas, `ModelRegistry`/provider refresh APIs, v4 lane-based session model replacing the legacy harness).

| | |
|---|---|
| **Tool** | Pi |
| **Version** | v0.84.0 |
| **Kind** | release |
| **Published** | 2026-08-06 |
| **Observed** | 2026-08-21 |
| **Significance** | 4/5 |
| **Breaking** | yes |
| **Categories** | feature, breaking, api-change, capability |

## What changed


**New Features**
- Fullscreen TUI mode: runtime switching between regular/fullscreen, sticky editor and footer, independently scrollable transcript, draggable scrollbars
- Mermaid diagram rendering in interactive transcripts
- LaTeX Unicode math rendering in interactive transcripts
- Per-directory context overrides via `AGENTS.override.md`
- Advanced custom model sampling: arbitrary OpenAI-compatible `samplingParams`, opt-in vLLM `thinking_token_budget`
- Built-in Baseten provider with authentication and model support

**Breaking Changes**
- `ModelsStreamTransforms` renamed to `ModelsRequestTransforms` (header transformation now applies to all authenticated provider requests)
- JSON/RPC `message_update` events now emit only `assistantMessageEvent` deltas; callers must assemble partial messages between `message_start` and `message_end`
- `ModelRegistry.getApiKeyAndHeaders()` returns `ProviderHeaders` with `string | null` values preserving null header-deletion markers
- `ModelRegistry.refresh()` accepts `ModelsRefreshOptions` and returns `ModelsRefreshResult`
- `ModelRuntime.setRuntimeApiKey()` accepts auth cancellation options instead of catalog refresh options
- Provider refresh context: replaced dynamic store access with read-only `context.stored` snapshot and generation-checked `context.publish()` transaction
- v4 lane-based `Session`, `SessionStorage`, and `SessionRepo` APIs replacing the legacy harness session model
- v2 session/`AgentHarness` API promoted from experimental to default export; experimental subpaths removed
- Legacy JSONL and in-memory repository APIs removed


## Sources

- [github_release](https://github.com/earendil-works/pi/releases/tag/v0.84.0) — retrieved 2026-08-21


## Community

_No curated reactions recorded. Facts and community takes are kept in separate layers
and never blended._

---
Canonical: https://changelogs.info/pi/v0-84-0
Entity: https://changelogs.info/pi
Event ID: `evt_2026-08-06_pi_v0-84-0`
Licence: event synthesis © changelogs.info, CC BY 4.0. Linked sources belong to their vendors.
