Skip to content

Releases: Layellie/StandbyAndTimer

v2.0.1 - P0 fixes + update integrity

28 May 15:04

Choose a tag to compare

What's new

Bug fixes

  • Memory monitor: removed an AVRT thread-characteristic call that was being lost across every await on the 1 s PeriodicTimer loop, leaking the handle without any scheduling benefit.
  • Standby purge: the process token opened by OpenProcessToken in ElevatePrivilege is now closed; previously every auto-purge leaked a kernel handle.
  • Settings persistence: StandbyLimitMb / FreeLimitMb writes are now debounced (500 ms). A four-digit value no longer triggers four registry writes.
  • Game Mode PID tracking: replaced HashSet<int> with ConcurrentDictionary<int, byte> so overlapping monitor ticks and UI Clear() calls cannot corrupt the set.
  • Standby calculation: the gauge now sums Normal-Priority + Reserve + Core standby buckets. Reading only the Reserve bucket (as before) under-reported standby by an order of magnitude on most systems.

Game-mode effectiveness

  • Each game process now receives SetProcessInformation(ProcessPowerThrottling) with IGNORE_TIMER_RESOLUTION + EXECUTION_SPEED opt-out, so Windows 11 honours the 0.5 ms timer even when the game loses foreground focus.

Update integrity

  • The in-app updater now streams a SHA-256 hash while downloading and verifies it against either the SHA256: line in the release body or a *.sha256 / SHA256SUMS asset on the release. On mismatch the file is deleted and the install is aborted.

Hardening

  • SetDefaultDllDirectories(LOAD_LIBRARY_SEARCH_DEFAULT_DIRS) is called at startup so a DLL planted next to the admin-elevated exe cannot be loaded.

Repo hygiene

  • Added MIT LICENSE (repo was previously license-less).
  • Added .github/dependabot.yml for weekly NuGet + GitHub Actions dependency PRs.
  • Removed the duplicate ARCHITECTURE_UPDATE.md document.

Integrity

SHA256: d3c26b1baf5f266f924dfc9e4c6d6c16bebb24ab63fd60bf635095cdfd46f553


Installer: StandbyAndTimer_Setup_2.0.1.exe (72.2 MB, self-contained .NET 10)
Requirements: Windows 10 21H1+ or Windows 11, x64, Administrator privileges

v2.0.0 - WPF on .NET 10

28 May 13:13

Choose a tag to compare

Complete rewrite on WPF (.NET 10).

A full architectural rewrite of the original WinForms version. Same core feature set, new foundation: MVVM, dependency injection, and self-contained single-file deployment.

Highlights

  • WPF on .NET 10 with CommunityToolkit.Mvvm and Microsoft.Extensions.DependencyInjection
  • Layered architecture — all Win32 P/Invoke isolated in Services/Native/NativeMethods.cs
  • In-app update checker with one-click download & install from GitHub Releases
  • Dark / Light themes and English / Turkish localization
  • System tray with single-instance guard and live status tooltip
  • AutoStart via Task Scheduler (schtasks /RL HIGHEST) — survives reboot, runs elevated
  • Self-contained installer (~72 MB) — no separate .NET runtime install required

Features

  • Timer Resolution lock at 0.5 ms (NtSetTimerResolution)
  • Standby memory list purge — manual and automatic (NtSetSystemInformation)
  • Game Mode — High CPU priority + full affinity on configured game processes
  • AVRT audio task class enrolment

Installation

  1. Download StandbyAndTimer_Setup_2.0.0.exe below
  2. Run the installer (UAC will prompt — Administrator privileges required)
  3. Launch from the Start Menu

Requirements: Windows 10 21H1+ or Windows 11, x64, Administrator privileges.

Upgrade from v1.0.0

The WinForms and WPF versions are independent applications — install side-by-side or uninstall the old one first. Settings are not migrated automatically.

v1.0.0 - WinForms (archived)

28 May 13:12

Choose a tag to compare

Original WinForms version (archived).

This is the first public release of StandbyAndTimer, built on Windows Forms (.NET Framework). The codebase is preserved on the winforms-archive branch for reference.

The current actively maintained version is the WPF rewrite — see v2.0.0.

Features

  • Timer Resolution lock at 0.5 ms (NtSetTimerResolution)
  • Standby memory list purge (NtSetSystemInformation)
  • Background engine

Notes

No installer is attached to this release. To run the WinForms version, check out the winforms-archive branch and build from source with Visual Studio.