Releases: microsoft/BotFramework-WebChat
Releases · microsoft/BotFramework-WebChat
[4.15.3] - 2022-08-10
Subresource Integrity
<script
crossorigin="anonymous"
integrity="sha384-Va7pNFHjKGxgI1g9J4tvLCSGEhtfpZzf76PDRDDKkaI+ZZXMCz7FplIZdjUrjkxg"
src="https://cdn.botframework.com/botframework-webchat/4.15.3/webchat.js"
></script>
<script
crossorigin="anonymous"
integrity="sha384-G/4GhuAj4f+IvvVgyTT1u6m5DjjdPI7hcrfgXmnWKC6uWtZkrI+jDkVk2MmJoclR"
src="https://cdn.botframework.com/botframework-webchat/4.15.3/webchat-es5.js"
></script>
<script
crossorigin="anonymous"
integrity="sha384-1CAMb60XukTImMnaUTHJvRYbYckPlkzXGVibWExFb5e8WbLsCrfkbQM+K1smVB5a"
src="https://cdn.botframework.com/botframework-webchat/4.15.3/webchat-minimal.js"
></script>
Changelog
Breaking changes
- Suggested actions is now a
role="toolbar"
and adopted roving tab index- TAB key will now land on the container, instead of individual button
- While the focus is on the container, LEFT/RIGHT arrow keys are used to select different buttons (UP/DOWN for stacked layout)
- Visual focus indicator is now two tiered. The default styling is same as the one we use in chat history
- New style options added
suggestedActionsVisualKeyboardIndicatorColor
,suggestedActionsVisualKeyboardIndicatorStyle
,suggestedActionsVisualKeyboardIndicatorWidth
- New style options added
- Suggested actions container will be unmounted when there are no suggested action button to display
- Suggested actions container is not longer a live region. The suggested action buttons will now be narrated by the chat history live region
- Published NPM packages will now include
/dist
,/lib
, and/src
folders- The
/dist
folder was previously missing from our NPM packages
- The
- The
activity.channelData.state
property is being deprecated in favor of the updatedactivity.channelData['webchat:send-status']
property. Main differences include:- Previously, we would set the
state
property to"send failed"
when the chat adapter failed to send the activity, or after passing a timeout as defined instyleOptions.sendTimeout
- The new
'webchat:send-status'
property will be set to"send failed"
when the chat adapter fails to send the activity or after passing a hardcoded timeout of 5 minutes - See PR #4362 for details
- Previously, we would set the
Changed
- Resolves #4301. Updated
Dockerfile
to support secure container supply chain, by @compulim in PR #4303 - Resolves #4317. Updated
package.json
to allowlist/dist
,/lib
,/src
, by @compulim in PR #4318 - Resolves #4322. Improved error messages for sending activities, by @compulim in PR #4362
- Resolves #4211. Added new
useSendStatusByActivityKey
hook to check the UI send status of an outgoing activity, by @compulim in PR #4362- The send status returned by this hook is designed to display different UIs that reflect the "sending", "send failed" or "sent" status of the activity
- When modifying
styleOptions.sendTimeout
prop, the send status returned by this hook may transition from"send failed"
to"sending"
, and vice versa - This is different from the send status provided by the chat adapter, namely
activity.channelData['webchat:send-status']
Fixed
- Fixes #4293 and #4296. Fixed accessibility issues for suggested actions, by @compulim, in PR #4314
- Centralized live region of suggested actions into chat history live region for better live region control
- Suggested actions container is now a
role="toolbar"
and uses roving tab index for multiple suggested action
- Fixes #4319. Fixed navigation keys not working in suggested actions under IE Mode, by @compulim, in PR #4320
- Fixes #4315. Cleaned up localization strings for suggested actions, by @compulim, in PR #4323
- Fixes #4294. Screen reader should not read message twice when navigating in the chat history, by @compulim, in PR #4323
- Fixes #4295. Screen reader should not read suggested actions twice when message arrive in live region, by @compulim, in PR #4323
- Fixes #4325.
aria-keyshortcuts
should use modifier keys according toKeyboardEvent
key values spec, by @compulim, in PR #4323 - Fixes #4327. In Adaptive Cards,
TextBlock
withstyle="heading"
should havearia-level
set, by @compulim, in PR #4329 - Fixes #3949. For accessibility reasons, buttons in Adaptive Cards should be
role="button"
instead ofrole="menubar"
/role="menuitem"
, by @compulim, in PR #4263 - Fixes #4211. Screen reader should read when an activity was failed to send, by @compulim, in PR #4362, also fixed:
- The "send failed" status on the activity should show up as soon as the chat adapter failed to send the activity
- Fixes #4312.
groupActivityMiddleware
returning invalid value should not throw exceptions, by @compulim, in PR #4378. - Fixes #4386. Clicking on Adaptive Cards should not throw exception under IE11, by @compulim, in PR #4387, also fixed:
- Prop type warning should not be shown for
<ActivityRow>
- Prop type warning should not be shown for
Changes
Samples
- Added
01.getting-started/l.sharepoint-web-part
for hosting Web Chat as a SharePoint web part, in PR #4385, by @compulim
[4.15.2] - 2022-05-09
Subresource Integrity
<script
crossorigin="anonymous"
integrity="sha384-+K6Bkp3HdwB6IL/MooiD8DGF4zg7iLJbYBq+ReT+PGBXW2skSoRPvF/ArXmbFD+K"
src="https://cdn.botframework.com/botframework-webchat/4.15.2/webchat.js"
></script>
<script
crossorigin="anonymous"
integrity="sha384-lUORlicC7NzeZQx9OQ8/uCjmblHgyo9cOV4Q4UlnTct4AXwWzNiS5+4w3rCcO/h5"
src="https://cdn.botframework.com/botframework-webchat/4.15.2/webchat-es5.js"
></script>
<script
crossorigin="anonymous"
integrity="sha384-M00P0dYPmEonRFUbU5QwM2ozxxgVLHHbyoeOwd/x4IDxUhTBSnzbASfa4tk2yYmc"
src="https://cdn.botframework.com/botframework-webchat/4.15.2/webchat-minimal.js"
></script>
Changelog
Breaking changes
- A new
type WebChatActivity
is introduced in thebotframework-webchat-core
package- If you are previously using the
type DirectLineActivity
, you may need to move to this new type - All Web Chat APIs will use the newer
type WebChatActivity
- The new
type WebChatActivity
is a well-defined type for handling activities inside Web Chat - The existing
type DirectLineActivity
will be used solely for communicating withtype DirectLineJSBotConnection
, a.k.a.botframework-directlinejs
package
- If you are previously using the
Fixed
- Fixes #4102. Fixed
cldr-data-downloader
package not working properly on Windows, by @compulim in PR #4223 - Fixes #4232. Added
blob:
to allowed protocol list for file attachment UI (<FileContent>
), by @compulim in PR #4233 - Fixes #4204. Sort using
activity.channelData['webchat:sequence-id']
and fallback to epoch time ofactivity.timestamp
, by @compulim, in PR #4203 - Fixes #4264. Fixed focus trap should leave when the activity no longer contains any tabbable elements (including elements with
aria-disabled="true"
), by @compulim in PR #4265
Added
Changed
- Bumped all dependencies to the latest versions, by @compulim in PR #4195 and PR #4230
- Production dependencies
- Development dependencies
@babel/cli@7.17.6
@babel/core@7.17.5
@babel/plugin-proposal-class-properties@7.16.7
@babel/plugin-proposal-object-rest-spread@7.17.3
@babel/plugin-transform-runtime@7.17.0
@babel/preset-env@7.16.11
@babel/preset-react@7.16.7
@babel/preset-typescript@7.16.7
@babel/runtime@7.17.2
@emotion/react@11.8.1
@fluentui/react@8.57.0
@types/node@17.0.21
@types/react-dom@16.8.5
@types/react@17.0.39
@typescript-eslint/eslint-plugin@5.13.0
@typescript-eslint/parser@5.13.0
adm-zip@0.5.9
babel-jest@27.5.1
babel-loader@8.2.3
babel-plugin-istanbul@6.1.1
base64-arraybuffer@1.0.2
botframework-directlinejs@0.15.1
concurrently@7.0.0
core-js@3.21.1
dotenv@16.0.0
error-stack-parser@2.0.7
esbuild@0.14.24
eslint-config-prettier@8.5.0
eslint-plugin-prettier@4.0.0
eslint-plugin-react-hooks@4.3.0
eslint-plugin-react@7.29.3
eslint@8.10.0
express@4.17.3
glob@7.2.0
global-agent@3.0.0
html-webpack-plugin@5.5.0
http-proxy-middleware@2.0.3
husky@7.0.4
istanbul-lib-coverage@3.2.0
jest-environment-node@27.5.1
jest-trx-results-processor@2.2.1
jest@27.5.1
lint-staged@12.3.4
memoize-one@6.0.0
node-dev@7.1.0
nodemon@2.0.15
prettier@2.5.1
prop-types@15.8.1
read-pkg-up@9.1.0
read-pkg@7.1.0
restify@8.6.1
selenium-webdriver@4.1.1
source-map-loader@3.0.1
terser-webpack-plugin@5.3.1
typescript@4.6.2
webpack-cli@4.9.2
webpack@5.70.0
[4.15.1] - 2022-03-04
Subresource Integrity
<script
crossorigin="anonymous"
integrity="sha384-e2zspajCn8G7DzOMi/9M6fdAPERyN5S11E5QzrAK0HXxMwyw7a6/FHLie73RUzdD"
src="https://cdn.botframework.com/botframework-webchat/4.15.1/webchat.js"
></script>
<script
crossorigin="anonymous"
integrity="sha384-9o6xJEK8DboSm23+cyRi/6ROyiQFbCXgSN+GkpMXVtIC0QeYRPA9lD8MlXPikyub"
src="https://cdn.botframework.com/botframework-webchat/4.15.1/webchat-es5.js"
></script>
<script
crossorigin="anonymous"
integrity="sha384-gy9DN+p1zEnZY24LW0HtuFhmhF17qhO8QM0vlrZupIXggEUih+uYAPZ+uGCTT1f7"
src="https://cdn.botframework.com/botframework-webchat/4.15.1/webchat-minimal.js"
></script>
Changelog
Fixed
[4.15.0] - 2022-03-03
Subresource Integrity
<script
crossorigin="anonymous"
integrity="sha384-w3rSEnqXidJWdUi5rzyfT+ge4heH7DfPfZnzwfFPqRx5s/TxTRhFbizmbX6kQe2v"
src="https://cdn.botframework.com/botframework-webchat/4.15.0/webchat.js"
></script>
<script
crossorigin="anonymous"
integrity="sha384-TtowdQBmshxMHrPmS4fj8c7Y1++TrzO2Z7TvQ1lF9EskDY6cchxo8RO9/JT21JTL"
src="https://cdn.botframework.com/botframework-webchat/4.15.0/webchat-es5.js"
></script>
<script
crossorigin="anonymous"
integrity="sha384-oQJ4itwTnOHHjD3Gkl9pUfcNMZDSG9LixGJ5H5ib50uBihBhAtWkkFzvOvUK9YPj"
src="https://cdn.botframework.com/botframework-webchat/4.15.0/webchat-minimal.js"
></script>
Changelog
Breaking changes
- New
Map
object polyfill is required for IE11 when using NPM version of Web Chat:Map
object polyfill is not required when using ES5 bundle of Web Chat from our CDN (webchat-es5.js
)- If you are seeing new errors while loading NPM version of Web Chat under IE11, please add a polyfill
- We recommend
core-js
package, it can be loaded byimport 'core-js/features/map'
- Our current list of required polyfills can be found in
packages/bundle/src/polyfill.ts
- Style options are introduced to send button for improved accessibility:
suggestedActionBackground
andsuggestedActionXXXBackground
are being deprecated in favor ofsuggestedActionBackgroundColor
andsuggestedActionBackgroundColorOnXXX
respectively, for consistencies when porting to other platformssuggestedActionDisabledXXX
is being renamed tosuggestedActionXXXOnDisabled
, for consistencies with other style optionssuggestedActionXXXOnActive
,suggestedActionXXXOnFocus
,suggestedActionXXXOnHover
are introduced for styling per user gesturessuggestedActionKeyboardFocusIndicatorXXX
are introduced for styling the "focus ring" when focused using a keyboard
Added
- Adds
eslint-plugin-security
, consolidate.eslintrc.yml
at project root, and treat warnings as errors, by @compulim, in PR #4079 - Adds allowed protocol list to file attachment and OAuth card, by @compulim, in PR #4143
Fixed
- Fixes #4018. When using TAB or SHIFT + TAB key to focus on the transcript, it should select the last activity, by @compulim, in PR #4035
- Fixes #4020. With or without scan mode turned on, screen reader users should be able to press ENTER to focus on interactive activity, by @compulim, in PR #4041
- Fixes #4021. For screen reader usability, suggested actions container should not render "Is empty" alt text initially, by @compulim, in PR #4041
- Fixes #4029. Added new keyboard focus indicator for suggested actions, by @compulim, in PR #4035
- New style options are introduced:
suggestedActionXXXOnActive
,suggestedActionXXXOnFocus
,suggestedActionXXXOnHover
,suggestedActionKeyboardFocusIndicatorXXX
- Style options are renamed:
suggestedActionDisabledXXX
becomesuggestedActionXXXOnDisabled
- New style options are introduced:
- Fixes #4028. Added new keyboard focus indicator for send box buttons, by @compulim, in PR #4035
- New style options are introduced:
sendBoxButtonXXXOnActive
,sendBoxButtonXXXOnFocus
,sendBoxButtonXXXOnHover
,sendBoxButtonKeyboardFocusIndicatorXXX
- New style options are introduced:
- Fixes #4015. Added
role="heading"
to titles of rich card, by @compulim, in PR #4074 - Fixes #4081. Updated typing for
StyleOptions.suggestedActionsStackedOverflow
, by @compulim, in PR #4083 - Fixes #4075. Added
box-sizing: border-box
to all descendants under Adaptive Cards, by @compulim, in PR #4084 - Fixes #4104 and #4105. Fixed invalid entry in
core/package-lock.json
, removedplayground/host
, and added script to rebase URLs inpackage-lock.json
, by @compulim, in PR #4106 - Fixes #3933, #3934, #3994 and #4019, for various accessibility improvements, by @compulim, in PR #4108
- Added a new keyboard help screen
- Reduce repetitions when reading message content and briefier readings
- Separated hints for links and interactive widgets
- Focus trap when focus is on interactive attachments or Adaptive Cards
- Using
role="feed"
/role="article"
for chat history and its messages - Always assign a message to
aria-activedescendant
for chat history - Updated verbiage from "transcript" to "chat history"
- Fixed overlapping hit zone causing clicking on bottom edge of message bubble may focus on the next activity instead
- Fixed typings of
useFocus
anduseLocalizer
- Fixes #3165 and #4094. Allowlist
aria-label
for links in Markdown and skip unrecognized attributes or invalid curly brackets, by @compulim, in PR #4095 - Fixes #4190. Recent Markdown curly bracket fix should not break IE11 due to unsupported "u" flag in
RegExp
, by @compulim, in PR #4191
Changed
- Bumped all dependencies to the latest versions, by @compulim in PR #4074 and PR #4123
- Production dependencies
- Development dependencies
@babel/cli@7.15.7
@babel/core@7.15.8
@babel/plugin-proposal-object-rest-spread@7.15.6
@babel/plugin-transform-runtime@7.15.8
@babel/preset-env@7.15.8
@babel/preset-typescript@7.15.0
@types/node@16.10.9
@types/react@17.0.29
@typescript-eslint/eslint-plugin@4.33.0
@typescript-eslint/parser@4.33.0
babel-jest@27.2.5
botbuilder@4.15.0
concurrently@6.3.0
core-js@3.18.3
esbuild@0.12.29
- [
eslint-plugin-prettier@3.4.1
](https://n...
[4.14.1] - 2021-09-08
Subresource Integrity
<script
crossorigin="anonymous"
integrity="sha384-uJWBe8iPb6wN8/AaLQ0UKjgYEtWY9uIVgpkAID5kUNo2sV9hYmFbTDQXeRXyq7bl"
src="https://cdn.botframework.com/botframework-webchat/4.14.1/webchat.js"
></script>
<script
crossorigin="anonymous"
integrity="sha384-R4Eevwf75H8RQkTqCaFNpvO0V9nq+heLX30jLGKNrAICynjuHUbMo7D2usohGsRu"
src="https://cdn.botframework.com/botframework-webchat/4.14.1/webchat-es5.js"
></script>
<script
crossorigin="anonymous"
integrity="sha384-Xyp6O3TOCrP+PVhd15I1Ehs8QTga7zqc/KYj6Idr9MbR10/SX5p6pSBhTAvAT/Sd"
src="https://cdn.botframework.com/botframework-webchat/4.14.1/webchat-minimal.js"
></script>
Changelog
Fixed
Changed
- Resolves #4017. In samples, moved
react-scripts
todevDependencies
, in PR #4023 - Forked
cldr-data
andcldr-data-downloader
, in PR #3998- Moved source code to under
./src
folder - Moved to
fs.readFileSync()
fromrequire()
when reading JSON files - Moved to
node:fs.mkdir()
and removedmkdirp
- Moved tests from
node:assert
to Jest - Updated Unicode CLDR download folder to
/dist/
folder from project root - Moved from Grunt/JSHint to
eslint
- Upgraded from CommonJS to ES Module
- Use
read-pkg-up
to determines parentpackage.json
- In Web Chat, since we use
lerna
to run theinstall
script, we need to relax howcldr-data
read from parentpackage.json
- In Web Chat, since we use
- Moved source code to under
- Updated peer dependency of
react
to>= 16.8.6
, in PR #3996 - Bumped all dependencies to the latest versions and sample bumps, by @compulim in PR #3996, PR #3998, and PR #4023
- Production dependencies
- Development dependencies
@babel/cli@7.14.5
@babel/core@7.14.6
@babel/plugin-proposal-class-properties@7.14.5
@babel/plugin-proposal-object-rest-spread@7.14.7
@babel/plugin-transform-runtime@7.14.5
@babel/preset-env@7.14.7
@babel/preset-react@7.14.5
@babel/preset-typescript@7.14.5
@babel/runtime@7.14.6
@emotion/react@11.4.0
@fluentui/react@8.22.3
@types/node@16.3.1
@types/react-dom@17.0.9
@types/react@17.0.14
@typescript-eslint/eslint-plugin@4.28.3
@typescript-eslint/parser@4.28.3
babel-jest@27.0.6
concurrently@6.2.0
core-js@3.15.2
dotenv@10.0.0
esbuild@0.12.15
eslint-plugin-prettier@3.4.0
eslint-plugin-react@7.24.0
eslint@7.30.0
http-proxy-middleware@2.0.1
husky@7.0.1
jest-environment-node@27.0.6
jest-image-snapshot@4.5.1
jest-junit@12.2.0
jest@27.0.6
lint-staged@11.0.0
node-dev@7.0.0
nodemon@2.0.12
p-defer@4.0.0
prettier@2.3.2
sanitize-html@2.4.0
selenium-webdriver@4.0.0-beta.4
serve@12.0.0
strip-ansi@6.0.0
typescript@4.3.5
webpack@5.45.1
- Dependencies used by samples
[4.14.0] - 2021-07-09
Subresource Integrity
<script
crossorigin="anonymous"
integrity="sha384-hXz10Qsp8m3FpR+4hxcQCYezS77mZKSB/k/G62JsQqdgIAn23zLkarnuK+5Qrjz2"
src="https://cdn.botframework.com/botframework-webchat/4.14.0/webchat.js"
></script>
<script
crossorigin="anonymous"
integrity="sha384-apZcViyYAeDhjrDJ0l1qVdlGkejY0+pIk8wsQBGc8xN1OqbWbDTjRbY2AlvgJMQW"
src="https://cdn.botframework.com/botframework-webchat/4.14.0/webchat-es5.js"
></script>
<script
crossorigin="anonymous"
integrity="sha384-Zj/ZWIYzMSTk+hREAhqE9Jq2whlhUh3jtWC11HH8w6KMdmAuZtJKmdvzMDLfNqDa"
src="https://cdn.botframework.com/botframework-webchat/4.14.0/webchat-minimal.js"
></script>
Changelog
Breaking changes
- A new style option
scrollToEndButtonBehavior
is introduced to control when the scroll to end button should show (formerly "new messages" button):styleOptions.hideScrollToEndButton
has been deprecated. To hide the scroll to end button, setstyleOptions.scrollToEndButtonBehavior
tofalse
;styleOptions.newMessageButtonFontSize
has been renamed tostyleOptions.scrollToEndButtonFontSize
to better reflect its purpose.
Added
- Cleanup repo URLs to point to main branch, by @corinagum, in PR #3870
- Resolves #3557 and #3736. Improved test harness and added browser pooling, by @compulim, in PR #3871
- Resolves #3788. Added
localTimestamp
andlocalTimezone
(if available) to all outgoing activities, by @compulim, in PR #3896 - Resolves #3925. Added
scrollToEndButtonBehavior
to control when the scroll to end button should show, removedhideScrollToEndButton
, and renamednewMessagesButtonFontSize
toscrollToEndButtonFontSize
, by @compulim, in PR #3926.- Values for
scrollToEndButtonBehavior
:- If unset, will maintain same behavior as previous versions, same as
"unread"
; "unread"
will show when there are any unread and offscreen messages (default);"any"
will show when there are any offscreen messages;false
will always hide the button.
- If unset, will maintain same behavior as previous versions, same as
- Added new
scrollToEndButtonMiddleware
to customize the appearance of the scroll to end button.
- Values for
- Resolves #3752. Added typings (
*.d.ts
) for all public interfaces, by @compulim, in PR #3931 and #3946 - Resolves #2316. Added blessing/priming of
AudioContext
when clicking on microphone button, by @compulim, in PR #3974
Fixed
- Fixes #3814. Allow carousel's scrollable content to be tabbable, by @corinagum in PR #3841
- Fixes #3834. Ensure carousel attachments are read by AT on tab focus, by @corinagum in PR #3841
- Fixes #3812. Update
adaptiveCardHostConfig
to accessible text color-contrasts, by @corinagum in PR #3853 - Fixes #3816. De-bumped Node.js engine requirement for Direct Line Speech SDK to
>= 10.14.2
from>= 12.0.0
, by @compulim in PR #3854 - Fixes #3842. Updated
husky
,lint-staged
and correspondingprecommit
scripts, by @compulim, in PR #3871 - Improved test reliability and added snapshots to console of test harness in development mode, by @compulim, in PR #3891
- Fixes #3757. IE11: Send box should not be disabled after pressing ESCAPE key in the transcript, by @compulim, in PR #3902
- Fixes #3901. IE11: SVG icons for buttons should not be focusable, by @compulim, in PR #3902
- Fixes #3825. Add
role="presentation"
to all decorative<svg>
, by @compulim, in PR #3903 - Fixes #3360 and #3615. Use
channelData['webchat:fallback-text']
field for screen reader text, before stripping Markdown fromactivity.text
field, by @compulim, in PR #3917 - Fixes #3856. Fix missing typings, by @compulim and @corinagum, in PR #3931
- Fixes #3943. Auto-scroll should skip invisible activities, such as post back or event activity, by @compulim, in PR #3945
- Fixes #3947. Adaptive Cards: all action sets (which has
role="menubar"
) must have at least 1 or morerole="menuitem"
, by @compulim, in PR #3950 - Fixes #3823 and #3899. Fix speech recognition and synthesis on Safari, by @compulim, in PR #3974
- Fixes #3977. Fix bundle not work in Internet Explorer 11 due to
p-defer
, by @compulim, in PR #3978 - Fixes #3979. Fix Direct Line Speech should work in environments without microphone access, by @compulim, in PR #3980
Changed
- Bumped all dependencies to the latest versions and sample bumps, by @compulim in PR #3831, PR #3846, PR #3917, PR #3965, and PR #3966
- Development dependencies
@azure/storage-blob@12.5.0
@babel/cli@7.13.14
@babel/core@7.13.14
@babel/plugin-proposal-async-generator-functions@7.13.8
@babel/plugin-proposal-class-properties@7.13.0
@babel/plugin-proposal-object-rest-spread@7.13.8
@babel/plugin-transform-runtime@7.13.10
@babel/preset-env@7.13.12
@babel/preset-react@7.13.13
@babel/preset-typescript@7.13.0
@babel/runtime@7.13.10
- [
@babel/standalone@7.13.14
](https://npmjs.com/package/@babel...
- Development dependencies
[4.13.0] - 2021-04-05
Visual breaking changes for 4.13.0
- PR #3817
- Markdown anchors will now include an icon and accessibility label indicating that the link will send to an external resource.
Subresource Integrity
<script
crossorigin="anonymous"
integrity="sha384-Xm4uX5+AacO2cl3ffEKrytyC+iHBSsNvXrJTTzodBhgkiuxIS0YWHGq1KFcf0Rr+"
src="https://cdn.botframework.com/botframework-webchat/4.13.0/webchat.js"
></script>
<script
crossorigin="anonymous"
integrity="sha384-wwdw+KudAKGhnGV4ewfJL1KE1dqx8DgQ6TrY3z4hIHXc1GHjuI/HwoEx4p5VOGx1"
src="https://cdn.botframework.com/botframework-webchat/4.13.0/webchat-es5.js"
></script>
<script
crossorigin="anonymous"
integrity="sha384-WoHYVO0be3nxbYXAhMO3COEoH9aBH2TGHj/LkphxECLKvlDDsobF2v8LOzeKvGSV"
src="https://cdn.botframework.com/botframework-webchat/4.13.0/webchat-minimal.js"
></script>
Changelog
Added
- Resolves #3087. External links in Markdown will now be appended with an "open in new window" icon and accessibility label, by @compulim in PR #3817
- Resolves #2100. Add types declarations for Style Options in api bundle, by @corinagum, in PR #3818
Changed
- Bumped all dependencies to the latest versions and sample bumps, by @corinagum in PR #3805
- Development dependencies
@babel/cli@7.13.10
@babel/core@7.13.10
@babel/plugin-proposal-class-properties@7.13.0
@babel/plugin-proposal-object-rest-spread@7.13.8
@babel/plugin-transform-runtime@7.13.10
@babel/preset-env@7.13.10
@babel/preset-react@7.12.13
@babel/preset-typescript@7.13.0
@babel/runtime@7.13.10
@types/node@14.14.35
@types/react@16.9.55
@typescript-eslint/eslint-plugin@4.18.0
@typescript-eslint/parser@4.18.0
babel-jest@26.6.3
eslint-plugin-prettier@3.3.1
eslint-plugin-react-hooks@4.2.0
eslint-plugin-react@7.22.0
eslint@7.22.0
husky@4.3.0
jest-image-snapshot@4.2.0
jest-junit@12.0.0
jest-trx-results-processor@2.2.0
jest@26.6.3
lint-staged@10.5.1
lolex@6.0.0
node-dev@6.4.0
node-fetch@2.6.1
prettier@2.2.1
source-map-loader@1.1.2
terser-webpack-plugin@4.2.3
typescript@4.2.3
webpack-cli@4.2.0
webpack-stats-plugin@1.0.2
webpack@4.44.2
- Production dependencies
- Development dependencies
Samples
[4.12.1] - 2021-03-16
[4.12.1] - 2021-03-16
<script
crossorigin="anonymous"
integrity="sha384-P85ESDfJwtC9CaJYhEZP2DXz7NfxR3wWdH6OyercA0qvUSUoAHJrU0776yEcnkxs"
src="https://cdn.botframework.com/botframework-webchat/4.12.1/webchat.js"
></script>
<script
crossorigin="anonymous"
integrity="sha384-YT//LqZJgkEXrmVxm6RZJKs4dSZJQo5kEX0tE9dP1XaOaVsC7NEvwnlP2gW2KWcl"
src="https://cdn.botframework.com/botframework-webchat/4.12.1/webchat-es5.js"
></script>
<script
crossorigin="anonymous"
integrity="sha384-Bm5FqTqjOwx2JWpJGYW1urz8ypnAJh2BELjekWc1XkYsT1lX7837Tlqxsbmoy/O8"
src="https://cdn.botframework.com/botframework-webchat/4.12.1/webchat-minimal.js"
></script>
4.12.1 patch: New style property adaptiveCardsParserMaxVersion
Web Chat 4.12.1 patch includes a new style property allowing developers to choose the max Adaptive Cards schema version. See PR #3778 for code changes.
To specify a different max version, you can adjust the style options, shown below:
window.WebChat.renderWebChat(
{
directLine,
store,
styleOptions: {
adaptiveCardsParserMaxVersion: '1.2'
}
},
document.getElementById('webchat')
);
- Web Chat will apply the maximum schema available according to the Adaptive Cards version (as of this patch, schema 1.3) by default.
- An invalid version will revert to Web Chat's default.
CHANGELOG
Added
- Resolves #3777. Added a new
adaptiveCardsParserMaxVersion
style options for selecting the maximum supported version when parsing an Adaptive Cards, by @compulim in PR #3778
Fixed
Samples
- Fixes #3632. Update reaction button sample : Add replyToId to the postActivity object, by @amal-khalaf in PR #3769
[4.12.0] - 2021-03-01
Subresource integrity
<script
crossorigin="anonymous"
integrity="sha384-1hUtvbhn6rdRq7dYBczWVucaQGX53aXutn3sJ3Wj9JQHUTOeOi+ygEM0oS8/YUN1"
src="https://cdn.botframework.com/botframework-webchat/4.12.1/webchat.js"
></script>
<script
crossorigin="anonymous"
integrity="sha384-Lo8JE8FwwWIxjxRK4348SVwbkib4+HJQfOf6amhb1Lem5aODsMLJAp9WaDrDlGDK"
src="https://cdn.botframework.com/botframework-webchat/4.12.1/webchat-es5.js"
></script>
<script
crossorigin="anonymous"
integrity="sha384-K1x93oxVf8C0LsVAdO6sISEnUvY3urTM/a5UZjCxoiklvidmkvMN2PGGIaUa341+"
src="https://cdn.botframework.com/botframework-webchat/4.12.1/webchat-minimal.js"
></script>
Changelog
Breaking changes
A new accessibility update has been added to Web Chat from PR #3703. This change creates visual focus for the transcript (bold black border) and aria-activedescendent
focused activity (black dashed border) by default.
To modify these styles, you can change the following props via styleOptions
:
transcriptActivityVisualKeyboardIndicatorColor: DEFAULT_SUBTLE,
transcriptActivityVisualKeyboardIndicatorStyle: 'dashed',
transcriptActivityVisualKeyboardIndicatorWidth: 1,
transcriptVisualKeyboardIndicatorColor: 'Black',
transcriptVisualKeyboardIndicatorStyle: 'solid',
transcriptVisualKeyboardIndicatorWidth: 2,
The above code shows the default values you will see on Web Chat.
Added
- Resolves #2745. Added new
flow
layout to suggested actions, by @compulim in PR #3641 and PR #3748 - Added new style options to customize auto-scroll, by @compulim in PR #3653
- Set
autoScrollSnapOnActivity
totrue
to pause auto-scroll after more than one activity is shown, or a number to pause after X number of activities - Set
autoScrollSnapOnPage
totrue
to pause auto-scroll when a page is filled, or a number between0
and1
to pause after % of page is filled - Set
autoScrollSnapOnActivityOffset
andautoScrollSnapOnPageOffset
to a number (in pixels) to overscroll/underscroll after the pause
- Set
- Supports multiple transcripts in a single composition, by @compulim in PR #3653
- Resolves #3368. Added new
sendBoxButtonAlignment
for button alignment in multi-line text mode, by @compulim in PR #3668 - Resolves #3666. Added support of sovereign clouds when using Direct Line Speech, by @compulim in PR #3694
- Please refer to
DIRECT_LINE_SPEECH.md
for instructions
- Please refer to
- Resolves #2996. Added transcript navigation by keyboard navigation keys, by @compulim in PR #3703
- Resolves #3544. Send user ID from props to chat adapter, by @timenick in PR [#3544)(https://github.com//issues/3544).
- Resolves #3562. Add button word wrap to suggested actions stacked layout, by @corinagum, in PR #3728 and #3745
- Resolves #3658. Added new
containerRole
to default style options, by @nfreear in PR #3669 - Resolves #3754. Added new
useObserveTranscriptFocus
hook, by @compulim in PR #3755 - Translation for Yue, by @compulim in PR #3749
Fixed
- Fixes #3278. Update
HOOKS.md
verbiage, by @corinagum in PR #3564 - Fixes #3534. Remove 2020 deprecations, by @corinagum in PR #3564 and #3728
- Fixes #3561. Remove MyGet mentions from samples, by @corinagum in PR #3564
- Fixes #3537. Fix some carousels improperly using aria-roledescription, by @corinagum in PR #3599
- Fixes #3483. IE11 anchors fixed to open securely without 'noreferrer' or 'noopener', by @corinagum in PR #3607
- Fixes #3565. Allow strikethrough
<s>
on sanitize markdown, by @corinagum in PR #3646 - Fixes #3672. Center the icon of send box buttons vertically and horizontally, by @compulim in PR #3673
- Fixes #3683. Activities should be acknowledged when user scrolls to bottom, by @compulim in PR #3684
- Fixes #3431. Race condition between the first bot activity and first user activity should not cause the first bot activity to be delayed, by @compulim in PR #3705
- Fixes #3676. Activities without text should not generate bogus
aria-labelledby
, by @compulim in PR #3697 - Fixes #3625. Update 'no screen reader for custom activity middleware' warning and add screen reader renderer documentation to
ACCESSIBILITY.md
, by @corinagum in PR #3689 - Fixes #3453. Fixes plain text file attachments to show download link when uploaded, by @corinagum in PR #3711
- Fixes #3612. Carousel flippers in suggested actions are given extra padding, by @compulim and @Quirinevwm in PR #3704
- Fixes #3411. With Direct Line Speech, clicking on microphone button during speech recognition should no longer stop working, by @compulim in PR #3694
- Although it no locker lock up microphone, clicking on the microphone button has no effect because Direct Line Speech does not support aborting speech recognition
- Fixes #3421. With Direct Line Speech, after not able to recognize any speech, it should no longer stop working, by @compulim in PR #3694
- Fixes #3616. [Accessibility documentation] Update activity timestamp grouping to match visual UI, by @amal-khalaf in PR #3708
- Fixes #3718. Fixed
webpack.config.js
to use default settings of['browser', 'module', 'main']
and resolved issues withuuid
package in IE11, by @compulim in PR #3726 - Fixes #3622...
[4.11.0] - 2020-11-04
Subresource integrity
CDN release will be published on 2020-11-05.
<script
crossorigin="anonymous"
integrity="sha384-VaCCB1kZvCsUv3mrVO7ND25gqCPmUGP9NMOJEveBa1vsLyQw3i4pdOq03UZtMLE8"
src="https://cdn.botframework.com/botframework-webchat/4.11.0/webchat.js"
></script>
<script
crossorigin="anonymous"
integrity="sha384-vkX1C8fopQ2J+lXKsoiEUWsLnvq9bfoS54SzU4P1iM+AafCMLUL9sbC2NY0ktBnL"
src="https://cdn.botframework.com/botframework-webchat/4.11.0/webchat-es5.js"
></script>
<script
crossorigin="anonymous"
integrity="sha384-PdctqL/ALsZSOXP2iRI8dVVKzmLMeS+dEnE8tfv/4K0TGnCM17yiMsa0wcC7xELV"
src="https://cdn.botframework.com/botframework-webchat/4.11.0/webchat-minimal.js"
></script>
Changelog
[4.11.0] - 2020-11-04
Added
- Resolves #3281. Added documentation on speech permissions for Cordova apps on Android, by @corinagum, in PR #3508
- Resolves #3316. Refactored platform-neutral APIs into the new
api
package, to be reused on React Native component, in PR #3543 by @compulim- The new layering is
core
->api
->component
(HTML-only) ->bundle
- Includes composition mode, platform-neutral React hooks, and localization resources
- Most hooks are available in the new
api
package. Some hooks are only available on the existingcomponent
package, due to their platform dependency or coupling with visual components. For example, Web Worker, 2D canvas,useMicrophoneButton*
are not available on theapi
package - Most implementations of middleware are only available in
component
package due to their coupling with visual components or platform features. Some implementations, (e.g. card action middleware and activity grouping middleware) are available onapi
package. For example:- Carousel layout and stacked layout is only available on
component
package due to their coupling with their respective visual components - For card action middleware,
imBack
,messageBack
andpostBack
actions are available onapi
package, butcall
,openUrl
and other platform-dependent actions are only available oncomponent
package
- Carousel layout and stacked layout is only available on
activityMiddleware
,attachmentMiddleware
, etc, now support arrays for multiple middleware
- The new layering is
Fixed
- Fixes #3489. [Accessibility]: Fix AT saying 'Bot undefined said', by @corinagum in PR #3524
- Fixes #3547. [Accessibility]: Add attachment middleware for screen reader, by @compulim in PR #3548
- Fixes #3371. [Accessibility]: Add alt property for image in HeroCards, by @corinagum in PR #3541
- Fixes #3310. Add quantity, tap and text field to ReceiptCards, by @corinagum in PR #3541
- Fixes #3514. Fix PoliCheck language errors, by @corinagum in PR #3545
- Fixes #3537. [Accessibility]: Ensure
aria-roledescription
is only used on elements with implicit/explicit role based off of WAI ARIA role attributes, by @corinagum in PR #3551, #3583, and #3587 - Fixes #3431. Activities should not be delayed due to missing activity of type "typing", by @compulim in PR #3554
- Fixes #3574. Creates workaround for Cognitive Services Speech SDK 1.13.1 regarding removed support of macOS/iOS, by @compulim in PR #3576
- Fixes #3570. Adaptive Card
speak
property should be narrated by screen reader, by @compulim in PR #3573 and PR #3584 - Fixes #3571. Error box should be hidden for Adaptive Card renderer when running in production mode, by @compulim in PR #3573
Changed
- Bumped development dependency
node-fetch@2.6.1
in PR #3467 by @dependabot - Bumped Cognitive Services Speech SDK to 1.13.1, by @compulim in PR #3432
Samples
- Fixes #3526. Add info on composition mode in sample 06.d, by @corinagum in PR #3541