StreamChat iOS SDK CHANGELOG

The format is based on Keep a Changelog.

Upcoming

๐Ÿ”„ Changed

4.34.0

July 05, 2023

StreamChat

โœ… Added

๐Ÿž Fixed

StreamChatUI

โœ… Added

๐Ÿž Fixed

๐Ÿ”„ Changed

4.33.0

June 08, 2023

StreamChat

โœ… Added

๐Ÿž Fixed

StreamChatUI

โœ… Added

4.32.0

May 26, 2023

StreamChat

โœ… Added

๐Ÿž Fixed

StreamChatUI

โœ… Added

๐Ÿž Fixed

4.31.0

April 25, 2023

StreamChat

โœ… Added

๐Ÿž Fixed

StreamChatUI

โœ… Added

๐Ÿž Fixed

โš ๏ธ Known Issue

When changing the text accessibility while the app is running, it won't affect the message cell text, only after closing the app. So this is a regression of #2325. This regression is necessary, since the original fix did not work 100% as it changed the text font size after closing the app, causing the font to be too big when the text accessibility is set to large. If you still want to have the dynamic font size to be working while the app is running, there is a workaround. You need to return a new UIFont instance everytime in ChatMessageContentView.defaultMessageFont. Example:

override var defaultMessageFont: UIFont {
    UIFont.preferredFont(forTextStyle: .body)
}

For more details, you can read the documentation of ChatMessageContentView.defaultMessageFont or read the PR #2575.

4.30.0

March 30, 2023

StreamChat

โœ… Added

๐Ÿž Fixed

StreamChatUI

๐Ÿ”„ Changed

โœ… Added

๐Ÿž Fixed

4.29.0

March 17, 2023

StreamChat

โœ… Added

๐Ÿž Fixed

StreamChatUI

๐Ÿ”„ Changed

โœ… Added

4.28.0

February 28, 2023

StreamChat

๐Ÿ”„ Changed

๐Ÿž Fixed

4.27.1

February 20, 2023

StreamChat

๐Ÿž Fixed

StreamChat

โœ… Added

4.27.0

February 16, 2023

StreamChat

โœ… Added

๐Ÿ”„ Changed

๐Ÿž Fixed

StreamChatUI

๐Ÿ”„ Changed

๐Ÿž Fixed

4.26.0

January 11, 2023

StreamChat

๐Ÿ”„ Changed

๐Ÿž Fixed

StreamChatUI

โœ… Added

๐Ÿž Fixed

4.25.1

January 06, 2023

StreamChat

๐Ÿž Fixed

4.25.0

December 15, 2022

StreamChat

๐Ÿ”„ Changed

โœ… Added

๐Ÿž Fixed

StreamChatUI

๐Ÿž Fixed

4.24.1

November 23, 2022

StreamChat

๐Ÿž Fixed

4.24.0

November 15, 2022

StreamChat

๐Ÿ”„ Changed

โœ… Added

๐Ÿž Fixed

StreamChatUI

๐Ÿž Fixed

4.23.0

October 27, 2022

StreamChat

โœ… Added

๐Ÿž Fixed

StreamChatUI

โœ… Added

๐Ÿž Fixed

๐Ÿšจ Minor Breaking Changes

Although we don't usually ship breaking changes in minor releases, in some cases where they are minimal and important, we have to do them to keep improving the SDK long-term. Either way, these changes are for advanced customizations which won't affect most of the customers.

4.22.0

September 26, 2022

StreamChat

โœ… Added

๐Ÿž Fixed

StreamChatUI

โœ… Added

๐Ÿž Fixed

4.21.2

September 19, 2022

StreamChatUI

๐Ÿž Fixed

4.21.1

September 06, 2022

StreamChatUI

๐Ÿž Fixed

4.21.0

September 01, 2022

๐Ÿšจ Known Issue: There is a crash on iOS <15 when inserting messages in an empty list, please update to 4.21.1

StreamChat

๐Ÿ”„ Changed

๐Ÿž Fixed

StreamChatUI

๐Ÿ”„ Changed

๐Ÿž Fixed

4.20.0

August 02, 2022

StreamChat

โœ… Added

๐Ÿž Fixed

StreamChatUI

โœ… Added

4.19.0

July 21, 2022

StreamChat

โœ… Added

๐Ÿž Fixed

StreamChatUI

๐Ÿž Fixed

4.18.0

July 05, 2022

StreamChat

โœ… Added

๐Ÿ”„ Changed

๐Ÿž Fixed

StreamChatUI

๐Ÿž Fixed

4.17.0

June 22, 2022

StreamChat

โœ… Added

๐Ÿž Fixed

๐Ÿ”„ Changed

StreamChatUI

โœ… Added

๐Ÿž Fixed

4.16.0

June 10, 2022

StreamChat

๐Ÿ’ฅ Removed

โœ… Added

๐Ÿž Fixed

๐Ÿ”„ Changed

StreamChatUI

โœ… Added

