Skip to content

Conversation

@Stream-SDK-Bot
Copy link
Collaborator

StreamChat

✅ Added

  • Add ChatClientConfig.isAutomaticSyncOnReconnectEnabled for toggling automatic syncing #3879

⚡️ Performance

  • Reduce SDK size by converting Events from structs to classes #3878

🔄 Changed

  • Change Events from structs to classes #3878

@Stream-SDK-Bot Stream-SDK-Bot requested a review from a team as a code owner November 18, 2025 11:08
@coderabbitai
Copy link

coderabbitai bot commented Nov 18, 2025

Important

Review skipped

Auto reviews are disabled on base/target branches other than the default branch.

Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

✨ Finishing touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch release/4.93.0

Tip

📝 Customizable high-level summaries are now available in beta!

You can now customize how CodeRabbit generates the high-level summary in your pull requests — including its content, structure, tone, and formatting.

  • Provide your own instructions using the high_level_summary_instructions setting.
  • Format the summary however you like (bullet lists, tables, multi-section layouts, contributor stats, etc.).
  • Use high_level_summary_in_walkthrough to move the summary from the description to the walkthrough section.

Example instruction:

"Divide the high-level summary into five sections:

  1. 📝 Description — Summarize the main change in 50–60 words, explaining what was done.
  2. 📓 References — List relevant issues, discussions, documentation, or related PRs.
  3. 📦 Dependencies & Requirements — Mention any new/updated dependencies, environment variable changes, or configuration updates.
  4. 📊 Contributor Summary — Include a Markdown table showing contributions:
    | Contributor | Lines Added | Lines Removed | Files Changed |
  5. ✔️ Additional Notes — Add any extra reviewer context.
    Keep each section concise (under 200 words) and use bullet or numbered lists for clarity."

Note: This feature is currently in beta for Pro-tier users, and pricing will be announced later.


Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@Stream-SDK-Bot
Copy link
Collaborator Author

SDK Size

title previous release current release diff status
StreamChat 7.88 MB 7.25 MB -647 KB 🚀
StreamChatUI 4.89 MB 4.89 MB 0 KB 🟢

@Stream-SDK-Bot
Copy link
Collaborator Author

StreamChat XCSize

Object Diff (bytes)
NotificationEvents.o -297643
ThreadEvents.o -181870
ChannelEvents.o -164961
ReactionEvents.o -19080
UserEvents.o -4090
Show 28 more objects
Object Diff (bytes)
PollsEvents.o -2954
ManualEventHandler.o +2832
LivestreamChannelController.o -1548
AITypingEvents.o +1198
MemberEvents.o +998
SyncRepository.o +996
ChannelListLinker.o -992
EventsController.o -972
PollVoteListController.o -480
ConnectionEvents.o -254
PollController.o -228
ChatClientConfig.o +224
MessageEvents.o -204
Thread.o +176
ChannelQuery.o +172
EventType.o +144
UserTypingStateUpdaterMiddleware.o -140
ConnectionController.o -140
Deprecations.o +128
WebSocketClient.o -126
CurrentUser.o +80
DraftEvents.o -68
ReminderEvents.o -64
TypingStartCleanupMiddleware.o -62
TypingEvent.o +57
ThreadParticipant.o +52
MemberController.o +44
DraftMessage.o -44

@Stream-SDK-Bot
Copy link
Collaborator Author

StreamChatUI XCSize

Object Diff (bytes)
ChatThreadListVC.o -104
ChatThreadVC.o -52

@github-actions
Copy link

1 Warning
⚠️ Big PR

Generated by 🚫 Danger

@github-actions
Copy link

Public Interface

+ public final class NotificationChannelDeletedEvent: ChannelSpecificEvent  
+ 
+   public let cid: ChannelId
+   public let channel: ChatChannel
+   public let createdAt: Date

+ public final class NotificationMessageNewEvent: ChannelSpecificEvent, HasUnreadCount  
+ 
+   public var cid: ChannelId
+   public let channel: ChatChannel
+   public let message: ChatMessage
+   public let createdAt: Date
+   public let unreadCount: UnreadCount?

+ public final class ReactionDeletedEvent: ChannelSpecificEvent  
+ 
+   public let user: ChatUser
+   public let cid: ChannelId
+   public let message: ChatMessage
+   public let reaction: ChatMessageReaction
+   public let createdAt: Date

