iOS SDK release notes

[8.9.0] - 11-04-2025

Bug Fixes

  • [ROAD-6667] Change QSS close code

  • [XXX-1134] Improve isTyping from Android

  • [ROAD-6805] Improve XMPP resume session

  • [ROAD-6805] Fix XMPP resume

Features

  • [XXX-1174] Add alias capability

[8.8.0] - 10-02-2025

Code Refactors

  • [ROAD-6449] Deprecate RxSwift in Qss module

  • [ROAD-6408] Deprecate RxSwift in XMPPClient module

  • [ROAD-6450] Deprecate RxSwift in JanusClient module

Features

  • [ROAD-6534] Implement XEP-0249: Direct MUC Invitations

  • [ROAD-5010] Control chat connection error

[8.7.0] - 06-02-2025

Bug Fixes

  • [ROAD-6473] Fix logged user expulsion when user expels participants

  • [ROAD-6510] Improve double invite

  • [ROAD-6547] Fix unread message count when user kills app and reopen

  • [ROAD-6569] Fix erroneous archiving of group chats

  • [ROAD-6572] Fix unreadmessages count with multi-session

Chores

  • [ROAD-6024] Modify URL to download ZIPs

  • [ROAD-6348] Automate and publish changelog file

Code Refactors

  • [ROAD-6294] Refactor cancelledSince field when retrieve alerts

  • [ROAD-6341] Refactor status logic to add all the logic in the SDK

  • [ROAD-6283] Deprecate RxSwift in Common module

  • [ROAD-6416] Deprecate RxSwift in SippoServerClient module

Features

  • [ROAD-6284] Display errors when sending messages in ChatView

  • [ROAD-6288] Add message status to both sent and received messages

  • [ROAD-6287] Add progress when upload a chat file message

  • [ROAD-5695] Add support to manage simultaneous conferences

[8.6.2] - 24-10-2024

Bug Fixes

  • [ROAD-6244] Fix role assignment when a user is removed from the chat group

  • [ROAD-6250] Fix wrong parser when XMPP responses ‘user expelled’

[8.6.1] - 17-10-2024

Bug Fixes

  • [ROAD-6231] Fix empty meetings response

[8.6.0] - 07-10-2024

Bug Fixes

  • [ROAD-6192] Reorder group with deleted users

Chores

  • [ROAD-5970] Upload only documentation files

Features

  • [ROAD-6024] Upload documentation

[8.5.0] - 01-07-2024

Bug Fixes

  • [ROAD-5770] Improve one to one chats with eJabberd

  • [ROAD-5771] Improve group chats with eJabberd

  • [ROAD-5946] Fix trimming chat messages

Features

  • [ROAD-5929] Put URL on body in OOB extension messages

[8.4.1] - 06-06-2024

Bug Fixes

  • [ROAD-5829] Remove meetings from conference log

[8.4.0] - 29-05-2024

Bug Fixes

  • [ROAD-5762] Fix Socket state & fix Single functions

Chores

  • [ROAD-5756] Update webRTC

  • [ROAD-2824] Add session info

Features

  • [ROAD-5593] Add deeplinks on Quick & Personal conferences

[8.3.1] - 13-05-2024

Bug Fixes

  • [ROAD-5718] Fix socket connections

[8.3.0] - 06-05-2024

Bug Fixes

  • [ROAD-5541] Personal contact display name to conference participants

  • [ROAD-5541] Improve conference utils

Chores

  • [XXX-883] Export “mood” property

  • [ROAD-5584] Add Apple privacy info & upgrade library versions

Features

  • [ROAD-3436] Add host-meta file to retrieve URLs

[8.2.1] - 01-04-2024

Bug Fixes

  • [ROAD-5575] Fix current active conferences array

[8.2.0] - 06-03-2024

Features

  • [ROAD-5393] Get azure contacts from addressBooks

[8.1.1] - 15-02-2024

Bug Fixes

  • [ROAD-5291] Fix wrong presence request

  • [ROAD-5373] Improve sockets reconnection

