Botbuilder Dotnet Versions Save

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.

4.13

3 years ago

November 2021 (version 4.13.8)

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.

Version 4.13.2

Includes the following bug fixes:

Version 4.13.1

Includes the following bug fixes:

  • Runtime: IBotTelemetryClient should be replaceable · Issue #5511
  • Runtime: IBot should be registered through TryAddSingleton · Issue #5493
  • Update Microsoft.BotFramework.Orchestrator in OrchestratorRecognizer to version to 4.13.1 · Issue #5524
  • CloudAdapter - cannot call ContinueConversationAsync with an empty / null AppId · Issue #5491
  • Runtime is not logging dialog telemetry events · Issue #5504
  • People template bot producing a "SignoutUser(): not supported by the current adapter" message · Issue #5528
  • OAuthInput fails to do SSO with adaptive runtime due to race condition with saving state · Issue #5544
  • Timezone extraction does not work in 1.4.0 Bot Runtime · Issue #5552

April 2021 (version 4.13.0)

Welcome to the April 2021 release of the DotNet Bot Framework SDK. Orchestrator, a replacement for the Dispatch tool shipped in prior versions, is now generally available. BotComponent Registration has been improved with the introduction of BotComponent and automatic discovery of package components within a new Adaptive Runtime. New activity types Command and CommandResult are introduced in support of the Telephony channel and further protocol extensibility. See also Other improvements. Refer to the change log and General SDK release notes for more SDK related updates.

Orchestrator (GA)

Orchestrator recognizer has been released to General Availability! Since PREVIEW 3 release we have:

  • Improved performance.
  • Fully integrated with Composer via the packages subsystem
  • Integrated in user experience for skill routing
  • Promoted BF CLI Orchestrator from plugin to embedded command
  • Updated documentation & samples https://aka.ms/bf-orchestrator

Teams

  • Introduction of Single Sign On Middleware for Microsoft Teams
  • Teams Adaptive Component package includes triggers and actions for interacting with Microsoft Teams specific features

New Activity Types

  • Command activities communicate a request to perform a specific action. They are identified by a type value of command and specific values of the name field. specification
  • CommandResult activities communicate the result of a command activity. specification

BotComponent Registration

Adaptive Component registration has been updated to include BotComponent and auto-discovery with the new Adaptive Runtime

Instructions for upgrading from the deprecated method to BotComponent:

ComponentRegistration (deprecated method):

The deprecated method of component registration was accomplished through code in startup, and returning DeclarativeTypes from GetDeclarativeTypes of a custom ComponentRegistration implementation.

Code: AdaptiveComponentRegistration:

public class AdaptiveComponentRegistration : ComponentRegistration, IComponentDeclarativeTypes
{
     ...
        public virtual IEnumerable<DeclarativeType> GetDeclarativeTypes(ResourceExplorer resourceExplorer)
        {
                yield return new DeclarativeType<OnBeginDialog>(OnBeginDialog.Kind);
     ...
        }
}

BotComponent (new method):

BotComponent implementations will be loaded into the type system either

    1. automatically by the runtime when the referencing project contains an entry in the 'components' array within appsettings.json, or
    1. directly from startup.cs by calling new MyBotComponent().ConfigureServices(services, configuration);

Code: AdaptiveBotComponent

    public class AdaptiveBotComponent : BotComponent
    {
        public override void ConfigureServices(IServiceCollection services, IConfiguration configuration)
        {
                services.AddSingleton<DeclarativeType>(sp => new DeclarativeType<OnBeginDialog>(OnBeginDialog.Kind));
        }
   }

Other improvements

  • Extended DialogExtensions.RunAsync so it fully supports AdaptiveDialogs
  • Consolidated the implementation of DialogManager so it uses DialogExtensions.RunAsync
  • Introduced AdaptiveDialogBot an IBot implementation for running AdaptiveDialogs, follows the pattern established with DialogBot<T> used across the samples and uses DialogExtensions.RunAsync to execute the Dialog. It implements IBot directly rather than deriving from ActivityHandler. Significantly the implementation captures the TurnState dependencies that an AdaptiveDialog has.
  • The adaptive runtime moves from Preview to GA. This introduces a new package called Microsoft.Bot.Builder.Dialogs.Adaptive.Runtime. In the process the core ServiceCollectionExtensions.AddBotRuntime was re-implemented to use the new AdaptiveDialogBot class. It also now injects most of the key dependencies for the AdaptiveDialog (now explicitly modeled in the AdaptiveDialogBots constructor) with TryAddSingleton so they act as replace-able defaults.
  • Various Skill classes have been updated so they now aligns with the fully parameterizable Auth abstractions introduced in 4.12.0 with CloudAdapter.

