Releases: Rainbow-CPaaS/Rainbow-Node-SDK
Releases · Rainbow-CPaaS/Rainbow-Node-SDK
Rainbow Node SDK ChangeLog : 2.25 - News : 2.25.0 - 2023-09-13
Rainbow Node SDK ChangeLog : 2.25 - News
[2.25.0] - 2023-09-11
Removed
- None
Fixed
- Fix
AdminService::sendCustomerCareReport
to send 'ccareclientlogs' header touploadFileToStorage
method and to use the initiateLogsContext instead of completeLogsContext - Downgrade to mime lib 1.6.0 version.
Added
- Add option
options.im.autoLoadConversationHistory
to activate the retrieve of conversation's messages from the server. The default value is false. - Add
customDatas
parameter a JSON object with custom datas merged to the payload send to server for theChannelService::publishMessageToChannel
. (and createItem also). And also take these custom data into account is the events received.
Changed
- Update sendCustomerCareReport to send "feedback" as default type.
### SDK for Node.JS 2.21.0-lts.0 - LTS Version - April 2023
3-Release SDK Breaking Changes
- Warning: The LTS active version of Node.js migrated to version 14.x. This version of SDK Node.js is only compliant with this LTS version up to 14.x.
Consequently, you need to update your Node.js version to 14.x in order to use this release of the SDK Node.js.
API Breaking Changes
- Remove
PresenceService::enableCalendar
andPresenceService::disableCalendar
because the API is not available on server side anymore.
API Changes
- Update
ConversationsService::sendConversationByEmail
with parameters to send it to custom email, and set the language. - Update
ConversationsService::ackAllMessages
with parametermaskRead
if true Im won't be shown as read on peer conversation side. - Update the
ConversationsService::getContactsMessagesFromConversationId
method to retrieve history from server if not yet loaded. - Update
FavoritesService::fetchAllFavorites
with peerId parameter. - Update
InvitationsService::sendInvitationsByBulk
API with lang and comment parameters. - Update
InvitationsService::reSendInvitation
API with customMessage parameters. - Update to set useMessageEditionAndDeletionV2 to true by default.
- Fix
RESTService::renameTagForAllAssignedDirectoryEntries
parameters. - Fix
searchUserByPhonenumber
parameter type. - Fix
BubblesService::snapshotConference
return. - Update the
BubblesService::getBubbleById
with few parameters. - Update the
BubblesService::getBubbleByJid
with few parameters.
Others Changes
- Fix startup when use startWSOnly() : to force set useRestAtStartup=false, and to use it for the load of getRosters.
- Add
AdminService::getRainbowSupportBotService
AdminService::getABotServiceData
AdminService::getAllBotServices
to retrieve informations of bot services. - Fix
AdminService::retrieveRainbowEntriesList
- Add
AdminService::createCompanyFromDefault
This API API allows to create a company for a user belonging to the 'Default' company is able to create his own company. - Add
AdminService::getAllCompaniesVisibleByUser
This API allows users to get all companies. - Add
AdminService::getCompanyAdministrators
This API allows users to list users being administrator of a company. - Fix
BubblesService::disconnectParticipantFromConference
- Add methods about Contacts Sources in ContactsService.
- Add methods about Contacts API from Enduser portal in ContactsService.
- Add
ConversationsService::getTheNumberOfHitsOfASubstringInAllUsersconversations
This API can be used to search a text substring in all conversations for a given user from recent to old messages. - Update low layer
RESTService::getServerConversations
method's parameters. - Add
ConversationsService::updateConversationBookmark
API can be used to set or replace a bookmarked message in a conversation. - Add
ConversationsService::loadConversationHistory
API to retrieve the remote history of a specific conversation. - Fix
BubblesService::getBubbles
when users property is empty in bubble. - Add
ConversationsService::showAllMatchingMessagesForAPeer
API. It can be used to return all matching messages for one specific peer. - Fix
AdminService::retrieveLdapConnectorAllConfigTemplates
(the last "s" was missing in doc). - Add
ConversationsService::deleteConversationBookmark
API. It can be used to set or replace a bookmarked message in a conversation. - Add
AdminService::getListOfCountries
API. It allows to retrieve the list of countries supported by Rainbow Server. - Add
BubblesSerice::disableDialInForARoom
This API allows to disable dial in for a room. - Add
BubblesSerice::enableDialInForARoom
This API allows to enable dial in for a room. - Add
BubblesSerice::resetDialInCodeForARoom
This API allows to reset dial in code for a room. - Add
BubblesSerice::getDialInPhoneNumbersList
API that allows to retrieve the list of phone numbers to join conference by Dial In. - Add
FavoritesService::checkIsPeerSettedAsFavorite
API that can be used to check if a given peerId is in user's favorites. - Add
FavoritesService::getFavoriteById
API that can be used to retrieve a specific user's favorite by Id. - Add
FavoritesService::getAllUserFavoriteList
API that can be used to retrieve the list of user's favorites. - Add
FavoritesService::moveFavoriteToPosition
API that can be used to update a favorite's position in favorite list. - Add
GroupsService::updateGroupComment
to Update the comment of a group. - Add
ImsService::retrieveXMPPMessagesByListOfMessageIds
This API allows user to retrieve it's ims by list of message Ids, peer and peer type. - Add
InvitationsService::deleteAUserInvitation
API can be used to delete an invitation sent to/received from another Rainbow user. - Add deleted and modified property in messages retrieved with history.
- Fix attention when user's jid_im is in mention array of an history message.
- Fix completion of Conversation.messages array with history's messages.
- Add
AdminService::acceptJoinCompanyInvitation
API. It allows to accept a join company invitation received by the user (invitation sent by admin ). - Add
AdminService::declineJoinCompanyInvitation
API. It allows to decline a join company invitation received by the user (invitation sent by admin ). - Add
AdminService::getJoinCompanyInvitation
API. It allows to get a join company invitation received by the user using its invitationId (invitation sent by admin ). - Add
AdminService::getAllJoinCompanyInvitations
API. It allows to list all join company invitations received by the user (invitation sent by admin ). - Update
AdminService::createUserInCompany
to use low layer updated. - Add
AdminService::createUser
to Create a new user in providen company, else in Rainbow default companie. - Add event
rainbow_onjoincompanyinvitereceived
fired in case a of rainbow join company invite event. - Add
AdminService::cancelJoinCompanyRequest
This API can be used by logged in user to cancel a request to join a company he sent. - Add
AdminService::getJoinCompanyRequest
This API allows to get a join company request sent by the user. - Add
AdminService::getAllJoinCompanyRequests
This API allows to list all join company requests sent by the user. - Add
AdminService::resendJoinCompanyRequest
This API can be used by logged in user to re-send a request to join a company. - Add
AdminService::requestToJoinCompany
This API allows logged in user to send a request to join a company. - Add event
rainbow_onjoincompanyrequestreceived
fired in case a of rainbow join company request event. - Add
AdminService::createAJoinCompanyLink
This API can be used by company admin users to create a join company link for his company. - Add
AdminService::deleteAJoinCompanyLink
This API can be used by companyadmin
users to delete a join company link by id. - Add
AdminService::getAJoinCompanyLink
This API can be used by company admin users to get a join company link by id. - Add
AdminService::getAllJoinCompanyLinks
This API can be used by company admin users to list existing join company links for his company. - Add
AdminService::updateAJoinCompanyLink
This API can be used by company admin users to update a join company link for his company. - Fix to send "close" stanza back to server when a "close" is received. It allows the reconnection without the "Replaced by new connection" error.
- Fix
evt_internal_signinrequired
callback to restart the SDK before the signin. - Fix
rainbow_xmppreconnected
to stop the SDK before switching to FAILED state. - Add
PresenceService::setApplyMsTeamsPresenceSettings
This api allows to activate the exchange of presence of the connected user between rainbow and MS Teams on UI side. - Add treatment of presence received from ms-teams. Note that only "online" and "do not disturb" teams presences are relayed by rainbow.
- Add API MSTeams presence in
PresenceService
. - Add
rainbow_onbubblecontactinvitationreceived
event fired when an invitation to join a bubble is received for a contact. - Add use
applyMsTeamsPresence
in calculated presence. - Fix treatment of XMPP error with conditions :
policy-violation
,resource-constraint
. - Fix
BubblesService::startRecording
. - Fix xmpp stanza for deleted or modified messages.
- Add
AdminService::getASystemPhoneNumber
AdminService::getAllSystemPhoneNumbers
AdminService::updateASystemPhoneNumber
API to get/update phones numbers for a given system (pbx). - Fix
alternativeContent
in message forsendCorrectedChatMessage
in bubble. - Add
BubblesService::deleteAllMessagesInBubble
API to delete all messages in a Bubble for everybody or hide it definitively for a specific contact. Please be carefull with it. - Add methods to retrieve/update phone number in systems :
AdminService::getASystemPhoneNumber
,AdminService::getAllSystemPhoneNumbers
,AdminService::updateASystemPhoneNumber
. - Add methods to manage
Systems
in RainbowAdminService::createSystem
,AdminService::deleteSystem
,AdminService::getSystemConnectionState
,AdminService::getSystemDataByPbxId
,AdminService::getSystemData
,AdminService::getAllSystems
,AdminService::getListOfCountriesAllowedForSystems
,AdminService::updateSystem
. - Add
pcg2
presence (Rainbow HUB - Sipwize) - Add
RBVoiceEventHandler
to manage Rainbow Voice Events received from server. - Add
rainbow_onrbvoicerawevent
event fired in case a of rainbow voice event. - Add services parameter of
BubblesService::startConferenceOrWebinarInARoom
Requested service types. - Fix of events of modified/deleted messages.
- Add
rainbow_onbubbleconferencedelegatereceived
event fired when an event conference delegate in a bubble is received. - Add `BubblesS...
### SDK for Node.JS 2.9.0 - STS Version - LTS BETA - March 2022
3-Release SDK Breaking Changes
- Warning: The LTS active version of Node.js migrated to version 14.x. This version of SDK Node.js is only compliant with this LTS version up to 14.x.
Consequently, you need to update your Node.js version to 14.x in order to use this release of the SDK Node.js.
API Breaking Changes
- None
API Changes
- Rename
InvitationsService::sendInvitationsParBulk
toInvitationsService::sendInvitationsByBulk
Others Changes
- Add
ImsService::sendMessageToJidAcknowledged
method to Send an Acknowledged reply to an urgent message (one to one, or bubble) - Add
ImsService::sendMessageToJidIgnored
method to Send an Ignored reply to an urgent message (one to one, or bubble) - Add
ContactsService::searchInAlldirectories
This API allows to search for resources matching given keywords. - Add
ContactsService::searchInPhonebook
This API allows to search for resources matching given keywords.The search is done on name and phone number. - Add
ContactsService::searchUserByPhonenumber
This API allows to search user being associated to the requested number. - Add
ContactsService::searchUsers
This API allows to search users. - Add
AdminService::deleteLdapConnectorConfig
This API can be used to delete a ldap connector config. - Add
ContactsService::createPersonalDirectoryEntry
This API allows connected user to Create a personal directory entry. - Add
ContactsService::getListPersonalDirectoryEntriesData
This API allows connected users to get an entry of his personal directory. - Add
ContactsService::updatePersonalDirectoryEntry
This API allows the connected user to update an entry of his personnal directory. - Add
ContactsService::deletePersonalDirectoryEntry
This API allows connected user to delete an entry from his personal directory. - Fix logs when a restart of the SDK is done.
- Fix default typescript export.
- Fix documentation of
InvitationsService::sendInvitationsByBulk
andInvitationsService::sendInvitationByEmail
- Add
InvitationsService::sendInvitationByCriteria
This API allows logged in user to invite another user by criteria. - Add
InvitationsService::searchInvitationsReceivedFromServer
This API is to retrieve the invites received from others Rainbow users from server. - Add
InvitationsService::searchInvitationsSentFromServer
This API is to retrieve the invites sent to others Rainbow users from server. - Add
ContactsService::getCompanyInfos
This API allows user to get a company data. - Add an automatic start of monitoring on server when the company of the connected user has the
isMonitorable
property setted to true.
### SDK for Node.JS 2.8.0 - STS Version - LTS BETA - january 2022
3-Release SDK Breaking Changes
- Warning: The LTS active version of Node.js migrated to version 14.x. This version of SDK Node.js is only compliant with this LTS version up to 14.x.
Consequently, you need to update your Node.js version to 14.x in order to use this release of the SDK Node.js.
API Breaking Changes
- None
API Changes
- None
Others Changes
- Fix documentation about line feed in HTML.
- Replace
sendInitialBubblePresence
withsendInitialBubblePresenceSync
method to take in to account the event received from server about the presence in the bubble. - Fix missing mime.lookup with mime lib version > 1.5.0 .
- Fix delete / leave bubbles methods in BubblesService when the bubble has the property isActive egal to false.
- Add a
enablesendurgentpushmessages
property in the options provided to the initialisation of the SDK. This property permit to add tag to allows the server sending this messge in push with a small ttl (meaning urgent for apple/google backend) and retry sending it 10 times to increase probability that it is received by mobile device. - Add generation of search index in Jenkinsfile-sts.groovy file.
- Add
removeMacEOL
job in Jenkinsfile-sts.groovy file to remove from generated jsdoc the Mac (\r) end of line character which forbid the use of markdown table in comments. - Add
generatemermaid
job in Jenkinsfile-sts.groovy file to generate mermaid diagram from mmd files (to be used in SDK documentation). - Fix
Conversation::getlastEditableMsg()
method to return the editable only from sent messages. - Complete and set public the
BubblesService::askConferenceSnapshot
method to returns global information about conference.
### SDK for Node.JS 2.5.0 - STS Version - October 2021
3-Release SDK Breaking Changes
- Warning: Starting 2019, the LTS active version of Node.js migrated to version 12.x. This version of SDK Node.js is only compliant with this LTS version up to 10.x.
Consequently, you need to update your Node.js version to 10.x in order to use this release of the SDK Node.js.
API Breaking Changes
- None
API Changes
- Update
BubblesService::retrieveAllBubblesByTags
withformat
andnbUsersToKeep
parameters to define the retrieve more or less room details in response.
Others Changes
- Fix import of strip-ansi which is now a node module and not a commonjs anymore.
- Fix
BubblesService::retrieveAllBubblesByTags
when multiple tags are passed in parameter. - Add Management of "Client Version" :
AdminService::createAClientVersion
AdminService::deleteAClientVersion
AdminService::getAClientVersionData
AdminService::getAllClientsVersions
AdminService::updateAClientVersion
. These api are used to manage the minimal required version for a given client application (by AppID). - Add methods in RESTService to deal with Rainbow Voice system (not yet available on API).
- Add property in options passed to SDK : {boolean} options.im.copyMessage to manage if the Messages hint should not be copied to others resources (https://xmpp.org/extensions/xep-0334.html#no-copy) . The default value is true.
- Add property in options passed to SDK : {boolean} options.im.enableCarbon to manage carbon copy of message (https://xmpp.org/extensions/xep-0280.html). The default value is true.
- Add "x-rainbow-client" "x-rainbow-client-version" properties in Headers of every requests to make stats.
- Fix
AdminService::getCSVTemplate
method.
### SDK for Node.JS 2.4.0 - STS Version - September 2021
3-Release SDK Breaking Changes
- Warning: Starting 2019, the LTS active version of Node.js migrated to version 12.x. This version of SDK Node.js is only compliant with this LTS version up to 10.x.
Consequently, you need to update your Node.js version to 10.x in order to use this release of the SDK Node.js.
API Breaking Changes
- Fix typo in methods
AdminService::retrieveAllSubscribtionsOfCompanyById
toAdminService::retrieveAllSubscriptionsOfCompanyById
andAdminService::getSubscribtionsOfCompanyByOfferId
toAdminService::getSubscriptionsOfCompanyByOfferId
API Changes
- Update
ContactsService::getContactByLoginEmail
method with a new parameterforceServerSearch
boolean to force the search of the _contacts informations on the server. - Update
ImsService::sendMessageToConversation
with a new 'content' parameter to update message with a typed message.
Others Changes
- Update typescript lib
es2017
toes2019
- Fix
ConversationsService::_onReceipt
callback to not failed even if the conversation is empty. - Fix pendingMessages treatment between Array and Object methods mixed in ConversationsService.
- Add method API
AlertsService::getAlertFeedbackSentForANotificationMessage
. This API allows to list the feedback sent by the devices for a given notification message (identified by its notification history's id). - Add method API
AlertsService::getAlertFeedbackSentForAnAlert
. This API allows to list the feedback sent by the devices for a given notification. - Add method API
AlertsService::getAlertStatsFeedbackSentForANotificationMessage
. This API can be used to list all distinct feedback data submitted by the devices for a given notification message (identified by its notification history's id), with the number of devices for each distinct submitted feedback data. - Add method API
AlertsService::getReportComplete
. Allows to get the fileDescriptor storing the detailed CSV report of the notification. - Add method API
AlertsService::getAlertFeedbackSentForANotificationMessage
. - Add support of oauth tokens provided by application at
start
of the SDK and also the api to set the renewed tokensetRenewedToken
. There is a sample using the oauth and sdk at https://github.com/Rainbow-CPaaS/passport-rainbow-oauth2-with-rainbow-node-sdk-example - Fix
alternativeContent
inMessage
object constructor. - Fix
emails
property inContact
object. - Add in
Contact
object properties isActive, accountType, systemId, isInitialized, initializationDate, createdBySelfRegister, createdByAppId, firstLoginDate, lastLoginDate, loggedSince, failedLoginAttempts, lastLoginFailureDate, lastExpiredTokenRenewedDate, lastPasswordUpdateDate, timeToLive, timeToLiveDate, terminatedDate, fileSharingCustomisation, userTitleNameCustomisation, softphoneOnlyCustomisation, useRoomCustomisation, phoneMeetingCustomisation, useChannelCustomisation, useScreenSharingCustomisation, useWebRTCAudioCustomisation, useWebRTCVideoCustomisation, instantMessagesCustomisation, userProfileCustomisation, fileStorageCustomisation, overridePresenceCustomisation, changeTelephonyCustomisation, changeSettingsCustomisation, recordingConversationCustomisation, useGifCustomisation, useDialOutCustomisation, fileCopyCustomisation, fileTransferCustomisation, forbidFileOwnerChangeCustomisation, readReceiptsCustomisation, useSpeakingTimeStatistics, selectedAppCustomisationTemplate, alertNotificationReception, selectedDeviceFirmware, visibility, jid_password, creationDate, profiles, activationDate, lastOfflineMailReceivedDate, state, authenticationType, department, isADSearchAvailable, isTv, calendars, openInvites. - Add support of
Oauth token
provided atstart
of the SDK. In this use case application MUST implement the refresh token and send it back to SDK withsetRenewedToken
API, while following event are raised :
* Events rainbow_onusertokenrenewfailed : fired when an oauth token is expired.
* Events rainbow_onusertokenwillexpire : fired when the duration of the current user token reaches half of the maximum time. - Remove the "Authorization" property from http headers when openning the XMPP socket.
- Add
ContactsService::getMyInformations
API to Get informations about the connected user. - Update stop of logger to stop winston library.
- Fix the XMPPService (handleXMPPConnection) when ERROR_EVENT happenned to stop the ping timer only when the error is a fatal one.
- Change to keep DEBUG with "logs.system-dev.*" in STS delivery. Do not forget that when properties of this section are setted then personnal datas are displayed in logs, so it is not RGPD compatible.is Do not activate it in production systems.
### SDK for Node.JS 2.0.0 - April 2021
3-Release SDK Breaking Changes
- Warning: Starting 2019, the LTS active version of Node.js migrated to version 12.x. This version of SDK Node.js is only compliant with this LTS version up to 10.x.
Consequently, you need to update your Node.js version to 10.x in order to use this release of the SDK Node.js.
API Breaking Changes
- none
API Changes
- none
Others Changes
- First STS Verstion which is the Beta of the first LTS Version.
### SDK for Node.JS 1.82 - January 2021
3-Release SDK Breaking Changes
- Warning: Starting 2019, the LTS active version of Node.js migrated to version 12.x. This version of SDK Node.js is only compliant with this LTS version up to 10.x.
Consequently, you need to update your Node.js version to 10.x in order to use this release of the SDK Node.js.
API Breaking Changes
- none
API Changes
- none
Others Changes
- Update the imported lib.
- Add
generateFoss
grunt task to update the FOSS in documentation during delivery process. - Update the grunt task "debug" to be able to deliver a version with debug logs.
- Split the grunt build in two steps : Step 1 :
grunt
: to compil the sources, Step 2 :grunt delivery
: To pepare the sources + doc for package - Add stack traces when using winston logger.
- Update doc generation for Alert, AlertDevice, AlertFilter, AlertMessage, AlertTemplate.
- Add "Alert Custom" offer in AdminService::subscribeCompanyToAlertOffer and AdminService::unSubscribeCompanyToAlertOffer .
- Fix AlertsService::createOrUpdateAlert API for name and description properties.
- Use of
AlertDevice
type in the result ofAlertsService::createOrUpdateDevice, AlertsService::deleteDevice, AlertsService::getDevice, AlertsService::getDevices
to represent an Alert Device. - Use of
AlertDeviceData
type inAlertsService::getDevices
result to represent a list of Alert Devices.
### SDK for Node.JS 1.80 - December 2020
3-Release SDK Breaking Changes
- Warning: Starting 2019, the LTS active version of Node.js migrated to version 12.x. This version of SDK Node.js is only compliant with this LTS version up to 10.x.
Consequently, you need to update your Node.js version to 10.x in order to use this release of the SDK Node.js.
API Breaking Changes
- none
API Changes
- Update messageMaxLength option default value to 16384.
Others Changes
- Fix in presenceEventHandler the offline presence of a contact in the roster.
- Add HttpManager class to manage a promised queue of request to the server. It allow to have a queue of request and then avoid to much concurrents one.
- Treat the HttpService methods getUrl, post, head, put, putBuffer, delete with the HttpManager queue.
- Add property "concurrentRequests" in options.rainbow section parameter of the SDK to define the number of allowed concurrent request running in the HttpManager queue.
- Change the max value of nbHttpAdded to Number.MAX_SAFE_INTEGER
- Update getConnectionStatus() method to return the status of the queue of HTTP requests :
nbHttpAdded
: number, the number of HTTP requests (any verb GET, HEAD, POST, ...) added in the HttpManager queue. Note that it is reset to zero when it reaches Number.MAX_SAFE_INTEGER value.httpQueueSize
: number, the number of requests stored in the Queue. Note that when a request is sent to server, it is already removed from the queue.nbRunningReq
: number, the number of requests which has been poped from the queue and the SDK did not yet received an answer for it.maxSimultaneousRequests
: number, the number of request which can be launch at a same time.- Add SDK parameter in log section :
enableEventsLogs
: false, Activate the logs to be raised from the events service (withonLog
listener). - Fix XMPP resource name to have the string "node_" at the beginning of it.
- Fix presence events. The presence event are all raised even if the aggregated contact.presence do not change, and only the resources property (with detailed presence) is updated.
**3-Release SDK Breaking Changes**
- Warning: Starting 2019, the LTS active version of Node.js migrated to version 12.x. This version of SDK Node.js is only compliant with this LTS version up to 10.x.
Consequently, you need to update your Node.js version to 10.x in order to use this release of the SDK Node.js.
API Breaking Changes
- none
API Changes
- Fix FileStorageService::downloadFile for big files. So the returned Object.buffer is modified to an Array of data.
Others Changes
- Fix in presenceEventHandler the offline presence of a contact in the roster.
- Add FileServerService::getBlobFromUrlWithOptimizationObserver method to retrieve a file and store it in a path. An Observer is returned to follow the download progress.
- Add FileStorageService::downloadFileInPath method to retrieve a file and store it in a path. An Observer is returned to follow the download progress.
- Fix FileStorageService::downloadFile for big files. So the returned Object.buffer is modified to an Array of data.
- Update the AlertsService documentation
- Add autoLoadConversations option to activate the retrieve of conversations from the server. The default value is true.
- Add autoLoadContacts option to activate the retrieve of contacts from roster from the server. The default value is true.
- Update the XMPPService::markMessageAsReceived with a parameter conversationType to define the type of message marked as read.