๐Ÿž Fixed

4.15.1

June 01, 2022

This release does not contain any code changes.

๐Ÿ”„ Changed

4.15.1

June 01, 2022

This release does not contain any code changes.

๐Ÿ”„ Changed

4.15.1

June 01, 2022

This release does not contain any code changes.

๐Ÿ”„ Changed

4.15.0

May 11, 2022

StreamChat

โœ… Added

๐Ÿž Fixed

๐Ÿ”„ Changed

StreamChatUI

๐Ÿ”„ Changed

โœ… Added

๐Ÿž Fixed

4.14.0

April 26, 2022

StreamChat

โœ… Added

๐Ÿ”„ Changed

๐Ÿž Fixed

StreamChatUI

๐Ÿ’ฅ Removed

๐Ÿ”„ Changed

โœ… Added

๐Ÿž Fixed

4.13.1

April 04, 2022

StreamChat

๐Ÿšจ Fixed

4.13.0

March 29, 2022

StreamChat

โœ… Added

๐Ÿž Fixed

StreamChatUI

โš ๏ธ Changed

โœ… Added

๐Ÿž Fixed

4.12.0

March 16, 2022

StreamChat

โœ… Added

๐Ÿž Fixed

StreamChatUI

๐Ÿ”„ Changed

โœ… Added

๐Ÿž Fixed

4.11.0

March 01, 2022

โœ… Added

๐Ÿž Fixed

4.10.1

February 16, 2022

๐Ÿ”„ Changed

๐Ÿž Fixed

4.10.0

February 01, 2022

โœ… Added

๐Ÿ”„ Changed

๐Ÿž Fixed

4.9.0

January 18, 2022

โœ… Added

๐Ÿž Fixed

4.8.0

January 4, 2022

โœ… Added

๐Ÿž Fixed

4.7.0

December 28, 2021

โœ… Added

๐Ÿž Fixed

4.6.0

December 20, 2021

โš ๏ธ Important

๐Ÿ”„ Changed

๐Ÿž Fixed

โœ… Added

4.5.2

December 10, 2021

๐Ÿž Fixed

4.5.1

December 01, 2021

๐Ÿž Fixed

๐Ÿ”„ Changed

4.5.0

November 16, 2021

๐Ÿž Fixed

โœ… Added

4.4.0

November 11, 2021

๐Ÿž Fixed

โœ… Added

4.3.0

November 03, 2021

๐Ÿž Fixed

๐Ÿ”„ Changed

โœ… Added

4.2.0

October 26, 2021

โœ… Added

๐Ÿž Fixed

๐Ÿ”„ Changed

4.1.0

October 12, 2021

๐Ÿž Fixed

โœ… Added

๐Ÿ”„ Changed

4.0.4

October 06, 2021

๐Ÿž Fixed

๐Ÿ”„ Changed

4.0.3

October 01, 2021

โœ… Added

๐Ÿž Fixed

4.0.2

September 24, 2021

โœ… Added

๐Ÿž Fixed

๐Ÿ”„ Changed

4.0.1

September 17, 2021

โœ… Added

๐Ÿž Fixed

๐Ÿ”„ Changed

๐Ÿž Fixed

4.0.0

September 10, 2021

๐Ÿ”„ Changed

4.0.0-RC.1

September 09, 2021

๐Ÿž Fixed

4.0.0-RC

September 03, 2021

โš ๏ธ Breaking Changes from 4.0-beta.11

Understanding ChatChannelVC vs ChatTheadVC vs ChatMessageListVC

A new ChatChannelVC is introduced that represents the old ChatMessageListVC, which was responsible to display the messages from a channel. The ChatThreadVC remains the same and it is responsible for displaying the replies in a thread, but now instead of duplicating the implementation from the channel, both use the ChatMessageListVC and configure it for their needs. For this to be possible the ChatMessageListVC has now a ChatMessageListVCDataSource and ChatMessageListVCDelegate. Both ChatChannelVC and ChatThreadVC implement the ChatMessageListVCDataSource and ChatMessageListVCDelegate.

๐Ÿ”„ Changed

โœ… Added

๐Ÿž Fixed

4.0.0-beta.11

August 13, 2021

๐Ÿž Fixed

4.0.0-beta.10

August 11, 2021

โœ… Added

๐Ÿ”„ Changed

๐Ÿž Fixed

4.0.0-beta.9

August 05, 2021

โš ๏ธ Breaking Changes from 4.0-beta.8

New Extra Data Type

The new 4.0 release changes how extraData is stored and uses a simpler hashmap-based solution. This approach does not require creating type aliases for all generic classes such as ChatClient.

Example:

client.connectUser(
    userInfo: .init(
        id: userCredentials.id,
        extraData: ["country": .string("NL")]
    ),
    token: token
)

Message, User, Channel, MessageReaction models now store extraData in a [String: RawJSON] container.

let extraData:[String: RawJSON] = .dictionary([
    "name": .string(testPayload.name),
    "number": .integer(testPayload.number)
])

