v0.1.11 — Check now detects silent auto-updates + AI summary now sees real release notes
v0.1.11 — fixes for "Check now" silent update detection + AI summary hallucinations
Bugs fixed
1. Check now reported "still X.Y.Z" even when copilot CLI had just updated under the hood.
v0.1.10 tried to fix this with --no-auto-update --version on the version probe, but that flag also disables copilot's cache-walk in its internal gate function — so the probe returned the immutable bundled npm version, not the cached current version. The launcher then saw OLD == OLD (or NEW == NEW) and suppressed the briefing entirely.
The real problem: copilot CLI silently auto-extracts new releases to %LOCALAPPDATA%\copilot\pkg\ during prior invocations. By the time the user clicks Check now, both pre- and post-update synchronous --version queries see the same already-extracted version. No in-process probe can catch the transition.
Fix: persist a LastObservedCopilotVersion in settings.json and compare against post-update. Two-phase commit — the new baseline is written only after the briefing entry is durably persisted, so a mid-flight AI-summary failure or disk hiccup can no longer strand the transition undetectable.
Migration: on v0.1.10 → v0.1.11 upgrade, the baseline seeds from the newest briefings.json entry's ToVersion, so returning users keep continuity instead of getting a fake first-run bootstrap.
2. AI summary hallucinated about legacy PowerShell scripts that don't exist in this launcher.
The WinUI port never wired up GitHub Releases fetching. BriefingService.Render(...) and the AI prompt got only the raw copilot update stdout — typically just "No update needed, current version is X.Y.Z" — so the AI made up a story from session memory (commonly citing the legacy Launch-Copilot.ps1, releases-cache.json, last-seen-version.txt).
Fix: new ReleaseNotesService fetches from api.github.com/repos/github/copilot-cli/releases, caches at %LOCALAPPDATA%\CopilotLauncher\state\releases-cache.json (1-hour TTL), filters to the half-open (fromVersion, toVersion] range, skips pre-release tags. Both Check now and startup auto-update pass the fetched entries to both Render(...) AND to the AI prompt. Raw copilot update stdout remains the offline fallback.
3. Settings → About page showed "1.0.0.0".
The csproj had no <Version> so Assembly.GetExecutingAssembly().GetName().Version returned the SDK default. Now stamps 0.1.11.0.
Tests
116 → 130 (5 new for persistence/two-phase commit, 9 new for release-notes fetch/parse/filter/cache). All green.
Downloads
| Asset | Purpose |
|---|---|
CopilotLauncher-v0.1.11.msix |
Main launcher (signed MSIX — recommended for permanent install) |
CopilotLauncher-CmdPal-v0.1.11.msix |
PowerToys Command Palette extension |
CopilotLauncher-v0.1.11.exe |
Standalone portable .exe |
CopilotLauncher-portable-v0.1.11.zip |
Portable folder bundle |
CopilotLauncher-v0.1.11-DevCert.cer |
Trust this in Local Machine \ Trusted Root once to install the MSIX |
SHA256SUMS.txt |
Checksums |
Same dev cert as v0.1.4+ (thumbprint F0005E749CBC679A3EFD3A79DF304F614BFD6463) — if you already trusted it for a previous release, you can install this MSIX without re-importing.