Welcome to the Bot Framework SDK for .NET repository, which is the home for the libraries and packages that enable developers to build sophisticated bot applications using .NET.
Welcome to the 4.5 release of the Bot Framework SDK for .NET!
Today, we are happy to announce the Bot Framework Emulator Channel Testing is generally available. This feature 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. You can inspect this data by clicking on the "Bot State" element in the conversation mirror.
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
NextAsync
. [PR 2037]
LuisRecognizer
to handle textless messages [PR 1566]
Welcome to the 4.4 release of the Bot Framework SDK for .NET!
In this release, the team focused on improving and simplifying message and activities handling. The Bot Framework Activity Schema is the underlying schema used to define the interaction model for bots.
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.4 in the detailed Change Log
LuisRecognizer
to handle textless messages [PR 1566]
In this release, the team focused on improving and simplifying message and activities handling. The Bot Framework Activity Schema is the underlying schema used to define the interaction model for bots.
With the 4.3 release, we have streamlined the handling of the most common activity types in the Bot Framework Activity Schema, exposing simple On* methods (OnMessage, OnEvent, OnConversationUpdate, etc.), simplifying the usage of these activities. On top of the activity handling improvements, for C# we have added MVC support, allowing developers to use standard ASP.NET core application and ApiController. We are in the process of updating the docs and samples to reflect these changes.
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, Connectors and Adapters.
Review all changes that went into 4.3 in the detailed Change Log. See the list of all issues
In this release, the team focused on critical fixes to our token refresh code for OAuth credential flows with Microsoft Application Ids.
Revamping the token acquisition code that obtains a token given the bot App id and password. This is an effective execution of the OAuth client credentials flow, which is supported by the ADAL dotnet library.
Some implementation details and considerations below to complement the source changes:
Token cache: We use ADAL built-in token cache. Given that Adal handles much of the token caching nowadays, we consider it better to leverage ADAL library implementation, leaving less responsibilities in our code. However, after working with the ADAL team we are still responsible for maintaining low concurrency (done through semaphores in this case) and retrying, using the retry after headers received from AAD when we get HttpStatusCode 429.
Testing: We ran long haul load test, in addition to mini-load tests and unit tests. We were able to reproduce token renewal under extremely high load, and even though there were failures, these were retried and ZERO threads ended up without a token. The longest delay observed in our load test was 600 ms, which happened for a total of 40 requests, then going back to 1 millisecond when reading from cache.
Verifying assumptions Even though the ADAL team recommended limiting concurrency, we removed the semaphore and re-ran the load tests. These results were extremely bad, with latencies up to 5 seconds and multiple failures, confirming ADAL teams' recommendation.
Next steps: We would like to eventually expose the token cache to users so they can provide durable token caches (this is supported by adal). This scenario is awesome for horizontal scaling scenarios where multiple instances share perhaps a redis cache for example.
Coming soon: MSAL library: The ADAL team is working on the MSAL library, which will take care of the concurrency control as well. Eventually we'll move to that. GA for MSAL is coming soon.
In this release, the team focused on enhancing monitoring, telemetry, and analytics capabilities of the SDK by improving the integration with Azure App Insights. We have streamlined the integration and default telemetry emitted from the SDK. This include (Waterfall) dialog instrumentation, docs, and examples for querying data, and a PowerBI dashboard. 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 the other area like Language, Prompt and Dialogs, and Connectors and Adapters.
Review all changes that went into 4.2 in the detailed Change Log See the list of all issues
The 4.1.5 release incorporates changes to the Bot Framework to support activity PR #1078
Authentication in the US Government data centers has also been added.
This page provides release notes for SDK Version 4.1 release. You can find information about daily and stable release here.
In this release the team focused improving engineering practices with better builds, test automation and integration testing. We updated to the latest CosmosDB provider and fix a number of Cosmos DB bugs. There were additional updates across addigional area like Language, Prompt and Dialogs, and Connectors and Adapters.
A detailed list of all pull requests that went into a given release is below.
Detailed merged pull-requests that went into 4.1.0
This release adds support needed for deploying bots to Azure Government based data centers.