Skip to content

Releases: ably/ably-chat-js

v1.1.1

14 Nov 14:56
00d3c35

Choose a tag to compare

What's Changed

Core Changes

  • Typedocs: Expand typedocs for publicly exposed interfaces and methods. by @splindsay-92 in #641

Demo App Changes

Full Changelog: 1.1.0...1.1.1

v1.1.0

30 Oct 12:10
135c338

Choose a tag to compare

Fixes

  • Added missing closing and closed to connection status enum #687

Full Changelog: 1.0.0...1.1.0

v1.0.0

23 Oct 14:28
4c83d19

Choose a tag to compare

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

20 Oct 14:17
b933e8d

Choose a tag to compare

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 summary to reactions and lifted messageSerial to top level. #670
  • Type Renaming: Multiple type renames for clarity:
    • QueryOptionsHistoryParams #657
    • MessageOptionsMessagesOptions #659
    • MessagesReactionsMessageReactions #663
    • MessageReactionsMessageReactionSummary #663
  • Event Type Changes: Split MessageReactionEventType into separate types for summary and raw events. #660
  • Type Safety Improvements:
    • PresenceMember.extras type tightened from any to JsonObject #668
    • Metadata types now enforce JSON-serializable #658
    • ChatClient.clientId is now optional to match specification #655
    • Message.version.serial and Message.version.timestamp are now non-nullable #646
  • Internal API Changes:
    • Removed clientOptions from Rooms interface #661
    • Moved Rooms.count to internal interface #666
    • Removed redundant enum members from ChatMessageAction #677

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

03 Oct 15:13
e44435e

Choose a tag to compare

Fixes

  • Message Versioning: Made version.serial and version.timestamp non-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 dispose method from public Connection API. #645

Full Changelog: 0.14.0...0.14.1

v0.14.0

29 Sep 13:16
93e738b

Choose a tag to compare

This release contains breaking changes. For more information on upgrading, see UPGRADING.md.

Breaking Changes

  • Presence Data Type: Updated PresenceData to be a JSON object for better serialization compatibility. #642
  • Message API Updates: Updated message API responses to introduce meaningful nesting to message versioning. #620

v0.13.0

17 Sep 13:01
f792e2b

Choose a tag to compare

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 useChatClient React hook's clientId property 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

08 Sep 15:58
3b2b9a6

Choose a tag to compare

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 React useMessages hook. #607
  • usePresence Manual Control: Added autoEnterLeave parameter to the usePresence React hook for optional control over automatic presence entry/exit, with exposed manual enter and leave methods 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 isPresent state in React hooks and prevent race conditions. #602

Full Changelog: 0.11.0...0.12.0

v0.11.0

24 Jul 10:01
dcb5755

Choose a tag to compare

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() to sendMessage(), send() to sendRoomReaction() and update() to updateMessage() in the useMessages hook for clarity. #595
  • useRoomReactions Helpers Rename: Renamed send() to sendRoomReaction() in the useRoomReactions hook for clarity. #595
  • Message Reactions Method Rename: Renamed add() to send() in the Message Reactions interface. #603
  • Typing Event Enum: Renamed TypingEventType values to match to Started and Stopped. #599
  • Presence Data Structure: Updated presence member structure to include connectionId and changed updatedAt to use Date type. #600

Improvements

  • React Room Management: Improved room management in React via reference counting for better resource management. #572
  • Logging: Added random identifier to chat client logging context for better debugging. #609

v0.10.0

09 Jul 09:38
9552203

Choose a tag to compare

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 Reaction to RoomReaction to disambiguate against message reactions. #594
  • Room Reaction Wire Protocol: Changed type to name in 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

Misc

  • Improved logging on failed tests for better debugging. #591
  • Documentation link corrections. #596