Javascript SDK release notes
41.0.0
Released 2025-09-11
Features
allow starting a conferences without microphone and camera permission
allow to configure QSS heartbeat interval using local storage
Bug Fixes
chat: do not duplicate group chat object creation
chat: rewrite chat API implementation
datapipe: restore datapipe functionality including whiteboard
fix problem requesting media in Firefox and Safari
fix regression introduced while removing immutable.js
utils: add error handling and improve image scaling logic
40.0.0
Released 2025-01-31
Bug Fixes
chat: fix problems related to detecting unread messages
do not break if datapipe service is not available
fix problem in wapi reconnections
propagate event indicating a remote participant was put on hold
39.1.1
Released 2024-11-28
Bug Fixes
conferences: allow selection of audio input device before joining the conference
improve how package version is exposed
39.1.0
Released 2024-11-11
Features
allow creating a session providing the HostMetaDto
conferences: include a ConferenceEndReason when conference ends
Bug Fixes
fix session.getVersion() and log version during session object construction
wrapper: set ping interval to 15s
wrapper: terminate conference if connection with wrapper is lost
39.0.0
Released 2024-10-18
Features
conferences: add partial recording support
recordings: receive notifications when a new recording is available
38.0.0
Released 2024-10-11
Features
emit permissiondeniederror on join and remove leave conference
Bug Fixes
session: do not emit a disconnect event when a session update is not answered
solve lint errors
34.1.1 (2023-04-05)
use the right payload to send DTMF codes
34.1.0 (2023-03-29)
chat: filter malformed individual chats
support also the new avatarUrl property in presences
conference: improve feedback and features relating to muting audio
add a flag in local storage to allow disabling socket multiplexing
34.0.3 (2023-03-01)
inform app when wapi socket connection is trying to reconnect
34.0.2 (2023-02-02)
users: keep a cache of requested address resolutions
34.0.1 (2023-01-27)
conferences: fix problem creating invitation when using inviteMany method
34.0.0 (2023-01-18)
restore socket multiplexing for QSS
users: improve UserRepository
remove deprecated Conference event “localStreamAdded”
remove deprecated Conference event “localStreamRemoved”
remove deprecated Conference events “expelled” and “destroyed”
conferences: remove deprecated method ConferenceManager.getRoomByUri
users: obtain users only from Presence API
deprecated Conference events “expelled” and “destroyed were removed
deprecated Conference event “localStreamRemoved” was removed
deprecated Conference event “localStreamAdded” was removed
users: alias, emails and phone were removed from User objects
conferences: ConferenceManager.getRoomByUri method was removed. The same functionality can be achieved using getMeetingConference and getQuickConference methods
33.1.1 (2022-11-24)
conference-log: send the right id when marking missed calls as read
33.1.0 (2022-10-11)
add access to server side missed calls count
33.0.4 (2022-09-20)
remove outdated calls to groupmanager un/init
33.0.3 (2022-08-19)
increase timeout before returning an empty user
33.0.2 (2022-07-29)
throw error informing wrong password/time when trying to access meeting
33.0.1 (2022-07-06)
fix problem obtaining a user from address
33.0.0 (2022-05-23)
fallback active audio input device when active one disappears
LocalMediaHandler API has changed. Check API documentation for further details
32.0.0 (2022-05-19)
remove calls support
remove PresenceManager, ContactManager and UserManager
remove resolver dependency from ConferenceManager
groups: replace GroupManager with a brand new GroupRepository
PresenceManager, ContactManager and UserManager not longer exist. New Contacts and Presence API must be used instead.
calls support has been removed. Only Conference API using Janus is available now
ConferenceManager and Conference API has changed.
groups: API for accessing groups has changed. Old GroupManager was removed and replaced with the new GroupRepository. Check API documentation for more details.
31.1.5 (2022-05-19)
Revert “refactor(groups): replace GroupManager with a brand new GroupRepository”
Revert “refactor: remove resolver dependency from ConferenceManager”
Revert “refactor: remove calls support”
Revert “refactor: remove PresenceManager, ContactManager and UserManager”
Revert “chore: add missing size-limit dependencies”
Revert “refactor: move users-new to users and contacts-new to contacts”
31.1.4 (2022-05-19)
Invalid release
31.1.3 (2022-04-05)
users: avoid race conditions when updating two presence properties in different calls
31.1.2 (2022-04-01)
improve interoperability with electron apps for screen sharing
31.1.1 (2022-03-10)
remove outdated methods in ConferenceLog object
update to rxjs@7.5.4
rxjs version used was update to version 7
ConferenceLog deprecated methods have been removed
31.1.0 (2022-02-28)
update to reconnecting-websocket@4.4.0
users: add missing “/” in path for obtaining presences
users: catch errors in requests to user endpoint
remove support for Ericsson, OpenTok and Oracle stacks
add a new scaleImage utility function to generate avatars from an image
support for Ericsson, OpenTok and Oracle stacks was removed
31.0.0 (2022-02-11)
refactor: stop using resolver from UserRepository
refactor: User model has changed: * “mobilePhones” was renamed to “phone” and is just a string * gatewayUsername was removed
30.2.8 (2022-01-21)
add missing field to MeetingParticipant interface
30.2.7 (2022-01-14)
30.2.6 (2021-12-15)
update @quobis/socket.io-file-client@3.2.2
30.2.5 (2021-12-13)
screen-sharing: remove screen sharing activation timeout
30.2.4 (2021-11-24)
conference: notify speaker change events from the own participant
30.2.3 (2021-11-23)
chat: add missing types in Chat class
30.2.2 (2021-11-17)
contacts: check also for type when deleting or updating contacts
30.2.1 (2021-11-12)
users: resolve first requested user
30.2.0 (2021-10-15)
login: allow to get session to anonymous users without token
30.1.1 (2021-10-06)
contacts: set timeout to user contact resolution
groups: fix race condition resolving user groups participants
users: throw error when cannot resolver user address
30.1.0 (2021-09-01)
conference: add fromDetails in invite
user: allow to get user by address
30.0.0 (2021-08-13)
conferences: add type definitions for ConferenceLog
whiteboard: init whiteboard out session
whiteboard: When you receive incomingWhiteboard of session object. In whiteboard object that you receive now you need call init() method to initialize it
29.2.1 (2021-08-05)
ws: do not add QS operator if the query string object is empty
29.2.0 (2021-07-19)
contacts: add a new contact API
localmediahandler: add activeMediaDevices and forceUpdate
29.1.3 (2021-06-23)
chat: relocate resetUnreadMessageCount
revert to using official webrtc-adapter
contacts: add a new contact API
29.1.2 (2021-06-07)
allow using custom “goog” parameters in media constraints
29.1.1 (2021-05-13)
chat: use a custom stanza version based on the last working commit
29.1.0 (2021-05-10)
webrtc: add webrtc-adapter dependency
29.0.3 (2021-05-05)
chat: do not show nonexistent chat notification
chat: set displayed status to sent messages
29.0.2 (2021-04-23)
conference: add speakerChanged event documentation
29.0.1 (2021-04-09)
conference: do not add on hold music as participant
29.0.0 (2021-03-26)
conferences: fix error log
conferences: use mediatypes object instead of a plain string to advertise media
transfer: do not leave of uninitialized conference
fix a problem detecting the end of screen tracks
conference: expose conference speaker changed events
conferences: allow to call voice mail
permissions: implement permissions service api
voicemail: create voicemail service
add support for identifying streams containing a screen sharing stream
transfer: deleted canManage and getOwner methods of the public Conference class because the Conferences not have owner now
28.5.0 (2021-02-26)
typings: add some typings for supporting typescript strict mode
typings: change some variables from symbol to DataPipeStatus and DataPipeType
xmpp: chat’s RSM query has changed
restore export for SessionConfig
conferences: add support for feed description
28.4.3 (2021-02-01)
typings: add some typings for supporting typescript strict mode
28.4.2 (2021-01-15)
contacts: use addressBook favorite field for the contacts
28.4.1 (2021-01-15)
contacts: add missing property in type definition
28.4.0 (2020-12-18)
conference: fix wrong method name
contacts: use addressBook favorite field for the contacts
conference: adapt inviteMany to QSS changes
28.3.0 (2020-12-04)
media: fix problems when setting the active audio/video input devices
conference: add method to get if the conference is being recorded
media: set ideal screen sharing video framerate to 5 fps
28.2.2 (2020-12-04)
contacts: fix contact manager contact creation
webpack: change extension of entry file in webpack conf
28.2.1 (2020-11-23)
chat: check register/unregister response status
28.2.0 (2020-11-06)
chat: omit message sent events with chat state
conferences: disable screen sharing before put on hold
meetings: allow to get a password protected meeting
types: fix types exports
conference: add method to get if the conference is being recorded
conference: allow to make a multiple invitation
28.1.2 (2020-11-04)
contacts: fix new contact user resolution
conferences: disable screen sharing before put on hold
meetings: allow to get a password protected meeting
types: fix types exports
fileupload: add file upload status in the return of sendFile method
28.1.0 (2020-10-05)
adapt sippojs to new fileUpload errors
contacts: adapt addressbook contact to contact data
push: change activation & deactivation push notification endpoints
conferences: remove support for invitation requests
fileupload: add file upload status in the return of sendFile method
generate tags with refactor commits and README updates
meetings: enable meetings creation with password protection
meetings: enable qss join room with password
conferences: Invitation requests are now not available
28.1.1 (2020-10-23)
conferences: disable screen sharing before put on hold
28.0.0 (2020-09-25)
conferences: add the capacity of getting the conference object before agent answers
disconnect from room after leaving it
get first email on contact
conferences: make an HTTP request when a conference is put on hold
conferences: SupportService and its methods are now integrated in the Conference class
27.0.1 (2020-09-14)
media: keep audio muted when audio is muted and video disabled before joining conf
27.0.0 (2020-08-05)
chat: avoid trying to create xmpp sockets twice
session: fix problems in User type definitions and with missing exports
remove leaked event handler in XmppClient
meetings: add a new meetings implementation
meetings: enable meetings join
meetings: enable single meeting retrieval
quickconference: enable sippojs to join quick conferences
meetings: Meetings implementation was completely rewritten. Main changes are: * A meeting is now completely readonly id and phone properties can not be changed. * Meeting.destroy() was removed. You must use MeetingManager.remove(meeting: Meeting) instead. * Meeting.reinvite() was removed. Method didn’t work and now has been completely removed. * Meeting.toJSON() was removed. * Meeting is not an EventEmitter and the “delete” event was removed. When a meeting is deleted it will just be removed from the list. See MeetingManager.getMeetings$() * MeetingManager.message was not being used and was completely removed * “meeting-recovered” event was removed. Use the MeetingManager.getMeetings$() observable to know how to obtain changes in meetings list.
26.2.1 (2020-08-03)
session: allow to close session without xmpp connection
keep start/stop of xmpp connection as ChatManager responsibility’s
26.2.0 (2020-07-06)
enable multiplexing wrapper connections
26.1.0 (2020-07-03)
multiplexws: add support for multiplexed websockets
supportservice: allow to send a token when calling an agent
pass multiplexed websocket to wrapper stack
26.0.0 (2020-06-25)
chat: add missing exports
chats: return empty array if can’t get support chats
conference: add method to return conference join timestamp
conference: assign default value to attribute
contacts: allow to create new contacts without backend for device
contacts: remove sync of contacts from device
meeting: add interface for meeting manager and meeting
fix problems in ContactManager.getContactByAddress type definitions
support: fix problems in types when bundling in a distributable package
supportchat: pass parameters into body
supportchat: support chat transfers
restore ContextInfo type
chat: add support chat leave
chat: enable support chat recovery
contacts: add a new method to obtain a contact without searching in contact list
context: make invite context accessible in conferences
meeting-manger: add valid until to create and update meetings
supportservice: api for calling an skilled agent
contacts: removed the device contacts sync with the wac functionality and his caching in local storage
25.2.0 (2020-06-25)
chats: return empty array if can’t get support chats
conference: add method to return conference join timestamp
conference: assign default value to attribute
contacts: allow to create new contacts without backend for device
meeting: add interface for meeting manager and meeting
support: fix problems in types when bundling in a distributable package
supportchat: pass parameters into body
supportchat: support chat transfers
fix problems in ContactManager.getContactByAddress type definitions
restore ContextInfo type
chat: add support chat leave
chat: enable support chat recovery
contacts: add a new method to obtain a contact without searching in contact list
meeting-manger: add valid until to create and update meetings
25.1.0 (2020-05-18)
chat: add await to start xmpp client and return promise
chat: listen xmpp events just before client connection
chatservice: change room and join room config
localstorage: allow to remove user information from local storage
media: increase timer to request user media
supportservice: use random agent URI and e2e tests
typings: added missing typings
xmpp: send sessionToken instead of deviceId in chat pushes
chat: add 3 new methods in Chat returning observables
25.0.0 (2020-04-27)
chat: add await to start xmpp client and return promise
chat: add missing pendingMessages events
chat: avoid processing mam messages containing not implemented xeps
chat: check if object is defined before trying to access properties
chat: differentiate conference chats from normal group chats
chat: don’t modify firstUnreadMessage when sending messages in a group
chat: don’t send a disconnect message to xmpp server when suspending the session
chat: listen xmpp events just before client connection
chat: normalize participant name in getIndividualChat method
chat: normalize user address to lower case before using it as a jid
chat: only set a firstUnreadMessage when all is read after appending a new message
chat: postpone removing bookmark on muc end after deleting chat from list
chat: remove chats from list when a problem joining them occurs
chat: remove new chat notification for own messages in chat groups
chat: remove stanza client after session is suspended
chat: request no history when joining MUCs
chat: send displayed mark after sending a message
chat: stop duplicating group chats in ChatManager.sync() calls
chat: stop including local user as remote participant in groups when using two devices
chat: sync group chat messages after receiving an invite
chat: take into account latest invitation received when sorting groups without messages
chat: try to actively recover muc invitations received while offline
chat: use lowercase identifiers for group chats
conference: add class to export incoming conference invites
conference: do not allow to leave room without signaling session
conferences: complete types and add missing exports
conferences: fix problem in unattendedCallTransfer method argument
contactmanager: chat participants are lowercase
contacts: add missing default value for emails in Contact
contacts: fix problem preventing OwnPresence to work
contacts: remove spaces when importing phone contacts
e2e: fix some e2e test
file-sharing: don’t resolve until ended when aborting a fileupload
janus: update with pr comments
media: increase timer to request user media
presence: remove unnecessary workaround in own presence
semver: bring release numbering back to order
session: added deviceId from sessionEstablisher response when it is not sent
session: close other connections when one of them is unexpectedly closed
session: fix interval time
session: move status change after user init
session: return an empty Set from getCapabilities if session has not been initialized
sipows: iphone support. fix deprecated methods
sipows: remove duplicate local stream after resume call
sipows: remove duplicate remote stream after resume call
sipows: use addStream if exists. if it doesn’t exist, fallback to getTrack
avoid leaking information from package.json in builds
types: add missing types for Contact
typings: add missing types
avoid error disconnecting when a problem occurs during login after wapi is connected
only .json() login responses if 20X OK/Created, throw otherwise
prevent wacProxy.stop to be called twice
remove misleading error message when a problem occurred during first login step
supress “possible EventEmitter memory leak detected” warning
types: improve types for Presence interface
typings: add type definition for recover session
users: consider user address as case insensitive when resolving users
wacrequest: check if body is an array of an object
wacstack: maintain restbase wapi error format
stacks: simplify code wrapping requests to getUserMedia and getDisplayMedia
chat: add context in create supportChat petition
conference: add missing conference type
conferences: add a new ConferenceStatus: DESTROYED
conferences: add an observable to keep track of conference status
conferences: allow optional agent info in an invite
contact: get the first contact address for a contact as phone
contacts: add a new field in a contact to set and retrieve a default email
contacts: add a new field in a contact to set and retrieve a default phone
contacts: add a new method to create fake contacts
contacts: add new method to wait until a presence is initialized
contacts: export PresenceMood and PresenceActivity from package root
groups: keep phonebooks of a group in its group model
janus: set a heartbeat to detect if the socket breaks with QSS
media: add event indicating any LocalMediaHandler property changed
stacks: add support for screensharing using electron
wapi: use wapi@3
xmpp: add support chat
add support for using websockets against wrapper
support wapi’s suspend/resume
chat: load group chats in parallel
remove unnecessary dependency
replace shortid and uuid with nanoid
semver: bump version back to 25.x
wapi: from this release on, we no longer support connecting to wapi@2 servers.
stacks: Screen sharing is only supported on Chrome >= 72, Firefox >= 66 and Edge >= 17. Oldest versions of Chrome and Firefox previously supported using a plugin now are not supported
chat: add await to start xmpp client and return promise
chat: add missing pendingMessages events
chat: avoid processing mam messages containing not implemented xeps
chat: check if object is defined before trying to access properties
chat: differentiate conference chats from normal group chats
chat: don’t modify firstUnreadMessage when sending messages in a group
chat: don’t send a disconnect message to xmpp server when suspending the session
chat: listen xmpp events just before client connection
chat: normalize participant name in getIndividualChat method
chat: normalize user address to lower case before using it as a jid
chat: only set a firstUnreadMessage when all is read after appending a new message
chat: postpone removing bookmark on muc end after deleting chat from list
chat: remove chats from list when a problem joining them occurs
chat: remove new chat notification for own messages in chat groups
chat: remove stanza client after session is suspended
chat: request no history when joining mucs
chat: send displayed mark after sending a message
chat: stop duplicating group chats in ChatManager.sync() calls
chat: stop including local user as remote participant in groups when using two devices
chat: sync group chat messages after receiving an invite
chat: take into account latest invitation received when sorting groups without messages
chat: try to actively recover muc invitations received while offline
chat: use lowercase identifiers for group chats
conference: add class to export incoming conference invites
conference: do not allow to leave room without signaling session
conferences: complete types and add missing exports
conferences: fix problem in unattendedCallTransfer method argument
contactmanager: chat participants are lowercase
contacts: add missing default value for emails in Contact
contacts: fix problem preventing OwnPresence to work
contacts: remove spaces when importing phone contacts
e2e: fix some e2e test
file-sharing: don’t resolve until ended when aborting a fileupload
janus: update with pr comments
media: increase timer to request user media
presence: remove unnecessary workaround in own presence
semver: bring release numbering back to order
session: added deviceId from sessionEstablisher response when it is not sent
session: close other connections when one of them is unexpectedly closed
session: fix interval time
session: move status change after user init
session: return an empty Set from getCapabilities if session has not been initialized
sipows: iphone support. fix deprecated methods
sipows: remove duplicate local stream after resume call
sipows: remove duplicate remote stream after resume call
sipows: use addStream if exists. if it doesn’t exist, fallbak to getTrack
avoid leaking information from package.json in builds
types: add missing types for Contact
typings: add missing types
avoid error disconnecting when a problem occurs during login after wapi is connected
only .json() login responses if 20X OK/Created, throw otherwise
prevent wacProxy.stop to be called twice
remove misleading error message when a problem occured during first login step
supress “possible EventEmitter memory leak detected” warning
types: improve types for Presence interface
typings: add type definition for recover session
users: consider user address as case insensitive when resolving users
wacrequest: check if body is an array of an object
wacstack: maintain restbase wapi error format
stacks: simplify code wrapping requests to getUserMedia and getDisplayMedia (837b8e3)
chat: add context in create supportChat petition
conference: add missing conference type
conferences: add a new ConferenceStatus: DESTROYED
conferences: add an observable to keep track of conference status
conferences: allow optional agent info in an invite
contact: get the first contact address for a contact as phone
contacts: add a new field in a contact to set and retrieve a default email
contacts: add a new field in a contact to set and retrieve a default phone
contacts: add a new method to create fake contacts
contacts: add new method to wait until a presence is initialized
contacts: export PresenceMood and PresenceActivity from package root
groups: keep phonebooks of a group in its group model
janus: set a heartbeat to detect if the socket breaks with QSS
media: add event indicating any LocalMediaHandler property changed
stacks: add support for screen sharing using electron
wapi: use wapi@3
xmpp: add support chat
add support for using websockets against wrapper
support wapi’s suspend/resume
chat: load group chats in parallel
remove unnecessary dependency
replace shortid and uuid with nanoid
semver: bump version back to 25.x
wapi: from this release on, we no longer support connecting to wapi@2 servers.
stacks: Screen sharing is only supported on Chrome >= 72, Firefox >= 66 and Edge >= 17. Oldest versions of Chrome and Firefox previously supported using a plugin now are not supported
24.2.0 (2019-07-30)
chat: delete chats removed from another session while in background in sync method
chat: emit messageDisplayed event when an own message is marked as displayed in a group
chat: move the fetching of individual and group chats to sync method
groups: do not try to initialize group manager if unavailable
media: fix problem muting video and audio
conference: update remote participants with hold and unhold events
24.1.0 (2019-07-22)
chat: fix problems chat order and unread message count
chat: fix problems in chat.sync method
chat: fix problems ordering list after creating or resuming the session
chat: set message status of a just sent file message to the right value
chat: synchronize own messages in groups between different devices
chat: update type definitions for ChatManager.setPushConfig
conference: avoid returning an undefined conference
change logging using console to use logger
conferences: fix problems in API doc and typings in Conference
contact: return an Error requesting the address of contact without internal user
index: add deviceId to sessionConfig
media: export LocalMediaHandler class
whiteboard: extend from EventEmitter in typings
improve type definitions
provide custom implementation for Array.prototype.flatMap
conferences: add new getRoomByUri method to the ConferenceManager
session: add new method getMeetingManager
chat: fetch individual chats and group chats in parallel
chat: request more messages in fetch to avoid having to send more than one request
24.0.0 (2019-06-20)
chat: add missing parameter in chatManager.getIndividualChat method in typescript types
conference: use ref comparison instead of id-based for streams
janus: adapt constants to the ones in wrapper-stack
janus: use method isOnHold instead of onHold property
janusconference: destroy room once it’s uninited and don’t allow simultaneous uninits
media: improve screen track detection
session: interface Session extends EventEmitter in typings
typings: change INCOMMING by INCOMING
calls: extract logic related to managing local streams and media to another file
remove setCustomEmit
chat: add sync() method for catching up with new messages
chat: keep chat list sorted by most recent message received/sent
conference: add event info in the remoteStreams event
conferences: add support for toggle camera in conferences
hold: add participant hold, unhold, added and removed events
janus: add new hold/unhold methods to the conference
janus: split stream change events into more detailed events
setCustomEmit is now not available
conferences: Conferences API has been changed. Check API documentation to see how to use new API
calls: Calls API has been changed. Check API documentation to see how to use new API
janus: ‘remoteParticipants` event is emitted containing two InmutableMap (currentValue and oldValue) instead of an InmutableSet type. The InmutableMap will be formed as InmutableMap<{@link gatewayUsername}, {@link state}>}
23.0.0 (2019-05-22)
allow to create a contact with multiples emails and phones
domain contacts are not displayed when denying device contacts permission
set conference mediaTypes
use chrome getDisplayMedia for screen sharing
use wrapper-stack 1.1.1 to fix calls in iOS cordova
use wrapper-stack 1.1.2 to fix conferences in disconnecting state
capabilities: add default wqcapabilites
chat: all the chats were incorrectly copied to the list of conference chats
chat: close xmpp socket when session is suspended
chat: fix problem fetching messages when only marks are received
chat: getLastAckedBy stops working after receiving all the acks
chat: improve error management
chat: reconnect the xmpp socket
chat: send keepalive packets
chat: stop including conference chats in list of chats when a message is received
conference: do not cancel the previous invitation if the user is already joined
conference: don’t throw ‘already disconnected’ error when leaving the conference
conference: emit an error when it occurs in a transfer
conference: ignore errors when leaving a conference
conference: invitation requests not returned by getConferenceInvitations
conference: the conference’s state doesn’t change when an error leaving a room appears
conference: the incoming invitation request was being ignored after suspend
conference: try so solve the three-stream problem
contact: name returns always the base contact name
contacts: always prefer displayName over other fields
contacts: search by user and domain fails if we have contacts without wac user
contacts: the add contact event was being listened only the first time
exsip: initialize ExSIP variable with window.ExSIP
groups: return the just created group in the createGroup method
instant-message: export InstantMessageType
invitation: save the newInvitation created when setting the streams
janus: pass the window object to the wrapper-stack as dependency
janus: stop including an id in answers
logger: remove unnecessary console.log message
meetings: create a new meeting object with the updated data
remove double event emit
meetings: include sendInvites: true parameter in querystring when updating a meeting
meetings: update destroyMeeting method to delete
oracle: fix error loading vendor code that prevents bundling for Oracle stack
resolver: amend a typo in path
restbase: remove first argument as it’s not a field anymore
selfie: adapt selfie to latest changes in datapipe
don’t call setMediaTypes, emit INCOMING_CONFERENCE_EVENT
sipows: fix problems introduced in a4a7187
typings: add new methods to Call
typings: add parameters to EventEmitter
typings: add typings for chat
typings: change enum to content string with Symbol inside
typings: fix linting problem in typings
typings: remove Error from Promises
typings: set share parameter in shareScreen to optional
typings: update callManager definitions and its dependencies
typings: update Presence
typings: update session definitions and its dependencies
wac-proxy: fix problem checking supported capabilities
wac-proxy: fix wrong import
await for Promise
wacproxy: improve promise detection
call Conference.setMediaTypes after creating the conference
emit conferenceInvitation for each invited conference
final touches to make it work
fix problem checking capabilities broken since WacProxy changes
fix problem when setting the stack
getCurrentInvitations() support for inviteRequests
remove wrong warning that was logged when disconnecting the session
room is not in the context anymore
set mediatypes into JT/Confernce invite
stop requiring the deviceId when adding or removing a push token
wac-stack: fix problem processing wac events
wacstack: throw errors when received error messages is not recognized during login
unit test
update stanza version and apply patch also to exported module
wacid is no longer a valid field for WAC Sessions
wrong getCurrentInvitations() behavior
change minimum browser version supported by transpiled code
stop transpiling modules to CommonJS
change name of stacks
convert WacProxy to JS
datapipes: export Status and Type from package module
user: simplify user object
do not export bowser from Sippo.js
remove QoffeeNull stack because it is not needed anymore
remove session.getSessionId
remove stacks not being used
remove webrtc adapter
chat: add support for conference chats
chat: use xmpp for chat
conference: add sendDTMF to the conference
conference: listen to room’s participants changes
groups: add support for creating and deleting groups
groups: restore method for obtaining phonebooks of groups
gruops: phonebooks support
invite-request: accept ir prior to create room
allow creating sessions to users without ims credentials
janus: add dependency wrapper-stack in the conference.js
janus: add dependency wrapper-stack in the conference.js
janus: pass getDisplayMedia dependency to the wrapper-stack to share the screen
janus: wait invitation request accept confirmation
jt: join paralellSip extension when specified in invite
login: recover session method
users-group: enable groups to fetch contacts
wac-stack: make use of well-known hosts URL to discover Sippo AS sockets
allow to update a meeting
implement requests for getCurrentInvitations new endpoint
release npm packages for dev branch
remove file accidentally committed
bowser is not longer exported from the package. i.e. import {bowser} from “@quobis/sippojs” will no longer work
The next stacks are now not available: ALU, QoffeeDialogic, QoffeeGenband, QoffeeKandy and QoffeeOracle
Minimum required versions are now: Chrome 62, Firefox 57, Safari 11, Edge 42, ios 10
datapipes: DataPipe.STATUS and DataPipe.TYPE have been removed. Now they must be directly imported from the package. e.g.: import {DataPipeStatus} from ‘@quobis/sippojs’
chat: Chat API has been changed. See API documentation for more information.
session.getCapabilities() now returns an Inmmutable Set<string>
Using this library now requires using a module bundler with support for standard modules like Webpack or Rollup. Bundling using browserify will not work.
QoffeeExSip is now SIPoWS, QoffeeEricsson is now Ericsson and JT is now Janus
session.getSessionId method have been removed
Before this change, there were two ways to avoid establishing a connection with the gateway: A falsy value in window.nosippojsstack or a credential without an authserver. Now the same behaviour is achieved when no credential is included for a user so keeping old behaviour is not needed.
user: session.getUsername has been removed. You must use session.getUser().getUsername()
webrtc adapter was removed. Applications must start including it if their supported browser versions need it
groups: Group API has been changed. See current API documentation for more information about changes
22.5.9 (2018-10-17)
chat: fix problem canceling a file message
22.5.8 (2018-10-10)
call: set the mediaConstraint to the first camera after setAvailableVideoInputDevices
22.5.7 (2018-10-09)
not necessary plugin for Firefox
22.5.6 (2018-10-03)
refactor conference _alreadyJoined
22.5.5 (2018-10-02)
conference: allow to access the invitation in the conference
22.5.4 (2018-10-01)
call: dtmf not working
22.5.3 (2018-09-19)
emit login error in JT
22.5.2 (2018-08-30)
wacproxy: pass the deviceId inside an object when registering
catch some thrown errors
22.5.1 (2018-08-29)
stream-recorder: fix typo in name of StreamRecorderStatus class
22.5.0 (2018-08-20)
new group contacts does not have phones
jt: send deviceId on register
session: pass deviceId when resuming JT session
session: throw UNAUTHORIZED when LoginError
wac-stack: rename wapiUrl by wacUri
jt: notify deviceId when registering
push-notification: implement destroyToken
push-notification: notify deviceId on login request
push-notification: notify deviceId with pushToken
push-notifications: notifyPushToken implementation
session: send deviceId on session creation
session: send deviceId on session creation
22.4.0 (2018-08-14)
export StreamRecorder in Sippo to allow it to be directly used from applications
22.3.0 (2018-08-13)
contacts: match contacts by their address
22.2.2 (2018-08-09)
contacts: search by email was failing with GroupContacts
22.2.1 (2018-08-09)
contact: device contact with null name in iOS was corrupting the DB
22.2.0 (2018-07-24)
contacts: allow to create/update/delete a group contact in the WAC
22.1.2 (2018-07-23)
typings: change connect() result to object and add emitter to Chat
22.1.1 (2018-07-23)
typings: change _connect() response and add EventEmitter to Chat
typings: chatManager and fix createSession
typings: FileManager typings
22.1.0 (2018-07-18)
user-groups: enables resolve the name of a group using the groupId
22.0.0 (2018-07-05)
session: add new API for creating a Sippo session
session: Sippo.createSession now allows creating the session only with a token with a simpler API. See Sippo.createSession API doc for more information
21.1.0 (2018-07-04)
usersgroup: use update-participant event when a group inserts a user as participant
groups: create a group manager to be able to get the groups from WAC
21.0.4 (2018-07-03)
send of the meeting sms is managed by the webphone
21.0.3 (2018-07-03)
conference: cancel invitation was not working with invitations with response code
21.0.2 (2018-07-03)
add toggle video function to Conference
21.0.1 (2018-07-02)
export ConferenceStatus
21.0.0 (2018-07-02)
conference: the invitation can’t be canceled if it already has a response
conferencelog: use wac-uri of each participant in each conference entry
conferencelog: The conference entry uses address instead of userId. The address is a wac-uri, his values can be: ‘wac-user:’, ‘wac-group’ or ‘tel:’.
20.0.1 (2018-06-26)
e2e-test: reduce mocha test timeout
20.0.0 (2018-06-21)
remove sessionConfig.wacURI option in Sippo.createSession
session: remove Session.Error and Session.Status
remove Sippo.attachMediaStream helper method
remove support for specifying default media constraints when creating the session
calls: remove deprecated functionalities from ManagedStream
calls: remove deprecated methods from CallManager
calls: remove deprecated methods from Conference
calls: remove old call API
calls: remove old call log API
chat: remove old chat and filetransfer API
session: remove session.capabilities property
session: remove session.getURI()
Specifying the media constrains on session creation is now not supported. Please refer to CallManager and ConferenceManager documentation for information about how default media constraints are specified now
Sippo.attachMediaStream method has been removed. You must directly attach the streams to elements e.g.: element.srcObject = stream
calls: The methods for using conferences from CallManager have been removed. They are now available at ConferenceManager
chat: The old chat and filetransfer API has been removed. See session.getChatManager() and session.getFileManager() to get more information about how to use the new API
calls: Old call log API has been removed. See CallManager documentation to learn how to use new call log API
session: session.getURI() has been removed. Use Session.getGatewayUsername()
calls: The methods and events marked as deprecated in Conference have been removed. See Conference API documentation to see the new API
session: session.capabilities has been removed. Use session.getCapabilities() instead
calls: The old call API was removed. See CallManager documentation for information about how new API is used
calls: The next elements have been removed from ManagedStream class * “unmute” and “mute” events have been removed. muteAudio, muteVideo and muteScreen are synchronous method so events make no sense. * managedStream.mute() and managedStream.unmute() have been removed. Use muteAudio, muteVideo or muteScreen instead. * managedStream.stream() has been removed. Use managedStream.mediaStream instead. * managedStream.type() has been removed. Use hasAudioTracks, hasVideoTracks and hasScreenTracks methods instead. * ManagedStream.State() and managedStream.state have been removed. Now ManagedStream object don’t keep the state of the MediaStream.
In Sippo.createSession, sessionConfig.wacURI option is not supported anymore. Use sessionConfig.wacUri instead
session: Session.Status and Session.Error have been removed. Use Sippo.SessionStatus and Sippo.SessionError instead
19.3.8 (2018-06-20)
contact: isEditable is not a function, it is a getter
19.3.7 (2018-06-20)
contact: fix the Contact’s isEditable and do not freeze non editable contacts
19.3.6 (2018-06-20)
calls: show a stream audio, video or screen as muted when every track is muted
19.3.5 (2018-06-20)
use suitable link to builders in contacts e2e tests
19.3.4 (2018-06-18)
conferencelog: insert the new conference log entry to the beginning of the list
19.3.3 (2018-06-18)
calls: mark methods related with ManagedStreamState as deprecated
add deprecation warnings in some deprecated methods in Session
add Sippo.StreamRecorderStatus and add a deprecation message
remove deprecation warning from conference.addVideo method
19.3.2 (2018-06-15)
change ManagedStream.id to ManagedStream.getId()
19.3.1 (2018-06-15)
generate an unique id to identify the stream
19.3.0 (2018-06-13)
conference: new Invitation object
19.2.1 (2018-06-11)
contacts: proper disconnect session in e2e tests
contacts: replace e2e test contact injection
e2e-test: update database-manager dependency
user-groups: update test to groupId
19.2.0 (2018-06-11)
conferencelog: add new method to each invite in conference log object
conferencelog: add users in transfer as participants of a conference
conferencelog: added decorateConferenceLog to the list
conferencelog: added getParticipants method to the conference log
conferencelog: allow to order and limit the conference log result
conferencelog: fix pr comments
conferencelog: fix Pr comments
conferencelog: get invites and transfers using methods
conferencelog: insert mediatypes in decorate conference
conferencelog: remove unnecessary params on fetch function
conferencelog: rename getParticipants to getCandidates in each invite
conferencelog: rename two properties in conference log object
conferencelog: save conference logs retrieved
conferencelog: use the createdAt value of the last conference to get more objects
conferencelog: added new conferenceLog to manage the conference history
19.1.0 (2018-06-06)
contacts: fix eslint problems
contacts: sync all contacts if there’re lots of contacts to update
19.0.1 (2018-06-04)
conference: invitation request cancel was being ignored
19.0.0 (2018-06-01)
remove support for IE
update webrtc-adapter to version 6.2.1
oracle: apply oracle stack changes to new stack
oracle: update oracle stack to 2018-04-10 version
IE is not supported anymore
18.9.2 (2018-05-31)
conference: change error message when an invite is canceled
18.9.1 (2018-05-30)
wacstack: add a new log message when an error occurs updating the session
18.9.0 (2018-05-22)
conference: add new helper methods in conference class
18.8.1 (2018-04-30)
resolve requestInvitation with the proper format
18.8.0 (2018-04-17)
add new file sharing API
18.7.9 (2018-04-11)
Revert “Allow to create a ContactManager with the Sippo Session disconnected”
18.7.8 (2018-04-03)
export ChatMessageType in the Sippo object
18.7.7 (2018-04-03)
make the changes introduced by QSSQUOB-55 backward compatible with old QSS versions
18.7.6 (2018-04-02)
add missing getRemoteGatewayUser method in the call object passed with the invitation request
18.7.5 (2018-03-28)
now Conference.inviteParticipant receives the mediaTypes of the invitation and it does a Conference MediaTypes upgrade if needed
18.7.4 (2018-03-27)
set isLocal to true on Conference’s local ManagedStreams
18.7.3 (2018-03-27)
allow to create a ContactManager with the Sippo Session disconnected
18.7.2 (2018-03-22)
add mediaTypes and response code to the invitation. The remove of canceled invitations are managed from client
18.7.1 (2018-03-12)
export SessionError and SessionStatus from the Sippo object
18.7.0 (2018-03-08)
add new API for making a unattended call transfer
add new e2e tests for ringing group
add new e2e tests for group chat
18.6.0 (2018-03-06)
add new API for calls
18.5.1 (2018-03-02)
contacts: fix situation when calling the Contact.presence getter before the userResolver had returned the associated users
18.5.0 (2018-02-27)
whiteboard: migration to D3 v4. Now objects are selected and deleted on pointer down events
18.4.5 (2018-02-05)
oracle: fix problem holding calls in Oracle. Local media was not being released during call on hold
18.4.4 (2018-02-02)
media: fix camera change was not working in Safari. It needs deviceId: {exact: “XXXX”} in the mediaConstraints
18.4.3 (2018-02-02)
oracle: fix problem holding calls in Oracle
18.4.2 (2018-01-31)
fix wrongly mixing @activeInputDevice and @activeVideoInputDevice
18.4.1 (2018-01-23)
calls: answering an audio call with call.connect({audio: true, video:true}) was activating the camera and showing the local video stream
18.4.0 (2018-01-22)
janus: add Safari IE support on JT stack
18.3.20 (2018-01-22)
calls: unable to replace callee video with custom stream
18.3.19 (2018-01-22)
janus: remove uncaught rejection message when a Janus conference ends
18.3.18 (2018-01-22)
conference: use empty owner to identify public room
18.3.17 (2018-01-22)
calls: show the callee name even if the user not exist and triggers an error message
18.3.16 (2018-01-17)
media: allow to change cameras after selecting the default camera with media constraints
18.3.15 (2018-01-12)
wacstack: fix issue where uglify was changing the event name when resending it to the wac contact service
18.3.14 (2017-12-22)
contacts: delete contacts and hide them when user removes contact permission in the app
18.3.13 (2017-12-21)
contacts: don’t send the presence property to update a contact
18.3.12 (2017-12-14)
ios: use long polling instead websocket only if using iOS < 10.3.3, as the bug originating QA-87 was fixed in this version
18.3.11 (2017-12-12)
screensharing: application not ask to install screen sharing plugin if it is not installed
18.3.10 (2017-12-12)
session: allow the transition from “suspended” to “connecting” state in Sippo Session
18.3.9 (2017-12-12)
contacts: fill device cache only when the sync process was OK
18.3.8 (2017-12-12)
contacts: limit to 10 the number of the phones in each contact
18.3.3 (2017-11-22)
janus: subscription not removed when user leaves the JT room
oracle: update Oracle stack to SDK 7.2.0.1.2
18.3.2 (2017-11-23)
whiteboard: add a new default value to the whiteboard to change line width
18.3.1 (2017-11-23)
conference: add new e2e test for conferences
18.3.0 (2017-11-20)
chat: add new chat API
18.2.3 (2017-11-17)
add new test end2end for presences
18.2.2 (2017-11-17)
add new test end2end for contacts
18.2.1 (2017-11-13)
add new test end2end for calls
18.2.0 (2017-11-09)
oracle: add Oracle call rehydration
18.1.3 (2017-11-09)
improve Safari and Edge support
18.1.2 (2017-11-09)
calllog: call log does not provide difference between missed and rejected calls
18.1.1 (2017-11-02)
remove .default export in setStack script
18.1.0 (2017-11-02)
add session end to end tests
add PromiseQueue class to handle suspend and resume calls
18.0.2 (2017-10-31)
fix bug introduced in session management
18.0.1 (2017-10-30)
auth: modify login workflow in ksgw token based authentication
18.0.0 (2017-10-27)
major API updates and improvements
API changes may require updates to existing applications
17.3.0 (2017-10-27)
conference: add conference hold and resume
17.2.5 (2017-10-27)
conference: unable to request a conference invitation to a non user
17.2.4 (2017-10-24)
tests: in test e2e, it’s not necessary a fake smtp server
17.2.3 (2017-10-19)
dtmf: update RTCDTMFSender access
17.2.2 (2017-10-17)
session: fix bug when ‘geturi’ capability doesn’t exist in session.connect
17.2.1 (2017-10-17)
testing: add environment for e2e test
17.2.0 (2017-10-17)
alu: update ALU SDK
alu: add ALU call push & pull
17.1.1 (2017-10-16)
whiteboard: whiteboard fails to start on remote user
17.1.0 (2017-10-04)
whiteboard: add undo/redo whiteboard methods
17.0.5 (2017-10-04)
calls: caller keep ringing when the callee has denied the media
17.0.4 (2017-09-28)
session: add new error to Sippo Session (AlreadyLogged)
17.0.3 (2017-09-27)
calls: fix incoming call notifications. Bug introduced in 17.0.1
17.0.2 (2017-09-27)
calls: use gatewayUsername field to route outgoing calls
17.0.1 (2017-09-27)
contacts: include “name” field on fake resolved contacts
17.0.0 (2017-09-26)
conference: Conference streams are indexed by gateway username instead User instances
16.1.0 (2017-09-26)
calllog: rewrite of call log functionality
16.0.12 (2017-09-21)
contacts: add new method to retrieve a contact given an email
16.0.11 (2017-09-19)
calls: resolve to GW username before executing call transfer
16.0.10 (2017-09-19)
janus: enhance user disconnected detection
16.0.9 (2017-09-19)
exsip: abort ExSip transference when an error accessing media happens
16.0.7 (2017-09-19)
catch incoming call error when no media permissions are given