[x] Check component governance and make sure there are no high/critical related to code under /packages/ folder
There could be some for projects under /samples/ folder, as they are pointing to previous version of Web Chat
[x] Add manual tests to WebChat-release-testing as needed
Test
The test should run against the build artifacts from Azure Pipelines.
[x] Manual testing on major browsers using webchat-release-testing
[x] Before starting testing, update all the browser version to latest
[x] Chrome 124.0.6367.119
[x] Edge 126.0.2566.0
[x] Firefox 125.0.3
[x] ~IE11 (Windows 11 22H2 23531.1001)~
[x] macOS Safari 16.5 (18615.2.9.11.4)
[x] iOS Safari 17.4.1 (21E236)
[x] iPadOS Safari 17.4.1 (21E236)
[x] Android Chrome 124.0.6367.113
[x] Test specific fixes related to 4.17.0 and previous releases
Citation
Experimental Fluent UI
Note: when the bot is sending a long message (say, markdown) via Direct Line Speech, the service may kill the connection. This is an issue on Direct Line Speech service and is not an issue about Web Chat.
Release
[x] Make sure you are on main ~or qfe~ branch, run git status to check
[x] git pull
[x] Verify /package.json, /package-lock.json, and CHANGELOG.md has a version of 4.17.0
[x] git log
Verify the latest commit is f03d1f0
[x] git tag v4.17.0
[x] git push -u upstream v4.17.0
You do not need to kick off a build again, use the previous build
[x] Create a new GitHub release
[x] Copy entries from CHANGELOG.md
[x] Subresource Integrity can be generated by
From local: for file in $(ls *.js); do echo $file $(cat $file | openssl dgst -sha384 -binary | openssl base64 -A); done
From CDN: curl -H 'Accept-Encoding: gzip' https://cdn.botframework.com/botframework-webchat/4.17.0/webchat.js | gunzip - | openssl dgst -sha384 -binary | openssl base64 -A
[x] Attach assets including 3 JS files, stats.json and 5 tarballs
You can copy the artifacts from webchat-release-testing/drops
Checklist
Build
botframework-directlinejs
to0.15.5
in PR #XXX~4.17.0
CHANGELOG.md
to mark specific changes in4.17.0
npm version --no-git-tag-version 4.17.0
main
, the PR number is #5171f03d1f0
true
BotFramework-WebChat-Official
388824
and commit isf03d1f0
WebChat-release-testing
pipeline and wait for completePush-Release-Testing-to-GitHub-Pages
524
/packages/
folder/samples/
folder, as they are pointing to previous version of Web ChatWebChat-release-testing
as neededTest
webchat-release-testing
4.17.0
and previous releasesRelease
main
~orqfe
~ branch, rungit status
to checkgit pull
/package.json
,/package-lock.json
, andCHANGELOG.md
has a version of4.17.0
git log
f03d1f0
git tag v4.17.0
git push -u upstream v4.17.0
CHANGELOG.md
for file in $(ls *.js); do echo $file $(cat $file | openssl dgst -sha384 -binary | openssl base64 -A); done
curl -H 'Accept-Encoding: gzip' https://cdn.botframework.com/botframework-webchat/4.17.0/webchat.js | gunzip - | openssl dgst -sha384 -binary | openssl base64 -A
stats.json
and 5 tarballswebchat-release-testing/drops
[[PROD]]Push-WebChat-Official-to-npmjs
2
and commit isf03d1f05
[[PROD]]Push-WebChat-Official-to-Prod-CDN-with-approval
388824
, release number is4
and commit isf03d1f05
320590
(this is fixed)Post-release verification - complete within 30 minutes after release to NPM
[x] Test using
webchat-release-testing
01.create-react-app
01.create-react-app/node_modules
npm install
npm install botframework-webchat@4.17.0
(just install the bundle package)npm run build
[x] Others
Using script tags from https://github.com/microsoft/BotFramework-WebChat/releases/tag/v4.17.0, with subresource integrity
npx serve
(at repo root)Notification to interested parties
Post-release checklist
These are chores that we should do before starting the cycle to reduce ripple effects if we do it in mid-cycle.
Tips:
node_modules
from all foldergit clean -fdx
package-lock.json
component/package.json
botframework-webchat-core
by hand-modifyingpackage.json
npm install
(symlinks will be broken afterward)package.json
Applies to all releases
CHANGELOG.md
and version number bump is cherry-picked tomain
~git checkout main
~git cherry-pick XXX
(the commitish for bumping version number andCHANGELOG.md
)~CHANGELOG.md
in PR #XXX~CHANGELOG.md
~package.json
to4.17.1-0
in PR #5174npm version prepatch --no-git-tag-version
servicingPlan.json
in PR #51744.17.0
in PR #XXXX~npm init
with default valuesnpm install botframework-webchat@4.17.0
Applies to major/minor releases
Bump all dependencies to latest version
In PR #5174, we are bumping most dependencies to latest version.
npm run bump
npm audit fix
to make sure everything is fixedmicrosoft-cognitiveservices-speech-sdk
~Bump Docker image