Fixes
| Note | Status |
| Fixed a bug where clicking off a GUI object in the viewport causes the deselected object to follow the mouse in the viewport. | Pending |
| Fixed an issue that ViewportFrame does not respect BorderMode. | Pending |
| TextChatService default chat will no longer cause stuck movement while using keyboard input. | Live |
| The Chat Top Bar button will remember the previous state it was in when a Player leaves the game. There was an issue where the default TextChatService UI would always be visible when loading a Place. The default TextChatService UI will now respect the Chat Top Bar button state when the Player joins an experience. | Pending |
| Refactored the TextChatService default UI fade-in and fade-out transitions to be more robust. This should fix issues where the default UI would fade out at the wrong times. | Pending |
| Fixed a problem that in Channel ribbon bar indicator is greyed out when directly opening a doc. | Pending |
Improvements
| Note | Status |
| Updated in-experience lua chat scripts to perform friendship checks on the client instead of the server to improve scalability. | Pending |
| Luau now uses more optimized structure for equality comparisons to constants, yielding gains up to 50% on internal benchmarks when running on the server. | Pending |
| Error messages for method calls to non-existent table/string methods now mention the method name. | Pending |
| string.format now supports %* in preparation for string interpolation support. | Pending |
| For backwards compatibility, allow GetKeyframeSequenceAsync to load CurveAnimations. Calling GetKeyframeSequenceAsync on a CurveAnimation will generate a KeyframeSequence from that CurveAnimation and return the generated KeyframeSequence instead. | Pending |
| Improved how the MicroProfiler handles mouse input to avoid unwanted interactions between UI elements. | Pending |
| Messages sent with TextChatService will now render as they are sending in BubbleChat to feel more responsive. | Pending |
| TextChatService's default UI will register its action as a Core Action to prevent accidentally unbinding the action with ContextAction/UnbindAllActions. Developers may still prioritize their own actions using ContextActionService's priority mechanisms. | Pending |