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: CHANGELOG.md
+4Lines changed: 4 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -40,6 +40,7 @@ Breaking changes in this release:
40
40
- 💥 Root-level (unconnected) `Claim` entity is being deprecated, in PR [#5564](https://github.com/microsoft/BotFramework-WebChat/pull/5564), by [@compulim](https://github.com/compulim). It will be removed on or after 2027-08-29
41
41
- Use `entities[@id=""][@type="Message"].citation[@type="Claim"]` instead
42
42
- 💥 `activityStatusMiddleware.nextVisibleActivity` and `activityStatusMiddleware.sameTimestampGroup` is removed after deprecation, in PR [#5565](https://github.com/microsoft/BotFramework-WebChat/issues/5565), by [@compulim](https://github.com/compulim)
43
+
- 💥 `avatarMiddleware` is being deprecated in favor of [`polymiddleware`](./docs/MIDDLEWARE.md). It will be removed on or after 2028-03-18, related to PR [#5779](https://github.com/microsoft/BotFramework-WebChat/pull/5779)
43
44
44
45
### Added
45
46
@@ -108,8 +109,10 @@ Breaking changes in this release:
108
109
- Updated `BasicSendBoxToolbar` to rely solely on `disableFileUpload`.
109
110
- Added support for livestreaming via `entities[type="streaminfo"]` in PR [#5517](https://github.com/microsoft/BotFramework-WebChat/pull/5517) by [@kylerohn](https://github.com/kylerohn) and [@compulim](https://github.com/compulim)
110
111
- Added `polymiddleware`, a new [universal middleware for every UIs](./docs/MIDDLEWARE.md), by [@compulim](https://github.com/compulim) in PR [#5515](https://github.com/microsoft/BotFramework-WebChat/pull/5515) and [#5566](https://github.com/microsoft/BotFramework-WebChat/pull/5566)
112
+
- Legacy middleware is prioritized over polymiddleware
111
113
- Added `polymiddleware` to `<ThemeProvider>`
112
114
- Currently supports activity middleware and the new error box middleware
115
+
- Supports avatar middleware, by [@compulim](https://github.com/compulim) in PR [#5779](https://github.com/microsoft/BotFramework-WebChat/pull/5779)
113
116
- New internal packages, by [@compulim](https://github.com/compulim) in PR [#5515](https://github.com/microsoft/BotFramework-WebChat/pull/5515)
114
117
-`@msinternal/botframework-webchat-api-middleware` for middleware branch of API package
115
118
-`@msinternal/botframework-webchat-debug-theme` package for enabling debugging scenarios
@@ -348,6 +351,7 @@ Breaking changes in this release:
348
351
- Removed legacy test harness, in PR [#5655](https://github.com/microsoft/BotFramework-WebChat/issues/5655), by [@compulim](https://github.com/compulim)
349
352
- All tests are now either using `html2` test harness or simple unit tests
350
353
- Legacy and `html` (html1) test harness are all migrated to `html2`
354
+
-`avatarMiddleware` is being deprecated in favor of [`polymiddleware`](./docs/MIDDLEWARE.md). It will be removed on or after 2028-03-18, related to PR [#5779](https://github.com/microsoft/BotFramework-WebChat/pull/5779)
@@ -284,7 +286,7 @@ Over the past 7.5 years of journey, we learnt a lot. Polymiddleware combined all
284
286
285
287
### Polyfilling legacy middleware
286
288
287
-
Legacy middleware passed to deprecating props such as `activityMiddleware` will be upgraded to polymiddleware automatically and placed after other polymiddleware passed via the `polymiddleware` prop. In other words, legacy middleware has lower priority than polymiddleware.
289
+
Legacy middleware passed to deprecating props such as `activityMiddleware` will be upgraded to polymiddleware automatically and placed before other polymiddleware passed via the `polymiddleware` prop. In other words, legacy middleware has higher priority than polymiddleware.
288
290
289
291
Special polymiddleware factory functions such as `createActivityPolymiddlewareFromLegacy()` allow input of legacy middleware and output as polymiddleware. This helps the transition period. However, these special factory functions is also marked as deprecated.
290
292
@@ -296,7 +298,7 @@ When multiple legacy middleware are passed as an array to `createActivityPolymid
296
298
297
299
### When to use `useBuildRenderXXXCallback()` vs. `<XXXPolymiddlewareProxy>`?
298
300
299
-
The main differences are:
301
+
We recommend the proxy component if you do not care about empty rendering or element count. For example, empty `<Fragment>` will be emitted by proxy but not rendered by `useBuildRenderXXXCallback()`.
300
302
301
303
- `useBuildRenderXXXCallback()` allows precise render control
302
304
- Developers can control how the render function is being used and what to do if the polymiddleware decided not to render the activity
@@ -314,8 +316,8 @@ The following table shows how polymiddleware are prioritized.
| Highest | Error boundary | <p>All polymiddleware has an error boundary wrapper to control error propagation.</p><p>Error will be rendered using the `ErrorBox` polymiddleware and reported via `onTelemetry` prop.</p> |
317
-
| Normal | Polymiddleware | Polymiddleware passed to the `polymiddleware` prop. |
318
-
| Low | Legacy middleware | Legacy middleware passed to their corresponding prop (such as `activityMiddleware`) and upgraded automatically. |
319
+
| Normal | Legacy middleware | Legacy middleware passed to their corresponding prop (such as `activityMiddleware`) and upgraded automatically. |
320
+
| Low | Polymiddleware | Polymiddleware passed to the `polymiddleware` prop. |
319
321
| Lowest | Catch-all as error | Requests not handled by any polymiddleware in the chain will be thrown as an error. |
320
322
321
323
## Deprecation dates
@@ -328,7 +330,7 @@ We introduced polymiddleware in 2025-08-16. Based on our 2-year deprecation rule
0 commit comments