botbuilder-js

Welcome to the Bot Framework SDK for JavaScript repository, which is the home for the libraries and packages that enable developers to build sophisticated bot applications using JavaScript.

MIT License

Downloads
3.7M
Stars
680
Committers
153

Bot releases are hidden (Show)

botbuilder-js - Bot Framework SDK 4.14.0

Published by EricDahlvang over 3 years ago

Welcome to the June 2021 release of the Bot Framework SDK. A few notable items include the introduction of the Cloud Adapter (#3790) and supporting authentication types (#3820, #3534), as well as several Teams features (#3757, #3738). See below for the full set of changes.

Changelog for Javascript 4.14.0

  • feat: cherrypick orchestrator fix, runtime docs [PR 3845]
  • port: runtime docs [PR 3838]
  • port: orchestrator package changes [PR 3824]
  • chore: tests for cloud adapter [PR 3833]
  • fix: enable TeamsInfo methods to work with CloudAdapter [PR 3830]
  • chore: remove public access modifier in botframework-streaming [PR 3794]
  • port: update TeamsInfo to support CloudAdapter [PR 3821]
  • chore: use BFAuthentication for BFClient in runtime, fix comparison bug [PR 3820]
  • fix: Update OrchestratorRecognizer to 4.14.0 orchestrator-core [PR 3818]
  • port: conversation ID header [PR 3815]
  • fix: add sortNumber test case [PR 3807]
  • port: allowed caller runtime configuration [PR 3816]
  • feat: create conversation [PR 3805]
  • fix: OAuth prompt should store in turn.token, not dialog.token [PR 3803]
  • feat: AdaptiveExpressions: Allow 0 to convert as false bool [PR 3801]
  • fix: handle reactions added/removed separately [PR 3796]
  • feat: cloud adapter [PR 3790]
  • chore: add missing packages to consumer test [PR 3737]
  • fix: warning on component load failure [PR 3780]
  • fix: first activity from bot to user has fake replyToId value [PR 3779]
  • fix: return full response w/ adaptiveCard invoke action [PR 3778]
  • feat: add support for Teams meeting start/end events [PR 3757]
  • port: turn memory scope in snapshot [PR 3775]
  • port: Support iteration for object in ForEach action [PR 3772]
  • fix: Maxturn count increase while interruption in composer prompts [PR 3774]
  • README for Orchestrator package library folder [PR 3754]
  • fix: make enum lookup case insensitive [PR 3743]
  • port: Fix double evaluation and filter sensitive settings [PR 3740]
  • feat: add getMeetingInfo to TeamsInfo [PR 3738]
  • fix: adjust adaptiveCard/action handling [PR 3729]
  • chore: remove unnecessary public access modifier [PR 3731]
  • feat: Support 'adaptiveCard/action' in Teams handler [PR 3716]
  • chore: bump streaming bot deps [PR 3721]
  • chore: add link/unlink scripts [PR 3720]
  • bump chromedriver to ^90.0.1 in browser-functional-tests [PR 3719]
  • feat: allow wildcard in mock paths [PR 3713]
  • fix: ignore node_modules declarative assets [PR 3709]
  • fix: clean command should ignore missing [PR 3708]
  • bump: adal-node to 0.2.2 [PR 3705]
  • port: allow LUIS recognize to be called without turnContext [PR 3690]
  • chore: add test:compat to CI tests [PR 3691]
  • fix: named pipe issues [PR 3627]
  • Allow back quotes in adaptive expression object and array construction [PR 3700]
  • fix: two typos [PR 3696]
  • fix: more permissive type assertions [PR 3692]
  • port: Support object comparison in == [PR 3672]
  • port: add handledProperty to emitEvent [PR 3686]
  • fix: auto-disable telemetry for schema tests [PR 3688]
  • feat: configure static directory, default wwwroot [PR 3682]
  • fix: json parse in azure function skill endpoint [PR 3679]
  • fix: several skills-related runtime issues [PR 3675]
  • fix: mark azure types deprecated [PR 3666]
  • port: telemetry pii settings path [PR 3665]
  • fix: add msbot keywords to component packages [PR 3657]
  • chore: Replace catch with assert.rejects|throws in tests (part 3 of 3) [PR 3661]
  • fix: application insights trackEvent invocation [PR 3651]
  • fix: config file overrides [PR 3660]
  • fix: add @types/express [PR 3652]
  • chore: Replace catch with assert.rejects|throws in tests (part 2) [PR 3653]
  • Support timestamp without timezone postfix in getTimeOfDay [PR 3639]
  • fix: Fix subArray and substring while index equals the length of array/string [PR 3637]
  • fix: update readme packages, formatting [PR 3650]
  • bump: runtypes [PR 3648]
  • fix lint errors in bf-connector [PR 3646]
  • fix: conflict -> precondition failed [PR 3645]
botbuilder-js - Bot Framework SDK 4.13.1

Published by EricDahlvang over 3 years ago

April 2021 (version 4.13.1)

Welcome to the April 2021 release of the Bot Framework SDK. The release introduces several new preview packages that support writing Javascript Bots inside Botframework Composer. Along with this, several bug fixes and usability improvements are included that should make writing Bots in Javascript even better.

General release notes [Draft]

Change log for Javascript 4.13.1:

  • port: save conversation state before sending card [PR 3640]
  • fix: remove preview tag from botbuilder-ai-orchestrator package [PR 3629]
  • bump: orchestrator-core package to 4.13.1 [PR 3612]
  • port: settings memory scope [PR 3549]
  • fix: export default orchestrator bot component [PR 3599]
  • feat: export ai components for runtime consumption [PR 3586]
  • cherrypick: several runtime fixes, teams sso middleware [PR 3576]
  • fix: merge generated config into runtime config [PR 3561]
  • cherrypick: remove teams, app insights connection string [PR 3555]
  • port: several parity issues [PR 3540
  • port: resume dialog fix from .net [PR 3525]
  • cherrypick: small runtime tweaks [PR 3522]
  • cherrypick: runtypes lock and set speak middleware fixes [PR 3511]
  • fix: resolve bad runtime adapter/skill auth configuration (#3499) [PR 3504]
  • fix: async error handling for request handlers (#3492) [PR 3495]
  • cherrypick: semver, qna fixes [PR 3491]
  • bump: 4.13 [PR 3487]
  • port: Support null for built-in function empty [PR 3484]
  • port: Add support of Expressions in BeginDialog Actions [PR 3460]
  • remove HealthCheck code for #3374 [PR 3482]
  • feat: add suggestionsActivityFactory & tests, fix QnAMakerDialog bugs [PR 3475]
  • fix: rename runtime packages [PR 3481]
  • port: component registration -> bot components [PR 3471]
  • Update package to point at rc [PR 3473]
  • port: refactor plugin interface to BotComponent class [PR 3454]
  • fix: wrap error message in Error [PR 3469]
  • OrchestratorAdaptiveRecognizer -> OrchestratorRecognizer [PR 3468]
  • Enable Orchestrator entity recognition when entity model is provided [PR 3441]
  • Allow spaces in merge path [PR 3463]
  • Replace done w/ async part 5 (final PR for this) [PR 3436]
  • port: Assign a default TemplateEngineLanguageGenerator to Generator [PR 3444]
  • port: Change ChoiceSet to support LG [PR 3443]
  • port: adaptive card invoke [PR 3327]
  • fix: make useNamedPipe idempotent if already connected to pipeName [PR 3450]
  • feat: port several runtime changes [PR 3446]
  • port: add speach middleware to runtime [PR 3435]
  • port: do nothing when activity is null [PR 3421]
  • port: move classes/helpers out of runtime [PR 3430]
  • Replace done w/ async part 4 [PR 3427]
  • Replace done w/ async part 3 [PR 3422]
  • fixes: BotFrameworkAdapter.isStreamingConnectionOpen & retrieving BotTelemetryClient from TurnContext.turnState [PR 3428]
  • adaptive-expressions' refinements [PR 3410]
  • port: Check null for input prompt [PR 3425]
  • port: enable LG syntax in OAuthInput [PR 3409]
  • feat: botframework http adapter [PR 3375]
  • Replace done w/ async part 2 [PR 3416]
  • Replace done w/ async in tests part 1 [PR 3413]
  • fix: runtime parity [PR 3412]
  • feat: config argv source, runtime port handling [PR 3406]
  • Add dialog:merge tests [PR 3404]
  • fix: bump chromedriver to ^89.0.0 in browser-functional-tests [PR 3408]
  • refactor DialogHelper & DialogManager to follow .NET impl [PR 3401]
  • port: Better binary data support in Expression/LG functions [PR 3390]
  • fix: bump xmldom [PR 3402]
  • feat: dialogs component registration [PR 3380]
  • refine error message [PR 3387]
  • fix: add messagingEndpointPath to Options in restify integration lib [PR 3353]
  • Add logPersonalInformation to recognizers [PR 3296]
  • feat: added callback to TestFlow & ported json load tests [PR 3351]
  • [Port] Localization: fix bugs around inconsistent locale + first step to centralize locale resolution [PR 3340]
  • Add startTest() to all TestFlows [PR 3379]
  • feat: add botbuilder-runtime-integration-express [PR 3354]
  • port: SendHandoffActivity action [PR 3304]
  • feat: language generation component registration [PR 3370]
  • Catch premature dialog endings [PR 3361]
  • fix: better version metadata [PR 3364]
  • fix: eslint settings, lint errors [PR 3348]
  • fix: include conversation ID in telemetry events [PR 3347]
  • support float priority [PR 3362]
  • fix: trigger condition cache expressions correctly [PR 3357]
  • feat: core runtime [PR 3336]
  • fix: QnAMakerDialog to handle interuption scenarios [PR 3346]
  • Upgrade package parse-url to fix the security issue [PR 3337]
  • fix: filter out undefined regex match groups [PR 3335]
  • removed jsonpath [PR 3331]
  • [PORT]Add 'any' and 'all' prebuilt function [PR 3325]
  • fix: 4.12.* -> 4.13.* for preview builds [PR 3326]
botbuilder-js - Bot Framework SDK 4.12.0

Published by EricDahlvang over 3 years ago

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 Javascript 4.12.0:

  • Upgrade package parse-url to fix the security issue [PR 3337]
  • removed jsonpath [PR 3331]
  • hotfix: add botbuilder-stdlib package.json reference [Commit 9c743d9f]
  • hotfix: version number patterns [Commit 21510a0c]
  • fix: bump orchestrator-core to 4.12.0-preview [PR 3319]
  • fix: replace execute with wsrun package [PR 3317]
  • hotfix: --noPrivate instead of --no-private [Commit 9864ea7e]
  • Add Teams Tabs adaptive [PR 3309]
  • Updated twitter account name [PR 3300]
  • fix: support null memory values [PR 3290]
  • fix: add eslint-plugin-import [PR 3293]
  • fix: limit logging in github tests [PR 3291]
  • add --no-flat flag to browserify script in AEL [PR 3292]
  • feat: Added GetConversationReference/ContinueConversation actions [PR 3283]
  • port: add action policies to .schema [PR 3287]
  • port: remove trust service url references [PR 3285]
  • add stringOrValue function [PR 3282]
  • feat: LuisAdaptiveRecognizer and test mocks [PR 3275]
  • Add properties property for Template class [PR 3272]
  • fix: correct QnAMaker response types and expose error from server [PR 3279]
  • feat: adaptive dialog functions [PR 3250]
  • feat: Mock QnAMaker via http request mocks [PR 3278]
  • [PORT]Use Number.Epsilon for equal check in expression [PR 3267]
  • port dotnet 4966 PR [PR 3277]
  • fix: luis telemetry test typos [PR 3245]
  • Updated dialogManager to send EoC code like dialogHelper [PR 3270]
  • [PORT]Add test for NumericEvaluator [PR 3262]
  • Teams Adaptive Card Tabs [PR 3224]
  • change to locale string in the string function [PR 3249]
  • mark generated files [PR 3257]
  • Orchestrator Recognizer: Rename misleading parameter names [PR 3251]
  • Fix getting token using client certificate [PR 3247]
  • fix: update access modifiers in QnAMakerDialog [PR 3230]
  • fix createHandoffEvent activity.type & cleanup [PR 3243]
  • fix: port Luis intent2 properties from dotnet [PR 3234]
  • fix: botbuilder-ai eslint warnings and errors [PR 3225]
  • feat: settings mock [PR 3221]
  • port action uischema from dotnet repo [PR 3239]
  • add abs and sqrt built-in function [PR 3241]
  • fix: port oauth input isMessage filters [PR 3233]
  • feat: cyclical dialog tests [PR 3232]
  • tinyify adaptive-expressions browser.js [PR 3222]
  • Add Teams Adaptive Triggers and Actions [PR 3182]
  • fix: unused eslint rule [PR 3219]
  • fix: exec cmd cleanup, simplification, colors [PR 3217]
  • feat: http request mock [PR 3201]
  • Add locale input support for datetime and string pre-built functions [PR 3162]
  • Replace Moment.js with Day.js [PR 3200]
  • Update package.json [PR 3205]
  • make bigint more applicability [PR 3197]
  • Customize inputhint of prompt property [PR 3196]
  • fix: null/undefined is not an object [PR 3190]
  • Ensure UserActivity activities inherit from set activity [PR 3187]
  • Handle add-upgrade and remove-upgrade InstallationUpdate activities [PR 3178]
  • feat: overhaul connector tests [PR 3138]
  • fix: bump ms-rest-js for axios version bump [PR 3183]
  • fix MemoryAssertions [PR 3180]
  • fix: remove var, add lint rule [PR 3179]
  • Fix Cosmos nesting problem [PR 3175]
  • (js) Remove comments pertaining to auto-generation in Schema and Connector [PR 3177]
  • fix: axios dependeabot alert [PR 3172]
  • feat: DialogInspector and new test actions [PR 3168]
  • fix: tests for BeginSkill with middlewares [PR 3167]
  • added package 'uuid' [PR 3166]
  • fix: port throw meaningful exception [PR 3163]
  • feat: replaced entityRecognizers with externalEntityRecognizer in OrchestratorAdaptiveRecognizer [PR 3151]
  • Azure queues and ContinueConversationLater/OnContinueConversation [PR 3083]
  • fix: port schema example changes [PR 3154]
  • fix: port skill claims how-to doc [PR 3155]
  • fix: plumb http agent into documentdb client [PR 3139]
  • fix: clean up codeowners file [PR 3148]
  • fix: port LogAction change [PR 3146]
  • feat: cycle references support [PR 3141]
  • change default format in ConvertFromUtc [PR 3094]
  • New action: ThrowException [PR 3081]
  • fix: port uischema for OnChooseEntity [PR 3137]
  • Allow resource explorer to accept the set of declarative type registrations [PR 3123]
  • Surface LG CacheScope out in LG file options [PR 3124]
  • [PORT] Update channel.ts to make it clear that Telegram supports card actions [PR 3120]
  • add tags to browser-tests RG [PR 3131]
  • fix: add ExemptFromDailyDRIReport to parity issues [PR 3130]
  • fix: reconcile drift in adaptive schema files [PR 3099]
  • Register container dialogs in DialogManager [PR 3105]
  • Make entity recognizers to be simple Recognizer [PR 3097]
  • fix: use matrix for operating system [PR 3125]
  • feat: botbuilder stdlib [PR 3066]
  • Add xml And xPath prebuilt function [PR 3093]
  • fix: enable overriding AttachmentInput [PR 3122]
  • bump devDepdency chromedriver to 87.x [PR 3121]
  • fixed timeout in OAuthInput [PR 3112]
  • fix: add "needs-triage" label to parity issues [PR 3111]
  • fix: parity issue template [PR 3104]
  • feat: bump moment-related dependencies [PR 3102]
  • feat: create parity issue workflow [PR 3080]
  • feat: use fork of downlevel-dts [PR 3078]
  • Fix typo in botframework-connector README [PR 3095]
  • added OnInstallationUpdateActivity [PR 3082]
  • Revert "feat: immediate accept (#2950)" [PR 3092]
  • fix: adaptive-expressions-ie11 webpack config [PR 3090]
  • fix: support cosmos token provider option [PR 3086]
  • add terser-webpack-plugin to adaptive-expressions-ie11 [PR 3068]
  • [PORT]Fix Random thread safety and control random seed to improve testability [PR 3061]
  • Compute LG SourceRange based on content instead of parsed token [PR 3077]
  • Grammatical typo [PR 3069]
  • bug: Fix OrchestratorRecognizer null checks [PR 3074]
  • minor documentation update to OrchestratorRecognizer [PR 3067]
  • fix: use parameters.isGroup instead of false [PR 3059]
  • feat: immediate accept [PR 2950]
  • Fix AnalyzeDepsJS.ps1 [PR 3065]
  • ci: gh actions cleanup and coveralls [PR 3064]
  • Adaptive TestRunner refactoring [PR 3055]
  • add eol builtin function [PR 3062]
  • fix: consistent user-agent handling [PR 3060]
  • monorepo: ci, lint, package.json overhaul [PR 3058]
  • Fix function dateReadBack bug [PR 3054]
  • Support multi-line expression in Object/Array definition [PR 3052]
  • fix: add repoutils workflow script to glob pattern [PR 3057]
  • fix: add tests for repo utils [PR 3056]
  • fix: optimize the code format of Expression and LG [PR 3028]
  • fix: use path.posix.join for globs [PR 3051]
  • deps: upgrade to typescript 4.x [PR 2990]
  • fix: small execute script tweaks [PR 3046]
  • monorepo: replace lerna exec w/ repo utils script [PR 3045]
  • Fix bug in Error when resource not found [PR 3001]
  • fix: fs/promises not available in node 12.x [PR 3015]
  • monorepo: overhaul lerna/yarn/repo tools [PR 2984]
  • Fix a LG bug with a corner case in multiline scenario [PR 3004]
  • [PORT] Port enhancements to take/skip/resolve/compare functions [PR 2991]
  • [PORT] Fully respect the original input in a string interpolation context [PR 2992]
  • Cached lgm initialization in lg extension [PR 2989]
  • Add schemas from C# to packages. [PR 2986]
  • fix: turnContext updateActivity signature [PR 2968]
  • port: fix error caused by backtick in stringExpression and valueExpression (#2983) [PR 2985]
  • cleanup: middleware handling [PR 2951]
  • Change to vmImage: 'ubuntu-18.04' [PR 2980]
  • Test consumer in strict mode [PR 2979]
  • Move jsonwebtoken to deps [PR 2976]
  • Fix QnaMakerDialog constructor [PR 2977]
  • Fix issues w/ ExpectReplies, invoke in SkillDialog [PR 2966]
  • ci: run consumer test as GH action [PR 2965]
  • Add 4.11 branch to eslint GH action [PR 2963]
  • fix: run consumer test in CI [PR 2956]
  • Clean up browserify use [PR 2957]
  • fix: add adaptive-expressions-ie11 to lerna.json [PR 2958]
botbuilder-js - Bot Framework SDK 4.11.0

Published by cleemullins almost 4 years 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.

  • 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

Change log for Javascript 4.11.0

  • Fix: add adaptive-expressions-ie11 to lerna.json [PR 2960]
  • Publish umd bundle to be used as script tag for expressions library [PR 2940]
  • Use QnAMakerOptions, Telemetry, and logPersonalInformation flag in QnAMakerDialog [PR 2939]
  • Revert "skip OrchestratorAdaptiveRecognizer tests (#2946)" [PR 2947]
  • Browserify botframework-streaming [PR 2942]
  • Fix fetch in token server used in E2E Streaming Test [PR 2944]
  • Update issuers [PR 2949]
  • Add trace activity-buffering logic when DeliveryMode is "expectReplies" [PR 2738]
  • Revert "Change vmImage to ubuntu for all JS pipelines (#2931)" [PR 2948]
  • Skip OrchestratorAdaptiveRecognizer tests [PR 2946]
  • Documentation updates [PR 2941]
  • Fix locale determination in confirm/choice prompts/inputs [PR 2534]
  • Remove trusted URL logic [PR 2938]
  • New botbuilder-azure-blobs package [PR 2923]
  • Skills: support update and delete activities [PR 2912]
  • Remove unnecessary verbose trace logging [PR 2936]
  • Teams: Get Participant meeting API [PR 2884]
  • Skills: local testing with no appId or password [PR 2909]
  • Move QnAMaker/Luis components into botbuilder-ai [PR 2235]
  • Fix "turn.recognized" does not include entities with "None" intent in Cross-Trained Recognizer Set [PR 2790]
  • Ignore the null or empty result of the OutputFormat in TextInput [PR 2922]
  • Make language policy in MultiLanguageRecognizer align with the policy in UseLanguagePolicy [PR 2890]
  • Change vmImage to ubuntu for all JS pipelines [PR 2931]
  • DialogContextMemoryScope [PR 2895]
  • Add missing documentation for botbuilder-dialogs-adaptive conditions folder 1/2 [PR 2928]
  • Replace multiple npm packs with one lerna exec --no-private npm pack [PR 2924]
  • Make adaptive expression library compatible with IE [PR 2906]
  • Add missing documentation for botbuilder-dialogs-adaptive converters/expressions/generators/luis/selectors folders [PR 2857]
  • Fall back to defaultLocale if locale is not found [PR 2914]
  • Filter continueConversation events when logging [PR 2903]
  • Pass Locale info from Activity to Adaptive-Expression and support locale in formatNumber prebuilt functions [PR 2692]
  • Add mising documentation for botbuilder-testing [PR 2920]
  • Throw exception when circular reference is detected in LG imports [PR 2913]
  • Add missing documentation for botbuilder-ai-orchestrator [PR 2921]
  • Add missing documentation for botbuilder/skills [PR 2818]
  • Add missing documentation for botbuilder [PR 2819]
  • Add missing documentation for botbuilder-lg files [PR 2830]
  • Add missing documentation for botframework-streaming websocket and payloads folders [PR 2825]
  • Teams: CacheInfo [PR 2910]
  • Add missing documentation for adaptive-expressions/converters [PR 2854]
  • Add missing documentation for adaptive-expressions/builtinFuntions files 2/10 [PR 2842]
  • Add missing documentation for botbuilder-dialogs-declarative files [PR 2837]
  • Add missing documentation for botbuilder-core files [PR 2832]
  • Add missing documentation for adaptive-expressions root files [PR 2856]
  • Add missing documentation for botbuilder-dialogs/Root [PR 2820]
  • Add missing documentation for botbuilder-dialogs/choices & /prompts [PR 2821]
  • Add missing documentation for botbuilder-dialogs/memory [PR 2824]
  • Add missing documentation for botbuilder-dialogs/memory/pathResolver [PR 2823]
  • Add missing documentation for botframework-streaming [PR 2826]
  • Add missing documentation for botframework-connector [PR 2827]
  • Add missing documentation for botbuilder-dialogs/memory/scopes [PR 2822]
  • Add missing documentation for botbuilder-lg root files [PR 2828]
  • Add missing documentation for botbuilder-dialogs-adaptive root [PR 2852]
  • Add missing documentation for botframework-config [PR 2829]
  • Add missing documentation for botbuilder-dialogs-adaptive entityRecognizers folder [PR 2915]
  • Teams: TeamsActivityHandler override comments [PR 2907]
  • Create yaml version of daily JS build [PR 2893]
  • Add missing documentation for botbuilder-azure [PR 2817]
  • Add missing documentation for adaptive-expressions/builtinFuntions files 1/10 [PR 2843]
  • Add missing documentation for botbuilder-ai [PR 2816]
  • Add missing documentation for adaptive-expressions/builtinFuntions files 3/10 [PR 2844]
  • Add missing documentation for adaptive-expressions/builtinFuntions files 4/10 [PR 2845]
  • Add missing documentation for adaptive-expressions/builtinFuntions files 5/10 [PR 2846]
  • Add missing documentation for adaptive-expressions/builtinFuntions files 6/10 [PR 2847]
  • Add missing documentation for adaptive-expressions/builtinFuntions files 7/10 [PR 2848]
  • Add missing documentation for adaptive-expressions/builtinFuntions files 8/10 [PR 2849]
  • Add missing documentation for adaptive-expressions/builtinFuntions files 9/10 [PR 2850]
  • Add missing documentation for adaptive-expressions/builtinFuntions files 10/10 [PR 2851]
  • Add missing documentation for adaptive-expressions/expressionProperties [PR 2855]
  • Add missing documentation for teams-scenarios root [PR 2839]
  • Add missing documentation for teams-scenarios files [PR 2841]
  • Add missing documentation for botbuilder-applicationinsights files [PR 2838]
  • Added useBotState() [PR 2504]
  • Fix formatDateTime function with "dd/MM/yyy" produces wrong results [PR 2889]
  • Adaptive objects initialization refactoring [PR 2873]
  • Recognizers should not return intents if utterance is empty [PR 2896]
  • Adjusted override/callback docstrings [PR 2902]
  • Add conversation parameters to createConversation [PR 2899]
  • Audit package.json "files" entries [PR 2886]
  • Add libraries/README.md [PR 2900]
  • Allow interrruptions in BeginSkill [PR 2771]
  • Fix signature of LanguageGenerator base class [PR 2881]
  • Add ChannelData checks in TelemetryLoggerMiddleware (#2781) [PR 2874]
  • Bump @azure/ms-rest-js to 1.9.0 [PR 2891]
  • Add reverse prebuilt function [PR 2887]
  • Fix bug in get conversation members action [PR 2885]
  • eslint --fix on adaptive-expressions again [PR 2883]
  • eslint --fix for botframework* [PR 2878]
  • Publish lib/src only botbuilder-adaptive-dialogs [PR 2880]
  • JoinOperator -> joinOperator [PR 2870]
  • LG: Redo the default fallback of namespace [PR 2882]
  • eslint --fix botbuilder-testing [PR 2876]
  • eslint --fix for botbuilder-lg [PR 2875]
  • Teams: Add fields to teams notifications [PR 2877]
  • Include dialogContext in errors [PR 2833]
  • Add new test to check waterfall step parent. [PR 2806]
  • Testing naughty strings against TextPrompt [PR 2809]
  • eslint --fix on botbuilder-dialog* libraries [PR 2866]
  • CI Improvements around runtime coverage, code coverage reports and add GitHub workflows [PR 2868]
  • TriggerTree and MostSpecificSelector [PR 2793]
  • Deprecate all botframework-config exports [PR 2834]
  • Add Chrome functional tests back to .yaml [PR 2807]
  • Support null/undefined result in LG output [PR 2794]
  • Only import lodash's sortBy method [PR 2858]
  • eslint --fix of botbuilder-core [PR 2865]
  • eslint --fix on botbuilder-ai* libraries [PR 2862]
  • eslint --fix bb-applicationinsights and bb-azure [PR 2863]
  • eslint --fix on botbuilder library [PR 2861]
  • Fixed some eslint issues in adaptive-expressions [PR 2859]
  • Increase coverage for adaptive dialogs [PR 2775]
  • SwitchCondition with number throws an exception when compared against a string [PR 2789]
  • [#2602] [JSDoc] Add missing documentation for botbuilder-dialogs-adaptive-testing [PR 2831]
  • eslint --fix on adaptive-expressions [PR 2835]
  • Updated to minimal standard eslint config [PR 2814]
  • Add test for AssertReply_Assertions_Failed script [PR 2808]
  • Plug mocha test leaks [PR 2698]
  • Increase AppInsights Coverage [PR 2713]
  • No typing activity if bot is running as a skill [PR 2795]
  • Browserify bundle of botframework-connector [PR 2802]
  • Bump node-forge from 0.6.30 to 0.10.0 in /tools [PR 2810]
  • Update readme.md badges to point to main branch [PR 2804]
  • Updates a number of references to "main" [PR 2803]
  • Fix format [PR 2711]
  • Fix QnA access levels, fix #2800, fix style [PR 2801]
  • Delete Conversation Reference from ConversationIdFactory when SkillDialog receives EndOfConversation while using ExpectReplies [PR 2787]
  • Update CODEOWNERS, rename UsingMyGet.md to dailyBuilds.md [PR 2799]
  • Mark LuisService class deprecated [PR 2798]
  • Change some utility functions in Adaptive-Expressions to internal [PR 2796]
  • Change autoEndDialog to BoolExpression [PR 2772]
  • Make telemetryMiddleware tests actually fail [PR 2700]
  • Catch errors in ShowTypingMiddleware [PR 2786]
  • Restructure adaptive-expressions tests [PR 2784]
  • Add Teams oauth signin link handling to OauthInput [PR 2788]
  • Added new Telemetry Track Event action [PR 2773]
  • Add CSP to E2E botframework-streaming DL ASE pipeline in botbuilder-js [PR 2763]
  • Add ActivityEx implementation [PR 2435]
  • Change error messages in pre-built functions to make the descriptions more accurate [PR 2768]
  • Enabled api-extractor in adaptive/declarative/adaptive-testing packages [PR 2758]
  • QnAMaker GenerateAnswer StrictFiltersCompoundOperationType for Metadata Join Operation [PR 2718]
  • LG: Add CacheScope option [PR 2777]
  • Allow the activity only with channelData property in sendActivity action [PR 2778]
  • Add fullName to resource class and keep resource consistent across lg resources [PR 2693]
  • Support deep data binding for some properties [PR 2552]
  • Add jsonStringify function [PR 2759]
  • Add schemaHelper test [PR 2659]
  • Add JS interdependency graph [PR 2750]
  • Allow calling an event driven dialog [PR 2774]
  • Add SkillValidation Claims tests [PR 2769]
  • Throw if IsSkillClaim and claimsValidator is null [PR 2761]
  • Optimize E2E Streaming Test Pipeline in botbuilder-js [PR 2667]
  • Address unsafe-eval CSP issues, additional cleanup [PR 2752]
  • Change some words in tests [PR 2746]
  • Support create obj with multi line in LG [PR 2756]
  • Fix ignoring new line characters in string interpolation [PR 2754]
  • Support accessing global memories in injecting LG templates as Expressions [PR 2710]
  • Rewrite tests for getNextViableDate, getNextViableTime, getPreviousViableDate, getPreviousViableTime pre-built functions [PR 2707]
  • Make 'string' function return the original content if the parameter is a string type [PR 2743]
  • Fix multiline bug [PR 2751]
  • Fix error in parsing empty string in string interpolation [PR 2748]
  • Use resource id as dialog id only if the dialog doesn't have an id [PR 2720]
  • CodeAnalysis pipeline fixes, eslint bump, test fixes [PR 2742]
  • Fix repromptDialog error message [PR 2724]
  • Set WaterfallStepContext.Parent correctly [PR 2728]
  • Make Language fallback consistent with current LanguagePolicy [PR 2661]
  • Appropriately remove test env vars [PR 2697]
  • Empty recognizer support in crosstrained recognizer set [PR 2708]
  • Set start/end index in qna maker recognizer [PR 2709]
  • Updated feature and bug templates to use new labels. [PR 2701]
  • Vishwac/orchestrator [PR 2654]
  • Installation update add and remove (#2687) [PR 2688]
  • Oauth prompt updates [PR 2681]
  • beginSkillDialog: store DialogOptions in state and regen for methods [PR 2676]
botbuilder-js - Bot Framework SDK 4.10.3

Published by stevengum about 4 years ago

Fixed

  • Fix Content Security Policy issue in using unsafe new Function(), by @stevengum in PR #2753

Breaking Changes:

botbuilder-js - Bot Framework SDK 4.10

Published by cleemullins about 4 years ago

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

  • 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:

  • Refactor SkillDialog to call ConversationFactory.createConversationId only once [PR 2666]
  • Adding unit test for custom entity strip checking [PR 2665]
  • [Port] properly escape slashes in constant strings with StringExpression/ValueExpression [PR 2660]
  • Change AdaptiveExpressions pre-built classes from Public to Internal [PR 2658]
  • Add additionalProperties to Entity [PR 2648]
  • Track unhandled events in dialog container [PR 2645]
  • Removed dependency on mocha-logger. Defaulting to console. [PR 2633]
  • Created constants for ChannelServiceRoutes [PR 2632]
  • [Engineering] Lower time for botbuilder-testing tests [PR 2631]
  • [Engineering] Lower time for botframework-connector tests [PR 2630]
  • [Engineering] Lower time for botbuilder-azure tests [PR 2629]
  • [Engineering] Lower time for botframework-config tests [PR 2625]
  • [Engineering] Lower time for botframework-streaming tests [PR 2624]
  • [Engineering] Lower time for botbuilder-dialogs-adaptive-testing tests [PR 2623]
  • [Engineering] Lower time for botbuilder-dialogs tests [PR 2613]
  • [Engineering] Lower time for botbuilder-dialogs-adaptive tests [PR 2612]
  • [Engineering] Lower time for botbuilder-ai tests [PR 2610]
  • [Engineering] Lower time for adaptive-expressions tests [PR 2609]
  • [Engineering] Lower time for BotBuilder-core tests [PR 2604]
  • [PORT] Add getNextViableDate, getPreviousViableDate, getNextViableTime, getPreviousViableTime pre-built functions [PR 2601]
  • add SpeechConstants and tests for CallerIdConstants [PR 2597]
  • Fix intermittent test error due to time change [PR 2596]
  • [PORT]Fix anonymous template name conflict [PR 2595]
  • [Engineering] Lower time for botbuilder tests [PR 2594]
  • [Engineering] Lower time for botbuilder-applicationinsights tests [PR 2593]
  • SSO + Teams cherry pick from 4.9 [PR 2589]
  • Fix intermittent expressions test error due to hour change [PR 2588]
  • Telemetry client test fix [PR 2587]
  • Correctly Call QnA Train API & Handle 204 No-Content Response [PR 2586]
  • add eslint-plugin-jsdoc to build-steps.yml [PR 2584]
  • [Streaming, Engineering] Add integration tests for ChannelServiceRoutes [PR 2582]
  • Fixed a typo in skill extensions [PR 2581]
  • Update botbuilder-dialogs-declarative README [PR 2575]
  • End-to-End Streaming Tests in botbuilder-js [PR 2569]
  • Restore and activate nock [PR 2564]
  • Add installation update to activity handler [PR 2562]
  • adding require-jsdoc functionality per library [PR 2555]
  • Updated HTTP request to parse binary response [PR 2553]
  • Clean up emulator check in Cosmos Test [PR 2547]
  • [Engineering] Cleanup dependencies/use same dep version where possible [PR 2545]
  • [Teams] Fix onSelectedItem in Teams Search Extension Bot [PR 2544]
  • [PORT] Added support for declarative custom dialogs [PR 2542]
  • Increase code coverage in botbuilder library - InspectionMiddleware class [PR 2541]
  • Increase code coverage in botbuilder library - ChannelServiceRoutes class [PR 2540]
  • [PORT] Added StringUtils [PR 2536]
  • [PORT] Add support for operations on arrays [PR 2535]
  • Increase code coverage in botbuilder library - TeamsInfo class [PR 2531]
  • Added specific telemetry for Teams channel [PR 2528]
  • [Engineering] update CODEOWNERS [PR 2526]
  • Preload LG test files [PR 2522]
  • Remove Slack from the list of channels that support Suggested Actions [PR 2517]
  • add readableFlowing property to INodeSocket [PR 2515]
  • Update lerna config & related cleanup/enhancements [PR 2514]
  • Adaptive Telemetry Instrumentation [PR 2513]
  • Fixes CosmosDbPartitionedStorage Tests [PR 2511]
  • Make QnA Maker Active Learnings Thresholds user settable [PR 2508]
  • Added Microsoft.Ask [PR 2507]
  • Kyled/async functions [PR 2506]
  • Renamed adaptive-tests to adaptive-testing [PR 2503]
  • [PORT]Refactor AdaptiveExpressions method GetStandardFunctions() [PR 2502]
  • IUserTokenProvider.getTokenStatus interface updates and test [PR 2497]
  • Increase code coverage in botbuilder library - BotFrameworkAdapter class [PR 2496]
  • Increase code coverage in botbuilder library - TeamsActivityHandler class [PR 2495]
  • Increase code coverage in botbuilder library - StatusCodeError class [PR 2494]
  • Add EndOfConversationCodes to EndOfConversation activity from Skill [PR 2492]
  • Return ResourceResponse from SkillHandler.processActivity [PR 2489]
  • Create pipeline BotBuilder-JS-CI-node12-yaml [PR 2487]
  • Increase code coverage in botbuilder library - BotFrameworkHttpClient class [PR 2485]
  • Increase code coverage in botbuilder library - ChannelServiceHandler class [PR 2484]
  • [Teams] Fix broken TeamsActivityHandler tests [PR 2483]
  • Create pipeline BotBuilder-Js-CI-yaml [PR 2482]
  • [PORT]Refine ActivityFactory [PR 2481]
  • [PORT] Fix WaterfallStepContext to use parent dc properly [PR 2480]
  • add directlinespeech support to prompts [PR 2479]
  • Fix erroneous Async suffix in some comments, error messages, etc. [PR 2476]
  • Additional channel/chat lifecycle events [PR 2471]
  • Add Teams' Channel Restored event [PR 2470]
  • Open id metadata cache refresh if key is missing [PR 2466]
  • Move TelemetryClient property to DialogContainer [PR 2463]
  • Convert comments on Dialog.onDialogEvent() to TSDoc [PR 2462]
  • Fix issue2134: add allowloop to repeat dialog and test [PR 2461]
  • Fix browser build yaml [PR 2458]
  • Add imageAltText to CardAction [PR 2456]
  • [PORT] Add LG telemetry [PR 2451]
  • Make ConnectorClientOptions.baseUri optional [PR 2447]
  • Unionize TaskModuleResponse.task type definition [PR 2446]
  • Ensure fields from recent PRs are fully implemented [PR 2445]
  • [PORT]Extend 'getProperty' builtin function to support accessing top memory [PR 2437]
  • Add null checks to telemetryLoggerMiddleware [PR 2434]
  • Have ActivityPrompt.repromptDialog call onPrompt with isRetry set to false [PR 2431]
  • fix and un-skip getTokenStatus test [PR 2414]
  • [PORT] Further improve LG's performance [PR 2409]
  • Updated readme from docs pillar review [PR 2408]
  • Add linkToMessage to the MessageActionsPayload interface [PR 2400]
  • Fix issue2099 [PR 2397]
  • [PORT]Add expandText LG function [PR 2387]
  • [PORT][Expression]Enable list concatenation for function "concat" [PR 2386]
  • Scoped services [PR 2382]
  • [Port][Expression] Floor, Ceiling, Round, TicksToDays,TicksToHours, TicksToSeconds, DateTimeDiff pre-built functions [PR 2371]
  • Add aadGroupId to TeamInfo [PR 2370]
  • Fix renaming of Task Response type [PR 2369]
  • [PORT] fix empty array and strict mode issue in expand [PR 2362]
  • [Expression] Add merge prebuilt function for merging JSON object [PR 2361]
  • set recognized properties even if interruption is off [PR 2360]
  • Update CODE_OF_CONDUCT.md [PR 2356]
  • Add community docs as per guidance [PR 2352]
  • Drop OnCustomEvent, it's a duplicate of OnDialogEvent [PR 2350]
  • Updated OAuthInput to be on parity with dotnet sdk [PR 2349]
  • [PORT]Add configuration for default languagePolicy [PR 2348]
  • Make ValueRcognizer internal [PR 2347]
  • Updated Dialog Manager to work with skills [PR 2343]
  • Refactored resource explorer as well as related components [PR 2342]
  • update CODEOWNERS [PR 2336]
  • [PORT] Move EXPRESSION in LG from lexer to parser [PR 2334]
  • [PORT][Expression]Add lambda syntactic sugar [PR 2328]
  • [PORT]Enrich LG error message [PR 2322]
  • [Engineering] Create .yaml pipeline for API check [PR 2321]
  • Cache Expression parsing result [PR 2309]
  • Allow nested foreach/foreachpage [PR 2306]
  • [PORT]Refine template loop detection to enable recursive functions [PR 2305]
  • [PORT]Adjust grammar to improve LG parsing performance [PR 2303]
  • trace inner most dc state [PR 2302]
  • fixed repeat dialog options [PR 2300]
  • fixed foreach empty issue [PR 2299]
  • Removed fallback exception from version change logic. (#2283) [PR 2298]
  • fix default timestamp format in Adaptive Expressions [PR 2292]
  • [PORT]Add sentenceCase && titleCase builtin function [PR 2286]
  • Upgrade to Chrome ^83.0.0 [PR 2279]
  • Fix Missing break in flatten function [PR 2277]
  • [PORT]test comparisons for null [PR 2276]
  • Upgrade ms-rest-js to 1.8.15 [PR 2275]
  • replace atob package to be compatible with web worker [PR 2268]
  • Fix LowScoreVariation and add return types [PORT] [PR 2266]
  • Remove antlr auto build with build/test script [PR 2259]
  • [PORT]Make template name format consistent with function name format [PR 2255]
  • Add doc to QnAMakerDialog class (C# port) [PR 2252]
  • Modify TelemetryConstants to use static properties [PR 2251]
  • Harden Prompts [PR 2246]
  • Refactor tests for SkillDialog/BeginSkill scenarios, add ActivityHandler tests [PR 2245]
  • Remove moment from botbuilder-ai [PR 2244]
  • Missing break/return statements. [PR 2240]
  • Do NOT call TeamsInfo.getMember for the bot: cherry pick from 4.9 (#2237) [PR 2238]
  • [Expression] Remove dependency of Moment type in public methods [PR 2232]
  • (AGAINST MASTER) Remove node exports from utilities [PR 2228]
  • Maintain the high priority and independence of multiline [PR 2221]
  • [Expression] fix coalesce bug [PR 2220]
  • Update antlr4ts version and add antlr build script [PR 2218]
  • Allow loading settings from turn state [PR 2217]
  • Stevenic/update master [PR 2214]
  • Cherry-pick ES6 targeting and big-integer addition to master [PR 2208]
  • Adaptive dialogs bug fix [PR 2201]
  • Add formatNumber, parseEpoch and parseTicks. [PR 2198]
  • Add 'state' to AppBasedLinkQuery (for teams auth flow during link unfurling) [PR 2194]
  • Cherry-pick #2145, #2190 and #2196 to master [PR 2192]
  • [Port] [LG] Inject LG templates as a global expression function [PR 2188]
  • [PORT] [Expression] Add more timex builtin functions [PR 2187]
  • Update v.next version to 4.10 [PR 2186]
botbuilder-js - Bot Framework SDK 4.9

Published by cleemullins over 4 years ago

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.
Telemetry In AppInsights

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 dialogs make use of event-driven adaptive dialogs with a rich and
evolving set of capabilities including:

  • Handle out of order and multiple responses for simple and array properties.
  • Add, remove, clear and show properties.
  • Support for choosing between ambiguous entity values and entity property mappings.
  • Recognizing and mapping for all LUIS prebuilt entities.
  • Help function, including auto-help on multiple retries.
  • Cancel
  • Confirmation

VS Code Debugger - Early Preview

Adaptive tools is a brand new Visual studio code extension you can use to create/ validate .lu and .lg documents as well as debug declaratively defined adaptive dialogs. This extension provides rich authoring & editing capabilities for .lu and .lg file formats including syntax highlighting, auto-suggest and auto-complete.

We anticipate adding an early preview to the VS Marketplace shortly after this release.

Bot Builder Community

During this release, the Bot Builder Community has further raised the bar by adding more features, more adapters, and fixing more bugs.

  1. A revised C# Alexa Adapter and Google Home Adapter Re-built from the ground up, starting with Alexa, to allow the adapters to be consumed by Azure Bot Service and made available as channels. Improvements include better native activity type mapping, improved markdown rendering and support for more complex scenarios (such as merging multiple outgoing activities).

  2. A new C# Zoom Adapter. Currently supports Zoom 1:1 and channel chat capabilities, being converted to native BF activity types. Also supports the subscribing to any event a Zoom as supports (translated into Event activities), with full support for Zoom interactive messages and rich message templates.

  3. A RingCentral Adapter. The RingCentral Engage adapter allows you to add an additional endpoint to your bot for RingCentral Engage Digital Platform integration. The RingCentral endpoint can be used in conjunction with other channels meaning, for example, you can have a bot exposed on out of the box channels such as Facebook and Teams, but also integrated as an RingCentral Engage Digital Source SDK into RingCentral.

Changelog for v4.9.0:

  • Add Dialog / PageView telemetry [PR 2145]
  • Ported AdaptiveSkillDialog class from C# [PR 2177]
  • Adding Datetime Reference Option to recognizer and fixing typo [PR 2174]
  • Added expression binding logic [PR 2172]
  • Fix access levels in botbuilder-dialogs-adaptive, add tests [PR 2171]
  • Update SkillDialog to handle all activity types (e.g. set DeliveryMode for Invokes) [PR 2161]
  • Stevenic/adaptive fixes [PR 2160]
  • Fix CI and align versions of moment and moment-timezone [PR 2159]
  • Add tenantId and userRole to TeamsChannelAccount [PR 2155]
  • Added LuisAdaptiveRecognizer [PR 2149]
  • Added missing adaptive dialog exports [PR 2147]
  • [QnA Maker] ActiveLearningDisable bug fix [PR 2146]
  • Skills use correct ConnectorClient in OAuthPrompt, add ConnectorClientBuilder [PR 2144]
  • Changed GovernmentConstants.ToChannelFromBotLoginUrl [PR 2138]
  • Add HealthCheck Invoke handling [PR 2137]
  • Pinned recognizers-text to 1.1.4 [PR 2135]
  • refactor TestMultiLangImport tests [PR 2128]
  • Support SSO with SkillDialog and expectReplies [PR 2127]
  • [Expression] fix null check in expression [PR 2118]
  • Adjust scoreThreshold validation to not throw when score value provided is 1 [PR 2113]
  • Support empty lg file. [PR 2109]
  • Move ExpressionProperty from botbuilder-dialogs-adaptive to adaptive-expressions package [PR 2107]
  • Locale Fixes [PR 2105]
  • Change onTeamsMembersAdded for Teams to use getMember() [PR 2103]
  • Ported test cases for adaptive dialogs [PR 2100]
  • [Expression] fix utcNow() test cases fail in certain time [PR 2096]
  • Add activity factory test [PR 2095]
  • Update ms-rest-js [PR 2088]
  • Fix the offset issue of diagnostic [PR 2086]
  • Add ConnectorClientOptions to BotFrameworkAdapterSettings [PR 2081]
  • Refactor LGLanguageGenerator tests to address timeout failures [PR 2076]
  • bump chromedriver to ^81.0.0 [PR 2075]
  • [LG] Robust Template CRUD with Two-phase parsing of LG [PR 2074]
  • BotStateScope to get full bot state memory [PR 2073]
  • Add custom endpoint to LuisService [PR 2072]
  • Improve LG Options for replace null and markdown rendering [PR 2071]
  • Add OAuthUrl constants and ensure forwarded activities contain a recipient value [PR 2067]
  • Stevenic/turn state [PR 2065]
  • Change Comparisons to ReturnType of 'template' function use bit opera� [PR 2058]
  • Re-do multiLingualLg [PR 2053]
  • Updates for CallerId [PR 2052]
  • Fixed path resolver not working when alias in middle [PR 2050]
  • Added test case for CancelAllDialogs [PR 2049]
  • Fixed AttachmentInput [PR 2048]
  • InputDialog: fallback to .value if there is no .text in dc.context.activity [PR 2047]
  • Fixed AtPathResolver to deal with complex objects correctly [PR 2046]
  • Bot Change Detection [PR 2044]
  • [Adaptive] QnAMakerRecognizer and OnQnAMatch [PR 2029]
  • Add attachments to telemetry [PR 2025]
  • fix LG error message for template name [PR 2023]
  • [PORT] update adaptive inputs to set inputHint = expectingInput [PR 2022]
  • Add botbuilder-dialogs-declarative, botbuilder-dialogs-adaptive to de� [PR 2020]
  • [Expression] Support byte array input for base64 function [PR 2015]
  • refactor expander [PR 2012]
  • Add EventFactory and HandoffEventNames to botbuilder [PR 2010]
  • [LG] Remove dash in identifier to make sure arithmetic expressions can be parsed correctly [PR 2009]
  • [PORT]Add array return type [PR 2007]
  • Use v5 API host in QnAMakerDialog or construct v4 API host [PR 2004]
  • Added assertNoReply to TestFlow/TestAdapter [PR 2002]
  • [QnA Maker] opim auth header for V5 support [PR 2001]
  • Matched method name in error with actual method's name [PR 2000]
  • [QnA Maker] host name as-is [PR 1999]
  • Merge 4.future to master [PR 1998]
  • [PORT]Refine Error message and remove duplicate code [PR 1987]
  • Move Error logic out of botbuilder into authentication layer [PR 1985]
  • Allow creation of multiple Cosmos containers [PR 1984]
  • [Port] make custom function easier [PR 1981]
  • Remove "botbuilder-core" dependency from LG [PR 1980]
  • [PORT]Fix missing trailing line break [PR 1978]
  • [PORT]Loose grammar to make Structure LG more torren [PR 1976]
  • [Expression] fix parameter name and return type in Expression options [PR 1974]
  • [PORT] Update IMemory interface and tryEvaluate for expression [PR 1967]
  • Add @microsoft/api-extractor to detect public API changes [PR 1962]
  • [Expression] Add support of create object via {key: value} syntax [PR 1958]
  • [PORT] cache Antlr parse result [PR 1956]
  • rankerType got from options in QnA constructor [PR 1953]
  • Make the CRUD of the template consistent [PR 1952]
  • added LUIS error handling [PR 1949]
  • Two small test fixes [PR 1947]
  • update LG escape [PR 1944]
  • [port] remove dynamic [PR 1942]
  • [PORT] Remove unnecessary restrication on memory path [PR 1941]
  • [PORT]update expression escape [PR 1940]
  • [PORT][Expression] Support escape in regex [PR 1938]
  • [PORT]Disambiguation of �!� mark in expression [PR 1933]
  • Move deepEquals and deferences from extensions to Expression class [PR 1927]
  • Add method for create an array by square bracket expression [PR 1926]
  • Add rawLocalTimestamp to new interface [PR 1924]
  • [PORT] [activityfactory] Improve missing type error [PR 1922]
  • Support multiple lines Expression in LG file [PR 1921]
  • [port] fix index access bug [PR 1919]
  • move botbuilder/tests/teams to libraries/teams-scenarios [PR 1915]
  • port dotnet DialogTestClient DialogContext changes [PR 1914]
  • Improve Expression with adding type checking functions [PR 1911]
  • update lg tsconfig and comments [PR 1910]
  • [OAuth]do not set signInLink to empty when OAuthAppCredentials is set [PR 1907]
  • Cherry-picks #1902 and #1894 to master [PR 1906]
  • make WebRequest.on optional [PR 1899]
  • [master, cherry-pick] fix runDialog helper, fix callerId [PR 1898]
  • trust reference.serviceUrl if credentials.appId is truthy [PR 1889]
  • Update preview build to 4.9 [PR 1888]
botbuilder-js - Bot Framework SDK 4.8

Published by cleemullins over 4 years ago

What's in this release?

SSO

  • SSO support with AAD and WebChat (Docs WIP)(Sample)

Adaptive Expressions, & Language Generation

  • 🎉 rc0 - this is our first release candidate for Adaptive 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: 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:

  • apply PayloadSender fix from #1886 and add unit test [PR 1887]
  • API naming for LG [PR 1883]
  • BufferedReplies to ExpectReplies in skill test parentBot [PR 1882]
  • Clean LG/Expression [PR 1873]
  • clean up activityhandler invoke path [PR 1872]
  • [SSO] [Port] support for SSO to parent and child bot projects for manual testing [PR 1870]
  • DONOTMERGE: Change DeliveryMode bufferedReplies to expectReplies [PR 1869]
  • Add interruption support to SkillDialog and runDialog helper method [PR 1867]
  • [PORT] Update Constant Expression ToString method [PR 1862]
  • Add tests for SkillDialog [PR 1861]
  • add memberCount and channelCount to TeamDetails [PR 1858]
  • Add ephemeral option to Activity.DeliveryMode [PR 1856]
  • Port: API naming for Expression [PR 1853]
  • BotFrameworkAdapter and Skills classes OAuthScope changes [PR 1852]
  • Update LG template content range [PR 1849]
  • Adding helper for starting thread in teams [PR 1847]
  • Pass custom functions to imported .lg files [PR 1845]
  • add BFAdapter tests for bufferedReplies and invokeResponses [PR 1842]
  • Support Skills in Azure Government [PR 1835]
  • Port some LG and Expression from BotBuilder-Dotnet [PR 1834]
  • add getMember and getPagedMember to teamsInfo [PR 1833]
  • add protected method to allow injection of cert by overriding [PR 1830]
  • Update nyc dependency [PR 1828]
  • Added null check for activity.text in ConfirmPrompt [PR 1826]
  • Fix expression built-in function errors and test errors [PR 1824]
  • ci: add auto tagging [PR 1823]
  • Update docs on valid scoreThreshold range for QnAMakerOptions [PR 1822]
  • Added flags to disable recognizing choices by number or ordinal. [PR 1820]
  • Marked config classes as deprecated [PR 1819]
  • Initial check-in of flatten, unique and [PR 1813]
  • Ensure that ABS OAuth cards are not sent by the community adapters [PR 1812]
  • Add null check for from [PR 1807]
  • [Expression] Fix result when the second arg is null in lastIndexOf function [PR 1805]
  • added getSignInLink overload [PR 1803]
  • Hond/indexof [PR 1797]
  • Remove @types node dev dependency from botframework-streaming [PR 1795]
  • Updating Teams Types [PR 1789]
  • Add gitpod config [PR 1786]
  • Port: LG error related changes [PR 1785]
  • Plumb custom functions throughout. [PR 1784]
  • Added buffered delivery mode support. [PR 1783]
  • add skillDialog and associated classes [PR 1771]
  • Port QnAMakerDialog from C# [PR 1769]
  • [PORT] Treat '@{' an error instead of text in LG [PR 1768]
  • create browser (es5) output in botframework-streaming [PR 1764]
  • Move BotIdentityKey to BotAdapter from BotFrameworkAdapter [PR 1763]
  • [Port] Forced re-execution expression within template [PR 1762]
  • Updated ShowTypingMiddleware to re throw errors [PR 1761]
  • [Port] Add tests around memory access path [PR 1760]
  • [PORT] add string interpolation feature [PR 1759]
  • Added Channels enum in botbuilder-schema for ChannelIds constants [PR 1757]
  • return http state [PR 1755]
  • Port: Optimize LG performace [PR 1752]
  • Add documentation for public code [PR 1751]
  • Enhance the functionality of the + operator [PR 1749]
  • Added error messages to abortWebSocketUpgrade() [PR 1741]
  • Port: Refactor LG Api [PR 1740]
  • Port SSO changes from C# to JS [PR 1738]
  • treat everything after first '=' as value for the property [PR 1737]
  • add isTemplate function [PR 1735]
  • support constant [] and {} expression [PR 1734]
  • parity of extending foreach and where to work with object [PR 1733]
  • parity indicesAndValues builtin function [PR 1731]
  • Migrate expression namespace to adaptive-expressions [PR 1718]
  • ${} instead of @{} as bounding syntax. [PR 1717]
  • Add deprecate to CosmosDbStorage [PR 1715]
  • Port refactor Structure LG and Analyzer [PR 1713]
  • add EndOfConversation and Typing activities to ActivityHandler [PR 1706]
  • migrate c# change in for adding oauth app credentials as a parameter [PR 1697]
  • fix export and update unit test import [PR 1693]
  • Port nested foreach\where\select in Expression from C# [PR 1688]
  • [Expression] Expanding max/min functions take numeric list as arguments [PR 1674]
  • [Cherry-pick to master] add generic socket closure handling [PR 1664]
  • Parity of split function with C# in Expression [PR 1661]
  • Update sample in Connector readme from v3 to v4 [PR 1657]
  • Fix browser bot functional tests [PR 1648]
  • Hash conversationId for App Insights sessionID [PR 1642]
  • Kyled/waterfall cancel telemetry [PR 1639]
  • Update activityHandler.ts [PR 1620]
  • [QoL] add declarationMap to tsconfig.json in libraries [PR 1613]
  • Fix Browser Functional Test Build Pipeline [PR 1600]
  • Fix Expression mishandles day formats and extends the ability of datetime formating [PR 1593]
  • [Skills] TrustServiceUrl from original conversationReference in SkillHandler [PR 1590]
  • [Docs] Add Bot Functional Test Guide [PR 1587]
  • [Cherry-pick to master] remove "dom" from bf-streaming tsconfig and refactor code [PR 1579]
  • Declare return types in waterfallDialog.ts [PR 1578]
  • move @types/lru-cache from devdependency to dependency [PR 1576]
  • Fresh French Number PR [PR 1573]
  • Fix the incorrect typings value of botframework-streaming [PR 1547]
  • [Webpack][ISSUE#818][BotBuilder-AI][BF-Connector] Fix webpack dependency warning [PR 1540]
  • Make IMemory interface follow the convention instead of returning tup� [PR 1526]
  • Create new TurnContext using function so that derived classes can ove� [PR 1513]
  • Cleanup in botbuilder [PR 1508]
  • add more js functions sync with C# [PR 1505]
botbuilder-js - Bot Framework SDK for JavaScript v4.7.1

Published by stevengum over 4 years ago

Welcome to the 4.7.1 release of the Bot Framework SDK for JavaScript available via NPM.

What's in this release?

This release contains bugfixes for the botframework-streaming library's typings, not forcing downstream TypeScript dependencies to adopt our tsconfig.json settings and a TrustServiceUrl fix for proactive messages from Skills.

Changelog for v4.7.1:

  • Fix incorrect "typings" value in botframework-streaming [PR 1572] (Thank you @qinezh!)
  • remove "dom" from bf-streaming tsconfig and refactor code [PR 1575]
  • TrustServiceUrl from original conversationReference in SkillHandler [PR 1586]
botbuilder-js - Bot Framework SDK for Javascript v4.7.0

Published by CoHealer almost 5 years ago

Welcome to the 4.7.0 release of the Bot Framework SDK for JavaScript available via MyGet!

What's in this release?

Skills

Adds Skills support for JS SDK. Skills enable bots to call other bots.

Streaming GA

Streaming support for JS SDK is now GA.

LUIS V3 support

This release introduces a new constructor overload for LuisRecognizer which takes an options bag for either the V2 or V3 API. We plan on using this pattern for future API releases, as well. We're looking forward to any feedback on this.

This change also deprecates the includeApiResults argument option which is now encompassed by the options bag.

LG/expressions support in preview

botbuilder-lg and botframework-expressions are released in preview. They enable support for language generation and expressions syntax in the JS SDK. You can learn more in the samples repo.

QnA Maker improvements

Adds isTest and rankerType options which enable test flows and filtering of rankings.

Cosmos DB Storage Provider improvements

Adds keySuffix and compatibilityMode options. keySuffix makes it easy to use the same Cosmos DB container for multiple bots without worrying about collision (keySuffix should be unique per bot app). compatibilityMode allows you to use existing non-partitioned storage collections. In general, we recommend not enabling compatibilityMode unless you're in a pinch as it will hit the same issues of partition key filling up after 10GB of data.

Payments deprecation

Bot Framework no longer supports payments. All associated types are marked as deprecated.

Changelog for v4.7.0:

  • LuisRecognizer refactor and addition of V3 endpoint [PR 1479]
  • [QnA Maker] Support for IsTest and RankerType in QnAMaker.getAnswer() [PR 1478]
  • [Skills] Better exception handling and typing [PR 1474]
  • [Skills] add skill support in BotFrameworkAdapter [PR 1473]
  • Johtaylo/skills protocol [PR 1472]
  • Update README.md with the Browser Functional Tests badge [PR 1471]
  • [Skills] Use AuthenticationConfiguration [PR 1470]
  • [Browser-Functional-Tests] Add browser test build YAML file [PR 1469]
  • Add KeySuffix and CompatibilityMode to CosmosDbPartitionedStorage [PR 1468]
  • [Streaming] Merge streaming branch into master [PR 1464]
  • Update LG README.MD [PR 1463]
  • Deprecate Payments [PR 1462]
  • [Skills] Add SkillValidation class [PR 1461]
  • Fix attemptCount [PR 1459]
  • LG/Expression parity with C# (till Nov 25) [PR 1453]
  • [Skills] Add BFHttpClient, ChannelServiceHandler & necessary Auth pieces for Skills [PR 1448]
  • refactor: remove direct cldr-data dep [PR 1444]
  • [R7, Cherry-pick] Cherry-pick TypeScript 3.5.3 pin from 4.6 branch [PR 1442]
  • allows Inspection to attach anywhere within a Teams Team [PR 1434]
  • Fixed several typos [PR 1422]
  • Fixed a small issue in var name [PR 1421]
  • Fixed the wrong function name [PR 1420]
  • fix template additional newline bug [PR 1419]
  • [BotFramework-schema] Add License [PR 1407]
  • update package.json [PR 1402]
  • add Activityfactory [PR 1401]
  • Parity ChoicePrompt fix with dotnet [PR 1400]
  • [Engineering] Remove typescript devDependency from botframework-streaming [PR 1392]
  • [Teams] Call defaultNextEvent after .invoke activity is processed [PR 1390]
  • [Functional-test] Add chrome browser functional tests [PR 1389]
  • Stevenic/4.6 dialog parity [PR 1384]
  • Add LG/Expression library [PR 1381]
  • Fix integrationBot to match C# [PR 1379]
  • Fix ChoicePrompt ListStyle.none when set via PromptOptions [PR 1373]
  • [Engineering] Remove .js and .ts from .gitignore, change *.map to *.js.map [PR 1365]
  • Fixed passing of CosmosClientOptions [PR 1363]
  • [QnAMaker] Active learning low score variation multiplier value [PR 1359]
  • added local teamsCreateConversation helper [PR 1357]
botbuilder-js - Bot Framework SDK for JavaScript v4.6.0-preview2

Published by stevengum almost 5 years ago

Welcome to the 4.6.0-preview2 release of the Bot Framework SDK for JavaScript available via MyGet!

This is a preview release for streaming support in the Bot Framework SDKs for JavaScript.

Changes:

Breaking Changes:

  • botframework-streaming-extensions and botbuilder-streaming-extensions have been delisted from MyGet
    • botbuilder contains the updated BotFrameworkAdapter class which is used to interpret incoming streaming requests (formerly botbuilder-streaming-extensions and BotFrameworkStreamingAdapter)
    • botframework-streaming now contains the Request and Transport layer specific code (formerly botframework-streaming-extensions)

Changes:

  • Developers must set enableWebSockets to true in BotFrameworkAdapterSettings to enable WebSockets
  • BotFrameworkAdapter now uses a Factory pattern for more extensibility when using WebSockets
    • Developers can pass in an instance of a NodeWebSocketFactoryBase to the BotFrameworkAdapter via BotFrameworkAdapterSettings.webSocketFactory
    • If enableWebSockets is true and no factory is passed in, the BotFrameworkAdapter will default to a NodeWebSocketFactory
  • BotFrameworkAdapter.useWebSocket() and BotFrameworkAdapter.useNamedPipe() are now public
  • Fixed filename casing issues
  • Minor cleanup and bug fixes

Samples:

For an example of how to configure your bot to use WebSockets and Direct Line Speech, please visit the botbuilder-samples repository. Navigate to the /experimental/directline-speech/javascript_nodejs/02.echo-bot sample which was updated via this commit: https://github.com/microsoft/BotBuilder-Samples/commit/651f4053ed5f99332454fe057f8af832150e56cf

Here is a modified snippet from the sample which shows how to set configure a bot to use WebSockets:

// Create HTTP server and configure the Server to handle for Upgrade requests.
const server = restify.createServer({ handleUpgrades: true });
server.listen(process.env.port || process.env.PORT || 3978);

// BotFrameworkAdapterSettings configuration object.
const adapterSettings = {
    appId: process.env.MicrosoftAppId,
    appPassword: process.env.MicrosoftAppPassword
};

const myBot = new EchoBot();

// Listen for GET requests to the same route to accept Upgrade requests for Streaming.
server.get('/api/messages', (req, res) => {
    // Create an adapter scoped to this WebSocket connection to allow storing session data.
    // Get the appId and appPassword from the above settings object and set enableWebSockets to true.
    const streamingAdapter = new BotFrameworkAdapter({
        ...adapterSettings,
        enableWebSockets: true
    });
    // Set onTurnError for the BotFrameworkAdapter created for each connection.
    streamingAdapter.onTurnError = onTurnErrorHandler;

    streamingAdapter.processActivity(req, res, async (context) => {
        // After connecting via WebSocket, run this logic for every request sent over
        // the WebSocket connection.
        await myBot.run(context);
    });
});
botbuilder-js - Bot Framework SDK for Javascript v4.6

Published by CoHealer almost 5 years ago

v4.6.0

Welcome to the 4.6 release of the Bot Framework SDK for JavaScript!

Bot Framework SDK for Microsoft Teams (GA)

The Bot Framework SDK v4.6 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.

Adaptive Dialog (Preview)

Adaptive Dialogs enable developers to build conversations that can be dynamically changed as the conversation progresses. It allows developers to dynamically update conversation flow based on context and events. This is especially handy when dealing with conversation context switches and interruptions in the middle of a conversation.

Language Generation (Preview)

Language Generation enables developers to separate logic used to generate bot's respones including ability to define multiple variations on a phrase, execute simple expressions based on context, refer to conversational memory.

Common Expression Language (Preview)

Common Expression Language allows you to evaluate the outcome of a condition-based logic at runtime information. We provide a common language that can be used across the Bot Framework SDK and conversational AI components, such as Adaptive Dialogs and Language Generation.

The issues list can be viewed here.

Changelog:

  • Helper to send a trace activity [PR 1355]
  • Integration bot to master [PR 1351]
  • Expand ChannelAccount to TeamsChannelAccount [PR 1350]
  • Update typeDoc comments for DialogContext [PR 1349]
  • Pull out streaming bits from botbuilder and move to botframework-streaming [PR 1348]
  • Drop teams specific send [PR 1347]
  • Fix daily CI build after adding botframework-streaming to packages [PR 1343]
  • Rename Prompt -> QnAMakerPrompt [PR 1342]
  • Auth and browser compatibility fixes, linting, refactoring [PR 1338]
  • Add working ws websocket implementation for Node environment [PR 1334]
  • Create NodeWebSocketFactory, refactor code, new tests [PR 1331]
  • Fix malformatted user agent JSON [PR 1323]
  • Adds createChildContext method to ComponentDialog [PR 1318]
  • Rename onTeams*-Invoke methods to handleTeams*, add TeamsInfo.getTeamMembers [PR 1315]
  • Missing link unfurling scenario [PR 1313]
  • Add teamsTenantFilteringMiddleware to roster bot scenario [PR 1311]
  • Added promptCultureModels - parity w/ dotnet [PR 1309]
  • Part of Teams Hackathon Feedback [PR 1308]
  • Refactor streaming into adapter. General improvements and quality. [PR 1306]
  • Update onTeamsMessagingExtensionFetchTask() & add tests for TeamsActivityHandler [PR 1305]
  • Normalize azure blob timestamp properties to be iso1806 format [PR 1303]
  • Remove browser compat libs [PR 1300]
  • Removing unused libraries botbuilder-applicationinsights [PR 1298]
  • move nock to devDependency [PR 1297]
  • Relax the rules for what counts as a well formed GUID. [PR 1294]
  • Let WebSocketClient take in a disconnection callback [PR 1291]
  • Adding OAuthCard support for Streaming Extensions [PR 1284]
  • Lint Teams scenarios, minor refactor [PR 1283]
  • Cosmos partitioning [PR 1282]
  • Add some tests for teamsCreateConversation [PR 1280]
  • Fix typedoc vulnerability [PR 1279]
  • add more TeamsInfo tests [PR 1275]
  • add tests and mocks for TeamsInfo [PR 1274]
  • Fix names of Messaging Extension projects [PR 1272]
  • Delete unused -teams packages, update lerna.json & package.json [PR 1271]
  • Add IStreamingTransportClient to exports [PR 1270]
  • Add reply to channel bot [PR 1269]
  • Add search based messaging extension from samples (thanks Steven!) [PR 1267]
  • Remove await when starting up a named pipe server. [PR 1266]
  • Add composeMessagingExtensionBot [PR 1265]
  • Update typedoc comments [PR 1264]
  • Populate ChannelData.aadObjectId property and updated Roster bot after testing [PR 1262]
  • Add update and delete bot scenario [PR 1260]
  • Port of ActionBasedMessagingExtension Fetch Task [PR 1258]
  • Fix teams activity handler null ref exception [PR 1257]
  • Office365 Connector Card Scenario [PR 1255]
  • Add TeamsInfo helper class, minor fix in ConversationUpdateBot scenario [PR 1253]
  • Add message reaction bot [PR 1252]
  • adaptivecards bot [PR 1251]
  • ComposeMessageExtensionAuthBot teams scenario [PR 1250]
  • Add TeamsConnectorClient and fix BotFrameworkAdapter bug [PR 1249]
  • Add Notification-only scenario [PR 1248]
  • BotFrameworkAdapter.processActivity() doesn't log or send entire "body" [PR 1246]
  • Mentions scenario [PR 1245]
  • Add Cards scenario [PR 1243]
  • Fix Teams Handler for task/fetch and submit | TaskModule scenario [PR 1242]
  • teams file upload [PR 1241]
  • Fix the content type on the wire to be consistent with the C# implemetation. [PR 1237]
  • Refactor TeamsActivityHandler with refactored ActivityHandler class [PR 1236]
  • Add TelemetryInitializerMiddleware [PR 1233]
  • Change TS output to ES6 for all libraries [PR 1232]
  • updated sample bot to match signature of TeamsActivityHandler [PR 1231]
  • adding openApp card action type [PR 1230]
  • Update choice prompt unit test for hero card prompt with attachment [PR 1229]
  • add actionBasedMessagingExtension from samples repo, update .gitignore [PR 1225]
  • Create ActivityHandlerBase, rewrite ActivityHandler for increased extensibility points [PR 1223]
  • Add Teams schemas and initial TeamsActivityHandler [PR 1220]
  • Ran eslint on streaming extension library [PR 1219]
  • Update nyc dev dependency [PR 1194]
  • Refactored start method to use Promise.all [PR 1193]
  • Choice prompt fixes 1175 [PR 1192]
  • Avoid a buffer getting overwritten during calls to send [PR 1187]
  • Fixed multiple issues in BotFramework-Streaming-Extension Library [PR 1174]
  • Kept tentantId & channelData in CreateConversation [PR 1173]
  • GetAnswerRaw added [PR 1172]
  • Apply conversation reference in TurnContext.updateActivity [PR 1169]
  • Update TypeDoc comments for botFrameworkAdapter.ts [PR 1168]
  • Add 3 teams modules [PR 1167]
  • Type definition fix: OAuthPromptState [PR 1157]
  • Change PromptState.state type to any - Fixes #1155 [PR 1156]
  • Version upgrade for Recognizers-Text dependencies [PR 1146]
  • [Documentation] Version upgrade documents for Recognizers-Text dependency [PR 1143]
  • Updated credentials passed into InspectionMiddleware [PR 1139]
  • Use timestamp or processing time as fallback for activity.id [PR 1138]
  • Multi-turn SDK support for QnAId [PR 1137]
  • Streaming extensions: Fix building and testing under Linux [PR 1132]
  • Fix break in build BotBuilder-JS-master-CI [PR 1123]
  • Use Recognizers Cultures in Choice & Confirm Prompt [PR 1121]
  • make on and handle in ActivityHandler protected for subclassing [PR 1117]
  • Add Resource Response Id to cloned activities when logging [PR 1114]
  • Updated docstring in LuisRecognizer to newly reorg'd dispatch sample [PR 1112]
  • Multi-turn support in SDK [PR 1110]
  • Revert "Changed library versions to "4.0.0-local"" [PR 1109]
  • NumberPrompt: Added parsing that takes culture into consideration using Globalize [PR 1106]
  • Lerna run test was failing [PR 1104]
  • Remove references to TSLint [PR 1097]
  • Fix invalid module path [PR 1090]
  • Added SkypeMentionNormalizeMiddleware and tests [PR 1088]
  • Changed library versions to "4.0.0-local" [PR 1085]
  • Dev/streaming extensions preview branch [PR 1081]
  • Fix oAuthPrompt Catch Block [PR 1078]
  • Fix Proxy object capability check [PR 1074]
  • Add the ESLint extension to the project level .vscode configuration [PR 1070]
  • Reverts changes PR #1002 [PR 1068]
  • Removed package-lock.json files and added them to gitignore. [PR 1062]
  • Revert dependency version change [PR 1055]
  • Version fix: "botbuilder-testing": "4.5.0" from invalid version 4.1.6 [PR 1052]
  • Add functionaltestbot folder [PR 1051]
botbuilder-js - Bot Framework SDK for Javascript v4.5

Published by CoHealer over 5 years ago

v4.5.0

Welcome to the 4.5 release of the Bot Framework SDK for Javascript!

Today, we are happy to announce the Bot Framework support for Emulator Channel Testing is generally available. This enables developers to debug and test your Bot Framework SDK v4 bots on channels like Microsoft Teams, Slack, Cortana, Facebook Messenger, Skype, etc. As you have the conversation, messages will be mirrored to the Bot Framework Emulator where you can inspect the message data that the bot received. Additionally, a snapshot of the bot state for any given turn between the channel and the bot is rendered as well.

We also added capabilities for Unit Testing your bots. The Microsoft.Bot.Builder.Testing package simplifies the process of unit testing dialogs in your bot.

As with any release, we fixed a number of bugs, continue to improve LUIS and QnA integration and further clean our engineering practices. There were additional updates across other areas like Language, Prompts, Dialogs, State and Storage.

Review all changes that went into 4.5 in the detailed Change Log

Authentication and Security

  • Added credentials to inspection middleware for test bot [PR 1033]
  • Fixed Axios vulnerability ISSUES [PR 962]
  • Changed en/decryption cipher to aes-256-cbc to work with Electron 4+. [PR 880]

Prompts and Dialogs

  • Change OAuthPrompt to default to AcceptingInput instead of ExpectingInput [PR 1043]
  • Changed to 'beginDialog' and 'continueDialog' methods to return the proper 'cancelled' status [PR 1002]

State and Storage

  • Added PartitionKey value to Read and Delete operations [PR 860]

Integration Layer

Connectors and Adapters

  • Swagger connector api alignment updates [PR 980]

Testing and Configuration

  • Implemented DialogTestClient used to build unit tests for dialogs in abstract [PR 987]
  • Added reading of process.env for Azure specific config in BotFrameworkAdapter [PR 975]
  • Deployed to Linux on Azure using Azure Pipelines [PR 961]
  • Updated testbot to parity with DotNet [PR 954]
  • Added inspection unit test, rolled up fix from 4.4 on state adn upgraded nock to consistent version across code base [PR 942]
  • Added 'no answer found in kb' Unit Test Case [PR 937]
  • Made attach command a Trace activity [PR 935]
  • Fixed build break [PR 922]
  • Added functional test to check bot deployed answer [PR 919]
  • Added support for Teams mentions & re-enable Connector SDK tests [PR 908]
  • Enabled Sidecar debugging via InspectionMiddleware [PR 897]
  • Testbot [PR 892]
  • Added default middleware to patch location of tenantId for MS Teams [PR 886]
  • QnAMakerService correctly builds hostname URL & throws error w/o URL [PR 1035]
  • Updated due to build name change [PR 825]
  • QnA Telemetry Support [PR 823]
  • QnA Telemetry Support [PR 822]
  • Bumped to latest LUIS SDK package [PR 817]
  • Changed test description to match implementation [PR 801]
  • Luis SDK tests (oracle) [PR 800]

Parity and Refactoring

  • Rolled back breaking package-lock changes [PR 1023]
  • Added columns for bot deployment status badge for both Windows and Linux, added N/A to outdated columns [PR 1021]
  • Brought JS inline with C# for Teams invoke [PR 983]
  • Dotnet issue 1860 activity.text can be null [PR 982]
  • Added UsingMyGet.md [PR 977]
  • Modularize scripts [PR 925]
  • Fixed missing quote in JSDoc [PR 921]
  • Make BotBuilder AI web compatible [PR 914]
  • Updated the oracles to match LUIS. [PR 911]
  • Edits for //build [PR 912]
  • Fixed issues found in testing with Teams [PR 900]
  • Fixed webpack bundling broken [PR 890]
  • Updated node.js app insights sdk to 1.2.0 [PR 879]
  • Choice prompt parity [PR 875]
  • Restored the deleted script "test:travis" as "test:coveralls" [PR 871]
  • Lint luisRecognizer.ts [PR 867]
  • Added timeout in luisRecognizer & qnaMaker for node [PR 857]
  • Handled textless messages differently, bringing Node into parity with .NET [PR 856]
  • Upgraded LUIS to new SDK - this time with feeling [PR 844]
  • Parity with c# - binary compat changes for LuisRecognizer [PR 842]
  • Removed lerna and typescript install from travis.yml [PR 839]
  • Added getTokenStatus method [PR 838]
  • Telemetry LuisRecognizer & Telemetry Middleware [PR 816]
  • Re-enabled linting [PR 806]
  • Replaced async-file with fs-extra to match other packages [PR 805]
  • Added full nock validation for LUIS calls [PR 796]

General

  • Added MessageReaction to ActivityHandler [PR 1038]
  • Added at mention removal code and used it in inspection [PR 1032]
  • Added active learning support for QnA Maker [PR 1030]
  • Updated LUIS Recognizer to support GeographyV2, OrdinalV2 and PersonName from LUIS. [PR 1024]
  • Cleaned up package.json as per issue #926 [PR 1018]
  • Fixed unzip dependency location [PR 1017]
  • Added 'properties' property to conversationAccount [PR 999]
  • Removed random from auto assigned ids [PR 998]
  • Removed the NPM warning about filenamify already including types [PR 995]
  • Added ability to pass LUIS prediction options into Recognizer.recognize method [PR 989]
  • Removed property name existance check from botstate [PR 945]
  • Removed html-entities library and its decoding from the answer formatting. [PR 909]
  • Allow patch version of ms-rest to float. [PR 893]
  • Moved numberOfAttempts to state from options [PR 889]
  • Added numberOfAttempts to promptOptions [PR 870]
  • Allow user to specify bot to channel token tenant [PR 841]
  • Added userId parameter to signOutUser [PR 837]
  • Fix AzureBlobTranscriptStore [PR 836]
  • Line channel updates [PR 834]
  • Update 4.3 build to show 4.3 branch builds [PR 826]
  • Update for latest 4.4 Build [PR 824]
  • Moved @types/documentdb to dependencies in package.json [PR 821]
  • AAdded lerna to package.json devDependencies [PR 802]
botbuilder-js - 4.4

Published by cleemullins over 5 years ago

Welcome to the 4.4 release of the Bot Framework SDK for NODE.js!

In this release, the team focused on improving and simplifying message and activities handling. The Bot Framework Activity Schema is the underlying schema used to define the interaction model for bots.

As with any release, we fixed a number of bugs, continue to improve LUIS and QnA integration and further clean our engineering practices. There were additional updates across other areas like Language, Prompts, Dialogs, State and Storage.

Review all changes that went into 4.4 in the detailed Change Log

Authentication and Security

  • Changed en/decryption cipher to aes-256-cbc to work with Electron 4+ [PR 880]
  • Allow user to specify bot to channel token tenant [PR 841]
  • Add getTokenStatus method [PR 838]
  • Add userId parameter to signOutUser [PR 837]

Language (LUIS, Recognizers, QnA)

  • Lint luisRecognizer.ts [PR 867]
  • Add timeout in luisRecognizer & QnAMaker [PR 857]
  • Handle textless messages differently, bringing Node into parity with .NET [PR 856]
  • Upgrade LUIS to new SDK - this time with feeling [PR 844]
  • Parity with C# - binary compat changes for LuisRecognizer [PR 842]
  • QnA Telemetry Support [PR 823]
  • QnA Telemetry Support [PR 822]
  • Bump to latest LUIS SDK package [PR 817]
  • Telemetry LuisRecognizer & Telemetry Middleware [PR 816]
  • Luis SDK tests (oracle) [PR 800]
  • Add full nock validation for LUIS calls [PR 796]

Prompts and Dialogs

  • Move numberOfAttempts to state from options [PR 889]
  • Ability to change the Prompt Styling through dc.prompt() [PR 875]
  • Add numberOfAttempts to promptOptions [PR 870]

State and Storage

  • Add PartitionKey value to Read and Delete operations [PR 860]
  • Fix AzureBlobTranscriptStore [PR 836]

Connectors and Adapters

  • Add default middleware to patch location of tenantId for MS Teams [PR 886]

General

Engineering Excellence (Build, Automation, Testability, Refactoring)

  • Allow patch version of ms-rest to float. [PR 893]
  • Testbot for emulator [PR 892]
  • Restore the deleted script "test:travis" as "test:coveralls" [PR 871]
  • Removing lerna and typescript install from travis.yml [PR 839]
  • Update build to show branch builds [PR 826]
  • Update due to build name change [PR 825]
  • Update for latest 4.4 Build [PR 824]
  • Enable Sidecar debugging via InspectionMiddleware [PR 897]
  • Move @types/documentdb to dependencies in package.json [PR 821]
  • Replace async-file with fs-extra to match other packages [PR 805]
  • Add lerna to package.json devDependencies [PR 802]
  • Change test description to match implementation [PR 801]
botbuilder-js - 4.3

Published by cleemullins over 5 years ago

In this release, the team focused on improving and simplifying message and activities handling. The Bot Framework Activity Schema is the underlying schema used to define the interaction model for bots. With the 4.3 release, we have streamlined some of the activity types in the Bot Framework Activity Schema. Exposing a simple On* methods (OnMessage, OnEvent, OnConversationUpdate, etc.), simplifying the usage of these activities.

We are in the process of updating the docs and samples to reflect these changes. As with any release, we fixed a number of bugs, continue to improve LUIS and QnA integration and further clean our engineering practices. There were additional updates across the other area like Language, Prompt and Dialogs, and Connectors and Adapters.

Review all changes that went into 4.3 in the detailed Change Log
See the list of all issues

V4.3.0

Language (LUIS, Recognizers, QnA)

  • Add support for LUIS endpoint to LuisRecognizer, tests [PR 780]
  • Update LUIS to new (Azure) nodejs SDK [PR 766]
  • QnA parity [PR 704]
  • Made linting fixes to QnAMaker [PR 731]

Prompts and Dialogs

  • Fixes #737 - Add new HeroCard prompt style to ChoiceFactory [PR 773]
  • Make ActivityPrompt a normal class - remove abstract [PR 744]
  • Added ability to call dialogs within a parent component. [PR 735]
  • Change OAuthPrompt default timeout from 54000000 to 900000 ms [PR 730]
  • Added choices parameter to DialogContext.prompt method [PR 721]
  • Prevent Cortana from trying to use suggested actions in prompts [PR 732]
  • Make defaultChoiceOptions private [PR 741]

State and Storage

  • Truncate length of CosmosDb key to max of 255 chars [PR 760]
  • Made databaseCreationRequestOptions & documentCollectionRequestOptions optional in CosmosDbStorageSettings interface [PR 695]

Integration layer

  • Introduce ActivityHandler class [PR 757]

Connectors and Adapters

  • Fix filename casing for activityHandler.ts [PR 784]
  • Remove events from ActivityHandler that are too channel specific [PR 775]
  • Fixes #755 - null connection name should not be allowed [PR 772]
  • Ability to test OAuthPrompt and mock OAuth APIs [PR 759]
  • Update TokenAPI from new swagger; adds optional channelId property [PR 752]
  • Fix schema issues [PR 751]
  • sort and extend list of channel constants [PR 743]
  • Add support for channelData field in conversation references [PR 712]

Engineering (Build, Automatio, Tests)

  • Revert LUIS runtime library, pin LUIS and ms-rest dependencies [PR 790]
  • Updates to Package formatting and layout [PR 782]
  • Remove unused mstranslator from botbuilder-ai [PR 794]
  • Fixes 764: Outdated transcript-test package is causing GitHub warnings [PR 765]
  • Fixes 762: libraries\swagger\generateClient.sh out of sync with generateClient.cmd [PR 763]
  • Update swagger ms-rest to latest versions [PR 723]
  • Update NodeJS v10.3.0 [PR 709]
  • Update @types/node to v10.12.18 [PR 724]
  • Add more language around daily builds [PR 701]
  • Set Line endings on pacakge.json [PR 776]

General

  • Updated fileTranscriptStore.ts and azureBlobTranscriptStore.ts to use async/await [PR 767]
  • Fix transcript scoping [PR 725]
  • Updated master build status badge [PR 718]
  • Delete libraries/README.md [PR 696]
botbuilder-js - 4.2.1 BotBuilder Release

Published by cleemullins almost 6 years ago

Release 4.2

In this release, the team focused on enhancing monitoring, telemetry, and analytics capabilities of the SDK by improving the integration with Azure App Insights. We have streamlined the integration and default telemetry emitted from the SDK. This include (Waterfall) dialog instrumentation, docs, and examples for querying data, and a PowerBid dashboard. As with any release, we fixed a number of bugs, continue to improve LUIS and QnA integration and further clean our engineering practices. There were additional updates across other areas like Language, Prompt and Dialogs, and Connectors and Adapters.

Review all changes that went into 4.2 in the detailed Change Log
See the list of all issues

V4.2.1 Changelog

  • Published new packages to update our "latest" tag on NPM.

V4.2.0 Changelog

Monitoring, Telemetry and Analytics

  • Add AppInsights package into build publish step [PR 688]
  • Add user agent header to LUIS [PR 677]
  • Add BotTelemetry instrumentation and utilities [PR 662]
  • Fix require of cls-hooked [PR 689]
  • Add console.error for async TranscriptLogger.logActivity() impl in TranscriptLoggerMiddleware [PR 669]

note breaking change

  • [Breaking Change] change PagedResult and TranscriptInfo to interfaces [PR 664]

Language (LUIS, Recognizers, QnA)

  • QnAMaker - Add getAnswers(), fix options in constructor, add metadata, create queryQnaMakerService() [PR 683]
  • Role instead of entity type as property name in composites. [PR 622]

Prompts and Dialogs

  • Fix confirm prompt when invalid locale used with number selection [PR 654]
  • ActivityPrompt wasn't using retryPrompt if specified. [PR 673]

State and Storage

  • Add overloads to BotStatePropertyAccessor.get() [PR 647]
  • Clear state fix [PR 636]
  • Correct NO_KEY messages in State classes for issue #610 [PR 631]
  • Added BotState.delete() method and tests [PR 679]

Connectors and Adapters

  • Update model_fixes.js to set CardAction.channelData as an optional property [PR 659]
  • Updates to validate emulator JWT tokens from US Gov [PR 638]
  • Update swagger to 10/30 snapshot [PR 601]
  • Add getReplyConversationReference [PR 657]

Engineering (Build, Automation, Tests)

  • Improve swagger-generation process for bf-connector & bf-schema libraries [PR 666]
  • Lock internal dependencies to patch version [PR 656]
  • Fixes #640 - Use of deprecated methods causing Warnings during build [PR 653]
  • Pin ms-rest-js and ms-rest-azure-js in botframework-connector and botframework-schema [PR 644]
  • Add channelService to endpoint service of bot configuration file [PR 633]
  • Mime: Update to 1.4.1 for security vulnerability [PR 616]
  • Fix auth tests that were using expired tokens [PR 650]
  • Remove request dependency from botframework-connector library [PR 619]

General

  • Add await to showTypingMiddleware call to sendActivity [PR 672]
  • Correct improper use of await in function declarations [PR 617]
botbuilder-js - Bot Framework Protocol Updates and Government Datacenter Support

Published by cleemullins almost 6 years ago

The 4.1.5 release incorporates changes to the Bot Framework to support activity
PR #601

  • duration
  • localtimeszone
  • HistoryAPI
  • TokenService

Authentication in the US Government data centers has also been added.

botbuilder-js - 4.1 BotBuilder Release

Published by cleemullins almost 6 years ago

Release 4.1 (Oct 31)

In this release the team focused improving engineering practices with better builds, test automation and integration testing. We updated to the latest CosmosDB provider and fix a number of Cosmos DB bugs. There were additional updates across addigional area like Language, Prompt and Dialogs, and Connectors and Adapters.

Change Log 4.1.3

Detailed merged pull-requests that went into 4.1.3

Storage providers

  • update CosmosDbStorage and CosmosDbKeyEscape [PR 561]
  • Fixes and Updates to the CosmosDB Storage Provider [PR 556]
  • Fix #547: don't use select * in queries [PR 553]

Language (LUIS, Recognizers, QnA)

  • Add getEndpoint to ILuisService definition [PR 549]
  • use object spread instead of explicit assigns in LuisRecognizer [PR 530]
  • Change Dutch translation in confirmPrompt ('niet' to 'nee') [PR 528]

Prompts and Dialogs

  • fix ConfirmPrompt and Prompt.appendChoices() bugs, add tests [PR 537]
  • temporarily disable AuthHeader tests to stop build breaks, #533 [PR 534]
  • updated supportsSuggestedActions() for directline & webchat [PR 529]
  • update ChoiceFactory.toChoices to fill in partial Choice.actions [PR 511]
  • add ActivityPrompt and ChoicePrompt tests [PR 496]
  • Fix activity timestamp string to Date. [PR 505]

Connectors, Adapters, middleware

  • botframework-connector auth test cleanup [PR 557]
  • Cleaned up adapter [PR 544]
  • Bugfix BotFrameworkAdapter.createConversation [PR 535]
  • Prevents overwriting the state using AutoSaveState middleware [PR 516]
  • use apply() instead of loops in AutoSaveStateMiddleware, add test [PR 497]
  • Add ShowTypingMiddleware [PR 507]

Engineering (Build, Automation, Tests)

  • delete deprecated Generator code [PR 550]
  • Update Travis Yaml file to pickup MyGet key from Travis variable [PR 543]
  • add number test for ChoicePrompt [PR 532]
  • add tests for BotFrameworkAdapter methods [PR 526]
  • add more tests for choicePrompt and related code [PR 521]
  • Add ComponentDialog, DialogSet, WaterfallDialog and WaterfallStepContext tests [PR 514]
  • Fix npm packages vulnerabilities in Tools [PR 512]
  • Apply tslint rules to all files [PR 510]
  • Fix npm packages vulnerabilities in Generator [PR 509]
  • Update dependencies to latest versions [PR 500]
  • add more tests for State classes and CardFactory [PR 498]
  • Fix npm package vulnerabilities in botframework-connector [PR 494]
  • Use package-lock.json version [PR 493]
  • Use npmjs instead of myget in package-lock.json [PR 492]
  • Add missing botbuilder-core/package-lock.json [PR 491]
  • Add missing botbuilder-azure/package-lock.json [PR 490]
  • Fix npm package vulnerabilities in botbuilder-ai [PR 489]
  • Fix npm package vulnerabilities in botbuilder [PR 488]
  • Update the inline reference docs for botbuilder-ai [PR 486]
  • Fix vulnerability in base64url before 3.0.0 [PR 485]
  • Fix for working with ServerlessFramework [PR 503]
  • BotRecipe.fromJSON to use default values if arg doesn't have expected values, add BotRecipe tests [PR 501]
botbuilder-js - Release of all 4.0.8 packages to npm

Published by Stevenic about 6 years ago

This release adds support needed for deploying bots to Azure Government based data centers.

botbuilder-js - Release of all 4.0.0-preview1.2 packages to npm

Published by Stevenic over 6 years ago

Installation

This is the preview1.2 (release) of all packages to npm. To install you will need to include an @preview tag:

npm install --save botbuilder@preview
npm install --save botbuilder-ai@preview
npm install --save botbuilder-azure@preview
npm install --save botbuilder-choices@preview
npm install --save botbuilder-prompts@preview
npm install --save botbuilder-dialogs@preview