github microsoft/botbuilder-dotnet v4.5
Bot Framework SDK for .NET v4.5

latest releases: 4.22.3, 4.22.2, 4.22.1...
4 years ago

v4.5.0

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

Authentication and Security

  • Exposed AuthenticationConfiguration in BotFrameworkOptions so Asp.NET/Core integrations allow overriding required endorsements [PR 2141]
  • Updates ADAL, passing custom HttpClients through HttpClientFactory for AcquireToken [PR 2115]
  • Added AttemptCount to Activity and OAuth prompts [PR 2061]
  • Corrected how to pass the cancellation token [PR 2034]
  • Disabled the "Live" token refresh tests [PR 1481]
  • Endoresement validation fixes [PR 2030]
  • Removed code detection from OAuth BeginDialog [PR 1850]
  • Allowed the user to specify a tenant when acquiring a token [PR 1576]
  • Updated OAuthPrompt.cs for singin action [PR 1579]
  • Line channel updates [PR 1547]
  • Added UnauthorizedException handling to http adapter [PR 1541]
  • Dialog.ContinueDialogAsync returns by default cancellation token as a result [PR 1404]

Prompts and Dialogs

  • Set DialogSet TelemetryClient in Dialog.run extension [PR 1900]
  • Updated to know the number of attempts inside a validation [PR 1651]
  • ReplaceDialogAsync to formally end active dialog [PR 1555]
  • Optimized repeated code [PR 1540]
  • Updated accuracy from into to float [PR 1525]
  • Removed code duplication DialogContext.EndDialogAsync [PR 1411]

State and Storage

  • Fixed 'PartitionKey value must be supplied for this operation' error [PR 1537]

