PuTTY bug win-jumplist-trouble

Home | FAQ | Feedback | Licence | Updates | Mirrors | Keys | Links | Team
Download: Stable · Snapshot | Docs | Changes | Wishlist

summary: Trouble with Windows 'jump lists' of recently used sessions since 0.68
class: bug: This is clearly an actual problem we want fixed.
difficulty: tricky: Needs many tuits.
priority: high: This should be fixed in the next release.
absent-in: 0.67
present-in: 0.68

Various people have reported that the Windows 'jump list' features, which maintain a list of recently used sessions (and optionally 'pinned' sessions) accessible via the taskbar button and/or Start Menu, have been broken in various ways since the 0.68 release.

There's a fair amount of evidence that this was triggered by our fix for `needs-removeable-media'. This fix involved changing how PuTTY identifies itself to Windows for the purposes of storing recent session information (using SetCurrentProcessExplicitAppUserModelID() where previously we were doing nothing). That fix didn't make any provision for migrating any existing stored information; in our pre-release testing, we saw some transitory anomalies from this, but it seemed to work itself out without forgetting recently used sessions, suggesting that Windows can somehow manage the migration itself at least under some circumstances. However, others have seen more permanent effects.

We suspect the exact symptoms seen may depend on the exact history of which versions of PuTTY were run when by what exact means, and/or which flavour of installers were installed/uninstalled/upgraded in what order. Which makes investigating this systematically rather tricky.

If anyone has deep knowledge of how Windows jump list storage works (particularly with respect to how applications are identified) and can suggest ways to mitigate this in future releases without making things worse, that would be helpful.

Reported symptoms:

Anyone investigating or suffering from this may be interested to know that the putty -cleanup option requests Windows to delete its stored information about recent/pinned sessions. We make no attempt to account for different versions of PuTTY's information being stored in different places; so running this command with PuTTY 0.67 or earlier presumably deletes pre-ExplicitAppUserModelID information, and running it with PuTTY 0.68 or later deletes information identified the new way. Note that this option also deletes all your saved sessions and host keys; while you can be more selective by saving and restoring HKEY_CURRENT_USER\Software\SimonTatham\PuTTY using REGEDIT, you probably shouldn't try this unless you're confident, or don't mind losing this information. (People investigating the registry should note that the Jumplist key in this registry location is not the storage under discussion here; it is a separate record that PuTTY maintains because the Windows storage is write-only, and hasn't moved between versions. The storage affected by ExplicitAppUserModelID is maintained elsewhere by Windows and we don't know where it is.)

If you want to comment on this web site, see the Feedback page.
Audit trail for this bug.
(last revision of this bug record was at 2017-03-30 10:12:20 +0100)