Skip to content

[4.7.0] - 2019-12-12

Choose a tag to compare

@compulim compulim released this 13 Dec 00:26
· 291 commits to master since this release
7811093

Subresource integrity

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

<script 
  crossorigin="anonymous"
  integrity="sha384-D+O/WIE8WCupSBNZr0o0vf13eHWXaAj/HJkS6PFUgWgaHhVcJKWiBt5xq1UE1URM"
  src="https://cdn.botframework.com/botframework-webchat/4.7.0/webchat-es5.js"
></script>

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

Changelog

Breaking changes

  • adaptiveCardHostConfig is being renamed to adaptiveCardsHostConfig
    • If you are using the deprecated adaptiveCardHostConfig, we will rename it automatically

Added

  • Resolves #2539, added React hooks for customization, by @compulim, in the following PRs:
    • PR #2540: useActivities, useReferenceGrammarID, useSendBoxShowInterims
    • PR #2541: useStyleOptions, useStyleSet
    • PR #2542: useLanguage, useLocalize, useLocalizeDate
    • PR #2543: useAdaptiveCardsHostConfig, useAdaptiveCardsPackage, useRenderMarkdownAsHTML
    • PR #2544: useAvatarForBot, useAvatarForUser
    • PR #2547: useEmitTypingIndicator, usePeformCardAction, usePostActivity, useSendEvent, useSendFiles, useSendMessage, useSendMessageBack, useSendPostBack
    • PR #2548: useDisabled
    • PR #2549: useSuggestedActions
    • PR #2550: useConnectivityStatus, useGroupTimestamp, useTimeoutForSend, useUserID, useUsername
    • PR #2551: useLastTypingAt, useSendTypingIndicator, useTypingIndicator
    • PR #2552: useFocusSendBox, useScrollToEnd, useSendBoxValue, useSubmitSendBox, useTextBoxSubmit, useTextBoxValue
    • PR #2553: useDictateInterims, useDictateState, useGrammars, useMarkActivityAsSpoken, useMicrophoneButton, useShouldSpeakIncomingActivity, useStartDictate, useStopDictate, useVoiceSelector, useWebSpeechPonyfill
    • PR #2554: useRenderActivity, useRenderAttachment
    • PR #2644: Added internal/useWebChatUIContext for cleaner code
  • Bring your own Adaptive Cards package by specifying adaptiveCardsPackage prop, by @compulim in PR #2543
  • Fixes #2597. Modify watch script to start and add tableflip script for throwing node_modules, by @corinagum in PR #2598
  • Adds Arabic Language Support, by @midineo, in PR #2593
  • Adds AdaptiveCardsComposer and AdaptiveCardsContext for composability for Adaptive Cards, by @compulim, in PR #2648
  • Adds Direct Line Speech support, by @compulim in PR #2621
  • Fixes #2692. Rename sample 17 to 17.a, by @corinagum in PR #2695

Fixed

  • Fixes #2565. Fixed Adaptive Card host config should generate from style options with default options merged, by @compulim in PR #2566
  • Resolves #2337. Remove Cognitive Services Preview warning, by @corinagum in PR #2578
  • Fixes #2559. De-bump remark and strip-markdown, by @corinagum in PR #2576
  • Fixes #2512. Adds check to ensure Adaptive Card's content is an Object, by @tdurnford in PR #2590
  • Fixes #1780, #2277, and #2285. Make Suggested Actions accessible, Fix Markdown card in carousel being read multiple times, and label widgets of Connectivity Status and Suggested Actions containers, by @corinagum in PR #2613
  • Fixes #2608. Focus will return to sendbox after clicking New Messages or a Suggested Actions button, by @corinagum in PR #2628
  • Resolves #2597. Modify watch script to start and add tableflip script for throwing node_modules, by @corinagum in PR #2598
  • Resolves #1835. Adds suggestedActionLayout to defaultStyleOptions, by @spyip, in PR #2596
  • Resolves #2331. Updated timer to use React Hooks, by @spyip in PR #2546
  • Resolves #2620. Adds Chinese localization files, by @spyip in PR #2631
  • Fixes #2639. Fix passed in prop time from string to boolean, by @corinagum in PR #2640
  • component: Updated timer to use functional component, by @spyip in PR #2546
  • Fixes #2651. Add ends-with string module to es5 bundle, by @corinagum in PR #2654
  • Fixes #2658. Fix rendering of markdown images in IE11, by @corinagum in PR #2659
  • Fixes #2662 and #2666. Fix various issues related to Direct Line Speech, by @compulim in PR #2671
    • Added triple-buffering to reduce pops/cracks.
    • Enable Safari by upsampling to 48000 Hz.
    • Support detailed output format on Web Chat side.
  • Fixes #2700. Enable <SayComposer> and Adaptive Cards in recompose story, in PR #2649
    • Moved <SayComposer> from <BasicTranscript> to <Composer>
    • Moved WebSpeechPonyfill patching code from <BasicTranscript> to <Composer>
  • Fixes #2699. Disable speech recognition and synthesis when using Direct Line Speech under IE11, by @compulim, in PR #2649
  • Fixes #2709. Reduce wasted render of activities by memoizing partial result of <BasicTranscript>, by @compulim in PR #2710
  • Fixes #2710. Suggested actions container should persist for AT, by @corinagum in PR #2710
  • Fixes #2718. Add Object.is polyfill for IE11, by @compulim in PR #2719
  • Fixes #2723. Fix renderMarkdown should not be called if it is undefined in minimal bundle, by @compulim in PR #2724

