Bot Framework SDK 4.13.0
April 2021 (version 4.13.0)
Welcome to the April 2021 release of the Bot Framework SDK. The Bot Framework Java SDK now includes full support for Microsoft Teams Bots, Skills, Dialogs, QnA, LUIS and new storage options. Orchestrator, a replacement for the Dispatch tool shipped in prior versions, is now generally available. Bot Component Registration has been improved and simplified with the introduction of BotComponent
and automatic discovery of package components. New activity types Command
and CommandResult
are introduced in support of the Telephony channel and further protocol extensibility. Other updates to the DotNet, Javascript, and Python SDKs. See also the change log.
Java SDK (GA)
Microsoft Teams (GA)
Fully integrates support for building Teams bots allowing users to use them in channel or group chat conversations. By adding a bot to a team or chat, all users of the conversation can take advantage of the bot functionality right in the conversation.
Skills (GA)
Create a reusable conversational skill to add functionality to a bot. Leverage pre-built skills, such as Calendar, Email, Task, Point of Interest, Automotive, Weather and News skills. Skills include language models, dialogs, QnA, and integration code delivered to customize and extend as required.
New additions since the last preview release
- Dialogs
- QnA
- Luis.v3
- Azure storage
- Queues
- Blobs
- CosmosDB
- Application Insights
Orchestrator (GA)
- Orchestrator recognizer has been released to General Availability!
- Improved performance.
- Fully integrated with Composer via the packages subsystem
- Integrated in user experience for skill routing
- Promoted BF CLI Orchestrator from plugin to embedded command
- Updated documentation and samples
Teams
- Introduction of Single Sign On Middleware for Microsoft Teams
- Teams Adaptive Component package includes triggers and actions for interacting with Microsoft Teams specific features
New Activity Types
Command
activities communicate a request to perform a specific action. They are identified by a type value of command and specific values of the name field. specificationCommandResult
activities communicate the result of a command activity. specification
BotComponent Registration
Adaptive Component registration has been updated to include BotComponent
and auto-discovery with the new Adaptive Runtime
Dotnet
- Extended
DialogExtensions.RunAsync
so it fully supportsAdaptiveDialogs
- Consolidated the implementation of
DialogManager
so it usesDialogExtensions.RunAsync
- Introduced
AdaptiveDialogBot
anIBot
implementation for runningAdaptiveDialogs
, follows the pattern established withDialogBot<T>
used across the samples and usesDialogExtensions.RunAsync
to execute theDialog
. It implementsIBot
directly rather than deriving fromActivityHandler
. Significantly the implementation captures theTurnState
dependencies that anAdaptiveDialog
has. - The adaptive runtime moves from Preview to GA. This introduces a new package called
Microsoft.Bot.Builder.Dialogs.Adaptive.Runtime
. In the process the coreServiceCollectionExtensions.AddBotRuntime
was re-implemented to use the newAdaptiveDialogBot
class. It also now injects most of the key dependencies for theAdaptiveDialog
(now explicitly modeled in theAdaptiveDialogBots
constructor) withTryAddSingleton
so they act as replace-able defaults. - Various Skill classes have been updated so they now aligns with the fully parameterizable Auth abstractions introduced in 4.12.0 with
CloudAdapter
.
Javascript
- Introduced several new Adaptive Runtime preview packages that enable users to make Javascript bots inside Composer
- Preview support for authoring reusable bot component packages that can extend Composer Javascript bots
Python
- Update versions for specific dependencies, adding missing requirements, slight refactors.