On this page

Changelog for PubNub Kotlin Chat SDK 1.0.0

## 1.0.0 *April 1, 2026* | Type | Changes | |------|----------| | **Added** | • BREAKING CHANGES: `Channel.join()` now only creates membership without subscribing or setting `lastReadMessageTimetoken`. Previous `join()` signature removed along with `JoinResult` type.<br/>• Added `Channel.onMessageReceived()` and `Channel.onTypingChanged()`. Deprecates `connect()` and `getTyping()`.<br/>• Added `Channel.sendText(text, SendTextParams)` with new `SendTextParams` data class. Previous multi-param `sendText()` overload is deprecated.<br/>• Added `Channel.emitCustomEvent()` and `Channel.onCustomEvent()` for publishing and listening to custom events with message type filtering.<br/>• Added `Channel.getInvitees()` to return channel members with pending (invited) status.<br/>• Added `Channel.hasMember()` and `Channel.getMember()` membership-oriented convenience methods.<br/>• Added `User.onUpdated()`, `User.onDeleted()`, `User.onMentioned()`, `User.onInvited()`, `User.onRestrictionChanged()`. Deprecates `streamUpdates()`.<br/>• Added `User.isMemberOf()` and `User.getMembership()` membership-oriented convenience methods.<br/>• Added `Membership.onUpdated()` and `Membership.onDeleted()`. Deprecates `streamUpdates()` in favor of separate callbacks.<br/>• `Membership.update()` now accepts optional `status` and `type` alongside `custom`. Previous `update(custom)` is deprecated.<br/>• Added `Membership.delete()` for deleting a membership relationship.<br/>• Added `Message.onUpdated()` for emitting updated message on edits, reaction changes, or metadata changes. Deprecates `streamUpdates()`.<br/>• Added `Message.createThread(text, SendTextParams)` returning `CreateThreadResult` with thread channel and updated parent message. Deprecates `createThreadWithResult()`.<br/>• `ThreadChannel` returns typed `ThreadChannel` and `ThreadMessage` from `update()`, `getMessage()`, `getPinnedMessage()`, `getHistory()`.<br/>• Added `ThreadChannel.onThreadMessageReceived()` and `ThreadChannel.onThreadChannelUpdated()` returning typed `ThreadMessage` and `ThreadChannel`.<br/>• `ThreadMessage` returns typed `ThreadMessage` from `editText()`, `toggleReaction()`, `restore()`.<br/>• Added `ThreadMessage.onThreadMessageUpdated()` for entity-first streaming of thread message updates.<br/>• Added `ChatConfiguration.emitReadReceiptEvents` for per-channel-type control over read receipt event emission. Defaults to `true` except for public channels.<br/>• Added `UserMention`, `Mention`, `Invite`, `CustomEvent`, `MessageReaction`, `ReadReceipt`, `ReadReceiptsResponse`, `Report`, `SendTextParams` types. | | **Modified** | • BREAKING CHANGES: `Message.reactions` changed from `Map&lt;String, List&lt;Action&gt;&gt;` to `List&lt;MessageReaction&gt;` with `isMine`, `userIds`, `count` per reaction.<br/>• BREAKING CHANGES: `Message.removeThread()` returns `PNFuture&lt;Unit&gt;` instead of `PNFuture&lt;Pair&lt;PNRemoveMessageActionResult, Channel?&gt;&gt;`.<br/>• BREAKING CHANGES: `Channel.delete()` and `Chat.deleteChannel()` now permanently delete. The `soft` parameter is removed.<br/>• BREAKING CHANGES: `User.delete()` and `Chat.deleteUser()` now permanently delete. The `soft` parameter is removed.<br/>• `createMessageDraft()` is now V2 by default. `createMessageDraftV1()` provides backward compat. `createMessageDraftV2()` is deprecated.<br/>• `GetCurrentUserMentionsResult` adds `mentions` field using `UserMention` type. Old `enhancedMentionsData` field is deprecated.<br/>• `Chat.emitEvent()` and `Chat.listenForEvents()` deprecated. Replaced by entity-level methods like `Channel.emitCustomEvent()` and `User.onMentioned()`.<br/>• Updated Kotlin to 2.2.21. | ## 0.16.3 *February 11, 2026* | Type | Changes | |------|----------| | **Fixed** | • Update dependencies. | ## 0.16.2 *January 23, 2026* | Type | Changes | |------|----------| | **Fixed** | • Internal fixes. | ## 0.16.1 *January 20, 2026* | Type | Changes | |------|----------| | **Fixed** | • Internal fixes. | ## 0.16.0 *January 19, 2026* | Type | Changes | |------|----------| | **Added** | • Add the createThreadWithResult method that returns the ThreadChannel and an updated parent Message with hasThread property set to true.<br/>• Add limit and offset parameters to whoIsPresent method on Chat, Channel, and ChannelGroup. | ## 0.15.4 *November 20, 2025* | Type | Changes | |------|----------| | **Fixed** | • Update PubNub kotlin SDK version . | ## 0.15.3 *November 10, 2025* | Type | Changes | |------|----------| | **Fixed** | • Update dependencies. | ## 0.15.2 *August 7, 2025* | Type | Changes | |------|----------| | **Fixed** | • Internal fixes. | ## 0.15.1 *July 31, 2025* | Type | Changes | |------|----------| | **Fixed** | • Internal fixes. | ## 0.15.0 *July 31, 2025* | Type | Changes | |------|----------| | **Added** | • AddConnectionStatusListener, reconnectSubscriptions, disconnectSubscriptions . | ## 0.14.1 *July 30, 2025* | Type | Changes | |------|----------| | **Fixed** | • Internal fixes. | ## 0.14.0 *July 21, 2025* | Type | Changes | |------|----------| | **Added** | • Add support for channel groups. | ## 0.13.4 *June 10, 2025* | Type | Changes | |------|----------| | **Modified** | • Internal fixes. | ## 0.13.3 *June 4, 2025* | Type | Changes | |------|----------| | **Fixed** | • Adds an internal function workaround to get messages from an auto moderation report, which doesn't contain a message timetoken. | ## 0.13.2 *May 16, 2025* | Type | Changes | |------|----------| | **Fixed** | • Internal fixes. | ## 0.13.1 *May 14, 2025* | Type | Changes | |------|----------| | **Fixed** | • Internal fixes. | ## 0.13.0 *May 9, 2025* | Type | Changes | |------|----------| | **Added** | • Add new API method returning paginated unread message counts. | ## 0.12.1 *March 21, 2025* | Type | Changes | |------|----------| | **Fixed** | • Internal fixes. | ## 0.12.0 *March 14, 2025* | Type | Changes | |------|----------| | **Added** | • Added possibility to invite users to public channels. | ## 0.11.2 *March 7, 2025* | Type | Changes | |------|----------| | **Fixed** | • Update PubNub Kotlin SDK dependency to include proper handling of the device token.<br/>• Add the missing keys when building the APNS payload. | ## 0.11.1 *February 20, 2025* | Type | Changes | |------|----------| | **Fixed** | • Fixed bug related to setting user restriction. The issue occurred when `Enforce referential integrity for memberships` was enabled and a user did not exist in AppContext. | ## 0.11.0 *January 23, 2025* | Type | Changes | |------|----------| | **Added** | • Added a new version of `User.update` that can be used to update data on the server without losing intermediate updates that might have happened in the time between when the object was last received and updated.<br/>• Added the ability to mute and unmute users through `Chat.mutedUsers.muteUser() / unmuteUser()`.<br/>• Added the option to automatically sync the mute list using App Context by enabling `ChatConfiguration.syncMutedUsers`.<br/>• Added missing function to parse quoted message text into parts. | | **Fixed** | • Fixes the problem of overwriting custom data at regular intervals when `storeUserActivityInterval` is enabled. | ## 0.10.1 *January 13, 2025* | Type | Changes | |------|----------| | **Modified** | • Internal fixes. | ## 0.10.0 *January 7, 2025* | Type | Changes | |------|----------| | **Added** | • Added status and type to Membership. | ## 0.9.4 *December 20, 2024* | Type | Changes | |------|----------| | **Fixed** | • Make setRestrictions work with `Enforce referential integrity for memberships` enabled on keyset. | ## 0.9.3 *December 16, 2024* | Type | Changes | |------|----------| | **Modified** | • Internal fixes. | ## v0.9.2 *December 12, 2024* | Type | Changes | |------|----------| | **Added** | • Lock moderated messages from editing . | | **Fixed** | • Wrong user suggestion source for message draft created on ThreadChannel.<br/>• Wrong type of last user activity time stored on server (precision). | | **Modified** | • Moderation events are now sent to a channel prefixed with `PUBNUB_INTERNAL_MODERATION.`. | ## v0.9.0 *November 6, 2024* | Type | Changes | |------|----------| | **Added** | • Added MessageDraft.<br/>• Added timetoken utils methods. | | **Fixed** | • Added typingTimeoutMargin to improve continuity of typing indicator.<br/>• Fix getTyping sending events after close.<br/>• Change User.active() to synchronous val User.active.<br/>• AccessManager is based on PAM V3 token instead of PAM V2 authKey.<br/>• Hard delete returns null.<br/>• Replace occurrences of Set with List where ordering matters. | ## v0.8.0 *September 24, 2024* | Type | Changes | |------|----------| | **Added** | • Initial release of PubNub Kotlin Chat SDK. | ## v0.8.0-DEV *June 26, 2024* | Type | Changes | |------|----------| | **Added** | • Internal dev release. |

