Bot Framework SDK 4.8
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 [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]