Releases: PureWeen/PolyPilot
Releases · PureWeen/PolyPilot
v1.0.19
🚀 Highlights
- Scheduled Tasks — Set up cron-like recurring prompts for daily stand-ups, periodic reviews, and automated checks with interval, daily, or weekly schedules (#380)
- Session Reliability Overhaul — Eliminated stuck sessions, phantom "(previous)" entries, and false-positive recovery alerts through a comprehensive 3-bug audit (#531)
- CI Fixed — Release Artifacts Are Back — Windows build has been broken since v1.0.18 (zero artifacts shipped). Fixed by excluding dev-only MauiDevFlow packages from Release builds (#532)
✨ New Features
- Scheduled tasks with cron expression support, CRUD UI, run history, and background timer (#380)
- Handle
SessionBackgroundTasksChangedEventandSystemNotificationEventSDK events for better state tracking (#514, #523) - Reasoning effort control — choose low/medium/high/xhigh per session (#504)
- Lightweight model switching via SDK
Model.SwitchToAsync— no more session recreation (#503) - Automatic context compaction via
InfiniteSessionConfig(#501) - Orphaned worker diagnostic scan after session restore (#521, #525)
🐛 Bug Fixes
- Eliminate stuck sessions from companion-field desync — new
ClearProcessingState()atomic method (#531) - Remove phantom "(previous)" session entries after worker revival (#531)
- Unstick prompts blocked by stale shell carry-over from prior turns (#530)
- Fix reflect resume dropping orchestrator @worker dispatch after restart (#528)
- Abort stuck SDK tool state on force-complete; add reflect loop worker timeout (#526)
- Preserve sessions on name collision + treat abort as terminal (#508)
- Queue bridge prompts when session is busy (#510)
- Expire zombie subagents blocking IDLE-DEFER after 20 minutes (#511)
- Force-complete IsProcessing siblings during client recreation (#384)
- Reset IsOrphaned after lazy-resume to unblock stuck mobile sends (#522)
- Revive watchdog when events arrive but watchdog is dead (#505)
- Fix mobile CSS — safe-area, dead code, sidebar overlap, input layout (#498, #500)
- Queue bridge prompts during session restore (#488)
- Re-check PR badge when session becomes active (#469)
- Prevent Maintenance Sleep to keep WebSocket bridge alive (#512)
📝 Documentation
- Agent implementation guidelines from PR review lessons — explore first, avoid companion-pair state, prefer behavioral tests (#524)
- SDK-first migration guidance added to orchestration and processing-state skills (#486)
- Audit and update stale SDK claims in copilot-instructions.md (#497)
- Update skill docs with dead event recovery and timestamp conventions (#515)
🔧 Infrastructure
- Exclude MauiDevFlow from Release builds — fixes Windows CI and reduces production bundle size (#532)
- Structural guard for SavePendingOrchestration ordering (#520)
- Revalidate PR number when opening prompt picker (#506)
- Sidebar floating controls and DiffParser improvements (#485)
Full Changelog: v1.0.18...v1.0.19
Install / Update:
- macOS:
brew upgrade polypilot— or download PolyPilot.zip - Windows: PolyPilot-Windows.zip
- Android: PolyPilot-Android.apk
- Linux: .deb · .AppImage · .flatpak
v1.0.18
Changes
- Bump GitHub.Copilot.SDK 0.2.0 → 0.2.1
- Migrate MauiDevFlow from Redth.* to Microsoft.Maui.DevFlow.* (dotnet/maui-labs)
- Update CLI tool from redth.mauidevflow.cli to microsoft.maui.cli (
maui devflow) - Update all skill docs and command references
- Bump Markdig 1.1.1 → 1.1.2, QRCoder 1.6.0 → 1.7.0, ZXing.Net.Maui.Controls 0.4.0 → 0.7.4
v1.0.17
🚀 Highlights
- No more macOS Keychain password prompts — Fixes the recurring "allow copilot-cli" dialogs that interrupted every 1-2 hours on macOS (#462, #463)
- 1M Context model selection works — Selecting "Claude Opus 4.6 (1M Context)" from the dropdown now correctly applies the model (#457)
🐛 Bug Fixes
- Fix recurring macOS Keychain password prompts on server recovery —
TryRecoverPersistentServerAsyncno longer clears the cached auth token (#462) - Fix transient auth failures triggering Keychain reads — set sentinel on successful auth so the lazy resolution path doesn't re-fire (#463)
- Fix model selection for 1M Context variant —
NormalizeToSlugnow handles multi-parenthetical display names like "Claude Opus 4.6 (1M Context)(Internal Only)" (#457)
📝 Documentation
- Add release-notes skill for curated changelogs and README updates (#458)
- Add social/announcement post generation to release-notes skill (#461)
Full Changelog: v1.0.16...v1.0.17
Install / Update:
- macOS:
brew upgrade polypilot— or download PolyPilot.zip - Windows: PolyPilot-Windows.zip
- Android: PolyPilot-Android.apk
- Linux: .deb · .AppImage · .flatpak
v1.0.16
🐛 Bug Fix
- Fix hourly Keychain password prompts — Lazy-load Keychain reads so macOS stops asking for your login password every hour after auth token storage was introduced in v1.0.15 (#456)
Full Changelog: v1.0.15...v1.0.16
Install / Update:
- macOS:
brew upgrade polypilot— or download PolyPilot.zip - Windows: PolyPilot-Windows.zip
- Android: PolyPilot-Android.apk
- Linux: .deb · .AppImage · .flatpak
v1.0.15
🚀 Highlights
- Fiesta Mode — Multi-Machine Orchestration — Discover other PolyPilot instances on your LAN, pair with a compact string or push-to-pair button, and dispatch work across machines via
@mentionrouting (#322) - Mixed-Model PR Review Squad — Redesigned preset with 5 Opus workers, each internally dispatching 3 parallel sub-agent reviews (Opus, Sonnet, Codex) and synthesizing 2-of-3 consensus reports (#451)
- CLI Subagent Visibility — See when Copilot's built-in agents (code-review, security-review) activate, plus a new
/agentcommand to list, select, and deselect agents (#445)
✨ New Features
- Surface auth errors with actionable guidance — no more opaque "session was not created with authentication info" messages (#446)
- Add mobile sync button with diagnostic logging for remote mode (#438)
- Expose GPT-5.4 model and recover restored session models from event logs (#448)
🐛 Bug Fixes
- Fix mobile streaming: content now renders in real time instead of requiring manual sync (#447, #449)
- Fix cleared input fields re-filling with stale draft text on re-render (#435)
- Fix orchestrator over-dispatching all 5 workers for single-task prompts (#429)
- Fix multi-agent group creation from mobile in remote mode (#437)
- Forward full system environment to CLI child process — fixes missing PATH on Windows (#439)
- Force sync now bypasses streaming guard for active sessions (#444)
- Use
.git/info/excludeinstead of.gitignorefor worktree exclusions — no more dirty working tree (#434) - Remove RESUME-ABORT: sessions are no longer killed on app restart (#452)
🔧 Infrastructure
- Fix structural tests to find call sites instead of method definitions (#453)
- Fix flaky ProcessHelper test catching leaked exceptions from other tests (#454)
Full Changelog: v1.0.14...v1.0.15
Install / Update:
- macOS:
brew upgrade polypilot— or download PolyPilot.zip - Windows: PolyPilot-Windows.zip
- Android: PolyPilot-Android.apk
- Linux: .deb · .AppImage · .flatpak
v1.0.14
v1.0.13
What's Changed
- fix: detect dead connections in watchdog Case B via file size growth check by @PureWeen in #426
- feat: Manual Focus ordering + Mac sleep/wake resilience by @PureWeen in #415
- fix: improve error diagnostics, log exposure, and session error display (issues #420, #424, #425) by @PureWeen in #427
Full Changelog: v1.0.12...v1.0.13
v1.0.12
What's Changed
- Improve bridge startup reliability and token validation by @PureWeen in #341
- fix: handle stale CLI process error during worker session resume by @PureWeen in #374
- fix: restore Direct Sharing persistence on Mac Catalyst by @PureWeen in #377
- fix: flush active-sessions.json after restore to persist recreated session IDs by @PureWeen in #378
- Fix session history loss on restart: detect session ID mismatch and find best events source by @PureWeen in #382
- Strengthen multi-agent skills, Fix flow, and stability tests by @PureWeen in #375
- fix: abort interrupted tools on session resume + Settings cleanup by @PureWeen in #393
- fix: auto-recover persistent server when auth token expires causing all sessions to hang by @jfversluis in #390
- Sort repository dropdown by most recently used by @StephaneDelcroix in #394
- Fix multi-agent worker failures, session persistence, server health, and history recovery by @PureWeen in #391
- Fix premature idle: check BackgroundTasks before completing by @PureWeen in #399
- Add orchestration completion notification and visible indicator by @PureWeen in #401
- Add keepalive ping to prevent server idle timeout (#396) by @PureWeen in #402
- Add MCP server error detection, auto-recovery, and
/mcp reloadcommand by @Copilot in #381 - feat: External session monitoring & dashboard UX improvements by @PureWeen in #370
- Fix ExternalSessionScanner cache thread safety by @PureWeen in #407
- fix: throttle sibling re-resume + faster dead-event-stream detection (#406) by @PureWeen in #409
- Fix inconsistent repo picker: use dropdown in both new session and multi-agent flows by @StephaneDelcroix in #404
- Fix iOS TestFlight build: remove hardcoded signing identity, clean up plist injection by @jfversluis in #411
- fix: comprehensive self-healing for multi-agent groups lost on restart by @PureWeen in #412
- fix: set FullyIsolated worktree strategy for Implement & Challenge and Skill Validator presets by @PureWeen in #410
- feat: Add existing folder as repository by @PureWeen in #405
- Dashboard session management: Focus strip, enriched cards, and grid controls by @PureWeen in #413
- fix: add missing iOS privacy purpose strings (ITMS-90683) by @PureWeen in #414
- fix: distinguish session lock vs SDK errors in resume handling by @PureWeen in #417
- fix: migrate stranded sessions when URL group is promoted to local folder by @PureWeen in #419
- chore: update all NuGet packages to latest versions by @PureWeen in #418
- fix: make 'Service not initialized' retryable in worker dispatch by @PureWeen in #422
- fix: eliminate false-positive premature idle detection that delayed multi-agent synthesis by ~16s by @PureWeen in #421
- fix: improve mobile streaming sync by debouncing server broadcasts by @PureWeen in #423
Full Changelog: v1.0.11...v1.0.12
v1.0.11
What's Changed
- fix: standardize typography system with semantic CSS variables by @bsakel in #363
- fix: break positive feedback loop for sessions stuck with large history by @PureWeen in #354
- fix: prevent duplicate instance on notification tap (Mac Catalyst) by @StephaneDelcroix in #369
- fix: Add tool-honesty instructions to prevent workers from fabricating results by @PureWeen in #371
- fix: session stability hardening by @PureWeen in #373
New Contributors
Full Changelog: v1.0.10...v1.0.11
v1.0.10
What's Changed
- Fix contextual menus not closing on click outside main content area by @StephaneDelcroix in #235
- Make multi-agent group name input more prominent and readable by @StephaneDelcroix in #234
- Fix close session dialog not respecting theme by @StephaneDelcroix in #233
- feat: make Log label clickable to show session event log popup by @StephaneDelcroix in #237
- feat: Auto-link GitHub PR/issue references in chat messages by @StephaneDelcroix in #238
- fix: normalize smart punctuation (em dash → --) in chat input by @StephaneDelcroix in #242
- Show user prompt separately from orchestration wrapper in chat UI by @StephaneDelcroix in #243
- Fix: Auto-close 'Fix a Bug / Add Feature' dialog after launching Copilot by @StephaneDelcroix in #236
- Show repository disk size in sidebar group headers by @StephaneDelcroix in #246
- fix: make ChatDatabase resilient to SQLite connection failures by @StephaneDelcroix in #241
- fix: use InvariantCulture in locale-sensitive test assertions by @StephaneDelcroix in #248
- Add speech-to-text input and demo mode for mobile by @kubaflo in #250
- fix: move info/shortcuts popover from Settings to sidebar for global access by @StephaneDelcroix in #257
- fix: info popover in sidebar clipped behind main pane (#257) by @StephaneDelcroix in #258
- Fix unstyled 'Loading...' text flash at app launch by @StephaneDelcroix in #249
- Reorganize settings: data-driven UI, two-tier theme, stats popup, ⌘, shortcut by @StephaneDelcroix in #253
- fix: optimistic session creation for instant UI feedback by @StephaneDelcroix in #252
- fix: QR scanner black screen after successful scan on Android by @davidnguyen-tech in #261
- fix: validate auth on HTTP probe to prevent 401 on QR code scan by @davidnguyen-tech in #260
- fix: build error and failing test by @PureWeen in #270
- fix: make custom agents popup clickable so users can invoke @agent-name by @GeorgeZard in #262
- Fix crash adding repos with dots in shorthand (e.g. mono/SkiaSharp.Extended) by @mattleibow in #256
- Harden input validation and clean up logging by @PureWeen in #264
- feat: implement /usage slash command by @StephaneDelcroix in #266
- fix: slash command output text doesn't scale with font size (Cmd+/Cmd-) by @StephaneDelcroix in #267
- fix: agents/prompts/skills/log popups now follow theme by @StephaneDelcroix in #268
- feat: International Women's Day theme auto-activates on March 8 by @StephaneDelcroix in #269
- Fix agent mode routing -- stop overloading MessageOptions.Mode by @PureWeen in #232
- feat: Add prompt management (create/edit/delete) to prompts popup by @StephaneDelcroix in #265
- fix: open VS Code with Remote - Tunnels in remote mode by @rzikm in #254
- Fix: CreateSessionAsync and SendPromptAsync crash when persistent server dies by @davidnguyen-tech in #263
- feat: /usage command shows CLI-style fields (premium requests, API time, session time) by @StephaneDelcroix in #273
- Add /prompt edit and /prompt show subcommands by @StephaneDelcroix in #272
- feat: allow expanding bash command input while still executing by @davidnguyen-tech in #274
- Fix ChatDatabase exception filter causing stuck sessions and unobserved task exceptions by @PureWeen in #276
- Fix orchestrator delegation nudge and reflect loop logging by @PureWeen in #275
- fix: isolate PromptLibraryService from real filesystem in tests by @PureWeen in #277
- fix: correct originalPrompt parameter in reflect loop exit drain by @PureWeen in #281
- Add diagnostic tags to reconnect retry logging by @PureWeen in #282
- fix: statistics icon near-white in dark mode due to missing button reset by @vitek-karas in #278
- Add reflect loop resiliency: re-dispatch unstarted workers and retry API by @PureWeen in #279
- Add Linux GTK head project by @Redth in #255
- Fix multi-agent dispatch bypass and premature watchdog timeout after restore by @PureWeen in #284
- feat: open ⋯ menu on right-click/contextual click on session items by @StephaneDelcroix in #286
- fix: preserve DevTunnel error message when HostAsync fails by @PureWeen in #283
- Add one-click LLM efficiency analysis for sessions by @mattleibow in #244
- fix: queue messages during session creation to prevent silent loss by @StephaneDelcroix in #287
- Implement steering messages — interrupt and redirect while processing by @PureWeen in #271
- fix: eliminate null transient state in DeleteGroup concurrent reads by @PureWeen in #290
- Add generic provider plugin system for external session engines by @Redth in #292
- fix: soft steer falls through to hard steer on disposed JsonRpc connection by @PureWeen in #293
- feat: Add VS Code Insiders support with configurable editor preference by @btessiau in #289
- Session resilience: heartbeat timer, permission auto-recovery, activity-aware watchdog by @PureWeen in #285
- fix: resolve SDK protocol version mismatch with persistent server by @StephaneDelcroix in #301
- Provider plugin system: post-review fixes and runtime improvements by @Redth in #304
- fix: bridge SendMessage bypasses orchestration routing for multi-agent groups by @PureWeen in #297
- Fix Copilot Console for built-in CLI mode by @PureWeen in #303
- feat: add setting to mute worker notifications in multi-agent groups by @StephaneDelcroix in #295
- fix: cross-platform test failures, CI build fix, and NuGet updates by @PureWeen in #309
- feat: collapsible unpinned sessions within groups by @Redth in #311
- feat: GitHub Codespace integration with SSH tunnel support by @btessiau in #308
- fix: info panel opens under sidebar instead of into content area by @StephaneDelcroix in #312
- Fix issues from PR #285: gate auto-resend, TurnEnd idle fallback, improved permission detection by @PureWeen in #305
- Fix SessionErrorEvent not clearing SendingFlag, blocking orchestrator sends by @PureWeen in #310
- fix: recognize "Client not connected" as connection error for auto-reconnect by @PureWeen in #317
- Add safe push workflow for PR review workers by @PureWeen in #288
- fix: widen ReconnectState test window to fix CI failure by @PureWeen in #321
- workaround: avoid SDK cancellation serialization bug by @PureWeen in #320
- fix: update stale client reference after reconnect in SendPromptAsync by @PureWeen in #325
- fix: relaunch.sh — prefer ~/.dotnet SDK and skip Xcode version check by @btessiau in #324
- fix: codespace "New Session" button silently fails by @btessiau in #315
- fix: restore MCP servers and skills when recreating expired session by @PureWeen in #330
- Fix Fix/Feature button to use CLI path from settings by @PureWeen in #326
- feat: Homebrew tap auto-update on release + brew install instructions by @StephaneDelcroix in #313
- fix: Auto-reinitialize client after failed reconnect + observe fire-and-forget DB tasks by @PureWeen in https://github.com/PureWeen/PolyPilot/pull/...