Upgrading from ExtraData

If you are using ExtraData from v3 or before 4.0-beta.8 the steps needed to upgrade are the following:

Before:

struct Birthland: UserExtraData {
    static var defaultValue = Birthland(birthLand: "")
    let birthLand: String
}

After:

extension ChatUser {
    static let birthLandFieldName = "birthLand"
    var birthLand: String {
        guard let v = extraData[ChatUser.birthLandFieldName] else {
            return ""
        }
        guard case let .string(birthLand) = v else {
            return ""
        }
        return birthLand
    }
}

โœ… Added

๐Ÿž Fixed

๐Ÿ”„ Changed

4.0.0-beta.8

July 21, 2021

โœ… Added

๐Ÿž Fixed

4.0.0-beta.7

July 19, 2021

โš ๏ธ Breaking Changes from 4.0-beta.6

๐Ÿ”„ Changed

๐Ÿž Fixed

โœ… Added

/// All deleted messages are always hidden.
case alwaysHidden

/// Deleted message by current user are visible, other deleted messages are hidden.
case visibleForCurrentUser

/// Deleted messages are always visible.
case alwaysVisible

๐Ÿž Fixed

๐Ÿ”„ Changed

4.0.0-beta.6

July 08, 2021

๐Ÿž Fixed

4.0.0-beta.5

July 07, 2021

โš ๏ธ Breaking Changes from 4.0-beta.4

โœ… Added

๐Ÿ”„ Changed

๐Ÿž Fixed

4.0.0-beta.4

June 23, 2021

โš ๏ธ Breaking Changes from 4.0-beta.3

โœ… Added

๐Ÿ”„ Changed

๐Ÿž Fixed

4.0.0-beta.3

June 11, 2021

โš ๏ธ Breaking Changes from 4.0.0-beta.2

โ›”๏ธ Deprecated

โœ… Added

๐Ÿ”„ Changed

๐Ÿž Fixed

4.0.0-beta.2

June 04, 2021

โš ๏ธ Breaking Changes from 4.0-beta.1

Severity of changes: ๐ŸŸข minor

โœ… Added

๐Ÿž Fixed

๐Ÿ”„ Changed

4.0-beta.1

May 21, 2021

โœ… Added

๐Ÿž Fixed

๐Ÿ”„ Changed

3.1.9

May 03, 2021

โœ… Added

๐Ÿž Fixed

3.1.8

April 23, 2021

๐Ÿž Fixed

3.1.7

April 23, 2021

๐Ÿž Fixed

โœ… Added

๐Ÿ”„ Changed

โ›”๏ธ Deprecated

3.1.5

April 09, 2021

โœ… Added

๐Ÿž Fixed

๐Ÿ”„ Changed

3.1.4

March 29, 2021

๐Ÿž Fixed

โœ… Added

๐Ÿ”„ Changed

โ›”๏ธ Deprecated

3.1.3

March 12, 2021

๐Ÿž Fixed

โœ… Added

3.1.2

March 09, 2021

โœ… Added

๐Ÿ”„ Changed

๐Ÿž Fixed

3.1.1

February 26, 2021

๐Ÿž Fixed

3.1.0

February 22, 2021

๐Ÿž Fixed

๐Ÿ”„ Changed

3.0.2

February 12, 2021

StreamChat

โœ… Added

๐Ÿ”„ Changed

๐Ÿž Fixed

๐Ÿšฎ Removed

3.0.1

February 2nd, 2021

StreamChat

โœ… Added

๐Ÿ”„ Changed

๐Ÿž Fixed

3.0

January 22nd, 2021

StreamChat SDK reaches another milestone with version 3.0 ๐ŸŽ‰

New features:

To use the new version of the framework, add to your Podfile:

pod 'StreamChat', '~> 3.0'

โš ๏ธ Breaking Changes โš ๏ธ

In order to provide new features like offline support and SwiftUI wrappers, we had to make notable breaking changes to the public API of the SDKs.

Please don't upgrade to version 3.0 before you get familiar with the changes and their impact on your codebase.

To prevent CocoaPods from updating StreamChat to version 3, you can explicitly pin the SDKs to versions 2.x in your podfile:

pod 'StreamChat', '~> 2.0'
pod 'StreamChatCore', '~> 2.0' # if needed
pod 'StreamChatClient', '~> 2.0' # if needed

The framework naming and overall structure were changed. Since version 3.0, Stream Chat iOS SDK consists of:

StreamChat framework

Contains low-level logic and is meant to be used by users who want to build a fully custom UI. It covers functionality previously provided by StreamChatCore and StreamChatClient.

StreamChat UI framework (currently in public beta)

Contains a complete set of ready-to-use configurable UI elements that you can customize a use for building your own chat UI. It covers functionality previously provided by StreamChat.

Sample App

The best way to explore the SDKs and their usage is our sample app. It contains an example implementation of a simple IRC-style chat app using the following patterns:

Documentation Quick Links