Releases: microsoft/botbuilder-python
Bot Framework SDK for Python 4.14.1
This is a maintenance release to correct an issue with OAuth in a Teams app.
Change Log
#1798 OAuthPrompt was constructing InvokeResponse incorrectly in some cases.
Bot Framework SDK for Python 4.14.0
Welcome to the June 2021 release of the Bot Framework SDK. We are excited to introduce CloudAdapter (#1707) for botbuilder-python. Other new features include Microsoft Teams MeetingStart
and MeetingEnd
events (#1724), Get Meeting Info
(#1704), Adaptive Card
invoke adaptiveCard/action
(#1697), and some bug fixes.
Change log for Python 4.14.0
- Cloud adapter [PR 1707]
- Streaming extensions [PR 986]
- Fixing readme rst [PR 1762]
- Corrected DialogContext.cancel_all_dialogs [PR 1727]
- Turn MemoryScope includesnapshot to false [PR 1747]
- Fixed issue with channel_data being overwritten in create_conversation [PR 1749]
- Added depending on streaming to botbuilder-core [PR 1748]
- Updated aiohttp dependency in botbuilder-integration-aiohttp [PR 1725]
- Corrected bug with serialize attempt on a dict [PR 1726]
- DialogManager logic moved to DialogExtensions [PR 1753]
- support teams meeting start/end events [PR 1724]
- Fix get_skill_conversation_reference in skill_handler [PR 1728]
- add get_meeting_info to TeamsInfo [PR 1704]
- Remove hardcoded InputHint for AttachmentPrompt [PR 1671]
- Add SkillConversationIdFactory to Python [PR 1691]
- Deprecate HealthCheck Activity [PR 1702]
- Changing super() call to self on members added/removed in TeamsActivityHandler [PR 1675]
- Adaptive Card invoke action handler [PR 1697]
- Streaming unit tests [PR 1682]
- C# parity tests for payloads [PR 1677]
- Fix is_skill_claim validation for anonymous authentication [PR 1684]
Bot Framework SDK for Python 4.13.0
April 2021 (version 4.13.0)
Welcome to the April 2021 release of the Bot Framework SDK. In this revision, we included mostly maintance updates like bumping the versions for specific dependencies as adding missing requirements and slight refactors.
General SDK [release notes]
Teams
- Introduction of Single Sign On Middleware for Microsoft Teams
Change log for Python 4.13.0:
- SSO Token Exchange Middleware (#1641) [PR 1642]
- Updates to slack-adapter [PR 1559]
- adding missing requirements in bb-testing [PR 1637]
- Bump aiohttp in /libraries/botbuilder-integration-aiohttp [PR 1552]
- [#1631][BotFrameworkAdapter] process_activity returns HTTP 412 error when exchanging a token [PR 1632]
- Add Azure Queue Storage [PR 1543]
- Add pr style linting [PR 1630]
- Bump aiohttp from 3.6.2 to 3.7.4 in /libraries/botbuilder-adapters-slack [PR 1553]
- updating dependencies [PR 1561]
- Add PromptCultureModels, rework prompt locales [PR 1557]
- Bump y18n from 4.0.0 to 4.0.1 in /libraries/swagger [PR 1612]
- Bump to 4.13.0 [PR 1550]
- Only show "NO MATCH" response button if active learning is active [PR 1579]
- Create SkillClaimsValidation.md [PR 1549]
Bot Framework SDK for Python 4.12.0
March 2021 (version 4.12.0)
Welcome to the March 2021 release of the Bot Framework SDK.
-
Telephony Bot Framework Telephony channel is now available with samples in early preview.
-
Teams New and improved samples, Adaptive Card Tabs, Action.Execute (preview, C#) and Composer support (preview).
-
Cloud Adapter Cloud Adapter (preview 2, C#) has improved platform support with increased functionality.
-
Orchestrator Orchestrator (preview 3) now supports more languages, and documentation has been improved.
-
CLI Bot Framework CLI Tools LUIS applications neural training technology support, and more!
-
Azure Health Bot Microsoft Healthcare Bot service is moving to Azure, further empowering organizations to benefit from Azure’s enhanced tooling, security, and compliance offerings.
-
Power Virtual Agents PVA Bot creation, editing and publishing made easy!
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!
Telephony (preview)
The Telephony channel is a channel in Microsoft Bot Framework that enables a bot to interact with users over the phone. It leverages the power of Microsoft Bot Framework combined with the Azure Communication Services and the Azure Speech Services.
Note: Telephony Channel is currently in Public Preview, available broadly for the US-based Azure subscriptions. Get started building a Telephony Bot today: Botframework-Telephony
Cloud Adapter (C# only, preview 2)
• Platform alignment improved with HttpClientFactory
• User authentication improvements with UserTokenClient
• Streaming protocol support integrated into Cloud Adapter
• TurnContext, TurnState and ConnectorClient object lifetime is now properly handled by the SDK, disposing these objects after they are out of scope.
• Cloud Adapter has been deprecated from WebApi
Microsoft Teams
• Adaptive Card Tabs with samples
• Adaptive Dialog responses with new Teams triggers and Actions (preview), available in the C# and JavaScript SDKs as well as the Composer nightly.
• New and improved samples.
Bot Framework CLI Tools
• Added support for LUIS applications neural training technology.
• Enhancements and fixes to LU Parser to support special characters and name duplication on Intents and features.
• Enable direct version publish in luis:build.
Orchestrator (preview 3)
Orchestrator recognizer has been updated for preview 3 as follows:
• Improved language recognition models and samples
• New multilingual models for New multilingual models for Chinese, French, German, Italian, Portuguese and Spanish.
• Updated CLI with support for dispatch migration scenarios.
• Improved support of Composer scenarios.
• Support for 32bit windows for limited scenarios. For production you must use 64bit.
• Updated documentation
Adaptive Cards Invoke (preview, C# sdk only)
• Support for Adaptive Cards Action.Execute
is now available in the C# sdk.
• See also Universal Bot
Bug fixes and improvements
• Add DialogManager support in python sdk
• Fix DialogManager does not return EoC code when a dialog ends
• Fixes in dotnet streaming library
• Localization fixes and improved support for Composer scenarios
Composer
• Please see the detailed Bot Framework Composer release notes
Azure Health Bot
The Health Bot Service is a cloud platform for developers, built on top of Microsoft Azure and uses Bot Framework under the hood. Health Bot Overview.
Introducing Azure Health Bot—an evolution of Microsoft Healthcare Bot with new functionality
by Lili Cheng Corporate Vice President, Conversational AI
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, Power Virtual Agents support for Teams channel Single Sign-on is available in preview.
PVA Teams SSO—Public Preview
by Cleber Mori Senior Program Manager, Power Virtual Agents
Change log for Python 4.12.0
- Fixes dialog exporting memory module [1539]
- Add TabEntityContext to init.py [1538]
- Update azure blob SDK version [1515]
- Open id metadata cache refresh if key is missing [1487]
- Reduce trace activity in dialogs [1488]
- Adding tab response [1537]
- Adaptive Card Tabs [1486]
- Bump cryptography from 3.2 to 3.3.2 in /libraries/botframework-connector [PR 1511]
- Bump cryptography from 3.2 to 3.3.2 in /libraries/botbuilder-core [PR 1512]
- Bump cryptography from 3.2 to 3.3.2 in /libraries/botbuilder-dialogs [PR 1513]
- DialogContainer.telemetryclient [PR 1523]
- updated twitter account [PR 1518]
- Limiting yarl dependency version to be compatible with python 3.7 (when min version suported >= 3.8 this constraint can be removed) [PR 1507]
- Updated dialog_manager to send EoC code like dialog_extensions. [PR 1504]
- pylance warnings corrections for List arguments [PR 1491]
- [#631][PORT] [Slack Adapters] Add Slack Functional Test [PR 1432]
- DialogManager [PR 1409]
- Adding add-upgrade and remove-upgrade activity types in ActivityHandler [PR 1476]
- (py) Remove comments pertaining to auto-generation in Schema and Connector [PR 1464]
- Updating msal dependency [PR 1451]
- [PORT] Update channel.py to make it clear that Telegram supports card actions [PR 1437]
- ActivityHandler inheriting from Bot [PR 1443]
- [#1218] [PORT] Emit better error messages for all dialogs [PR 1433]
- Add OR Operation to QnAMaker GenerateAnswer for StrictFilter Behavioral Option [PR 1429]
- feat: create parity issue workflow [PR 1439]
- Bump cryptography from 2.8.0 to 3.2 in /libraries/botframework-connector [PR 1424]
- Bump cryptography from 2.8.0 to 3.2 in /libraries/botbuilder-core [PR 1425]
- Bump cryptography from 2.8 to 3.2 in /libraries/botbuilder-dialogs [PR 1426]
- Only reassign waterfall step name only if the step doesn't have a name [PR 1431]
- Version bump to 4.12.0 [PR 1422]
- Issue 1428 fix [[PR 1435]](https://github.com/microsoft/botbuilder-python/pul...
Bot Framework SDK for Python 4.11.0
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.
- 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
- Please see the detailed Bot Framework Composer release notes
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
Change log for Python 4.11.0
- Add conditional on push to coveralls task to avoid forks [PR 1420]
- Update token validation issues [PR 1419]
- Teams: Add on_teams_team_renamed [PR 1418]
- Teams CacheInfo [PR 1417]
- Teams: Get Participant meeting API [PR 1411]
- Skills: support update and delete activities [PR 1413]
- TranscriptLogger should not log continue conversation [PR 1415]
- Teams: Meeting notification [PR 1403]
- Skills: local testing with no appId or password [PR 1406]
- Skills: return ResourceResponse when forwarding activities [PR 1404]
- Teams: add InstallationUpdate sub events [PR 1368]
- Skills: add EndOfConversationCodes to EndOfConversation activity from Skill [PR 1402]
- Skills: do not send typing activity from skills [PR 1399]
- Skills: add tests for SkillHttpClient [PR 1401]
- Skills: skill dialog delete conversation id on EndOfConversation [PR 1395]
- Revert "Fixed Recognizer on empty utterance" [PR 1397]
- Fixes for malformed reference comments [PR 1381]
...
Bot Framework SDK for Python 4.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
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
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
- 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 returnResource 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
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
, andTeamHardDeleted
InstallationUpdate
activity type supportLinkToMessage
added toMessageActionsPayload
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
andBlobsTranscriptStore
implementations replacingAzureBlobStorage
andAzureBlobTranscriptStore
. 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)
Changelog for v4.10.0:
- Add end_on_invalid_message and fix timeout issue [PR 1339]
- Refactored SkillDialog to call ConversationFacotry.CreateConversationId only once [PR 1326]
- Fixes Unauthorized error when calling ContinueConversation [PR 1312]
- Update azure-cosmos to 3.2.0 [PR 1303]
- Create DailyBuildProposal.md [PR 1293]
- SSO + Teams cherry pick from 4.9 [[PR 1286]](https://github.com/microsoft/botbuilder-python...
Bot Framework SDK for Python 4.9
May 2020 (version 4.9.0)
Welcome to the May 2020 release of the Bot Framework SDK. There are a number of updates in this version that we hope you will like; some of the key highlights include:
- Skills - Skills now support adaptive dialogs and all activity types, and have improved support for SSO and OAuth. The v2.1 skill manifest is now GA. We also added Bot Framework Composer support for building and consuming Skills.
- Microsoft Teams - Improvements in Microsoft Teams API support, including support in Java!
- Bot Telemetry - Mapping of Dialogs into Azure AppInsights Page View Events.
- Health Check APIs - Quickly verify a bot is running.
- Adaptive Dialogs - A more flexible, event driven dialog system for implementing multi-turn conversational patterns.
- CLI tools for Adaptive Dialogs - new ability to merge and validate adaptive schema assets.
- Language Generation - Add language and personality responses to your bot conversations.
- Adaptive Expressions - Use bot aware expressions to react to user input and drive bot functionality.
- Authentication Improvements - SSO between Bots and Skills and improvements to X.509 auth.
- Generated Dialogs (Early Preview) - Automatically create robust Bot Framework Composer assets from JSON or JSON Schema that leverage Adaptive Dialogs.
- VS Code debugger for Adaptive Dialogs (Early Preview) - Create & validate .lu and .lg documents as well as debug declaratively defined adaptive dialogs.
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!
Skills
Skills have been updated to work with adaptive dialogs, and both adaptive and traditional dialogs will now accept all types of activities.
The skill manifest schema has been updated to version 2.1. Improvements in this version include the ability to declare & share your language models, and define any type of activity that your skill can receive.
This release also includes authentication improvements with skills, including using SSO with dialogs, and OAuth without needing a magic code in WebChat and DirectLine.
Microsoft Teams
We continue to focus on making sure all the Teams-specific APIs are fully supported across our SDKs. This release brings full support for Microsoft Teams APIs in the preview Java SDK, including samples.
The OnTeamsMemberAdded
event in the activity handler has been updated to use the get single member endpoint under the covers, which should significantly reduce latency and reliability of this event in large teams.
The TeamsChannelAccount
object has been updated to include userRole
(one of owner, member, or guest) and tenantId
(for the user's tenantId).
Bot Telemetry
Bots now capture Page View events, native to Application Insights, whenever a dialog is started. This allows you to use the User Flows dashboard in Application Insights to see how users move through your bot, between dialogs and where they drop out.
Health Check APIs
Support was added for a new invoke named healthCheck
that allows a sender to verify if a bot is responding to requests, and if trust can be established between the sender and the bot. The bot also has the option of overriding the response to add additional health information in the response.
Adaptive Dialogs
We’re also excited to make Adaptive Dialogs generally available in C# and as a preview release in JavaScript!
Adaptive Dialogs, which underpin the dialog design and management authoring features found in Bot Framework Composer, enable developers to dynamically update conversation flow based on context and events. This is especially useful when dealing with more sophisticated conversation requirements, such as context switches and interruptions. Bot Framework Skills can now also leverage Adaptive Dialogs.
Adaptive Dialogs also now support Telemetry. Data from Adaptive Dialogs, including triggers, actions and recognizers now flow into your Azure Application Insights instance.
CLI tools for Adaptive Dialogs
CLI tools for Adaptive Dialogs, Language Generation, QnaMaker and Luis Cross-train - new ability to merge and validate adaptive schema assets, augment qna and lu files, create/ update/ replace/ train/ publish LUIS and or QnA maker application and Language Generation templates manipulation.
New CLI Tools were added for management of Adaptive Dialogs.
- bf-dialog supports merging dialog schema files and verify file format correctness.
- bf-luis Adds commands to augment lu files and create/ update/ replace/ train/ publish LUIS
- bf-qnamaker Adds commands to augment qna files and create/ update/ replace/ train/ publish QnAMaker
- bf-lg Parse, collate, expand and translate lg files.
Language Generation
LG is Generally Available (GA) on both the C# and JS Platforms.
Language Generation (LG) enables you to define multiple variations of a phrase, execute simple expressions based on context, and refer to conversational memory. At the core of language generation lies template expansion and entity substitution. You can provide one-off variation for expansion as well as conditionally expanding a template. The output from language generation can be a simple text string or multi-line response or a complex object payload that a layer above language generation will use to construct a complete activity. The Bot Framework Composer natively supports language generation to produce output activities using the LG templating system.
You can use Language Generation to:
- Achieve a coherent personality, tone of voice for your bot.
- Separate business logic from presentation.
- Include variations and sophisticated composition for any of your bot's replies.
- Construct cards, suggested actions and attachments using a structured response template.
Language Generation is achieved through:
- A markdown based .lg file that contains the templates and their composition.
Full access to the current bot's memory so you can data bind language to the state of memory. - Parser and runtime libraries that help achieve runtime resolution.
Adaptive Expressions
Adaptive Expressions are Generally Available (GA) on both the C# and JS Platforms.
Bots use expressions to evaluate the outcome of a condition based on runtime information available in memory to the dialog or the Language Generation system. These evaluations determine how your bot reacts to user input and other factors that impact bot functionality.
Adaptive expressions were created to address this core need as well as provide an adaptive expression language that can used with the Bot Framework SDK and other conversational AI components, like Bot Framework Composer, Language Generation, Adaptive dialogs, and Adaptive Cards.
An adaptive expression can contain one or more explicit values, pre-built functions or [custom functions. Consumers of adaptive expressions also have the capability to inject additional supported functions. For example, all Language Generation templates are available as functions as well as additional functions that are only available within that component's use of adaptive expressions.
Authentication Improvements
We added support for single sign-on while using Expect Replies. This applies to SSO performed between a pair of bots: host and a skill.
For Bot Identification we've added the ability to specify sendx5c
parameter for certificate authentication. This feature was requested by customers and allows for more flexibility when using cert auth.
Additional Sovereign Clouds are supported.
Generated Dialogs - Early Preview
The Bot Framework has a rich collection of conversational building blocks, but
creating a bot that feels natural to converse with requires understanding and
coordinating across language understanding, language generation and dialog
management. To simplify this process and capture best practices, we've created
the bf-generate plugin for the BotFramework CLI tool. The
generated dialog...
Bot Framework SDK for Python 4.8
What's in this release?
SSO
- SSO support with AAD and WebChat (Docs WIP)(Sample)
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
- Handing off to a skill as part of a dialog
Teams
Added support for a new get single member endpoint, and expanded support for the get paged members endpoint.
Changelog for v4.8.0:
Skills changes
- Support originating audience for skills conversations [PR 821]
- Added DeliveryMode expectReplies [PR 812]
and [PR 838] - Add ephemeral to DeliveryModes (parity) [PR 847]
- continue conversation fix for skills [PR 683]
- continue_conversation in custom adapter [PR 824]
Teams changes
- Fix teams connector client creation credential retrieval bug [PR 844]
- Get Teams member updates [PR 839]
- Add Teams member_count and channel_count to TeamDetails [PR 837]
- Teams helper unit tests [PR 786]
- Consolidate Teams serialization helpers [PR 738]
- Adding new scenario for updated TeamsInfo helper [PR 654]
- Adding helper for starting thread in Teams [PR 653]
Auth changes
- Refactor BotFrameworkAdapter Auth, add support for proactively messaging [PR 801]
- Additional auth flow [PR 766]
- AppCredentials object model and update to MSAL [PR 732]
Misc framework changes
- Add botbuilder-integration-aiohttp
- Added botbuilder-adapters-slack [PR 688]
- Add FindChoiceOptions for recognize_numbers and recognize_ordinals [PR 691]
- Special chars in bot_name cause remove_mention_text to fail [PR 689]
- Appinsights telemetry for aiohttp [PR 634]
- Move django import [PR 612]
Build, test, and doc changes
- Now testing against Python 3.6, 3.7 and 3.8 [PR 813]
- bug: move main.yml to proper folder [PR 808]
- Add issue autotagging [PR 807]
- Update ci-pr-pipeline.yml for using Python 3.6, 3.7, and 3.8 [PR 778]
- 3.6 tests failing due to remove_mention_text [PR 747]
- Fixes failing waterfall tests on Python 3.8 [PR 744]
- aiohttp appinsights consistent package versions [PR 741]
- API ref docs [PR 723] and [PR 716] and [PR 701] and [PR 700] and [PR 690] and [PR 674] and [PR 657]
- Updated Whats New link [PR 703]
- Sets version on Python libs [PR 680]
- Bumping versions for samples dev environment [PR 652]
- Axsuarez/update badge [PR 645]
- Azure pipelines YAML pipeline [PR 643]
- Update README.rst [PR 608]
Bot Framework SDK for Python v4.7.1
This release includes a fix for #596
Bot Framework SDK for Python v4.7.0
v4.7.0
Welcome to the 4.7.0 release of the Bot Framework SDK for Python!
Bot Framework SDK for Python (GA)
We are happy to announce the Bot Framework Python SDK is generally available and no longer a preview release.
Bot Framework SDK for Microsoft Teams (GA)
The Bot Framework SDK v4.7.0 release fully integrates support for building Teams bots allowing users to use them in channel or group chat conversations. By adding a bot to a team or chat, all users of the conversation can take advantage of the bot functionality right in the conversation.
Changelog for v4.7.0:
- Teams connector client creation cleanup [PR 536]
- Cherry-picking helpers into master [PR 535]
- Update comments in teams_helper [PR 531]
- adding teams to connector [PR 528]
- Adding Teams link to botbuilder [PR 523]
- exporting teams from botbuilder schema (#520) [PR 521]
- [Teams] Fix teams verify state handler in OAuthPrompt [PR 518]
- Updated Classifiers tags in setup.py (#516) [PR 517]
- [Teams] Draft action based fetch task scenario [PR 512]
- Axsuarez/integration and skills tests [PR 511]
- cleaning up names [PR 510]
- adding search extension scenario [PR 509]
- [Teams] add task module fetch scenario [PR 508]
- Josh/link unfurl [PR 507]
- Removing samples and generator from Python repo [PR 506]
- Revert "Functional Test" [PR 505]
- removing testing method [PR 504]
- [Teams] action based messaging extension scenario [PR 503]
- [Teams] Invoke Response serialization [PR 502]
- JJ/echo aiohttp [PR 501]
- Moved BFHtppClient and ChannelServiceHandler [PR 500]
- adding return types [PR 499]
- Axsuarez/oauth prompt skills [PR 498]
- TeamChannelAccount serialization [PR 497]
- updating create conversation to take conversation params [PR 496]
- Updating members added to cast to teams channel account [PR 495]
- Axsuarez/skills layer [PR 492]
- Storage attr fix [PR 491]
- updating conversation params to parity [PR 490]
- Corrected type hint on AttachmentPrompt init [PR 489]
- Fixing mention stripping and tests [PR 488]
- Add keysuffix and compat mode to cosmosdbpartitionedstorage [PR 487]
- Remove payments - Parity C#/JS [PR 486]
- [Teams] Fix async await issues in teams_info [PR 485]
- [QnA Maker] IsTest and Ranker type support for QnAMaker.GetAnswer [PR 477]
- fixing bug in jwt token extrator [PR 475]
- Adding deserializer helper [PR 472]
- Adding Teams extension methods + tests [PR 470]
- Cleaning up deserialization, models [PR 469]
- Find.find_choices would loop forever if Choice.synonyms was specified. [PR 468]
- Unit tests & tightening up teams activity handler object types [PR 467]
- removing activity from method names [PR 466]
- Added TeamsFileBot Scenario [PR 465]
- Axsuarez/protocol test project [PR 464]
- Corrected serialize misspelling [PR 463]
- TeamsInfo and TeamsConnectorClient updates [PR 462]
- [Teams] Adding generated classes [PR 460]
- Cosmos partitioned - Parity with C# and Node | Also storage base tests [PR 459]
- Merging Teams in so far [PR 454]
- added ChannelProvider [PR 451]
- Fix compute_hash [PR 450]
- added claims validator [PR 447]
- Functional Test [PR 439]
- Pinned pytest version [PR 438]
- Added 42.scaleout [PR 435]
- Axsuarez/turn context send activities [PR 433]
- Added 40.timex resolution [PR 430]
- Added 11.qnamaker [PR 429]
- pylint and black changes to samples [PR 427]
- Fixes #425: Using incorrect BotState [PR 426]
- Added 23.facebook events [PR 424]
- Added 17.multilingual-bot [PR 422]
- Added 15.handling attachments [PR 421]
- Auth changes for skills [PR 420]
- Added 18.bot-authentication [PR 419]
- [Deployment] Modify echo-bot to work out of the box w/ new ARM template [PR 415]
- Added 16.proactive-messages [PR 413]
- Pinned dependencies in all libraries [PR 412]
- Added 19.custom-dialogs [PR 411]
- Refactored to unbound on_error methods when accessing outer app.py va [PR 385]
- Added 43.complex-dialog [PR 384]
- ChoiceFactory.for_channel was erroneously returning a List instead of [PR 383]
- Added 47.inspection [PR 381]
- Added 44.prompt-users-for-input [PR 380]
- Session injection supported [PR 378]
- Update black formatting [PR 377]
- Standardized app.py and on_error messages in original samples. [PR 376]
- Core bot generator [PR 375]
- Dockerfile for Flask bot [PR 374]
- Fix ChoicePrompt ListStyle.none when set via PromptOptions [PR 373]
- Added 08.suggested-actions [PR 372]
- Axsuarez/fix appinsights setup [PR 371]
- Added 02.echo-bot [PR 369]
- Added 05.multi-turn-prompt [PR 368]
- Added 03.welcome-user sample [PR 365]
- 4.5b5 [PR 364]
- [QnAMaker] Active learning low score variation multiplier value [PR 361]
- Added trace activity helper in turn context [[PR 359]...