Skip to content

Releases: elsa-workflows/elsa-extensions

3.6.0

05 Mar 13:36
e626ace

Choose a tag to compare

3.6.0 — Release Notes

Compare: 3.5.3...3.6.0


⚠️ Breaking Changes / Upgrade Notes

  • Repository rebranding & pervasive namespace changes: The repository has been rebranded from Elsa Integrations to Elsa Extensions. All packages shipped from this repo carry updated namespaces. Consumers must update their using statements and package references accordingly:

    • All EntityFrameworkCore namespaces → EFCore (e.g. Elsa.EntityFrameworkCoreElsa.EFCore).
    • Elsa.ProtoActor.CoreElsa.Actors.ProtoActor.
    • Persistence projects now include Persistence in their namespaces.
    • ServiceBus projects now include ServiceBus in their namespaces.
    • Storage projects now include Storage in their namespaces.
    • Webhooks namespace now includes Http.
    • Scripting namespace now includes Scripting.
    • Scheduling namespace now includes Scheduling.
    • The Integrations segment has been removed from all package/namespace names.

    (#40, #41, #42)

  • Elsa.DevOps.GitHub package rename: The GitHub integration has been moved from the Elsa.Integrations.GitHub namespace/package to Elsa.DevOps.GitHub. Update your package reference and all using directives. (#51)

  • Core EF Core projects removed from this repo: EF Core persistence projects (e.g. SQL Server, PostgreSQL, SQLite providers) previously housed here have been moved back to elsa-core. Remove references to the elsa-extensions builds of these packages and depend on the equivalent packages from elsa-core instead. (#86)

  • SQL Evaluator expression syntax changes (Elsa.Sql): Hard-coded expression keys have been replaced with object-path navigation. Update any SQL expressions that use the old prefixes:

    Old expression New expression
    {{Variables.foo}} {{Variable.foo}}
    {{Workflow.Definition.Id}} {{Workflow.Identity.DefinitionId}}
    {{Workflow.Definition.Version.Id}} {{Workflow.Identity.Id}}
    {{Workflow.Definition.Version}} {{Workflow.Identity.Version}}
    {{Workflow.Instance.Id}} {{Activity.WorkflowExecutionContext.Id}}
    {{Correlation.Id}} {{Activity.WorkflowExecutionContext.CorrelationId}}

    New context prefixes Activity., Execution., and Workflow. are now available for navigating nested properties, POCOs, ExpandoObject, IDictionary, arrays, lists, and JSON objects. (#87)

  • Agents activity system refactored: ConfiguredAgentActivity has been renamed to AgentActivity; ConfigurationAgentActivityProvider has been renamed to AgentActivityProvider. The code-first agent system and its related abstractions have been removed in favour of the new Microsoft Agent Framework–based approach. Update any direct references to these types. (#99, #107)


✨ New Features

SQL (Elsa.Sql)

  • SQL Integration module: Ports the Elsa.Sql activities from elsa-core into this repo, including a fix for the upstream variable-retrieval bug and improvements to the SQL evaluator. (#38)
  • Object-property navigation in SQL expressions: Expressions can now dereference nested properties, array indices, and JSON fields directly using dot-path syntax. See the updated README for full examples. (#87)

HTTP (Elsa.Http.OpenApi)

  • OpenAPI documentation for HTTP workflow triggers: New Elsa.Http.OpenApi extension auto-generates an OpenAPI 3.0 specification from published workflow HTTP trigger endpoints, with an interactive ReDoc UI served at /documentation.

    // Registration
    elsa.UseHttp(http => http.UseOpenApi());
    
    // Middleware
    app.MapWorkflowOpenApi();

    (#80, #108)

AI / Agents (Elsa.Agents)

  • AI Copilot app-bar component: A new in-Studio AI Copilot panel lets users generate workflows from natural language prompts, with email integration and agent communication built in. (#70)
  • Microsoft Agent Framework integration: Multi-agent workflows powered by the Microsoft Agent Framework; code-first agent definitions with strongly typed inputs/outputs. (#99)
  • Service provider discovery endpoint: New /ai/service-providers API endpoint exposes available AI service provider names; the Studio "edit service" panel now dynamically populates from this endpoint. (#60)
  • GitHub DevOps integration (Elsa.DevOps.GitHub): GitHub workflow activities (create/delete/get comments, etc.) using Octokit. (#47, #51)

Data Processing

  • CSV module (Elsa.Csv): New ReadCsv activity reads and parses CSV data from strings, streams, or files. Supports configurable headers, delimiters, and strongly-typed record mapping. Registered via CsvFeature. (#91)
  • IO module (Elsa.IO): Ports the IO activity set from elsa-core 3.5 to this repo. (#74, #75, #76, #77)

Logging (Elsa.Logging)

  • Modular logging framework: Introduces a Log activity for emitting structured log entries from within workflows, backed by pluggable sinks (console and Serilog included). Replaces the deprecated WorkflowContexts module. (#83)

Scheduling (Elsa.Scheduling.Quartz)

  • Clustering convenience API: New QuartzFeature.ConfigureClusteringIdentity() method configures sensible defaults (instanceId = AUTO, scheduler name ElsaScheduler) for cluster-safe operation in multi-pod / Kubernetes deployments. (#110)

Azure Service Bus (Elsa.ServiceBus.AzureServiceBus)

  • Custom client overloads for UseAzureServiceBus: New overloads accept a pre-built ServiceBusClient, enabling token-credential–based auth (DefaultAzureCredential, managed identity, etc.) instead of being limited to connection strings. (#100)

Platform

  • .NET 10 (LTS) target framework: All library packages now multi-target net8.0, net9.0, and net10.0. System.Linq.Async is conditionally excluded on .NET 10 where it is now part of the runtime. Existing .NET 8/9 consumers are unaffected. (#94)

🔧 Improvements

AI / Agents

  • IKernelFactory extensibility: The Semantic Kernel IKernelFactory interface is now public, allowing host applications to customise or replace the Kernel instance — useful for injecting MCP servers or other external tools. (#64)
  • Handlebars prompting in AgentInvoker: Agent prompt rendering switched to Handlebars for richer template support and consistency with Elsa Studio. (#69)
  • External tool support via ChatCompletion: The agent invocation path now calls ChatCompletion directly (instead of an SK prompt function), enabling external tools such as MCP server plugins. (#64)

Scheduling / Quartz.NET

  • Shared resilience module: Quartz job resilience migrated to the shared Elsa.Resilience.Core package; database-specific transient exception detectors removed. (#104)
  • Idempotent job & trigger registration: RegisterJobsTask and QuartzWorkflowScheduler now gracefully handle ObjectAlreadyExistsException, preventing startup failures in concurrent multi-node deployments. (#110, #114)
  • SQLite clustering parameter: UseEFCoreSQLite() extension now accepts a useClustering parameter (defaults to false), consistent with the SqlServer/PostgreSQL/MySQL extensions. (#110)

Azure Service Bus

  • Configuration validation: UseAzureServiceBus now throws a descriptive exception when the connection string or name is missing or unresolvable, rather than failing silently at runtime. (#114)
  • Factory delegate deduplication: Fixed an issue where calling UseAzureServiceBus more than once would concatenate factory delegates instead of replacing them, causing multiple ServiceBusAdministrationClient instances to be created. ([#114](https://github.com/elsa-workflows/elsa-extensi...
Read more

3.6.0 RC5

27 Feb 09:28
fe1bcfa

Choose a tag to compare

3.6.0 RC5 Pre-release
Pre-release

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

3.6.0 RC3

03 Feb 10:16
caee086

Choose a tag to compare

3.6.0 RC3 Pre-release
Pre-release

What's Changed

Full Changelog: 3.6.0-rc2...3.6.0-rc3

3.6.0 RC2

06 Jan 10:07
1ff45c3

Choose a tag to compare

3.6.0 RC2 Pre-release
Pre-release

Elsa Extensions 3.6.0-rc2 (from 3.6.0-rc1)

Compare: 3.6.0-rc1...3.6.0-rc2

🌟 Highlights

  • Improved Quartz.NET clustering configuration with safer defaults and clearer APIs/documentation. (#110)
  • Added Elsa.Http.OpenApi project to the solution for HTTP OpenAPI capabilities. (#108)
  • Expanded package workflow triggers/versioning logic to include release/* branches. (5cef7e5) (5cef7e5)

⚠️ Breaking changes / upgrade notes

  • Renamed EnableClustering to ConfigureClusteringIdentity; update any usages accordingly. (#110)

✨ New features

  • Added EnableClustering API and fixed race conditions in Quartz.NET integration. (#110)
  • Auto-configured clustering identity in QuartzFeature with default values when not explicitly set. (#110)
  • Added Elsa.Http.OpenApi project to solution. (#108)

🔧 Improvements

  • Updated QuartzFeature XML docs to clarify clustering identity configuration and provide usage examples. (#110)
  • Added debug logging and clarified clustering documentation per review feedback. (#110)
  • Addressed review feedback to improve documentation and clarity around clustering setup. (#110)
  • Included release/* branches in package versioning logic in packages.yml. (5cef7e5)
  • Added release/* branch to workflow triggers in packages.yml. (5cef7e5)
  • Updated versions and refined package workflow logic in build and CI scripts. (d730f6e)

🐛 Fixes

  • Fixed race conditions in Quartz.NET integration when enabling clustering. (#110)

🔁 CI / Build

  • Included release/* branches in package versioning logic in packages.yml. (5cef7e5)
  • Added release/* branch to workflow triggers in packages.yml. (5cef7e5)
  • Updated versions and refined package workflow logic in build and CI scripts. (d730f6e)

📦 Full changelog (short)

  • Adds release notes playbook for Elsa Extensions (1ff45c3)
  • Update versions and refine package workflow logic in build and CI scripts (d730f6e)
  • Merge pull request #110 from elsa-workflows/copilot/harden-quartz-net-clustering (fd3ae2f)
  • Merge remote-tracking branch 'origin/main' into release/3.6.0 (292d95e)
  • Merge pull request #104 from elsa-workflows/enh/102 (1e6f287)
  • Update QuartzFeature XML docs to clarify clustering identity configuration and provide usage examples (b0c5f45)
  • Auto-configure clustering identity in QuartzFeature with default values if not explicitly set. (19696d1)
  • Rename EnableClustering to ConfigureClusteringIdentity and add useClustering param to SQLite (c64f131)
  • Add debug logging and clarify EnableClustering documentation per review feedback (3eee814)
  • Address code review feedback - improve documentation and clarity (f4fee5b)
  • Add EnableClustering API and fix race conditions in Quartz.NET integration (5c67fe0)
  • Initial plan (3bdc6dd)
  • Merge pull request #108 from elsa-workflows/task/inclide-http-openapi (a572181)
  • Add Elsa.Http.OpenApi project to solution (f8d588c)
  • Include release/* branches in package versioning logic in packages.yml (4d0e0bd)
  • Add release/* branch to workflow triggers in packages.yml (5cef7e5)
  • Merge pull request #107 from elsa-workflows/feat/activity-host (9722da9)

3.6.0 RC1

21 Dec 13:55
e46278a

Choose a tag to compare

3.6.0 RC1 Pre-release
Pre-release

Elsa Extensions — 3.6.0 RC1 Release Notes

Highlights

  • New integrations: Slack, Telnyx (call handling), Azure Service Bus, Orchard Core, and industrial protocol modules expand what you can automate from workflows.
  • Agents & AI: big step forward for agent-based workflows, including improvements, an AI Copilot experience, and a service-provider discovery endpoint.
  • DevOps & data tooling: GitHub integration (refactored into Elsa.DevOps.GitHub), SQL integration improvements, and a new CSV processing module.
  • Platform & runtime updates: .NET 10 (LTS) target framework support plus a broad set of refactors and dependency updates.

What’s Changed

New Integrations & Modules

Agents & AI

  • Add Agents by @sfmskywalker in #34
  • Elsa Agents: Add service provider discovery endpoint by @mohdali in #60
  • Implementing KernelFactory interface to allow custom factories + using SK function that supports external tools by @pugafran in #64
  • Improves Agents module and updates dependencies by @sfmskywalker in #69
  • Enhances Agents module with AI Copilot and more by @sfmskywalker in #70
  • Add Microsoft Agent Framework integration with code-first agents and multi-agent workflows by @Copilot in #99

DevOps

  • [WIP] Add Github Integration by @Copilot in #47
  • Refactor GitHub integration to Elsa.DevOps.GitHub by @KnibbsyMan in #51

Platform, Build & Repo Housekeeping

Persistence & Database

Fixes

Breaking Changes

  • BREAKING: Enhance Sql Evaluator to Support Object Properties by @KnibbsyMan in #87
    • If you use the SQL evaluator with variable placeholders, double-check expressions that previously assumed simple scalar values; object property access is now supported and may change parsing/behavior.

New Contributors

Full Changelog: https://github.com/elsa-workflows/elsa-extensions/commits/3.6.0-rc1

3.5.3

20 Dec 15:39
85f8820

Choose a tag to compare

Full Changelog: 3.5.2...3.5.3

3.5.2

19 Nov 19:16
03f07db

Choose a tag to compare

Full Changelog: 3.5.1...3.5.2

3.5.1

27 Sep 10:13
982b746

Choose a tag to compare

Full Changelog: 3.5.0...3.5.1

3.5.0

15 Aug 09:10
84395fe

Choose a tag to compare

Full Changelog: 3.4.0...3.5.0

3.5.0 RC2

04 Jul 18:45
7c1e032

Choose a tag to compare

3.5.0 RC2 Pre-release
Pre-release

Full Changelog: 3.5.0-rc1...3.5.0-rc2