Skip to content

Releases: elsa-workflows/elsa-core

Elsa 2.9.0

19 Oct 09:02
Compare
Choose a tag to compare

Known Issues

  • Deleting entities throws an Entity Framework exception. This will be fixed in 2.9.1 and a fix is already available on MyGet in the preview packages.

What's Changed

New Contributors

Full Changelog: 2.8.2...2.9.0

Elsa 2.8 🌈

01 Jun 21:15
Compare
Choose a tag to compare

What's Changed

New Contributors

Full Changelog: 2.7.0...2.8.0

Elsa 2.7.0 β˜€οΈ

02 May 08:21
Compare
Choose a tag to compare

What's New

  • New activities: ExecuteSqlQuery, ExecuteSqlCommand
  • HttpEndpoint route params (#2914)
  • Compensation (#2940)
  • Swagger integration for HTTP Endpoint activities (#2927)
  • Cron UI (#2909)

What's Improved

  • Support to execute/dispatch UserTask activities. (#2970)
  • Supports execute single UserTasks or a group by correlationId/action (#2970)
  • Update DatabaseRegister.cs (#2955)
  • Update Telnyx activities (removed non-functioning outcomes) (bd20e60)
  • Handle JSON serialization exception for HTTP Endpoint middleware (7f59a63)
  • Sort workflow definition list alphabetically (bd9f5b9)
  • Add CustomAttributes to SaveWorkflowDefinitionRequest and WorkflowDefinitionSummaryModel (#2901)
  • Add QueueName property to SendRebusMessage activity (5b91ffd)

What's Fixed

  • Fix Composite Activity Timing/Occurrence and measurement in UI Journal (#2882)
  • Some fix and improvement in Mqtt Activity (#2860)
  • Bugfix: Adding the content headers to ResponseModel as well. (#2936)
  • Problem in Trigger table for Postgres (#2879)
  • Fix eager Join (3b3c77e)
  • Fix subscription input (Azure Service Bus worker) (#2921)
  • Fix EnumerateFiles output type (e4350c7)

And a lot more πŸ˜„ For a full list, please see the full commit history.

Elsa 2.6.0 🌼

20 Mar 22:14
Compare
Choose a tag to compare

What's New

  • Programmatically add workflow blueprints to workflow registry. Before this, you were required to implement an IWorkflowProvider. d02899b
  • Add getRemoteIPAddress JS function (5f73fd2)
  • New SQL Server activities that let you execute SQL statements against.
  • Enable custom HTTP response in case of workflow fault (83924bb)
  • Data masking (#2780)
  • BulkRetry + Retry UI (#2825)

What's Changed

  • Enable native deadlettering for Azure Service Bus (ad989f5)
  • Update Mailkit (#2791)
  • Retention policy improvements (#2807)
  • Native JSON variable handling (#2824)
  • Update Automapper to Version 11 (#2816)
  • Add option to specify signal send-mode (#2851)

What's Fixed

  • Fix MySql does not support the EF Core concept of schemas (1e469b0)
  • Update object converter to handle list conversions (Fixes #2754)
  • Fix eager clearing of blocking activities between Join and Fork (2cfadd3)
  • Fix Join eager descoping issue (#2797)
  • Ensure the HttpClient is only created once (#2789)
  • Improve scheduling of timer bookmarks (87c44e1)
  • WF testing - added confirmation modal to stop current and start new instance (#2819)
  • Set dropdown value to the first item if undefined (#2857)
  • Many issues with Azure Service Bus have been resolved.
  • Many other small issues have been fixed.

Elsa 2.5.0 🍦

10 Feb 09:31
Compare
Choose a tag to compare

What's Changed

Trigger Indexing

A major change was introduced that changes the way how workflow triggers are indexed.

Originally, ALL workflow blueprints would be loaded into memory during application startup, after which the triggers were being indexed.
This however poses a serious startup performance issue when the system contains more than a few hundred workflow definitions. Some users reported a startup time of around 15 seconds when testing with a set of around 1500 workflow definitions.

Elsa needs to be able to handle any number of workflow definitions, so loading these into memory is not a good idea.
To fix this, a change was necessary.

Instead of indexing triggers from workflow definitions (typically stored in the database) during startup, you can now configure Elsa to skip this step and instead rely on indexing of triggers as workflow definitions get published:

services
    .AddElsa(elsa => elsa   
        // Optionally opt-out of indexing workflows stored in the database.
        // These will be indexed when published/unpublished/deleted, so no need to do it during startup.
        // Unless you have existing workflow definitions in the DB for which no triggers have yet been created.
        .ExcludeWorkflowProviderFromStartupIndexing<DatabaseWorkflowProvider>()
    )

In addition, workflow triggers are no longer stored in memory. Instead, they are stored in the database.
If you are using the EF Core persistence provider and are maintaining your own migrations, then please take a look at the changed schema (see new migrations in the repo).

What's New

** UserTask **

A new service called IUserTaskService was added to the user task module that simplifies querying the system for available user actions for a given workflow instance or all available user tasks.

This is helpful when you e.g. need to render a list of workflow instances with available actions.

What's Improved

  • Designer updated to use Tailwind CSS 3
  • Workflow Registry HTTP endpoint no longer returns child activities of composite activities, improving performance in the designer (e1d42e8)
  • Persist workflow after status change and before executing. This prevents an issue where the app or container might crash and the workflow is still in e.g. the Suspended state, which are never resumed automatically (7c1da5b)
  • Adding convenience Extension Methods for setting properties on Rebus Activities, following the 'with*' naming convention (#2712) (Adding convenience Extension Methods for setting properties on Rebus Activities, following the 'with*' naming convention (#2712))

What's Fixed

  • Fix overriding parents of sub composites (ba8fb68)
  • Update Elsa.Client workflow definition models to match Elsa.Server (#2716) (efd9f0d)
  • Fixed journal time display. Fixed minor visual issues. (#2722) (180f36b)

Elsa 2.4.2 🧊

02 May 07:55
Compare
Choose a tag to compare

What's Fixed

This releases fixes a bug that was introduced with the 2.4.1 release that is wreaking havoc in the designer as soon as you save, publish or unpublish a workflow.

Elsa 2.4.1 πŸ”₯

20 Jan 17:06
Compare
Choose a tag to compare

What's New

  • .NET 6 Support is finally here! The core libraries target .NET Core 3.1, .NET 5.0 and .NET 6.0.
  • Designer activities are a little bit more compact, allowing for more activities to fit on the screen.

What's Improved

  • Azure Service Bus Send activity received a new option to have it send the message after the workflow gets suspended. This allows you to send a message, and listen for a response immediately after.
  • JSON serialization + JavaScript + Liquid roundtripping should work much better.

What's Fixed

  • An issue with retrieving intellisense data has been fixed (#2648)
  • Do not force Browsable of sub activity to be false if not defined. (#2652)
  • Fix YesSQL migration step
  • WriteHttpResponse activity no longer uses type name serialization. Instead, it writes clean JSON (when applicable)

Elsa 2.4.0 🍭

26 Dec 21:12
6185718
Compare
Choose a tag to compare

BREAKING CHANGES ⚠️

The WorkflowInstances table received a new column: DefinitionVersionId.
This is a required field, which means that running the updated DB migrations will fail when run while the table has existing records.

If you do not wish to first delete the contents of this table, make sure to create a backup first (which you should do at all times before applying an updated migration).

The value of the DefinitionVersionId needs to be taken from the WorkflowDefinitions table's Id field.

New Features ✨

  • Retention settings (auto-delete completed workflow instances)
  • Run workflow from designer (Requires new Elsa.WorkflowTesting.Api package and update Startup with services.AddWorkflowTestingServices() and app.MapWorkflowTestHub - see Elsa.Samples.Workflow for an example)
  • Configure automatic layout direction. Default is top to bottom, but can now be configured from the UI to left to right, right to left and bottom to top (#2619)
  • FileSystemWatcher activities
  • Configure HTTP Endpoint activity with authentication settings (require authenticated requests and ASP.NET Core policy requirements)
  • Configure Send HTTP Request activity with desired response content formatter (plus the ability to add your own by implementing IHttpResponseContentReader)
  • Added RabbitMQ activities (#2547)

Improvements 🍏

  • Added designer legend with quick hints about certain designer operations such as how to delete connections and change connection between activities.
  • Performance improvement (noticeable when there are many workflow definitions in the system)
  • Trim Azure Service Bus queue name at 50 characters (ASB returns error when queue name limit of 50 characters is exceeded)
  • Ability to select multiple workflow instances from multiple pages.
  • Add variables tab to instance view (#2442)
  • Add base64 encoding JS functions
  • Add getActivityId JS function
  • Increase dashboard extensibility. All menu items and routes are now customizable by plugins
  • Disable buggy copy & paste. To be re-implemented (possibly as part of Elsa 3 designer back-port)
  • Add support for bitflag list items (#1654)
  • Add intellisense support for dynamic HttpEndpoint output (#2526)
  • Update appveyor to push debug symbols
  • Use strongly-typed arrays for typescript definitions (#2584)

Fixes πŸ› οΈ

  • Publish correct event (WorkflowInstanceCancelled) (#1560)
  • Fix YesSQL provider for bookmarks (#1604)
  • Fix for oracle persistence provider - in order to use data more than 2000 char we have to use NCLOB ,in oracle we have to explicitly say the column is NCLOB otherwise it would be considered Nvarchar(2000) (#2450)
  • Dynamic Activity Outcomes from activity property descriptor (#2473)
  • fixed semaphore locking for azureservicebus activities (#2494)
  • Fix ClearTimer activity (#2429)
  • Replace Dictionary with ConcurrentDictionary (#2503)
  • Update workflow launchpad to prevent duplicate correlated workflow instances
  • Prevent activities with [Browsable(false)] from being included (#2411)
  • Accessing Output via Liquid (#2509)
  • Various JSON serialization fixes and improvements
  • Many other bug fixes

This release was made possible thanks to generous contributions from members from the community.

A Big Thank You to everyone who raised issues and contributed amazing features & fixes! This release is awesome because of all of youπŸ™πŸ»

Elsa 2.3 ✨

23 Sep 11:33
Compare
Choose a tag to compare

Here's what's new!

  • Extensible Workflow Execution Log: activities can now include custom data that becomes visible in the Workflow Journal.
  • File Activities: activities that deal with reading & writing files from the local disk.
  • Send HTTP Request activity improvements: you can now select what content parser to use to parse the response of the request. Also, the set of parsers is extensible, which means you can write your own.
  • RPA Web activities: a set of activities to automate UI testing in the browser.
  • Significantly reduced number of DB commits during workflow execution: before this improvement, activity executing log entries were persisted as they were created. This was changed such that workflow execution log entries are collected and flushed to the database when the workflow instance is saved as well.
  • Fixed that the workflow designer would sometimes not render properly and a full refresh was required.
  • Infinite Loop detection & handling: To prevent server CPUs from melting down when you (accidentally) implement a workflow with an infinite "tight" loop (a loop with no suspension points), the workflow engine will introduce a "cool down" of a configurable amount of time for a configurable amount of loop detection events.
  • Workflow instances can now be cancelled from the dashboard.
  • You can now publish/unpublish workflow definitions from the Workflow Definitions overview page. Before, you had to go into a workflow definiton and handle publish/unpublish from there.
  • Many issues, ranging from small to large, have been fixed.

A Big Thank You to everyone who contributed to this new release candidate!

Elsa 2.2.1 πŸ› οΈ

05 Aug 06:51
Compare
Choose a tag to compare

Fixes

  • Fix serialization issue when using WriteHttpResponse from code.
  • Fix incorrect scope eviction
  • Fix RunWorkflow resumption when child completes synchronously (#1347)
  • Fix ExecuteWorkflowInstanceRequestConsumer (doubly wrapped WorkflowInput)

Improvements

  • Improve type conversion error message