+ public final class UserPresenceChangedEvent: Event  
+ 
+   public let user: ChatUser
+   public let createdAt: Date?

+ public final class NotificationMarkReadEvent: ChannelSpecificEvent, HasUnreadCount  
+ 
+   public let user: ChatUser
+   public let cid: ChannelId
+   public let unreadCount: UnreadCount?
+   public let lastReadMessageId: MessageId?
+   public let createdAt: Date

+ public final class NotificationChannelMutesUpdatedEvent: Event  
+ 
+   public let currentUser: CurrentChatUser
+   public let createdAt: Date

+ public final class UserGloballyBannedEvent: Event  
+ 
+   public let user: ChatUser
+   public let createdAt: Date

+ public final class UserUpdatedEvent: Event  
+ 
+   public let user: ChatUser
+   public let createdAt: Date?

+ public final class ConnectionStatusUpdated: Event  
+ 
+   public let connectionStatus: ConnectionStatus

+ public final class ReactionNewEvent: ChannelSpecificEvent  
+ 
+   public let user: ChatUser
+   public let cid: ChannelId
+   public let message: ChatMessage
+   public let reaction: ChatMessageReaction
+   public let createdAt: Date

+ public final class PollUpdatedEvent: Event  
+ 
+   public let poll: Poll
+   public let createdAt: Date?

+ public final class CleanUpTypingEvent: Event  
+ 
+   public let cid: ChannelId
+   public let userId: UserId

+ public final class UserGloballyUnbannedEvent: Event  
+ 
+   public let user: ChatUser
+   public let createdAt: Date

+ public final class ThreadMessageNewEvent: Event  
+ 
+   public let message: ChatMessage
+   public var cid: ChannelId
+   public let channel: ChatChannel
+   public let unreadCount: UnreadCount
+   public let createdAt: Date

+ public final class UserWatchingEvent: ChannelSpecificEvent  
+ 
+   public let cid: ChannelId
+   public let createdAt: Date
+   public let user: ChatUser
+   public let watcherCount: Int
+   public let isStarted: Bool

+ public final class ChannelTruncatedEvent: ChannelSpecificEvent  
+ 
+   public var cid: ChannelId
+   public let channel: ChatChannel
+   public let user: ChatUser?
+   public let message: ChatMessage?
+   public let createdAt: Date

+ public final class NotificationInviteAcceptedEvent: MemberEvent, ChannelSpecificEvent  
+ 
+   public let user: ChatUser
+   public var cid: ChannelId
+   public let channel: ChatChannel
+   public let member: ChatChannelMember
+   public let createdAt: Date

+ public final class NotificationMarkAllReadEvent: Event, HasUnreadCount  
+ 
+   public let user: ChatUser
+   public let unreadCount: UnreadCount?
+   public let createdAt: Date

+ public final class PollCreatedEvent: Event  
+ 
+   public let poll: Poll
+   public let createdAt: Date?

+ public final class PollVoteRemovedEvent: Event  
+ 
+   public let vote: PollVote
+   public let poll: Poll
+   public let createdAt: Date?

+ public final class PollVoteCastedEvent: Event  
+ 
+   public let vote: PollVote
+   public let poll: Poll
+   public let createdAt: Date?

+ public final class UserBannedEvent: ChannelSpecificEvent  
+ 
+   public let cid: ChannelId
+   public let user: ChatUser
+   public let ownerId: UserId
+   public let createdAt: Date?
+   public let reason: String?
+   public let expiredAt: Date?
+   public let isShadowBan: Bool?

+ public final class TypingEvent: ChannelSpecificEvent  
+ 
+   public let isTyping: Bool
+   public let cid: ChannelId
+   public let user: ChatUser
+   public let parentId: MessageId?
+   public let createdAt: Date
+   public var isThread: Bool

+ public final class AIIndicatorStopEvent: CustomEventPayload, Event  
+ 
+   public static var eventType: EventType
+   public let cid: ChannelId?
+   
+ 
+   public init(cid: ChannelId?)
+   
+ 
+   public func hash(into hasher: inout Hasher)
+   public static func ==(lhs: AIIndicatorStopEvent,rhs: AIIndicatorStopEvent)-> Bool

