Skip to content

v0.1.11 — Check now detects silent auto-updates + AI summary now sees real release notes

Choose a tag to compare

@SQLBImhugh SQLBImhugh released this 31 May 00:45
· 35 commits to main since this release

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.