Changelog

This page contains an overview of all relevant changes made to the Amity Chat SDK modules and the latest version releases

Version 4.7.1 (2021-03-10)

Eko Messaging SDK 4.7.1 is released.

New APIs

  • None

Breaking APIs

  • None

Deprecations

  • None

Fixes

  • Optimize PagedList configuration

  • Fix incorrect pagination of categories

Behavioural changes

  • None

Compatibility

  • OKHTTP - 3.10.0

  • Retrofit - 2.4.0

  • Kotlin-std-lib - 1.3.72

Version 4.7.0 (2021-03-02)

Eko Messaging SDK 4.7.0 is released.

New APIs

  • Introduce eko-video-publisher for video broadcasting. Refer to Video documentation.

  • Add manual paging functionality to EkoCommentQueryRefer to Comment documentation.

Breaking APIs

  • None

Deprecations

  • None

Fixes

  • None

Behavioural changes

  • None

Compatibility

  • OKHTTP - 3.10.0

  • Retrofit - 2.4.0

  • Kotlin-std-lib - 1.3.72

Version 4.6.0 (2021-02-16)

Eko Messaging SDK 4.6.0 is released.

New APIs

  • Add new option .roles(roles: List<String>) inEkoChannelMembershipQuery.Builder. Refer to Channel documentation.

  • Add new option .sortBy(option: EkoCommentSortOption) in EkoCommentQuery.Builder. Refer to Comment documentation.

  • Add new API getLatestComment() in EkoCommentRepository. Refer to Comment documentation.

  • Add custom dataType support for EkoPost. Refer to Feeddocumentation.

Breaking APIs

  • Change query option setIsLive(isLive: Boolean) to setStatus(statuses: Array) in EkoStreamQuery.Builder. The user is now able to query live-stream videos based on its statues.

Deprecations

  • Query memberships by role. .role(role: String)

Fixes

  • ImprovegetMyReactions()performance on EkoMessage, EkoPost

    , EkoComment

Behavioural changes

  • None

Compatibility

  • OKHTTP - 3.10.0

  • Retrofit - 2.4.0

  • Kotlin-std-lib - 1.3.72

Version 4.5.1 (2021-01-28)

Eko Messaging SDK 4.5.1 is released.

New APIs

  • None

Breaking APIs

  • None

Deprecations

  • None

Fixes

  • Active user missing from community list when community has more than 10 members

Behavioural changes

  • None

Compatibility

  • OKHTTP - 3.10.0

  • Retrofit - 2.4.0

  • Kotlin-std-lib - 1.3.72

Version 4.5.0 (2021-01-19)

Eko Messaging SDK 4.5.0 is released.

New APIs

  • Add query option setIsLive(boolean) in EkoStreamQuery.Builder. The user is now able to query currently live or ended live-stream videos.

  • Add new method getRecordings() in EkoStream model . The user is now able to get recorded videos.

Breaking APIs

  • None

Deprecations

  • None

Fixes

  • None

Behavioural changes

  • None

Compatibility

  • OKHTTP - 3.10.0

  • Retrofit - 2.4.0

  • Kotlin-std-lib - 1.3.72

Version 4.4.2 (2021-01-15)

Eko Messaging SDK 4.4.2 is released.

API / Behavior Changes

  • Add automatic file name encoding for EkoFileRepository upload API

Bug Fixes

  • Fixed incorrect behaviour of private community query.

Version 4.4.0 (2020-12-22)

Eko Messaging SDK 4.4.0 is released.

API / Behavior Changes

  • Add role and permissionfeature. Refer to Channel and Community documentation.

  • Add hasPermission(ekoPermission)API to EkoClient

    Refer to Permissiondocumentation.

  • Add AUDIOmessage type.

  • Add getUploadInfo(uploadId)API to EkoFileRepository

Breaking Changes

  • Due to revised role and permissionfeature, user'sglobal rolecan only be set from admin panel/ admin API, hence the removal of setRoles()from EkoClient. User would still be able to add / remove role at Channel and Communitylevel should they have necessary permissions.

  • Aligning file related message data return type with Feedfeature,

    • Replacing getUrl() : Stringwith getImage() : EkoImageinEkoMessage.Data.IMAGE

    • Replacing getUrl() : Stringwith getFile() : EkoFileinEkoMessage.Data.FILE

Version 4.2.0 (2020-11-27)

Eko Messaging SDK 4.2.0 is released.

