Skip to content

3.8.0

Choose a tag to compare

@sfmskywalker sfmskywalker released this 05 Sep 11:03
· 88 commits to main since this release
8539524

Compare: 3.7.1...3.8.0


🌟 Highlights

  • Operational dashboard: Studio’s root experience is now a dashboard shell with remote-gated workflow and diagnostics widgets. Companion modules contribute widgets through stable zones and payload contracts, so hosts can include only the capabilities their backend advertises. (948777a7, ac383501, 72bf112a, #879)

  • Diagnostics workspace: Studio adds separate Structured Logs, raw Console Logs, and OpenTelemetry viewers with recent-data backfill, live SignalR updates, feature/permission gating, workflow/trace correlation, and dashboard status widgets. Structured Logs remains semantic ILogger data; Console Logs remains raw stdout/stderr. (#810, #821, #822, #833, #834)

  • Workflow authoring: Sequence workflows gain a React Flow designer and explicit sequence mode; State Machine workflows move to X6 and gain structured state/transition inspectors, trigger/condition/action authoring, lossless condition editing, JSON repair guidance, and accessible activity selection. (#812, #818, #819, #873, #985)

  • Root activity and designer productivity: New workflow creation and embedded activity ports can choose a root activity template. The activity picker supports suggested/recent/all views, category filtering, search, designer-backed replacement, and safer JSON editing while preserving activity identity. (#878, #946, 6f178db2, a5b2d237)

  • Authentication and administration: Studio adds brokered External Authentication management, connection and identity-link workspaces, configurable application/login themes, user and role management, and improved identity display/copy flows. (#920, #921, #936, 39637f74, 3905f930)

  • Operational extensions: New Secrets management and picker/update UX, Alterations staging/designer flows, Platform artifact submission actions, HTTP Webhooks navigation, and the Weaver AI workspace extend Studio beyond workflow editing. Weaver streams Core-owned capabilities, tools, and chat; proposal review/apply controls remain unavailable until Core exposes the corresponding action endpoints. (#823, #826, #839, #900, a067420e)


⚠️ Breaking changes / upgrade notes

  • Authentication composition is now explicitly selected. Hosts that adopt the shared authentication UI or brokered External Authentication must register exactly one authentication provider. Direct OpenID Connect and Elsa Identity remain supported, but legacy Elsa.Studio.Login, Elsa Identity, direct OIDC, and brokered External Authentication registrations must not be mixed. See the External Authentication migration guide. (c0b1969f, aa8dd851)

  • Brokered External Authentication has separate Server and WebAssembly trust models. Server hosts use a confidential client with server-side credential retention; WebAssembly hosts use a public client with mandatory PKCE and memory-only credentials by default. Configure Authentication:Provider and the matching Authentication:ExternalAuthentication section before enabling it. (497a3cae, docs/migrations/external-authentication.md)

  • Pair Studio with the matching Elsa Core diagnostics and authentication features. Diagnostics navigation and dashboard widgets are remote-feature and permission gated; when the backend does not advertise a feature, the corresponding route is hidden or renders an unavailable/unauthorized state. (72bf112a, 3b2ea27f, d6018c30)

  • Backend compatibility: Studio 3.8.0 consumes Elsa.Api.Client 3.8.0. Upgrade the corresponding Core packages before updating Studio. (85395246)


✨ New features

Dashboard and diagnostics

  • Dashboard: Replaces the previous Studio home with a composable operational dashboard. Widgets register by semantic zone and required backend capability, allowing workflow, structured-log, console-log, and OpenTelemetry modules to contribute independently. (948777a7, 5997b32d, d746b39d, ac383501, 72bf112a)
  • Structured Logs: Adds a semantic log viewer for rendered messages, templates, properties, scopes, exceptions, source metadata, trace/span IDs, workflow context, tenant, and correlation fields, with recent backfill, live updates, storage diagnostics, and filtering. (#810, #816, #821)
  • Console Logs: Adds a raw stdout/stderr viewer with source selection, recent lines, live streaming, ANSI color support, workflow-instance scoping, and an instance-viewer tab. (#822, #831, #833, b82e3756)
  • OpenTelemetry: Adds a feature-gated viewer for normalized Core resources, traces, metrics, OTLP logs, storage diagnostics, and collector configuration. Trace/span/resource/time correlation uses public contracts and remains separate from Structured Logs and Console Logs. (#834, 3b2ea27f, 2cdb8853)
  • Alterations: Adds a feature-gated designer for discovering supported instance/activity changes, staging edits, reviewing a plan, and submitting alterations. (#823, #837, 43dbadc9)
  • Secrets: Adds secret management pages, secret picker controls for activity inputs, and managed secret update UX. (#826, #840, 8145e7e3)
  • Platform integration: Adds workflow-definition submission actions and snapshot packaging for Elsa Platform artifacts. (#839, c8755016)
  • Webhooks: Adds the Studio HTTP Webhooks module and navigation entry. (a067420e)

Workflow designer

  • React Flow Sequence designer: Adds a React Flow-based designer, sequence mode, auto-layout, vertical/horizontal layout controls, and move-earlier/move-later actions. (#812, #819, #873, 64034310)
  • State Machine designer: Migrates the State Machine canvas to X6 and adds an outline, state inspector, transition inspector, trigger/condition/action slots, state/transition authoring, designer-backed activity replacement, and safe fallbacks for incomplete definitions. (#818, d8077579, 1de8617a, 402168f1, 69285b09, ab8261fb)
  • Activity picker and JSON editing: Adds suggested/recent/all activity views, category filters, search, recent activity tracking, JSON editing with line/column validation, repair guidance, and identity-preserving Apply/Cancel behavior. (1133f8fa, 6f178db2, a5b2d237)
  • Root activity selection: Adds root activity selection to new workflow creation and embedded branch/root activity ports. (#878, #946)
  • Validation visibility: Displays workflow validation API errors in the Studio UI. (2c3fea7d)

Authentication and administration

  • Shared login themes: Adds configurable login presentations, theme packs, application-theme inheritance, and host configuration validation. Built-in theme IDs include classic, workflow-constellation, workflow-aurora, execution-timeline, and human-automation. (#921, c95ebaac, 39637f74)
  • External Authentication: Adds broker login methods plus connection management, identity-link management, session controls, provider-specific editors, connection testing, preview sign-in, read-only deployment configuration visibility, and managed-secret replacement flows. (#920, c0b1969f, aa8dd851)
  • User and role management: Adds administration navigation for users and roles and improves copyable user/identity IDs. (#936, 51a954e2, e1bc5efc, 3905f930)
  • Weaver workspace: Adds a Core-backed AI workspace with capability/tool discovery and server-sent chat streaming. Provider SDKs remain outside the Studio browser boundary. (#900, fb5e371f)

🔧 Improvements

  • Authentication reliability: External-authentication catalog calls now retry recoverable failures; incomplete drafts and manual connection keys are preserved; host authentication defaults remain runnable; and authentication navigation, logging, and local/broker login styling are more consistent. (e9eb53c4, a84dbcf1, e5cc212d, d030aa54, afb7486f, 9eea02ea)
  • Designer behavior: Sequence layout remains connected after resizing, output-converter state loading/disposal is stabilized, activity labels prefer custom display text, and workflow canvas styling is more consistent. (07c50686, 28ec9451, 21f82f50, ca9408fe, 809f2e35, 344aa5ba, 2674b1cd)
  • Console and diagnostics UX: ANSI segments are cached, refresh behavior is coordinated with activation, OpenTelemetry listings scroll, and workflow-instance log views reuse the shared viewer. (c8a5776f, c4f070ce, 2cdb8853, c85eb705)
  • Accessibility and routing: State Machine selection, activity picker navigation, workflow validation, and editor JSON feedback receive focused accessibility and routing improvements. (6f178db2, 2c3fea7d, a5b2d237)
  • Feature composition: Dashboard modules are split into independently registered projects, remote feature gates are applied to optional experiences, and focused Studio warnings are resolved. (72bf112a, ac383501, 97448f3f, #897, #898)

🐛 Fixes

  • Workflow lists: Prevents an unwanted refresh of WorkflowInstanceList when a workflow instance changes. (#817)
  • Console logs: Fixes viewer review findings, refresh coordination, source/instance scoping, ANSI rendering, and instance-tab integration. (#831, 2bbb9115, b7e9eb7d, c4f070ce)
  • External Authentication: Restores runnable server defaults, keeps the authentication boundary usable, aligns connection routes and menus, preserves manually edited keys, and allows incomplete drafts to be saved for later completion. (d030aa54, bd006249, 3ce99ae0, e5cc212d, a84dbcf1)
  • Login themes: Fixes theme binding and authentication integration across Studio hosts. (7c595fc9, 4b0e708d)
  • Workflow designer: Keeps sequence connections intact after resizing, removes unwanted port outlines, and avoids stale output-converter state. (28ec9451, 3fc5ce1c, 21f82f50, ca9408fe, 809f2e35)
  • State Machine authoring: Hardens transition fallbacks and safeguards, fixes conditional code-editor actions, and clarifies repair guidance for invalid activity JSON. (f60e2d52, ab8261fb, b9cad731, a5b2d237)
  • Activity display: Custom display text is now preferred over the activity type name where configured. (344aa5ba)
  • Feature catalog: Authentication failures are retried and cancellation/concurrency behavior is covered by tests. (e9eb53c4, 25da724a)

🧩 Developer-facing changes

  • Module registration: Hosts can register dashboard, workflow dashboard, Structured Logs, Console Logs, OpenTelemetry, Secrets, Weaver, Alterations, External Authentication, and theme modules independently; optional modules remain usable when a backend capability is absent. (src/hosts/Elsa.Studio.Host.Server/Program.cs, src/hosts/Elsa.Studio.Host.Wasm/Program.cs)
  • Diagnostics contracts: Studio mirrors Core-owned normalized diagnostics DTOs and routes; Studio does not parse OTLP payloads or own ingestion, redaction, storage, or permissions. (src/modules/Elsa.Studio.Diagnostics.OpenTelemetry/README.md)
  • Authentication extension points: Shared login method catalogs, login-theme providers, Studio theme packs, and external-authentication custom connection editors provide typed composition seams. (src/modules/Elsa.Studio.Authentication.Abstractions, src/modules/Elsa.Studio.ExternalAuthentication)
  • Workflow extension points: Sequence and State Machine designers expose activity selection/update callbacks, toolbox actions, and JSON-preserving editor flows for host modules. (src/modules/Elsa.Studio.Workflows)
  • Package metadata: React wrapper metadata, npm provenance metadata, release ignores, and Dependabot configuration are aligned for package publication. (#824, 98e53554, 61ebe170)

🧪 Tests

  • Adds focused unit coverage for dashboard widget registration, diagnostics mapping/state, Console Logs behavior, authentication themes, External Authentication, Weaver serialization/reducer state, administration navigation, and workflow editor behavior. (src/modules/*Tests, 25da724a, c4f070ce)
  • Adds browser coverage for External Authentication flows and accessibility behavior. (tests/browser/ExternalAuthentication)

🔁 CI / Build

  • Release packaging now uses trusted publishing for NuGet and npm, avoids duplicate release execution, tolerates already-published npm versions, derives npm dist-tags from package versions, and pins npm to the 11.x line. (9c0785f8, 935edd5c, 78670057, 0e38bd2b, eaae21ec)
  • The package workflow base version is set to 3.8.0; React package metadata and npm provenance declarations are completed. (010d8ca7, 98e53554, 61ebe170)
  • Test and solution organization is updated for the new Settings, Dashboard, Diagnostics, and feature modules. (652092b3, 72bf112a, d7390c06)

📦 Dependencies

  • Elsa.Api.Client: aligned to stable 3.8.0 after the Core package release. (85395246)
  • CodeBeam.MudBlazor.Extensions: updated from 9.0.0-rc.1 to 9.1.0. (#814)
  • Microsoft and test tooling: updates include TFM-specific Microsoft.Extensions/Polly versions, bUnit, AngleSharp, Microsoft.NET.Test.Sdk, Playwright, xUnit, and npm/yarn dependencies. (#815, #825, a352b81c, 4ab3c636)

📚 Documentation

  • Adds the dashboard widget composition blueprint and module registration guidance. (#829, #832, doc/DASHBOARD_ARCHITECTURE_BLUEPRINT.md)
  • Adds OpenTelemetry, Console Logs, Structured Logs, authentication, theming, and External Authentication migration documentation. (3b2ea27f, d6018c30, 310fa9ed, aa8dd851)
  • Adds release-note screenshots for the dashboard, diagnostics, workflow designer, Alterations, login theme, Weaver, Secrets, users, and workflow list. (0e7935b6, b008a52c, docs/images/release-notes/README.md)

📦 Full changelog (short)

  • chore(ci): bump base_version to 3.8.0 in GitHub Actions workflow (010d8ca)
  • Translated using Weblate (Czech) (0f69b27)
  • Translated using Weblate (Czech) (3c65de9)
  • Feature/reactflow designer (#812) (9d41b0c)
  • [codex] Add Studio server logs module (#810) (310fa9e)
  • Update tool version to 3.8.0 and add diagnostics folder to solution file (d7390c0)
  • [codex] Show structured log storage diagnostics (#816) (2208993)
  • Implement React Flow sequence designer (#819) (6348597)
  • Add StateMachine designer (#818) (9ae4603)
  • Add structured log trace metadata filters (#821) (db54f1a)
  • Bump CodeBeam.MudBlazor.Extensions from 9.0.0-rc.1 to 9.1.0 (#814) (d4919c8)
  • Fix unwanted refresh of WorkflowInstanceList when a WorkflowInstance … (#817) (5506b9c)
  • Add diagnostics console logs module (#822) (d6018c3)
  • Configure Dependabot for Elsa API client (#824) (e4156fb)
  • Feature/alterations designer (#823) (ad424f1)
  • Auto stash before checking out "origin/main" (2eddf4a)
  • Add secrets studio module (#826) (80e649a)
  • [codex] Add operational dashboard PRD (#829) (af46138)
  • [codex] Fix diagnostics console logs (#831) (329a71b)
  • [codex] Document dashboard widget contribution model (#832) (dc52030)
  • Bump Elsa.Api.Client and Microsoft.Extensions.DependencyInjection.Abstractions (#815) (a352b81)
  • Bump the npm_and_yarn group across 1 directory with 13 updates (#825) (4ab3c63)
  • Extract reusable console log viewer and add workflow instance tab (c85eb70)
  • Enhance console logs with ANSI color parsing and styling support (b82e375)
  • Add workflow instance ID scoping to console logs and update related components and tests. (b7e9eb7)
  • Fix console log viewer review findings (2bbb911)
  • Cache parsed console ANSI segments (c8a5776)
  • Use zone component for instance bottom tabs (ee41093)
  • [codex] Add workflow instance console logs tab (#833) (67c1402)
  • Remove unused workflow instance viewer imports (c332d10)
  • Add OpenTelemetry diagnostics to Studio (#834) (3b2ea27)
  • Refactor ConsoleLogViewer to handle refresh logic during activation and enhance related tests. (c4f070c)
  • Add CSS and JavaScript for alterations module styling and functionality (#836) (43dbadc)
  • Make OpenTelemetry listings scrollable (2cdb885)
  • Add Studio Platform artifact submission module (#839) (c875501)
  • Add Studio secret picker UI hint (#840) (18361ba)
  • Update OIDC README docs for Studio 3.7 (#841) (37408c4)
  • Auto stash before checking out "origin/main" (04dc365)
  • Add secret update functionality with UI enhancements (8145e7e)
  • Update Elsa.Api.Client package to version 3.8.0-preview1 in Directory.Packages.props (aa1cbe6)
  • Replace Studio home with operational dashboard (948777a)
  • Implement centralized styling for dashboard components (5997b32)
  • docs: add root activity chooser to new workflow dialog (a15c38d)
  • Add root activity selection to new workflow dialog (#878) (9fa2d6f)
  • Refactor dashboard widgets (#879) (d746b39)
  • Add feature-gated dashboard widget composition (ac38350)
  • Add workflow root activity selector (08113ee)
  • Add sequence mode support to the workflow designer (#873) (6403431)
  • Split dashboard modules into separate projects for Console Logs, Structured Logs, and Workflows, and update project references and solution accordingly. (72bf112)
  • Resolve focused Studio warnings (#897) (74640d8)
  • Gate Alterations UX on remote feature (#837) (97448f3)
  • [codex] Clarify Studio WASM OIDC README setup (#872) (4256e8d)
  • Deliver GitHub project board updates (#896) (ca5f74f)
  • Refactor onNodeDrag type definition in Designer.tsx to enhance drag alignment functionality. (e280092)
  • Resolve workspace warnings (#898) (5d07b75)
  • Show workflow validation API errors (2c3fea7)
  • Address Copilot validation error feedback (7bb4327)
  • [codex] Add Weaver copilot UI (#900) (fb5e371)
  • Keep agent instructions feature-neutral (737a03a)
  • Refactor platform artifact submission and add agent tooling (eb9466a)
  • Add external authentication management UI (c0b1969)
  • Revise external authentication Studio experience (aa8dd85)
  • Harden Studio external authentication flows (497a3ca)
  • Align external local login styling (a50de01)
  • Add configurable login themes (39637f7)
  • Fix server local login coordinator dispatch (7c8e698)
  • Fix login theme authentication integration (7c595fc)
  • Add external authentication Postman collection (ef6a39d)
  • feat: add application and login themes (c95ebaa)
  • style: align broker login fields with themes (4e50a76)
  • fix: bind theme configuration in Studio hosts (4b0e708)
  • feat: refine authentication navigation and identity flows (4467486)
  • fix: keep authentication boundary runnable (bd00624)
  • fix: defer runtime descriptor to connection foundation (66661e1)
  • feat: add connection management foundations (aa3f9a7)
  • fix: retry feature catalog authentication failures (e9eb53c)
  • test: cover feature catalog cancellation and concurrency (25da724)
  • feat: redesign the connection management workspace (b7d9068)
  • fix: align connection menu with workspace route (3ce99ae)
  • feat: theme the workflow designer and add output converters (2674b1c)
  • fix: stabilize output converter state loading (21f82f5)
  • fix: guard converter state lifecycle (ca9408f)
  • fix: linearize converter disposal and caching (809f2e3)
  • feat: add dashboard and diagnostics experiences (fbf57d5)
  • chore: wire the feature stack into Studio hosts (2f15e90)
  • fix: ship runnable server authentication defaults (d030aa5)
  • fix: avoid duplicate core test solution mappings (bc620e9)
  • Remove codebase memory generated files (b1aa5dd)
  • Add 'test' and 'settings' projects to solution file and update project dependency mappings (652092b)
  • Refactor dashboard widget layout for better content separation (ba140db)
  • Update authentication provider to ExternalAuthentication and set ClientSecret (a7c4385)
  • Add comprehensive logging to external authentication controller (9eea02e)
  • Add Webhooks module to Elsa Studio (a067420)
  • feat: streamline identity provider activation (c26cfac)
  • fix: allow incomplete external auth drafts (a84dbcf)
  • feat: suggest external auth connection keys (8d4b18e)
  • fix: preserve manual connection key edits (e5cc212)
  • style: add space to workflow type cards (df47d41)
  • fix: remove workflow port dock outlines (3fc5ce1)
  • feat(workflows): migrate state machine designer to X6 (d807757)
  • Organize HTTP projects under a dedicated solution folder (159ce10)
  • refactor(designer): improve sequence layout logic (07c5068)
  • fix(designer): keep sequence layout connected after resizing (28ec945)
  • refactor(external-auth): simplify external authentication UI and code (39c97c4)
  • Add user and role management (51a954e)
  • fix(external-auth): align connection list test with removed guidance alert (5941a7f)
  • fix(host): restore runnable server authentication defaults (afb7486)
  • chore(bunit): Standardize and extend default wait timeout (bee3c16)
  • feat(users): enhance user ID display and copy functionality (e1bc5ef)
  • refactor(security): move ID cell rendering to a dedicated component (3758174)
  • feat(identity-links): enhance user ID display and copy functionality (3905f93)
  • chore(deps): update Elsa.Api.Client to version 3.8.0-rc1 (2bca6bd)
  • fix(activity-labels): prefer custom display text over activity name (344aa5b)
  • docs: add release note screenshots for 3.8.0-rc1 (0e7935b)
  • chore(deps): update Elsa.Api.Client to 3.8.0-rc2 (6941486)
  • ci: use Trusted Publishing for nuget.org and stop double-running releases (9c0785f)
  • ci: tolerate already-published versions when pushing npm packages to feedz (935edd5)
  • ci: publish to npmjs.com via trusted publishing instead of NPM_API_KEY (7867005)
  • ci: pin npm to the 11.x line for trusted publishing (0e38bd2)
  • ci: derive the npm dist-tag from each package version (eaae21e)
  • fix(npm): declare the repository so provenance verification passes (61ebe17)
  • chore: anchor Release/ ignores and complete the react package metadata (98e5355)
  • docs: drop the version from the release-note image folder (b008a52)
  • Add embedded branch root activity chooser (#946) (b46c918)
  • Add lossless StateMachine condition adapter (3414801)
  • Redesign StateMachine transition inspector (1de8617)
  • Add StateMachine transition authoring controls (402168f)
  • Complete StateMachine Sequence action authoring (69285b0)
  • Expand StateMachine authoring safeguards (f60e2d5)
  • Harden StateMachine transition authoring fallbacks (ab8261f)
  • Improve StateMachine inspector and activity picker UX (1133f8f)
  • Enhance accessibility, routing, and UX for StateMachine editor and activity picker (6f178db)
  • Apply batched suggestions from code review (149f8c4)
  • Fix conditional code editor actions (b9cad73)
  • Clarify activity JSON repair guidance (a5b2d23)
  • Target Elsa.Api.Client 3.8.0 stable (8539524)