+ public final class NotificationInvitedEvent: MemberEvent, ChannelSpecificEvent  
+ 
+   public let user: ChatUser
+   public let cid: ChannelId
+   public let member: ChatChannelMember
+   public let createdAt: Date

+ public final class ThreadUpdatedEvent: Event  
+ 
+   public let thread: ChatThread
+   public let createdAt: Date?

+ public final class PollClosedEvent: Event  
+ 
+   public let poll: Poll
+   public let createdAt: Date?

+ public final class NotificationAddedToChannelEvent: ChannelSpecificEvent, HasUnreadCount  
+ 
+   public var cid: ChannelId
+   public let channel: ChatChannel
+   public let unreadCount: UnreadCount?
+   public let member: ChatChannelMember
+   public let createdAt: Date

+ public final class ChannelHiddenEvent: ChannelSpecificEvent  
+ 
+   public let cid: ChannelId
+   public let user: ChatUser
+   public let isHistoryCleared: Bool
+   public let createdAt: Date

+ public final class NotificationRemovedFromChannelEvent: ChannelSpecificEvent  
+ 
+   public let user: ChatUser
+   public let cid: ChannelId
+   public let member: ChatChannelMember
+   public let createdAt: Date

+ public final class NotificationMutesUpdatedEvent: Event  
+ 
+   public let currentUser: CurrentChatUser
+   public let createdAt: Date

+ public final class AIIndicatorClearEvent: Event  
+ 
+   public let cid: ChannelId?

+ public final class AIIndicatorUpdateEvent: Event  
+ 
+   public let state: AITypingState
+   public let cid: ChannelId?
+   public let messageId: MessageId?
+   public let aiMessage: String?

+ public final class PollVoteChangedEvent: Event  
+ 
+   public let vote: PollVote
+   public let poll: Poll
+   public let createdAt: Date?

+ public final class ReactionUpdatedEvent: ChannelSpecificEvent  
+ 
+   public let user: ChatUser
+   public let cid: ChannelId
+   public let message: ChatMessage
+   public let reaction: ChatMessageReaction
+   public let createdAt: Date

+ public final class MemberRemovedEvent: MemberEvent, ChannelSpecificEvent  
+ 
+   public let user: ChatUser
+   public let cid: ChannelId
+   public let createdAt: Date

+ public final class NotificationMarkUnreadEvent: ChannelSpecificEvent  
+ 
+   public let user: ChatUser
+   public let cid: ChannelId
+   public let createdAt: Date
+   public let firstUnreadMessageId: MessageId
+   public let lastReadMessageId: MessageId?
+   public let lastReadAt: Date
+   public let unreadCount: UnreadCount
+   public let unreadMessagesCount: Int

+ public final class ChannelUpdatedEvent: ChannelSpecificEvent  
+ 
+   public var cid: ChannelId
+   public let channel: ChatChannel
+   public let user: ChatUser?
+   public let message: ChatMessage?
+   public let createdAt: Date

+ public final class ChannelVisibleEvent: ChannelSpecificEvent  
+ 
+   public let cid: ChannelId
+   public let user: ChatUser
+   public let createdAt: Date

+ public final class MemberUpdatedEvent: MemberEvent, ChannelSpecificEvent  
+ 
+   public let user: ChatUser
+   public let cid: ChannelId
+   public let member: ChatChannelMember
+   public let createdAt: Date

+ public final class PollDeletedEvent: Event  
+ 
+   public let poll: Poll
+   public let createdAt: Date?

+ public final class ChannelDeletedEvent: ChannelSpecificEvent  
+ 
+   public var cid: ChannelId
+   public let channel: ChatChannel
+   public let user: ChatUser?
+   public let createdAt: Date

+ public final class NotificationInviteRejectedEvent: MemberEvent, ChannelSpecificEvent  
+ 
+   public let user: ChatUser
+   public var cid: ChannelId
+   public let channel: ChatChannel
+   public let member: ChatChannelMember
+   public let createdAt: Date

+ public final class MemberAddedEvent: MemberEvent, ChannelSpecificEvent  
+ 
+   public let user: ChatUser
+   public let cid: ChannelId
+   public let member: ChatChannelMember
+   public let createdAt: Date