API / Behavior Changes

  • Introduce new Channel types; Communityand Live. Refer to Channelsdocumentation.

  • Introduce new EkoClient.registerDevice(userId)API where displayname is optional. Refer to Setupdocumentation.

Deprecations

  • Deprecating Channel type Standardand Private

  • Deprecating EkoClient.registerDevice(userId, displayname)API

Version 3.2.6 (2020-08-13)

Eko Messaging SDK 3.2.6 is released.

API / Behavior Changes

  • Change return type of getMessage(String messageId) API from EkoLiveData to Flowable

Bug Fixes

  • Missing user data from getMessage(String messageId) API

Version 3.2.3 (2020-07-01)

Eko Messaging SDK 3.2.3 is released.

API / Behavior Changes

  • Return EkoChannel with createConversation()

Version 3.2.2 (2020-06-16)

Eko Messaging SDK 3.2.2 is released.

API / Behavior Changes

  • Add metadata

    JsonObject data = new JsonObject();
    data.addProperty("key", "value");
    EkoChannel.CreateOption option = EkoChannel.CreateOption.builder()
          .metadata(data)
          .build();

    createChannel(String channelId, EkoChannel.CreationType type, EkoChannel.CreateOption option) API

  • Add metadata createConversation(String userId, JsonObject metadata) API

Bug Fixes

  • Prevent crash on EkoPagedListAdapter

Version 3.2.1 (2020-06-02)

Eko Messaging SDK 3.2.1 is released.

API / Behavior Changes

  • Add getAllUsers(EkoUserSortOption option) API

  • Add searchUserByDisplayName(String displayname, EkoUserSortOption option) API

Bug Fixes

  • Optimized socket rescheduling request queue.

  • Improved diffUtil logic of EkoChannelAdapter and EkoChannelMembershipAdapter.

Version 3.1.1 (2020-04-09)

Eko Messaging SDK 3.1.1 is released.

API / Behavior Changes

  • Add getMessage(String messageId) API

Version 2.8.0 (2020-04-09)

Eko Messaging SDK 2.8.0 is released.

API / Behavior Changes

  • Add getMessage(String messageId) API

Version 3.0.0 (2020-03-31)

Eko Messaging SDK 3.0.0 is released.

API / Behavior Changes

  • New channel types (Private, Broadcast, Conversation); Support creation and query of new channel types.

Breaking Changes

  • Creating a channel requires a EkoChannel.CreationType as a parameter.

  • Channel query has been converted to builder pattern to support query of new channel types.

Deprecations

  • EkoChannelRepository.getOrCreatedById() is deprecated.

  • EkoChannelRepository.getChannelCollection() returning LiveData> is deprecated.

Version 2.7.1 (2020-03-31)

Eko Messaging SDK 2.7.1 is released.

Bug Fixes

  • Fixed message query failed for the channel creator that has null displayname.

Version 2.7.0 (2020-03-19)

Eko Messaging SDK 2.7.0 is released.

API / Behavior Changes

  • Added Optimistic logic for add / remove reactions. Reaction count reflects instantly upon API call and automatically reverts in case of error.

  • Update DiffUtil logic in EkoMessageAdapter.

Version 2.6.2 (2020-02-05)

Eko Messaging SDK 2.6.2 is released.

Bug Fixes

  • Fixed myReaction is inaccurate when the same user is on multi devices.

  • Applied a workaround for https://issuetracker.google.com/issues/135628748 (IndexOutOfBoundException in AsyncPagedListDiffer) to EkoChannelAdapter, EkoMessageAdapter, EkoMessageReactionAdapter, and EkoChannelMembershipAdapter.

Version 2.6.0 (2020-01-24)

Eko Messaging SDK 2.6.0 is released.

API / Behavior Changes

  • Add support of metadata for EkoUser

Version 2.5.1 (2020-01-24)

Eko Messaging SDK 2.5.1 is released.

Bug Fixes

  • Fixed myReaction value stops EkoMessage observation.

Version 2.5.0 (2020-01-21)

Eko Messaging SDK 2.5.0 is released.

  • Add Message reaction feature:

  • A reaction can be added or removed from a message with EkoMessageReactor.

  • A reaction collection of a message can be queried with EkoMessageRepository.

  • Add Reaction related data to EkoMessage.

Version 2.3.0 (2019-11-21)

Eko Messaging SDK 2.3.0 is released.

