Daily's Client SDK for JavaScript introduces a new feature called custom session data, which allows developers to store state at the level of a video call session, simplifying per-session state management. This feature is available through daily-js and is not yet part of Daily Prebuilt. It powers Daily's breakout rooms feature and can be used in various scenarios such as state-powered UI/layout changes, engagement features like polls or Q&A, and "bring to stage" functionality. Developers can choose between custom session data, "app-message" events, custom user data, or a server-side implementation based on their specific use case needs. Custom session data is suitable for sending session-scoped data to all participants, while "app-message" events are better suited for participant-scoped data between existing call participants. A server component can also be used for state handling and communication with call participants in scenarios that require additional validation or processing.