November 2021 (version 4.12.4)
This release introduces a global flag called "Templates.EnableFromFile" that indicates whether the Adaptive Expression fromFile function is allowed in LG templates. If an application had previously made use of this function, it is now required to add the line "Templates.EnableFromFile = true;" to the Startup.cs code.
March 2021 (version 4.12.0)
Welcome to the March 2021 release of the Bot Framework SDK.
-
Telephony Bot Framework Telephony channel is now available with samples in early preview.
-
Teams New and improved samples, Adaptive Card Tabs, Action.Execute (preview, C#) and Composer support (preview).
-
Cloud Adapter Cloud Adapter (preview 2, C#) has improved platform support with increased functionality.
-
Orchestrator Orchestrator (preview 3) now supports more languages, and documentation has been improved.
-
CLI Bot Framework CLI Tools LUIS applications neural training technology support, and more!
-
Azure Health Bot Microsoft Healthcare Bot service is moving to Azure, further empowering organizations to benefit from Azure’s enhanced tooling, security, and compliance offerings.
-
Power Virtual Agents PVA Bot creation, editing and publishing made easy!
Insiders: Want to try new features as soon as possible? You can download the nightly Insiders build [C#] [JS] [Python] [CLI] and try the latest updates as soon as they are available. And for the latest Bot Framework news, updates, and content, follow us on Twitter @msbotframework!
Telephony (preview)
The Telephony channel is a channel in Microsoft Bot Framework that enables a bot to interact with users over the phone. It leverages the power of Microsoft Bot Framework combined with the Azure Communication Services and the Azure Speech Services.
Note: Telephony Channel is currently in Public Preview, available broadly for the US-based Azure subscriptions. Get started building a Telephony Bot today: Botframework-Telephony
Cloud Adapter (C# only, preview 2)
• Platform alignment improved with HttpClientFactory
• User authentication improvements with UserTokenClient
• Streaming protocol support integrated into Cloud Adapter
• TurnContext, TurnState and ConnectorClient object lifetime is now properly handled by the SDK, disposing these objects after they are out of scope.
• Cloud Adapter has been deprecated from WebApi
Microsoft Teams
• Adaptive Card Tabs with samples
• Adaptive Dialog responses with new Teams triggers and Actions (preview), available in the C# and JavaScript SDKs as well as the Composer nightly.
• New and improved samples.
Bot Framework CLI Tools
• Added support for LUIS applications neural training technology.
• Enhancements and fixes to LU Parser to support special characters and name duplication on Intents and features.
• Enable direct version publish in luis:build.
Orchestrator (preview 3)
Orchestrator recognizer has been updated for preview 3 as follows:
• Improved language recognition models and samples
• New multilingual models for New multilingual models for Chinese, French, German, Italian, Portuguese and Spanish.
• Updated CLI with support for dispatch migration scenarios.
• Improved support of Composer scenarios.
• Support for 32bit windows for limited scenarios. For production you must use 64bit.
• Updated documentation
Adaptive Cards Invoke (preview, C# sdk only)
• Support for Adaptive Cards Action.Execute
is now available in the C# sdk.
• See also Universal Bot
Bug fixes and improvements
• Add DialogManager support in python sdk
• Fix DialogManager does not return EoC code when a dialog ends
• Fixes in dotnet streaming library
• Localization fixes and improved support for Composer scenarios
Composer
• Please see the detailed Bot Framework Composer release notes
Azure Health Bot
The Health Bot Service is a cloud platform for developers, built on top of Microsoft Azure and uses Bot Framework under the hood. Health Bot Overview.
Introducing Azure Health Bot—an evolution of Microsoft Healthcare Bot with new functionality
by Lili Cheng Corporate Vice President, Conversational AI
Power Virtual Agents
Power Virtual Agents (PVA) is part of Microsoft Power Platform. In PVA, chatbots can be created with a guided, no-code graphical interface - and without the need for data scientists or developers.
In the latest integration with Bot Framework SDK, Power Virtual Agents support for Teams channel Single Sign-on is available in preview.
PVA Teams SSO—Public Preview
by Cleber Mori Senior Program Manager, Power Virtual Agents
Change log for DotNet 4.12.0:
- Update handoff action uischema to show in Composer action menu [5231]
- Add HttpClientFactory [5230]
- Add OnAdaptiveCardInvokeAsync to ActivityHandler [5227]
- Rename entity to value in form related triggers [5228]
- Move Dialogs.Adaptive.Teams to preview [hotfix]
- Remove cloud adapter classes from webapi [5220]
- Updated twitter account [5188]
- Remove OAuthHelper [5221]
- Update orchestrator package reference for 4.12 [5197]
- Sync Teams Adaptive tests w/ JS [5219]
- Localization: fix bugs around inconsistent locale + first step to centralize locale resolution [5218]
- Composer Runtime config [5184]
- Wire up oauthinput to cloudadapter via oauthprompt, rewire oauthprompt [5213]
- Teams AC Tabs adaptive responses [PR 5185]
- Enable LG syntax in OAuthInput Text and Title [PR 5186]
- fix a race condition in the streaming connect test [PR 5194]
- Add 'any' and 'all' prebuilt function [PR 5155]
- Add SendHandoffActivity action [PR 5190]
- Johtaylo/cloudadapterstreaming [PR 5178]
- Clean-up OnChooseEntity and OnChooseProperty schemas and classes [PR 5180]
- Add LogPersonalInformation to Recognizers & Correct TopScoreIntent [PR 5066]
- Security: Do not use compromised cert [PR 5179]
- Update OAuthUrl in TestBot [PR 5176]
- [Expression]Add stringOrValue built-in function [PR 5138]
- fix: null audiences/OAuthScopes shouldn't break streaming [PR 5170]
- Add action policies to .schema [PR 5168]
- Updated DialogManager to return EoC code (as RunAsync does) and updated tests [PR 5164]
- Revert "Fix deliveryMode.ExpectReplies for skills. (#5142)" [PR 5162]
- Small fix for Expression [PR 5154]
- Fix deliveryMode.ExpectReplies for skills. [PR 5142]
- Use ConcurrentDictionary to store reference to Orchestrator [PR 5141]
- remove references to TrustServiceUrl [PR 5157]
- Add test for NumericEvaluator [PR 5139]
- Orchestrator Recognizer: Rename misleading parameter names [PR 5147]
- Orchestrator Recognizer support 32-bit [PR 5152]
- Remove stranded CA2208 restore [PR 5150]
- Johtaylo/cloudusertokenclient [PR 5062]
- Teams: adaptive actions [PR 4782]
- Added GetConversationReference/ContinueConversation actions [PR 4974]
- [Expression] Add abs and sqrt built-in functions [PR 5119]
- add continue with activity to BotAdapter abstract class [PR 5136]
- fix Issue#3568 utterance smaller than entity indexes [PR 5011]
- uischema: port composer ui schema 'flow' part to component schema files [PR 5099]
- catch memoryAssert errors [PR 5084]
- Teams Adaptive Card Tabs [PR 5111]
- added disposed [PR 5096]
- Cyclical dialog graphs: Bug fixes and improvements in DialogSet, DialogManager and Type Loading [PR 5072]
- Only respond to message types in OAuthInput [PR 5104]
- Fix dialog id is not default set to resource id issue when LoadType = AdaptiveDialog [PR 5053]
- Merge Partial Classes into Single File [PR 5122]
- Add UserActivity test [PR 5098]
- Update Functional tests yaml for Azure Pipelines [PR 5125]
- [Api Compat] Add support for excluding classes in compatibility check [PR 5124]
- Update botbuilder-dotnet-ci-webex-test.yml for Azure Pipelines [PR 5121]
- (dotnet) Remove comments pertaining to auto-generation in Schema and Connector [PR 5002]
- Added tags to RGs in pipelines for slack, webex, and windows functional tests [PR 5093]
- Allow customize inputHint via prompt property [PR 5109]
- use logic as SetProperties; handle settings specially; update & fix test [PR 4720]
- Make sure "turn.locale" is correctly set in TurnContext, enabling locale can be changed during runtime [PR 5019]
- Add the ability to consume SetTestOptions in TestBot. [PR 5076]
- Add verbosity for diagnosis of Webex Functional tests failures [PR 5080]
- Add add-upgrade and remove-upgrade for InstallationUpdate [PR 5079]
- Update Cosmos, fix Azure tests [PR 5074]
- Remove comment only ProductInfoHeaderValue [PR 5061]
- fix: request scoped headers for LUIS v3 api calls [PR 5067]
- Throw a meaningful exception if InputDialog.Prompt is missing [PR 5065]
- Update TranscriptLoggerMiddleware set turnContext.Activity.From.Role [PR 5064]
- update the schema sample [PR 5056]
- Claims Validation readme [PR 5050]
- Add clarification to EditArray Remove [PR 5045]
- Change LogAction.Text from stringExpression to IActivityTemplate [PR 5036]
- Add daily builds instructions [PR 5044]
- [Debugger] add injectable transport, with unit tests [PR 4921]
- feat: parity issues for js, python, and java [PR 5028]
- correct solution folder Parsers and add auth test project [PR 5030]
- add resource tags to FB adapter CI [PR 5031]
- Switch to list to be consistent with other properties. [PR 5029]
- Support Skip() as an operation for form generation [PR 5025]
- Fix Cosmos nesting problem [PR 4973]
- Update Channel.cs to make it clear that Telegram supports card actions [PR 5024]
- Update Orchestrator Native deps to 4.12 daily builds [PR 4962]
- Align OrchestratorRecognizer with LuisRecognizer ExternalEntityRecognizer property. [PR 4995]
- Add .uischema for OnChooseEntity. [PR 5018]
- Surface LG CacheScope out in LG file options [PR 4982]
- fix: use base64 encoded JSON values [PR 5017]
- feat: create parity issues via github workflow [PR 4997]
- Update LuisAdaptiveRecognizer.cs [PR 5013]
- Remove offset in default format in ConvertFromUtc pre-built function [PR 5004]
- Fix locale determination in confirm/choice inputs [PR 4998]
- Fix creating InvokeResponse activities in LG [PR 4994]
- Fix InvalidOperationException text in oauth input and oauth prompt [PR 4989]
- Fix missing characters to powershell task [PR 4996]
- Change InteractionPayload.State from string to object [PR 4990]
- [#4022] Throwing Generic Exceptions - Dialogs Adaptive Testing [PR 4955]
- Install later NuGet version for build pipelines [PR 4987]
- simplify CODEOWNERS [PR 4985]
- Add min/max for turn count. [PR 4945]
- [#4022] Throwing Generic Exceptions - Azure [PR 4952]
- Return unrecognized state instead of throwing exceptions for non-string input of TextInput action [PR 4966]
- End the dialog if the list to iterate is null in ForEach [PR 4975]
- [#4022] Throwing Generic Exceptions - LanguageGeneration [PR 4954]
- [#4022] Throwing Generic Exceptions - Adaptive Expressions [PR 4951]
- Replaces generic exceptions [PR 4950]
- Update TelemetryTrackEvent to TelemetryTrackEventAction [PR 4820]
- [#4894] Binary compatibility checks need updating [PR 4941]
- Enable OAuthScope in CertificateAppCredentials [PR 4972]
- updated summary for model/snapshot path properties [PR 4970]
- Streaming fixes [PR 4959]
- [#4022] Throwing Generic Exceptions - Dialogs Adaptive Inputs [PR 4953]
- Add skipComponentGovernanceDetection: true to pipelines [PR 4943]
- Support multi-line expression in Object/Array definition [PR 4940]
- fix a multiline corner case [PR 4925]
- Set functional test pipelines to use both ARM deploy templates [PR 4876]
- OnCondition is not correctly caching expressions causing constant expression.Parse calls [PR 4935]
- Support any depth of arrays in settings memory scope [PR 4712]
- OAuthPrompt.RecognizeTokenAsync now checks for null text before checking for magic code [PR 4912]
- fix typo (ambigious -> ambiguous) [PR 4915]
- Add script for copying schemas. [PR 4933]
- Add IsNullOrEmpty to TranscriptLoggerMiddleware.EnsureActivityHasId [PR 4938]
- Switch dependency graph url to "latest" [PR 4939]
- update Microsoft.Azure.Cosmos [PR 4930]
- Update Microsoft.SendActivity.schema [PR 4923]
- We should not require Actions to be set for triggers (and actions like IfCondition) [PR 4899]
- await async methods in Cosmos test fixture [PR 4913]
- make settings immutable [PR 4721]
- Fix broken help links in uischema files [PR 4911]
- Revert the change on RootDialog while still allowing LG functions. [PR 4917]
- add OnChooseIntent uischema [PR 4914]
- Revert PR 4896 for ExtractCompressNuGet.ps1 [PR 4903]
- init [PR 4906]
- Remove the patch install from ExtractCompressNuGet.ps1 [PR 4896]
- Let property GeneratePackageOnBuild default to false in projects [PR 4885]
- Update LUIS oracles to match service. [PR 4886]
- Removed CodeQL yaml from repo [PR 4893]
- Tolerate over-range operator in skip/take function [PR 4879]
- Allow null or empty BotAppId in ContinueConversationAsync [PR 4890]
- fix startIndex/endindex for external entities to match luis recognizer result of endIndex = start + length [PR 4884]
- Add support of logical comparison in Adaptive-Expressions can compare all objects implement IComparable [PR 4788]
- Automatically install bf for schema merge. [PR 4863]