Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

4.6.0 Release checklist #2498

Closed
55 tasks done
compulim opened this issue Oct 25, 2019 · 0 comments
Closed
55 tasks done

4.6.0 Release checklist #2498

compulim opened this issue Oct 25, 2019 · 0 comments
Labels
release Release checklist

Comments

@compulim
Copy link
Contributor

compulim commented Oct 25, 2019

Build

  1. Update all samples to use 4.6.0
  2. Update CHANGELOG.md to mark specific changes in 4.6.0
  3. Run npm version --no-git-tag-version 4.6.0
  4. Run daily pipeline manually, set "generate release version number" to true
    • (This will not push to NPM or CDN)
    • The build number is 87362 and commit is dd80827
  5. Download build artifacts
  6. Setup hosting apps
    1. Hosting apps
      • create-react-app
      • babel/standalone
      • renderWebChat with React loaded
        • ES5 bundle (on IE11 with all browsers)
        • Full bundle without ES5
        • Minimal bundle
      • renderWebChat without React loaded
    2. For each of the hosting scenario, verify
      • Web Chat is loaded
      • User can send a simple message
        • Bot will respond with a simple response
      • User can say a simple message using microphone
        • Bot will respond with a synthesized message
      • Bot can display an Adaptive Card (e.g. card breakfast)
        • (Don't use herocard because it is not using the middleware to register AC renderer)
      • Bot can send Markdown and displayed correctly
      • Check <meta> to see the version number should be 4.6.0 and not a pre-release

Test

The test should run against the build artifacts from Azure Pipelines.

  1. Bump to Bot Framework SDK release 4.6 RC
  2. Manual testing on major browsers
    • Browsers
      • Chrome
      • Edge (UWP)
      • Firefox
      • IE11
      • Macbook Safari
      • iOS Safari
      • Android Chrome
    1. All MockBot commands
      1. Type help to MockBot, it will list out all commands
      2. Try out each of the command, list out all failed below, if any
    2. Speech scenarios (without IE11)
      1. Happy path
        1. Click microphone button and say something
        2. Expect: bot to speak
        3. Expect: microphone to turn on automatically after bot message is spoken
      2. Turning off microphone
        1. Click microphone button and say something
        2. Expect: while your speech is getting recognized, the microphone button should turn red
        3. Expect: while the microphone button is red, you can click to stop it
        4. Expect: your speech interims should not be sent
      3. Keyboard interrupted speech synthesis and recognition
        1. Click microphone button and say something
        2. While the bot is speaking, type something on the keyboard
        3. Expect: bot stop speaking immediately and microphone will not turn on by itself
      4. Unrecognizable sound (or muted microphone)
        1. Click microphone button and do not say anything
        2. Expect: after a few seconds, the microphone button should be switched off by itself
      5. Recognition behavior after synthesis of "input hint expected"
        1. On all browsers including Safari, it should open microphone again and start recognizing
        2. Click on the microphone button should interrupt the synthesis
        3. Type on the keyboard should interrupt the synthesis
      6. Test on iOS devices
        1. Test "proactive" command
    3. Connectivity scenarios
      1. Airplane mode
      2. Bad secret or token
  3. Test specific fixes related to 4.6.0

Release

  1. Make sure you are on master or qfe branch, run git status to check
  2. git pull
  3. git tag v4.6.0
  4. git push -u upstream v4.6.0
    • You do not need to kick off a build again, use the previous build
  5. Create a new GitHub release, copy entries from CHANGELOG.md
  6. Kick off release to NPM
  7. Kick off release to CDN
    • Script build number is 57881
    1. Send reminder email to approvers
  8. Update servicingPlan.json

Post-release check

  • Hosting apps
    • NPM
      • create-react-app using package from public NPM
        • npm uninstall botframework-webchat-* (remove all tarballs)
        • npm install botframework-webchat@4.6.0 (just install the bundle package)
    • Bundle
      • Using <script> tags from https://github.com/microsoft/BotFramework-WebChat/releases/tag/v4.6.0, with subresource integrity
      • babel/standalone using package from CDN
      • renderWebChat with React loaded using package from CDN
        • ES5 bundle (on IE11 and all browsers)
        • Full bundle without ES5
        • Minimal bundle
      • renderWebChat without React loaded using package from CDN

Notification to interesting parties

Changelog

Breaking changes

  • We will no longer include react and react-dom in our NPM package, instead, we will requires peer dependencies of react@^16.8.6 and react-dom@^16.8.6

Changed

Fixed

  • Fixes #2328. Updating submitSendBoxSaga.js to send sendBoxValue.trim(), by @jimmyjames177414 in PR #2331
  • Fixes #2160. Clear suggested actions after clicking on a suggested actions of type openUrl, by @tdurnford in PR #2190
  • Fixes #1954. Estimate clock skew and adjust timestamp for outgoing activity, by @compulim in PR #2208
  • Fixes #2240. Fix microphone button should be re-enabled after error, by @compulim in PR #2241
  • Fixes #2250. Fix React warnings related prop types, by @compulim in PR #2253
  • Fixes #2245. Fix speech synthesis not working on Safari by priming the engine on the first microphone button click, by @compulim in PR #2246
  • Fixes #1514. Added reference grammar ID when using Cognitive Services Speech Services, by @compulim in PR #2246
  • Fixes #1515. Added dynamic phrases when using Cognitive Services Speech Services, by @compulim in PR #2246
  • Fixes #2273. Add ScreenReaderText component, by @corinagum in PR #2278
  • Fixes #2231. Fallback to English (US) if date time formatting failed, by @compulim in PR #2286
  • Fixes #2298. Speech synthesize errors to be ignored, by @compulim in PR #2300
  • Fixes #2243. Fixed sagas to correctly mark activities with speaking attachments, by @tdurnford in PR #2320
  • Fixes #2365. Fix Adaptive Card pushButton appearance on Chrome, by @corinagum in PR #2382
  • Fixes #2379. Speech synthesis can be configured off by passing null, by @compulim in PR #2408
  • Fixes #2418. Connectivity status should not waste-render every 400 ms, by @compulim in PR #2419
  • Fixes #2415 and #2416. Fix receipt card rendering, by @compulim in PR #2417
  • Fixes #2415 and #2416. Fix Adaptive Cards cannot be disabled on-the-fly, by @compulim in PR #2417
  • Fixes #2360. Timestamp should update on language change, by @compulim in PR #2414
  • Fixes #2428. Should interrupt speech synthesis after microphone button is clicked, by @compulim in PR #2429
  • Fixes #2435. Fix microphone button getting stuck on voice-triggered expecting input hint without a speech synthesis engine, by @compulim in PR #2445
  • Fixes #2472. Update samples to use repo's version of React, by @corinagum in PR #2478
  • Fixes #2473. Fix samples 13 using wrong region for Speech Services credentials, by @compulim in PR #2482
  • Fixes #2420. Fix saga error should not result in an unhandled exception, by @compulim in PR #2421
  • Fixes #2513. Fix core-js not loading properly, by @compulim in PR #2514
  • Fixes #2516. Disable microphone input for expecting input hint on Safari, by @compulim in PR #2517 and PR #2520
  • Fixes #2518. Synthesis of bot activities with input hint expecting, should be interruptible, by @compulim in PR #2520
  • Fixes #2519. On Safari, microphone should turn on after synthesis of bot activities with input hint expecting, by @compulim in PR #2520
  • Fixes #2521. webchat-es5.js should not contains non-ES5 code and must be loadable by IE11, by @compulim in PR #2522
  • Fixes #2524. Version was not burnt into source code correctly, by @compulim in PR #2525

Added

  • Resolves #2157, added emitTypingIndicator action and dispatcher, by @compulim, in PR #2413
  • Resolves #2307. Added options to hide ScrollToEnd button, by @nt-7 in PR #2332
  • Added bubble nub and style options, by @compulim, in PR #2137 and PR #2487
  • Resolves #1808. Added documentation on activity types, by @corinagum in PR #2228
  • Added timestampFormat option to the default style options and created AbsoluteTime component, by @tdurnford, in PR #2295
  • embed: Added ES5 polyfills and dev server, by @compulim, in PR #2315
  • Resolves #2380. Added botAvatarBackgroundColor and userAvatarBackgroundColor to the default style options, by @tdurnford in PR #2384
  • Added full screen capability to IFRAME in the YouTubeContent and VimeoContent components by @tdurnford in PR #2399
  • Resolves #2461, added isomorphic-react and isomorphic-react-dom packages, by @compulim and @corinagum, in PR #2478 and PR #2486
  • Added missing Norwegian (nb-NO) translations, by @taarskog
  • Added missing Italian (it-IT) translations, by @AntoT84
  • Resolve #2481. Support alternative audio input source by adding audioConfig prop to createCognitiveServicesSpeechServicesPonyfillFactory, by @corinagum, in PR #2491
  • Added missing Finnish (fi-FI) translations, by @sk91swd, in PR #2501

Samples

@compulim compulim added Enhancement release Release checklist customer-reported Required for internal Azure reporting. Do not delete. and removed customer-reported Required for internal Azure reporting. Do not delete. labels Oct 25, 2019
@compulim compulim changed the title [DRAFT] 4.6.0 Release checklist 4.6.0 Release checklist Oct 25, 2019
@compulim compulim pinned this issue Oct 31, 2019
@corinagum corinagum unpinned this issue Nov 1, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
release Release checklist
Projects
None yet
Development

No branches or pull requests

1 participant