Chores

  • [ROAD-5286] Export “note” property

[8.1.0] - 21-12-2023

Bug Fixes

  • [ROAD-5004] Fix reconnecting QSS when backend restarts QSS sockets

  • [ROAD-5109] Fix cancelled alerts

  • [ROAD-5183] Increment maximumMessageSize

  • [ROAD-5073] Fix updating cache when creates a personal contact

  • [ROAD-5077] Fix personal contact appears blank

Chores

  • [ROAD-5070] Update dependencies and Xcode 15

  • [ROAD-5144] Remove old login provider

  • [ROAD-5228] Update XMPPFramework dependency

Features

  • [ROAD-5037] Add “delete” & “leave” feature from chat groups

  • [ROAD-5062] Implement attended transfer without ringing

[8.0.0] - 24-10-2023

Bug Fixes

  • [ROAD-4888] Fix DisplayName when calling from the dialpad

  • [ROAD-4890] Fix add personal contact to meeting

  • [ROAD-4957] Fix chat file messages when comes with “body” too

  • [ROAD-4990] Fix inviting participants when creates a chat group

  • [ROAD-4993] Improve own user in meetings participants

Code Refactors

  • [ROAD-4967] Refactor response of “invite participants” on QNGroupChatActions

Features

  • [ROAD-4762] Add newChat and deleteChat socket events on OneToOne chats

Breaking Changes

  • invite(…) by invite(…) -> Single<[QNChatParticipant]>

[7.5.1] - 26-09-2023

Bug Fixes

  • [ROAD-4792] Fix unhold on attended transfer

  • [ROAD-4799] Meetings chat

  • [ROAD-4833] Attended transfer flow

[7.5.0] - 11-09-2023

Bug Fixes

  • [ROAD-4554] Skip call when one is in progress

  • [ROAD-4630] Fix restoreSession called 2 consecutive times

  • [ROAD-4195] Fix wrong thumbnail

  • [ROAD-3079] Fix ending “login” background task when Backend returns error

  • [XXX-799] Fix disabling push notification if user has been ejected by Single Session

  • [VODA-204] Fix contact name matching when it comes with a numeric prefix

  • [ROAD-4639] Add video to personal url calls

  • [ROAD-4782] Fix attended transfer

  • [ROAD-4789] Fix infinite loading

  • [ROAD-4554] Skip call when there is another call

Features

  • [ROAD-834] Add participants to QNMeetingRepository

  • [ROAD-4586] Change invite service timeout to show correct error

  • [ROAD-835] Edit a meeting

  • [ROAD-4625] Create new meeting

  • [VODA-201] PSTN attended transfer

[7.4.1] - 05-09-2023

Bug Fixes

  • [ROAD-4751] Fix QSS socket reconnection & Fix memory leak when logged user is expelled by Single Session on background

  • [ROAD-2744] Text format when publish sdk

[7.4.0] - 14-07-2023

Bug Fixes

  • [ROAD-3335] Fix memory leaks

  • [ROAD-4429] Change disco-info timeout and skip if bookmark has name

  • [ROAD-4393] Temporarily removed join message

Code Refactors

  • [ROAD-1338] Refactor Settings screen

Features

  • [ROAD-970] Improve get meetings service

  • [ROAD-4426] Add events to meetings and refactor

  • [XXX-778] Show logs

  • [ROAD-2744] Publish SDK in doc web

  • [ROAD-2744] List SDK in doc web

[7.3.0] - 25-05-2023

Bug Fixes

  • [ROAD-4170] Fix resolving group users with PresencesService

  • [ROAD-4186] Fix chat images url

  • [ROAD-4223] Fix caller ID from Phonebook contacts

  • [ROAD-4268] Change timeout on a conference invitation

  • [XXX-729] Fix firebase crashes

  • [XXX-737] Improve transfer with callkit and socket lifecycle

  • [XXX-750] Fix reconnection XMPP

  • [ROAD-4364] Fix Adding new OneToOne chat to WAC list when user writes first message

