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
V4.3.0
Language (LUIS, Recognizers, QnA)
- Additional constructor that takes raw LUIS endpoint [PR 1378]
- Update LUIS to new (Azure) C# SDK [PR 1367]
- QnAMaker class now throws NotSupportedException for legacy v2.0 of QnA [PR 1345]
- Fix: Can pass QnAMakerOptions into both constructor and QnAMaker.GetAnswersAsync() w/o unintentional overwrite [PR 1288]
- Updating OAuthClient API based on latest service swagger [PR 1282]
- Dialogs.OAuthPrompt.GetUserTokenAsync bugfix [PR 1243]
Prompts and Dialogs
- Fix a few things regarding choices and actions [PR 1365]
- Include test for FindChoices as an amendment to PR #1333 which [PR 1350]
- Port of ComponentDialog search in Parent [PR 1343]
- Added summary for WaterfallStepContext [PR 1340]
- Added new HeroCard prompt style for ChoicePrompt as per #1170 [PR 1339]
- Allow choice recognizer to accept null and empty string [PR 1333]
- Bug fixes for OAuthCard & Teams, and Task.Run [PR 1329]
- Fix method signature to eliminate warning [PR 1325]
- Change 15-hour timeout to 15 minutes (#1307) [PR 1317]
- in ChoiceFactory use StringBuilder instead of concatenating string [PR 1295]
- Add implicit constructor to CardAction [PR 1327]
State and Storage
- Added optimization around CreateIfNotExists and additional error handling [PR 1391]
- Fixed concurrency and added unit tests [PR 1376]
- Apply limits to the CosmosDB Key Length [PR 1370]
- Change accessor to return null not throw with no factory [PR 1330]
- Fixed state-dependant / order dependant bug in transcript tests [PR 1305]
- Added new Azure Storage Exclusions [PR 1277]
- Update WindowsAzure.Storage package reference [PR 1266]
Integration layer
- Full implementation of ActivityHandler and MVC integration DCR [PR 1358]
- remove events we don't want right now [PR 1380]
- Fixing bug around request buffering [PR 1373]
- Adds code to leave stream open for request body [PR 1352]
- Add ContinueConversationAsync to IAdapterIntegration [PR 1289]
- Add ChannelId to initializer [PR 1256]
Connectors and Adapters
- Fix LINQ error in ActivityHandler conversationUpdate [PR 1396]
- Fixing misspelled word "activty" to "activity" [PR 1395]
- ConnectorClient and MicrosoftAppCredentials: Fix assembly binding-level breaking changes [PR 1386]
- Proxy support: ConnectorClient accepts custom http client and BotFrameworkAdapter passes httpClient over to clients [PR 1382]
- Add support for ChannelData field [PR 1362]
- Token refresh: Cherry pick change from 4.2 [PR 1336]
- Fix for #1255 - Added Skype for Business to channels list [PR 1319]
- Clean up typos in Activity.cs [PR 1263]
Engineering (Build, Automation, Tests)
- [Testing] Make Microsoft.Bot.Configuration.Tests netcoreapp [PR 1344]
- Make the OAuth APIs in .NET testable [PR 1357]
- Upgrade to NetCore21 for test projects. [PR 1337]
- Suppress NU1701 for the Azure Project [PR 1334]
- Consolidated packages across versions. [PR 1324]
- Move Code Coverage to an explicit include model [PR 1316]
- Cleanup and Standardization of .csproj files. [PR 1314]
- Don't warn about docs during standard debug builds [PR 1313]
- Fix stylecop warnings [PR 1312]
- Cleanup of NuGet properties across all projects [PR 1311]
- Updated Subscription key so tests run w/o Corpnet connection [PR 1304]
- Fixes, mainly for docXML that brakes the docs build. [PR 1250]
- Various docXML fixes: [PR 1257]
- Update autorest.csharp dependency to 2.3.82 [PR 1249]
- Add a configuration helper methods [PR 1363]
- Update Author attribute for all Nuget packages [PR 1342]
- Fix transcript logger queue scope [PR 1290]
- Add validation utilities to BotConfiguration [PR 1262]
- TranscriptLoggerMiddleware bugfix [PR 1261]
- Make BotTelemetryClient methods virtual [PR 1238]