Skip to content

ThreadPilot v1.7.2

Choose a tag to compare

@github-actions github-actions released this 26 Aug 17:02
· 12 commits to main since this release

A follow-up to v1.7.1 that closes the gap which stopped that release reaching the people who needed it.

What was still wrong

v1.7.1 changed the shipped default CPU assignment mode from ThreadPilot automatic to Affinity Mask, because Automatic applies only Windows CPU Sets: a soft scheduling preference that leaves the affinity mask shown in Task Manager unchanged.

But a new default only applies to a profile that has no stored value. Everyone upgrading had one, so they kept Automatic and kept seeing an affinity feature that appeared to do nothing.

Verified against the published 1.7.1 build:

existing profile (settings.json present) -> DefaultCpuAssignmentMode = 0  (Automatic)
fresh profile    (settings.json absent)  -> DefaultCpuAssignmentMode = 1  (Affinity Mask)

What 1.7.2 does

  • A one-time migration moves a stored Automatic to Affinity Mask on first launch, and records that it ran.
  • A one-time notice, styled like the rest of the app and shown in your language, explains that the mode changed and why, with a shortcut to Settings. It appears only for profiles the migration actually moved, and only until you acknowledge it.
  • Your choice is respected afterwards. The migration never runs twice, so selecting ThreadPilot automatic again is kept.
  • Fresh installations are unaffected — they already ship with Affinity Mask and see no notice.

Robustness

  • A failed settings write is no longer fatal. Previously it fell into the load handler's catch, which replaced the profile just loaded with defaults and silently swallowed the notice. It is now retried on the next launch.
  • An out-of-range stored mode repairs to the shipped default rather than to Automatic, so corrupt data is not reported back to you as a choice you made.
  • The notice is queued behind the first-run startup suggestion rather than stacked on top of it, and takes keyboard focus when shown.

Verification

721 unit tests, covering an upgraded profile, a fresh profile, every non-Automatic mode, idempotency, a deliberate return to Automatic, a corrupt stored value, and a failed migration write.

The full chain was also driven against a real build through UI Automation on a seeded 1.7.0 profile: migration applied, notice queued behind the startup suggestion, revealed on dismissal, acknowledged, persisted, and absent on the next launch.

Downloads

File Purpose
ThreadPilot_v1.7.2_Setup.exe Installer (recommended)
ThreadPilot_v1.7.2_Portable.zip Portable build, no installation
SHA256SUMS.txt Checksums for both files

Full changelog: v1.7.1...v1.7.2