Chores

  • [ROAD-2826] Update release scripts

Code Refactors

  • [ROAD-4241] Refactor “Presence” mandatory fields

Features

  • [ROAD-3534] Add control error on UserContacts Services

  • [ROAD-822] Attended transfer

  • [ROAD-4257] New file sharing

  • [ROAD-4343] Set limit counter on 50+ chat messages

[7.2.2] - 28-04-2023

Bug Fixes

  • [ROAD-4277] Fix addressbooks cache with wrong key

[7.2.1] - 14-04-2023

Bug Fixes

  • [XXX-716] Conference error message

  • [XXX-714] Fix addressbooks contacts when re-logging

[7.2.0] - 21-03-2023

Bug Fixes

  • [ROAD-3650] Fix loading AddressBooks when user has not presence

  • [ROAD-3630] Fix caller ID from Phonebook calls

  • [ROAD-3739] Improve documentation

Chores

  • [ROAD-3746] Change info.plist version by Marketing_Version

Code Refactors

  • [ROAD-3325] Add avatarUrl property from WebService

Features

  • [ROAD-3601] Add new functions to update presence properties

  • [ROAD-3581] Add mute conference functionality

  • [ROAD-3445] Add simultaneous reduced strategy

  • [ROAD-3660] Improve retrieving ConferenceLog entries

  • [ROAD-1899] Add conference chat

[7.1.1] - 01-03-2023

Bug Fixes

  • [ROAD-3539] Set “busy” state when user is on a call

  • [XXX-691] Change logic to order group participants

  • [ROAD-3609] Fix DisplayName on Incoming calls

Code Refactors

  • [ROAD-3302] Improve presence request when retrieving addressbook

  • [ROAD-2413] Replace UserResolver by PresencesRepository

  • [ROAD-3478] Create socket connection manager

  • [ROAD-2988] Added PresencesServices to resolve DisplayName

  • [ROAD-3494] Replace starcream to new webSocket manager in QSS

  • [ROAD-3505] Replace socketIO to new webSocket manager in Janus

  • [ROAD-3526] Replace starscream to new manager in Wac module

[7.1.0] - 08-02-2023

Bug Fixes

  • [XXX-660] Fix call error when device is suspended

  • [ROAD-3332] No progress call after network loss & reconnection

  • [ROAD-3334] Show error on call when the device has no connection

  • [ROAD-3347] Update chatsListView when send message from contactView

  • [ROAD-3390] Check if the user is a member or owner of the group

  • [ROAD-2106] Fix message status when user reads from another device

  • [ROAD-3458] Trim white spaces to displayName

Code Refactors

  • [ROAD-3313] Create presence cache repository

  • [ROAD-3355] Create addressBooks cache repository

  • [ROAD-3400] Improve chat history retrieving process

  • [ROAD-3410] Refactor Chats name classes by QN prefix

  • [ROAD-3410] Resolve Bookmark name when fetching for groupChats

Features

  • [ROAD-3311] Improve chats performance removing UserResolver

  • [ROAD-3212] Add new error code to revoke session

  • [ROAD-3440] Add chatId to userGroups

  • [XXX-685] Upgrade WebRTC version to 109.0.1

Breaking Changes

  • Presence object replaced by QNPresence

  • PresenceDelegate delegate replaced by QNPresenceDelegate

  • Presences repository replaced by QNPresencesRepository

  • presence(…) function replaced by getPresence(…)

  • updateMyPresence(…) function replaced by updateOwnPresence(…)

  • User object replaced by QNUser

  • Contact object replaced by QNContact

  • AgendaDelegate delegate replaced by QNAddressBooksDelegate

  • Agenda repository replaced by QNAddressBooksRepository

  • contacts(…) function replaced by getContacts(…)

  • fetchMessagesFromStore function returns a [ChatMessage]

  • Chats repository replaced by QNChatsRepository

  • Chat repository replaced by QNChatRepository

  • Chat…Class objects replaced by QNChat…Class

[7.0.1] - 29-12-2022

