Bot Framework SDK for Javascript v4.5
v4.5.0
Welcome to the 4.5 release of the Bot Framework SDK for Javascript!
Today, we are happy to announce the Bot Framework support for Emulator Channel Testing is generally available. This enables developers to debug and test your Bot Framework SDK v4 bots on channels like Microsoft Teams, Slack, Cortana, Facebook Messenger, Skype, etc. As you have the conversation, messages will be mirrored to the Bot Framework Emulator where you can inspect the message data that the bot received. Additionally, a snapshot of the bot state for any given turn between the channel and the bot is rendered as well.
We also added capabilities for Unit Testing your bots. The Microsoft.Bot.Builder.Testing package simplifies the process of unit testing dialogs in your bot.
As with any release, we fixed a number of bugs, continue to improve LUIS and QnA integration and further clean our engineering practices. There were additional updates across other areas like Language, Prompts, Dialogs, State and Storage.
Review all changes that went into 4.5 in the detailed Change Log
Authentication and Security
- Added credentials to inspection middleware for test bot [PR 1033]
- Fixed Axios vulnerability ISSUES [PR 962]
- Changed en/decryption cipher to aes-256-cbc to work with Electron 4+. [PR 880]
Prompts and Dialogs
- Change OAuthPrompt to default to AcceptingInput instead of ExpectingInput [PR 1043]
- Changed to 'beginDialog' and 'continueDialog' methods to return the proper 'cancelled' status [PR 1002]
State and Storage
- Added PartitionKey value to Read and Delete operations [PR 860]
Integration Layer
- Added 906 and 907 to master [PR 936]
Connectors and Adapters
- Swagger connector api alignment updates [PR 980]
Testing and Configuration
- Implemented DialogTestClient used to build unit tests for dialogs in abstract [PR 987]
- Added reading of process.env for Azure specific config in BotFrameworkAdapter [PR 975]
- Deployed to Linux on Azure using Azure Pipelines [PR 961]
- Updated testbot to parity with DotNet [PR 954]
- Added inspection unit test, rolled up fix from 4.4 on state adn upgraded nock to consistent version across code base [PR 942]
- Added 'no answer found in kb' Unit Test Case [PR 937]
- Made attach command a Trace activity [PR 935]
- Fixed build break [PR 922]
- Added functional test to check bot deployed answer [PR 919]
- Added support for Teams mentions & re-enable Connector SDK tests [PR 908]
- Enabled Sidecar debugging via InspectionMiddleware [PR 897]
- Testbot [PR 892]
- Added default middleware to patch location of tenantId for MS Teams [PR 886]
- QnAMakerService correctly builds hostname URL & throws error w/o URL [PR 1035]
- Updated due to build name change [PR 825]
- QnA Telemetry Support [PR 823]
- QnA Telemetry Support [PR 822]
- Bumped to latest LUIS SDK package [PR 817]
- Changed test description to match implementation [PR 801]
- Luis SDK tests (oracle) [PR 800]
Parity and Refactoring
- Rolled back breaking package-lock changes [PR 1023]
- Added columns for bot deployment status badge for both Windows and Linux, added N/A to outdated columns [PR 1021]
- Brought JS inline with C# for Teams invoke [PR 983]
- Dotnet issue 1860 activity.text can be null [PR 982]
- Added UsingMyGet.md [PR 977]
- Modularize scripts [PR 925]
- Fixed missing quote in JSDoc [PR 921]
- Make BotBuilder AI web compatible [PR 914]
- Updated the oracles to match LUIS. [PR 911]
- Edits for //build [PR 912]
- Fixed issues found in testing with Teams [PR 900]
- Fixed webpack bundling broken [PR 890]
- Updated node.js app insights sdk to 1.2.0 [PR 879]
- Choice prompt parity [PR 875]
- Restored the deleted script "test:travis" as "test:coveralls" [PR 871]
- Lint luisRecognizer.ts [PR 867]
- Added timeout in luisRecognizer & qnaMaker for node [PR 857]
- Handled textless messages differently, bringing Node into parity with .NET [PR 856]
- Upgraded LUIS to new SDK - this time with feeling [PR 844]
- Parity with c# - binary compat changes for LuisRecognizer [PR 842]
- Removed lerna and typescript install from travis.yml [PR 839]
- Added getTokenStatus method [PR 838]
- Telemetry LuisRecognizer & Telemetry Middleware [PR 816]
- Re-enabled linting [PR 806]
- Replaced async-file with fs-extra to match other packages [PR 805]
- Added full nock validation for LUIS calls [PR 796]
General
- Added MessageReaction to ActivityHandler [PR 1038]
- Added at mention removal code and used it in inspection [PR 1032]
- Added active learning support for QnA Maker [PR 1030]
- Updated LUIS Recognizer to support GeographyV2, OrdinalV2 and PersonName from LUIS. [PR 1024]
- Cleaned up package.json as per issue #926 [PR 1018]
- Fixed unzip dependency location [PR 1017]
- Added 'properties' property to conversationAccount [PR 999]
- Removed random from auto assigned ids [PR 998]
- Removed the NPM warning about filenamify already including types [PR 995]
- Added ability to pass LUIS prediction options into Recognizer.recognize method [PR 989]
- Removed property name existance check from botstate [PR 945]
- Removed html-entities library and its decoding from the answer formatting. [PR 909]
- Allow patch version of ms-rest to float. [PR 893]
- Moved numberOfAttempts to state from options [PR 889]
- Added numberOfAttempts to promptOptions [PR 870]
- Allow user to specify bot to channel token tenant [PR 841]
- Added userId parameter to signOutUser [PR 837]
- Fix AzureBlobTranscriptStore [PR 836]
- Line channel updates [PR 834]
- Update 4.3 build to show 4.3 branch builds [PR 826]
- Update for latest 4.4 Build [PR 824]
- Moved @types/documentdb to dependencies in package.json [PR 821]
- AAdded lerna to package.json devDependencies [PR 802]