- The Chat SDK now fetches Trouter notification configurations dynamically by calling the chat gateway service, instead of relying on hard-coded values in configuration files.
- Updated
targetSdkVersion
andcompileSdkVersion
from30
to34
.
- Updated
azure-core
dependency to1.0.0-beta.14
. - Updated
azure-core-credential
dependency to1.0.0-beta.14
. - Updated
azure-core-http
dependency to1.0.0-beta.14
. - Updated
azure-core-logging
dependency to1.0.0-beta.14
. - Updated
azure-core-rest
dependency to1.0.0-beta.14
. - Updated
azure-communication-common
dependency to1.2.1
.
- Address the issue described in #1483. The SDK now incorporates a more recent Trouter template to prevent Android devices from receiving duplicate real-time notifications.
Change Trouter EU endpoints for EUDB compliance
- Updated
azure-core
dependency to1.0.0-beta.13
. - Updated
azure-core-credential
dependency to1.0.0-beta.13
. - Updated
azure-core-http
dependency to1.0.0-beta.13
. - Updated
azure-core-http-okhttp
dependency to1.0.0-beta.13
. - Updated
azure-core-logging
dependency to1.0.0-beta.13
. - Updated
azure-core-rest
dependency to1.0.0-beta.13
. - Updated
azure-communication-common
dependency to1.1.1
.
- Create new
startPushNotifications
API without errorHandler as a parameter.
- Push notification registration renewal is now guaranteed to happen when an app is idle or closed.
- Introduced the use of WorkManager, which now requires additional configuration in apps that were already using the push notification feature. Check the push notifications documentation for more information.
- Increase minSDKVersion from 21 to 23.
- Implement internal key management library to securely persist all the registration secret keys which are not expired.
- Reduce the expiration time of each push notification registration from 25 hours to 45 minutes.
- Add
@Deprecated
annotation tostartPushNotifications
API witherrorHandler
as a parameter.
- Added support for metadata in messages.
- Added options class
TypingNotificationOptions
for settingSenderDisplayName
of the notification sender. - Added
SenderDisplayName
toTypingIndicatorReceivedEvent
. - Added support FCM push notifications:
- Added the following methods to
ChatAsyncClient
andChatClient
:startPushNotifications
stopPushNotifications
handlePushNotification
addPushNotificationHandler
removePushNotificationHandler
- Added
ChatPushNotification
as the type for passing a push notification payload. - Added instructions in the README.md of our sample app on how to setup FCM push notifications.
- Added code in sample app for FCM push notification end to end scenario.
- Added the following methods to
- Added
startRealtimeNotifications(Context context, Consumer<Throwable> errorHandler)
toChatAsyncClient
andChatClient
.
- Fixed a dependency issue with
azure-communication-common
. - Fixed a BUG in real-time notification payload for GCCH.
- Deprecated
startRealtimeNotifications(String skypeUserToken, Context context)
inChatAsyncClient
andChatClient
. Users should utilizestartRealtimeNotifications(Context context, Consumer<Throwable> errorHandler)
instead.
- Updated
azure-core
dependency to1.0.0-beta.10
- Updated
azure-core-credential
dependency to1.0.0-beta.10
- Updated
azure-core-http
dependency to1.0.0-beta.10
- Updated
azure-core-http-okhttp
dependency to1.0.0-beta.10
- Updated
azure-core-logging
dependency to1.0.0-beta.10
- Updated
azure-core-rest
dependency to1.0.0-beta.10
- Updated
azure-communication-common
dependency to1.0.2
- Updated
android-retrofuture
dependency to1.7.4
- Added support FCM push notifications:
- Added methods to
ChatAsyncClient
:startPushNotifications
stopPushNotifications
handlePushNotification
addPushNotificationHandler
removePushNotificationHandler
- Added methods to
ChatClient
:startPushNotifications
stopPushNotifications
handlePushNotification
addPushNotificationHandler
removePushNotificationHandler
- Added
ChatPushNotification
as the type for passing a push notification payload. - Added instructions in README.md in sample app for steps to setup FCM push notifications.
- Added code in sample app for FCM push notification end to end scenario.
- Added methods to
- Added
startRealtimeNotifications(Context context, Consumer<Throwable> errorHandler)
toChatAsyncClient
. - Added
startRealtimeNotifications(Context context, Consumer<Throwable> errorHandler)
toChatClient
.
- Deprecate
startRealtimeNotifications(String skypeUserToken, Context context)
inChatAsyncClient
. - Deprecate
startRealtimeNotifications(String skypeUserToken, Context context)
inChatClient
.
- Updated
com.azure.android.core
from1.0.0-beta.6
to1.0.0-beta.9
.
- Version update.
- Version update.
- Version update.
- Fix
azure-communication-common
dependency issue.
- Added support for metadata in messages.
- Added options class
TypingNotificationOptions
for settingSenderDisplayName
of the notification sender. - Added
SenderDisplayName
toTypingIndicatorReceivedEvent
.
- Added
ChatServiceVersion
and the ability to set it onChatClientBuilder
andChatThreadClientBuilder
.
- ChatClientBuilder:
- Added
retryPolicy
. - Removed
credentialPolicy
. - Removed
realtimeNotificationParams
.
- Added
- ChatThreadClientBuilder:
- Added
retryPolicy
. - Removed
credentialPolicy
. - Removed
realtimeNotificationParams
.
- Added
- ChatClient:
- Added
listChatThreads
. - Changed
startRealtimeNotifications
with adding parameterString skypeUserToken
andContext context
. - Removed
getChatThreadsFirstPage
. - Removed
getChatThreadsFirstPageWithResponse
. - Removed
getChatThreadsNextPage
. - Removed
getChatThreadsNextPageWithResponse
. - Replaced
azure.core.util.Context
in the APIs withazure.core.util.RequestContext
. - Replaced
on
withaddEventHandler
. - Replaced
off
withremoveEventHandler
.
- Added
- ChatAsyncClient:
- Added
listChatThreads
. - Changed
startRealtimeNotifications
with adding parameterString skypeUserToken
andContext context
. - Removed
getChatThreadsFirstPage
. - Removed
getChatThreadsFirstPageWithResponse
. - Removed
getChatThreadsNextPage
. - Removed
getChatThreadsNextPageWithResponse
. - Replaced
azure.core.util.Context
in the APIs withazure.core.util.RequestContext
. - Replaced
on
withaddEventHandler
. - Replaced
off
withremoveEventHandler
.
- Added
- ChatThreadClient:
- Added
listParticipants
. - Added
listMessages
. - Added
listReadReceipts
. - Changed returning
AddChatParticipantsResult
instead ofvoid
foraddParticipants
. - Changed taking parameter
Iterable<ChatParticipant> participants
instead ofAddChatParticipantsOptions options
foraddParticipants
andaddParticipantsWithResponse
. - Removed
getParticipantsFirstPage
. - Removed
getParticipantsFirstPageWithResponse
. - Removed
getParticipantsNextPage
. - Removed
getParticipantsNextPageWithResponse
. - Removed
getMessagesFirstPage
. - Removed
getMessagesFirstPageWithResponse
. - Removed
getMessagesNextPage
. - Removed
getMessagesNextPageWithResponse
. - Removed
getReadReceiptsFirstPage
. - Removed
getReadReceiptsFirstPageWithResponse
. - Removed
getReadReceiptsNextPage
. - Removed
getReadReceiptsNextPageWithResponse
. - Replaced
azure.core.util.Context
in the APIs withazure.core.util.RequestContext
.
- Added
- ChatThreadAsyncClient:
- Added
listParticipants
. - Added
listMessages
. - Added
listReadReceipts
. - Changed returning
CompletableFuture<AddChatParticipantsResult>
instead ofCompletableFuture<Void>
foraddParticipants
. - Changed taking parameter
Iterable<ChatParticipant> participants
instead ofAddChatParticipantsOptions options
foraddParticipants
andaddParticipantsWithResponse
. - Removed
getParticipantsFirstPage
. - Removed
getParticipantsFirstPageWithResponse
. - Removed
getParticipantsNextPage
. - Removed
getParticipantsNextPageWithResponse
. - Removed
getMessagesFirstPage
. - Removed
getMessagesFirstPageWithResponse
. - Removed
getMessagesNextPage
. - Removed
getMessagesNextPageWithResponse
. - Removed
getReadReceiptsFirstPage
. - Removed
getReadReceiptsFirstPageWithResponse
. - Removed
getReadReceiptsNextPage
. - Removed
getReadReceiptsNextPageWithResponse
. - Replaced
azure.core.util.Context
in the APIs withazure.core.util.RequestContext
.
- Added
- Removed
com.azure.android.communication.chat.signaling.chatevents.ChatParticipant
. - Removed
com.azure.android.communication.chat.signaling.chatevents.ChatThreadProperties
. - Removed
com.azure.android.communication.chat.models.AddChatParticipantsOptions
. - Removed setters for
AddChatParticipantsResult
. - Removed setters for
ChatError
. - Changed
com.azure.android.communication.chat.signaling.chatevents.*
tocom.azure.android.communication.chat.models.*
. - Changed
httpClient
to an optional component forChatClientBuilder
/ChatThreadClientBuilder
to create corresponding client. - Changed
ChatEventId
toChatEventType
. - Changed
BaseEvent
toChatEvent
. - Changed
ChatMessageReceivedEvent
createdOn type fromString
toOffsetDateTime
. - Changed
ChatMessageEditedEvent
createdOn and editedOn type fromString
toOffsetDateTime
. - Changed
ChatMessageDeletedEvent
createdOn and deletedOn type fromString
toOffsetDateTime
. - Changed
ReadReceiptReceivedEvent
readOn type fromString
toOffsetDateTime
. - Changed
TypingIndicatorReceivedEvent
receivedOn type fromString
toOffsetDateTime
. - Changed
ChatThreadCreatedEvent
createdOn type fromString
toOffsetDateTime
. - Changed
ChatThreadDeletedEvent
deletedOn type fromString
toOffsetDateTime
. - Changed
ChatThreadPropertiesUpdatedEvent
updatedOn type fromString
toOffsetDateTime
. - Changed
ParticipantsAddedEvent
addedOn type fromString
toOffsetDateTime
. - Changed
ParticipantsRemovedEvent
removedOn type fromString
toOffsetDateTime
.
- Updated
com.azure.android.core
from1.0.0-beta.5
to1.0.0-beta.6
.
- ChatThreadAsyncClient:
- Renamed
getChatThreadProperties
togetProperties
. - Renamed
getChatThreadPropertiesWithResponse
togetPropertiesWithResponse
. - Changed
addParticipant
andaddParticipantWithResponse
to throwInvalidParticipantException
for failure instead of returningAddChatParticipantsResult
. - Changed
sendMessage
andsendMessageWithResponse
to returnSendChatMessageResult
.
- Renamed
- ChatThreadClient:
- Renamed
getChatThreadProperties
togetProperties
. - Renamed
getChatThreadPropertiesWithResponse
togetPropertiesWithResponse
. - Changed
addParticipant
andaddParticipantWithResponse
to throwInvalidParticipantException
for failure instead of returningAddChatParticipantsResult
. - Changed
sendMessage
andsendMessageWithResponse
to returnSendChatMessageResult
.
- Renamed
- Renamed
ChatThread
toChatThreadProperties
. - Renamed
CommunicationError
toChatError
. - Removed
CommunicationErrorResponse
. - Renamed
CommunicationErrorResponseException
toChatErrorResponseException
. - Renamed
repeatabilityRequestId
renamed toidempotencyToken
inCreateChatThreadOptions
. - Renamed
chatThread
tochatThreadProperties
inCreateChatThreadResult
. - Removed the
azure-communication-chat.properties
file.
- Added ChatThreadClientBuilder
- Added InvalidParticipantException
- Added chat basic operations in test app
- Fixed realtime notification connection URL.
- Support realtime notifications with new methods in ChatClient/ChatAsyncClient:
- startRealtimeNotifications
- stopRealtimeNotifications
- on(chatEventId, listenerId, listener)
- off(chatEventId, listenerId)
- Add a sample chat app under folder samples for testing and playing around chat functionality purpose.
- Change remove participant API to /chat/threads/{chatThreadId}/participants/:remove
- user id in following classes changed from type CommunicationUserIdentifier to type CommunicationIdentifierModel.
- property initiator in ChatMessageContent renamed to initiatorCommunicationIdentifier.
- property senderId in ChatMessage and ChatMessageReadReceipt renamed to senderCommunicationIdentifier.
- property identifier in ChatParticipant renamed to communicationIdentifier.
- property createdBy in ChatThread renamed to createdByCommunicationIdentifier.
- repeatability-Request-ID in header renamed to repeatability-Request-Id.
- Change ChatParticipant id type from CommunicationUserIdentifier to String.
- Change ChatThread createdBy type from CommunicationUserIdentifier to String.
- Change ChatMessage senderId type from CommunicationUserIdentifier to String.
- Change ChatMessageContent initiator type from CommunicationUserIdentifier to String.
- Change ChangeMessageReadReceipt senderId type from CommunicationUserIdentifier to String.
- Support for three more types of chat message content
- Support adding user agent http header in chat client
- New classes
- CommunicationError
- CommunicationErrorResponse
- CommunicationErrorResponseException
- Chat client is split into chatClient and chatThreadClient
- Add participants API changed with a /:add at the end
- Remove priority in message
- Change request and response types to more specific types
- listChatParticipantsPages takes two more parameters: maxPageSize and skip
- listChatReadReceiptsPages takes two more parameters: maxPageSize and skip
- Rename retrieveNextThreadPages to listChatThreadsNext
- Rename retrieveNextThreadPages to listChatThreadsNext
- Rename retrieveNextMessagePages to listChatMessagesNext
- Rename retrieveNextParticipantsPages to listChatParticipantsNext
- Rename retrieveNextReceiptsPages to listChatReadReceiptsNext
- Support for Rich Text Chat message content
- New classes
- ChatMessageContent
- ChatMessageType
- AddChatParticipantsErrors
- AddChatParticipantsResult
- ChatMessageType
- ChatMessage properties are now all required
- ChatMessage type is no longer a String type but an extendable Enum type, ChatMessageType
- ChatMessage content is no longer a String type but an object of ChatMessageContent
- All OffsetDateTime properties are now in RFC3339 format instead of ISO8601 format
- Return messageId instead of SendChatMessageResult
- Rename ReadReceipt to ChatMessageReadReceipt
- Rename updateChatThread to updateTopic
- Rename UpdateChatThreadRequest to UpdateTopicRequest
- Rename member and threadMember to participant
This is the initial release of Azure Communication Services for chat. For more information, please see the README and documentation.
This is a Public Preview version, so breaking changes are possible in subsequent releases as we improve the product. To provide feedback, please submit an issue in our Azure SDK for Java GitHub repo.