Connectors and Adapters

  • Added httpclient argument to http integration adapters [PR 1709]
  • Added UserAgent for BotFrameworkAdapter [PR 1643]
  • Fixed binary compat for QnAMaker [PR 1561]
  • Added timeout options for qna & luis for dotnet [PR 1635]
  • Retained binary compatibility for LUIS recognizer [PR 1527]
  • Gov fix for adapter (#1431) [PR 1435]

Testing and Configuration

  • Updated BotStateTests to fix test that was actually not running [PR 2166]
  • Removed LangVersion from csproj files and added it to DirProps [PR 2158]
  • Provided an extension method to add Telemetry with no Config [PR 2136]
  • Created unit tests for TestBot [PR 2084]
  • Updated project settings so it can generate nuget packages for the Testing library [PR 2078]
  • Added new Testing library to Code Coverage Metrics [PR 2075]
  • Added ChannelId constructor parameter to TestAdapter and DialogTestClient [PR 2066]
  • Refactored TestBot so we can unit test it (Unit tests to be added in another PR) [PR 2052]
  • Updated initial DialogTestClient and related classes and tests [PR 2050]
  • Added columns for bot deployment badges [PR 2049]
  • Updated to deploy to Linux on Azure using Azure Pipelines [PR 1961]
  • Configured an endpoint for each bot in TestBot [PR 1946]
  • Added unit test for inspection middleware [PR 1925]
  • Added Unit Test for "No Answer Found in KB" case [PR 1914]
  • Added QnA Telemetry Support [PR 1430]
  • Added new Telemetry Support for Luis Recognizer [PR 1424]
  • Corrected telemetry for QnA no answer found case [PR 1899]
  • Updatee tests to include LUIS and fix bug that would cause crashes on LUIS changes [PR 1939]
  • Fixed the daily functional tests [PR 2026]
  • Included test for #1859 [PR 1911]
  • Added -serviceName parameter [PR 1888]
  • Dropped unknown entity resolutions and test roles [PR 1844]
  • Fixed issues form testing with Teams [PR 1821]
  • Added test for TestBot in Functional Tests project [PR 1807]
  • Made BotState CRUD operations virtual so they can be mocked for testing. [PR 1764]
  • Enabled Sidecar debugging as a core SDK Feature [PR 1758]
  • Updated Readme to include Functional Tests build badge [PR 1665]
  • Removed references to FuseBox keys from Unit Tests [PR 1663]
  • Commented out failing LUIS test [PR 1662]
  • Creation of Functional Test project [PR 1632]
  • Fixed Cosmos DB tests [PR 1616]
  • Fixed testbot - construct LUIS Recognizer correctly [PR 1559]
  • Used CoreBot as the new TestBot [PR 1523]
  • Application Insights config from appsettings.json [PR 1402]

Parity and Refactoring

  • Updates to comments [PR 2189]
  • Added MessageReaction to ActivityHandler [PR 2185]
  • Updated DialogTestClient constructor and XUnitOutputMiddleware renames [PR 2176]
  • Fixed build warnings from recently accepted QnAMaker changes [PR 2172]
  • Made Stylecop errors as warnings [PR 2171]
  • Removed at mention for INSPECT [PR 2159]
  • Fixed documentation error for the release target. [PR 2153]
  • Updated LUIS Recognizer to support GeographyV2, OrdinalV2 and PersonName from LUIS [PR 2139]
  • Added /// comments to files in the Dialogs.Prompts directory. [PR 2137]
  • Made delegatingturncontext and dialogcontext constructor public [PR 2133]
  • Added the next path separator fix hack for Linux NuGet installs [PR 2108]
  • Fixed typos in Activity.cs documentation comments [PR 2106]
  • Added OnPromptAsync overload with isRetry parameter [PR 2086]
  • Removed Xml doc generation from debug target. [PR 2085]
  • Corrected XML documentation for libraries. [PR 2079]
  • Updated docXML comments in Dialogs.Choices folder [PR 2070]
  • Fixed all the warnings on Bot.Connector.Authentication.Tests [PR 2068]
  • Fixes for minor 4.4 changes into master [PR 2059]
  • Fixed coveralls badge not updating [PR 2040]
  • Update to treat warnings as errors [PR 1512]
  • Fixed all the warnings in the ApplicationInsights.Core.Tests [PR 1511]
  • Fixed all the warnings on Bot.Builder.Tests [PR 1510]
  • Fixed all warnings in Bot.Builder.Transcripts.Tests [PR 1509]
  • Fix warnings in Bot.Connetor.Test project [PR 1508]
  • Fixed all the warnings on ApplicationInsights.Tests [PR 1507]
  • Fixed all warnings in Bot.Schema.Test project [PR 1505]
  • Fixed all the warnings on Bot.Connector [PR 1504]
  • Fixed all warnings in Bot.Schema [PR 1502]
  • Fixed all the warnings on Builder.Azure.Tests [PR 1500]
  • Fixed all the warnings on TemplateManager.Tests [PR 1499]
  • Fixed all the warnings on TemplateManager [PR 1498]
  • Fixed all the warnings on AspNet.WebApi.Tests [PR 1497]
  • Fixed all the warnings on Bot.Builder.Dialogs.Tests [PR 1495]
  • Fixed all the warnings on Integration.ApplicationInsights.Core [PR 1494]
  • Fixed all the warning in Integration.AspNet.Core.Tests [PR 1493]
  • Fixed all warnings in BotBuilder.Configuration.Test [PR 1492]
  • Fixed all the warning in Bot.Builder.Dialogs [PR 1491]
  • Fixed warnings in the AppInsight.WebApi.Tests project [PR 1490]
  • Fixed warnings in ApplicationInsights projects [PR 1489]
  • Fixed all the issues in the AI.QnA.Tests project [PR 1488]
  • Fixed all the warnings in the AI.Luis.Tests project [PR 1487]
  • Fixed all warnings on Bot.Builder [PR 1486]
  • Set single, unified ruleset file for all project in the solution [PR 1473]
  • Updated for parity with JavaScript [PR 1947]
  • Fixed Remaining Stylecop Warnings [PR 1668]
  • Fixed stylecop warnings on Bot.Builder.TestBot.WebApi [PR 1642]
  • Fixed warnings on Bot.Builder.TestBot [PR 1624]
  • Fixed all the warnings on Bot.Builder.Tests [PR 1623]
  • Fix namespace in Microsoft.Bot.Connector.Tests [PR 1621]
  • Fixed all the warnings on Bot.Builder.AI.LUIS.Tests [PR 1620]
  • Removed unnecessary & duplicated references [PR 1619]
  • Fixed all the warnings on several libraries [PR 1618]
  • Updated XML documentation suppress rule [PR 1543]
  • Allowed LUIS endpoint to be null or empty [PR 1626]
  • Latest swagger updates [PR 2027]
  • Update README.md [PR 2022]
  • Added a comment telling folks not to fix the typo due to Back Compat [PR 2021]
  • Updated README.md [PR 2014]
  • Build badge fixed [PR 2013]
  • Updated build pipelines to use VS2019 [PR 2008]
  • Removed old files that are not needed any longer [PR 1908]
  • Fixed ActivityPrompt documentation comments [PR 1909]
  • Fixed inconsistent line endings in Channel.cs [PR 1907]
  • Removed unused template files [PR 1905]
  • Changed build badge to daily from deprecated CI-CD [PR 1901]
  • Fixd warning SA1515: Single-line comment should be preceded by blank line [PR 1879]
  • Removed setting of properties on static httpclient [PR 1858]
  • Applied some small refactoring [PR 1790]
  • Added comment header [PR 1728]
  • Updated exception text [PR 1689]
  • Parameterized coveralls files path [PR 1666]
  • Added build/ExtractCompressNuGet.ps1 [PR 1654]
  • Added back ToChannelFromBotLoginUrl for binary compat [PR 1615]
  • TelemetryLoggerMiddleware [PR 1420]
  • Allowed TelemetryInitializer properties to be overridden by user [PR 1406]

General

  • Fixed publishtocoveralls.ps1 in build [PR 2151]
  • Removed Microsoft.Extensions.* from integration libraries and downgrade in core [PR 2150]
  • Added QnA Maker SDK support for active learning [PR 2124]
  • Reverted "issue 1960 private to public" [PR 2121]
  • Updated scope for DialogContext and DelegatingTurnContext [PR 2117]
  • Removed random from auto assigned IDs [PR 2069]
  • Clarified ref docs around NextAsync. [PR 2037]
  • Fixed null Action.Title check in ChoiceFactory [PR 1503]
  • Fixed typos in comments [PR 1789]
  • Fixed some minor typos [PR 1787]
  • Updated ComponentDialog so it returns DialogTurnStatus.Cancelled when the dialog is cancelled [PR 1993]
  • Added overrides to LuisRecognizer.RecognizeAsync that take luis LuisPredictionOptions [PR 1992]
  • Fixed NullReferenceException when BotBuilderActivity is empty [PR 1987]
  • Corrected teams signin regression [PR 1971]
  • Added null check for content type [PR 1936]
  • Fix for #1934 skype channel not stripping mentions [PR 1935]
  • Added an additional constructor and unit test [PR 1926]
  • Changes for Linux support [PR 1904]
  • Updated master with the powershell hack [PR 1890]
  • Updated HydratedOptions so it now clones QnA options via serialization/deserializations [PR 1880]
  • Minor fixes for 4.4 [PR 1878]
  • Bug fixes for //build [PR 1875]
  • Cherry Pick 97cd740 (cosmos cast issue) [PR 1867]
  • Made OnTurn method on TelemetryLoggerMiddleware virtual [PR 1862]
  • Modifications to number of attempts property behavior [PR 1774]
  • Deleted binaries from build folder [PR 1688]
  • IgnoreAddressing Stylecop warnings in TestBot.WebApi project [PR 1667]
  • Allowed Get OpenID When Hosting an on-premises bot behind a proxy [PR 1625]
  • Added ChoiceStyle propery to PromptOptions so the developer can override [PR 1606]
  • Allowed null Recipient field for CreateTrace and CreateReply [PR 1582]
  • Allowed LuisRecognizer to handle textless messages [PR 1566]
  • Updated webapi to core bot [PR 1533]
  • Added documentation comments to ActivityHandler [PR 1516]
  • Corrected using other serializing formats and converters [PR 1417]

Don't miss a new botbuilder-dotnet release

NewReleases is sending notifications on new releases.