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.19.1

1 year ago

Welcome to the January 2023 patch release of the Bot Framework SDK. This release has been focused on bug fixes.

What's Changed

  • Fix cast issue in SendHandoffActivity action #6575
  • Expired JWT token exception not being handled #6572

Full Changelog: https://github.com/microsoft/botbuilder-dotnet/compare/4.19.0...4.19.1

4.19.0

1 year ago

Welcome to the January 2023 release of the Bot Framework SDK. This release has been focused on bug fixes and general improvements.

What's Changed

Teams

Other

New Contributors

Full Changelog: https://github.com/microsoft/botbuilder-dotnet/compare/4.18.1...4.19.0

4.18.1

1 year ago

Welcome to the October 2022 release of the Bot Framework SDK. This release has been focused on bug fixes and general improvements.

What's Changed

Teams

General bug fixes and maintenance

New Contributors

Full Changelog: https://github.com/microsoft/botbuilder-dotnet/compare/4.17.2...4.18.1

4.17.2

1 year ago

Welcome to the September 2022 release of the Bot Framework SDK. This release has been focused on bug fixes and general improvements.

What's Changed

Full Changelog: https://github.com/microsoft/botbuilder-dotnet/compare/4.17.1...4.17.2

4.17.1

1 year ago

Welcome to the July 2022 release of the Bot Framework SDK. This release has been focused on bug fixes and general improvements.

Required changes to existing bots

CosmosDB

This release removed the deprecated CosmosDBStorage and CosmosDBStorageOptions class. Existing bots should use CosmosDBPartitionedStorage and CosmosDBPartitionedStorageOptions instead.

NewtonSoft v13

The update to v13 can cause issues due to NewtonSoft v13 defaulting to a lower MaxDepth than v12. This can cause exceptions while processing some payloads, especially when using Adaptive Dialogs. The following change should be made in your bots Startup.cs to set the MaxDepth to a higher value

services.AddHttpClient().AddControllers().AddNewtonsoftJson(options =>
{
    options.SerializerSettings.MaxDepth = HttpHelper.BotMessageSerializerSettings.MaxDepth;
});

What's Changed

Teams

What's Changed

New Contributors

Full Changelog: https://github.com/microsoft/botbuilder-dotnet/compare/4.16.1...4.17.0

4.16.1

1 year ago

This is a May 2022 patch release containing bug fixes.

What's Changed

4.16.0

2 years ago

Welcome to the April 2021 release of the Bot Framework SDK. This release has been focused on performance, bug fixes and general improvements.

Cloud Adapter

Introducing support for Direct Line App Service Extension with Cloud Adapter and Microsoft.Bot.Connector.Streaming.

Introducing SDK support for the Federated Search Platform. This includes Activity Handler support for Typeahead search in Adaptive Cards.

What's Changed

New Contributors

Full Changelog: https://github.com/microsoft/botbuilder-dotnet/compare/releases/4.15...releases/4.16

4.15.2

2 years ago

This is a January 2022 patch release containing bug fixes and performance improvements.

4.15.2 SDK Change Logs

Breaking changes in this release:

This release introduces some minor breaking changes in the Adaptive libraries that greatly improve the bot's cold start times. These changes should not impact composer bots that haven't been customized. Customized bots will be impacted only if they extended the following classes:

TemplateEngineLanguageGenerator

  • We removed the loadOnConstructor optional parameter from the class constructor. Templates are now only loaded as needed and not at bot startup. This parameter is no longer necessary and should be removed.

LanguageGeneratorManager

  • We removed the loadOnConstructor optional parameter from the class constructor. Most templates are now processed as needed and not at bot startup. This parameter is no longer necessary and should be removed.
    Templates that use the lg @exports feature are still loaded on startup, a bot with a large number of templates that use the @exports directive will experience longer startup times.

LanguageGeneratorManager

  • The LanguageGenerators property type has changed from ConcurrentDictionary<string, LanguageGenerator> to ConcurrentDictionary<string, Lazy<LanguageGenerator>> to allow on demand initialization and the property is now read only.

MultiLanguageGenerator

  • The LanguageGenerators property type has changed from ConcurrentDictionary<string, LanguageGenerator> to ConcurrentDictionary<string, Lazy<LanguageGenerator>> to allow on demand initialization and the property is now read only.

MultiLanguageGeneratorBase

  • The TryGetGenerator(DialogContext dialogContext, string locale, out LanguageGenerator generator) method signature has changed to MultiLanguageGeneratorBase.TryGetGenerator(DialogContext dialogContext, string locale, out Lazy<LanguageGenerator> generator) and the classes that derive from it have been updated accordingly. Developers that need to access the languageGenerator instance right away after calling TryGetGenerator() can force the initialization by accessing the Value property of the returned Lazy<LanguageGenerator>.

