Releases: elsa-workflows/elsa-core
2.10.0 RC2
What's Changed
- Check the result and throw if it's a fault by @stuartmcgillivray in #3377
- Use log scopes with a better
ToString()
implementation. by @Chryssie in #3409 - Enhance WorkflowDefinition id liquid filter by @JoschaMetze in #3408
- Attempt to fix safari issues with designer by @mohdali in #3388
- Publish symbol packages to the v3 NuGet API. by @Chryssie in #3423
- Add dynamic drag-and-drop connections between objects on designer workflows (with x6) by @karavajka in #3404
- Bump minimatch and serve in /src/samples/dashboard/html by @dependabot in #3441
- Feature/fixes to x6 workflow by @tanelkuhi in #3457
- Fix autolayout again and allow connection creation from selected nodes by @tanelkuhi in #3468
- Dispatch and forget by @lecramr in #3455
- CleanupJob: Utilize IRetentionSpecificationFilter by @brantley-svt in #3392
- fix EnumerableTypeDefinitionProvider #3477 by @williamverdolini in #3478
- Fix operationId in swagger generation by @borjaferv in #3500
- Allow handling SendHttpRequest content as bytes by @tanelkuhi in #3489
- feat: πΈ Automapper 12.0.0 by @Nico-VanHaaster in #3483
- Add MySql secrets provider by @johnwc in #3487
- Bump Newtonsoft.Json from 13.0.1 to 13.0.2 in /src/activities/webhooks/Elsa.Activities.Webhooks by @dependabot in #3517
- Make improvements related to x6 graphs by @tanelkuhi in #3505
- .NET 7 Support by @mohdali in #3476
- Some minor improvements to x6 graph by @tanelkuhi in #3528
- check default value for dropdown by @mohdali in #3526
- Enable opening expression editor in a modal dialog by @tanelkuhi in #3510
- Enable specifying starting activity when running test by @tanelkuhi in #3535
- net-7-masstransit: updated to latest masstransit by @mihey8800 in #3542
- Credential manager extension for Oauth2 client credentials tokens by @ke-real in #3275
- Allow Swagger OpenAPI file to include name of enums by @brunomartinspro in #3511
- MongoDb Persistence: Cleanup and optout Serialzier for Variables object by @alkampfergit in #3539
- Elsa Secrets imporvments by @johnwc in #3520
- Consolidate dependency references by @johnwc in #3554
- Different Datype for JS function setOutcomes by @AdamJohnSwan in #3558
- Azure Blob TokenCredential and BlobClientOptions for AzureBlobLeaseDistributedLock by @Matthewsre in #3566
- Ef7 provider by @mohdali in #3560
- Add x6 support to WorkFlow editor component by @sabitertan in #3580
New Contributors
- @karavajka made their first contribution in #3404
- @tanelkuhi made their first contribution in #3457
- @lecramr made their first contribution in #3455
- @brantley-svt made their first contribution in #3392
- @williamverdolini made their first contribution in #3478
- @mihey8800 made their first contribution in #3542
- @ke-real made their first contribution in #3275
- @brunomartinspro made their first contribution in #3511
- @alkampfergit made their first contribution in #3539
- @Matthewsre made their first contribution in #3566
- @sabitertan made their first contribution in #3580
Full Changelog: 2.9.3...2.10.0-rc2
2.9.3
What's Changed
Full Changelog: 2.9.2...2.9.3
Elsa 2.9.2
What's Changed
- Unexpected } by @huhaixiao in #3325
- reuse createHttpClient by @huhaixiao in #3326
- fixed test on non windows machine by @andreabalducci in #3338
- Change dependence ElsaMongoDbContext to IElsaMongoDbContext by @Cricle in #3333
- adding UseTenantSignaler to ElsaOptionsBuilder by @bweltin in #3337
- elsa-core/issues/3340: pass tenantId to DatabaseWorkflowProvider by @JoschaMetze in #3342
- Improve SQL character replacement by
ISqlGenerationHelper
by @akunzai in #3343 - MySql - Set schemaName to Empty to allow using GetSchemaQualifiedTableName() by @jdevillard in #3345
- Enable Login/logout Multitenancy inside of Elsa Workflow Dashboard by @uppercuut in #3284
- Fix latest version removal by @montoner0 in #3378
- fix error when TargetType not configured #3308 #3309 by @jxnkwlp in #3358
- fix "relation "elsa.triggers" does not exist" when DeleteManyAsync #3383 by @tchivs in #3384
- Add version endpoint for consumption by dashboard by @sfmskywalker in #3389
- Configurable HTTP content parser by @sfmskywalker in #3403
- Expose Success outcome on SendEmail activity by @sfmskywalker in #3426
New Contributors
- @huhaixiao made their first contribution in #3325
- @Cricle made their first contribution in #3333
- @bweltin made their first contribution in #3337
- @uppercuut made their first contribution in #3284
- @montoner0 made their first contribution in #3378
Full Changelog: 2.9.0...2.9.2
2.9.1
What's Changed
- Unexpected } by @huhaixiao in #3325
- reuse createHttpClient by @huhaixiao in #3326
- fixed test on non windows machine by @andreabalducci in #3338
- Change dependence ElsaMongoDbContext to IElsaMongoDbContext by @Cricle in #3333
- adding UseTenantSignaler to ElsaOptionsBuilder by @bweltin in #3337
- Upgrade to EFCore 7.0.0-rc.2.22472.11 by @Chryssie in #3339
- elsa-core/issues/3340: pass tenantId to DatabaseWorkflowProvider by @JoschaMetze in #3342
- Improve SQL character replacement by
ISqlGenerationHelper
by @akunzai in #3343 - MySql - Set schemaName to Empty to allow using GetSchemaQualifiedTableName() by @jdevillard in #3345
New Contributors
- @huhaixiao made their first contribution in #3325
- @Cricle made their first contribution in #3333
- @bweltin made their first contribution in #3337
- @Chryssie made their first contribution in #3339
- @JoschaMetze made their first contribution in #3342
Full Changelog: 2.9.0...2.9.1
Elsa 2.9.0
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
- Liquid is liquid by @mohdali in #3107
- Add Persian language localization by @VahidNaderi in #3117
- Remove triggers that have a malformed path by @AdamJohnSwan in #3121
- Add XML Code Comments For The HTTP Activities by @AdamJohnSwan in #3127
- Workflow Definitions Search by @andreabalducci in #3131
- Inject the Authentication handler to override the anonymous handler t⦠by @r-ulak in #3139
- Persist blob metadata changes by @stuartmcgillivray in #3116
- Define inputs in reusable objects by @stuartmcgillivray in #3148
- Generic cascading drop down by @jdevillard in #3063
- Mongo db can't write to read only properties by @stuartmcgillivray in #3150
- [RabbitMQ] Add Javascript Syntax to Headers definition by @borjaferv in #3151
- Add "EagerJoin" option to joins by @martinhjulstrom in #3152
- Check if attachments object is empty string by @johnwc in #3164
- Mongo serializer registration by @stuartmcgillivray in #3170
- Publish symbol packages by @holidayfun in #3181
- If eager join is set, clear scheduled activities on join by @martinhjulstrom in #3177
- Jint options configuration by @stuartmcgillivray in #3178
- don't lowercase the Path Parameters in the URI (#3187) by @jdevillard in #3189
- add support spanish language. add i18n translate in menu Items by @Juandavi1 in #3190
- Fault array, fix retry, new parameter in Join activity by @smartwaystudio in #3182
- Restore Fault property and mark it as obsolete. Patched it for less impact (ref PR 3182) by @smartwaystudio in #3194
- Hotfix/docker image base platform by @milkyware in #3204
- Feature/i18n de by @SebastianWachsmuth in #3212
- Fix Server Sample Swagger Gen by @mohdali in #3215
- Adding Statements to Catch if expression has no value. by @Dioltas95 in #3219
- Workflow Instance UI Display Fix by @Dioltas95 in #3220
- Add extensions for eager join option by @martinhjulstrom in #3233
- Prepend HttpEndpoint's path with BasePath in swagger by @akunzai in #3236
- Rename file to match the
RedisCacheSignal
class by @akunzai in #3241 - PR: SignalR Hub Connection Events by @Nico-VanHaaster in #3242
- #2857 attempt to reapply fix for dropdown by @mohdali in #3216
- Bump moment from 2.29.2 to 2.29.4 in /src/designer/elsa-workflows-studio by @dependabot in #3243
- HTTP Endpoint activity Xml support by @tomy2105 in #3246
- Cleaning up and adding simple support for XML response in HTTP Send Request Activity by @tomy2105 in #3245
- Credential manager by @andrewkorol in #2897
- revert port number by @mohdali in #3259
- Added Tenant Signaler Implementation and Options by @jruckert in #3250
- Fixing faulted activity display in Journal as well as workflow that remain in running state after fault. by @tomy2105 in #3251
- Prevent rescheduling of looping/scoped activities if faulted by @tomy2105 in #3252
- Ability to hide output properties with other misc fixes by @tomy2105 in #3249
- #3257 Move to CreateAsyncScope by @Sverre-W in #3271
- RPA Activities Enhancements by @lucapisano in #3301
- Fix StateMachine by @tchivs in #3313
- fix error when TargetType not configured #3308 by @jxnkwlp in #3309
- Retention module improvement v2 #3253 by @jdevillard in #3286
- Update
WorkflowDefinition
model to mappingCreatedAt
property from API by @akunzai in #3279 - Feature/extend elsa client by @DSPLX in #3316
New Contributors
- @VahidNaderi made their first contribution in #3117
- @AdamJohnSwan made their first contribution in #3121
- @r-ulak made their first contribution in #3139
- @stuartmcgillivray made their first contribution in #3116
- @johnwc made their first contribution in #3164
- @holidayfun made their first contribution in #3181
- @Juandavi1 made their first contribution in #3190
- @smartwaystudio made their first contribution in #3182
- @SebastianWachsmuth made their first contribution in #3212
- @Dioltas95 made their first contribution in #3219
- @Nico-VanHaaster made their first contribution in #3242
- @Sverre-W made their first contribution in #3271
- @tchivs made their first contribution in #3313
- @jxnkwlp made their first contribution in #3309
- @DSPLX made their first contribution in #3316
Full Changelog: 2.8.2...2.9.0
Elsa 2.8 π
What's Changed
- Various ITenantAccessor/Multitenancy fixes by @tomy2105 in #2992
- Fix build issue on case sensitive file systems by @petedavis in #3004
- Metadata included in WorkflowInstanceSummaryModel by @tomy2105 in #3007
- Manage & revert workflow definitions versions through UI by @sfmskywalker in #3026
- Refactor System.ComponentModel.Annotations dependencies. by @rynkadink in #3076
- Sql Editor by @mohdali in #3051
- Attempt fix #2907 by @mohdali in #3084
- Add YesSQL mapping for the trigger indexes by @matt4446 in #3088
- Add PurgeAzureSubscription Startup Task by @jdevillard in #3086
- Fix cleanup job by @sfmskywalker in #3090
New Contributors
- @rynkadink made their first contribution in #3076
Full Changelog: 2.7.0...2.8.0
Elsa 2.7.0 βοΈ
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 πΌ
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 π¦
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
Elsa 2.4.2 π§
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.