Releases: ably/ably-chat-js
v1.1.1
What's Changed
Core Changes
- Typedocs: Expand typedocs for publicly exposed interfaces and methods. by @splindsay-92 in #641
Demo App Changes
- fix: Remove [chat] from Ably token capability by @splindsay-92 in #694
Full Changelog: 1.1.0...1.1.1
v1.1.0
v1.0.0
We are excited to announce that the Ably Chat SDK API is now stable.
The Chat SDK includes comprehensive support for:
- Chat rooms for 1:1, 1:many, many:1 and many:many participation
- Messages with full CRUD operations (create, read, update, delete)
- Presence to track online status of chat participants
- Occupancy for monitoring total connections and presence members
- Typing indicators for real-time typing awareness
- Room reactions for real-time room reactions
- Message reactions for reactions to specific messages
- Hooks for direct integrations into React applications.
We are committed to maintaining API stability and providing long-term support for v1.x releases.
Thank you to everyone who provided feedback during the preview releases!
Changes
- Dropped support for Node 18, which has reached end of life.
v0.15.0
API Changes
- Typing and Occupancy API: Changed
current()methods to properties for consistency with other SDK APIs. #682 - Message API Simplification: Removed convenience comparison methods (
before(),after(),equal(), etc.) from Message type. #676 - Presence Event Filtering: Removed event filter parameter from presence subscription for API consistency. #675
- Message Serial Parameters: Serial parameters in method signatures must now be strings instead of objects. #674
- Message Reaction Events: Restructured summary events - renamed
summarytoreactionsand liftedmessageSerialto top level. #670 - Type Renaming: Multiple type renames for clarity:
- Event Type Changes: Split
MessageReactionEventTypeinto separate types for summary and raw events. #660 - Type Safety Improvements:
- Internal API Changes:
Fixes
- Serial Validation: Re-introduced checks to ensure serial is not empty string, null, or undefined. #680
- Promise Handling: Made promise-returning methods properly async to ensure exceptions return rejected promises. #678
Improvements
- Error Messages: Standardized error message format across core and React packages to "unable to ; ". #678
- Error Codes: Introduced specific error codes to replace generic 40000 and 50000 codes for better developer experience. #672
- Dependencies: Bumped ably-js to 2.14.0 with proper parsing of clipped flag. #664
v0.14.1
Fixes
- Message Versioning: Made
version.serialandversion.timestampnon-nullable for better type safety. #646 - React Agent String: Fixed agent string to include JavaScript SDK version when using React hooks. #647
API Changes
- Connection API: Removed internal
disposemethod from public Connection API. #645
Full Changelog: 0.14.0...0.14.1
v0.14.0
This release contains breaking changes. For more information on upgrading, see UPGRADING.md.
Breaking Changes
v0.13.0
This release contains breaking changes in the usePresence React Hook. See the UPGRADING.md for more information.
New Features
- Client Message Reactions Fetching: Added method to fetch a client's reactions ("my reactions") in preparation for clipping at large scale. #626
Improvements
- usePresence Hook Refactor: Improved auto-enter/leave behavior and documentation for better presence management in React applications. #633
- React Hook Simplification: Removed core SDK instances from React hooks return values for cleaner API surface. #637
- useChatClient Hook Reactive clientId: The
useChatClientReact hook'sclientIdproperty is now reactive to changes in the underlying Realtime client. #638
Documentation
- usePresence Hook Usage Guidance: Added comprehensive examples and guidance for the usePresence hook. #633
v0.12.0
New Features
- Single Message Fetching: Added
messages.get(serial)method to fetch a single message by its serial identifier, available in both core SDK and ReactuseMessageshook. #607 - usePresence Manual Control: Added
autoEnterLeaveparameter to theusePresenceReact hook for optional control over automatic presence entry/exit, with exposed manualenterandleavemethods for fine-grained control. #621 - Resource Disposal Methods: Added async
dispose()method to the chat client for improved resource cleanup and automatic room release management. #601
Fixes
- Presence Re-entry Handling: Fixed handling of presence auto re-entry failures to ensure accurate
isPresentstate in React hooks and prevent race conditions. #602
Full Changelog: 0.11.0...0.12.0
v0.11.0
Breaking Changes
This release contains breaking API changes. Please see UPGRADING.md for full guidance on upgrading from version 0.10.0.
- useMessages Helpers Rename: Renamed
send()tosendMessage(),send()tosendRoomReaction()andupdate()toupdateMessage()in theuseMessageshook for clarity. #595 - useRoomReactions Helpers Rename: Renamed
send()tosendRoomReaction()in theuseRoomReactionshook for clarity. #595 - Message Reactions Method Rename: Renamed
add()tosend()in the Message Reactions interface. #603 - Typing Event Enum: Renamed
TypingEventTypevalues to match toStartedandStopped. #599 - Presence Data Structure: Updated presence member structure to include
connectionIdand changedupdatedAtto use Date type. #600
Improvements
v0.10.0
Breaking Changes
This release contains breaking API changes. Please see UPGRADING.md for full guidance on upgrading from version 0.9.0.
- Room Reaction Interface: Renamed
ReactiontoRoomReactionto disambiguate against message reactions. #594 - Room Reaction Wire Protocol: Changed
typetonamein the Room Reactions wire protocol. #575
Fixes
- Deleted Messages: Improved message parsing to handle delete actions with empty values correctly. #583
- Room Reactions: Send reaction type (short-form) instead of annotation type (long-form) to chat HTTP endpoints for improved performance. #593