Bug Fixes

  • [XXX-549] Fix badge on group chat messages

  • [ROAD-3111] Fix creation of group chats when the socket is not yet authenticated.

  • [XXX-549] Mark read message when socket is authenticated

Chores

  • [ROAD-3162] Change Info.plist path on JenkinsFile

Features

  • [ROAD-3135] Control logout errors

Tests

  • [ROAD-3140] Testing of unread messages count

[7.0.0] - 02-12-2022

Bug Fixes

  • [ROAD-2934] Count up to 99 unread messages after come to foreground

  • [ROAD-3137] Upgraded WebRTC library version to 96.0.0

  • [ROAD-3162] Remove group chat when room is deleted by owner

Chores

  • [ROAD-2833] Upgrade minimum version to 12.0

Code Refactors

  • [ROAD-2855] Initialize chats with unread messages count

Breaking Changes

  • fetchUnreadMessagesCount of class Chat was removed, now the unreadMessagesCount observable starts with the current value

[6.5.1] - 25-10-2022

Chores

  • [ROAD-2629] Do not change documentation name with the version number

[6.5.0] - 25-10-2022

Bug Fixes

  • [XXX-457] Send leave, new and update participant actions

  • [ROAD-2808] Fix SwiftLint rules

Chores

  • [ROAD-2721] Fix fastlane command on install.sh

  • [ROAD-2747] Change swiftlint path

  • [ROAD-2197] Allow to generate sdk xcframework documentation

Code Refactors

  • [XXX-457] Organize group received XMPP chat messages by type

  • [ROAD-2808] Delete QuickStart app and refactor gitignore

  • [ROAD-2808] Refactor SDK structure

  • [ROAD-2808] Refactor Modules structure

  • [ROAD-2808] Remove Sippo project

Documentation Improvements

  • [ROAD-2721] Change readme to include Git-Cliff

Features

  • [XXX-645] Make Ringing Strategy enum equatable

  • [ROAD-2747] Add ‘Missed calls’ service implementation

  • [ROAD-2629] Generate release from Jenkins

Tests

  • [ROAD-2747] Add new tests

[6.4.1] - 13-09-2022

Bug Fixes

  • [ROAD-2406] Authenticate socket once after reconnection

[6.4.0] - 31-08-2022

Features

  • [ROAD-2401] Allow to change the ringing group strategy

[6.3.2] - 24-08-2022

Bug Fixes

  • [ROAD-2590] Add missing conference error with unhold error

  • [ROAD-2361] Fix broken tests

  • [ROAD-2333] Reconnect after websocket connection errors

Chores

  • [ROAD-2115] Update Quick, Nimble and execute linter and tests on each PR

[6.3.1] - 11-07-2022

Bug Fixes

  • [ROAD-2305] Configure chat room after join it

[6.3.0] - 21-06-2022

Chores

  • [QUOBDEV-1830] Include configuration to use git-cliff as new changelog generation tool

Features

  • [ROAD-1682] Allow to reorder user group participants

[6.2.5] - 07-06-2022

Bug Fixes

  • [ROAD-2249] Use RxSwift version 6.2 and compile project with XCode 13.2.1

[6.2.4] - 19-05-2022

Chores

  • [ROAD-2119] Add link with commit message format explanation

  • [ROAD-2197] Allow to generate sdk xcframework documentation

[6.2.3] - 26-04-2022

Chores

  • [QUOBDEV-1924] Modify the build lane in Fastlane to use xcframeworks

  • [QUOBDEV-1926] Modify the package lane in order to use xcframeworks

[6.2.2] - 22-04-2022

Bug Fixes

  • [QA-2283] Send participant active state in group chats

