github ios12checker/Windows-Maintenance-Tool v6.7

2 hours ago

v6.7

Added

  • Added full interactive install flows for owned Epic/Legendary games, including install-root and game-folder selection, platform choice, download-worker and shared-memory controls, optional file reordering, owned DLC selection, and provider-supplied version/download-size information.
  • Added Legendary credential and metadata preflight checks with focused re-authentication guidance and cached-metadata fallback when live provider requests are unavailable.
  • Added Legendary install tracking, duplicate-install prevention, actual installed-folder resolution, and optional desktop and Start menu > Programs > WMT Games shortcuts.
  • Added a complete GOG/GOGDL install-options dialog with Explorer-style destination selection, language and build/version choices, additional provider options, language validation, and manual language entry.
  • Added persistent GOGDL install tracking through gogdl_installs.json, including Pending, Downloading, Installed, and Failed states.
  • Added GOGDL executable and authentication fallback discovery, including reuse of Heroic authentication where available.
  • Added optional desktop and Start menu > Programs > WMT Games shortcuts after successful GOGDL installations.
  • Added shared interactive game installers to Package Search so Epic/Legendary and GOG results use the same install, repair, uninstall, path-resolution, and tracking flows as Game Library.
  • Added explicit installed, current-version, and available-version state to supported Package Search results.
  • Added state-aware Package Search actions so Install, Update, Repair, and Uninstall are only offered when appropriate for the selected result.
  • Added provider-aware Manifest / Metadata and Package / Store Page actions for Winget, Microsoft Store, Chocolatey, npm, NuGet/.NET tools, PowerShell Gallery, Packagist, PyPI, Scoop, crates.io, RubyGems, Steam, Epic, and GOG where supported.
  • Added a CompactGUI-style compression utility for folders and drives with persistent target history and operation results.
  • Added per-target automatic recompression through Windows Task Scheduler, with preset or custom schedules and change-aware processing that avoids recompressing unchanged targets.
  • Added built-in and custom Compact skip lists for formats that are already compressed or generally unsuitable for compression.
  • Added automatic repair of stale ProgramData Compact tracker permissions and automatic replacement of outdated generated Compact workers.
  • Added configurable intervals for parsed cleaner-cache refresh, upstream cleaner-definition checks, and automatic cleaning.
  • Added an isolated hidden automatic-cleaner worker that uses the user's saved cleanup selections.
  • Added a Show Enabled cleanup-rule filter and persistent automatic-clean selections.
  • Added per-package custom updater commands with {id}, {name}, {source}, {version}, and {available} placeholders.
  • Added portable Legendary and GOGDL binary update detection to the normal Updates flow.
  • Added optional persistent install/update logs for individual package providers.
  • Added substantially richer Winget failure logs, including native output and actionable installer-technology-change errors.
  • Added a searchable, clickable activity-log viewer with visible match highlighting and preserved text selection.
  • Added per-provider headless and automatic-update settings instead of relying only on a single global execution preference.
  • Added capture of visible custom installer output, child-process stdout/stderr, exit status, and readable PowerShell error details to UTF-8 package logs.
  • Added an expanded themed tray context menu with shortcuts to major WMT pages.
  • Added contextual keyboard shortcuts, including F5 refresh and search shortcuts where supported.
  • Added a reusable Explorer-style folder picker across WMT folder-selection workflows.
  • Added a PS2EXE release workflow that builds the executable, reads the app version, creates a SHA-256 checksum, creates or updates the GitHub release, and can optionally submit WinGet and Chocolatey updates.
  • Added expanded Windows PowerShell validation and regression coverage for settings recovery, cleaner scheduling, shared runspace helpers, worker lifecycles, custom-command logging, provider monitoring, and known closure regressions.

Changed

  • Updated WMT-GUI.ps1 app version to 6.7.
  • Reworked game-library installed-state discovery so Legendary's local install database is authoritative and is merged with owned/cached Epic metadata.
  • Changed explicit Game Library refreshes to rebuild provider caches and replace the in-memory snapshot instead of continuing to display stale preloaded data.
  • Preserved installed Legendary games when Unreal Engine and Fab assets are hidden.
  • Preserved known-good Legendary, GOG, Steam, PyPI, and related provider caches when a refresh unexpectedly returns no usable data.
  • Changed package and game-library JSON caches to atomic writes to reduce corruption after interrupted or concurrent background operations.
  • Consolidated provider commands, package updates, game-library work, and other long-running operations around shared process and runspace infrastructure.
  • Split background and UI-support runspace pools and ensured pooled workers receive their required shared helpers.
  • Moved additional package, service, network, DISM, driver, manifest, and cleanup work off the WPF dispatcher to improve responsiveness.
  • Changed multi-provider scan startup to be atomic so a partial worker-start failure cannot leave a scan half-running.
  • Reworked worker cancellation, replacement, timeout, finalization, and process-tree cleanup to avoid blocking the UI or losing active monitor state.
  • Reworked settings persistence with synchronized atomic writes, backup recovery, external-edit cache invalidation, corrupt-file preservation, and compatibility with older or missing settings members.
  • Changed low-memory tray mode to release large reloadable CleanerML, Winapp2, Winapp3, and related in-memory caches while retaining their disk caches.
  • Tightened the hidden-tray memory target while keeping normal tray restore lightweight.
  • Consolidated Steam parsing across ownership detection, update scans, library caching, and background workers, and changed manifest reading to UTF-8.
  • Improved Steam ownership filtering so installed Steam games are less likely to appear as false Winget updates.
  • Changed Firewall Manager port loading to bulk-load persistent-store filters with Get-NetFirewallPortFilter, while retaining lazy and fallback detail loading.
  • Changed firewall preloading to respect the global Background Jobs setting.
  • Standardized WPF controls, responsive table layouts, action-button placement, dropdown hover/selection colors, and active-theme selection styling.
  • Changed Package Updates so opening the tab does not start an extra scan, while retaining the intended one-time startup scan.
  • Improved driver-page loading, live device lookup, status refresh, cleanup processing, TLS handling, and resource usage.
  • Reorganized the README for v6.7 with updated feature documentation, a new screenshot, collapsible sections, and expanded safety, troubleshooting, release, community, sponsor, and credit information.
  • Removed the superseded separate docs content after incorporating the relevant documentation into the README.

