iOS SDK release notes


Released 17th Sep 2021

New features and changes

  • Use WebSocket instead of for WAC connection

  • Expose the groupId for contacts with source group

  • Add code error 409 as an error type

Bug fixes

  • Add existAnyConferenceWithInvitation method as part of public callbacks API

  • Change semaphore management used when connecting to Janus in order to release it if any escape condition is matched

  • Match MAM messages with element id

  • Check socket response as String

  • Retain AuthService

  • Manage concurrency problems when fetching chat messages

  • Get the to field from the invite carbon message and avoid to create a new chat if it is already in the list

  • Catch the error for the request to get the contact associated to a user when resolving the display name

  • Add existAnyConferenceWithInvitation method as part of public callbacks API

  • Change semaphore management used when connecting to Janus in order to release it if any scape condition is matched

  • Map error when fetching the conference log entries

  • Make the access to the Sippo-Server request store sequential

Breaking changes

  • The possible sources for a contact have been changed. The agenda service has now its own Source class to specify which contacts have to be fetched.


Released 14th May 2021

New features and changes

  • Add events for expired and cancelled alerts

  • Add param to filter expired alerts when fetching them

  • Allow to fetch active alerts and accepted alerts finished in a certain time interval

  • Resolve “from” field in message to display name

  • Increase the timeout for invitation request from 60 to 120 sec

  • Add code “480” as a available response for QSS invites

Bug fixes

  • Avoid XMPP reconnections if the client state is new (QA-1957)

  • Return group identifier if it does not exist when resolving a conference log entry (QA-1930)

Technical improvements

  • Add a new rule for building paths with query params (QA-1956)


Released January 2021

New features and changes

  • Breaking change: the Invitations service for managing invitation request and all related classes as InvitationsDelegate, SippoInvitationRequest,… are not longer available.

  • Breaking change: the property isAnswerToInvitationRequest in SippoConference and RxSippoConference has been removed.

  • Breaking change: “invite” method does not have a replyOf parameter any more.

  • Breaking change: the property inviteRequest in SippoInvitationInfo and InvitationInfo has been removed.

  • Breaking change: SippoParticipantInfo and SippoCandidateInfo do not have a property “user” any more. Instead, a new property “participant” has been added that includes all the information about the participant or the candidate.

  • Breaking change: the method to fetch the conference entries in Conferences does not receive a “since” parameter any more. Now, a time range can be specified using the parameters “before” and “after”. Besides that, it can also be specified whether the entries have to be obtained in ascending or descending order of their creation date.

  • Removed support for w3c-contacts-api capability

  • Support to oAuth “confidential client” as described in RFC-6749

  • Update tuist files

  • Drop invitation request support

  • Use a behaviour for UserExpelled observable

  • Added user-select-group capability

  • Added method to join a group chat with its identifier

  • Add “archive” method to chat

  • Expose XMPP port as a client option

  • Use createdAtBefore and createdAtSince to fetch conference entries

  • Expose candidates and participants as Participant

  • Add startChat capability

  • Expose XMPP client state in chats service

  • Adapt the registration of chat notifications to last changes

  • Expose current session token

  • Add method to fetch AddressBooks

  • Expose the property “to” in SippoTransfer as a participant instead of as a string

  • Changes group owner when current owner leaves the chat

  • Notify affiliation changes in group chat

  • Make ChatMessage conform to Codable

  • Add DTMF support in conference

  • Fetch leave/join messages from MAM

  • Update dependencies due to Swift 5.2

  • Expose 1-1 and groups chats as a Chat class

  • Expose incoming invitation identifier

  • Expose method to check active invites

  • Expose conference state

  • Fetch participant contains media shared by them

  • Set last message onces the group is fetched

  • Expose methods to enable/disable push notifications in chats

  • Expose “status” field in Presence

  • Added isPermissionGranted to Sessions

  • Added presence for User method in Presences

  • Added isAuthenticated property to Sessions

  • Remove “optional” from wrapper token field for better performance

  • Transform messages to ChatMessages

  • Added action case to ChatMessage

  • Get unread messages

Bug fixes

  • Fix CocoaLumberJack version to 3.6.2 (SIPPOIOS-264)

  • Avoid parsing errors when the transfer state in a ConferenceEntry has not one of the expected valued (SIPPOIOS-262)

  • Subscribe to room destroyed and invitation canceled events in JNConferenceState (SIPPOIOS-262)

  • Use concat instead of merge when resolving the conference log entries fetched (SIPPOIOS-257)

  • Use a semaphore to synchronize connect method (SIPPOIOS-252)

  • Parse groupId from body instead of param in delete event (SIPPOIOS-253)

  • Expose JNConferenceState in Conference (SIPPOIOS-241)

  • Emit destroyed event when leave conference is completed (SIPPOIOS-226)

  • Configure group chats only when user is the owner (SIPPOIOS-225)

  • Save token in keychain with kSecAttrAccessibleAfterFirstUnlockThisDeviceOnly (SIPPOIOS-224)

  • Wait until joined event to send invites (SIPPOIOS-220)

  • Make services lazy on success (SIPPOIOS-219)

  • Filter OneToOne chats with non-existent user (SIPPOIOS-205)

  • Return current page from history to future searchs (SIPPOIOS-201)

  • Send chat invites one by one (SIPPOIOS-200)

  • Use contact phone as first option for invites (SIPPOIOS-196)

  • Filter events notifying that a group chat has been deleted if there is no info about the group

  • Filter conference chats from user’s group chats

  • Leave room before disconnecting from the SFU

  • Filter chats conference when fetched

  • Use sync queue to access history store

  • Change User from Struct to Class due to mutations

  • Change value returned in Publisher.isMuted