Under the hoodTier: how much it should matter to you
1Useful: my rating, 1 to 5
3Signal: worth watching, 1 to 5
Session StateArea: what it touches
Internal ChangesKind: in v2.1.229,
Internal ChangesSection of the release
What
Session and process state that used to live in a single mutable object read and written directly from anywhere is now held in per-domain classes with private fields and named accessors, so state can be isolated per session instead of being shared across the process. Nothing changes for you.
Details
Fields such as sticky betas, the current prompt id, capabilities, vim state and the last API request now go through methods like stickyBetas(), unlatchStickyBetas(), replacePromptCache1hAllowlist, primeSessionMessagesCache, notePlanFileWritten and recordThinkingTypeOverride, many created lazily.
The session record gained a host sub-object alongside its existing project paths.
Dozens of functions now take a session argument rather than reaching for the global.
Evidence
unlatchStickyBetas
Strings lifted out of the shipped bundle, so the claim above can be checked against them.