# Changelog

All notable changes to `fai_studio` recorded here. Pubspec
version + `kStudioVersion` in `lib/main.dart` stay in lockstep.

## 0.70.0 — 2026-06-13

### Added

- **Federation panel.** A new "Föderation" destination shows the
  satellites connected to this hub (name, region, version, wire
  version, advertised capabilities) and adds them in one step: press
  **Add satellite**, name it, and the hub issues a single-use
  bootstrap token bundled with its CA as a ready-to-paste satellite
  config — the bundled CA makes the satellite's first connect
  tamper-proof. Localized (EN + DE) with an in-app help doc. Backed
  by new `HubClient.listSatellites` / `issueBootstrapToken` in the
  Dart SDK.

## 0.68.0 — 2026-06-09

### Added

- **Inline approval driver**. `StudioFlowRunDriver` implements
  the three new methods the editor 0.21.0 introduced
  (`pendingApprovalIdForStep`, `approveApproval`,
  `rejectApproval`) — all delegate to the existing
  `HubService` approvals RPCs. End result: the Run tab now
  hosts a complete Approve / Reject form inline, removing the
  tab-switch detour to the standalone Approvals page.

## 0.67.0 — 2026-06-09

### Added

- **Inline help icons** in the Approvals, Audit, and Doctor
  app-bars open the matching bundled doc in the existing
  bottom-sheet reader via the new public helper
  `showFaiDoc(BuildContext, slug)` exported from `welcome.dart`.
- **New `assets/docs/approvals.md`** (+ `_de.md`) explains the
  approval concept end-to-end with a YAML example.
- **friendlyError hub-pattern matching**. Six hub-specific
  failure shapes (approval rejected / timed out, output too
  large, host service not declared, missing value reference,
  MCP unreachable) get specific localised headlines + hints
  before falling through to the gRPC-code default. Five new
  test cases pin the matchers.

### Changed

- **Settings dialog sidebar fully localised** (Allgemein /
  Darstellung / System-KI / Integrationen / Sicherheit /
  Wartung). Per-panel titles + descriptions also.
- **Daemon action labels localised**: `enable autostart`,
  `disable autostart`, restart / start / stop / status + the
  OK / Failed result line.

## 0.66.0 — 2026-06-08

### Added

- **Add-module-source dialog** for private modules that
  aren't in the public store. Asks for URL or local `.fai`
  bundle path; carries an explainer block + `chain install --link`
  example.
- **Store catalogue** passed to the flow editor so the
  analyzer can decide between Install (in store) and Add
  source (not in store).

## 0.65.x

- Editor 0.18.0 pickup; analyzer-error block on Run;
  diagnostic strip persistence across tabs.

## 0.64.0 — 2026-06-08

### Added

- **Flow editor quick-fix install handler**.
  `_onInstallCapability` wires the editor's "Install <cap>"
  button to `HubService.installModule` and refreshes the
  capability list on success.

## 0.63.0 — 2026-06-04

### Changed

- **Settings dialog refactored** from one 800-line vertical
  scroll into a macOS-style sidebar with six categories.

## 0.62.x — 2026-06-03

### Added

- **`FaiLog` + central error helpers** (`showFaiErrorSnack`,
  `showFaiErrorDialog`).
- **Inline `FaiLogViewer`** modal for tail-viewing log files.
- **Today CTAs** in the Store carousel actually re-run search
  after a `filterCategory` / `runQuery` story.

## 0.61.x and earlier

See git log.