1.0.0

April 1, 2026
Added
  • BREAKING CHANGES: Channel.join() now only creates membership without subscribing or setting lastReadMessageTimetoken. Previous join() signature removed along with JoinResult type.
  • Added Channel.onMessageReceived() and Channel.onTypingChanged(). Deprecates connect() and getTyping().
  • Added Channel.sendText(text, SendTextParams) with new SendTextParams data class. Previous multi-param sendText() overload is deprecated.
  • Added Channel.emitCustomEvent() and Channel.onCustomEvent() for publishing and listening to custom events with message type filtering.
  • Added Channel.getInvitees() to return channel members with pending (invited) status.
  • Added Channel.hasMember() and Channel.getMember() membership-oriented convenience methods.
  • Added User.onUpdated(), User.onDeleted(), User.onMentioned(), User.onInvited(), User.onRestrictionChanged(). Deprecates streamUpdates().
  • Added User.isMemberOf() and User.getMembership() membership-oriented convenience methods.
  • Added Membership.onUpdated() and Membership.onDeleted(). Deprecates streamUpdates() in favor of separate callbacks.
  • Membership.update() now accepts optional status and type alongside custom. Previous update(custom) is deprecated.
  • Added Membership.delete() for deleting a membership relationship.
  • Added Message.onUpdated() for emitting updated message on edits, reaction changes, or metadata changes. Deprecates streamUpdates().
  • Added Message.createThread(text, SendTextParams) returning CreateThreadResult with thread channel and updated parent message. Deprecates createThreadWithResult().
  • ThreadChannel returns typed ThreadChannel and ThreadMessage from update(), getMessage(), getPinnedMessage(), getHistory().
  • Added ThreadChannel.onThreadMessageReceived() and ThreadChannel.onThreadChannelUpdated() returning typed ThreadMessage and ThreadChannel.
  • ThreadMessage returns typed ThreadMessage from editText(), toggleReaction(), restore().
  • Added ThreadMessage.onThreadMessageUpdated() for entity-first streaming of thread message updates.
  • Added ChatConfiguration.emitReadReceiptEvents for per-channel-type control over read receipt event emission. Defaults to true except for public channels.
  • Added UserMention, Mention, Invite, CustomEvent, MessageReaction, ReadReceipt, ReadReceiptsResponse, Report, SendTextParams types.