Fixed

  • Fixed self-update path resolution when WMT is launched directly through PowerShell instead of through the batch launcher, addressing issue #161.
  • Fixed Winget uninstall commands that were broken by an invalid agreement argument.
  • Fixed Winget updates that only retried at user scope and reported an unknown failure when a package changed installer technology; WMT now records the real provider output and can recommend the correct uninstall/reinstall path.
  • Fixed package-result handling, log-summary parsing, stale refreshes after successful uninstall, and excessive activity-log noise.
  • Fixed Microsoft Store helper paths, Store cleanup, and activity-log interactions.
  • Fixed custom installer transcripts losing child output, mixing native stderr with PowerShell CLIXML, producing unreadable serialized errors, or corrupting UTF-16 output.
  • Fixed Legendary API timeouts during package updates and improved long-running install output, timeout, destination, final-path, and shortcut handling.
  • Fixed Legendary library refresh failures that could collapse the visible library to zero games, discard installed paths, or depend on an online lookup for local folder actions.
  • Fixed recovery of owned Epic games and installed folders from local Legendary assets, metadata, and install records when online catalog calls fail.
  • Fixed GOGDL async callback state, language selection/manual entry, final path resolution, install/repair tracking, launch errors, and installer-dialog theming and spacing.
  • Fixed the bottom Install action in Your Library for owned GOG titles.
  • Fixed cleaner refresh parameter collisions, duplicate activity messages, result-path closure capture, stale process handles, cancellation, startup cleanup, and dispatcher/poller race conditions.
  • Fixed cleaner interval and Debug/verbose logging settings being reset or not persisted.
  • Fixed Compact tracker completion races, path handling, skip-list handling, generated-worker freshness, and access-denied failures caused by stale tracker ACLs.
  • Fixed settings values being reset by unrelated changes and added recovery from settings.json.bak when the primary file is corrupt.
  • Fixed firewall port metadata not being populated for every rule and restored missing firewall context-menu actions.
  • Fixed BAM/DAM cleanup for current and older layouts so executable records are handled as values instead of deleting their containing registry keys.
  • Fixed PendingFileRenameOperations cleanup so valid REG_MULTI_SZ source/destination pairs are preserved when only some entries are invalid.
  • Fixed invalid Microsoft Defender exclusion cleanup to use Remove-MpPreference with post-removal verification instead of directly editing protected registry values.
  • Fixed unsafe registry cases so they remain review-only when automatic modification cannot be performed reliably.
  • Fixed the Tweaks loading overlay remaining visible over other tabs.
  • Fixed Updates status text overlapping the search area, AppX selection colors, tray theme-toggle state, tray shortcut error text, and conflicting native ComboBox open-state colors.
  • Fixed old-driver force-cleanup callback captures, driver legend validation, misleading usage details during loading, refresh edge cases, and reboot-pending removals disappearing prematurely.
  • Fixed live driver device lookup and cleanup work blocking the UI thread.
  • Fixed restore-point elapsed-progress reporting.
  • Fixed leaked process, token, scan, periodic-memory, and Recycle Bin COM handles.
  • Fixed async worker and provider monitors being disposed too early, retried after disposal, or finalized before verified process exit.
  • Fixed Legendary and GOGDL installs losing tracking when result files are partial, corrupt, temporarily unavailable, or cannot be cleaned up immediately.
  • Fixed package CLI timeout hangs and bounded post-install provider detection while preserving cached status when detection times out.
  • Fixed DNS, DoH, Event Log, registry-cancellation, and task polling failures leaving stale completion handlers or background state.
  • Fixed PSScriptAnalyzer and PowerShell syntax regressions introduced during the background, cleaner, GOGDL, driver, and workflow refactors.

Notes

  • Epic/Legendary and GOG/GOGDL functionality depends on the external provider tools, valid account authentication, provider metadata, and locally available launcher/install records.
  • Automatic cleaning and scheduled Compact recompression run outside the main WMT window. Review saved cleaner selections, target folders, schedules, and skip lists before enabling automation.
  • Headless updates, automatic provider actions, and custom updater commands can execute package-manager or user-defined commands in the background; enable them only for providers and commands you trust.
  • The WinGet and Chocolatey publishing steps skip cleanly when their required tokens are unavailable.

Links

Don't miss a new Windows-Maintenance-Tool release

NewReleases is sending notifications on new releases.