Chores

  • [QUOBDEV-1335] Update RxSwift to 6.5.0 version

  • [QUOBDEV-1870] Update Quick to 4.0.0 version

  • [QUOBDEV-1883] Update deployment target to version 11

  • [QUOBDEV-1882] Update WebRTC to M94 version

  • [QUOBDEV-1882] Use xcframeworks instead of fat frameworks

  • [QUOBDEV-1891] Update Fastlane version in order to be able to use xcframeworks in Carthage actions

  • [QUOBDEV-1892] Modify install.sh script to use .xcframeworks instead of .frameworks.

  • [QUOBDEV-1893] Add a lane for create a new version tag in Fastfile

  • [QUOBDEV-1894] Fix bootstrap lane and make it use xcframeworks

[6.2.1] - 23-03-2022

Bug Fixes

  • [QA-2967] Add correct reference when adding the room delegate

Documentation Improvements

  • [QUOBDEV-1803] Update Cartfile to include the explanation about why the SDK uses precompiled WebRTC binaries as dependency

[6.2.0] - 15-03-2022

Bug Fixes

  • [QA-2899] Prevent concurrent read in Resources dictionary

  • [QA-2950] Change the URL session used to make http requests to be ephemeral

  • [QA-2899] Prevent concurrent write in RequestCache class

  • [XXX-511] Add bookmarks manager with a semaphore to make bookmarks operations secuentially

Chores

  • [QUOBDEV-1743] Create a git hook for commit messages

Code Refactors

  • [QUOBDEV-1777] Refactor how group chats are created

Features

  • [ROAD-2015] Do not expose unnamed group chats

  • [QUOBDEV-1775] Set XMPP TCP socket with TLS policy as preferred

Breaking Changes

  • The method joingGroupChat in Chats service is now asynchronous.

  • The method to change the name of a group chat and the events and callbacks that notify when this name is modified have been removed from GroupChatActions class.

[6.1.2] - 31-01-2022

Bug Fixes

  • [QA-2863] Remove outdated chats before adding new ones

  • [QA-2848] Ignore unresolved group participants to initialize participants with valid users

  • [XXX-528] Return chats with the last chat message initialized

Chores

  • [QUOBDEV-1669] Add script to generate SDK binaries

  • [QUOBDEV-1668] Update readme

Code Refactors

  • [QUOBDEV-1529] Remove anonymous login

  • [QUOBDEV-1717] Add reactive extensions for fetch and publish bookmarks

Breaking Changes

  • The anonymous login case has been removed from the Authentication options of the SippoServer class and is not possible to do anonymous login from the AuthService anymore.

  • The events newChat and new ConferenceChat do not emit the optional ChatMessage associated to the Chat anymore. This information can be obtained via the lastContentMessage attribute from the Chat itself.

[6.1.1] - 21-12-2021

Bug Fixes

  • [XXX-571] Revert changes made to identify last message in one chat

[6.1.0] - 15-12-2021

Bug Fixes

  • [XXX-567] Make request cache dictionaries thread safe

Features

  • [QUOBDEV-1444] Fix some tests

[6.0.0] - 26-11-2021

Chores

  • [QUOBDEV-1619] Update tuist version to 1.48.1

Features

  • [FERMAX-159] Allow compiling with Xcode 13

  • [QUOBDEV-1511] Include the new AuthProvider and the former Provider model in the session service.

Breaking Changes

  • The method to fetch the providers has been modified, it now returns a list of the new Provider model. A method to fetch the AuthProvider has been added.

[5.1.4] - 08-10-2021

Bug Fixes

  • [XXX-550] Disable push notifications for chat correctly

Chores

  • [XXX-568] Update dependencies to allow compiling with Xcode 12.5.1

Code Refactors

  • [QUOBDEV-1458] Change the format used in loggers to print the line with the function name

[5.1.3] - 28-09-2021

Bug Fixes

  • [QA-2618] Consider more error types when transforming to ResourceError

  • [QA-2626] Delete session info when restore is not possible because the session is no longer valid

  • [QA-2628] Fix typo in attended transfer permission

  • [XXX-549] Tab bar’s badge counter of new messages is not working correctly.

[5.1.2] - 19-08-2021

Bug Fixes

  • [XXX-531] Chat messages are not retrieved in the correct order when loading messages history

[5.1.1] - 05-08-2021

