github microsoft/botbuilder-dotnet v4.10.0
Bot Framework SDK 4.10.0

latest releases: 4.22.3, 4.22.2, 4.22.1...
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 Continued improvements to Microsoft Teams API support
  • Bot Framework CLI Tools Lg added as core plugin, publish preview builds to npm, other improvements
  • Bot Builder Samples Readme updates, CI improvements, new Teams Typescript samples
  • Composer Advancements in Skills support and Cognitive Services integration
  • Web Chat Many Accessibility improvements
  • Emulator Bug fixes and updates

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]

Don't miss a new botbuilder-dotnet release

NewReleases is sending notifications on new releases.