github itsfatduck/optimizerDuck v2.28.0
optimizerDuck v2.28.0 - History, Native Windows APIs, and a Redesigned First Run

5 hours ago
image

This release adds a full record of what every apply and revert did, moves the remaining shell calls to native Windows APIs, and lets you change language and theme without restarting. Thank you to @zhymster and @Aa-creat for the NumLock reports (#70, #85), and to @Stargazed-Dreamer for the Windows 10 white window report and the fix guidance (#71).


New

See what every apply and revert actually did

  • Every optimization now keeps a record of its last run. The record is written after an apply or a revert and survives a restart. Files live in %LocalAppData%\optimizerDuck\History.
  • The chip under the risk badge shows when the item was last applied. Click it to open the details dialog, or hover it for a short summary.
  • Each step explains itself. You can see what changed, what was already correct, what was skipped, what Windows refused, and why, in your own language.

Documented Windows APIs instead of shell scripts

  • Services go through the Service Control Manager, restore points through the System Restore WMI class, and the Recycle Bin through shell32.
  • Hibernation uses CallNtPowerInformation, USB power management uses root\wmi, and shell refresh uses SendMessageTimeout.
  • Packaged (UWP / MSIX) startup apps are read from the per-user AppModel repository.
  • Each call now returns a documented result code, so a failure is visible instead of being hidden in parsed text.

Change language and theme without restarting

  • Language switches at runtime. The whole UI updates immediately, including open pages and dropdowns. No restart needed.

Redesigned first-run dialog

  • The first-run dialog now has language and theme pickers, so you can set both before you start using the app.
  • It also has a shorter welcome text, the legal links, and a new extras section (GitHub, Docs, Discord, Acknowledgements).

Clear state for items that need no change

  • When Windows already matches every step, the card shows an "Already optimal" chip instead of doing nothing quietly. Click the chip to read the record.

Dashboard and System Info

  • New dashboard data: memory type (DDR4, DDR5, LPDDR, HBM), VBS and Memory Integrity status, uptime, active power plan, and firmware mode (UEFI or Legacy).
  • Disks report their media type: HDD, SSD, or NVMe.
  • The dashboard refreshes live while it is open.

Localized scheduled task triggers

  • Trigger types are translated in all 17 locales.
  • Open the three-dot menu on a task to read the trigger details.
  • Hover a trigger chip to read that trigger's own schedule detail, for example At 9:00 AM, every day.

Improvements

  • Smaller download. The packaged-app scan no longer pulls in the Windows SDK projection.
  • All 16 locales are complete. About 90 missing keys per locale were translated, and defective strings in Spanish, Portuguese and Vietnamese were fixed.
  • Correct GPU driver versions. NVIDIA and AMD now show the version you see in their own tools. For example, 32.0.15.8195 shows as 581.95.
  • Tooltips sit closer to the pointer and are shorter, without the empty ring the old template kept for its drop shadow.
  • Faster and smoother. Shared gates use System.Threading.Lock, long scans stay off the UI thread, and the app no longer freezes while it works.
  • Smooth scrolling behaves better on long lists.
  • Logs are always in English, which makes bug reports and support easier.
  • Modern C# 14 and .NET 10 patterns across the code base, with formatter and analyzer rules enforced by the build.

Fixes

  • Revert safety. An unreadable revert file is parked instead of overwritten, a partial write keeps its compensation, and a step that changed part of the system can still be reverted.
  • Windows-protected services are skipped instead of failing the whole optimization (#54).
  • NumLock detection no longer reports the wrong state. Both the registry type and the bit handling were wrong. Thanks to @zhymster and @Aa-creat (#70, #85).
  • White window on Windows 10 is fixed. Mica is skipped on Windows 10, which fixes virtual machines and Remote Desktop sessions. Thanks to @Stargazed-Dreamer (#71).
  • The taskbar progress bar now clears when a run ends.
  • Light theme was rebuilt on a deeper honey palette. Secondary text and badges now follow theme changes live.
    • One color issue remains inside the WPF-UI framework itself.
  • Empty fields are hidden. Startup Manager and Scheduled Tasks no longer show blank lines for a missing description, publisher, command, path, or triggers. The Recycle Bin row in Disk Cleanup hides its empty path.
  • Bloatware: removing a single package is parsed correctly.
  • Disk Cleanup reports freed space only when the clean command really succeeded.
  • Toggles no longer read an unset Windows value as Off. Windows stores only what differs from its own default, so an absent value is now classified through that default. This fixes the Recycle Bin on the Desktop page (and This PC, User's Files, Network and Control Panel), plus taskbar widgets, Game Bar and other settings Windows enables by default.
  • Startup Manager rolls the toggle back when a write fails.
  • The revert dialog offers Retry only when a failed step can actually be retried.
  • 42 unused localization keys were removed.

Full Changelog: v2.27.6...v2.28.0

Don't miss a new optimizerDuck release

NewReleases is sending notifications on new releases.