You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: ai-docs/breaking-changes.md
+84-3Lines changed: 84 additions & 3 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,6 +1,6 @@
1
1
# React v14 Breaking Changes
2
2
3
-
Last updated: 2026-04-08
3
+
Last updated: 2026-04-14
4
4
5
5
## Scope
6
6
@@ -13,8 +13,8 @@ This file tracks confirmed v13 to v14 breaking changes for `stream-chat-react`.
13
13
## Audit Reference
14
14
15
15
- Baseline tag: `v13.14.2`
16
-
- Current audited SDK head: `dc16bb584675f48d5f67cf5d5d355ba012cf81d2` (`dc16bb584`, `2026-04-08`, `feat!: externalize sidebar toggle and remove navOpen state from the SDK (#3088)`)
17
-
- Future mining starting point: diff `dc16bb584675f48d5f67cf5d5d355ba012cf81d2..HEAD` first, then compare any newly confirmed changes back to the original v13 baseline before adding them here
- Future mining starting point: diff `78934929a2b1b6d82f09736aada08c57c194d45e..HEAD` first, then compare any newly confirmed changes back to the original v13 baseline before adding them here
18
18
19
19
Only confirmed items should move from this file into the migration guide.
20
20
@@ -2108,6 +2108,82 @@ Only confirmed items should move from this file into the migration guide.
-`v13.14.2:src/components/Message/Message.tsx:184` through `:199` accepted `onlySenderCanEdit` and forwarded it into `useUserRole(message, onlySenderCanEdit, disableQuotedMessages)`
2122
+
-`v13.14.2:src/components/MessageList/MessageList.tsx:494` still drilled `onlySenderCanEdit` through the standard message-list surface
2123
+
- New API:
2124
+
- current `src/components/Message/types.ts` has no `onlySenderCanEdit`
2125
+
- current `src/components/Message/Message.tsx:192` through `:206` no longer destructure the prop and call `useUserRole(message, disableQuotedMessages)`
2126
+
- current `src/components/Message/hooks/useUserRole.ts:35` uses only channel capabilities plus `isMyMessage` to decide editability
2127
+
- current `src/components/MessageList/MessageList.tsx` has no `onlySenderCanEdit` prop drilling
2128
+
- Replacement:
2129
+
- rely on channel capabilities for the default SDK editability model
2130
+
- if your app still needs sender-only editing, filter the `edit` action out in a custom `messageActionSet` / `MessageActions`, or replace the relevant message UI affordance in app code
2131
+
- Evidence:
2132
+
- commit `759cadf48 feat!: remove onlySenderCanEdit prop from MessageProps (#3098)` explicitly removed the prop
2133
+
-`git show v13.14.2:src/components/Message/types.ts` includes `onlySenderCanEdit`
2134
+
- current source has no remaining public `onlySenderCanEdit` references
### BC-062: legacy message-notification callback props and `ConnectionStatus` were removed
2143
+
2144
+
- Status: confirmed
2145
+
- Area: notifications and message actions
2146
+
- User impact:
2147
+
-`Message`, `MessageList`, and `VirtualizedMessageList` no longer accept the old `get*Notification` callback props
2148
+
- top-level imports using `ConnectionStatus` no longer resolve
2149
+
- direct use of low-level message action handlers no longer produces SDK-managed success/error toasts by itself; call sites now own notification publishing
2150
+
- Old API:
2151
+
-`v13.14.2:src/components/Message/types.ts:39` through `:55` exposed:
2152
+
-`getDeleteMessageErrorNotification`
2153
+
-`getFetchReactionsErrorNotification`
2154
+
-`getFlagMessageErrorNotification`
2155
+
-`getFlagMessageSuccessNotification`
2156
+
-`getMarkMessageUnreadErrorNotification`
2157
+
-`getMarkMessageUnreadSuccessNotification`
2158
+
-`getMuteUserErrorNotification`
2159
+
-`getMuteUserSuccessNotification`
2160
+
-`getPinMessageErrorNotification`
2161
+
-`v13.14.2:src/components/MessageList/MessageList.tsx:207` through `:216` still drilled those callbacks into message rendering
- current `src/components/Message/types.ts` has no `get*Notification` callbacks
2165
+
- current `src/components/MessageList/MessageList.tsx` no longer drills those callbacks into messages
2166
+
- current `src/components/MessageList/index.ts` no longer exports `ConnectionStatus`
2167
+
- current `src/components/Notifications/hooks/useNotificationApi.ts` provides the app-facing notification wrapper
2168
+
- current `src/components/Chat/index.ts:3` exports `useReportLostConnectionSystemNotification` for app-owned connection-status banners
2169
+
- Replacement:
2170
+
- customize default notification text through notification translators (`Streami18n` translation-builder topic `notification`) and/or custom `MessageActions`
2171
+
- use `useNotificationApi()` when custom flows need to publish notifications explicitly
2172
+
- replace `ConnectionStatus` usage with app-owned notification UI built on `NotificationList`, `NotificationListMainPanel`, and/or `useReportLostConnectionSystemNotification()`
2173
+
- Evidence:
2174
+
- commit `2060768b3 feat: add notification API wrapper (#3096)` explicitly removed the legacy callbacks and `ConnectionStatus`
2175
+
-`git show v13.14.2:src/components/Message/types.ts` contains the old callback props
2176
+
-`git show v13.14.2:src/components/MessageList/index.ts` contains the `ConnectionStatus` export
2177
+
- current source keeps the replacement notification hooks while dropping the legacy prop/component shims
@@ -2141,6 +2217,11 @@ Only confirmed items should move from this file into the migration guide.
2141
2217
- audio playback wave/progress refinements (`982cf2a17`): investigated; smoother progress rendering and sizing updates do not remove or rename a documented public API.
2142
2218
- tracker/docs maintenance commit (`b5cb01f53`): investigated; this only updates the internal audit trackers and does not change the SDK surface.
2143
2219
- beta release commit (`d313317b0`): investigated; release tagging alone does not add a new migration item.
2220
+
- upload-progress indicators and attachment preview size tracking (`8b13863a6`): investigated; current source adds `UploadProgressIndicator`, `UploadedSizeIndicator`, `AttachmentUploadedSizeIndicator`, and new `ComponentContext` slots (`FileSizeIndicator`, `ProgressIndicator`, `UploadedSizeIndicator`), but this is additive current-v14 surface area rather than a removed or renamed v13 API. Track it as docs-alignment work only.
2221
+
- unsupported-attachment redesign and media badge additions (`9156f6f4a`, `19a0add66`, `e15caa4ef`): investigated; current source redesigns `UnsupportedAttachment`, adds `MediaBadge`, and updates preview styling, but it does not remove or rename a documented v13 public API. Treat it as reference/cookbook maintenance only.
2222
+
- extended reaction-list surface (`b2848025d`): investigated; `ReactionSelectorExtendedList` was added to `ComponentContext`, `MessageReactionsDetail` gained an add-reaction step, and `reactionDetailsSort` forwarding was fixed, but these are additive/current-behavior changes rather than a distinct v13-to-v14 migration bucket. Track the missing docs separately.
2223
+
- EmojiPicker stylesheet addition (`b4ed46455`): investigated; `stream-chat-react/dist/css/emoji-picker.css` is a new additive stylesheet entrypoint, not a removed or renamed v13 API. Track it as docs-alignment work only.
2224
+
- assorted post-beta UI fixes (`443b9a8a9`, `be8ed265f`, `6605f6361`): investigated; message padding, jump-to-message scroll behavior, and broader UI glitch fixes change runtime polish but do not remove or rename a public API.
0 commit comments