One thought to add on the “sessions must be restarted” behaviour.
Two very different reasons for dropping sessions look identical to admins today. One is security driven, where the tickets or tokens are part of the vulnerability and immediate invalidation is the fix. The other is incidental, where the ticket format simply changed between builds. Right now that distinction lives in release notes or a community blog instead of the security bulletin.
Four things that would help:
1. State in the security bulletin whether active ICA sessions will be dropped, and whether session tickets or AAA tokens are in scope of the CVE. One line, and most of the surprise goes away.
2. Show the impact by default. The upgrade flow already knows it is about to invalidate tickets, so it should say how many active ICA sessions will be dropped, in the upgrade prompt or the upgrade log. No flag to set, no separate command to remember. Today we learn that number from the helpdesk queue.
3. An opt in, admin set grace period, default zero, hours not days. Old tickets accepted only for resuming existing sessions, never for new logons, every use logged with user, time and source IP. If the CVE covers tickets or tokens, the setting is ignored and invalidation stays immediate.
4. A way for Gateway to signal Delivery Controller before invalidation, so users can be warned inside their session. Today the drop is silent from the user side and Gateway has no path to tell them anything.
Point 1 costs nothing and already removes most of the pain. The rest is nice to have.