4.15.0

2 years ago

Welcome to the November 2021 release of the Bot Framework SDK. This release has been focused on bug fixes and general improvements.

SDK [release notes]

December 2021 (version 4.15.1)

  • Improvements to the Language Understanding library's loading and performance.
  • Adaptive ForEach Action has been refactored to ForEachElement with improved stack processing and performance.

User-Assigned Managed Identity

Azure Bot's identity management has been updated to include support for 1) User-Assigned Managed Identity, and 2) Azure AD Single Tenant app. This is in addition to the currently supported Azure AD Multi-Tenant app identity. For more details on how to create and deploy an Azure Bot using these new identity mechanisms, please refer to the following docs: Create an Azure Bot resource Deploy your bot to Azure

Improved Streaming Library

A new streaming library Microsoft.Bot.Connector.Streaming has been released which greatly improves performance of bots using web sockets. This library will exist side-by-side with the legacy streaming library Microsoft.Bot.Streaming. CloudAdapter uses the new streaming library by default, and BotFrameworkHttpAdapter uses the legacy streaming library by default. Both these defaults can be overridden by the bot's adapter by overriding a virtual method.

Code to override CloudAdapter to use legacy streaming library:

protected override StreamingConnection CreateWebSocketConnection(WebSocket socket, ILogger logger)
{
    return new LegacyStreamingConnection(socket, logger);
}

Code to override BotFrameworkHttpAdapter to use new streaming library:

public override StreamingRequestHandler CreateStreamingRequestHandler(IBot bot, WebSocket socket, string audience)
{
    var connection = new WebSocketStreamingConnection(socket, Logger);
    return new StreamingRequestHandler(bot, this, connection, audience);
}

Changes to LanguageGeneration.Templates class

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.

4.15.0 SDK Change Logs

Full Changelog: https://github.com/microsoft/botbuilder-dotnet/compare/4.14.0...4.15.0

4.14.0

2 years ago

