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::sendCustomerCareReportto send 'ccareclientlogs' header touploadFileToStoragemethod and to use the initiateLogsContext instead of completeLogsContext - Downgrade to mime lib 1.6.0 version.
Added
- Add option
options.im.autoLoadConversationHistoryto activate the retrieve of conversation's messages from the server. The default value is false. - Add
customDatasparameter 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::enableCalendarandPresenceService::disableCalendarbecause the API is not available on server side anymore.
API Changes
- Update
ConversationsService::sendConversationByEmailwith parameters to send it to custom email, and set the language. - Update
ConversationsService::ackAllMessageswith parametermaskReadif true Im won't be shown as read on peer conversation side. - Update the
ConversationsService::getContactsMessagesFromConversationIdmethod to retrieve history from server if not yet loaded. - Update
FavoritesService::fetchAllFavoriteswith peerId parameter. - Update
InvitationsService::sendInvitationsByBulkAPI with lang and comment parameters. - Update
InvitationsService::reSendInvitationAPI with customMessage parameters. - Update to set useMessageEditionAndDeletionV2 to true by default.
- Fix
RESTService::renameTagForAllAssignedDirectoryEntriesparameters. - Fix
searchUserByPhonenumberparameter type. - Fix
BubblesService::snapshotConferencereturn. - Update the
BubblesService::getBubbleByIdwith few parameters. - Update the
BubblesService::getBubbleByJidwith 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::getRainbowSupportBotServiceAdminService::getABotServiceDataAdminService::getAllBotServicesto retrieve informations of bot services. - Fix
AdminService::retrieveRainbowEntriesList - Add
AdminService::createCompanyFromDefaultThis API API allows to create a company for a user belonging to the 'Default' company is able to create his own company. - Add
AdminService::getAllCompaniesVisibleByUserThis API allows users to get all companies. - Add
AdminService::getCompanyAdministratorsThis 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::getTheNumberOfHitsOfASubstringInAllUsersconversationsThis 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::getServerConversationsmethod's parameters. - Add
ConversationsService::updateConversationBookmarkAPI can be used to set or replace a bookmarked message in a conversation. - Add
ConversationsService::loadConversationHistoryAPI to retrieve the remote history of a specific conversation. - Fix
BubblesService::getBubbleswhen users property is empty in bubble. - Add
ConversationsService::showAllMatchingMessagesForAPeerAPI. 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::deleteConversationBookmarkAPI. It can be used to set or replace a bookmarked message in a conversation. - Add
AdminService::getListOfCountriesAPI. It allows to retrieve the list of countries supported by Rainbow Server. - Add
BubblesSerice::disableDialInForARoomThis API allows to disable dial in for a room. - Add
BubblesSerice::enableDialInForARoomThis API allows to enable dial in for a room. - Add
BubblesSerice::resetDialInCodeForARoomThis API allows to reset dial in code for a room. - Add
BubblesSerice::getDialInPhoneNumbersListAPI that allows to retrieve the list of phone numbers to join conference by Dial In. - Add
FavoritesService::checkIsPeerSettedAsFavoriteAPI that can be used to check if a given peerId is in user's favorites. - Add
FavoritesService::getFavoriteByIdAPI that can be used to retrieve a specific user's favorite by Id. - Add
FavoritesService::getAllUserFavoriteListAPI that can be used to retrieve the list of user's favorites. - Add
FavoritesService::moveFavoriteToPositionAPI that can be used to update a favorite's position in favorite list. - Add
GroupsService::updateGroupCommentto Update the comment of a group. - Add
ImsService::retrieveXMPPMessagesByListOfMessageIdsThis API allows user to retrieve it's ims by list of message Ids, peer and peer type. - Add
InvitationsService::deleteAUserInvitationAPI 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::acceptJoinCompanyInvitationAPI. It allows to accept a join company invitation received by the user (invitation sent by admin ). - Add
AdminService::declineJoinCompanyInvitationAPI. It allows to decline a join company invitation received by the user (invitation sent by admin ). - Add
AdminService::getJoinCompanyInvitationAPI. It allows to get a join company invitation received by the user using its invitationId (invitation sent by admin ). - Add
AdminService::getAllJoinCompanyInvitationsAPI. It allows to list all join company invitations received by the user (invitation sent by admin ). - Update
AdminService::createUserInCompanyto use low layer updated. - Add
AdminService::createUserto Create a new user in providen company, else in Rainbow default companie. - Add event
rainbow_onjoincompanyinvitereceivedfired in case a of rainbow join company invite event. - Add
AdminService::cancelJoinCompanyRequestThis API can be used by logged in user to cancel a request to join a company he sent. - Add
AdminService::getJoinCompanyRequestThis API allows to get a join company request sent by the user. - Add
AdminService::getAllJoinCompanyRequestsThis API allows to list all join company requests sent by the user. - Add
AdminService::resendJoinCompanyRequestThis API can be used by logged in user to re-send a request to join a company. - Add
AdminService::requestToJoinCompanyThis API allows logged in user to send a request to join a company. - Add event
rainbow_onjoincompanyrequestreceivedfired in case a of rainbow join company request event. - Add
AdminService::createAJoinCompanyLinkThis API can be used by company admin users to create a join company link for his company. - Add
AdminService::deleteAJoinCompanyLinkThis API can be used by companyadminusers to delete a join company link by id. - Add
AdminService::getAJoinCompanyLinkThis API can be used by company admin users to get a join company link by id. - Add
AdminService::getAllJoinCompanyLinksThis API can be used by company admin users to list existing join company links for his company. - Add
AdminService::updateAJoinCompanyLinkThis 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_signinrequiredcallback to restart the SDK before the signin. - Fix
rainbow_xmppreconnectedto stop the SDK before switching to FAILED state. - Add
PresenceService::setApplyMsTeamsPresenceSettingsThis 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_onbubblecontactinvitationreceivedevent fired when an invitation to join a bubble is received for a contact. - Add use
applyMsTeamsPresencein 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::getASystemPhoneNumberAdminService::getAllSystemPhoneNumbersAdminService::updateASystemPhoneNumberAPI to get/update phones numbers for a given system (pbx). - Fix
alternativeContentin message forsendCorrectedChatMessagein bubble. - Add
BubblesService::deleteAllMessagesInBubbleAPI 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
Systemsin RainbowAdminService::createSystem,AdminService::deleteSystem,AdminService::getSystemConnectionState,AdminService::getSystemDataByPbxId,AdminService::getSystemData,AdminService::getAllSystems,AdminService::getListOfCountriesAllowedForSystems,AdminService::updateSystem. - Add
pcg2presence (Rainbow HUB - Sipwize) - Add
RBVoiceEventHandlerto manage Rainbow Voice Events received from server. - Add
rainbow_onrbvoiceraweventevent fired in case a of rainbow voice event. - Add services parameter of
BubblesService::startConferenceOrWebinarInARoomRequested service types. - Fix of events of modified/deleted messages.
- Add
rainbow_onbubbleconferencedelegatereceivedevent 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::sendInvitationsParBulktoInvitationsService::sendInvitationsByBulk
Others Changes
- Add
ImsService::sendMessageToJidAcknowledgedmethod to Send an Acknowledged reply to an urgent message (one to one, or bubble) - Add
ImsService::sendMessageToJidIgnoredmethod to Send an Ignored reply to an urgent message (one to one, or bubble) - Add
ContactsService::searchInAlldirectoriesThis API allows to search for resources matching given keywords. - Add
ContactsService::searchInPhonebookThis API allows to search for resources matching given keywords.The search is done on name and phone number. - Add
ContactsService::searchUserByPhonenumberThis API allows to search user being associated to the requested number. - Add
ContactsService::searchUsersThis API allows to search users. - Add
AdminService::deleteLdapConnectorConfigThis API can be used to delete a ldap connector config. - Add
ContactsService::createPersonalDirectoryEntryThis API allows connected user to Create a personal directory entry. - Add
ContactsService::getListPersonalDirectoryEntriesDataThis API allows connected users to get an entry of his personal directory. - Add
ContactsService::updatePersonalDirectoryEntryThis API allows the connected user to update an entry of his personnal directory. - Add
ContactsService::deletePersonalDirectoryEntryThis 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::sendInvitationsByBulkandInvitationsService::sendInvitationByEmail - Add
InvitationsService::sendInvitationByCriteriaThis API allows logged in user to invite another user by criteria. - Add
InvitationsService::searchInvitationsReceivedFromServerThis API is to retrieve the invites received from others Rainbow users from server. - Add
InvitationsService::searchInvitationsSentFromServerThis API is to retrieve the invites sent to others Rainbow users from server. - Add
ContactsService::getCompanyInfosThis 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
isMonitorableproperty 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
sendInitialBubblePresencewithsendInitialBubblePresenceSyncmethod 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
enablesendurgentpushmessagesproperty 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
removeMacEOLjob 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
generatemermaidjob 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::askConferenceSnapshotmethod 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::retrieveAllBubblesByTagswithformatandnbUsersToKeepparameters 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::retrieveAllBubblesByTagswhen multiple tags are passed in parameter. - Add Management of "Client Version" :
AdminService::createAClientVersionAdminService::deleteAClientVersionAdminService::getAClientVersionDataAdminService::getAllClientsVersionsAdminService::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::getCSVTemplatemethod.
### 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::retrieveAllSubscribtionsOfCompanyByIdtoAdminService::retrieveAllSubscriptionsOfCompanyByIdandAdminService::getSubscribtionsOfCompanyByOfferIdtoAdminService::getSubscriptionsOfCompanyByOfferId
API Changes
- Update
ContactsService::getContactByLoginEmailmethod with a new parameterforceServerSearchboolean to force the search of the _contacts informations on the server. - Update
ImsService::sendMessageToConversationwith a new 'content' parameter to update message with a typed message.
Others Changes
- Update typescript lib
es2017toes2019 - Fix
ConversationsService::_onReceiptcallback 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
startof 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
alternativeContentinMessageobject constructor. - Fix
emailsproperty inContactobject. - Add in
Contactobject 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 tokenprovided atstartof the SDK. In this use case application MUST implement the refresh token and send it back to SDK withsetRenewedTokenAPI, 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::getMyInformationsAPI 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
generateFossgrunt 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
AlertDevicetype in the result ofAlertsService::createOrUpdateDevice, AlertsService::deleteDevice, AlertsService::getDevice, AlertsService::getDevicesto represent an Alert Device. - Use of
AlertDeviceDatatype inAlertsService::getDevicesresult 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 (withonLoglistener). - 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.