CHANGELOG

The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.


Upcoming

🔄 Changed

2.6.4

February 19, 2021

🔄 Changed

🐞 Fixed

2.6.3

January 15, 2021

Added

🐞 Fixed

2.6.2

December 31, 2020

🐞 Fixed

2.6.1

December 17, 2020

🐞 Fixed

2.6.0

December 11, 2020

Added

2.5.0

November 26, 2020

Added

🔄 Changed

🐞 Fixed

2.4.2

November 13, 2020

🔄 Changed

🐞 Fixed

2.4.1

October 23, 2020

Added

🐞 Fixed

2.4.0

October 01, 2020

🔄 Changed

Added

2.3.3

September 25, 2020

Added

🐞 Fixed

2.3.2

September 04, 2020

Added

🐞 Fixed

2.3.1

August 31, 2020

🔄 Changed

🐞 Fixed

2.3.0

August 31, 2020

Added

🔄 Changed

🐞 Fixed

2.2.9

August 12, 2020

Added

🐞 Fixed

2.2.8

August 07, 2020

Added

🔄 Changed

🐞 Fixed

2.2.7

July 29, 2020

Added

🔄 Changed

🐞 Fixed

2.2.6

July 07, 2020

Added

🐞 Fixed

2.2.5

June 24, 2020

⚠️ Deprecated

Added

🐞 Fixed

2.2.4

June 12, 2020

Added

🔄 Changed

🐞 Fixed

2.2.3

June 05, 2020

Added

🔄 Changed

🐞 Fixed

2.2.2

May 27, 2020

Added

2.2.1

May 19, 2020

Added

🔄 Changed

🐞 Fixed

let anotherUser = User(id: "second")
anotherUser.name = "John"
anotherUser.avatarURL = URL(string: "http://example.com/john")

let channel = client.channel(members: [client.user, anotherUser])
print(channel.name) // will print "John"
print(channel.imageURL) // will print "http://example.com/john"

2.2.0

May 08, 2020

Added

🔄 Changed

🐞 Fixed

2.1.1

May 01, 2020

🐞 Fixed

2.1.0

April 29, 2020

⚠️ Breaking Changes

func sendImage(data: Data, 
               fileName: String, 
               mimeType: String, 
               channel: Channel,
               progress: @escaping Client.Progress, 
               completion: @escaping Client.Completion<URL>) -> Cancellable

func sendFile(data: Data,
              fileName: String,
              mimeType: String,
              channel: Channel,
              progress: @escaping Client.Progress,
              completion: @escaping Client.Completion<URL>) -> Cancellable
              
func deleteImage(url: URL, channel: Channel, _ completion: @escaping Client.Completion<EmptyData> = { _ in }) -> Cancellable

func deleteFile(url: URL, channel: Channel, _ completion: @escaping Client.Completion<EmptyData> = { _ in }) -> Cancellable

🔄 Changed

Added

presenter.uploadManager = UploadManager(uploader: customUploader)

ChannelsViewController:

open func updateChannelCellAvatarView(in cell: ChannelTableViewCell, channel: Channel)

ChatViewController:

open func updateMessageCellAvatarView(in cell: MessageTableViewCell, message: Message, messageStyle: MessageViewStyle)
open func updateFooterTypingUserAvatarView(footerView: ChatFooterView, user: User)
  presenter.uploadManager = UploadManager(uploader: customUploader)

🐞 Fixed

2.0.1

April 3, 2020

🐞 Fixed

2.0.0

April 2, 2020

StreamChat 2.0 here and it's brand new 🚀

We've added/removed/fixed/changed a lot of stuff, so it's fair to say that StreamChat 2.0 is everything you've liked about 1.x and nothing you didn't like about it 😄

Most importantly:

Aside from those, we fixed tons of bugs and polished our API. Now it should be more Swifty 🎉

We're working hard on migration guide for our 1.x users and will publish it shortly. You can check out updated docs here

1.6.2

April 2, 2020

🐞 Fixed

1.6.1

March 18, 2020

🐞 Fixed

1.6.0

March 10, 2020

⚠️ Breaking Changes

Added

🐞 Fixed

1.5.7

♥️ February 14, 2020 ♥️

🐞 Fixed

1.5.6

February 11, 2020

🔄 Changed

Added

🐞 Fixed

1.5.5

January 24, 2020

🔄 Changed

Added

🐞 Fixed

1.5.4

December 16th, 2019

⚠️ Breaking Changes

🔄 Changed

Added

🐞 Fixed

1.5.3-ui

November 27th, 2019

Fix tap on a link with disabled reactions.

1.5.2

November 27th, 2019

Added

Fixed

1.5.1

November 26th, 2019

Changed

Fixed

1.5.0

November 23th, 2019

Added

AdditionalDateStyle.messageAndDate . . . AdditionalDateStyle.userNameAndDate

. . .

Changed

Fixed

1.4.4

November 14th, 2019

Fixed DataDetector.

1.4.3

November 14th, 2019

Added

// The current unread count.
let count: Int = channel.currentMentionedUnreadCount

// An observable unread count.
channel.mentionedUnreadCount
.drive(onNext: { count in
print(count)
})
.disposed(by: disposeBag)

1.4.2

November 12th, 2019

Added

1.4.1-ui

November 11th, 2019

Fixed ComposerView for a keyboard position with different orientations and opaque Tabbar.

1.4.0

November 8th, 2019

⚠️ The update contains breaking changes.

Added

/// Disabled for everyone.
case disabled

/// Enabled for everyone.
/// The default timeout in minutes until the ban is automatically expired.
/// The default reason the ban was created.
case enabled(timeoutInMinutes: Int?, reason: String?)

/// Enabled for channel members with a role of moderator or admin.
/// The default timeout in minutes until the ban is automatically expired.
/// The default reason the ban was created.
case enabledForModerators(timeoutInMinutes: Int?, reason: String?)
// 1. Invite members with a creating of a new channel
let channel = Channel(type: .messaging,
id: "awesome-chat", 
members: [tomasso, thierry]
invitedMembers: [nick])

channel.create().subscribe().disposed(by: disposeBag)

// 2. Invite user(s) to an existing channel.
channel.invite(nick).subscribe().disposed(by: disposeBag)

Renamed

Changed

typealias DidSetCallback = (T?) -> Void

to:

typealias DidSetCallback = (_ value: T?, _ oldValue: T?) -> Void

Fixed

1.3.21

October 24th, 2019

1.3.20

October 22th, 2019

Added

1.3.19

October 21th, 2019

Fixed

1.3.18

October 21th, 2019

Breaking changes