Breaking Changes

  • A message can only be deleted by an editor corresponding to its type.

switch (DataType.from(message.getType())) {
            case TEXT: {
                message.getTextMessageEditor()
                        .delete()
                        .subscribe();
                break;
            }
            case IMAGE: {
                message.getImageMessageEditor()
                        .delete()
                        .subscribe();
            }
            case FILE: {
                message.getFileMessageEditor()
                        .delete()
                        .subscribe();
                break;
            }
            case CUSTOM: {
               message.getCustomMessageEditor()
                        .delete()
                        .subscribe();
                break;
            }

}

API / Behavior Changes

  • Add editor for each message type

EkoTextMessageEditor can edit and delete a message of type text.

EkoTextMessageEditor textEditor = message.getTextMessageEditor();

EkoImageMessageEditor can delete a message of type image.

EkoImageMessageEditor imageEditor = message.getImageMessageEditor();

EkoFileMessageEditor can delete a message of type file.

EkoFileMessageEditor fileEditor = message.getFileMessageEditor();

EkoCustomMessageEditor can edit and delete a message of type custom.

EkoCustomMessageEditor textEditor = message.getCustomMessageEditor();

Version 2.1.1 (2019-10-21)

Eko Messaging SDK 2.1.1 is released.

Breaking Changes

  • All message types are now based on Builder pattern.

    The method build() is now required to be called before the method send().

messageCreator.text("Hello Eko!")
        .build() // ---> this method is required.
        .send()
        .subscribe();
  • When creating an Image message with EkoMessageCreator, a valid file Uri is required to be passed as a parameter.

messageCreator.image(IMAGE_URI)
        .build() 
        .send()
        .subscribe();

API / Behavior Changes

  • Add File message type: a message of this type can be created with a file Uri. The file is automatically uploaded to the server and can be retrieved with a url that is accessible in FileData model.

  • Add Custom message type: a message of this type can be created with a JsonObject. This object is included in the data property of the message. Developers can parse their customed data by creating a model that reflects the structure of the customed JsonObject.

Version 2.0.0 (2019-09-18)

Eko Messaging SDK 2.0.0 is released.

Breaking Changes

  • Migrate to AndroidX

  • EkoMessageRepository replaces the function getMessageCollection(channelId) with getMessageCollection(channelId, stackFromEnd), along with many other new options such as getMessageCollection(channelId, includingTags, stackFromEnd), getMessageCollection(channelId, includingTags, excludingTags, stackFromEnd).

API / Behavior Changes

  • Message tagging support:

    Messages can now be sent along with customized tags.

    Messages can now be filtered by tags (both including and excluding).

    Tags can also be set on any message.

    Every message has a new tags property.

  • Message sorting support:

    Messages can now be fetched from the oldest first, or the newest first.

  • Message parenting support:

    Messages can now be connected on creation by passing a new optional parentId value.

    Note how a message child can also become a parent itself, without any limit.

    The parentId must be passed on the child message creation and cannot be changed afterwards.

    Every message has a new optional parentId and childrenNumber property.

Version 1.12.0 (2019-08-09)

Eko Messaging SDK 1.12.0 is released.

Breaking Changes

API / Behavior Changes

  • Push notification services in China.

Version 1.10.1 (2019-07-29)

Eko Messaging SDK 1.10.1 is released.

Bug Fixes

  • Fixed EkoMessage collection doesn't contain messages sent while you were offline.

  • Fixed EkoClient.getUserId() and EkoClient.getDisplayName() return data of in-active account.

Version 1.10.0 (2019-06-20)

Eko Messaging SDK 1.10.0 is released.

API / Behavior Changes

  • Add Push Notification toggles: users can now choose to mute selected channels or stop receiving notifications completely from any device. The new settings, documentented in the Notifications section, are per user, not per single device.

Version 1.9.0 (2019-06-04)

Eko Messaging SDK 1.9.0 is released.

API / Behavior Changes

  • Add Push Notification feature: developers can call register and unregister for push notification directly from the EkoClient Read more about the feature in the new Notifications section.

Version 1.8.0 (2019-05-15)

Eko Messaging SDK 1.8.0 is released.

API / Behavior Changes

  • Add new EkoError.USER_IS_GLOBAL_BANNED when a user is banned globally is automatically unregistered and the EkoChat sdk will be on a clean state.

Version 1.7.0 (2019-04-26)

Eko Messaging SDK 1.7.0 is released.

