Bot Builder SDK v4.11.0 Release Notes

Release Date: 2020-11-13 // 4 months ago
  • 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.

    • 0️⃣ 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


Previous changes from v4.10

  • 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

    πŸ— Orchestrator: Transformer based solution that runs locally with your bot to dispatch across one or more Bot Builder Skills or LUIS applications or QnA Maker Knowledgebase.

    πŸ— Microsoft.Bot.Builder.Azure.Queues (preview) Enables more easily interacting with Azure Queues and ContinueConversationLater Dialog. (Currently .NET only, coming soon to other languages)

    πŸ— Microsoft.Bot.Builder.Azure.Blobs BlobsStorage and BlobsTranscriptStore implementations replacing AzureBlobStorage and AzureBlobTranscriptStore. This library uses Azure.Storage.Blobs and is a replacement for the older Microsoft.Azure.Storage.Blob used by Microsoft.Bot.Builder.Azure. (Currently .NET only, coming soon to other languages)

    πŸ”„ Changelogs: