v4.4.0
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
Authentication and Security
- Use sign-in action when using OAuth within Teams [PR 1579]
- Allow the user to specify a tenant when acquiring a token to talk to the BF Connectors [PR 1576]
- Add UnauthorizedException handling to HTTP adapter [PR 1541]
Language (LUIS, Recognizers, QnA)
- Add timeout options for QnA & LUIS for .NET [PR 1635]
- Allow LUIS endpoint to be null or empty [PR 1626]
- Allow
LuisRecognizer
to handle textless messages [PR 1566] - Fix binary compatibility for QnAMaker [PR 1561]
- Add method for instantiating new waterfalls [PR 1540]
- Retain binary compatibility for LUIS recognizer [PR 1527]
- Telelmetry support for QnA Maker [PR 1430]
- Telelmetry support for Luis Recognizer [PR 1424]
- Add Middleware component TelemetryLoggerMiddleware for message event logging [PR 1420]
Prompts and Dialogs
- Expose the number of attempts inside a validation (issue 1257) [PR 1651]
- Add ChoiceStyle property to PromptOptions, allowing override [PR 1606]
- Await EndActiveAsync for dialogs [PR 1555]
- Remove code duplication in DialogContext.EndDialogAsync [PR 1411]
- Default null return value for Dialog.ContinueDialogAsync [PR 1404]
- Fix null Action.Title check in ChoiceFactory [PR 1503]
- Update exception text for DialogContext [PR 1689]
State and Storage
- Share HttpClient to OpenIdConnectConfiguration when fetching a document [PR 1625]
- Update PartitionKey value requirement for CosmosDB [PR 1537]
- Enable use of other serializing formats and converters [PR 1417]
Integration Layer
- Add middleware to address transitional location of tenantId field [PR 1754]
- Add HttpClient argument to HTTP integration adapters [PR 1709]
- Include the UserAgent when the BotFrameworkAdapter passes a custom HttpClient [PR 1643]
- Allow TelemetryInitializer properties to be overridden by user [PR 1406]
Connectors and Adapters
- The SDK4.4 now works correctly with Proxy servers.
General
- Add ToChannelFromBotLoginUrl for binary compatibility [PR 1615]
- Allow null Recipient field for CreateTrace and CreateReply [PR 1582]
- Correct accuracy from float to int in score comparison [PR 1525]
- Updates to Gov for adapter [PR 1435]
- Application Insights config from appsettings.json [PR 1402]
- Line channel updates [PR 1547]
Engineering Excellence (Build, Automation, Testability, Refactoring)
- Modifications to number of attempts property behavior [PR 1774]
- Make BotState CRUD operations virtual so they can be mocked for testing [PR 1764]
- Enabling of Sidecar debugging as a core SDK feature [PR 1758]
- Add comment header for build [PR 1728]
- Delete binaries from build folder [PR 1688]
- Parameterize coveralls files path [PR 1666]
- Updated Readme to include functional tests build badge [PR 1665]
- Remove references to FuseBox keys from unit tests [PR 1663]
- Resolved failing LUIS test [PR 1662]
- Add ExtractCompressNuGet.ps1 to build [PR 1654]
- Create of functional test project [PR 1632]
- Namespace change in Microsoft.Bot.Connector.Tests [PR 1621]
- Update CosmosDB tests [PR 1616]
- Fix testbot to construct LUIS Recognizer correctly [PR 1559]
- Update WebApi to CoreBot [PR 1533]
- Use CoreBot as the new TestBot [PR 1523]
- Add documentation comments to ActivityHandler [PR 1516]
- Fix various doc XML issues [PR 1397]
- Disable the "Live" token refresh tests [PR 1481]
- Remove unnecessary & duplicated references [PR 1619]
Conformance and Style Updates
- TestBot.WebApi project [PR 1667]
- Update XML documentation suppress rule [PR 1543]
- ApplicationInsights.Core.Tests [PR 1511]
- Bot.Builder.Tests [PR 1510]
- Bot.Builder.Transcripts.Tests [PR 1509]
- Bot.Connetor.Test project [PR 1508]
- ApplicationInsights.Tests [PR 1507]
- Bot.Schema.Test project [PR 1505]
- Bot.Connector [PR 1504]
- Fix all warnings in Bot.Schema [PR 1502]
- Builder.Azure.Tests [PR 1500]
- TemplateManager.Tests [PR 1499]
- TemplateManager [PR 1498]
- AspNet.WebApi.Tests [PR 1497]
- Bot.Builder.Dialogs.Tests [PR 1495]
- Integration.ApplicationInsights.Core [PR 1494]
- Integration.AspNet.Core.Tests [PR 1493]
- BotBuilder.Configuration.Test [PR 1492]
- Bot.Builder.Dialogs [PR 1491]
- AppInsight.WebApi.Tests project [PR 1490]
- ApplicationInsights projects [PR 1489]
- AI.QnA.Tests project [PR 1488]
- AI.Luis.Tests project [PR 1487]
- Bot.Builder [PR 1486]
- Set single, unified ruleset file for all project in the solution [PR 1473]
- Bot.Builder.TestBot.WebApi [PR 1642]
- Bot.Builder.TestBot [PR 1624]
- Bot.Builder.Tests [PR 1623]
- Bot.Builder.AI.LUIS.Tests [PR 1620]
- General library conformance [PR 1618]
- Bot.Builder.AppInsights.Tests
- Bot.Builder.Integration.AppInsights.Core
- Bot.Builder.Dialogs.Tests
- Bot.Builder.AI.LUIS
- Bot.Builder
- Bot.ApplicationInsights.core.Tests