November 2021 (version 4.14.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.

June 2021 (version 4.14.0)

Welcome to the June 2021 release of the Bot Framework SDK. This has been largely a maintenance release with a few notable items including support for Microsoft Teams MeetingStart and MeetingEnd events, and Get Meeting Info. See below for the full set of changes.

  • IMPORTANT:

The Slack adapter now prioritizes User.Id over Bot.Id when setting the Activity.From.Id. [5393 ]

Change log for DotNet 4.14.0

  • Ensure the results of Orchestrator scoring can be added to for unknown intent [PR 5764]
  • Update Microsoft.Bot.Builder.AI.Orchestrator.csproj [PR 5747]
  • Add AllowedSkillsClaimsValidator for Issue 5285 [PR 5684]
  • Add conversation id header in skill requests [PR 5741]
  • Update TeamsInfo to support CloudAdapter [PR 5728]
  • updated obsolete message according to feedback [PR 5739]
  • [#5676] BotFrameworkAdapter CreateConversationAsync overrides conversationParameters.ChannelData [PR 5727]
  • addition remark doc comments [PR 5734]
  • Authentication: Add opt-in support for MSAL to acquire tokens [PR 5736]
  • Fix: add cache for luis recognizer result to avoid extra requests [PR 5683]
  • Remove Azure.Queues.dll from CC report [PR 5731]
  • Add appId parameter validation to PasswordServiceClientCredentialFactory.CreateCredentialsAsync. [PR 5730]
  • [Part 10] Increase Microsoft.Bot.Schema.Teams code coverage [PR 5726]
  • Improved code coverage reporting for local Visual Studio CC runs [PR 5723]
  • Fix OAuth prompt should store in turn.token, not dialog.token [PR 5693]
  • fix: Microsoft.Bot.Builder.TestBot.Json can't start [PR 5718]
  • feat: AdaptiveExpressions: Allow 0 to convert as false bool [PR 5616]
  • feat: add GetMeetingInfo and meeting event support [PR 5655]
  • Added SetTestOptions functionality to AdaptiveDialogBot [PR 5711]
  • remove exception handled [PR 5722]
  • [Part 9] [Unit Tests - Code Coverage]: Microsoft.Bot.Schema.Teams [PR 5715]
  • [Part 8] [Unit Tests - Code Coverage]: Microsoft.Bot.Schema.Teams [PR 5709]
  • Orchestrator package readme [PR 5679]
  • Make None return all intent results [PR 5716]
  • Update Orch description and url for Composer [PR 5705]
  • Adjust how Activity.From is populated when sending [PR 5574]
  • Upgrade Recognizers-Text to 1.3.2 version [PR 5706]
  • fix: MaxTurnCount getting increased while interruption in composer prompts [PR 5690]
  • Bring Microsoft.Bot.Schema to 100% code coverage (Part 1) [PR 5613]
  • [#5166] Add unit tests for Microsoft.Bot.Connector.Authentication.UserTokenClientImpl [PR 5697]
  • [#5166] Add unit tests for Microsoft.Bot.Builder.Dialogs.OAuthPrompt [PR 5696]
  • flip turn memory scope to be included in the snapshot [PR 5686]
  • feat: Support iteration for object in ForEach action [PR 5689]
  • [Part 7] [Unit Tests - Code Coverage]: Microsoft.Bot.Schema.Teams [PR 5664]
  • [Part 6] Increase Microsoft.Bot.Schema.Teams code coverage [PR 5662]
  • [Part 5] Increase Microsoft.Bot.Schema.Teams code coverage [PR 5648]
  • [Part 4] Increase Microsoft.Bot.Schema.Teams code coverage [PR 5646]
  • [Part 3] Increase Microsoft.Bot.Schema.Teams code coverage [PR 5644]
  • [Part 2] Increase Microsoft.Bot.Schema.Teams code coverage [PR 5638]
  • [Part 1] Increase Microsoft.Bot.Schema.Teams code coverage [PR 5573]
  • Update package license handling [PR 5687]
  • Johtaylo/issue5488 [PR 5675]
  • Fix Path for merge tests.schema output directory [PR 5669]
  • add create conversation to CloudAdapter [PR 5562]
  • Fix number input precision issue for large integer numbers [PR 5621]
  • Adds missing required 'user' property to PostMessageAsync method [PR 5665]
  • Added missing Runtime Feature tests [PR 5658]
  • Fix double evaluation and filter sensitive settings [PR 5641]
  • Fix empty request content and add unit tests. [PR 5629]
  • Fix first activity from bot to user has fake replyToId value [PR 5313]
  • fix: use TokenExchangeInvokeRequest [PR 5637]
  • Fix invalid cast exception when sending delay activities through cloud adapter [PR 5617]
  • Updated errpr handling block to return the JsonReaderException message that doesn't return the source json. [PR 5618]
  • Update botbuilder-dotnet-ci-facebook-test.yml for Azure Pipelines [PR 5399]
  • Revert async usage for token refresh [PR 5595]
  • Update Orchestrator Recognizer to fix Linux ONNX runtime issue [PR 5594]
  • Allow back quotes in adaptive expression object and array construction [PR 5588]
  • SDK Adapter components: Consume passed in IConfiguration instead of the one registered in DI [PR 5582]
  • Support object comparison in == [PR 5575]
  • [#3905] Replace AsyncUsageAnalyzers with Microsoft.VisualStudio.Threading [PR 5068]
  • Update telemetry LogPersonalInformation config path for recognizers [PR 5568]
  • bug: Slack Adapter - Prioritize User.id as From.Id [PR 5393]
  • Support timestamp without timezone postfix in getTimeOfDay [PR 5551]
  • Skills: Obsolete SkillHttpClient [PR 5545]
  • SSO + adaptive runtime: Save state before sending OAuthCard to prevent race conditions [PR 5543]
  • Update Adaptive Runtime to add telemetry client to the TurnState [PR 5509]
  • Update coveralls badge [PR 5546]
  • Expose StorageTransferOptions [PR 5315]
  • Apply Expression equal function in LG library [PR 5517]
  • Fix recursive functions error in analyzer [PR 5541]
  • Add null check for From property in CreateReply [PR 5500]
  • Add TeamsSSOTokenExchangeMiddleware tests [PR 5483]
  • add logic to call UserTokenClient when present [PR 5532]
  • Update to ensure ContinueConversationAsync works with an empty AppId [PR 5515]
  • Add Alexa Channel name [PR 5457]
  • Runtime: Enabled and corrected StorageRegistrationTests [PR 5472]
  • Runtime: Allow components and startup overriding IBot and IBotTelemetryClient [PR 5512]
  • [#5302][Slack Adapter] Skill not answering messages to Virtual Assistant/Root Bot connected to Slack [PR 5507]
  • fix: Remove punctuation from Edit Actions title [PR 5496]
  • Added HandledProperty to EmitEvent action [PR 5446]
  • [LG] Improve the performance of parsing long body [PR 5490]
  • Update test.schema to match normalized sort. [PR 5497]