Change log for DotNet 4.13.0:

  • feat: Update to point at Orchestrator 4.13 (#5484) [PR 5484]
  • SDK Adapters: include schemas guaranteeing no duplicates in package (#5478) [PR 5478]
  • Add Teams SSO Token Exchange middleware (#5475)[PR 5475]
  • Add AsCommandActivity and AsCommandResultActivity (#5452)[PR 5452]
  • Add jsonProperty to TokenExchangeResource (#5461)[PR 5461]
  • Runtime: Using ApplicationInsightsServiceOptions to initialize telemetry (#5456)[PR 5456 ]
  • Remove Teams adaptive package (#5450)[PR 5450]
  • Remove HostBuilderContext parameter from AddBotRuntimeConfiguration (#5439)[PR 5439]
  • Updated default ResultProperty for HttpRequest (#5436)[PR 5436]
  • turn memory scope includesnapshot to false (#5441)[PR 5441]
  • Updated default property path for OAuthInput (#5437)[PR 5437]
  • pass through StateConfiguration in DialogManager (#5440)[PR 5440]
  • ResumeDialog is not called after resumption with adaptivedialog (#5426)[PR 5426]
  • Fixes appsettings.[EnvironmentName].json (#5421)[PR 5421]
  • cherry-pick: mark DialogManager property on DialogContext as obsolete (#5410) [PR 5418]
  • make LanguagePolicy pluggable (#5416) [PR 5420]
  • only load the resource on the first turn (#5414) [PR 5419]
  • Update SetSpeakMiddleware to remove lang aligned with existing runtime (#5404) [PR 5407]
  • Settings scope: support backward compat setting scope, remove ComponentRegistration in DialogStateManager (#5397) [PR 5398]
  • Added AdaptiveTestingBotComponent (#5394) [PR 5400]
  • Runtime: Rename assembly to Microsoft.Bot.Builder.Dialogs.Adaptive.Runtime [PR 5386]
  • Adapters: Add components and schemas for Facebook, Slack, Twilio and Webex [PR 5385]
  • have AdaptiveDialogBot pick up Dialogs from services collection [PR 5384]
  • Components: Update tags to support msbot-* format and add 2nd order tags [PR 5381]
  • Runtime: remove logger from bot component, exception handling on bot component load and pass IConfiguration to extensions [PR 5383]
  • Fix FileTranscriptLogger [PR 5047]
  • Rename OrchestratorAdaptiveRecognizer -> OrchestratorRecognizer, update RC build [PR 5379]
  • update services collection in adaptive runtime [PR 5375]
  • allow LuisRecognizer to recognize without turnContext [PR 5362]
  • Adds skill processing for commands [PR 5374]
  • Orchestrator: make a component by adding bf-component tag [PR 5369]
  • Runtime: make the assembly GA instead of release [PR 5370]
  • settings memory scope from configuration [PR 5366]
  • Update Orchestrator Recognizer to point at latest R13 build [PR 5371]
  • Hand-off: add converters to support hand off action [PR 5368]
  • Johtaylo/issue5357 [PR 5367]
  • Activity tracking for OrchestratorAdaptiveRecognizer needs to be done after entity scoring [PR 5365]
  • [#4888] [Slack Adapter] Make messages with attachments into message activities [PR 5290]
  • Components: improved authoring experience + component registration refactor [PR 5347]
  • Updated Skills to use BotFrameworkAuthentication. [PR 5304]
  • Deprecate HealthCheck Activity. [PR 5352]
  • Fix CVE-2021-26701 [PR 5355]
  • add middleware to services as IMiddlewware so they can be found [PR 5364]
  • Add ObjectExpressionConverters to support Send Handoff Activity action [PR 5361]
  • Update CoreBotAdapter to derive from CloudAdapter [PR 5353]
  • Assign a default TemplateEngineLanguageGenerator to Generator [PR 5249]
  • try add storage and its dependencies [PR 5351]
  • changes for entities, need to update tests [PR 5264]
  • Expose StreamingRequestHandler creation in BotFrameworkHttpAdapter [PR 5350]
  • CoreBotAdapter is missing EoC logic (Skill bot) [PR 5336]
  • Added SetSpeakMiddleware to Runtime [PR 5343]
  • Add Command and CommandResult activity types [PR 5318]
  • Check null for input prompt [PR 5322]
  • Johtaylo/adaptivedialogbot [PR 5308]
  • Add support of Expressions in BeginDialog Actions [PR 4880]
  • Do nothing when the activity is null [PR 5320]
  • add TelemetryClient to Dialog used in RunAsync [PR 5332]
  • Enforce that tests.schema must be up to date [PR 5317]
  • Log missing update activity and fix infinite loop [PR 5287]
  • Change ChoiceSet to support LG [PR 5309]
  • Johtaylo/dialogrunasync [PR 5294]
  • Better binary data support in Expression/LG functions [PR 5118]
  • Update Orchestrator package to point at correct label version [PR 5279]
  • Fixes Runtime to depend on preview version of Adaptive.Teams. [PR 5296]
  • move allowed callers and skill conversation factory [PR 5286]
  • [PORT] Add properties property to Template class [PR 5182]
  • Make syntax error message more readable in Expression [PR 5275]
  • Fix warnings as errors [PR 5274]
  • Dispose created HttpClient in HttpRequest [PR 5268]
  • Register the SendHandoffActivity action [PR 5270]
  • Add an additional wait to fix race in Web socket connect test [PR 5234]
  • change priority to float [PR 5259]
  • remove bad copy/paste [PR 5251]
  • Add missing 'Teams.' in kind (#5247) [PR 5248]
  • Action Policy updates (#5243) [PR 5246]
  • fix the bug about built-in function 'titleCase' [PR 5238]
  • Fixing synonym parsing in list entity [PR 5242]
  • Runtime: Fix bug in CoreAdapter registration. SkillHttpClient needs a BotAdapter registered. [PR 5241]
  • Version bump of main preview packages from 4.12 to 4.13 [PR 5236]
  • uischema: port uischema 'trigger' part to component schema files [PR 5160]

4.12

3 years ago

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]

4.11.0

3 years ago

November 2021 (version 4.11.3)

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.

November 2020 (version 4.11.0)

Welcome to the November 2020 release of the Bot Framework SDK. We continue to focus on code quality, improving developer experience, customer requests, overall SDK improvements and partner support. We are previewing a new Cloud Adapter and other exciting things, including:

  • Teams Introduction of Teams Meeting Participant API along with new features and fixes.
  • Skills We continue our 'skills everywhere!' mission by reducing development friction, enabling interruptions, and additional features.
  • Composer Continued improvements in deployment, Skills integration, features flags, and more!
  • Orchestrator (preview) Improved samples, models, and Bot Framework Composer support
  • Bot Framework Documentation We've added Adaptive Dialog support, updated docs around Adaptive Expressions, and custom .lg functions.
  • CLI Improvements to merging and importing of dialogs and assets
  • Virtual Assistant Improved core runtime, advancements in skills features
  • Power Virtual Agents Thanks to the Bot Framework SDK, it is easier and easier to build a PVA Bot!
  • HealthBot Health Bot, built using the Bot Framework, continues to advance in support of multiple Health related initiatives!

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!

Microsoft Teams

Continued improvements enabling features for creating bots and apps in Teams.

  • Get Participant Meeting API
  • CacheInfo support on Invoke responses
  • OAuthInput fix
  • Meeting specific notification support
  • Add on_teams_team_renamed (python only)

Skills

To reduce development friction, you can now run and test skills locally with the Emulator without needing an AppId and password.

Quality for skills is critical, and we're making large invements in automated testing. That work is (mostly) still in the design phase, and feedback is very welcome:

We're also continuing to bring features to skills to enable additional scenarios:

  • Interruptions are enabled in BeginSkill.
  • Update and Delete activities from a skill.

Overall SDK Improvements

Code quality and testing infrastructure have continued to be a focus for the this SDK release.

  • The default branch on all repositories has been renamed to 'main'.
  • We have improved typing and transcript logger middleware behavior and error handling.
  • Dotnet SDK tests have been ported to xunit.
  • Configurable Adaptive Dialog cycle detection.
  • Form Dialog preview

Documentation

Updates and improvements to existing documentation have continued.

  • Updated and expanded documentation for adaptive dialogs.
  • Updated and reorganized the security and authentication topics.
  • Updated information about: .lg custom functions, adaptive expressions, and memory scopes.
  • Added Java (preview) reference documentation: https://docs.microsoft.com/en-us/java/api/?term=microsoft.bot.builder
  • Added information on how to use the Bot Framework CLI commands in support of various adaptive dialog features.
  • Updated skills documentation.
  • The claims validator is now required for bot a skill and skill consumer.
  • Updated information about Direct Line extensions.
  • Updated how to connect to some of the channels: Slack, Webex.
  • Archived the SDK v3 content, available at: https://docs.microsoft.com/previous-versions/azure/bot-service/index-bf-sdk
  • Updated information about the dialogs library and the overall architecture of a bot.

Cloud Adapter (not yet feature complete, dotnet only)

The Cloud Adapter introduces an enriched configuration model and enables hosting a bot in any cloud environment.

  • Supports the Bot Framework protocol and auth model.
  • All the constants defining the auth model are configurable.
  • Note: 4.11.0 does not have full feature parity with BotFrameworkAdapter
    • Streaming support, OAuthPrompt support and full Skill support are coming soon.
    • Preview: The recommendation is to continue using BotFrameworkAapter in the 4.11.0 release unless the environment requires configurable auth constants.

Orchestrator Preview

Orchestrator is a Language Understanding arbitration (“dispatch”) technology to route incoming user utterances to an appropriate skill or to subsequent language processing service such as LUIS or QnA Maker.

  • It is a transformer based solution that is optimized for conversational AI applications.
  • It is built to run locally in your bot.
  • It is written in C++ and is available as a library in C#, Node.js and soon Python and Java.
  • The current release is designed to be used only for intent detection. Entity recognition is on the roadmap.
  • Orchestrator can be used in code-first solutions or directly in Composer. This is a preview release with improved documentation and language models.

CLI

  • The CLI will now download an merge dialog assets.
  • Ordering of names while merging.
  • Expose import resolver interface for cross-train/luis:build/qnamaker:build
  • Region support in lg translate

Virtual Assistant

  • Skills improvements
  • Core runtime design updates

Composer

HealthBot

The Health Bot Service is a cloud platform for virtual health assistants and health bots, Health Bot uses Bot Framework under the hood. With the latest upgrade to the Bot Framework SDK V4 foundation, Health Bot can be called as a Bot Framework skill or call subsequent custom Bot Framework skills. See more here: Health Bot Overview.

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, PVA can be extended to create custom solutions.

  • Use Bot Framework Composer to create and connect to Bot Framework skills.
  • Publish directly from Bot Framework Composer to PVA portal into PVA Topics runtime (coming soon).

4.11.0 Change Logs

Change log for DotNet 4.11.0

  • Teams: MeetingParticipantInfo.InMeeting might be null, if unknown [PR 4868]
  • Fix issues with ExpectReplies and Invoke [PR 4845]
  • Enable middleware in TestScript and refactor BeginSkill tests [PR 4866]
  • DialogContext: tactical change to decouple from TurnContext to remediate breaking changes [PR 4860]
  • LU Parser switch to supported Antlr Runtime and Unit Testing [PR 4856]
  • Teams: Dispose TeamsConnectorClient [PR 4864]
  • IDictionary to ConcurrentDictionary in StreamingRequestHandler [PR 4859]
  • Additional values in the issuers list [PR 4857]
  • Fix error caused by backtick in stringExpression and valueExpression [PR 4847]
  • Reduce concept count by making all entity recognizers to be simple Recognizer [PR 4848]
  • Cloudadapter proactive message support [PR 4844]
  • Update dependency graph to 4.10.0 [PR 4852]
  • Add support for choosing assignment or operations [PR 4855]
  • Add new NormalizeMentionsMiddleware class [PR 4843]
  • Adaptive: Container dialogs registered in dialog manager and ReplaceDialog now works [PR 4839]
  • Change type of property EventType.Item from string to JObject in Slack Adapter [PR 4809]
  • Removes Skills functional tests projects [PR 4840]
  • Remove trusted service url check in appcredentials [PR 4827]
  • Declarative Debugging: Breakpoint to instance mapping from 'first wins' to 'last wins' [PR 4824]
  • Update tests.schema and tests.uischema [PR 4834]
  • Perf + Resource Utilization: Ensure proper dispose of disposable members [PR 4832]
  • Write unit tests for BeginSkill [PR 4816]
  • Teams: Get Participant meeting API [PR 4826]
  • Performance: significant resource optimization around garbage collection, memory and connection utilization [PR 4727]
  • Make languagePolicy configurable in TestScript [PR 4794]
  • ResourceExplorer: Pass original exception as inner exception to improve debuggability. [PR 4812]
  • Add StreamingRequestHandler.Audience for Streaming + Skills [PR 4805]
  • Additional issuers in emulator validation [PR 4828]
  • Remove extra skill dialog trace activities [PR 4819]
  • Adding UI schema to handle form dialogs [PR 4818]
  • Update resource explorer load to use GetComponentRegistration instead of static loaded components (#4745) [PR 4815]
  • Adds check to TranscriptLoggerMiddleware doesn't log continue conversation event activities [PR 4797]
  • Ignore the null or empty result of the OutputFormat [PR 4814]
  • Throw exception when circular reference is detected in LG imports [PR 4779]
  • Thread dialogcontext/activity through LuisRecognizer so it can be passed to ExternalEntityRecognizer [PR 4811]
  • Teams: GetParticipant [PR 4770]
  • Drop the use of IsBuildServer [PR 4791]
  • Updating schema titles to sentence case. [PR 4799]
  • Teams: Add CacheInfo for invoke responses [PR 4548]
  • Teams: Add fields to teams notifications [PR 4763]
  • Consolidate some implementation in OAuthInput and OAuthPrompt [PR 4800]
  • Delete nuget.config [PR 4798]
  • Set PR filters to include the host .yml file [PR 4792]
  • Skills: support update and delete activities [PR 4786]
  • Skills: local testing with no appId or password [PR 4757]
  • Add AssertNoActivity [PR 4785]
  • Consolidate duplicate Test project and test code [PR 4736]
  • Add unit tests to generated dialogs [PR 4723]
  • LG & Expression: Switch Antlr.Runtime to Antlr.Runtime.Standard [PR 4777]
  • Make languagepolicy in Recognizer align with the policy in UseLanguagePolicy [PR 4784]
  • Expression: Add reverse prebuilt function [PR 4781]
  • Add 'state' to MessagingExtensionAction [PR 4718]
  • Change vmImage: setting [PR 4766]
  • Update README [PR 4445]
  • Use wildcard reference for Microsoft.BotFramework.Orchestrator [PR 4771]
  • Prefer default operation [PR 4760]
  • Update tests.schema with changes to Microsoft.ContinueConversationLater. [PR 4769]
  • Fix the default behavior when cloud environments are configured [PR 4764]
  • Updated reference to Microsoft.BotFramework.Orchestrator [PR 4767]
  • Refactor of Microsoft.Bot.Builder.Azure.Queues. [PR 4692]
  • Change Assert.Inconclusive() to Assert.Fail() in tests [PR 4754]
  • Allow API Compatibility Validation to be disabled [PR 4761]
  • Update BotFrameworkAdapter, Fixes : #4710 [PR 4711]
  • LG: Redo the default fallback of namespace [PR 4724]
  • LG: Enable debuggability [PR 3791]
  • Add comments for CreateFacebookMessageFromActivity [PR 4751]
  • Adds CreateMessageFromActivity method to facebook adapter. [PR 4746]
  • Skills: Send context.Activity if none provided in BeginSkill [PR 4705]
  • Fix DialogStateMamager TryGetValue method throwing FormatException [PR 4604]
  • Make missing test environment vars cause a functional test build to fail [PR 4719]
  • Enable overriding AttachmentInput dialog [PR 4726]
  • Add obsolete tag to AzureBlob classes [PR 4735]
  • Add a default user agent for httpRequest [PR 4693]
  • Let ADO define triggers [PR 4706]
  • Fix DefaultValueResponce can't access DialogContext.State [PR 4691]
  • Hide DialogInspector and centralize resetting retries[PR 4715]
  • Updated reference version of Microsoft.BotFramework.Orchestrator [PR 4699]
  • Disable build warning CS8002 in Microsoft.Bot.Builder.FunctionalTests [PR 4668]
  • Adding mappings between components and intellisense options [PR 4704]
  • Refactored and cleaned up ShowTypingMiddleware [PR 4701]
  • Add branch lu-parser to CI builds [PR 4703]
  • Change Assert to verify collection size. [PR 4697]
  • Skills: Avoid sending typing activity when bot is invoked as skill [PR 4479]
  • Skills: Delete Conversation Reference from ConversationIdFactory when SkillDialog receives EndOfConversation while using ExpectReplies [PR 4685]
  • Add ThrowException action to pass exception out for string error message [PR 4656]
  • Support null result in LG output [PR 4669]
  • Expression: Support Nullish Coalescing feature [PR 4686]
  • Expression: Add conditional operator [PR 4689]
  • Make cycle detection throw an exception instead of returning null. [PR 4606]
  • Expression: Add resolve function for resolving TimexProperty values to string values [PR 4573]
  • Add exception to missing predicate condition. [PR 4678]
  • Remove NoWarn suppression [PR 4563]
  • Remove xUnit2000 error from templates test in Microsoft.Bot.Builder.LanguageGeneration.Tests [PR 4667]
  • Fix special character problem by making FindValues prefer exact matches [PR 4671]
  • Add missing XML documentation to the Bot.Builder.Dialogs.Adaptive Root folder [PR 4637]
  • Undo blocking on token polling ops; add docs & comments (#4675) [PR 4680]
  • Adds missing doc to Recognizers [PR 4636]
  • Fix "turn.recognized" does not include entities with "None" intent in Cross-Trained Recognizer Set [PR 4655]
  • Bot Cache state public [PR 4627]
  • Cache reference dialog into a dictionary when loading dup dialogs [PR 4616]
  • Revert TranscriptMiddleware to not wait on logging [PR 4644]
  • CloudAdapter [PR 4661]
  • Teams: Add OnInstallationUpdateActivity in adaptive trigger conditions [PR 4629]
  • Make DisplayQnAResultAsync protected [PR 4574]
  • Fix retries and extend testing [PR 4665]
  • Fix Microsoft.Bot.Builder.Dialogs.Adaptive.Templates.Tests xUnit warnings [PR 4560]
  • Remove MSTest packages from Microsoft.Bot.Builder.Dialogs.Tests [PR 4632]
  • Add missing XML documentation to Bot.Builder.Dialogs.Adaptive Functions, Generators, Input, Memory, Selectors and Templates folders [PR 4635]
  • Add missing XML documentation to Bot.Builder.Dialogs.Adaptive/TriggerConditions [PR 4638]
  • Add missing XML documentation to Bot.Builder.Dialogs.Adaptive/Actions [PR 4634]
  • Migrate Microsoft.Bot.Builder.TemplateManager.Tests to xUnit [PR 4587]
  • Migrate Microsoft.Bot.Builder.Azure.Tests project to xUnit [PR 4633]
  • Support null result in stack memory [PR 4666]
  • Teams: Fix OAuthInput on Teams [PR 4660]
  • Fix badges, switching from master to main branch [PR 4659]
  • Migrate Microsoft.Bot.Builder.Dialogs.Tests to xUnit [PR 4630]
  • Migrate Microsoft.Bot.Builder.Dialogs.Tests to xUnit [PR 4631]
  • Move version tagging to parent signing yaml [PR 4649]
  • Fix the timeout login in OAuthInput [PR 4607]
  • Migrate Microsoft.Bot.Builder.Dialogs.Declarative.Tests project to xUnit [PR 4622]
  • Migrate Microsoft.Bot.Builder.Dialogs.Adaptive.Tests to xUnit [PR 4623]
  • Fix split function result with whitespace separator [PR 4646]
  • Remove env prefix from pipeline variables [PR 4652]
  • Migrate Microsoft.Bot.Builder.AI.QnA.Tests to xUnit [PR 4588]
  • Facebook and Webex adapter functional test, validate required variables to correct inconclusive results [PR 4585]
  • mock qna recognizer and dialog like http request action [PR 4531]
  • Add specific owners for TestBot.Json & TestProtocol (#4553) [PR 4564]
  • QnAMaker GenerateAnswer StrictFiltersCompoundOperationType for Metadata Join Operation [PR 4446]
  • Migrate Microsoft.Bot.Builder.ApplicationInsights.Tests to xUnit [PR 4608]
  • Migrate Microsoft.Bot.Builder.Dialogs.Tests to xUnit [PR 4624]
  • Migrate Microsoft.Bot.Builder.Integration.ApplicationInsights.Core.Tests to xUnit [PR 4589]
  • Stop building twice in the dotnet functional test pipelines [PR 4611]
  • Update CODEOWNERS: [PR 4626]
  • Fix issues on Microsoft.Bot.Builder.Ai.LuisV3.Tests [PR 4558]
  • Fix issues on TemplateDiagnosticTest & TemplatesParseTreeTest files [PR 4559]
  • Fix Microsoft.Bot.Builder.Tests xUnit warnings [PR 4561]
  • Migrate Bot.Streaming.Tests to Xunit [PR 4592]
  • LG: Add CacheScope option [PR 4602]
  • Migrate Microsoft.Bot.Builder.AI.Luis.Tests to xUnit [PR 4610]
  • Add commit hash to package versions [PR 4613]
  • Migrate Microsoft.Bot.Builder.Dialogs.Tests to xUnit [PR 4625]
  • Migrate Microsoft.Bot.ApplicationInsights.WebApi.Tests to xUnit [PR 4591]
  • Update LuisRecognizer.cs [PR 4577]
  • Migrate Payloads folder's tests to Xunit [PR 4590]
  • Migrate Microsoft.Bot.Configuration.Tests to xUnit [PR 4609]
  • Switch to ESRP Code Signing Connection 2020a [PR 4618]
  • Change json serialization format [PR 4463]
  • Add version expression property to luisadapter and make options expression properties [PR 4535]
  • Fix null object reference in MultiLanguageRecognizer [PR 4344]
  • Fix LuisAdapterRecognizer by correctly cloning the temporary TurnContext for adaptiing to legacy LuisRecognizer [PR 4537]
  • Add a throw to FacebookClientWrapper.cs [PR 4614]
  • Fix issues on TemplatesTest file [PR 4562]
  • Fix facebook and webex functional test pipelines [PR 4583]
  • Add missing documentation to Dialogs files [PR 4541]
  • Migrate Microsoft.Bot.Builder.Dialogs.Debugging.Tests to xUnit [PR 4586]
  • Retries should be removed when property is set since there is no active Ask query. [PR 4584]
  • Fix issues on AdaptiveExpressions.Tests [PR 4557]
  • Skills: Add SkillValidation Claims tests [PR 4598]
  • Add catch for JsonException in GetBodyContent. [PR 4596]
  • Allow resource explorer to accept the set of declarative type registrations [PR 4575]
  • Improve error message for tests. [PR 4554]
  • Add "jsonStringify" builtin function [PR 4571]
  • LG: Support create object with multi lines in LG [PR 4517]
  • Fix new line in string interpolation [PR 4551]
  • Make "merge" support any kind of object type [PR 4529]
  • Update runtime to support new generation model [PR 4481]
  • Fix the issue while multiline content starts with "#" [PR 4516]
  • Set link to latest dependency graph [PR 4525]
  • Update coveralls parameter [PR 4513]
  • use HttpRequestMock to mock Luis [PR 4453]
  • Fix coverage publishing conditionals [PR 4498]
  • fix error in parsing empty string in string interpolation [PR 4504]
  • fix string trim issue [PR 4503]
  • Fix "git push azure master" [PR 4497]
  • Add delay signing configuration for Orchestrator. [PR 4495]
  • Fix issue when non-text activity received, the CrossTrainedRecognizer will always returns OnChooseIntent [PR 4484]
  • Switch branch master to main [PR 4494]
  • Always assign sourcemap.path [PR 4488]
  • Set WaterfallStepContext.Parent correctly [PR 4480]
  • Add StatusCode & ReasonPhrase to HttpResponseMock [PR 4426]
  • Fixes for test scripts. [PR 4482]
  • Skills: Support AllowInterruptions in BeginSkill [PR 4476]
  • Fix Random thread safety and control random seed to improve testability [PR 4429]
  • Update platform target for Release-Windows configuration of Orchestrator. [PR 4470]
  • Enable schema tests. (Although needed to filter out one test which is valid but fails validation.) [PR 4474]
  • Fix ARM template template-with-new-rg.json for the other DotNet func test builds [PR 4450]
  • LG: Add fullName to resource class and keep resource consistent across lg resources [PR 4340]
  • Fix bugs in getNextViableTime, getPreviousViableDate, getPreviousViableTime [PR 4466]
  • Fix ARM template template-with-new-rg.json for Slack [PR 4441]
  • Support accessing global memories in injecting LG templates as Expressions [PR 4452]
  • Updated issue templates to apply default labels [PR 4457]
  • Fix AdaptiveExpressions tests failing [PR 4428]
  • Temporarily ignore failing Adaptive test [PR 4459]

v4.10.0

3 years ago

November 2021 (version 4.10.7)

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.

August 2020 (version 4.10.0)

Welcome to the August 2020 release of the Bot Framework SDK. We are introducing some exciting Additional New Features with Updates and Enhancements. This milestone we focused on all-up quality and engineering debt, broken down across the following pillars:

  • Documentation Includes improvements to existing documentation and net new documentation centered on recurring issues and developer pain points.

  • Customer Supportability Improvements focused on developers seeking assistance using the Bot Framework, tools and SDKs.

  • Customer Ask Implemented enhancements and feature requests from the developer community and 3rd parties using the Bot Framework SDK and tools.

  • Code Quality Enforcement of code styling and format rules, increased testing code coverage, and functional tests.

  • Team Agility Improved validation of SDK code and integration with supporting libraries and environments. Continuous integarion and build pipleline improvements.

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!

Documentation

BF Docs GitHub

Following feedback from customers and the Bot Framework Support Team, a number of net new documents have been written as well as updates to existing documentation. These are helpful towards providing answers and information relating to recurring issues from bot developers.

  • Code comment documentation
  • Samples readme improvements
  • SDK repository readme and wiki updates
  • New documents addressing recurring bot developer issues

Customer Supportability

BF Supportability GitHub

Developers using the Microsoft Bot Framework have many avenues for getting help. See additional resources Internal tools have been improved to increase the responsiveness of the engineering team in areas of most interest to developers.

  • Creation of internal bots and improved tools for customer support
  • Improved analytics of trends in customer reported feature requests and issues
  • Coordination of labels across GitHub repositories

Customer Ask

BF Customer Ask GitHub

  • Additional Teams channel lifecycle events
  • Improved Application Insights integration
  • Coordination of labels across Git Hub repositories
  • Add Locale to ConversationUpdate
  • Update CardAction to support alt text for images on buttons
  • Update Skill Handler to return Resource Response
  • Release of library using latest Azure Blobs storage
  • Enable custom fields for Entity
  • Fixes to OAuthPrompt timeout and addition of EndOnInvalidMessage
  • Various bug fixes and telemetry improvements

Code Quality

  • Analyzer rules in place and running (code style and format)
  • Unit test code coverage and quality
  • Increased profiling of the code base
  • Swagger file unified across SDK repositories and version # introduced
  • Specific SDKs asks and needs:
    • Settings object pattern for C# adapters
    • LG dependent files testing (C#)
    • Dependency policing (JS)
    • Integration tests with Direct Line JS and adaptive cards

Team Agility

BF Team Agility GitHub

Improvements have been made across SDK repositories towards decreased CI pipeline times, improved testing, including both functional integration and unit tests.

Speed​

  • Reduce time to build for SDKs (local and remote)​
  • Reduce SDK unit test duration through refactoring and/or concurrent approaches​
  • Refactor ADO pipelines into smaller, separate jobs or stages​
  • Run as-applicable pipelines (e.g. no style-checks on .yaml files)​

​Reliability​

  • Refine or replace current monorepo/”mono-solution” setups as necessary​
  • Address nondeterministic build/test failures
  • Enable continuous integration for forked pull request submissions
  • Complete integration tests added with bots dynamically created

Other Updates and Enhancements

Microsoft Teams

  • SDK and OAuthPrompt now support Teams SSO
  • Increased Adaptive Dialog support for Teams events
  • SDK supprot for lifecyle events: ChannelRestored, TeamArchived, TeamUnarchived,TeamRestored, TeamDeleted, and TeamHardDeleted
  • InstallationUpdate activity type support
  • LinkToMessage added to MessageActionsPayload

Bot Framework CLI Tools

  • Lg added as BF-CLI core plugin
  • Enhancements and fixes to lu parser
  • QnaMaker support extended
  • Publish daily builds and RCs of botframework-cli to npm

Samples

  • Readme updates and consolidation across language samples
  • Build pipelines for samples CI
  • Demonstreate using Locale in ConversationUpdate welcome message sample
  • Additional Teams samples in Typescript
  • Teams TaskModule samples now includes HTML/JavaScript task modules

Composer

  • The Bot Framework SDK continues to support the Bot Framework Composer.

See Composer 1.1.1 Release Notes

Web Chat

  • Many accessibility improvements and fixes
  • Group activity by timestamp and sender
  • Convert emoticon to Emoji
  • Added scrolling API: allow save/restore scroll position and scroll to specific activity

Emulator

  • Added an additional log panel entry on conversation start that displays the current bot's endpoint
  • Fixed a bug where trying to open the sign-in link on an OAuth card when ngrok was not configured would cause the Windows File Explorer to open
  • Improved CONTRIBUTING.md to more accurately reflect requisites to build the Emulator from source
  • Updates to Cosmos DB service editor dialog

Additional New SDK Features

Changelog for v4.10.0:

  • Add Bot.Builder.Azure.Blobs and Bot.Builder.Azure.Queues [PR 4419]
  • [CI-PR Pipelines] Skip tests in Debug builds [PR 4416]
  • Fix Cosmos tests throwing due to wrong Exception specification [PR 4415]
  • Added Directory.Build.props to the libraries folder and moved referen� [PR 4414]
  • Fix InternalsVisibleTo of LanguageGeneration [PR 4413]
  • Adds new team events to Adaptive.Teams [PR 4411]
  • Fixing and suppressing build warnings [PR 4406]
  • BeginSkill fixes for ContinueDialog [PR 4405]
  • Debugging: Add missing documentation to all visible classes, methods,� [PR 4404]
  • change the error message of Json pre-built function to provide more context infomation. [PR 4403]
  • Add EndOnInvalidMessage to OAuthPromptSettings [PR 4401]
  • OAuthPrompt timeout applies to all auth related events and invokes. [PR 4399]
  • Adding missing docs to dialog.adaptive.testing [PR 4394]
  • [Declarative] Resource IDs: Update resource ID best-effort assignment to be consistent for debugging experience [PR 4390]
  • Change Adaptive-Expressions pre-built function classes from public to internal [PR 4389]
  • [DO NOT MERGE] Add category to ignore in automated build [PR 4387]
  • Ignore failing test: JsonDialogLoad_CycleDetection [PR 4386]
  • Gabog/dialogs debugging refactor [PR 4385]
  • Fixes the C# portion of #3706 [PR 4383]
  • Refactored SkillDialog to call ConversationFacotry.CreateConversationId only once [PR 4382]
  • add constructor overload [PR 4377]
  • Flush out missing doc comments in Adaptive.Testing assembly [PR 4376]
  • Orchestrator package with recognizers [PR 4375]
  • Fixed diff in descriptions against SDK swagger [PR 4370]
  • Use Resource.Id as default Id for referenced objects [PR 4368]
  • Testing naughty strings against TextPrompt [PR 4364]
  • Streaming: Add missing documentation [PR 4363]
  • Adding xunit2017 [PR 4357]
  • Update dotnet-ci yaml to condition the API compat execution [PR 4355]
  • Disable code analysis for non-CI builds [PR 4354]
  • Changing dialog.testing primarily internal [PR 4352]
  • Changed test to use https (petstore was returning 405 for http) [PR 4351]
  • Temporarily suppressing XUnit warnings [PR 4350]
  • Fixes Unauthorized error when calling ContinueConversation [PR 4348]
  • Make Language fallback consistent with current LanguagePolicy [PR 4345]
  • uischema: port composer ui schema to component schema files [PR 4341]
  • Set logProjectEvents to false in MSBuild task [PR 4339]
  • Added FxCop fot TemplateManager [PR 4338]
  • Added FxCop analyzers to Configuration [PR 4337]
  • Added FxCop to Azure project. [PR 4336]
  • Added Async and FxCop analyzers to Streaming project [PR 4335]
  • Test dialog:merge in integration builds [PR 4334]
  • Update master with SSO + Teams changes. Cherry picked main changes + test update. [PR 4333]
  • BotFrameworkAdapter: Make CreateConversationAsync agnostic to the credential type [PR 4332]
  • Declarative: Fix Cycle detection issues with partial graph knowledge. [PR 4331]
  • Fix anonymous template name conflict [PR 4329]
  • Add missing XML documentation to Microsoft.Bot.Builder [PR 4327]
  • Add missing documentation to all visible classes, methods, properties and parameters in LanguageGeneration [PR 4324]
  • added EmptySpeakTag constant [PR 4319]
  • Change AutoEndDialog to a bool expression. [PR 4316]
  • fix comment and schema description of SignoutUser.Userid property. [PR 4315]
  • Only use resource.id as the default dialog id if the dialog doesn't have an id. [PR 4314]
  • Adding documentation for Teams classes [PR 4313]
  • Add missing documentation to all visible classes, methods, properties and parameters in Adaptive-Expressions [PR 4308]
  • Make ActivityPrompt a normal class - remove abstract [PR 4307]
  • Lower time needed to complete running tests [PR 4306]
  • add doc commets to HealthCheck structures [PR 4305]
  • Use RuntimeInformation.FrameworkDescription if TargetFrameworkAttribute.FrameworkName is null [PR 4304]
  • Add missing XML documentation to Microsoft.Bot.Schema [PR 4303]
  • Added FxCop to Adaptive.Teams [PR 4302]
  • Added FxCop to LanguageGenreation. [PR 4301]
  • Adds FxCop to Adaptive.Testing [PR 4300]
  • Add missing XML documentation to Microsoft.Bot.Connector [PR 4299]
  • ActivityPrompt.RepromptDialogAsync call OnPromptAsync with isRetry false [PR 4298]
  • Added FxCop to Dialogs.Debugging. [PR 4297]
  • Adds FxCop to Dialogs.Declarative. [PR 4296]
  • Add installation update to ActivityHandler [PR 4294]
  • add qna maker extension [PR 4293]
  • Set qna answer startIndex and endIndex [PR 4292]
  • Support deep data binding for some properties [PR 4291]
  • Add missing XML documentation to Microsoft.Bot.Builder.Dialogs.Declarative. [PR 4289]
  • Add getNextViableDate, getPreviousViableDate, getNextViableTime, getPreviousViableTime pre-built functions [PR 4286]
  • Added FxCop to Dialogs.Adaptive [PR 4285]
  • Add missing XML docs to Microsoft.Bot.Builder.TemplateManager [PR 4282]
  • Added FxCop Analyzers to the AdaptiveExpressions library. [PR 4278]
  • Locale awareness in Adaptive-Expressions [PR 4276]
  • Added FxCop and Async analyzers to the QnAMaker project. [PR 4274]
  • Added FxCop and Async analyzers to the LUIS project. [PR 4272]
  • Add extension methods to set and get the Locale of an IActivity inter� [PR 4271]
  • Send trace for unhandled dialog events [PR 4270]
  • Add additional null checks to telemetry logger middleware. [PR 4267]
  • Johtaylo/issue4072 [PR 4264]
  • Add Teams specific telemetry properties [PR 4256]
  • Added new Telemetry Track Event action [PR 4252]
  • Add code owners for /**/*.schema [PR 4249]
  • Added null checks in telemetry logger middleware [PR 4248]
  • Updates schema files to point to the new friendly URL [PR 4243]
  • Clm/fix nuget versions in adapaters [PR 4242]
  • Update CODEOWNERS [PR 4237]
  • Updated FN Test projects to match samples [PR 4236]
  • Add EndOfConversationCodes to EndOfConversation activity from Skill [PR 4235]
  • Updates to SkillHttpClient and BotFrameworkClient [PR 4232]
  • fix outputformat property on DateTime input [PR 4231]
  • fix for OnUnknownIntent title. [PR 4229]
  • Add support for Facebook Message Read event [PR 4225]
  • add directlinespeech support to prompts [PR 4224]
  • Refactor AdaptiveExpressions method GetStandardFunctions() [PR 4222]
  • Add null check for locale into MultiLanguageRecognizer [PR 4220]
  • Remove preview tag from adapters [PR 4215]
  • Update Facebook, Slack, Webex adapters [PR 4214]
  • Wrap Convert.ToInt32 method to catch conversion error [PR 4211]
  • Refine ActivityFactory [PR 4210]
  • Additional channel/chat lifecycle events [PR 4204]
  • Add Teams Channel Restored event [PR 4202]
  • add Microsoft.Test.SettingsPropertiesMock [PR 4201]
  • use new HttpContent each time for HttpRequestMock [PR 4199]
  • Remove references to MissingMemberException [PR 4196]
  • Add ImageAltText to CardAction [PR 4195]
  • properly escape slashes in constant strings with StringExpression/ValueExpression [PR 4194]
  • Add missing code docs for Configuration lib [PR 4190]
  • Update missing code docs for the Azure library [PR 4189]
  • Update Twilio Adapter to better separate client / adapter [PR 4188]
  • Porting Adaptive Teams to Xunit [PR 4184]
  • Porting Adaptive Templates to Xunit [PR 4183]
  • Port LanguageGeneration to Xunit [PR 4181]
  • Move TelemetryClient property to DialogContainer [PR 4178]
  • Remove Slack from the list of channels that support Suggested Actions [PR 4177]
  • Extend 'getProperty' builtin function to support accessing top memory. [PR 4176]
  • [Engineering] Update codeowners [PR 4171]
  • Revert "Fixes issue #3960 [QnAMaker] [DotNet] Implementing QnAMaker's precise answering capability as an additional feature for BotFramework users" [PR 4170]
  • Enabled FxCop on the Dialogs project and Integration folder [PR 4168]
  • Change deployment template endpoint to .../api/mybot from .../api/messages [PR 4167]
  • Fix 3 functional test builds [PR 4163]
  • doc cleanup [PR 4162]
  • Fix Slack functional test build [PR 4160]
  • Updates to readme [PR 4159]
  • Emit better error messages for all dialogs [PR 4153]
  • Refactoring AI Luis V3 to Xunit [PR 4151]
  • Add LinkToMessage in MessageActionsPayload class [PR 4150]
  • SwitchCondition with number throws an exception when compared against a string [PR 4148]
  • Add missing code docs for the AI libraries (LUIS / QnA) [PR 4147]
  • add Microsoft.Test.UserTokenMock & tests [PR 4145]
  • Add empty recognizer support for CrosstrainedRecognizer (composer scenario) [PR 4144]
  • Added FxCop to Microsoft.BotBuilder and addressed errors. [PR 4141]
  • Porting adaptiveexpressions tests to xunit [PR 4138]
  • Add missing code docs to integration libraries [PR 4137]
  • Add [Obsolete] attribute to Microsoft.Bot.Configuration.LuisService [PR 4136]
  • Porting Transcript tests to Xunit [PR 4135]
  • Add logging to BotFrameworkHttpClient.PostActivityAsync() [PR 4134]
  • fix expandText return type error [PR 4132]
  • Migrating Schema to Xunit [PR 4130]
  • Fix LuisRecognizer to not return intents if there is no utterance [PR 4129]
  • Josh/botbuilder tests [PR 4128]
  • Add missing code docs for the webex adapter [PR 4127]
  • Add ToAttachment method for OAuthCard [PR 4126]
  • Make content type check more robust [PR 4125]
  • Updates to Facebook Adapter [PR 4123]
  • use MSBuildThisFileDirectory in DBP [PR 4122]
  • Update OAuthInput.cs [PR 4118]
  • Porting Adapters folder to Xunit [PR 4115]
  • Added initial cut at daily build spec [PR 4112]
  • Enables FxCop Analyzer for the Connector library [PR 4110]
  • Further improve LG's performance [PR 4083]
  • Migrates Tests tests to Xunit [PR 4082]
  • Add aadGroupId to TeamInfo [PR 4078]
  • [Expression] Add merge prebuilt function for merging JSON object [PR 4075]
  • Fix functional test builds to not fail on code analysis errors [PR 4074]
  • Fix build breaks on linux [PR 4073]
  • Add community docs [PR 4067]
  • [Expression]Enable list concatenation for function "concat" [PR 4066]
  • HttpRequest Action Bug Fix [PR 4064]
  • Add OnContinueConversation trigger and ContinueConversationLater action [PR 4063]
  • Sets warnings as errors and adds FxCop analyzer to Schema project. [PR 4061]
  • add expandText LG function [PR 4058]
  • fix strict mode issue in expander [PR 4057]
  • disable unused codeSignValidationInjection task in main CI [PR 4056]
  • Allow the activity only with channelData property in sendActivity action [PR 4054]
  • Add Adaptive Teams component [PR 4051]
  • Refactor of Slack adapter to address dependency on 3rd party library [PR 4046]
  • fix corner case of expander when empty array occurs in structured lg [PR 4044]
  • Add dialogContext memory scope [PR 4037]
  • Merge 4.9 back to master [PR 4032]
  • Update doc XML [PR 4031]
  • Enrich LG error message [PR 4030]
  • Cache Expression parsing result [PR 4026]
  • [Expression] Support null parameter in isObject and isString function [PR 4024]
  • Allow calling an event driven dialog [PR 4023]
  • Adjust grammar to improve LG parsing performance [PR 4021]
  • Add floor, ceiling, round pre-built functions [PR 4017]
  • Don't throw exception on unhandled VersionChangeDetected event (#4000) [PR 4015]
  • Refine template loop detection to enable recursive functions [PR 4012]
  • Support luis customized endpoint [PR 4011]
  • fix 'getPastTime' and 'getFutureTime' error result [PR 4002]
  • Fix broken dependency graph link [PR 3999]
  • Add sentenceCase && titleCase builtin function [PR 3994]
  • Add EOL builtin function [PR 3992]
  • Change xUnit test attribute to fit "TestCategory" filtering [PR 3991]
  • Add ticksToDays, ticksToHours, ticksToMinutes pre-built functions [PR 3988]
  • Change error messages in pre-built functions to make the descriptions more accurate [PR 3987]
  • [Cherry pick from 4.9] Auth: Tighten JWT validation of channel-issued tokens with certificate signature [PR 3983]
  • Per property operations [PR 3975]
  • support expression in debug evaluate [PR 3971]
  • Fixes BadRequest message in Teams (#3966) [PR 3967]
  • Remove path excludes from triggers [PR 3951]
  • Add badges for Win functional tests and Linux functional tests [PR 3950]
  • Hardened prompts [PR 3949]
  • Remove functional test setup from the signed build. [PR 3948]
  • [LG] Make template name format consistent with function name format [PR 3946]
  • [Expression] DateTime related prebuilt functions can handle DateTime object as an input [PR 3945]
  • [PORT]Maintain the high priority and independence of multiline [PR 3944]
  • Slack sets timestamp as unix time in seconds [PR 3937]
  • Fix formatNumber unit test [PR 3936]
  • Fixes issue #3960 [QnAMaker] [DotNet] Implementing QnAMaker's precise answering capability as an additional feature for BotFramework users [PR 3935]
  • [Expression] Add DateTimeDiff prebuilt function [PR 3934]
  • Make data and locale optional in multilingual LG [PR 3932]
  • Update to link to the new 4.9.1 dependency graph [PR 3929]
  • nuget.client package reference is obselete, replaced with nuget.packaging [PR 3927]
  • Do NOT call TeamsInfo.getMember for the bot cherry-pick from 4.9 (#3923) [PR 3924]
  • Add interdependencies graph to readme [PR 3921]
  • Merge 4.9 into master [PR 3920]
  • update resultProperty descption of http request step [PR 3915]
  • Support long/int64 in number constant [PR 3912]
  • Add generation scripts and interdependency graph [PR 3909]
  • test comparisons for null [PR 3903]
  • [Expression] Support lambda style expression [PR 3899]
  • [LG] Move "EXPRESSION" in LG from lexer to parser [PR 3898]
  • remove duplicate SourceContext [PR 3896]
  • Merge 4.9 into master [PR 3890]
  • Merge 4.9 back to master [PR 3880]
  • [Expression] Add formatNumber, formatEpoch and formatTicks as prebuilt functions [PR 3876]
  • Set Locale for EoC in DialogManager [PR 3875]
  • Cherry pick #3870 [PR 3872]

4.9.0

4 years ago

November 2021 (version 4.9.7)

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.

May 2020 (version 4.9.0)

Welcome to the May 2020 release of the Bot Framework SDK. There are a number of updates in this version that we hope you will like; some of the key highlights include:

  • Skills - Skills now support adaptive dialogs and all activity types, and have improved support for SSO and OAuth. The v2.1 skill manifest is now GA. We also added Bot Framework Composer support for building and consuming Skills.
  • Microsoft Teams - Improvements in Microsoft Teams API support, including support in Java!
  • Bot Telemetry - Mapping of Dialogs into Azure AppInsights Page View Events.
  • Health Check APIs - Quickly verify a bot is running.
  • Adaptive Dialogs - A more flexible, event driven dialog system for implementing multi-turn conversational patterns.
  • CLI tools for Adaptive Dialogs - new ability to merge and validate adaptive schema assets.
  • Language Generation - Add language and personality responses to your bot conversations.
  • Adaptive Expressions - Use bot aware expressions to react to user input and drive bot functionality.
  • Authentication Improvements - SSO between Bots and Skills and improvements to X.509 auth.
  • Generated Dialogs (Early Preview) - Automatically create robust Bot Framework Composer assets from JSON or JSON Schema that leverage Adaptive Dialogs.
  • VS Code debugger for Adaptive Dialogs (Early Preview) - Create & validate .lu and .lg documents as well as debug declaratively defined adaptive dialogs.

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!

Skills

Skills have been updated to work with adaptive dialogs, and both adaptive and traditional dialogs will now accept all types of activities.

The skill manifest schema has been updated to version 2.1. Improvements in this version include the ability to declare & share your language models, and define any type of activity that your skill can receive.

This release also includes authentication improvements with skills, including using SSO with dialogs, and OAuth without needing a magic code in WebChat and DirectLine.

Microsoft Teams

We continue to focus on making sure all the Teams-specific APIs are fully supported across our SDKs. This release brings full support for Microsoft Teams APIs in the preview Java SDK, including samples.

The OnTeamsMemberAdded event in the activity handler has been updated to use the get single member endpoint under the covers, which should significantly reduce latency and reliability of this event in large teams.

The TeamsChannelAccount object has been updated to include userRole (one of owner, member, or guest) and tenantId (for the user's tenantId).

Bot Telemetry

Bots now capture Page View events, native to Application Insights, whenever a dialog is started. This allows you to use the User Flows dashboard in Application Insights to see how users move through your bot, between dialogs and where they drop out. Telemetry In AppInsights

Health Check APIs

Support was added for a new invoke named healthCheck that allows a sender to verify if a bot is responding to requests, and if trust can be established between the sender and the bot. The bot also has the option of overriding the response to add additional health information in the response.

Adaptive Dialogs

We’re also excited to make Adaptive Dialogs generally available in C# and as a preview release in JavaScript!

Adaptive Dialogs, which underpin the dialog design and management authoring features found in Bot Framework Composer, enable developers to dynamically update conversation flow based on context and events. This is especially useful when dealing with more sophisticated conversation requirements, such as context switches and interruptions. Bot Framework Skills can now also leverage Adaptive Dialogs.

Adaptive Dialogs also now support Telemetry. Data from Adaptive Dialogs, including triggers, actions and recognizers now flow into your Azure Application Insights instance.

CLI tools for Adaptive Dialogs

CLI tools for Adaptive Dialogs, Language Generation, QnaMaker and Luis Cross-train - new ability to merge and validate adaptive schema assets, augment qna and lu files, create/ update/ replace/ train/ publish LUIS and or QnA maker application and Language Generation templates manipulation.

New CLI Tools were added for management of Adaptive Dialogs.

  • bf-dialog supports merging dialog schema files and verify file format correctness.
  • bf-luis Adds commands to augment lu files and create/ update/ replace/ train/ publish LUIS
  • bf-qnamaker Adds commands to augment qna files and create/ update/ replace/ train/ publish QnAMaker
  • bf-lg Parse, collate, expand and translate lg files.

Language Generation

LG is Generally Available (GA) on both the C# and JS Platforms.

Language Generation (LG) enables you to define multiple variations of a phrase, execute simple expressions based on context, and refer to conversational memory. At the core of language generation lies template expansion and entity substitution. You can provide one-off variation for expansion as well as conditionally expanding a template. The output from language generation can be a simple text string or multi-line response or a complex object payload that a layer above language generation will use to construct a complete activity. The Bot Framework Composer natively supports language generation to produce output activities using the LG templating system.

You can use Language Generation to:

  • Achieve a coherent personality, tone of voice for your bot.
  • Separate business logic from presentation.
  • Include variations and sophisticated composition for any of your bot's replies.
  • Construct cards, suggested actions and attachments using a structured response template.

Language Generation is achieved through:

  • A markdown based .lg file that contains the templates and their composition. Full access to the current bot's memory so you can data bind language to the state of memory.
  • Parser and runtime libraries that help achieve runtime resolution.

Adaptive Expressions

Adaptive Expressions are Generally Available (GA) on both the C# and JS Platforms.

Bots use expressions to evaluate the outcome of a condition based on runtime information available in memory to the dialog or the Language Generation system. These evaluations determine how your bot reacts to user input and other factors that impact bot functionality.

Adaptive expressions were created to address this core need as well as provide an adaptive expression language that can used with the Bot Framework SDK and other conversational AI components, like Bot Framework Composer, Language Generation, Adaptive dialogs, and Adaptive Cards.

An adaptive expression can contain one or more explicit values, pre-built functions or [custom functions. Consumers of adaptive expressions also have the capability to inject additional supported functions. For example, all Language Generation templates are available as functions as well as additional functions that are only available within that component's use of adaptive expressions.

Authentication Improvements

We added support for single sign-on while using Expect Replies. This applies to SSO performed between a pair of bots: host and a skill.

For Bot Identification we've added the ability to specify sendx5c parameter for certificate authentication. This feature was requested by customers and allows for more flexibility when using cert auth.

Additional Sovereign Clouds are supported.

Generated Dialogs - Early Preview

The Bot Framework has a rich collection of conversational building blocks, but creating a bot that feels natural to converse with requires understanding and coordinating across language understanding, language generation and dialog management. To simplify this process and capture best practices, we've created the bf-generate plugin for the BotFramework CLI tool. The generated dialogs make use of event-driven adaptive dialogs with a rich and evolving set of capabilities including:

  • Handle out of order and multiple responses for simple and array properties.
  • Add, remove, clear and show properties.
  • Support for choosing between ambiguous entity values and entity property mappings.
  • Recognizing and mapping for all LUIS prebuilt entities.
  • Help function, including auto-help on multiple retries.
  • Cancel
  • Confirmation

VS Code Debugger - Early Preview

Adaptive tools is a brand new Visual studio code extension you can use to create/ validate .lu and .lg documents as well as debug declaratively defined adaptive dialogs. This extension provides rich authoring & editing capabilities for .lu and .lg file formats including syntax highlighting, auto-suggest and auto-complete.

We anticipate adding an early preview to the VS Marketplace shortly after this release.

Bot Builder Community

During this release, the Bot Builder Community has further raised the bar by adding more features, more adapters, and fixing more bugs.

  1. A revised C# Alexa Adapter and Google Home Adapter Re-built from the ground up, starting with Alexa, to allow the adapters to be consumed by Azure Bot Service and made available as channels. Improvements include better native activity type mapping, improved markdown rendering and support for more complex scenarios (such as merging multiple outgoing activities).

  2. A new C# Zoom Adapter. Currently supports Zoom 1:1 and channel chat capabilities, being converted to native BF activity types. Also supports the subscribing to any event a Zoom as supports (translated into Event activities), with full support for Zoom interactive messages and rich message templates.

  3. A RingCentral Adapter. The RingCentral Engage adapter allows you to add an additional endpoint to your bot for RingCentral Engage Digital Platform integration. The RingCentral endpoint can be used in conjunction with other channels meaning, for example, you can have a bot exposed on out of the box channels such as Facebook and Teams, but also integrated as an RingCentral Engage Digital Source SDK into RingCentral.

Changelog for v4.9.0:

  • Update project files for release [PR 3870]
  • SkillDialogUpdates for ConnectionName. [PR 3866]
  • Improve disconnect test so it actually tests disconnect. [PR 3865]
  • Remove $id from schema to prevent tests from changing assets. [PR 3863]
  • Replace UseState() with UseBotState() [PR 3862]
  • [Expression] change naming of timex functions [PR 3858]
  • Adaptive: Detect and load graph cycles during type loading [PR 3857]
  • Fix WaterfallStepContext to use parent dc properly [PR 3855]
  • Update schemas for dialog:merge [PR 3851]
  • Fix signature of LanguageGenerator base class [PR 3850]
  • added debug signature to recognizers [PR 3849]
  • Add tenantId and userRole to TeamsChannelAccount [PR 3847]
  • Clm/fix utf8 bom [PR 3846]
  • Adds serialization fix for #3833 [PR 3845]
  • Cleanup Component Registration [PR 3838]
  • SkillDialog activity type handling updates [PR 3834]
  • Drop OnCustomEvent, it's a duplicate of OnDialogEvent [PR 3832]
  • Move LuisAdaptiveRecognizer into LUIS assembly [PR 3830]
  • OAuthInput: create parity with OAuthPrompt [PR 3827]
  • add null string support in StringUtils [PR 3826]
  • Update ESRP authenticode JSON per SHA1 Digest Deprecation requirement. [PR 3824]
  • Skills use the right connector client when receiving tokens from TokenService [PR 3822]
  • Add StringUtils class to BotBuilder [PR 3820]
  • Check for null on Activity.From when logging telemetry [PR 3819]
  • Support SSO with skill dialog and expected replies [PR 3818]
  • Set CI trigger to batch changes [PR 3817]
  • make running storage emulators disabled on build server [PR 3815]
  • Replace resource interfaces with abstract base classes [PR 3811]
  • Support empty LG file [PR 3810]
  • move base interface schema files to declarative assembly [PR 3808]
  • bump assembly version 4.8 => 4.9 [PR 3807]
  • [PORT] Bot Change Detection [PR 3804]
  • Add experimental dummy .yml build [PR 3803]
  • [LG] Inject LG templates as a global expression function [PR 3802]
  • Update Microsoft.BeginDialog.schema [PR 3801]
  • make converters internal [PR 3800]
  • Change onTeamsMemberAdded for Teams to use getMember() [PR 3798]
  • healthcheck feature [PR 3796]
  • tweaks to schema per feedback from composer team [PR 3794]
  • Update AdaptiveSkillDialog to use ActivityProcessed [PR 3789]
  • Fix for Issue3767 (scoped services not working correctly) [PR 3788]
  • [QnAMaker] Volitile LowScoreVariation and Active Learning Issue fix [PR 3786]
  • Create CancelDialog action [PR 3785]
  • Revert the reusing of json converters [PR 3783]
  • Rename updateHandlers to deleteHandlers [PR 3782]
  • add recipient in BotFrameworkHttpClient.PostActivityAsync if value is null [PR 3781]
  • Timex function for hasFullDate and hasValidHour builtin-functions [PR 3780]
  • add allowloop to repeat dialog and test [PR 3778]
  • set recognized properties even if interruption is off [PR 3777]
  • Make ValueRecognizer internal [PR 3776]
  • Move QnAMaker Dialog/Recognizer out of Adaptive and into QnA assembly [PR 3775]
  • [Expression] Enable setProperty function creating object handling null correctly [PR 3771]
  • Fix typo in code owners [PR 3770]
  • Change Comparisons to ReturnType of 'template' function use bit operators [PR 3766]
  • [LG] disable datetime parsing in json() [PR 3765]
  • [LG] fix null check in expression [PR 3763]
  • Schema cleanup and validation [PR 3758]
  • Add custom endpoint property to the LuisService class [PR 3754]
  • Updates for CallerId [PR 3753]
  • [LG] re-do multiLingualLg [PR 3752]
  • MetadataBoost dead code cleanup [PR 3751]
  • Code owner update for LG & expression library [PR 3750]
  • Add initial code owners to packages [PR 3746]
  • Slack adapter updates for dialog interactions [PR 3744]
  • [LG] Improve LG Options for replace null and markdown rendering [PR 3743]
  • [Certificate Authentication] Expose sendX5c parameter [PR 3741]
  • Update Microsoft.ContinueLoop.schema [PR 3740]
  • Locale Fixes [PR 3739]
  • Update telemetry logger to include attachments [PR 3737]
  • fix foreach empty and add test case [PR 3736]
  • Updated RunAsync to avoid sending EoC from the RootBot to the channel [PR 3735]
  • [Authentication] updates to support Arlington [PR 3734]
  • Add state to AppBasedLinkQuery for OAuth flow [PR 3732]
  • [LG] Robust Template CRUD with Two-phase parsing of LG [PR 3731]
  • [LowScoreVariation]For first item with score more than MaxScoreForLow� [PR 3730]
  • Ensure BOM is not written to response body in HttpHelper [PR 3728]
  • Fix bot state so that the context service key is used consistently to access the cached state [PR 3727]
  • Add/Edit /// comments. Fix some code smell. [PR 3718]
  • Replace null check with string.IsNullOrWhiteSpace() [PR 3717]
  • Fixes for QnA / Recognizer Adaptive telemetry [PR 3715]
  • refactor expander [PR 3713]
  • [LG] Remove dash in identifier to make sure arithmetic expressions can be parsed correctly [PR 3712]
  • Some cleanup of internals [PR 3711]
  • Updates DialogManager to work with skills [PR 3709]
  • TestGetChannelsAsync was testing the same thing as TestGetTeamDetails� [PR 3707]
  • Fix foreach issue and update some schema examples [PR 3704]
  • Ensured all Activities stored in transcript have Ids [PR 3701]
  • [Expression] Add array return type [PR 3697]
  • [Expression] Add support of create object via {key: value} syntax [PR 3694]
  • fix repeat option [PR 3693]
  • [QnA Maker] header change for adding "Ocp-Apim-Subscription-Key" [PR 3690]
  • Make expression support long [PR 3676]
  • [Expression] Support byte array input for base64 function [PR 3675]
  • [LG] Refine Error message and remove duplicate code [PR 3670]
  • Add support for operations on arrays [PR 3669]
  • remove extraneous space in property name [PR 3668]
  • Fix OAuth bug [PR 3664]
  • Get AzureDeploymentPassword from new key vault. [PR 3662]
  • [LG] Fix missing trailing line break with String.Readline() [PR 3655]
  • [LG] Loose grammar to make Structure LG more torrent [PR 3654]
  • use inner most dc for sending Bot State [PR 3653]
  • Add doc XML to the QnAMakerDialog class [PR 3651]
  • DCR: Change .dialog file string resource lookup to fallback to non-dialog files. [PR 3640]
  • Debugger: preserve optional designer identifiers with source map range [PR 3637]
  • Update IMemory interface and tryEvaluate for expression [PR 3635]
  • Fix the interface name in the error message. [PR 3633]
  • [DCR] Add support for declarative custom dialogs [PR 3632]
  • Fix local culture info changes the result of parsing number and datetime [PR 3631]
  • Debugger: Clean up on Disconnection and Identifier Thread Safety [PR 3629]
  • Add extension for default languagePolicy [PR 3624]
  • Make the CRUD of the template consistent [PR 3622]
  • cache Antlr parse result [PR 3621]
  • fix Antler Parser build warnings [PR 3618]
  • update LG escape [PR 3614]
  • [Exprssion] Add method for create an array by square bracket expression [PR 3613]
  • Disambiguation of �!� mark in expression [PR 3608]
  • [Expression] Support escape in regex [PR 3607]
  • [Expression] drop dynamic type [PR 3603]
  • Replace interfaces with Abstract base classes [PR 3602]
  • add title to choices and confirmChoices schema [PR 3601]
  • Remove unnecessary restrication on memory path [PR 3597]
  • make custom function easier [PR 3595]
  • Add Push/Pop services to TurnContextStateCollection. [PR 3594]
  • Updates appId argument check in GetAppCredentialsAsync #3590 [PR 3591]
  • Add support of multi line definition of expression in LG [PR 3589]
  • Move DeepEquals and References from extensions to Expression class [PR 3588]
  • Fix AdapterExtensions' ambiguous references [PR 3587]
  • Fix for Issue #3525 [PR 3584]
  • Debug Adapter Protocol Support for variablesReference in OutputEvent [PR 3582]
  • Improve Expression with adding type checking functions [PR 3581]
  • update expression escape [PR 3580]
  • [activityfactory] Improve missing type error [PR 3575]
  • Move DialogStateManager/Memory/Scope into dialogs dialogContext.State [PR 3570]
  • [OAuth]do not set signInLink to empty when OAuthAppCredentials is set [PR 3564]
  • Dialog Debug Adapter improvements [PR 3563]
  • fix index access bug caused by Access Modifiers of C# class [PR 3554]
  • Fix path resolver not working when alias in middle [PR 3544]
  • EoC should only be handled when coming from parent in RunAsync [PR 3540]
  • fix lack of a generic typed method for posting activities to skills [PR 3539]
  • Add unit test for CancelAllDialogs and fix eventName and eventValue null [PR 3536]
  • Proactive auth: trust incoming token url conditionally [PR 3532]
  • Microsoft.Bot.Builder.Dialogs.Adaptive.Testing had release labels for creating nuget [PR 3529]

4.8.0

4 years ago

What's in this release?

SSO

  • SSO support with AAD and WebChat (Docs WIP)(Sample)

Adaptive Dialogs, Adaptive Expressions, & Language Generation

  • 🎉 rc0 - this is our first release candidate for Adaptive Dialogs, Adaptive Expressions, & Language generation. We encourage folks to give this a try in development and non-critical scenarios.
  • 🪓 BREAKING CHANGES - There is a number of breaking changes. Please see the details here: Adaptive - LG/ expressions

Skills

Expanded support for a number of scenarios in Skills, including

  • Support for custom adapters that require a request/response flow
  • Authentication with OAuth and SSO
  • Expanded definitions possible in the Skills manifest file
  • Handing off to a skill as part of a dialog
  • v3 SDK and cross-language interop

Teams

Added support for a new get single member endpoint, and expanded support for the get paged members endpoint.

Changelog for v4.8.0:

  • Add Ephemeral to DeliveryModes, update comments [PR 3522]
  • Keep handoff event value as JObject [PR 3521]
  • Disable warnings for SkillConversationIdFactoryBase methods in tests [PR 3518]
  • Fix null reference in debugger [PR 3517]
  • Change DeliveryMode bufferedReplies to expectReplies [PR 3515]
  • Set up CI build to get coveralls token from key vault [PR 3514]
  • Port: refence a custom function in LG imports [PR 3513]
  • Add triggers for Webex test build [PR 3511]
  • Standardize triggers & coding across builds [PR 3508]
  • Added interruptions support to SkillDialog [PR 3507]
  • Set up Facebook functional test key vault variables [PR 3505]
  • Skill OAuth only change card action for emulator [PR 3503]
  • Add 'ephemeral' as the list of options for Delivery Mode [PR 3502]
  • Update LG template content range [PR 3501]
  • Update Constant Expression ToString method [PR 3500]
  • Add new fields and remove auto-generated text. [PR 3499]
  • Adds support for buffered replies to skill dialog [PR 3496]
  • Functional test Linux fixes [PR 3494]
  • Adaptive Telemetry Instrumentation [PR 3491]
  • Add support for SSO to parent and child bot projects for manual testing [PR 3489]
  • Normalize Linux functional test variables [PR 3487]
  • Fixed issue with null attachment arrays in AttachmentInput [PR 3486]
  • Fix issues with TestBot. [PR 3485]
  • Set up Webex functional tests to use key vault secrets [PR 3484]
  • clean up activityhandler and teamsactivityhandler [PR 3482]
  • Normalize variables in Windows functional test pipeline [PR 3481]
  • Set up key vault for slack functional tests secrets [PR 3478]
  • Add originatingAudience to SkillHttpClient.PostActivityAsync [PR 3477]
  • Set up key vault storage for functional test build secrets [PR 3476]
  • SkillDialog updates [PR 3474]
  • Get member changes for Teams [PR 3473]
  • API naming for Expression [PR 3471]
  • Add new function in expression [PR 3470]
  • Add LG telemetry [PR 3469]
  • Switch from union to interface/implements in component schema [PR 3468]
  • fix memory scope for class memory sscope to evaluate expressionProperties [PR 3463]
  • Renamed SequenceContext to ActionContext [PR 3461]
  • Updates to SkillDialog based on VA feedback. [PR 3458]
  • Fix YAML file for functional-test-unix [PR 3457]
  • Update generated tests to use ${} and latest naming [PR 3455]
  • add deliverymode bufferedreplies [PR 3454]
  • Add AdaptiveSkillDialog [PR 3453]
  • Add additional null check in Telemetry [PR 3452]
  • Added null check and code to return default(T) in GetPropertyValueAsync<T> [PR 3448]
  • [Expression] make indexOf/lastIndexOf function support list [PR 3444]
  • Update TelemetryClient to enable tracking of dialog ('page') views [PR 3440]
  • use standard OAuthScopes in CreateOAuthApiClientAsync [PR 3439]
  • Fix errors when From is null in telemetry [PR 3436]
  • Add comments to Webex test yaml build [PR 3435]
  • [LG] support custom function [PR 3434]
  • fix Dynamic properties do not work [PR 3433]
  • fix LG small issue [PR 3428]
  • update adaptive inputs to set inputHint = expectingInput [PR 3427]
  • add contentType to HttpAction [PR 3426]
  • Move Declarative test classes into Microsoft.Bot.Builder.Dialogs.Adaptive.Testing [PR 3425]
  • fallback to .value property if there is no text. [PR 3423]
  • Fix @ resolver to deal with complex objects correctly [PR 3422]
  • Fix BotStateScope to show full botState and give control for dialogState Property name [PR 3421]
  • Comment out vars that are supposed to be set in azure [PR 3420]
  • Coveralls fix [PR 3419]
  • Fix code coverage upload [PR 3417]
  • Add coveralls token to coveralls upload step [PR 3416]
  • Trigger fixes [PR 3415]
  • Clean up unused LUIS vars [PR 3414]
  • Disable the Stale Actions [PR 3412]
  • Set up more trigger excludes [PR 3411]
  • Set up excludes for yaml build triggers [PR 3410]
  • [Skills] Refactor BFAdapter Auth, Add support for proactively messaging non-channel recipients [PR 3409]
  • Add comment. [PR 3408]
  • Add SourceLink to these 3 projects [PR 3404]
  • Update DialogContext.cs [PR 3403]
  • Fix Delete resource group task conditional [PR 3400]
  • Create WebSocketClient.ConnectAsyncEx method to accept CancellationToken optionally [PR 3399]
  • Enhance the functionality of the + operator [PR 3397]
  • Add Obsolete attribute to CosmosDbStorage [PR 3396]
  • Enable 'Delete Resources' [PR 3394]
  • Update to Microsoft.SourceLink.GitHub [PR 3389]
  • [LG] optimize inline text evaluation [PR 3387]
  • add typing activity to activityhandler [PR 3384]
  • Remove default value for inputHint from activityFactory [PR 3382]
  • ${} instead of @{} as bounding syntax. [PR 3381]
  • Added cancellation token to ContinueConversationAsync on Facebook adapter [PR 3379]
  • [Doc] Add Build Process Documentation [PR 3378]
  • DCR 3200 QnAMakerRecognizer improvements. [PR 3376]
  • Migrate expression namespace to AdaptiveExpressions [PR 3375]
  • Copy edits on the /// docXML for the FacebookAdapter-associated files. [PR 3373]
  • Fix functional tests filter [PR 3369]
  • String interpolation enhancement [PR 3368]
  • Merge temporary assembly Expressions.Properties into Expressions [PR 3365]
  • SSO Protocol Support [PR 3360]
  • remove custom adapters from Skills.sln [PR 3359]
  • More Facebook functional test tweaks. [PR 3357]
  • Update functional tests project to add target framework 3.1 [PR 3355]
  • Updated MicrosoftGovernmentAppCredentials to support Skills in Azure Gov [PR 3353]
  • Handle multiple property names on property assignment choice [PR 3351]
  • Cleanup and consolidate TypeFactory/loading/configuration/ExpressionEngine/registration etc. [PR 3350]
  • Fix typos [mostly] in the bot.builder namespace [PR 3349]
  • Event factory for handoff protocol [PR 3347]
  • SkillDialog [PR 3346]
  • [Expression] Expanding max/min built-in functions can take list params [PR 3345]
  • [LG/Expression] Add documentation for public code [PR 3342]
  • [LG] treat everything after first '=' as value for the property [PR 3341]
  • [Adaptive] Updates to description text for inputs [PR 3340]
  • Facebook functional tests setup. [PR 3338]
  • Update schema to include strings for unions and other minor fixes [PR 3337]
  • Remove code coverage w coverlet yamls [PR 3336]
  • Do unexpected assigns before expected assigns. [PR 3334]
  • [OAuth] small oauth fix [PR 3333]
  • Update task 'Create Microsoft.Bot.Builder.TestBot.zip' to netcoreapp3.1 [PR 3330]
  • Tolerant null in LG context [PR 3329]
  • Supporting iterate string by split function [PR 3328]
  • Optimize performance of LG evaluation [PR 3327]
  • Normalize functional test builds [PR 3322]
  • Update sdk.schema. [PR 3319]
  • Fix http/https bug in component schema. [PR 3318]
  • Implement hash for App Insights session ID [PR 3317]
  • Create test for waterfall cancellation telemetry [PR 3314]
  • Update Functional Tests YAML files [PR 3310]
  • [Webex][Functional test] Add "Adapters" Test Category [PR 3309]
  • Update test projects to target .Net Core 3.1 [PR 3306]
  • Change Azure Subscription references to var. [PR 3305]
  • Update .Net Core sdk 3.0.x to 3.1.x. [PR 3304]
  • [Slack Adapter] Fix to filter bot messages [PR 3303]
  • .NET Core 3.1 - retarget integrations libs plus adapter compat [PR 3302]
  • External Entities & Dynamic lists [PR 3300]
  • Fixes for the slack functional test yaml file [PR 3299]
  • Update Prompt.cs [PR 3296]
  • Set build tag task to not fail the build. [PR 3295]
  • Enable deserialization for OAuthPrompt Dialog With TypeHandling.None [PR 3294]
  • fix $ref in new schema objects that was causing bf dialog:merge to fail [PR 3293]
  • [Teams] adding helper to send messages to channel [PR 3292]
  • Make FolderResourceProvider extensions externally onfigurable. [PR 3290]
  • Nigao/ordinaldatetime [PR 3289]
  • Nigao/phonenumber [PR 3288]
  • Add build YAML for Twilio functional test [PR 3287]
  • [Twilio Adapter] Add Twilio functional test [PR 3286]
  • Change TelemetryClient property on ComponentDialog to override [PR 3285]
  • Made ChannelServiceController abstract [PR 3284]
  • Update MockLuis and profiler to support seperate LUIS directory. [PR 3281]
  • rewrite javascript action [PR 3277]
  • Update stale link [PR 3275]
  • Optimizations to reduce unit test duration during CI [PR 3274]
  • Improve LG errors and description [PR 3273]
  • Make Unit Tests run 3-10x faster. [PR 3272]
  • Treat '@{' an error instead of text in LG [PR 3269]
  • .NetCore 3.0 support updates [PR 3267]
  • Add build YAML for Facebook functional test [PR 3262]
  • [Adaptive] Add simple/flexible multiple language generator for non-adaptive [PR 3260]
  • Add PrivateAssets metadata to SourceLink.Create.CommandLine references [PR 3259]
  • Applied changes from the 4.7.1 PR [PR 3258]
  • [Webex Adapter] Add Webex Functional Test and YAML File [PR 3257]
  • Add IAuthenticator to allow for plugging in of Managed Service Identity [PR 3255]
  • [DCR] Normalize all expression and add '=' to force expression. [PR 3253]
  • Enable TestBot as declarative runner and update for bf luis:build settings [PR 3252]
  • [Facebook Adapters] Add Facebook functional test [PR 3250]
  • [LG] Centralize error message in one file [PR 3247]
  • Fix typos in comments and strings [PR 3246]
  • Profiling tool for running test scripts. [PR 3243]
  • Make multiple languages limited to the language of the entry lg file [PR 3241]
  • support constant [] and {} expression [PR 3240]
  • Nigao/readproperty [PR 3239]
  • Make Ask.ExpectedProperties support expressions [PR 3237]
  • Consolidate functional-test-setup-steps into one file. [PR 3235]
  • Make sure ResourceExplorer has no System.IO dependencies [PR 3234]
  • Change to "--framework netcoreapp2.1" [PR 3232]
  • fix include activity and enum camelcase [PR 3229]
  • Changed $mappings to $entities [PR 3226]
  • Second file: Add argument "--framework netcoreapp3.0" to Create PublishedBot.zip [PR 3225]
  • Add argument "--framework netcoreapp3.0" to Create PublishedBot.zip [PR 3224]
  • fix typo in additionalProperties [PR 3221]
  • Add RecognizeOrdinals and RecognizeNumbers flags to FindChoicesOptions [PR 3216]
  • Added netcoreapp3.0 to the target framerworks list and conditional co… [PR 3215]
  • Add Obsolete attribute to all Microsoft.Bot.Configuration classes [PR 3214]
  • add priority to onEndAction [PR 3212]
  • Add PR conditionals for publish to Github PR [PR 3202]
  • Typo fix [PR 3199]
  • Fix dotnet test filter value [PR 3198]
  • RegExRecognizer refactor and fix for Capture groups [PR 3196]
  • Switch back to non-https json-schema/ [PR 3195]
  • [Adaptive] Fix Number Input [PR 3193]
  • add indicesAndValues builtin function [PR 3192]
  • Forced re-execution expression within template [PR 3186]
  • DCR: add missing actions from adapter [PR 3184]
  • Fix for issue #2913 - Log and trace activity don't let you set the Label property [PR 3183]
  • change EmitEvent to model that the default for bubble is false. [PR 3182]
  • Implement DCR [Adaptive] - Add disabled expression to all Actions [PR 3181]
  • QnAMakerRecognizer (new InputRecognizer model) [PR 3174]
  • Add YAML file to set up pipeline for functional test with Slack [PR 3169]
  • Fix OnIntent with ActionScope_Goto_OnIntent test [PR 3167]
  • Make IMemory interface follow the convention instead of returning tuple [PR 3163]
  • Add functional tests setup to signing yaml build [PR 3159]
  • update to current format [PR 3158]
  • Add structured template analyzer [PR 3153]
  • Add YAML files to set up build pipelines for nightly tests [PR 3150]
  • Update adapters for Skills compatibility [PR 3148]
  • Fix nested foreach\where\select in Expression [PR 3144]
  • support lg output in activityfactory directly [PR 3143]
  • Fix mistake in DialogSet.Add doc comments [PR 3140]
  • Refactor LG API [PR 3138]
  • [QnA Maker] No Match prompt removed and markdown support. (#3121) [PR 3136]
  • Force Bot.Streaming .nupkg file to contain symbols [PR 3132]
  • [Facebook Adapter] Add typing indicator support [PR 3130]
  • Additional Language Support for Confirm/Choice Prompts [PR 3129]
  • Delete compiler directive from functional tests YAML build [PR 3128]
  • [Webex adapter] Add support for room messages [PR 3127]
  • Add build YAML files for code coverage [PR 3126]
  • add TestFlow.AssertNoReply and tests [PR 3125]
  • Change Functional tests to use attribute instead of compiler directive [PR 3124]
  • Clean up YAML build scripts [PR 3123]
  • Structured LG refactoring [PR 3122]
  • Add 2 more YAML builds for DotNet [PR 3120]
  • [QnA Maker] No Match prompt removed and markdown support. [PR 3119]
  • fix for multi user scenario [PR 3118]
  • loose LG grammar [PR 3116]

v4.7.0

4 years ago

v4.7.0

Welcome to the 4.7 release of the Bot Framework SDK for .NET!

Changelog for v4.7.0:

  • Sets CallerId on outgoing activities from the skill [PR 3111]
  • add skill conv ref to turn state and update activity handler [PR 3110]
  • Adding instance when no entities returned [PR 3109]
  • add IsTemplate function [PR 3101]
  • additional error handling [PR 3098]
  • SkillUpdates [PR 3094]
  • [QnAMaker] Support for Ranker type and IsTest in Adaptive and Composer. [PR 3093]
  • add Conditional/True selector tests [PR 3092]
  • add resultProperty [PR 3090]
  • BotFrameworkAdapter: fix samples broken by constructor ambiguity [PR 3088]
  • fix paths in the channel service controller [PR 3087]
  • [QnA Maker] Support for IsTest and RankerType in QnAMaker.getAnswer() [PR 3085]
  • remove unused overload in JwtTokenExtractor [PR 3080]
  • Streaming: Re-enable named pipes [PR 3077]
  • SkillHandler updates using ContinueConversation and package updates [PR 3076]
  • SetPathValue needs to use ResolveMemoryScope() like GetPathValue does [PR 3075]
  • AppCredentials construction: Enable extension of credential construction [PR 3072]
  • support outputFormat as expression [PR 3069]
  • clean up misc warnings.. [PR 3068]
  • throw on expression error for set property value [PR 3067]
  • Change AdaptiveDialog to options as the initial state [PR 3066]
  • OAuthPrompt Updates for Skills [PR 3065]
  • update schema for strictFilters (and add missing top property) [PR 3064]
  • [BotBuilder-DotNet] Add optional logger parameter to Webex and Twilio Adapters [PR 3062]
  • Report error message when importResolver failed to resolve. [PR 3060]
  • Add KeySuffix and CompatibilityMode to CosmosDbPartitionedStorage [PR 3058]
  • use AppId from TurnState instead of out of CredentialProvider [PR 3057]
  • Upgrade Newtonsoft.json for Teams AdaptiveCards scenario [PR 3055]
  • Obsoleted payment schemas [PR 3054]
  • Update DialogManager.cs [PR 3051]
  • Added support for Events in skill responses and namespace updates [PR 3050]
  • Refactor of QnAMaker dialog [PR 3048]
  • support InputDialog.value as an expression [PR 3046]
  • fix escape issue and extract magic code [PR 3045]
  • Implement SetProperties and DeleteProperties [PR 3044]
  • Johtaylo/protocol test project [PR 3042]
  • Cleanup semantics around processing activity in begindialog [PR 3041]
  • Fix namespace on ChannelServiceHandler [PR 3038]
  • Add tests around memory access path [PR 3037]
  • rename internal property to _adaptive [PR 3036]
  • DialogSet dependencies not initialized correctly when created each turn [PR 3032]
  • Fix Warnings in Streaming Tests Codebase [PR 3029]
  • Johtaylo/controller updates [PR 3028]
  • Added unit tests for MessageFactory [PR 3026]
  • Make DialogStateManager non-static configurable and async load/save [PR 3025]
  • Chrimc/kind [PR 3024]
  • Enable BotState to work without serializing types [PR 3023]
  • Update schema to use union instead of unionType. [PR 3022]
  • upgrade newtonsoft package reference [PR 3020]
  • add source location property to dialogs and triggers [PR 3018]
  • LuisRecognizer refactor [PR 3017]
  • Fix multi-lang resource generator enumerate locale blindly [PR 3015]
  • fix file resource bug [PR 3014]
  • Clear activity.id before sending in BotFrameworkAdapter.OnSendActivities [PR 3012]
  • Skill Preview Updates [PR 3006]
  • fix expression escape issue [PR 3005]
  • Fix for CosmosDb test behavior change on netcoreapp3.0 [PR 3002]
  • [Lg] TestMultiExternalAdaptiveCardActivity [PR 2998]
  • [Docs] fix Explanation [PR 2997]
  • Make structured lg fully support Activity/Attachment/CardAction properties/types [PR 2996]
  • make inspection middleware inspect bot traffic within a team [PR 2995]
  • Change $type to $kind and move unit tests to declarative [PR 2994]
  • Consolidate most nuget packages [PR 2990]
  • Small refactoring, fix typos and small bugs [PR 2988]
  • Fixed typos [PR 2987]
  • Fix typo [PR 2986]
  • add attachment in the top level [PR 2985]
  • [Lg] add should fail tests for multi lang [PR 2982]
  • Multi-target all unit tests to core 2.1 and core 3.0 [PR 2980]
  • Set up a stale issues github action [PR 2974]
  • Adds ClaimValidator to AuthtentcationConfiguration [PR 2971]
  • Choice/Confirm Prompt Null locale cherry pick from 4.6 to Master [PR 2965]
  • Fix typo in local variable name emulateOAuthCardsValue [PR 2961]
  • refine activity factory [PR 2957]
  • Adapter updates ahead of GA [PR 2953]
  • remove adaptivecard package from LG [PR 2952]
  • pass on cancellation [PR 2951]
  • [Facebook Adapter] Add Handover Protocol Support [PR 2949]
  • external file reference in Attachment structured [PR 2937]
  • Fix library compat issues. [PR 2935]
  • Stevenic/cherry pick cancellation fix [PR 2933]
  • Skill bug fixes [PR 2926]
  • add capability of handling null in string related built-in functions [PR 2924]
  • IMemory as the interface to Expression [PR 2923]
  • Add null, enum tests for ObjectPath [PR 2922]
  • Removed unused code [PR 2917]
  • Fixed unit tests fails [PR 2916]
  • Add type checking in ActivityFactory [PR 2914]
  • Support multi-linguage fall back + validation at initialization time. [PR 2907]
  • Rename lgTemplate to template [PR 2905]
  • Fix for JSON serialization exception [PR 2899]
  • [Teams] ADDGroupID to AADGroupID [PR 2896]
  • Fix bug in confirm prompt to ensure it respects style setting [PR 2895]
  • Fixed comments [PR 2893]
  • Fix schema typo + Fix EmitEvent code and schema not aligned [PR 2892]
  • Remove conditional from propertygroup containing nuget metadata. [PR 2889]
  • Skill updates for CCI integration [PR 2886]
  • update template CRUD feature [PR 2885]
  • Removing samples folder (bad merge from 4.Future) [PR 2883]
  • added integration bot [PR 2882]
  • update componentSchema path to come from master [PR 2877]
  • merge 4.6 change back to master [PR 2876]

4.6.0

4 years ago

v4.6.0

Welcome to the 4.6 release of the Bot Framework SDK for .NET!

Bot Framework SDK for Microsoft Teams (GA)

The Bot Framework SDK v4.6 release fully integrates support for building Teams bots allowing users to use them in channel or group chat conversations. By adding a bot to a team or chat, all users of the conversation can take advantage of the bot functionality right in the conversation.

Bot Framework SDK Skills (Preview)

Create a reusable conversational skill to add functionality to a bot. Leverage pre-built skills, such as Calendar, Email, Task, Point of Interest, Automotive, Weather and News skills. Skills include language models, dialogs, QnA, and integration code delivered to customize and extend as required.

Adaptive Dialog (Preview)

Adaptive Dialogs enable developers to build conversations that can be dynamically changed as the conversation progresses. It allows developers to dynamically update conversation flow based on context and events. This is especially handy when dealing with conversation context switches and interruptions in the middle of a conversation.

Language Generation (Preview)

Language Generation enables developers to separate logic used to generate bot's respones including ability to define multiple variations on a phrase, execute simple expressions based on context, refer to conversational memory.

Common Expression Language (Preview)

Common Expression Language allows you to evaluate the outcome of a condition-based logic at runtime information. We provide a common language that can be used across the Bot Framework SDK and conversational AI components, such as Adaptive Dialogs and Language Generation.

Recognizers-Text Updates

Changes in recognized utterances resulting from consuming different versions of Recognizers-Text through BotBuilder-DotNet. See the changes here.

The issues list can be viewed here.

Changelog:

  • Teams members added. [PR 2822]
  • Removed send helpers from turncontext. [PR 2817]
  • Updated to reply to channel scenario. [PR 2816]
  • Removed Recognizer upgrade text from Dialogs lib. [PR 2812]
  • Renamed Prompt -> QnaMakerPrompt [PR 2810]
  • Added square brackets support in structured lg. [PR 2808]
  • Updated to automatically adapt the type of button in structured lg. [PR 2807]
  • Made card/activity type insensitive in structured lg. [PR 2806]
  • Cleaned up dead teams test projects. [PR 2798]
  • Fixed SettingsMemoryScope handling of mapping of arrays in settings. [PR 2797]
  • Updated SkillHostAdapter Constructor. [PR 2793]
  • Updated 'null' response to Invoke when using AspNetCore integration package. [PR 2792]
  • Added in-template comment support. [PR 2790]
  • Fixed regressions in Debugger support. [PR 2781]
  • Rewrote testflow using async/await. [PR 2779]
  • Fixed ObjectPath.GetValue to handle nested property paths. [PR 2778]
  • Ensured memory stream is at position 0 after Body is copied into it. [PR 2772]
  • Applied feedback to have WebexAdapter ready for release. [PR 2770]
  • Applied feedback to have Twilio adapter ready for release. [PR 2769]
  • Set AllowInterruptions property to be an expression instead of string for Adaptive Schema. [PR 2767]
  • Updatde Skills Package to use Preview semver tag. [PR 2764]
  • Implemented auth changes required to handle skills. [PR 2755]
  • Added more comments in structured lg test. [PR 2754]
  • Fixed structured-lg static checker. [PR 2753]
  • Fixed stylecop issue and add message to exception. [PR 2750]
  • Added teamId as an arg to functions [PR 2749]
  • Refactored streaming into adapter. General improvements and quality. [PR 2748]
  • Reverted "Rename some Teams classes and fields". [PR 2747]
  • Updated AdaptiveDialog to execute steps without using recursion. [PR 2745]
  • Added a flag to control the bubbling of cancellation events. [PR 2744]
  • Re-enable rules and fix error level messages. [PR 2742]
  • Addressed Teams hackathon feedback. [PR 2740]
  • Reworked InputDialogs core processing flow. [PR 2735]
  • Updated inspection middleware to pass through trace activities. [PR 2733]
  • Removed old ctor parameter which is not used anymore. [PR 2732]
  • Removed unused folders. [PR 2731]
  • Removed teams folders. [PR 2730]
  • Declarative tests for QnA Maker dialog and some bug fixes. [PR 2729]
  • Added structured lg list reference sample/test. [PR 2728]
  • Fixed empty string as expression issue. [PR 2726]
  • Fixed some small bugs in structured-lg and add more tests. [PR 2724]
  • Fixed Structure LG+ ActivityGenerator should work without Adaptive issue. [PR 2722]
  • Fixed structured-lg don't work when the last line contains space. [PR 2721]
  • Support whitespaces in the middle of "ELSE IF" condition key word. [PR 2717]
  • Added tab support in structuredd lg. [PR 2713]
  • Added sortBy/sortByDescending builtin function. [PR 2711]
  • Changed empty template body from error severity to warning severity. [PR 2710]
  • Fixed @ to resolve to first of array or first of array o arrays. [PR 2708]
  • Class Scope was being returned in Memory Snapshot. [PR 2707]
  • Fixed EventValue initialization from ctor. [PR 2705]
  • Added missed 'throw' keyword in EndDialogAsync method. [PR 2704]
  • Rename some Teams classes and fields. [PR 2703]
  • Consolidated LuisV3 => Luis assembly in LuisV3 namespace. [PR 2702]
  • Fixed props file to only include icon.png reference if you are nuget package. [PR 2701]
  • Removed unneeded namespace. [PR 2700]
  • Some renaming and removal. [PR 2699]
  • Fixed Async, Cleanup all warnings, nuget package definitions iconurl etc. [PR 2698]
  • Updated so any template reference is evaluated once during evaluation of a structured template. [PR 2696]
  • Added more structured-lg test. [PR 2694]
  • Updated schema to reflect supported http methods. [PR 2693]
  • Refactored assemblies. [PR 2692]
  • Remove manifest .zip files. [PR 2691]
  • Updated Microsoft.OAuthInput.schema. [PR 2687]
  • Updated Cosmos DB Partitioned following feedback. [PR 2684]
  • Decoupled QnaMakerDialog from the QnaMaker client. [PR 2683]
  • Ensured Dialog Dependencies have been installed when processing event. [PR 2681]
  • Merge of 4.Future => Master. [PR 2674]
  • Invoke use Async for .NET Core 3 compat (Twilio/Webex) [PR 2672]
  • Fixed names of Messaging Extension projects and other cleanup for Teams. [PR 2671]
  • Added unit tests and remove dead code [PR 2668]
  • Fixed OnTeamsMessagingExtensionBotMessagePreviewSendAsync to match js. [PR 2667]
  • Updated this to TeamsInfo. [PR 2661]
  • Teams create conversation. [PR 2658]
  • Skill Updates First pass. [PR 2657]
  • Refactored and renamed TeamsInfo. [PR 2648]
  • OAuthCard support for streaming connections. [PR 2647]
  • Added ComposeMessagingExtensionAuthBot for Teams. [PR 2646]
  • Calling InitializeAsync on delete in CosmosDB Partitioned Storage. [PR 2644]
  • Added Facebook Adapter migration. [PR 2640]
  • [Teams] Messaging Extension Preview Send/Edit. [PR 2637]
  • Adding notes for JS Teams port. [PR 2635]
  • Adding openApp action type. [PR 2632]
  • Removed luis v3from solution. [PR 2621]
  • Consolidatepackage.s [PR 2620]
  • Added description to Recognizers-Text folder Readme. [PR 2616]
  • Sync read of request body throws on .netcore 3.0. [PR 2614]
  • CosmosDbPartitionedStorage using v3 SDK. [PR 2613]
  • Porting scenario for compose extension. [PR 2611]
  • Changed InputDialog.AllowInterruptions. to be an expression. [PR 2610]
  • Teamsextensions. [PR 2605]
  • Allow null response from OnTeamsTaskModuleSubmitAsync. [PR 2598]
  • Fixed http adapter error.s [PR 2593]
  • Added <DefineConstants>SIGNASSEMBLY</DefineConstants> to .csproj file. [PR 2590]
  • ActionBasedMessagingExtension Scenario. [PR 2588]
  • WebexAdapter updates. [PR 2582]
  • Ensure all projects generate local NuGet package on build. [PR 2581]
  • Fix telemetry for custom adapters. [PR 2580]
  • Teams ActionBasedMessagingExtensionFetchTask Scenario. [PR 2577]
  • [Repo maintenance] gitignore all zip files. [PR 2576]
  • Added Teams composeExtension/onCardButtonClicked. [PR 2573]
  • Added readme for link unfurling scenario. [PR 2572]
  • Teams connector. [PR 2571]
  • Moved the SIGNASSEMBLY precompiler directive so the setting can be taken. [PR 2569]
  • Fixed bug on app creds caching. [PR 2561]
  • Notification only bot. [PR 2560]
  • Adding Proactive Solution. [PR 2557]
  • Added numberWithUnit recognizer to NumberPrompt. [PR 2556]
  • Typing and other Teams cleanup. [PR 2550]
  • Adding a project to show how mentions works. [PR 2535]
  • Project cleanup. [PR 2534]
  • TeamsActivityHandler unit test coverage complete. [PR 2533]
  • Remove AdaptiveCard dependency from Teams packages. [PR 2532]
  • Additional unit test. [PR 2530]
  • Added initial action based ME scenarios. [PR 2529]
  • Added searchbased messaging extension scenario. [PR 2528]
  • Renamed the events for conversation update. [PR 2526]
  • Certificate authentication: Enable cert auth and start the shift away from ICredentialProvider. [PR 2524]
  • Concat Attachments if exist in Prompt::AppendChoices. [PR 2520]
  • Added Teams SDK and test scenarios. [PR 2517]
  • Applied conversation reference in TurnContext.UpdateActivity. [PR 2516]
  • [QnAMaker] GetAnswerRaw added [PR 2512]
  • updating mention stripping scenario for Teams. [PR 2510]
  • Corrected ActivityHandlerTests RemoveMember tests. [PR 2507]
  • Added 3 Teams.Tests projects. [PR 2499]
  • Added Twilio Adapter to Code Coverage infrastructure [PR 2498]
  • Initial pass of adding the Teams packages into the build. [PR 2497]
  • Changed Semaphore to SemaphoreSlim, improve logging and error handling. [PR 2486]
  • Forcing BotState.SaveChangesAsync should not Throw NullReferenceException without CachedBotState. [PR 2484]
  • Small typo in class description. [PR 2483]
  • Fixed Teams TenantId/ChannelData issue. [PR 2481]
  • Multi-turn SDK support for QnAID [PR 2470]
  • Fix PersistedDialogState [PR 2467]
  • Better Culture Recognition in Choice/Confirm Prompts [PR 2463]
  • [Twilio Adapter] Replace interfaces with classes [PR 2462]
  • Fixed build error. [PR 2453]
  • Upgraded Recognizers-Text version from v1.1.3 to v1.2.6 [PR 2448]
  • Added changes of recognizers-text utterances to the package description. [PR 2442]
  • Version upgrade documents for Recognizers.-Text dependency. [PR 2440]
  • Ensure media retrieval does not throw KeyNotFoundException. [PR 2424]
  • Change GetResourceIdentifier method signature. [PR 2421]
  • Replace TwilioAdapter bare Exceptions. [PR 2420]
  • DocXML updates [PR 2417]
  • Fixed signing build BotBuilder-DotNet-Signed-daily #190814-1. [PR 2414]
  • Added support for Twilio Conversations API. [PR 2412]
  • Fixed warnings in release configuration build. [PR 2411]
  • Support for multiturn is added for QnA Maker. [PR 2397]
  • More ref doc XML updates for the Dialogs library. [PR 2382]
  • Copyright license pass across the board [PR 2381]
  • updating packages to enable tests to pass [PR 2374]
  • Fixed CreateConversation tenantId getter [PR 2364]
  • FunctionalTests: move JwtTokenExtractor tests to Functional tests and consume app id and password from environment [PR 2349]
  • Fixed stylecop build break. [PR 2348]
  • Removed unneeded dependency to fix build break. [PR 2328]
  • Add, review and revise /// comments. [PR 2302]
  • NumberPrompt considers culture when parsing. [PR 2292]
  • Added Twilio adapter port. [PR 2290]
  • Added SkypeMiddleware to patch Skype mentions so RemoveMentionText works. [PR 2289]
  • Update /// comments for WaterfallStepContext and DialogContext. [PR 2282]
  • Added support for transient services depending on scoped services. [PR 2278]
  • Updated the Activity class /// comments. [PR 2277]
  • Updated Streaming Extensions to 4.5.1 SDK references. [PR 2274]
  • Handle empty bodies the way the channel expects. [PR 2273]
  • Point Nuget packages to a valid icon file. [PR 2262]
  • Added support for LUIS V3 endpoint. [PR 2260]
  • Reverts PR 1993. [PR 2259]
  • Stylecop fixes. [PR 2239]
  • Migrate Webex Adapter. [PR 2238]
  • Fixed new issues and treat warnings as errors. [PR 2237]
  • Updating trusted URLs for US Gov. [PR 2227]
  • Fix transient bot support for Named Pipe connections. [PR 2226]
  • Merge pull request #2207 [PR 2222]
  • Updates to split Streaming Extensions library into two packages. [PR 2221]
  • Comment out Code relating to a broken test. [PR 2214]
  • Fix misspellings. [PR 2205]
  • Preview build of Streaming Extensions package. [PR 2201]

4.5.3

4 years ago

This release adds:

  1. Support for certificate authentication for AAD apps
  2. More flexibility around AAD authentication, reducing strong coupling to password-based authentication and laying the foundation to easily support any of the AAD client credential flows down the line.

Details

C# SDK 4.5.3 release enables cert-based authentication of AAD apps. Currently we only support app id + password, but AAD also supports multiple client credential flows, such as using certificates.

image

This is the small first step towards using AppCredentials for AAD verifications, which currently supports Certs or Password, but as-is can simply be extended to support any of the 7 ADAL client flows.

The default paths still use ICredentialProvider and we are enabling AppCredentials for new scenarios. A second iteration will make AppCredentials be the default, but we want to stage that transition to minimize risk.

v4.5

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 97cd740bc8bfdf4dbbf0647e9abf7c3e43fdf730 (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]