feat: update-newest fix, Microsoft 365 Copilot removal, Windows 11 Debloat tab - #42
Merged
Conversation
CheckLatestAsync hit GitHub's /releases/latest, which returns the release flagged latest by publish date -- not the highest semver. If releases ever publish out of order (backported hotfix, re-run workflow, edited release), the updater could hand back an older line, producing the version-skipping a user reported (1.38 -> 1.39, then immediately prompted for 1.40). Now enumerate all releases, drop drafts/prereleases/asset-less entries, and pick the strictly-highest stable semver above the installed version. Selection logic is extracted into pure ParseReleases/SelectBestUpdate methods with unit coverage.
…re services Microsoft 365 Copilot: add the Microsoft.MicrosoftOfficeHub Appx package (the renamed Office Hub launcher Microsoft auto-pushed to Windows 11) to the AI-app removal catalog. Flows through the existing per-package monitor/UI/docs pattern; removing it leaves installed Office programs untouched. Services: add six machine-wide, no-gaming-purpose services as opt-in catalog entries (not in the one-click preset, since they depend on hardware/features): SEMgrSvc (Payments/NFC), PhoneSvc, stisvc (WIA scanners), WpcMonSvc (Parental Controls), AssignedAccessManagerSvc (Kiosk), TrkWks (Distributed Link Tracking). Regenerated docs/SETTINGS-REFERENCE.md.
…bloat New 'Debloat' tab with two sections, plus two Privacy-tab additions. Ten new registry monitors, all reversible, all off + unmonitored by default (zero behavior change until opt-in). None touch updates, security, or networking. Ads, nags & suggested content (HKCU, no UAC): - Suggested content & silent app installs (ContentDeliveryManager batch) - Lock screen tips / Spotlight ads - 'Finish setting up your device' SCOOBE nag - Start menu recommendations & recent files - File Explorer OneDrive/Office ad banners - Windows feedback request popups Background bloat (HKLM policy, one UAC prompt): - Widgets / News and interests - Edge startup boost & background mode Privacy data collection (Privacy tab): - Online (cloud) speech recognition - Inking & typing personalization (avoids the value owned by ai.inputinsights) Each monitor follows the IMonitoredSetting pattern with full SettingDocs mechanism/apply/verify + long-form catalog docs. Added a Debloat section to the generated SETTINGS-REFERENCE.md. Not added to the one-click gaming preset (matching the Privacy-tab convention). 27 new tests; full suite green (441).
There was a problem hiding this comment.
CodeQL found more than 20 potential problems in the proposed changes. Check the Files changed tab for more details.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Three pieces of work from a single request.
1. Fix update version-skipping (
fix/update)UpdateService.CheckLatestAsynccalled GitHub's/releases/latest, which returns the release flagged latest by publish date, not the highest semver. If releases ever publish out of order (a re-run workflow, a backported hotfix, an edited release), the updater could hand back an older line — the cause of the reported 1.38 → 1.39 → 1.40 hop instead of jumping straight to newest.Now it enumerates all releases, drops drafts/prereleases/asset-less entries, and selects the strictly-highest stable semver above the installed version. Selection logic extracted into pure, unit-tested
ParseReleases/SelectBestUpdatemethods.2. Microsoft 365 Copilot app removal
Added the Appx package
Microsoft.MicrosoftOfficeHub(the renamed Office Hub launcher Microsoft auto-pushed to Windows 11) toWindowsAiAppCatalog. Removing it leaves installed Office apps untouched. Surfaces automatically on the Windows AI tab via the existing per-package monitor.3. Windows 11 Debloat tab (+ research-driven additions)
New Debloat tab with two labeled sections, plus two Privacy-tab additions and six more opt-in services. All toggles are reversible, off + unmonitored by default (zero behavior change until opt-in), and none touch Windows Update, security, or networking.
Ads, nags & suggested content (HKCU, no UAC): suggested content / silent app installs, lock-screen Spotlight ads, "finish setting up your device" SCOOBE nag, Start menu recommendations & recent files, File Explorer OneDrive/Office ad banners, Windows feedback request popups.
Background bloat (HKLM policy, one UAC prompt): Widgets / News and interests, Edge startup boost & background mode.
Privacy data collection (Privacy tab): online (cloud) speech recognition, inking & typing personalization (deliberately avoids
RestrictImplicitTextCollection, which is owned by the existingai.inputinsightsmonitor).Services (opt-in, not in preset): Payments/NFC, Phone Service, WIA scanners, Parental Controls, Kiosk Mode, Distributed Link Tracking.
Each monitor follows the
IMonitoredSettingpattern with fullSettingDocsmechanism/apply/verify + long-form catalog docs;docs/SETTINGS-REFERENCE.mdregenerated with a new Debloat section.Testing
dotnet build(warnings-as-errors) clean; full xUnit suite green at 441 tests (38 new across update/debloat/service coverage).Notes
🤖 Generated with Claude Code