Process-wide state moved into per-session objects, groundwork for isolating multiple sessions in one process.
What's wrong with this entry?
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.
- 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,notePlanFileWrittenandrecordThinkingTypeOverride, many created lazily. - The session record gained a
hostsub-object alongside its existing project paths. - Dozens of functions now take a session argument rather than reaching for the global.
unlatchStickyBetas
Strings lifted out of the shipped bundle, so the claim above can be checked against them.
Related
Other releases about the same thing. Found by shared names or similar wording; neither means one caused the other.
-
v2.1.235
Process-wide caches are now scoped per host
Both mention state
-
v2.1.235
Per-session state replaces process-wide globals, and the render root takes explicit dependencies
Both mention state
-
v2.1.235
More file-scope variables replaced by accessor-backed containers
Both mention state