Chores

  • [QUOBDEV-1298] Remove RX’s debug messages

  • [QUOBDEV-1309] Add verbose level to SippoServer logger

[5.1.0] - 22-07-2021

Bug Fixes

  • [XXX-540] Make the access to the Sippo-Server request store sequential

Features

  • [ROAD-1763] Add code error 409 as an error type

[5.0.7] - 16-07-2021

Bug Fixes

  • [FERMAX-155] Map error when fetching the conference log entries

[5.0.6] - 09-07-2021

Bug Fixes

  • [FERMAX-154] Change semaphore management used when connecting to Janus in order to release it if any scape condition is matched

[5.0.5] - 07-07-2021

Bug Fixes

  • [FERMAX-150] Add existAnyConferenceWithInvitation method as part of public callbacks API

Chores

  • [QUOBDEV-1275] Add a script to tag a version and generate the related changelog

[5.0.4] - 23-06-2021

Bug Fixes

  • [XXX-530] Catch the error for the request to get the contact associated to a user when resolving the display name

[5.0.3] - 17-06-2021

Bug Fixes

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

Code Refactors

  • [QUOBDEV-1249] Remove unused conference errors

[5.0.2] - 07-06-2021

Bug Fixes

  • [ROOM-286] Manage concurrency problems when fetching chat messages

[5.0.1] - 07-06-2021

Bug Fixes

  • [QA-2079] Retain AuthService

  • [QA-2085] Check socket response as String

[5.0.0] - 07-06-2021

Bug Fixes

  • [QA-1963] Match mam messages with element id

Chores

  • [QUOBDEV-1116] Add script in order to build the project with Xcode 12

Features

  • [QUOBDEV-922] Expose the groupId for contacts with source group

  • [QUOBDEV-908] Use WebSocket instead of Socket.io for WAC connection

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.

[4.4.0] - 07-06-2021

Features

  • [QUOBDEV-1135] Check behavior of iOS quickstart v4.3

[4.3.2] - 19-05-2021

Bug Fixes

  • [QA-2087] Avoid to check the number of participants when transferring a conference in the client side

[4.3.1] - 07-05-2021

Bug Fixes

  • [QUOBDEV-1174] Add code 480 as a possible response for invites

  • [QUOBDEV-1182] Increase the timeout for invitation request from 60 to 120 sec

[4.3.0] - 02-03-2021

Bug Fixes

  • [QA-1957] Avoid XMPP reconnections if the client state is new

  • [QA-1956] Add a new rule for building paths with query params

Features

  • [QUOBDEV-1065] Add param to filter expired alerts when fetching them

  • [QUOBDEV-990] Add events for expired and cancelled alerts

[4.2.0] - 19-02-2021

Bug Fixes

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

Features

  • [XXX-418] Resolve from field in message to display name

  • [QUOBDEV-988] Allow to fetch active alerts and accepted alerts finishes in a certain time interval

[4.1.0] - 01-02-2021

Bug Fixes

  • [XXX-454] Use observeOn when adding publishers in RoomParticipants

Features

  • [QUOBDEV-940] Expose user role

  • [QUOBDEV-847] Add alerts capability

[4.0.1] - 12-01-2021

Bug Fixes

  • [QUOBDEV-854] Fix domain path for addressbooks events

Chores

  • [QUOBDEV-859] Fix XMPPFramework version to 4.0.0

Code Refactors

  • [QUOBDEV-879] Remove unused contact sources

[4.0.0] - 07-01-2021

Code Refactors

  • [QUOBDEV-845] Modify the accept alert method to receive the alert ID instead the alert itself

Features

  • [QUOBDEV-743] Add alerts api

  • [QUOBDEV-846] Add Agenda service (userContacts, addressbooks)

  • [QUOBDEV-855] Expose conference invitation from as participant

[3.1.0] - 18-12-2020

Bug Fixes

  • [FOEHN-545] Add domain to chat creation

Features

  • [QUOBDEV-746] Emit needs new session on server side disconnected