This contains only the most important and/or user-facing changes; for a full changelog, see the commit history.
0.3.0 (2025-01-06)
Please see UPGRADING.md
for full guidance on upgrading from version 0.2.1 and before.
- The default typing timeout has now been reduced to 5 seconds. #361
- Room and Connection status types have been renamed. #382
- Renamed the
timeserial
field on theMessage
type toserial
. Messages may now be compared for global order by string comparison of this field. Rooms.get
is now asynchronous and returns aPromise
that will resolve once anyrelease
operations on the room are complete. #387.- The
Room.channel
property is now an instance ofAbly.RealtimeChannel
, rather than aPromise
. #387 - In React, accessing the room via
useRoom
, or properties of the room via other hooks, now returnsValueType | undefined
. Once the room's promise is resolved (see above), this will update to the actual value. #387 - The default Room status is now
Initialized
. TheInitializing
status is retained for use in React when the room has not yet been resolved. #387 - The
direction
argument to message history has been replaced byorderBy
, which uses a new enumOrderBy
with valuesOldestFirst
andNewestFirst
. Its behavior is identical todirection: forwards | backwards
.
- Added new fields to Messages to support editing and deleting. #362
- Added the ability to delete messages in the chat. #365
- Added the ability to edit messages in the chat. #378
### Fixed Bugs
- The Room will now transition immediately to
released
ifrelease
is called whilst its status isInitialized
. #400 - When paginating messages (e.g. via
getPreviousMessages
) the objects returned by successive pages will now fully implement theMessage
interface. Previously they were simple JSON objects after the first page. #403. - Fixed a bug whereby a room may get stuck in the
Suspended
status after network issues. #409
ably-chat
is no longer a reserved key on Message and Reaction metadata/headers. #374
0.2.1 (2024-09-18)
- Fixed a bug that can lead to unhandled promise rejections and error logs when a room is released prior to initialization, particularly in React #352
0.2.0 (2024-09-09)
- Added hooks and providers for React, to allow a closer integration with these ecosystems. For more information on how to get started with Chat in React, see the React README.
- When a new room is returned from rooms.get() we now guarantee that the returned object is usable. Previously if the room was being released, the releasing room was returned. If needed, async operations wait for the previous release to finish behind-the-scenes.
- Added message parsing helpers that convert regular Ably Pub/Sub messages into Chat entities, which can be used on existing post-publish channel rules #249.
- Improved documentation around getting previous messages for a given subscription #328
- The CDN bundle for the core Chat SDK is now in UMD format, as opposed to ESM. This will still work in both browsers and Node. The README instructions have been updated to reflect this #333.
0.1.0 (2024-07-10)
- Initial private beta release of the Ably Chat SDK for JavaScript.