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.ps1app version to6.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
docscontent 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.bakwhen 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
PendingFileRenameOperationscleanup 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-MpPreferencewith 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.