[4.19.0] - 2026-05-25
Breaking changes in this release:
- 💥
styleOptions.bubbleImageHeightis being deprecated in favor ofstyleOptions.bubbleImageMaxHeightandstyleOptions.bubbleImageMinHeight. The option will be removed on or after 2026-07-05 - 💥
styleOptions.bubbleMaxWidth/bubbleMinWidthis being deprecated in favor ofstyleOptions.bubbleAttachmentMaxWidth/bubbleAttachmentMinWidthandstyleOptions.bubbleMessageMaxWidth/bubbleMessageMinWidth. The option will be removed on or after 2026-10-08 - 💥 Moved to
micromarkfor rendering Markdown, instead ofmarkdown-it- Please refer to PR #5330 for details
- 💥 HTML sanitizer is moved from
renderMarkdownto HTML content transformer middleware, please refer to PR #5338- If you customized
renderMarkdownwith a custom HTML sanitizer, please move the HTML sanitizer to the new HTML content transformer middleware
- If you customized
- 💥
useGroupActivitieshook is being deprecated in favor of theuseGroupActivitiesByNamehook. The hook will be removed on or after 2027-05-04 - 💥
useSuggestedActions()hook is being deprecated in favor of theuseSuggestedActionsHooks().useSuggestedActions()hook. The hook will be removed on or after 2027-05-30 - 💥 The following middleware should be created using their respective factory function:
- 💥
styleOptions.hideUploadButtonis being deprecated in favor ofstyleOptions.disableFileUpload. The option will be removed on or after 2027-07-14 - 💥
botframework-directlinespeech-sdkno longer ponyfillAbortController, it is supported by modern browsers, in PR #5530 - 💥
activityMiddlewareis being deprecated in favor ofpolymiddleware. It will be removed on or after 2027-08-16, related to PR #5515 - 💥 Root-level (unconnected)
Claimentity is being deprecated, in PR #5564, by @compulim. It will be removed on or after 2027-08-29- Use
entities[@id=""][@type="Message"].citation[@type="Claim"]instead
- Use
- 💥
activityStatusMiddleware.nextVisibleActivityandactivityStatusMiddleware.sameTimestampGroupis removed after deprecation, in PR #5565, by @compulim - 💥
avatarMiddlewareis being deprecated in favor ofpolymiddleware. It will be removed on or after 2028-03-16, related to PR #5779
Added
- (Experimental) Added pre-chat message with starter prompts in Fluent UI, in PR #5255 and #5263, by @compulim
- (Experimental) Added
isPrimaryprops to Fluent UI send box. When set, will wire up withuseSendBoxValueand works with starter prompts in pre-chat message, in PR #5257, by @compulim - (Experimental) Expand Fluent theme support to activities and transcript, in PR #5258, by @OEvgeny
- Added new Fluent UI theme variant "copilot" with updated styling and components, in PR #5258, by @OEvgeny
- Introduced
ActivityDecoratorcomponent for enhanced message styling and layout, in PR #5258, by @OEvgeny - Added
CopilotMessageHeadercomponent for displaying bot information in the "copilot" variant, in PR #5258, by @OEvgeny - Updated Fluent theme styling to improve accessibility and visual consistency, in PR #5258, by @OEvgeny
- Fixed header font in copilot variant, in PR #5261, by @OEvgeny
- Added "Copy" button to bot messages in Fluent UI if it contains keyword
AllowCopy, in PR #5259, #5262, and #5285, by @compulim - Resolves #4876 and #4939. Added support of informative message in livestreaming, by @compulim, in PR #5265
- Introduced centralized announcements approach via the new
usePushToLiveRegionhook, in PR #5251, by @OEvgeny - Added keyboard shortcut for the "New Messages" button, in PR #5251, by @OEvgeny
- Added decorators for loading and completion states to the Fluent theme, in PR #5269, by @OEvgeny
- Added blueprint of starter prompts in the Fluent theme, in PR #5270, #5276, #5279, and #5284, by @OEvgeny and @compulim
- Added support for liner message activities in the Fluent theme, in PR #5272, by @OEvgeny
- Added new
uiStateprops anduseUIStatehook, in PR #5276, by @compulim - (Experimental) Added support for using Web Chat inside a shadow DOM, in PR #5196, by @OEvgeny
- Added
styleOptions.stylesRootproperty allowing users to specify the root node where Web Chat styles should be placed, in PR #5196, by @OEvgeny - Added the
ThemeProvider.stylesproperty, allowing theme packages to place styles into the same root node as Web Chat, in PR #5196, by @OEvgeny - Added
noncefor Fluent andreact-scroll-to-bottominjected styles, in PR #5196, by @OEvgeny - Updated
react-scroll-to-bottomto version4.2.1-main.53844f5, in PR #5196, by @OEvgeny - Updated
react-filmto version3.1.1-main.f623bf6, in PR #5196, by @OEvgeny
- Added
- (Experimental) Added CSS decorator support into Web Chat white-label experience, in PR #5312, by @OEvgeny
- Added
styleOptions.bubbleAttachmentMaxWidth/bubbleAttachmentMinWidthandstyleOptions.bubbleMessageMaxWidth/bubbleMessageMinWidth, in PR #5321, by @compulim - (Experimental) Added more CSS variables support, in PR #5321, by @compulim
- Added MathML/TeX block support in Markdown via
micromark-extension-mathandkatex, in PR #5332, by @compulim - Added code viewer dialog with syntax highlighting, in PR #5335, by @OEvgeny
- Added copy button to code blocks, in PR #5334, by @compulim
- Added copy button to view code dialog, in PR #5336, by @compulim
- Added HTML content transformer middleware, in PR #5338 and #5347, by @compulim
- HTML content transformer is used by
useRenderMarkdownto transform the result fromrenderMarkdown - HTML sanitizer is moved from
renderMarkdowninto HTML content transformer for better coverage - Copy button is added to fenced code blocks (
<pre><code>) - Configure HTML sanitizer via
request.allowedTags
- HTML content transformer is used by
- Added support for math blocks using
$$delimiter alongside existing\[...\]and\(...\)notations, in PR #5381, by @OEvgeny - Added support for speech recognition initial silence timeout when using Azure Speech, in PR #5400, by @compulim
- Introduced syntax highlighting for markdown code blocks, in PR #5389, by @OEvgeny
- (Experimental) Added
feedbackActionsPlacementstyle option to control feedback button placement, in PR #5407, by @OEvgeny- New style option supports two values:
'activity-actions'and'activity-status'(default) - When set to
'activity-actions', feedback buttons are displayed in the activity actions toolbar - When set to
'activity-status', feedback buttons appear in the activity status area (default behavior)
- New style option supports two values:
- Added support for including activity ID and key into form data indicated by
data-webchat-include-activity-idanddata-webchat-include-activity-keyattributes, in PR #5418, by @OEvgeny - Added dedicated loading animation for messages in preparing state for Fluent theme, in PR #5423, by @OEvgeny
- Resolved #2661 and #5352. Added speech recognition continuous mode with barge-in support, in PR #5426, by @RushikeshGavali and @compulim
- Set
styleOptions.speechRecognitionContinuoustotruewith a Web Speech API provider with continuous mode support
- Set
- Added support of contentless activity in livestream, in PR #5430, by @compulim
- Added sliding dots typing indicator in Fluent theme, in PR #5447 and PR #5448, by @compulim
- (Experimental) Add an ability to pass
completionprop into Fluent send box and expose the component, in PR #5466, by @OEvgeny - Added feedback form for like/dislike button when
feedbackActionsPlacementis"activity-actions", in PR #5460, PR #5469, PR 5470, PR #5501 by @lexi-taylor, and @OEvgeny- ESCAPE key should reset the feedback form, in PR #5480, by @compulim, in PR #5493 by @lexi-taylor
- Added multi-dimensional grouping,
styleOptions.groupActivitiesBy, anduseGroupActivitiesByNamehook, in PR #5471, by @compulim- Existing behavior will be kept and activities will be grouped by
senderfollowed bystatus useGroupActivitiesByNameis favored over the existinguseGroupActivitieshook for performance reason- Middleware which support the new grouping name init argument should only compute the grouping if they match the grouping name, or the grouping name is not specified, otherwise, should do nothing and call the downstream middleware
- Existing behavior will be kept and activities will be grouped by
- Resolved #5463. Added attachment preview for
sendAttachmentOn: "send", in PR #5464, by @compulim, in PR #5492, by @OEvgeny- Attaching files will no longer remove previously attached files
- Updated Fluent theme to use the new attachment preview feature
- Added collapsible activity and activity with abstract handling, in PR #5506, in PR #5513, in PR #5771, by @OEvgeny
- Added
styleOptions.partGroupDefaultOpento configure whether part groups are open by default, defaults totrue - Added
styleOptions.referenceListDefaultOpento configure whether references are open by default, defaults totrue - In the Fluent theme "copilot" variant, part groups and references now default to closed
- Added
- Added
disableFileUploadflag to completelly disable file upload feature, in PR #5508, by @JamesNewbyAtMicrosoft- Deprecated
hideUploadButtonin favor ofdisableFileUpload. - Updated
BasicSendBoxToolbarto rely solely ondisableFileUpload.
- Deprecated
- Added support for livestreaming via
entities[type="streaminfo"]in PR #5517 by @kylerohn and @compulim - Added
polymiddleware, a new universal middleware for every UIs, by @compulim in PR #5515 and #5566 - New internal packages, by @compulim in PR #5515
@msinternal/botframework-webchat-api-middlewarefor middleware branch of API package@msinternal/botframework-webchat-debug-themepackage for enabling debugging scenarios@msinternal/botframework-webchat-react-hooksfor helpers for React hooks
- Added link sanitization and ESLint rules, in PR #5564, by @compulim
- Added blob URL sanitization and ESLint rules, in PR #5568, by @compulim
- Added visual message grouping following the
isPartOfproperty of theMessageentity, in PR #5553, in PR #5585, in PR #5590, in PR #5608, in PR #5773, by @OEvgeny- The mode is suitable for providing chain-of-thought reasoning
- Added visual indication of
creativeWorkStatusproperty inMessageentity:undefined- no indicator is shown'Incomplete'- show loader aside from the message'Published'- show checkmark aside from the message
- Added a
positionproperty support for theMessageentity- The
positionproperty takes precedence over existing sequence ID
- The
- Added support for explicit group status via
isPartOf.creativeWorkStatusandisPartOf.abstracton the HowTo entity- When the HowTo entity carries an explicit
creativeWorkStatus, it takes precedence over status derived from individual messages - When the HowTo entity carries an
abstract, it is used as the group header title
- When the HowTo entity carries an explicit
- Unified build info and injection of
<meta>tag, in PR #5571, by @compulim - Added documentation for
isPartOfproperty, in PR #5573, by @compulim fluent-theme: Changed dependencies to import solely from the "bundle" package, in PR #5584, by @compulim- Improved bundling, in PR #5588, by @compulim
- New named exports
api:botframework-webchat-api/hookbundle:botframework-webchat/component,botframework-webchat/decorator(internal-use),botframework-webchat/hookcomponent:botframework-webchat-component/component,botframework-webchat-component/hook
- New named exports
- (Experimental) Added support for importing via
<script type="module">, by @compulim in PR #5592- Added support for
botframework-webchat-fluent-themepackage, by @compulim in PR #5593 - Bundling vendor chunks, by @compulim in PR #5595
- Added deprecation notes for legacy imports, by @compulim in PR #5600
import { hooks } from 'botframework-webchat'should be replaced byimport * as hooks from 'botframework-webchat/hook.js'
- Added target to Chrome 100 and re-enable Lightning CSS for ESM builds, by @compulim in PR #5602
- Added support for
- Relaxed
roleprop to allow any string instead of ARIA landmark roles, in PR #5561, by @compulim - Cleaned up
<ThemeProvider>and various CSS related code, in PR #5611, by @compulim - (Experimental) Reworked the copilot variant to align with the modern Copilot UX, in PR #5630, by @OEvgeny, in PR #5634, by @OEvgeny, in PR #5656, by @OEvgeny
- Added loading animation for
copilot, andfluentvariants
- Added loading animation for
- New JSON-LD graph backend, by @compulim in PR #5622
- New debug API, by @compulim in PR #5663 and PR #5664, see
DEBUGGING.mdfor more- Debug into element: open F12, select the subject in Element pane, type
$0.webChat.debugger - Breakpoint: open F12, select the subject in Element pane, type
$0.webChat.breakpoint.incomingActivity
- Debug into element: open F12, select the subject in Element pane, type
- The
botframework-webchatpackage now uses CSS modules for styling purposes, in PR #5666, in PR #5677 by @OEvgeny - 👷🏻 Added
npm run build-browserscript for building test harness package only, in PR #5667, by @compulim - Added pull-based capabilities system for dynamically discovering adapter capabilities at runtime, in PR #5679, by @pranavjoshi001
- Added Speech-to-Speech (S2S) support for real-time voice conversations, in PR #5654, by @pranavjoshi
- Added core mute/unmute functionality for speech-to-speech via
useRecorderhook (silent chunks keep server connection alive), in PR #5688, by @pranavjoshi - 🧪 Added incremental streaming Markdown renderer for livestreaming, in PR #5799, by @OEvgeny
- Added clipboard paste and drag-and-drop file support to both basic and fluent themes, in PR #5829, by @OEvgeny
Changed
- Added streaming fast path in activity upsert to skip recomputation for mid-stream revisions, in PR #5796, by @OEvgeny
- Updated
useSuggestedActionsto return the activity the suggested actions originated from, in PR #5255, by @compulim - Improved focus trap implementation by preserving focus state and removing sentinels, in PR #5243, by @OEvgeny
- Reworked pre-chat activity layout to use author entity for improved consistency and flexibility, in PR #5274, by @OEvgeny
- Updated styles for suggested actions and attachments in Fluent theme to improve readability and consistency, in PR #5275, by @OEvgeny
- Moved from
redux-devtools-extension@2.13.9to@redux/devtools-extension@3.3.0, in PR #5292, by @compulim - Enhanced the visual presentation of the Fluent theme copilot variant, in PR #5293, by @OEvgeny
- Refactored spacing and layout for copilot variant in Fluent theme, improving visual consistency, in PR #5296, by @OEvgeny
- Added a content generated badge to AI-generated messages, in PR #5298, by @OEvgeny
- Resolved #4847. Migrated to npm workspaces from lerna, in PR #5301, by @compulim
- Resolved #5302. Migrated to
core-js-pure/Promise.withResolveersfromp-defer, in PR #5301, by @compulim - Improved message bubble layout in Fluent theme to allow growth beyond 450px up to 75% of container width, in PR #5324, by @OEvgeny
- Improved drop zone behavior and styling in Fluent theme, in PR #5328, by @OEvgeny
- Excluded side effects from module entry points to prevent global scope modifications, in PR #5329, by @OEvgeny
- Moved to
micromarkfor rendering Markdown, instead ofmarkdown-it, in PR #5330, by @compulim - Improved view code dialog UI in Fluent theme with better styling and accessibility, in PR #5337, by @OEvgeny
- Switched math block syntax from
$$to Tex-style\[ \]and\( \)delimiters with improved rendering and error handling, in PR #5353, by @OEvgeny - Improved avatar display and grouping behavior by fixing rendering issues and activity sender identification, in PR #5346, by @OEvgeny
- Activity "copy" button will use
outerHTMLandtextContentfor clipboard content, in PR #5378, by @compulim - Enabled icon customization in Fluent theme through CSS variables, in PR #5413, by @OEvgeny
- Bumped dependencies, by @compulim in PR #5385, PR #5400, PR #5426, PR #5427, PR #5476, PR #5516, PR #5529, PR #5532, PR #5659, PR #5661, PR #5768, PR #5813, and PR #5831, by @OEvgeny in PR #5662
- Production dependencies
@babel/runtime@7.29.2@emotion/css@11.13.5@redux-devtools/extension@4.0.0adaptivecards@3.0.6botframework-directlinejs@0.15.8core-js-pure@3.49.0core-js@3.49.0event-as-promise@2.0.1globalize@1.7.1html-react-parser@6.0.1inject-meta-tag@0.1.0iter-fest@0.3.1katex@0.16.45mdast-util-from-markdown@2.0.3merge-refs@2.0.0micromark-extension-gfm@3.0.0micromark-util-character@2.1.1micromark-util-sanitize-uri@2.0.1micromark@4.0.2microsoft-cognitiveservices-speech-sdk@1.49.0mime@4.1.0punycode@2.3.1react-chain-of-responsibility@0.4.2react-dictate-button@4.0.1react-film@4.0.0react-say@2.2.1react-scroll-to-bottom@4.2.1-main.53844f5react-wrap-with@0.1.0redux-saga@1.4.2sanitize-html@2.17.4shiki@2.5.0tagged-tag@1.0.0use-propagate@0.2.2use-reduce-memo@0.1.0use-ref-from@0.2.1use-state-with-ref@0.2.1uuid@8.3.2valibot@1.3.1web-speech-cognitive-services@8.1.4
- Development dependencies
@ast-grep/napi@0.42.1@babel/cli@7.28.6@babel/core@7.29.0@babel/plugin-transform-runtime@7.29.0@babel/plugin-transform-typescript@7.28.6@babel/preset-env@7.29.2@babel/preset-react@7.28.5@babel/preset-typescript@7.28.5@biomejs/biome@2.3.10@fluentui/react-provider@9.22.15@fluentui/tokens@1.0.0-alpha.23@happy-dom/jest-environment@20.0.11@jridgewell/sourcemap-codec@1.5.5@testduet/given-when-then@0.1.0@tsconfig/strictest@2.0.8@types/dom-speech-recognition@0.0.9@types/jest@29.5.14@types/mdast@4.0.4@types/node@25.6.0@types/react-dom@18.3.7@types/react-is@16.7.5@types/react@16.14.69@types/react@18.3.28@types/semver@7.7.1@types/use-sync-external-store@1.5.0@types/uuid@8.3.4@typescript-eslint/eslint-plugin@8.59.0@typescript-eslint/parser@8.59.0adaptivecards@3.0.2adm-zip@0.5.17axe-core@4.11.3babel-jest@29.7.0babel-plugin-istanbul@8.0.0base64-js@1.5.1bent@7.3.12botframework-directlinejs@0.15.8chalk@5.6.2compression@1.8.1concurrently@9.2.1core-js-pure@3.48.0core-js@3.48.0cross-env@10.1.0diff@8.0.2dotenv@17.4.2dtsroll@1.4.1esbuild@0.28.0eslint-config-prettier@10.1.8eslint-plugin-import@2.32.0eslint-plugin-local-rules@3.0.2eslint-plugin-prettier@5.5.5eslint-plugin-react-hooks@7.0.1eslint-plugin-react@7.37.5eslint-plugin-security@4.0.0eslint@8.57.1express@5.2.1glob@8.1.0handler-chain@0.1.1has-resolved@2.0.0html-react-parser@5.2.10http-proxy-middleware@2.0.9husky@9.1.7jest-image-snapshot@6.5.1jest-image-snapshot@6.5.2jest@29.7.0keep-a-changelog@2.7.1lint-staged@16.2.7micromark-util-types@2.0.2microsoft-cognitiveservices-speech-sdk@1.47.0minimatch@10.1.1nodemon@3.1.14nopt@9.0.0prettier@3.8.3progress@2.0.3q@1.5.1react-dom@16.8.6react-dom@18.3.1react-is@16.13.1react@16.8.6react@18.3.1read-package-up@12.0.0read-pkg@10.1.0selenium-webdriver@4.43.0selfsigned@5.5.0serve-handler@6.1.7serve@14.2.6simple-git@3.30.0tsd@0.33.0tsup@8.5.1type-fest@5.6.0typescript-plugin-css-modules@5.2.0typescript@6.0.3unplugin-lightningcss@0.4.3webpack-cli@7.0.2webpack@5.106.2yaml@2.8.3
- Production dependencies
- Fixed #5446. Embedded
uuidsomicrosoft-cognitiveservices-speech-sdkdo not need to use dynamic loading, as this could fail in Webpack 4 environment, in PR #5445, by @compulim - Fixed #5476. Modernizing components through memoization and use
valibotfor props validation, by @compulim - Ported
useSuggestedActionsto use React hooks as backend instead of Redux store, in PR #5489, by @compulim - Removed
StarterPromptsCardActionduringblueprintui state in PR #5477, by @jcheung824 - Removed
abort-controller-es5package inbotframework-directlinespeech-sdkpackage, in PR #5530, by @compulim - Removed
requestandrequest-progresspackage incldr-data-downloaderpackage, in PR #5530, by @copilot and @compulim - Added internal package
@msinternal/botframework-webchat-tsconfigto centralize TypeScript configuration files, in PR #5539, by @compulim - Bumped
react-chain-of-responsibilityto0.4.2version, by @OEvgeny in PR #5620, in PR #5624 - Bumped Chrome in Docker to 141 from 110, in PR #5619, by @compulim
- Bumped to
valibot@1.2.0, in PR #5650, by @compulim - Pinned to
botframework-directlinespeech-sdk@4.18.1-main.20251208.8ccadd6, by @OEvgeny in PR #5662, and unpinned in PR #5681 - Converted activity components to CSS Modules
- (Experimental) Added custom variants support for
botframework-webchat-fluent-themepackage, in PR #5675, by @OEvgeny - Improved adaptive cards rendering in copilot variant, in PR #5682, by @OEvgeny
- Bumped to
botframework-directlinejs@0.15.8to include support for the newstreamingproperty, by @pranavjoshi001, in PR #5686 - Removed unused deps
simple-git, by @compulim, in PR #5786 - Improved
ActivityKeyerComposerperformance for append scenarios by adding an incremental fast path that only processes newly-appended activities, in PR #5790, in PR #5797, by @OEvgeny - Improved livestream performance by pruning intermediate revision activities after a stream session is finalized, in PR #5798, by @OEvgeny
- Bumped to
adaptivecards@3.0.6in PR #5800 by @compulim
Deprecated
- 🏫 Sample
01.getting-started/l.sharepoint-web-part,01.getting-started/k.direct-line-token, and samples under07.advanced-web-chat-appsis being archived and will no longer receive updates, in PR #5533, #5536, and #5537, by @compulim
Removed
- Removed
copilot-deprecatedvariant from Fluent theme, in PR #5644, by @OEvgeny - Deprecating
disabledprops anduseDisabledhook in favor of newuiStateprops anduseUIStatehook, in PR #5276, by @compulim useSuggestedActions()hook is being deprecated in favor of theuseSuggestedActionsHooks().useSuggestedActions()hook, in PR #5489, by @compulimactivityMiddlewareis being deprecated in favor ofpolymiddleware. It will be removed on or after 2027-08-16, related to PR #5515- Root-level (unconnected)
Claimentity is being deprecated, in PR #5564, by @compulim. It will be removed on or after 2027-08-29- Use
entities[@id=""][@type="Message"].citation[@type="Claim"]instead
- Use
activityStatusMiddleware.nextVisibleActivityandactivityStatusMiddleware.sameTimestampGroupis being deprecated and will be removed on or after 2022-07-22, in PR #4362, by @compulim- Removed legacy test harness, in PR #5655, by @compulim
- All tests are now either using
html2test harness or simple unit tests - Legacy and
html(html1) test harness are all migrated tohtml2
- All tests are now either using
avatarMiddlewareis being deprecated in favor ofpolymiddleware. It will be removed on or after 2028-03-16, related to PR #5779
Fixed
- Fixed #5256.
styleOptions.maxMessageLengthshould support any JavaScript number value includingInfinity, by @compulim, in PR #5255 - Fixes #4965. Removed keyboard helper screen in #5234, by @amirmursal and @OEvgeny
- Fixes #5268. Concluded livestream is sealed and activities received afterwards are ignored, and
streamSequenceis not required in final activity, in PR #5273, by @compulim - Fixes #5288. Fixed citation and sensitivity label bleeding when using Fluent skin pack, in PR #5287, by @compulim
- Fixes #5294. Fixed copy button animation reset to "Copied" after hiding and showing Web Chat, in PR #5295, by @compulim
- Fixes #5147. Added
punycodeto our dependencies asmarkdown-itrequires it but did not have it in theirpackage.json, in PR #5301, by @compulim - Fixes #5306. Title and subtitle in pre-chat message activity should wrap, in PR #5307, by @compulim
- Fixes #5319. Some Markdown text are not rendered after HTML tags, in PR #5320, by @compulim
- Fixes #5323. Removed unused CSS class from carousel component, eliminating unintended styling, in PR #5325, by @OEvgeny
- Resolved CSS class name conflicts between component and fluent packages to prevent styling issues, in PR #5326, in PR #5327, by @OEvgeny
- Fixed #5350. Bundled
shikiin component package, in PR #5349, by @compulim - Fixed modal dialog rendering to prevent visual flicker and improve UX when opening code views, in PR #5374, by @OEvgeny
- Fixed math parsing that could cause Web Chat to hang when processing certain LaTeX expressions, in PR #5377, by @OEvgeny
- Fixed long math formula should be scrollable, in PR #5380, by @compulim
- Fixed #4948. Microphone should stop after initial silence, in PR #5385
- Fixed #5390. Fixed drop zone remaining visible when file is dropped outside of the zone, in PR #5394, in PR #5415, by @OEvgeny
- Improved accessibility across multiple components, in PR #5428, by @OEvgeny
- Fixed copy button screen reader announcement
- Added proper ARIA attributes to link definitions component
- Improved focus management for scroll to end button
- Fixed #5439. Fixed batched livestream activities are not recognized in the same session, in PR #5440, by @compulim
- Fixed #5452. With Fluent/Copilot theme, the typing indicator padding should not be squashed and bottom margin should not grow, in PR #5453, by @compulim and in PR #5495, by @OEvgeny
- Fixed #5461. On macOS and Fluent skinpack applied, using Japanese IME to input some Japanese text should not send them immediately, in PR #5462, by @compulim
- Fixed #5472, ensure proper inheritance from the outside of Web Chat for visibility CSS property when hidden, in PR #5473, by @OEvgeny
- Fixed #5474. Disable AMD glue code in bundle, in PR #5478, by @compulim
- Downstreamers who use our CommonJS and ES Modules output with esbuild will need to disable AMD themselves to prevent conflict with RequireJS
- Fixed #5479. Fixed feedback form buttons should not squash other buttons, in PR #5480, by @compulim
- Migrated to radio button for like/dislike where form submission is required
- Fixed long citation identifiers break activity layout, in PR #5507, by @OEvgeny
- Fixed
botframework-webchat-core/internalimport in legacy CommonJS environments, in #5509, by @OEvgeny - Updated file-based import with
.jsextension and removed the file extension from build config, by @compulim, in PR #5516 - Fixed #5518. Minimal bundled build should work properly, in PR #5507, by @compulim
- Fixed #5520. Version information should be injected when installed via npm, in PR #5521, by @compulim
- Fixed aria-label only announcing placeholder in feedback form, in PR #5567
- Fixed placing focus on the code block content, so it is possible to scroll code via keyboard, in PR #5575, by @OEvgeny
- Fixed #5581. Activities should be displayed after upgrading via
npm install, in PR #5582, by @compulim - Fixed Composer props types not resolving correctly in React 16 in PR #5580,
by @lexi-taylor - Fixed
npm startmay fail subsequently as builds are not fully flushed to/dist/, in PR #5599, by @compulim - Fixed published package types containing internal package references, in PR #5610, by @OEvgeny
- Fixed citation links are not properly matched against markdown links, in PR #5614, by @OEvgeny
- Fixed
botframework-webchat/decoratorimport in legacy CommonJS environments, in #5616, by @OEvgeny - Fixed
npm startfor efficiency and reliability, in PR #5621 and #5629, by @compulim - Fixed activity sorting introduced in PR #5622, part grouping, and livestreaming, by @compulim in PR #5635
- Fixed Content Security Policy documentation and sample in PR, by @compulim in PR #5648
- Added
img-src data:, required for icons
- Added
- Downgraded graph upsert conflict checks, by @compulim in PR #5674
- Fixed virtual keyboard should show up on tap after being suppressed, in iOS 26.2, by @compulim in PR #5678
- Fixed compatibility with
create-react-appby adding file extension tocore-jsimports, by @compulim in PR #5680 - Fixed virtual keyboard should be collapsed after being suppressed, in iOS 26.3, by @compulim in PR #5757
- Fixed Fluent/Copilot typing indicator animation background color, in PR #5770, by @OEvgeny
- Fixed
<AddFullBundle>should not re-render whenattachment[ForScreenReader]Middlewareis updated without noticeable different (iterateEquals), by @compulim, in PR #5779 - Fixed send box should narrate
aria-labelprop, by @compulim, in PR #5805 - Fixed polymiddleware error should not propagate to React runtime if
<DebugProvider>is not mounted, by @compulim, in PR #5833