Modified
  • BREAKING CHANGES: Message.reactions changed from Map<String, List<Action>> to List<MessageReaction> with isMine, userIds, count per reaction.
  • BREAKING CHANGES: Message.removeThread() returns PNFuture<Unit> instead of PNFuture<Pair<PNRemoveMessageActionResult, Channel?>>.
  • BREAKING CHANGES: Channel.delete() and Chat.deleteChannel() now permanently delete. The soft parameter is removed.
  • BREAKING CHANGES: User.delete() and Chat.deleteUser() now permanently delete. The soft parameter is removed.
  • createMessageDraft() is now V2 by default. createMessageDraftV1() provides backward compat. createMessageDraftV2() is deprecated.
  • GetCurrentUserMentionsResult adds mentions field using UserMention type. Old enhancedMentionsData field is deprecated.
  • Chat.emitEvent() and Chat.listenForEvents() deprecated. Replaced by entity-level methods like Channel.emitCustomEvent() and User.onMentioned().
  • Updated Kotlin to 2.2.21.

0.16.3

February 11, 2026
Fixed
  • Update dependencies.

0.16.2

January 23, 2026
Fixed
  • Internal fixes.

0.16.1

January 20, 2026
Fixed
  • Internal fixes.

0.16.0

January 19, 2026
Added
  • Add the createThreadWithResult method that returns the ThreadChannel and an updated parent Message with hasThread property set to true.
  • Add limit and offset parameters to whoIsPresent method on Chat, Channel, and ChannelGroup.

