Skip to content

Releases: elsa-workflows/elsa-studio

3.6.0

05 Mar 12:30
1e293c5

Choose a tag to compare

Elsa Studio 3.6.0

Compare: 3.5.3...3.6.0


⚠️ Breaking Changes / Upgrade Notes

  • Elsa.Studio.WorkflowContexts module removed: The WorkflowContexts module has been moved to elsa-extensions. (c08392dec1)

  • Elsa.Studio.Labels module reconstituted: Labels was removed and re-introduced as a standalone module without an external package reference (previously bundled differently). If you were referencing a dedicated Labels NuGet package, update your setup to use the new module registration. (ad346fc536) (#712)

  • IBrandingProvider interface extended: New properties (AppName, AppVersion, Tagline, LoginBackgrounds, DefaultAppBarIcons) were added to IBrandingProvider. If you have a custom implementation, update it to include the new members or derive from DefaultBrandingProvider. (e8ebdd2718) (#698)

  • Login page now uses Radzen components: The login page was redesigned using Radzen.Blazor (replacing the previous MudBlazor-based layout). Applications that customised the login layout directly may need to revisit their overrides. MudDialogProvider has been moved to BasicLayout. (dc1531db32) (#696)


✨ New Features

Workflow Editor

  • Workflow Code View: A JSON/YAML source-code view is now available directly inside the Workflow Editor. Users can edit the raw workflow definition and optionally have changes auto-saved or auto-applied. Adds WorkflowDefinitionOptions with AutoSaveChangesByDefault and AutoApplyCodeViewChangesByDefault properties for host-level configuration. (23f828f05d) (#711)

  • Monaco Dialog Code Editor: A modal full-screen Monaco editor is now available from ExpressionInput and Code input components via a dedicated edit button, enabling comfortable editing of scripts and expressions in a larger surface. (fa8781a571) (#702)

  • Save As: A "Save As" action is available in the Workflow Editor toolbar, letting users clone a workflow into a new definition without leaving the editor. The previous "Duplicate" action has been refactored as "Clone" behind a shared service. (4a11287c14) (#625)

  • Keyboard Shortcut to Save: Workflows can now be saved with Ctrl+S (Windows/Linux) or Cmd+S (macOS) directly from the Workflow Editor. (78a9f11eb3) (#635)

  • Export Dialog with Referencing Workflows: When exporting a workflow definition, users can now opt to include all referencing workflows in the export bundle via a new option in the export dialog. (997a2dcb95) (#762)

Workflow Definition & Instance Lists

  • URL Query Parameter State + Instance Polling: WorkflowDefinitionList and WorkflowInstanceList now synchronize their pagination and filter state with the browser URL query string, enabling deep linking, bookmarking, and back-navigation. Adds a user-controllable polling toggle, configurable polling interval, a Refresh menu item, and Ctrl/Cmd+R support for manual refresh. (22d6b5dff4) (#700)

Activity & Workflow Descriptions

  • Markdown Descriptions: Workflow and activity descriptions now render as Markdown. Introduces reusable MarkdownEditor and MarkdownTextArea components backed by MudBlazor/Radzen, with support for previewing, read-only mode, and localization. Long descriptions in the definition list are truncated with a "view more" option. (76ca1d8df1) (#659)

Branding & Customisation

  • Configurable Branding: IBrandingProvider has been significantly extended to allow white-labelling of Elsa Studio — configure the app name, version, tagline, login page background images (with dark mode variants), and app bar icon visibility. DefaultBrandingProvider supplies sensible defaults and supports file-based logo/background overrides. (e8ebdd2718) (#698)

Platform

  • .NET 10 LTS support: All Elsa Studio NuGet packages now multi-target net8.0, net9.0, and net10.0. Packages include assemblies for all three frameworks. CI/CD updated accordingly. (3e4ba147b5) (#674)

🔧 Improvements

Performance

  • Workflow Designer: Batched Activity Size Calculation: Addresses a severe performance regression (3–5× slower rendering for large workflows) by batching DOM operations and sharing a single requestAnimationFrame loop across all activities instead of one per activity. Adds accurate cache keying by activity type, display characteristics, and port count. Workflows with duplicate activity types benefit from immediate cache hits (10–100× faster). Saved workflows skip redundant calculations when valid sizes are already stored in metadata. (d66dad0b47) (#686)

Workflow Designer

  • Minimum Node Size Enforcement: Activity nodes now enforce a minimum size based on content (display text and description length, port count). Size changes are cached and updates are skipped when the new size is unchanged, reducing unnecessary reflows. (0b02c67257) (#733)

  • Prevent Autosave on Programmatic Node Resizing: Initial-render resizing of activity nodes no longer triggers an autosave. A per-graph suppression flag (with try/finally cleanup) gates graph-update events during programmatic adjustments. Size changes smaller than 0.5 px are also ignored to reduce redundant events. (663812ca8e) (#766)

  • Unified Workflow Export Service: Introduces IWorkflowExportDialogService and WorkflowExportDialogService to centralise export-dialog logic across all workflow views (definition list, editor, version viewer). Exported files now consistently use the backend-provided filename. Bulk-export preserves the current selection when the dialog is cancelled. (aba46df2d4) (#764)

Workflow Instance Viewer

  • Workflow State JSON in Details Tab: The raw workflow state is now exposed as formatted JSON in the Instance Details tab, making it easier to inspect custom state properties. (fb10077fd8) (#603)

  • Variable ID on Hover: The variable ID is now shown as a tooltip when hovering the label/value in the WorkflowInstanceViewer. (6a38442381)

Activity Properties Panel

  • Fault Exception Messages in Test Tab: The Test tab now surfaces fault exception messages when a workflow test run faults, reducing the need to dig through server logs. (d8f6a4c6fc) (#612)

  • Activity Version in Info Tab: The activity version is now visible in the activity Info tab. (d0f90c99a8)

Resilience / Feature Detection

  • Graceful Resilience Feature Handling: RemoteResilienceStrategyCatalog and RemoteActivityExecutionService now check IRemoteFeatureProvider before calling Resilience API endpoints. When the Resilience feature is not enabled on the Elsa Server, API calls are skipped and the UI hides the related tab — no more 404 errors surfacing to users. Results are cached for efficiency. (fd8ce9b3db) (#753) (8564811559)

UI

  • Modernised Login Page: The login page has been redesigned with a two-column card layout, background image, and Radzen.Blazor components. Google Fonts imports have been removed from all HTML host files. (dc1531db32) ([#696](h...
Read more

3.6.0 RC5

27 Feb 09:11
8e5dac8

Choose a tag to compare

3.6.0 RC5 Pre-release
Pre-release

What's Changed

  • Refactor to support asynchronous activity selection by @sfmskywalker in #756
  • Added export dialog for workflows with option to include referencing workflows. by @sfmskywalker in #762
  • Check Resilience feature availability before making API calls by @Copilot in #753
  • Fix clipping of Read Only Tooltip in Monaco Editor by @sfmskywalker in #763
  • Centralize workflow export dialog and fix filenames by @sfmskywalker in #764
  • Prevent autosave on programmatic node resizing by @sfmskywalker in #766

Full Changelog: 3.6.0-rc3...3.6.0-rc5

3.6.0 RC3

02 Feb 19:13
77f1ce9

Choose a tag to compare

3.6.0 RC3 Pre-release
Pre-release

Compare: 3.6.0-rc2...3.6.0-rc3

🐛 Fixes

Workflow List Pagination

  • Workflow Definitions list: Fixed pagination reset to first page after selecting a workflow definition from subsequent pages. Preserved current page state during re-renders in WorkflowDefinitionList. (11d628f) (#735)

  • Query parameter handling: Refactored query parameter parsing logic in QueryTableComponentBase for better maintainability. Uses properties instead of fields for initial page and page size, improving state management across workflow components. (af84428) (#736)

Workflow Designer

  • Node sizing: Added minimum node size enforcement to ensure workflow designer nodes meet minimum size requirements based on activity content. Enhanced activity size caching by incorporating display text and description lengths for improved accuracy. (0b02c67) (#733)

Workflow Instance Viewer

  • Workflow-as-activity instances: Fixed two navigation issues in workflow instance viewer:

    • Double-clicking workflow-as-activity instances now correctly navigates to sub-workflow instances by restoring IsReadOnly parameter initialization.
    • Journal item navigation outside current container/flowchart now properly loads activities by implementing fallback node loading when activity is not immediately found. (2fd5728) (#727)
  • Auto layout: Made "Auto layout" toolbox item consistently available in FlowchartDiagramDesigner regardless of read-only state.

📦 Dependencies

  • Elsa.Api.Client: Updated to version 3.6.0-rc3. (e36fbdc)

📦 Full changelog

All changes in this release have been documented above.

3.6.0 RC2

06 Jan 08:01
d146ffc

Choose a tag to compare

3.6.0 RC2 Pre-release
Pre-release

Compare: 3.6.0-rc1...3.6.0-rc2

🌟 Highlights

  • Introduced Workflow Code View for the editor. (#711)
  • Added Monaco dialog-based code editor experience. (#702)
  • Added configurable branding options. (#698)
  • Improved definitions/instances navigation with URL query params and re-enabled instance polling. (#700)
  • Added studio labels for improved workflow/studio organization. (#712)

⚠️ Breaking changes / upgrade notes

  • No breaking changes noted in commit subjects for this range.

✨ New features

  • Introduced Workflow Code View for the editor. (#711)
  • Added Monaco dialog code editor. (#702)
  • Added definitions/instances URL query params and re-enabled instance polling. (#700)
  • Added more configurable branding options. (#698)
  • Added studio labels. (#712)

🔧 Improvements

  • Updated tagline (“You’re in Charge Now,”), adjusted documentation link, and upgraded dependencies across multiple projects. (4f0acd5)
  • Improved readability/maintainability by removing an incorrect ExpressionEditor wrapper on ActivationStrategy and reformatting Settings.razor and MudBlazor components (no logic changes). (83f9958)
  • Refactored log persistence expression sync variables. (bd36c9c)
  • Refactored log persistence editor sync variable names. (e2a0dd7)

🐛 Fixes

  • Corrected resizing issues for the Code and ExpressionInput components. (090be37)
  • Added dialog-based script editor to missed ExpressionEditor. (5fc7955)

🔁 CI / Build

  • Added release/* branch filter to packaging workflow triggers. (c26d60d)
  • Added release/* branch filter to packaging workflow conditions. (b1224b7)
  • Bumped Elsa.Api.Client to 3.6.0-preview.4162 in Directory.Packages.props. (8af05cb)

📦 Full changelog (short)

  • Adds release notes playbook for Elsa Studio (73a4449)
  • Update tagline to "You’re in Charge Now," adjust documentation link, and upgrade dependencies across multiple projects. (4f0acd5)
  • Add studio labels (#712)
  • Merge branch 'main' into release/3.6.0 (5765147)
  • Add dialog-based script editor to missed ExpressionEditor. (5fc7955)
  • Refactor log persistence expression sync variables (bd36c9c)
  • Refactor log persistence editor sync variable names (e2a0dd7)
  • Remove incorrect ExpressionEditor wrapper on ActivationStrategy and reformat Settings.razor. Reformatted MudSelect, MudCheckBox, and MudTextField components for improved readability and maintainability. No changes to underlying logic or functionality. (83f9958)
  • Feature: Workflow Code View For Editor (#711)
  • Correct resizing issues for the Code and ExpressionInput components. (090be37)
  • Add Monaco Dialog Code Editor (#702)
  • Definitions / Instances URL Query Params & Re-enable Instance Polling (#700)
  • Add release/* branch filter to packaging workflow conditions (b1224b7)
  • Add release/* branch filter to packaging workflow triggers (c26d60d)
  • Bump Elsa.Api.Client to 3.6.0-preview.4162 in Directory.Packages.props (8af05cb)
  • Add more configurable branding options. (#698)

3.6.0 RC1

21 Dec 13:40
89f0e11

Choose a tag to compare

3.6.0 RC1 Pre-release
Pre-release

Elsa Studio 3.6.0 RC1

Highlights

  • Workflow Designer improvements

    • Vertices support for more precise connector routing and cleaner diagrams (#480).
    • TreeView-based Activity Picker for faster navigation in large catalogs (#544).
    • Flowchart handling + performance improvements, including better node handling and editor responsiveness (#499, #669, #670, #686).
    • Activity testing support to speed up iteration while designing workflows (#541, #612).
  • Workflow Editor productivity

    • Save As support (#625).
    • Ctrl+S / Cmd+S hotkey support (#635).
    • Duplicate workflow from definition list (#569).
  • Auth & integration

    • PKCE support for OIDC authorization code flow (#519).
    • JWT support for WorkflowInstanceObserverFactory (#463).
  • UI/UX polish

    • Redesigned & modernized login page (#696).
    • Multiple UI consistency fixes and improvements across the Studio (#511, #512, #555).
  • Localization

    • French translations (#532).

What’s Changed

New Contributors

Full Changelog: 3.5.1...3.6.0-rc1

3.5.3

20 Dec 15:27
6538dc3

Choose a tag to compare

Full Changelog: 3.5.2...3.5.3

3.5.2

18 Nov 19:53
a948a9e

Choose a tag to compare

What's Changed

Full Changelog: 3.5.1...3.5.2

3.5.1

27 Sep 10:03
853ebda

Choose a tag to compare

What's Changed

New Contributors

Full Changelog: 3.5.0...3.5.1

3.5.0

15 Aug 08:53
fd5a709

Choose a tag to compare

What's Changed

New Contributors

Full Changelog: 3.4.0...3.5.0

3.5.0 RC4

08 Aug 20:35
2c01933

Choose a tag to compare

3.5.0 RC4 Pre-release
Pre-release

Full Changelog: 3.5.0-rc3...3.5.0-rc4