# v1.0.8

## Structured Response Formats

- **Added response format configuration** — new "Formats" tab in the Configuration dialog with full CRUD for response formats. Create, edit, and delete formats from a visual schema builder.
- **Added visual schema builder** — field-by-field editor with name, type (Text, Number, Yes/No, List, Object), description, and required toggle. No need to write JSON Schema by hand. Raw JSON mode still available via toggle for power users.
- **Added structured response visualization** — when a response format is active, the parsed output renders as a human-readable view instead of raw JSON: booleans show as ✓ Yes / ✗ No, primitive arrays as pill badges, objects as labeled sections, nested data with visual indentation. Raw output is accessible via a collapsible toggle.
- **Added response format selector in chat input** — pick a format from a dropdown before sending a message. Selected format is highlighted with the format name. Wider dropdown with descriptions shown below format names.
- **Fixed format selector stale data** — selector now shares the TanStack Query cache with the config panel, so newly created/edited formats appear immediately without reloading.

## Auto-Follow Improvements

- **Fixed session switch not resetting to follow mode** — switching sessions while in free-scroll mode now correctly resets to follow mode and scrolls to the bottom of the new session instead of staying at the top in free view.
- **Fixed auto-follow breaking on large content changes** — tool results and streaming content that cause layout shifts no longer prematurely disable auto-follow. Only explicit user intent (toggle button, upward wheel scroll, or upward touch drag) can turn follow mode off.
- **Added explicit navigation intent** — session navigation now distinguishes normal follow-mode navigation from target-message navigation. Normal session changes follow the latest messages, while pinned-message jumps enter free mode and scroll to the selected message without snapping back to bottom.
- **Improved scroll state reliability** — eliminated stale closures and state desync between the auto-follow toggle and the virtualized list by consolidating state reads into refs. Programmatic scroll guards now cover LegendList's internal layout adjustments.

## Pinned Messages

- **Added pinned assistant messages** — assistant messages can now be pinned from the message header and persisted per workspace.
- **Added pinned messages sidebar panel** — workspace sidebars now show pinned messages with session title, preview text, relative timestamp, quick navigation to the original message, and unpin controls.
- **Added collapsible pinned section** — pinned messages can be collapsed/expanded from the sidebar and show a count badge. Pins from the current session are subtly highlighted.
- **Added target-message navigation** — clicking a pinned message resumes its session, scrolls directly to that message, and highlights it briefly.
- **Improved sidebar layout** — archived sessions are collapsed by default, pinned messages avoid horizontal overflow, and sidebar scrolling is restricted to vertical scrolling.

## Workspace Additional Paths

- **Added additional paths dialog** — new "Additional Paths" option in the workspace header 3-dot menu and workspace selector 3-dot menu. Opens a dialog to add/remove directories the agent can access alongside the primary workspace.
- **Added folder picker integration** — "Add Path" button opens the existing folder picker dialog to browse and select directories.
- **Fixed dialog not showing existing paths** — the additional paths dialog now correctly syncs its state when opened, instead of relying on `useState` initialization that only runs once.

## Configuration

- **All formats can be deleted** — removed built-in format protection. Every format (including defaults) can be edited or deleted for full control.

## Workspace Memory

- **Added memory settings dialog** — new "Memory" option in the workspace header 3-dot menu. Opens a dialog to enable/disable workspace memory and set the permission level for memory writes (None, Low, Medium, High, Critical). When enabled, the agent gains a `memory` tool to persist facts across sessions.
- **Added `updateWorkspaceSettings`** — session manager now exposes an `updateWorkspaceSettings(id, settings)` function, following the same pattern as `updateWorkspacePaths`. Workspace settings are synced to the server via `PATCH /api/workspaces/:id` and reflected in the store immediately.