+ public final class UserMessagesDeletedEvent: Event  
+ 
+   public let user: ChatUser
+   public let hardDelete: Bool
+   public let createdAt: Date

+ public final class UserUnbannedEvent: ChannelSpecificEvent  
+ 
+   public let cid: ChannelId
+   public let user: ChatUser
+   public let createdAt: Date?

- public struct NotificationMutesUpdatedEvent: Event  
- 
-   public let currentUser: CurrentChatUser
-   public let createdAt: Date

- public struct NotificationInviteAcceptedEvent: MemberEvent, ChannelSpecificEvent  
- 
-   public let user: ChatUser
-   public var cid: ChannelId
-   public let channel: ChatChannel
-   public let member: ChatChannelMember
-   public let createdAt: Date

- public struct MemberUpdatedEvent: MemberEvent, ChannelSpecificEvent  
- 
-   public let user: ChatUser
-   public let cid: ChannelId
-   public let member: ChatChannelMember
-   public let createdAt: Date

- public struct PollClosedEvent: Event  
- 
-   public let poll: Poll
-   public let createdAt: Date?

- public struct ChannelVisibleEvent: ChannelSpecificEvent  
- 
-   public let cid: ChannelId
-   public let user: ChatUser
-   public let createdAt: Date

- public struct ChannelDeletedEvent: ChannelSpecificEvent  
- 
-   public var cid: ChannelId
-   public let channel: ChatChannel
-   public let user: ChatUser?
-   public let createdAt: Date

- public struct ReactionNewEvent: ChannelSpecificEvent  
- 
-   public let user: ChatUser
-   public let cid: ChannelId
-   public let message: ChatMessage
-   public let reaction: ChatMessageReaction
-   public let createdAt: Date

- public struct UserMessagesDeletedEvent: Event  
- 
-   public let user: ChatUser
-   public let hardDelete: Bool
-   public let createdAt: Date

- public struct PollVoteCastedEvent: Event  
- 
-   public let vote: PollVote
-   public let poll: Poll
-   public let createdAt: Date?

- public struct ChannelHiddenEvent: ChannelSpecificEvent  
- 
-   public let cid: ChannelId
-   public let user: ChatUser
-   public let isHistoryCleared: Bool
-   public let createdAt: Date

- public struct MemberRemovedEvent: MemberEvent, ChannelSpecificEvent  
- 
-   public let user: ChatUser
-   public let cid: ChannelId
-   public let createdAt: Date

- public struct PollUpdatedEvent: Event  
- 
-   public let poll: Poll
-   public let createdAt: Date?

- public struct UserUnbannedEvent: ChannelSpecificEvent  
- 
-   public let cid: ChannelId
-   public let user: ChatUser
-   public let createdAt: Date?

- public struct ChannelUpdatedEvent: ChannelSpecificEvent  
- 
-   public var cid: ChannelId
-   public let channel: ChatChannel
-   public let user: ChatUser?
-   public let message: ChatMessage?
-   public let createdAt: Date

- public struct UserGloballyUnbannedEvent: Event  
- 
-   public let user: ChatUser
-   public let createdAt: Date

- public struct UserWatchingEvent: ChannelSpecificEvent  
- 
-   public let cid: ChannelId
-   public let createdAt: Date
-   public let user: ChatUser
-   public let watcherCount: Int
-   public let isStarted: Bool

- public struct AIIndicatorClearEvent: Event  
- 
-   public let cid: ChannelId?

- public struct ChannelTruncatedEvent: ChannelSpecificEvent  
- 
-   public var cid: ChannelId
-   public let channel: ChatChannel
-   public let user: ChatUser?
-   public let message: ChatMessage?
-   public let createdAt: Date

- public struct NotificationMessageNewEvent: ChannelSpecificEvent, HasUnreadCount  
- 
-   public var cid: ChannelId
-   public let channel: ChatChannel
-   public let message: ChatMessage
-   public let createdAt: Date
-   public let unreadCount: UnreadCount?

- public struct PollDeletedEvent: Event  
- 
-   public let poll: Poll
-   public let createdAt: Date?

- public struct NotificationChannelMutesUpdatedEvent: Event  
- 
-   public let currentUser: CurrentChatUser
-   public let createdAt: Date

