Skip to content

Releases: microsoft/BotFramework-WebChat

[4.12.1] - 2021-03-16

Choose a tag to compare

@corinagum corinagum released this 16 Mar 19:26
7a90b6c

[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

  • Fixes #3773. Remove replyToId when using Direct Line Speech adapter, by @compulim in PR #3776

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

Choose a tag to compare

@corinagum corinagum released this 01 Mar 23:05
63bb97a

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 to true to pause auto-scroll after more than one activity is shown, or a number to pause after X number of activities
    • Set autoScrollSnapOnPage to true to pause auto-scroll when a page is filled, or a number between 0 and 1 to pause after % of page is filled
    • Set autoScrollSnapOnActivityOffset and autoScrollSnapOnPageOffset to a number (in pixels) to overscroll/underscroll after the pause
  • 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
  • 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 with uuid package in IE11, by @compulim in PR #3726
  • Fixes #3622...
Read more

[4.11.0] - 2020-11-04

Choose a tag to compare

@compulim compulim released this 04 Nov 23:56
009a27e

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 existing component package, due to their platform dependency or coupling with visual components. For example, Web Worker, 2D canvas, useMicrophoneButton* are not available on the api 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 on api 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 and postBack actions are available on api package, but call, openUrl and other platform-dependent actions are only available on component package
    • activityMiddleware, attachmentMiddleware, etc, now support arrays for multiple middleware

Fixed

Changed

Samples

[4.10.1] - 2020-09-10

Choose a tag to compare

@compulim compulim released this 10 Sep 18:05
c5afaef

Subresource integrity

<script
  crossorigin="anonymous"
  integrity="sha384-ZT32ehV2SkikXkWvH8cO0OsMgQoYg+zd09eBP5oJrcrL3FJWqPSB1IGifTBYKccw"
  src="https://cdn.botframework.com/botframework-webchat/4.10.1/webchat.js"
></script>

<script 
  crossorigin="anonymous"
  integrity="sha384-FT3pdxVxoyBtfEc83Xt1uxb8vm/KVuyBicVG6gM41mgXeGw/S3Q2/CThAtFXhxcN"
  src="https://cdn.botframework.com/botframework-webchat/4.10.1/webchat-es5.js"
></script>

<script 
  crossorigin="anonymous"
  integrity="sha384-GJIjDHDbUXiw9rCIhtfjJoyzI9eZktEvt9bVGgfki4OkUdR7XAEpvy3RrVZvvTFv"
  src="https://cdn.botframework.com/botframework-webchat/4.10.1/webchat-minimal.js"
></script>

Changelog

[4.10.1] - 2020-09-10

Breaking changes

  • To support Content Security Policy, glamor is being replaced by create-emotion. The CSS hash and rule name is being prefixed with webchat--css with a random value.

Fixed

  • Fixes #3431. Removed delay of first activity with replyToId pointing to a missing activity, by @compulim in PR #3450

Changed

Samples

  • Added Content Security Policy sample, by @compulim, in PR #3443
  • Update create-react-app-based samples to resolve p-defer as peer dependen...
Read more

[4.10.0] - 2020-08-18

Choose a tag to compare

@corinagum corinagum released this 18 Aug 20:34

Subresource integrity

<script
  crossorigin="anonymous"
  integrity="sha384-4key3rVGP7b1Yaaqp04c11GMmgLeYgSIgZQ7gtn0rR/wL3fnkFpiAAuOv2Glo6DH"
  src="https://cdn.botframework.com/botframework-webchat/4.10.0/webchat.js"
></script>

<script 
  crossorigin="anonymous"
  integrity="sha384-nB4tinBxptD4DwQRrhIiZL2tKeB0n2aHg2b+/RoBi801c0zU2BRRL21pKMYYhr/j"
  src="https://cdn.botframework.com/botframework-webchat/4.10.0/webchat-es5.js"
></script>

<script 
  crossorigin="anonymous"
  integrity="sha384-2XHvA/fH49BWL345uPZgXXqINkPfHP4jkGtLeg7GrDYpzaEBDcJBpxOSi6jj+jde"
  src="https://cdn.botframework.com/botframework-webchat/4.10.0/webchat-minimal.js"
></script>

[4.10.0] - 2020-08-18

Breaking changes

  • Due to the complexity, we are no longer exposing <CarouselLayout> and <StackedLayout>. Please use <BasicTranscript> to render the transcript instead.
  • With the new activity grouping feature:
    • Customized avatar cannot be wider than styleOptions.avatarSize. If you want to show a wider avatar, please increase styleOptions.avatarSize.
    • If customized avatar is rendering false, bubble will still be padded to leave a gutter for the empty customized avatar. To hide gutter, please set styleOptions.botAvatarInitials and styleOptions.userAvatarInitials to falsy.
  • Default bubble nub offset is set to 0, previously "bottom" (or -0)
    • Previously, we put the bubble nub at the bottom while keeping the avatar on top. This is not consistent in the new layout.
  • By default, we will group avatar per status group.
    • If you want to switch back to previous behaviors, please set styleOptions.showAvatarInGroup to true.
  • Default botAvatarInitials and userAvatarInitials is changed to undefined, from "" (empty string)
    • When the initials is undefined, no gutter space will be reserved for the avatar.
    • When the initials is "" (empty string), gutter space will be reserved, but not avatar will be shown.

Changed

Added

Read more

[4.9.2] - 2020-07-14

Choose a tag to compare

@corinagum corinagum released this 16 Jul 18:49
e0b9ccc

Subresource integrity

<script
  crossorigin="anonymous"
  integrity="sha384-G0VCa1atd2kw41Vc47SQAzxRtXJ0VUF7STjAmsS/VBtJ30ohQxOkKPOR6iqtUG/H"
  src="https://cdn.botframework.com/botframework-webchat/4.9.2/webchat.js"
></script>

<script 
  crossorigin="anonymous"
  integrity="sha384-Un9Ro5fniKQ6ajmXFs5WHQDeflWbRClv9AjCiEQ6AGsxAxww91IKPE8KBheuTEIf"
  src="https://cdn.botframework.com/botframework-webchat/4.9.2/webchat-es5.js"
></script>

<script 
  crossorigin="anonymous"
  integrity="sha384-wLx+ilIRSYD2v2BUIDlJAfELEXQjrxliC/t6JaeMCn3U+KX2q2uFd6KdPYKUSH2l"
  src="https://cdn.botframework.com/botframework-webchat/4.9.2/webchat-minimal.js"
></script>

Changelog

Added

Fixes

  • Fixes #3265. Fix styling specificity regression on microphone button, by @corinagum in PR #3276
  • Fixes #3279. Fix relative timestamp errored out when showing a time before yesterday, by @compulim in PR #3282
  • Fixes #3236, by @compulim in PR #3287
    • Isolated screen reader only live region for incoming activities and added a new <ScreenReaderActivity> component
    • Removed screen reader text for activities outside of live region, including <CarouselFilmstrip>, <StackedLayout>, <TextContent>, and <Timestamp>
    • Updated some accessibility texts
    • Rectified activities render order by delaying activities with replyToId that reference an activity which is not ACK-ed, for up to 5 seconds
    • Disabled widgets will have tabindex="-1" set, instead of disabled attribute
    • Remove tabindex="-1" from Adaptive Cards container
    • Hide activities of type invoke
  • Fixes #3294. Fix blank screen on missing middlewares, by @compulim in PR #3295
  • Fixes #3297. Fix className prop is not honored in <ReactWebChat>, by @compulim in PR #3300

Samples

  • Resolves #3218 and #2811. Adds documentation on reconnecting to a conversation in minimizable sample, by @corinagum, in PR #3239

[dev-preview-timestamp-fix] - 2020-07-08

Choose a tag to compare

Tarballs can be found in this workflow, https://github.com/microsoft/BotFramework-WebChat/actions/runs/161358565.

Build time Workflow ID Source version Branch Package version
2020-07-08 01:27:42.503Z 161358565 8696a8e preview-timestamp-fix 4.9.2-preview-timestamp-fix.8696a8e
Force push on tag name

Script tags

<script src="https://github.com/microsoft/BotFramework-WebChat/releases/download/dev-preview-timestamp-fix/webchat.js"></script>

<script src="https://github.com/microsoft/BotFramework-WebChat/releases/download/dev-preview-timestamp-fix/webchat-es5.js"></script>

<script src="https://github.com/microsoft/BotFramework-WebChat/releases/download/dev-preview-timestamp-fix/webchat-minimal.js"></script>

[4.9.1] - 2020-06-09

Choose a tag to compare

@compulim compulim released this 10 Jun 17:42
69d0afb

Subresource integrity

<script
  crossorigin="anonymous"
  integrity="sha384-Q1EIOjL3Bf1TgDSIVoQ0+I5X3P5LX+k1OIJPaVmNOkUjXNlSoR1bkAPJZNuK54x2"
  src="https://cdn.botframework.com/botframework-webchat/4.9.1/webchat.js"
></script>

<script 
  crossorigin="anonymous"
  integrity="sha384-iUFVOYPvwT6u1UqxL7JaKPyO1VGrqJ0zg/fD+g1QKLH3xi6MzFyYtUKQM51LHuob"
  src="https://cdn.botframework.com/botframework-webchat/4.9.1/webchat-es5.js"
></script>

<script 
  crossorigin="anonymous"
  integrity="sha384-GM+djQ1F0fU5UT7u/+8oFgNtU9I/eJZkjgBNVmCjNkMxhG30zzxCah0U/5McEpvv"
  src="https://cdn.botframework.com/botframework-webchat/4.9.1/webchat-minimal.js"
></script>

Changelog

Breaking changes

  • Affecting Adaptive Cards, legacy cards and suggested actions
    • For openUrl card action, we are now whitelisting the URL scheme using the same whitelist from the default Markdown + sanitize engine, which includes data, http, https, ftp, mailto, sip, and tel
    • To whitelist a different set of URL schemes, please implement the card action middleware to override this behavior

Added

Fixed

  • Fixes #1340. Card container should not be focusable if they do not have tapAction, by @compulim in PR #3193
  • Fixed #3196. Cards with tapAction should be executable by ENTER or SPACEBAR key, by @compulim in PR #3197
  • Fixed #3203. "New messages" button should be narrated by assistive technology, by @compulim in PR #3204
  • Fixed #3217. Make sure rel="noopener noreferrer is not sanitized, by @compulim in PR #3220
  • Fixed #3223. Tap an openUrl card action should open URL in a new tab with noopener noreferrer set, by @compulim in PR #3224

Changed

Samples

[4.9.0] - 2020-05-13

Choose a tag to compare

@compulim compulim released this 13 May 16:24
6b6caff

Subresource integrity

<script
  crossorigin="anonymous"
  integrity="sha384-gn41zgXj4uDFglvcUFGeHzl+pEV0vpsJ0p/ITM3AV1apUs7OGo/FO1gl8i1EJMr4"
  src="https://cdn.botframework.com/botframework-webchat/4.9.0/webchat.js"
></script>

<script 
  crossorigin="anonymous"
  integrity="sha384-f6BvsOUIP9DrTw62SdcJwOm2oa+4Eu21Dzdlh2bfOA2axKA9dL812USg0fMy3CP4"
  src="https://cdn.botframework.com/botframework-webchat/4.9.0/webchat-es5.js"
></script>

<script 
  crossorigin="anonymous"
  integrity="sha384-N8YF6H5wP3LtjcC9zCauWxFJH8q6LkRXGyH11jkATU9iCbdPH4qoLNhVz25D2hjO"
  src="https://cdn.botframework.com/botframework-webchat/4.9.0/webchat-minimal.js"
></script>

Changelog

Added

  • Resolves #2897. Moved from JUnit to VSTest reporter with file attachments, by @compulim in PR #2990
  • Added aria-label attribute support for default Markdown engine, by @patniko in PR #3022
  • Resolves #2969. Support sovereign cloud for Cognitive Services Speech Services, by @compulim in PR #3040
  • Resolves #2481. Support selecting different audio input devices for Cognitive Services Speech Services, by @compulim in PR #3079
  • Resolves #2850. Added new useFocus hook and deprecating useFocusSendBox hook, by @compulim in PR #3123
    • Modify setFocus argument of useTextBoxSubmit to support main and sendBoxWithoutKeyboard

Fixed

  • Fixes #2989. Fix observeOnce to use ES Observable call pattern, by @compulim in PR #2993
  • Fixes #3024. Using bridge package markdown-it-attrs-es5 for consuming markdown-it-attrs for IE11, by @compulim in PR #3025
  • Fixes #2818. Fix user ID is not set when passing to embed as query parameter, by @p-nagpal in PR #3031
  • Fixes #3026. Fix link rel attribute in the renderMarkdown function, by @tdurnford in PR #3033
  • Fixes #2933. Fix text should not be ignored in messageBack action in hero card, by @geea-develop and @compulim in PR #3003
  • Fixes #2562. Fix timestamps should not stop updating, by @compulim in PR #3066
  • Fixes #2953. Direct Line Speech should not synthesize when the speak property is falsy, by @compulim in PR #3059
  • Fixes #2876. messageBack and postBack should send even if both text and value is falsy or undefined, by @compulim in PR #3120
  • Fixes #2668. Disable Web Audio on insecure connections, by @compulim in PR #3079
  • Fixes #2850. After click suggested action, should focus to send box without keyboard, by @compulim in PR #3123
  • Fixes #3133. Associate ARIA labels with buttons in hero card and Adaptive Cards, by @compulim in PR #3146.
    • Remove browser-based detection from <ScreenReaderText> because it is no longer needed.
    • After stripping Markdown syntax for accessibility labels, cache the result to improve rendering performance.
    • Skip stripping Markdown for non-Markdown text content.
  • Fixes #3155. Patch incoming activities with null fields, by @compulim in PR #3154

Changed

Read more

[4.8.1] - 2020-04-22

Choose a tag to compare

@compulim compulim released this 22 Apr 17:56

Subresource integrity

<script
  crossorigin="anonymous"
  integrity="sha384-ckY8pga99BTkPPRbRxLlErL5DeaTwspGDoieGGvI4X8X3w4I2OcLXlHeo6P375yw"
  src="https://cdn.botframework.com/botframework-webchat/4.8.1/webchat.js"
></script>

<script 
  crossorigin="anonymous"
  integrity="sha384-8wbIBXOC04g3ze/UjsvmVyPV2JWVW6zErr0Vhn/aLSIZ24vFo1jiqkDns/53ye8h"
  src="https://cdn.botframework.com/botframework-webchat/4.8.1/webchat-es5.js"
></script>

<script 
  crossorigin="anonymous"
  integrity="sha384-wOaf1uqEf5k63cybZfnId3htE1b9OLv6FJgAORyLau4vP+EAh+jEYPU5Te5scmnw"
  src="https://cdn.botframework.com/botframework-webchat/4.8.1/webchat-minimal.js"
></script>

Changelog

Fixed

  • Fixes #3075. Fix usability issues around accessibility, by @compulim in PR #3076
    • Fix timestamp should not be narrated more than once.
    • Associate the activity text with its attachments, by adding a role="region" to the activity DOM element.
  • Fixes #3074. Keep props.locale when sending to the bot, by @compulim in PR #3095
  • Fixes #3096. Use <ScreenReaderText> instead of aria-label for message bubbles, by @compulim in PR #3097