Skip to content

SysManager 1.52.80

Choose a tag to compare

@github-actions github-actions released this 10 Jul 12:20
· 713 commits to main since this release
5296269

What's new for you

Environment variable restore no longer stops halfway when it encounters a variable name that Windows allows but the app's validation didn't. Variables with spaces, #, @, leading digits, or the =C: prefix are now skipped and counted instead of aborting the entire restore loop — so the rest of your environment gets restored correctly. Skipped items are reported in the status so you know exactly what was left unchanged. Additionally, REG_EXPAND_SZ fidelity is now preserved on restore (the backup records each variable's registry kind instead of re-guessing from % heuristics).


[1.52.80] - 2026-07-10

Fixed

  • Environment Variables restore/apply aborted partway through when encountering a variable name that passes the registry but fails the application's user-input validation regex. Windows registries can legally contain environment variable names with spaces, #, @, +, !, leading digits, or the =C: pseudo-variable prefix — all of which fail ValidateName's strict regex (\A[A-Za-z_][A-Za-z0-9_.()\-]*\z). SetVariable called the throwing ValidateName outside any try/catch, so RestoreFromBackup (which iterates all backed-up names) and the ViewModel's ApplyChanges loop both threw ArgumentException on the first non-conforming name — aborting mid-iteration and leaving the environment HALF-RESTORED (some variables written, others not, no rollback). Added a non-throwing TryValidateName that returns false for non-conforming names, and SetVariable now uses it to skip/count failures instead of throwing — the restore loop processes every valid variable and reports a failure count rather than aborting. Additionally, EnvBackup now records each variable's RegistryValueKind so that restores round-trip REG_EXPAND_SZ fidelity exactly instead of re-deriving it from a %-contains heuristic (which misclassifies expandable variables whose current value happens not to contain a percent sign).

Verify the download

Get-FileHash .\SysManager-v1.52.80.exe -Algorithm SHA256

Expected SHA256: 31B6F5E0992F5299286DEEE70F60704C05E830266219317D786EF4E8A2BC78E7