- public struct NotificationMarkUnreadEvent: ChannelSpecificEvent  
- 
-   public let user: ChatUser
-   public let cid: ChannelId
-   public let createdAt: Date
-   public let firstUnreadMessageId: MessageId
-   public let lastReadMessageId: MessageId?
-   public let lastReadAt: Date
-   public let unreadCount: UnreadCount
-   public let unreadMessagesCount: Int

- public struct NotificationMarkAllReadEvent: Event, HasUnreadCount  
- 
-   public let user: ChatUser
-   public let unreadCount: UnreadCount?
-   public let createdAt: Date

- public struct PollVoteChangedEvent: Event  
- 
-   public let vote: PollVote
-   public let poll: Poll
-   public let createdAt: Date?

- public struct NotificationChannelDeletedEvent: ChannelSpecificEvent  
- 
-   public let cid: ChannelId
-   public let channel: ChatChannel
-   public let createdAt: Date

- public struct AIIndicatorUpdateEvent: Event  
- 
-   public let state: AITypingState
-   public let cid: ChannelId?
-   public let messageId: MessageId?
-   public let aiMessage: String?

- public struct NotificationRemovedFromChannelEvent: ChannelSpecificEvent  
- 
-   public let user: ChatUser
-   public let cid: ChannelId
-   public let member: ChatChannelMember
-   public let createdAt: Date

- public struct UserBannedEvent: ChannelSpecificEvent  
- 
-   public let cid: ChannelId
-   public let user: ChatUser
-   public let ownerId: UserId
-   public let createdAt: Date?
-   public let reason: String?
-   public let expiredAt: Date?
-   public let isShadowBan: Bool?

- public struct CleanUpTypingEvent: Event  
- 
-   public let cid: ChannelId
-   public let userId: UserId

- public struct TypingEvent: ChannelSpecificEvent  
- 
-   public let isTyping: Bool
-   public let cid: ChannelId
-   public let user: ChatUser
-   public let parentId: MessageId?
-   public let createdAt: Date
-   public var isThread: Bool

- public struct UserPresenceChangedEvent: Event  
- 
-   public let user: ChatUser
-   public let createdAt: Date?

- public struct NotificationAddedToChannelEvent: ChannelSpecificEvent, HasUnreadCount  
- 
-   public var cid: ChannelId
-   public let channel: ChatChannel
-   public let unreadCount: UnreadCount?
-   public let member: ChatChannelMember
-   public let createdAt: Date

- public struct NotificationInvitedEvent: MemberEvent, ChannelSpecificEvent  
- 
-   public let user: ChatUser
-   public let cid: ChannelId
-   public let member: ChatChannelMember
-   public let createdAt: Date

- public struct NotificationMarkReadEvent: ChannelSpecificEvent, HasUnreadCount  
- 
-   public let user: ChatUser
-   public let cid: ChannelId
-   public let unreadCount: UnreadCount?
-   public let lastReadMessageId: MessageId?
-   public let createdAt: Date

- public struct ThreadMessageNewEvent: Event  
- 
-   public let message: ChatMessage
-   public var cid: ChannelId
-   public let channel: ChatChannel
-   public let unreadCount: UnreadCount
-   public let createdAt: Date

- public struct NotificationInviteRejectedEvent: MemberEvent, ChannelSpecificEvent  
- 
-   public let user: ChatUser
-   public var cid: ChannelId
-   public let channel: ChatChannel
-   public let member: ChatChannelMember
-   public let createdAt: Date

- public struct AIIndicatorStopEvent: CustomEventPayload, Event  
- 
-   public static var eventType: EventType
-   public let cid: ChannelId?
-   
- 
-   public init(cid: ChannelId?)

- public struct ConnectionStatusUpdated: Event  
- 
-   public let connectionStatus: ConnectionStatus

- public struct UserGloballyBannedEvent: Event  
- 
-   public let user: ChatUser
-   public let createdAt: Date

- public struct ThreadUpdatedEvent: Event  
- 
-   public let thread: ChatThread
-   public let createdAt: Date?

- public struct MemberAddedEvent: MemberEvent, ChannelSpecificEvent  
- 
-   public let user: ChatUser
-   public let cid: ChannelId
-   public let member: ChatChannelMember
-   public let createdAt: Date

