47 KiB
1.0.0
In this release:
Composer desktop application
We are excited to be releasing version 1.0 Composer desktop application! With the desktop version of Composer, users no longer need to clone the repository and build from source. There versions available for all platforms. To see all releases, visit the releases tab or go to https://aka.ms/download-composer for the latest version.
4.9 SDK
This release includes version 4.9 of the BotFramework BotBuilder SDK. Check out the release notes here.
Composer Plugins
A preview version of Composer plugins is shipping with this release. With plugins, developers can extend Composer functionality in many ways such as authentication, custom storage, custom publishing as well as extending the Composer api in arbitrary ways.
To see examples of plugins, look in the ./Composer/plugins
directory.
Managed runtime
By default, new bots created with Composer will only include the declarative assets (dialogs, lu, and lg files). The runtime needed to run the bot is managed by Composer. If users want to customize the runtime, they can do so by "ejecting" from the settings page.
Azure deploy
An example of a plugin that the Composer team has worked on is the Azure Publish plugin. With this, users can now provision and deploy their bots to Azure Bot Service directly through Composer!
Accessibility updates
Many accessibility improvements were made in this release. We are always striving to ensure our products meet the highest standards of accessibility compliance.
Full Changelog
Added
- feat: 1.0.0 (#3090) (@cwhitten)
- feat: Added custom windows / mac installer graphics. (#3082) (@tonyanziano)
- feat: 4.9.1 runtime packages (#3062) (@cwhitten)
- feat: add tutorial tiles (#3057) (@cwhitten)
- feat: Custom Action Sample (#2950) (@luhan2017)
- feat: Runtime + Deployment: Azure function support (preview version) (#2923) (@srinaath)
- feat: Added the ability to display the skill manifest from property editor (#2994) (@tdurnford)
- feat: Added UI to configure auto update behavior (#2947) (@tonyanziano)
- feat: package and schema update for 4.9.0-RC4 (#2911) (@luhan2017)
- feat: Goto Begin Dialog after clicking dialog (#2922) (@tdurnford)
- feat: manage samples via plugin (#2805) (@boydc2014)
- feat: azure publish plugin (#2733) (@benbrown)
- feat: Copy skill manifests to static files (#2865) (@tdurnford)
- feat: support creating actions from ejected schema in Visual Editor (#2806) (@yeze322)
- feat: add more comments in all lu editors (#2712) (@liweitian)
- feat: Added skill manifest editor wizard (#2815) (@tdurnford)
- feat: Copy boilerplate material into new bot projects (#2837) (@benbrown)
- feat: Update sdk schema (#2729) (@luhan2017)
- feat: Create a bot through bfcomposer protocol (#2758) (@srinaath)
- feat: make runtime configurable (#2679) (@zidaneymar)
- feat: LU copy & paste & delete with unified CRUD lib (#2718) (@yeze322)
- feat: Add runtime settings page and eject (#2572) (@benbrown)
- feat: add down sampling before luis publish (#2629) (@lei9444)
- feat: Show code toggle, moves Add button (#2723) (@cwhitten)
- feat: Implemented Auto-Update Electron UX (#2721) (@tonyanziano)
- feat: add publish target configuration schema (#2719) (@a-b-r-o-w-n)
- feat: Open a bot through bfcomposer protocol (#2706) (@srinaath)
- feat: lg naming migration (#2597) (@zhixzhan)
- feat: Added required indicator to field labels in the AdaptiveForm package (#2704) (@tdurnford)
- feat: various skills ux additions, export functionality (#2693) (@cwhitten)
- feat: publishing page (#2440) (@benbrown)
- feat: add new actions in samples (#2559) (@luhan2017)
- feat: Visual Editor as an extension (#2586) (@yeze322)
- feat: Added select skill dialog ui plugin (#2590) (@tdurnford)
- feat: add js version deployment script (#2463) (@zidaneymar)
- feat: add ability to set code editor settings (#2552) (@a-b-r-o-w-n)
- feat: Create bot flow (#2521) (@liweitian)
- feat: skills page (#2449) (@zhixzhan)
- feat: Setup infrastructure to launch and package Composer as an Electron app (#2462) (@tonyanziano)
- feat: create lg template when schema provides a default value (#2487) (@a-b-r-o-w-n)
- feat: support custom event type in EmitEvent Action (#2435) (@a-b-r-o-w-n)
- feat: Managed LU sample - updates to TodoBotWithLuis (#2284) (@vishwacsena)
- feat: add adaptive-form and extension packages (#2118) (@a-b-r-o-w-n)
- feat: Rewrite suggestions and diagnostics in LG LSP with latest LG APIs (#2208) (@cosmicshuai)
- feat: multi-locale bot file structure (#2164) (@zhixzhan)
- feat: lg/lu editor support warning message style (#2289) (@zhixzhan)
- feat: Add language parameter to deploy script (#2308) (@Victor Muñoz)
- feat: Plugin loader and multi-user capabilities (#2023) (@benbrown)
- card suggestion in LG LSP (#2363) (@cosmicshuai)
- feat: Show location in recent bots list (#2980) (@cwhitten)
- Update Echobot and Empty samples to include a greeting template (#2836) (@cwhitten)
Fixed
- fix: allow tenantId to be specified in provisioning script (#3084) (@benbrown)
- fix: nothing displayed in a structured activity response (#3073) (@yeze322)
- fix: Goto Begin Dialog after clicking dialog (#3079) (@tdurnford)
- fix: remove cache when getProjectById (#3067) (@zhixzhan)
- fix: duplicated key in recent bot list (#3069) (@liweitian)
- fix: update about page (#3058) (@cwhitten)
- fix: can not open a bot if manifest url is invalid (#3050) (@zhixzhan)
- fix: Unable to open another bot (#3051) (@lei9444)
- fix: Update schema (#3044) (@luhan2017)
- fix: README indentation update (#3033) (@srinaath)
- fix: remove explicit
UseCosmosDbPersistentStorage
UseTranscriptLoggerMiddleware
settings and use API to get tenant ID (#2964) (@zidaneymar) - fix: adjust shape of publishing configuration for clarity (#3029) (@benbrown)
- fix: add skill show error if manifest url can not be accessed (#2935) (@zhixzhan)
- fix: add links to .NET Core SDK to publish error (#3011) (@beyackle)
- fix: Maximum call stack size exceeded when open a bot (#3025) (@lei9444)
- fix: update lu related packages to released version (#3018) (@lei9444)
- fix: Added missing app-update.yml file. (#3010) (@tonyanziano)
- fix: layout issue when visual editor has no actions (#3008) (@a-b-r-o-w-n)
- fix: unify file folder (#3001) (@liweitian)
- fix: remove outer focus container from visual editor (#2997) (@a-b-r-o-w-n)
- fix: fix issue with addWebRoute() api extension method (#2990) (@benbrown)
- fix: remove github secrets from config (#2991) (@benbrown)
- fix: Flyout labels, property editor title/subtitles for action nodes updated (#2930) (@srinaath)
- fix: update botProject in server cache after eject (#2985) (@VanyLaw)
- fix: IfCondition layout (#2981) (@yeze322)
- fix: cache the url to keep the page live (#2969) (@lei9444)
- fix: update bf-lu version to 4.9.0-RC6 (#2984) (@lei9444)
- fix: update bf-lu version to 4.9.0-RC4 (#2954) (@lei9444)
- a11y: focus move around composer, visual editor & form editor when click tab. (#2785) (@alanlong9278)
- fix: Register IBotTelemetryClient and add telemetry initializer middleware… (#2916) (@garypretty)
- fix: copy manifest to eject runtime before publish (#2953) (@VanyLaw)
- fix: editor show error (#2939) (@lei9444)
- fix: improved lu/lg editor performance (#2904) (@lei9444)
- a11y: add ARIA landmarks for navigation regions (#2929) (@beyackle)
- fix: Goto begin dialog trigger on selecting dialog (#2944) (@tdurnford)
- fix: improper visual node content in SetProperty / SetProperties (#2936) (@yeze322)
- fix: Copy skill manifests to the correct directory in the localPublish plugin (#2932) (@tdurnford)
- fix: Improved Electron auto update UX (#2925) (@tonyanziano)
- fix: Action Flow gradual left alignment (#2909) (@yeze322)
- fix: word wrap in SendActivity (#2908) (@yeze322)
- fix: Fixed various onboarding issues and updated content (#2900) (@tdurnford)
- fix: paste blank node (#2905) (@alanlong9278)
- fix: unable to clear form title (#2885) (@a-b-r-o-w-n)
- fix: Populate env variable with AppData folder (#2894) (@srinaath)
- a11y: use Key/Value aria labels in object field (#2890) (@beyackle)
- fix: changes manifest type from '.manifest' to '.json' (#2888) (@tdurnford)
- fix: minor ui cleanup (#2874) (@cwhitten)
- fix: prevent infinite render loop (#2871) (@a-b-r-o-w-n)
- fix: use lefthand nav icon selector in NotificationPage.spec.ts (#2863) (@beyackle)
- fix: reformat sample bot dialogs (#2864) (@beyackle)
- fix: do not over fetch the project (#2842) (@a-b-r-o-w-n)
- fix: add single-click-to-open links (#2847) (@beyackle)
- fix: Script registration for Windows (#2848) (@srinaath)
- fix: unexpected file changes when editing (#2786) (@zhixzhan)
- fix: add a new help URL to the Expression editor (#2814) (@beyackle)
- fix: only apply throttle on lu/lg
update
handler (#2823) (@yeze322) - fix: clean LG/LU resources when deleting a Trigger (#2844) (@yeze322)
- fix: concurrency control in persistence layer (#2742) (@lei9444)
- fix: Composer report error when select false in if-else step (#2821) (@lei9444)
- fix: telemetry logger middleware (#2800) (@zidaneymar)
- fix: Updated Composer Electron app menu (#2834) (@tonyanziano)
- a11y: accessibility issue 2068 (#2779) (@liweitian)
- a11y: Unify screen reader in visual editor (#2756) (@alanlong9278)
- fix: Server will now dynamically mount on an open port. (#2772) (@tonyanziano)
- fix: bot creation at an unexpected location (#2826) (@liweitian)
- fix: Fixed select skill endpoint dropdown (#2816) (@tdurnford)
- a11y: fix accessibility issue 2011 (#2830) (@cwhitten)
- a11y: accessibility issue 2055 (#2732) (@liweitian)
- fix: skill blank page (#2822) (@zhixzhan)
- fix: do not cause runtime error for bots with empty lg files (#2803) (@luhan2017)
- fix: crosstrain for dialog without lu file (#2796) (@lei9444)
- fix: Open (#2812) (@cwhitten)
- fix: eject schema with runtime (#2787) (@boydc2014)
- fix: make error messages multiline (#2811) (@beyackle)
- a11y: add keyboard shortcut for copy, cut, paste (#2694) (@alanlong9278)
- a11y: Accessibility2022 (#2777) (@liweitian)
- fix: unexpected lg name replacement in dialog dataTime (#2774) (@zhixzhan)
- fix: Visual Editor layout issue after refreshing the page (#2780) (@yeze322)
- fix: the action in new dialog should be an Array (#2776) (@lei9444)
- fix: fix luis appid not found error (#2761) (@zidaneymar)
- a11y: accessibility issue 2026 (#2740) (@liweitian)
- a11y: accessibility issue 2019 (#2711) (@liweitian)
- fix: Fixed Composer Electron startup window dimensions (#2769) (@tonyanziano)
- fix: Fixes Cards template (#2752) (@cwhitten)
- a11y: add linkBtn to tab-order (#2717) (@alanlong9278)
- a11y: Focus move to visual panel after selecting dialog (#2685) (@lei9444)
- fix: hidden item in lg/lu navigation list (#2747) (@zhixzhan)
- a11y: use useShell for global announcements (#2734) (@beyackle)
- fix: Updated some auto-update UX copy to be more accurate. (#2744) (@tonyanziano)
- fix: removed dev-mode call to setAsDefaultProtocolClient (#2736) (@tonyanziano)
- fix: Restore bot name in header (#2735) (@tonyanziano)
- fix: support the cross train corner case (#2673) (@lei9444)
- fix: show bot url as tooltip (#2676) (@boydc2014)
- fix: Auto-Suggestion for fields and values for structure LG (#2681) (@cosmicshuai)
- a11y: accessibility 2026 (#2701) (@liweitian)
- a11y: make focus visible on create node button (#2677) (@alanlong9278)
- a11y: add home page elements to tab index (#2665) (@beyackle)
- a11y: Accessibility 2091 (#2661) (@liweitian)
- a11y: update the aria-label and placeholder in search box (#2653) (@lei9444)
- fix: render correct field when value is '0' (#2666) (@a-b-r-o-w-n)
- a11y: update about page (#2646) (@beyackle)
- a11y: add announcement region to app and announce copy/deletion (#2643) (@beyackle)
- a11y: Add role project tree (#2637) (@lei9444)
- fix: FlowEditor edges not shown in Electron container (#2638) (@yeze322)
- fix: scroll bar missing and some ux issue (#2639) (@zhixzhan)
- fix: improved lg editor performance (#2632) (@a-b-r-o-w-n)
- a11y: restructure field labels for better a11y (#2631) (@beyackle)
- fix: Added aria label to help links (#2630) (@tdurnford)
- a11y: add sorting ability to Open dialog (#2616) (@beyackle)
- a11y: Add aria-label to node (#2604) (@alanlong9278)
- fix: bug about deleting empty folder (#2587) (@liweitian)
- fix: various form bugs (#2592) (@a-b-r-o-w-n)
- fix: save as can't navigate to the target project (#2601) (@lei9444)
- a11y: fix "select" confusion in FileSelector (#2591) (@beyackle)
- a11y: add ARIA labels to various buttons and fields (#2522) (@beyackle)
- a11y: update a11y label in ObjectArrayField (#2589) (@beyackle)
- a11y: add some missing ARIA attributes (#2588) (@beyackle)
- fix: delete menu for triggers, dialogs disppears (#2582) (@lei9444)
- fix: catch the throw error message from the luis file check function (#2557) (@lei9444)
- fix: notification error navigate (#2561) (@zhixzhan)
- a11y: fix NavItem a11y issues (#2502) (@beyackle)
- fix: Permission issue when creating a bot (#2464) (@liweitian)
- a11y: change button to icon in FieldLabel.tsx (#2551) (@beyackle)
- fix: add locale to lu cross train config (#2542) (@lei9444)
- fix: do not parse all lu files when updating (#2548) (@lei9444)
- fix: editor warning message hidden (#2540) (@zhixzhan)
- fix: lg parse template body/comments issue (#2373) (@zhixzhan)
- fix: add scrollbar for form (#2547) (@lei9444)
- a11y: Fix creation flow radio and template text color (#2483) (@corinagum)
- fix: rename ToDoBotWithLuisSample assets to lowercase (#2497) (@zhixzhan)
- a11y: add callout to Onboarding toggle switch (#2390) (@beyackle)
- fix: fix issue rendering delete properties action (#2460) (@a-b-r-o-w-n)
- fix: only register lg & lu languages once on the monaco instance (#2467) (@beyackle)
- fix: do not default to / when user has not saved any bots yet (#2466) (@liweitian)
- fix: make if/else language prompt work (#2442) (@beyackle)
- fix: failed to open OpenBot pop up after the first time the app start (#2445) (@liweitian)
- fix: Fix BotStatus and error message synchronize problem (#2359) (@VanyLaw)
- fix: fix empty model error in luis build while deploying (#2402) (@zidaneymar)
- fix: Show disk name (#2412) (@liweitian)
- fix: small typo on create from scratch page (#2434) (@liweitian)
- fix: highlight design page nav item (#2433) (@liweitian)
- fix: pass diagnostics to inline code editors (#2419) (@a-b-r-o-w-n)
- fix: use custom schema when creating new dialogs (#2405) (@a-b-r-o-w-n)
- fix: lu serialization from form component (#2403) (@cwhitten)
- fix: deprecate editor.schema in favor of pure ui schema (#2389) (@a-b-r-o-w-n)
- a11y: show editor errors on multi line (#2388) (@beyackle)
- fix: lu update section issue (#2272) (@zhixzhan)
- fix: lg resolver with locale (#2362) (@zhixzhan)
- a11y: use formError state in "New Dialog" form (#2369) (@beyackle)
- a11y: have screen-reader extract card titles from headers (#2367) (@beyackle)
- fix: file serialization regressions (#2360) (@zhixzhan)
- fix: add disk names (#2274) (@liweitian)
- fix: can't find referred lu files for publishing (#2358) (@lei9444)
- fix: set luis recognizer type for dialog in formEditor (#2347) (@alanlong9278)
- a11y: add arialabel and make lg/lu nav operable by keyboard (#2147) (@liweitian)
- fix: fix Visual Editor nested flow flickering issue by improving layout cache management (#2176) (@yeze322)
- fix: Make menu show when hovering over dialog name and change js->ts (#2331) (@lei9444)
- a11y: resolve issues in Notifications page (#2343) (@beyackle)
- a11y: move FocusZone from NavItem to App (#2341) (@beyackle)
- fix: display object types correctly in SetProperties (#2335) (@yeze322)
- fix: lu file error in interruption sample (#2340) (@VanyLaw)
- fix: show choices when it's typed with string[] or expression (#2334) (@yeze322)
- fix: fix SendActivity flikering issue by turning async Lg api call to sync (#2173) (@yeze322)
- a11y: accessibility issues (#2155) (@liweitian)
- a11y: make SR read field descriptions on widgets (#2281) (@beyackle)
- fix: auto re-init data.json when schema updated (#2316) (@boydc2014)
- a11y: remove extra Link stuff from settings Nav (#2310) (@beyackle)
- fix: Replace Deprecated CosmosDB Interface in BotProject (#2307) (@zidaneymar)
- fix: open dotnet sdk in a new browser window (#3060) (@beyackle)
- fix: publish plugins in electron not loading (#3055) (@tonyanziano)
- fix: improve tag parsing when creating or editing a skill (#3038) (@beyackle)
- fix: visual call selectTo is empty (#3016) (@zhixzhan)
- fix: dereference schema definitions after loading project (#3012) (@a-b-r-o-w-n)
- fix: trigger creation bug (#2968) (@liweitian)
- fix: issue that causes deploy to fail if there are spaces in the path (#2958) (@benbrown)
- fix #2649 (#2650) (@yeze322)
- fix #2667 (#2672) (@yeze322)
- fix accessibility issue 2022 (#2741) (@liweitian)
- fix accessibility issue on create new bot dialog (#2683) (@liweitian)
- fix behavior of object-array fields (#2407) (@beyackle)
- Fix border issue in visual editor (#2891) (@cwhitten)
- fix editor warning (#2446) (@zhixzhan)
- fix expression field losing focus when error (#2408) (@a-b-r-o-w-n)
- fix expression version and suggestions (#2607) (@cosmicshuai)
- fix focus order (#2698) (@liweitian)
- fix merge revert (@zhixzhan)
- fix restarting bot by killing all child processes of bot (#2861) (@a-b-r-o-w-n)
- Fix start bot in windows (#2873) (@boydc2014)
- fix visual designer selection issue (#2439) (@a-b-r-o-w-n)
- fix: use default runtime when runtime field not defined in settings.json (#2906) (@VanyLaw)
- accessibility issue 2052 (#2682) (@liweitian)
- Add aria labels to radio buttons (#2593) (@corinagum)
- autofocus on Name field (#2678) (@liweitian)
- can not use event capture in visual editor (#2913) (@alanlong9278)
- clean project registry before create new project (#2716) (@boydc2014)
- extract memory variables at lg lsp server (#2902) (@zhixzhan)
- Fixed packaged folder structure. (#2887) (@tonyanziano)
- Fixed unset electron production flag. (#2860) (@tonyanziano)
- focus on the last element after create a new lg Template (#2778) (@liweitian)
- img dispaly incorrent when zoom in (#2608) (@alanlong9278)
- inline LU suggestion card (#2377) (@cosmicshuai)
- make screen reader announce loading status (#2663) (@liweitian)
- make table content associated with table label (#2640) (@liweitian)
- make the cell only focusable on tab or arrows keys rather than mouse click (#2728) (@liweitian)
- re-enable composer start up message (#2702) (@a-b-r-o-w-n)
- Search root dialog instead of hard code to main.dialog (#2349) (@boydc2014)
Changed
- style: update UI for app settings (#3059) (@a-b-r-o-w-n)
- style: make focus styles more consistent (#2898) (@a-b-r-o-w-n)
- style: unify focus style (#2714) (@liweitian)
- refactor: Move indexer to client and add file persistence layer (#2348) (@lei9444)
- style: change custom action theme (#3066) (@yeze322)
- style: add border to home-page buttons (#2995) (@beyackle)
- Change banner color (#2838) (@cwhitten)
- color change for arrow node (#2669) (@alanlong9278)
- diff ChoiceInput and other schema (#2739) (@yeze322)
- remove x scroll bar when zoom-in (#2710) (@liweitian)
Other
- test: use api to create bot in e2e tests (#3081) (@a-b-r-o-w-n)
- chore: update resultProperty description of http request step (#3003) (@alanlong9278)
- chore: add schema diff UT & add null checking in deleteTrigger (#2856) (@yeze322)
- chore: Component Governance (#2899) (@srinaath)
- perf: improve property editor performance (#2921) (@lei9444)
- docs: update usage of $ instead of @, equal sign when assigning (#2872) (@sLedgem)
- chore: update cypress (#2850) (@a-b-r-o-w-n)
- chore: add byackle to codeowners (#2771) (@beyackle)
- chore: disable mockRemotePublish plugin (#2766) (@boydc2014)
- ci: consolidate test-utils and add easy e2e script (#2688) (@a-b-r-o-w-n)
- chore: remove show values toggle in settings page (#2476) (@VanyLaw)
- chore: do not render extensions in iframe (#2480) (@a-b-r-o-w-n)
- chore: '$type' -> '$kind' (#2333) (@yeze322)
- docs: update docs in readme to point to docs site (#2454) (@zxyanliu)
- chore: remove duplicate file (#2438) (@Mike Chelen)
- docs: fix broken link for getting started docs (#2431) (@Mike Chelen)
- chore: merge stable into main (@a-b-r-o-w-n)
- chore: clean SDKTypes leak in indexer, dialogFactory (#2313) (@yeze322)
- build: Changed mac build script to target .zip artifact. (#3013) (@tonyanziano)
- perf: lg/lu editor performance enhancements (#3002) (@zhixzhan)
- build: add yarn clean (#2659) (@alanlong9278)
- chore: Adds releases directory (@cwhitten)
- Generate third party notice (#2614) (@srinaath)