- Notifications
You must be signed in to change notification settings - Fork 1.6k
Closed
Labels
releaseRelease checklistRelease checklist
Description
Checklist
Build
- Bump MockBot to Bot Framework SDK release 4.12.0
- https://www.npmjs.com/package/botbuilder/v/4.12.0
- (We will not bump for patch release)
-
Bumpbotframework-directlinejsto0.14.1- No newer version
- Bump to
4.12.0- Update
CHANGELOG.mdto mark specific changes in4.12.0 - Run
npm version --no-git-tag-version 4.12.0 - Merged into
master, the PR number is Bump version number to 4.12.0 #3739 - Commit is
63bb97a - Do not merge any other unrelated changes after this PR. Any other PR merged, will need to be re-tested
- Update
- Run daily pipeline manually, set "generate release version number" to
true- (This will not push to NPM or CDN)
- Pipeline name is
BotFramework-WebChat-daily - The build number is
218799and commit is63bb97a
Test
The test should run against the build artifacts from Azure Pipelines.
- Manual testing on major browsers using
webchat-release-testing- Before starting testing, update all the browser version to latest
- Chrome 88.0.4324.190
- Edge 88.0.705.81
- Firefox 86.0
- IE11 (Windows 10 21322.1000)
- macOS Safari 13.1.3 (15609.4.1)
- DLSpeech: Web Socket connection to
westus2.convai.speech.microsoft.comclosed instantly after connected, it also repro on previous versions of Web Chat (failed on 4.9.0, 4.8.1)
- DLSpeech: Web Socket connection to
- iOS Safari 14.4
- Android Chrome 88.0.4324.181
- Test specific fixes related to
4.12.0and previous releases- Auto scroll snapping
- Multi-line send box
- Suggested actions flow layout
- Suggested actions with multiple lines
Release
- Verify on WebChat-release-testing
- Make sure you are on
masterorbranch, runqfegit statusto check -
git pull - Verify
/package.json,/package-lock.json, andCHANGELOG.mdhas a version of4.12.0 -
git log- Verify the latest commit is
63bb97a
- Verify the latest commit is
-
git tag v4.12.0 -
git push -u upstream v4.12.0- You do not need to kick off a build again, use the previous build
- Create a new GitHub release, copy entries from
CHANGELOG.md- Subresource Integrity can be generated by
- From CDN:
curl -H 'Accept-Encoding: gzip' https://cdn.botframework.com/botframework-webchat/4.12.0/webchat.js | gunzip - | openssl dgst -sha384 -binary | openssl base64 -A - From local:
cat webchat.js | openssl dgst -sha384 -binary | openssl base64 -A
- From CDN:
- Attach assets including 3 JS files,
stats.jsonand 5 tarballs- You can copy the artifacts from
webchat-release-testing/drops - Tarballs download from npmjs
curl -L -o botframework-directlinespeech-sdk-4.12.0.tgz https://registry.npmjs.org/botframework-directlinespeech-sdk/-/botframework-directlinespeech-sdk-4.12.0.tgz curl -L -o botframework-webchat-4.12.0.tgz https://registry.npmjs.org/botframework-webchat/-/botframework-webchat-4.12.0.tgz curl -L -o botframework-webchat-core-4.12.0.tgz https://registry.npmjs.org/botframework-webchat-core/-/botframework-webchat-core-4.12.0.tgz curl -L -o botframework-webchat-api-4.12.0.tgz https://registry.npmjs.org/botframework-webchat-api/-/botframework-webchat-api-4.12.0.tgz curl -L -o botframework-webchat-component-4.12.0.tgz https://registry.npmjs.org/botframework-webchat-component/-/botframework-webchat-component-4.12.0.tgz
- You can copy the artifacts from
- Subresource Integrity can be generated by
- Kick off release to NPM
- Release name is
[[PROD]]Push-WebChat-to-npmjs - The build number is 218799 release number is
29and commit is63bb97a - Retain the build indefinitely
- Release name is
- Kick off release to CDN (CDN CUTOFF TIME IS 2PM PST)
- Prepare the email for approval
- Release name is
[[PROD]]Push-WebChat-to-Prod-CDN-with-approval - The build number is
218799, release number is34and commit is63bb97a - Script build number is
131156(this is fixed)
- Send reminder email to approvers
- Retain the build indefinitely
Post-release check
- Test using
webchat-release-testing- Clone https://github.com/corinagum/WebChat-release-testing/
-
01.create-react-app- Nuke
01.create-react-app/node_modules -
npm install -
npm install botframework-webchat@4.12.0(just install the bundle package) -
npm run build
- Nuke
- Others
- Using script tags from https://github.com/microsoft/BotFramework-WebChat/releases/tag/v4.12.0, with subresource integrity
<script crossorigin="anonymous" integrity="sha384-" src="https://cdn.botframework.com/botframework-webchat/latest/webchat-es5.js" ></script>
- Using script tags from https://github.com/microsoft/BotFramework-WebChat/releases/tag/v4.12.0, with subresource integrity
-
npx serve(at repo root) - Go to http://localhost:5000/ to test, including IE11
Notification to interested parties
- Update partner page on Adaptive Cards doc
- Notify related parties for the following fixes
- SDK team
- Omnichannel
- Pooja
- Update root README.md with feature notes
- Update R12 Release Checklist botframework-sdk#6200
Changelog
[4.12.0] - 2021-02-18
Added
- Resolves #2745. Added new
flowlayout 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
autoScrollSnapOnActivitytotrueto pause auto-scroll after more than one activity is shown, or a number to pause after X number of activities - Set
autoScrollSnapOnPagetotrueto pause auto-scroll when a page is filled, or a number between0and1to pause after % of page is filled - Set
autoScrollSnapOnActivityOffsetandautoScrollSnapOnPageOffsetto 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
sendBoxButtonAlignmentfor 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.mdfor 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 [Pass userID prop to chat adapter setUserId() #3544)(https://github.com/Pass userID prop to chat adapter setUserId() #3544).
- Resolves #3562. Add button word wrap to suggested actions stacked layout, by @corinagum, in PR #3728 and #3745
- Resolves #3658. Added new
containerRoleto default style options, by @nfreear in PR #3669 - Resolves #3754. Added new
useObserveTranscriptFocushook, by @compulim in PR #3755 - Translation for Yue, by @compulim in PR #3749
Fixed
- Fixes #3278. Update
HOOKS.mdverbiage, 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.jsto use default settings of['browser', 'module', 'main']and resolved issues withuuidpackage in IE11, by @compulim in PR #3726 - Fixes #3622. Apply pushed button style options and
aria-pressedon Adaptive Cards selected buttons, by @amal-khalaf in PR #3710 - Fixes #3618. Fix Adaptive Cards anchors being disabled when Adaptive Cards is obsolete, by @corinagum in PR #3687
- Fixes #3747.
aria-pressedandaria-roleis not properly set on Adaptive Cards submit buttons, by @amal-khalaf in PR #3744 - Fixes #3750. Debump Node.js engines requirements for some packages to
12.0.0, by @compulim in PR #3753 - Fixes #3760. Use
<ErrorBoundary>to wrap around attachment renderer, by @compulim in PR #3761 - Fixes #3764. Added
role="group"to the focusable transcript to enablearia-activedescendant, by @compulim in PR #3765
Changed
- Bumped all dependencies to the latest versions, by @compulim in PR #3594, PR #3694, and PR #3544
- Development dependencies
@babel/cli@7.12.1@babel/core@7.12.3@babel/plugin-proposal-class-properties@7.12.1@babel/plugin-proposal-object-rest-spread@7.12.1@babel/plugin-transform-runtime@7.12.1@babel/preset-env@7.12.1@babel/preset-react@7.12.5@babel/preset-typescript@7.12.1@babel/runtime@7.12.5@types/node@14.14.6@types/react@16.9.55@typescript-eslint/eslint-plugin@4.6.1@typescript-eslint/parser@4.6.1babel-jest@26.6.3eslint-plugin-prettier@3.1.4eslint-plugin-react-hooks@4.2.0eslint-plugin-react@7.21.5eslint@7.12.1husky@4.3.0jest-image-snapshot@4.2.0jest-junit@12.0.0jest-trx-results-processor@2.2.0jest@26.6.3lint-staged@10.5.1lolex@6.0.0node-dev@6.2.0node-fetch@2.6.1prettier@2.1.2source-map-loader@1.1.2terser-webpack-plugin@4.2.3typescript@4.0.5webpack-cli@4.2.0webpack-stats-plugin@1.0.2webpack@4.44.2
- Production dependencies
- Development dependencies
- Resolves #3392 Bumped Adaptive Cards to the 2.5.0, by @corinagum in PR #3630
Samples
- Fixes #3473. Fix samples using activityMiddleware (from 4.10.0 breaking changes), by @corinagum in PR #3601
- Fixes #3582. Fix Disable Adaptive Cards sample, by @corinagum in PR #3687
- Fixes #3434. Dispatched event, postBack, or messageBack + activityMiddleware causes fatal error, by @amal-khalaf in PR #3671
- Fixes #3215. Fix SSO samples
window.opener.postMessage, by @corinagum in PR #3696
Metadata
Metadata
Assignees
Labels
releaseRelease checklistRelease checklist