- public struct UserUpdatedEvent: Event  
- 
-   public let user: ChatUser
-   public let createdAt: Date?

- public struct PollVoteRemovedEvent: Event  
- 
-   public let vote: PollVote
-   public let poll: Poll
-   public let createdAt: Date?

- public struct PollCreatedEvent: Event  
- 
-   public let poll: Poll
-   public let createdAt: Date?

- public struct ReactionUpdatedEvent: ChannelSpecificEvent  
- 
-   public let user: ChatUser
-   public let cid: ChannelId
-   public let message: ChatMessage
-   public let reaction: ChatMessageReaction
-   public let createdAt: Date

- public struct ReactionDeletedEvent: ChannelSpecificEvent  
- 
-   public let user: ChatUser
-   public let cid: ChannelId
-   public let message: ChatMessage
-   public let reaction: ChatMessageReaction
-   public let createdAt: Date

- public class MessageUpdatedEvent: ChannelSpecificEvent  
+ public final class MessageUpdatedEvent: ChannelSpecificEvent  

 public struct ChatClientConfig  
-   
+   public var isAutomaticSyncOnReconnectEnabled
- 
+   
-   public init(apiKey: APIKey)
+ 
-   
+   public init(apiKey: APIKey)
- 
+   
-   public enum DeletedMessageVisibility: String, CustomStringConvertible, CustomDebugStringConvertible  
+ 
-   
+   public enum DeletedMessageVisibility: String, CustomStringConvertible, CustomDebugStringConvertible  
-     case alwaysHidden
+   
-     case visibleForCurrentUser
+     case alwaysHidden
-     case alwaysVisible
+     case visibleForCurrentUser
-     
+     case alwaysVisible
-   
+     
-     public var description: String
+   
-     public var debugDescription: String
+     public var description: String
+     public var debugDescription: String

- public class MessageReminderDeletedEvent: Event  
+ public final class MessageReminderDeletedEvent: Event  

- public class NewMessageErrorEvent: ChannelSpecificEvent  
+ public final class NewMessageErrorEvent: ChannelSpecificEvent  

- public class MessageNewEvent: ChannelSpecificEvent, HasUnreadCount  
+ public final class MessageNewEvent: ChannelSpecificEvent, HasUnreadCount  

- public class NewMessagePendingEvent: ChannelSpecificEvent  
+ public final class NewMessagePendingEvent: ChannelSpecificEvent  

- public class MessageReadEvent: ChannelSpecificEvent  
+ public final class MessageReadEvent: ChannelSpecificEvent  

- public class MessageReminderDueEvent: Event  
+ public final class MessageReminderDueEvent: Event  

- public class DraftDeletedEvent: Event  
+ public final class DraftDeletedEvent: Event  

- public class MessageReminderCreatedEvent: Event  
+ public final class MessageReminderCreatedEvent: Event  

- public class MessageDeletedEvent: ChannelSpecificEvent  
+ public final class MessageDeletedEvent: ChannelSpecificEvent  

- public class MessageReminderUpdatedEvent: Event  
+ public final class MessageReminderUpdatedEvent: Event  

- public class MessageDeliveredEvent: ChannelSpecificEvent  
+ public final class MessageDeliveredEvent: ChannelSpecificEvent  

- public class DraftUpdatedEvent: Event  
+ public final class DraftUpdatedEvent: Event  

@Stream-SDK-Bot
Copy link
Collaborator Author

SDK Performance

target metric benchmark branch performance status
MessageList Hitches total duration 10 ms 3.34 ms 66.6% 🔼 🟢
Duration 2.6 s 2.54 s 2.31% 🔼 🟢
Hitch time ratio 4 ms per s 1.31 ms per s 67.25% 🔼 🟢
Frame rate 75 fps 78.22 fps 4.29% 🔼 🟢
Number of hitches 1 0.2 80.0% 🔼 🟢

@sonarqubecloud
Copy link

@testableapple
Copy link
Contributor

/merge release

@testableapple
Copy link
Contributor

Publication of the release has been launched 👍

@github-actions github-actions bot merged commit 7fcf18d into main Nov 18, 2025
52 of 64 checks passed
@github-actions github-actions bot deleted the release/4.93.0 branch November 18, 2025 15:04
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants