github microsoft/botbuilder-dotnet 4.13
Bot Framework DotNet SDK 4.13.0

latest releases: 4.22.3, 4.22.2, 4.22.1...
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]

Don't miss a new botbuilder-dotnet release

NewReleases is sending notifications on new releases.