0.15.4

November 20, 2025
Fixed
  • Update PubNub kotlin SDK version .

0.15.3

November 10, 2025
Fixed
  • Update dependencies.

0.15.2

August 7, 2025
Fixed
  • Internal fixes.

0.15.1

July 31, 2025
Fixed
  • Internal fixes.

0.15.0

July 31, 2025
Added
  • AddConnectionStatusListener, reconnectSubscriptions, disconnectSubscriptions .

0.14.1

July 30, 2025
Fixed
  • Internal fixes.

0.14.0

July 21, 2025
Added
  • Add support for channel groups.

0.13.4

June 10, 2025
Modified
  • Internal fixes.

0.13.3

June 4, 2025
Fixed
  • Adds an internal function workaround to get messages from an auto moderation report, which doesn't contain a message timetoken.

0.13.2

May 16, 2025
Fixed
  • Internal fixes.

0.13.1

May 14, 2025
Fixed
  • Internal fixes.

0.13.0

May 9, 2025
Added
  • Add new API method returning paginated unread message counts.

0.12.1

March 21, 2025
Fixed
  • Internal fixes.

0.12.0

March 14, 2025
Added
  • Added possibility to invite users to public channels.

0.11.2

March 7, 2025
Fixed
  • Update PubNub Kotlin SDK dependency to include proper handling of the device token.
  • Add the missing keys when building the APNS payload.

0.11.1

February 20, 2025
Fixed
  • Fixed bug related to setting user restriction. The issue occurred when Enforce referential integrity for memberships was enabled and a user did not exist in AppContext.

0.11.0

January 23, 2025
Added
  • Added a new version of User.update that can be used to update data on the server without losing intermediate updates that might have happened in the time between when the object was last received and updated.
  • Added the ability to mute and unmute users through Chat.mutedUsers.muteUser() / unmuteUser().
  • Added the option to automatically sync the mute list using App Context by enabling ChatConfiguration.syncMutedUsers.
  • Added missing function to parse quoted message text into parts.
Fixed
  • Fixes the problem of overwriting custom data at regular intervals when storeUserActivityInterval is enabled.

0.10.1

January 13, 2025
Modified
  • Internal fixes.

0.10.0

January 7, 2025
Added
  • Added status and type to Membership.

0.9.4

December 20, 2024
Fixed
  • Make setRestrictions work with Enforce referential integrity for memberships enabled on keyset.

0.9.3

December 16, 2024
Modified
  • Internal fixes.

v0.9.2

December 12, 2024
Added
  • Lock moderated messages from editing .
Fixed
  • Wrong user suggestion source for message draft created on ThreadChannel.
  • Wrong type of last user activity time stored on server (precision).
Modified
  • Moderation events are now sent to a channel prefixed with PUBNUB_INTERNAL_MODERATION..

v0.9.0

November 6, 2024
Added
  • Added MessageDraft.
  • Added timetoken utils methods.
Fixed
  • Added typingTimeoutMargin to improve continuity of typing indicator.
  • Fix getTyping sending events after close.
  • Change User.active() to synchronous val User.active.
  • AccessManager is based on PAM V3 token instead of PAM V2 authKey.
  • Hard delete returns null.
  • Replace occurrences of Set with List where ordering matters.

v0.8.0

September 24, 2024
Added
  • Initial release of PubNub Kotlin Chat SDK.

v0.8.0-DEV

June 26, 2024
Added
  • Internal dev release.
Last updated on
On this page