Changed

  • Bumped all dependencies to latest version, by @compulim, in PR #2533 and PR #2621
    • Development dependencies
      • Root package
        • @azure/storage-blob@12.0.0
        • @babel/plugin-proposal-class-properties@7.5.5
        • @babel/plugin-proposal-object-rest-spread@7.6.2
        • @babel/plugin-transform-runtime@7.6.2
        • @babel/preset-env@7.6.3
        • @babel/preset-react@7.6.3
        • @babel/preset-typescript@7.6.0
        • @babel/runtime@7.6.3
        • babel-jest@24.9.0
        • core-js@3.3.6
        • coveralls@3.0.7
        • husky@3.0.9
        • jest-image-snapshot@2.11.0
        • jest@24.9.0
        • lerna@3.18.3
        • lint-staged@9.4.2
        • selenium-webdriver@4.0.0-alpha.5
        • serve-handler@6.1.2
      • Other packages
        • @babel/cli@7.6.4
        • @babel/core@7.6.4
        • @babel/plugin-proposal-class-properties@7.5.5
        • @babel/plugin-proposal-object-rest-spread@7.6.2
        • @babel/plugin-transform-runtime@7.6.2
        • @babel/preset-env@7.6.3
        • @babel/preset-react@7.6.3
        • @babel/preset-typescript@7.6.0
        • @types/node@12.12.3
        • @types/react@16.9.11
        • @typescript-eslint/eslint-plugin@2.6.0
        • @typescript-eslint/parser@2.6.0
        • babel-plugin-istanbul@5.2.0
        • concurrently@5.0.0
        • copy-webpack-plugin@5.0.4
        • eslint-plugin-prettier@3.1.1
        • eslint-plugin-react-hooks@2.2.0
        • eslint-plugin-react@7.16.0
        • eslint@6.6.0
        • http-proxy-middleware@0.20.0
        • jest@24.9.0
        • terser-webpack-plugin@2.2.1
        • typescript@3.6.4
        • webpack-cli@3.3.10
        • webpack@4.41.2
    • Production dependencies
      • core
        • @babel/runtime@7.6.3
        • jsonwebtoken@8.5.1
        • math-random
        • redux-saga@1.1.1
        • simple-update-in@2.1.1
      • bundle
        • @babel/runtime@7.6.3
        • core-js@3.3.6
        • markdown-it@10.0.0
        • memoize-one@5.1.1
        • sanitize-html@1.19.0
        • url-search-params-polyfill@7.0.0
      • component
        • bytes@3.1.0
        • memoize-one@5.1.1
        • react-dictate-button@1.2.1
        • react-redux@7.1.1
        • remark@11.0.1
        • sanitize-html@1.20.1
        • simple-update-in@2.1.1
        • strip-markdown@3.1.1
      • embed
        • @babel/runtime@7.6.3
        • core-js@3.3.6
  • component: Bumps adaptivecards@1.2.3, by @corinagum in PR #2523
  • Bumps Chrome in Docker to 78.0.3904.70, by @spyip in PR #2545
  • bundle: Webpack will now use webpack-stats-plugin instead of webpack-visualizer-plugin, by @compulim in PR #2584
  • Resolves #2674. Update embed docs, by @corinagum, in PR #2696

Samples