API / Behavior Changes

  • EkoChannelRepository.getChannelCollectionByTags(filter, includingTags) returns List of channels with ANY provided tags.

  • EkoChannelRepository.getChannelCollectionByTags(filter, includingTags, excludingTags) returns List of channels with ANY provided tags AND without ANY provided tags.

  • Added two new channel types EkoChannel.Type.BROADCAST and EkoChannel.Type.CONVERSATION (channels with conversation type won't be seen in Admin Panel because of privacy concerns)

Version 1.6.0 (2019-04-26)

Eko Messaging SDK 1.6.0 is released.

API / Behavior Changes

  • EkoChannelMembershipRepository.getChannelMembershipCollection(channelId) returns List of memberships of the channel.

Version 1.5.0 (2018-12-07)

Eko Messaging SDK 1.5.0 is released.

API / Behavior Changes

  • EkoMessage.isFlaggedByMe() and EkoUser.isFlaggedByMe() tell whether you've already flagged this EkoMessage and EkoUser or not.

Version 1.4.0 (2018-11-30)

Eko Messaging SDK 1.4.0 is released.

API / Behavior Changes

  • You can now be able to flag/unflag a message EkoMessageRepository.report(messageId).flag() or EkoMessage.report().flag() and EkoMessageRepository.report(messageId).unflag() or EkoMessage.report().unflag()

  • You can now be able to flag/unflag a user EkoUserRepository.report(userId).flag() or EkoUser.report().flag() and EkoUserRepository.report(messageId).unflag() or EkoUser.report().unflag()

Version 1.3.0 (2018-11-02)

Eko Messaging SDK 1.3.0 is released.

Breaking Changes

  • EkoMessage.getEditedAt() returns DateTime instead of string.

  • EkoChannel.membership().startReading() will not return anything.

  • EkoChannel.membership().stopReading() will not return anything.

API / Behavior Changes

  • EkoLiveData will no longer return a proxy object.

  • if you are in a live reading mode and lost internet connection, The SDK will automatically re-enables the live reading mode after re-gaining internet connection.

  • EkoChannel.getLastActivity() returns updated DateTime after receiving all message events.

  • EkoChannel.getUnreadCount() returns zero after joining a channel.

  • 3 new error codes which are INVALID_REGULAR_EXPRESSION(400001), TOO_MANY_MEMBER_ERROR(400310) and RPC_RATE_LIMIT_ERROR(400311)

Bug Fixes

  • Fixed EkoChannel collection with the filter EkoChannelFilter.NOT_MEMBER not contains channel you are banned from.

Version 1.1.2 (2018-10-12)

Eko Messaging SDK 1.1.2 is released.

Bug Fixes

  • Fixed EkoChannel collection with the filter EkoChannelFilter.NOT_MEMBER contains channel you joined.

  • Fixed EkoChannel data not update in real-time.

Version 1.1.0 (2018-10-05)

Eko Messaging SDK 1.1.0 is released.

Breaking Changes

  • The parameterless EkoChannelRepository.getChannelCollection() method now required a single parameter of EkoChannelFilter.

API / Behavior Changes

  • Delete message

  • Unread message count

  • You can create a EkoChannel collection that contains

    • EkoChannelFilter.MEMBER: channels that you have joined.

    • EkoChannelFilter.NOT_MEMBER: channels in the system which you haven't joined.

    • EkoChannelFilter.ALL: all channels.

  • Live Reading: Eko Messaging SDK now supports live reading mode. When you are in live reading mode, all new message are marked as read automatically.

    • EkoChannel.membership().startReading(): enables live reading mode. Should be called in onResume() method.

    • EkoChannel.membership().stopReading(): disables live reading mode. Should be called in onPause() method.

Deprecations

  • EkoMessageRepository.getCount() is deprecated.

  • EkoMessageRepository.getCount(channelId) is deprecated.

Version 1.0.2 (2018-08-28)

Eko Messaging SDK 1.0.2 is released with improved network bandwidth efficiency.

Bug Fixes

  • Fixed EkoMessage.getUser() returns null instead of EkoUser the sender of the message.

Version 1.0.1 (2018-07-11)

Eko Messaging SDK 1.0.1 is released with internal changes.

Version 1.0.0 (2018-07-10)

Eko Messaging SDK 1.0.0 is released.

Breaking Changes

API / Behavior Changes

Bug Fixes

Deprecations

Last updated