Under the hood
Two new internal classes manage draining the turn/message queue in the session loop
What
Claude Code's session loop gained two new internal classes: one that gates the message queue by tracking whether its "head" is ahead of a wait point, and another that runs a full turn drain, handling teardown, abort signals, and the per-command turn loop by coordinating the message queue, delivery ledger, turn runner, and turn gate together.
Why
This is internal restructuring of how Claude Code manages finishing out turns and draining queued messages, not a change you'd directly notice.