Repository navigation
SysManager 1.52.80
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 failValidateName's strict regex (\A[A-Za-z_][A-Za-z0-9_.()\-]*\z).SetVariablecalled the throwingValidateNameoutside any try/catch, soRestoreFromBackup(which iterates all backed-up names) and the ViewModel'sApplyChangesloop both threwArgumentExceptionon the first non-conforming name — aborting mid-iteration and leaving the environment HALF-RESTORED (some variables written, others not, no rollback). Added a non-throwingTryValidateNamethat returnsfalsefor non-conforming names, andSetVariablenow 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,EnvBackupnow records each variable'sRegistryValueKindso 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 SHA256Expected SHA256: 31B6F5E0992F5299286DEEE70F60704C05E830266219317D786EF4E8A2BC78E7