What's Changed
- feat(web): support project and global pinned sessions by @techotaku39 in #1115
- fix(shared): parse AGENT_NOTIFY_SUMMARY with glued last-line prose by @heavygee in #1426
- fix(web): keep project-pin groups above In progress by @heavygee in #1432
- fix(web): keep project pin inside groups below In progress by @heavygee in #1458
- fix(web): add Ctrl+X / Ctrl+S to mobile terminal Control pad by @heavygee in #1460
- fix(cli): remap bracketed Cursor wires onto bare/SKU catalogs by @heavygee in #1430
- Fix dictation locale for OpenAI-compatible transcription by @swear01 in #1455
- fix(cli): skip invalid set_mode for interactive Copilot sessions by @swear01 in #1463
- fix(codex): preserve Plan approval when YOLO is enabled by @swear01 in #1420
- fix(agy): preserve PTY running status by @swear01 in #1456
- fix(agy): sync native Anti-Gravity conversation titles by @swear01 in #1476
- fix(pi): sync native session name by @swear01 in #1454
- fix(web): keep Pi controls available during message send by @swear01 in #1442
- fix(web): return chat file previews to conversation by @techotaku39 in #1415
- fix(web): keep shared-image titles in sync with renamed sessions by @techotaku39 in #1411
- fix(web): show file metadata in file preview header by @techotaku39 in #1450
- fix(web): align and remember Codex-family permission mode by @techotaku39 in #1410
- fix(opencode): surface upstream errors and retries by @junmo-kim in #1433
- feat(a2a): P3 AGENT_NOTIFY_SUMMARY → work-graph status ingest by @heavygee in #1467
- Fix confirmation dialog description alignment by @techotaku39 in #1434
- fix(web): remove trailing ellipses from search placeholders by @techotaku39 in #1449
- fix(pi): surface mid-turn LLM errors in web chat by @swear01 in #1479
- fix(web): hide unavailable history actions and reorder message actions by @techotaku39 in #1494
- fix(cli): raise flaky claudeRemote first-test timeout to 15s under CI load by @swear01 in #1493
- feat(cursor): bump hub thinking on ACP harness wake by @heavygee in #1487
- fix(web): avoid macOS case-insensitive collision between StorageUsagePie.tsx and storageUsagePie.ts by @swear01 in #1483
- feat(web): native/deep-link ingest for /share (GET url, text, title) by @heavygee in #1413
- fix(web): exclude path-only husks from @ session mentions by @heavygee in #1507
- feat(web): searchable session picker on Android share target by @heavygee in #986
- feat(hub,cli,web): fleet runner version governance (skew, self-upgrade, soft-fail reopen) by @heavygee in #1108
- fix(web): align generated share watermark to bottom right by @techotaku39 in #1513
- fix(web): remove duplicate gap below queued messages by @techotaku39 in #1505
- fix(web): clarify session list status hints by @techotaku39 in #1504
- feat(pi): queue mid-turn messages by default; steer only via explicit per-message Steer button by @swear01 in #1480
- feat(voice): curate dictation credential presets to ElevenLabs, OpenAI, Groq by @swear01 in #1474
- fix(a2a): stamp causing inbound on work_ad notify ingest by @heavygee in #1510
- fix(test): stop runner integration suite from leaking detached process trees (#1515) by @swear01 in #1521
- fix(web): fail-closed scheme-less markdown file links by @heavygee in #1519
- fix(cursor): stop session-list spinner flicker from ACP state_update by @heavygee in #1503
- fix(cursor): close ACP list-models race and false exit 143 window by @heavygee in #1518
- feat(web): settings for AGENT_NOTIFY_SUMMARY chat display (default hide) by @heavygee in #1477
- fix(web): restore scroll chaining from reasoning panel to chat viewport by @swear01 in #1501
Full Changelog: v0.27.2...v0.27.3