Releases: elsa-workflows/elsa-core
3.0.5
What's Changed
- Add support for list/array conversion in JavaScript evaluator by @sfmskywalker in #4850
- Remove StringObjectDictionaryConverter and update JintJavaScriptEvaluator by @sfmskywalker in #4856
- Refactor JavaScript list and array test cases by @sfmskywalker in #4857
Full Changelog: 3.0.4...3.0.5
3.0.4
What's Changed
- Add input application to workflow state extractor by @sfmskywalker in #4829
Full Changelog: 3.0.3...3.0.4
2.14.0
What's Changed
- Bump postcss from 8.4.8 to 8.4.31 in /src/designer/elsa-workflows-studio by @dependabot in #4503
- Missing WorkflowPassCompleted enum element in WorkflowPersistenceBehavior.cs by @NightinGale997 in #4480
- lenguages (es-ES and pt-PT) for elsa dashbaord by @JuanSZ77 in #4536
- 3537 Switch to DefaultContractResolver by @4lexKislitsyn in #4521
- [Kafka] Added possibility to add DefaultConnectionString by @Snotax in #4522
- Update deprecated Storage.Net to FluentStorage by @dammitjanet in #4540
- Feature/encrypt secret properties by @tanelkuhi in #4347
- Kafka: Added Serialized Headers to WorkflowInput by @Snotax in #4572
- Update WorkflowInstance state before resuming by @dakuchar in #4573
- Adding amqps support to rabbit activities by @stuartmcgillivray in #4612
- Hangfire job names by @johnwc in #4428
- Bump axios from 0.26.1 to 1.6.0 in /src/designer/elsa-workflows-studio by @dependabot in #4615
- Adding dialog to Multi Expression Editor by @Dioltas95 in #4602
- Overload UseAzureBlobLockProvider with connection string/container name by @LPFOXX in #4648
- Make the timeout configurable for acquiring the DistributedLock in ContinueRunningWorkflows by @gersti07 in #4678
- Custom Db Schema for SqlServer, PostgreSql and Oracle by @gersti07 in #4677
- substitute MQTTnet.MqttApplicationMessage problem of serialization by @mircotamburini in #4675
- Include transient variables in merged variables for JavaScriptEngine Access by @JoostVanVelthoven in #4769
- Elsa 2 .NET 8 Support by @swimmesberger in #4794
- 2.x .NET 8 Build fix by @swimmesberger in #4820
- Upgraded samples and dashboard to .NET 8 by @swimmesberger in #4826
New Contributors
- @NightinGale997 made their first contribution in #4480
- @JuanSZ77 made their first contribution in #4536
- @4lexKislitsyn made their first contribution in #4521
- @dammitjanet made their first contribution in #4540
- @dakuchar made their first contribution in #4573
- @LPFOXX made their first contribution in #4648
- @gersti07 made their first contribution in #4678
- @JoostVanVelthoven made their first contribution in #4769
- @swimmesberger made their first contribution in #4794
Full Changelog: 2.13.0...2.14.0
3.0.3
What's Changed
- Refactor MassTransitActivityTypeProvider by @sfmskywalker in #4792
- Allow creation of variables dynamically via
setVariable
by @sfmskywalker in #4800
Full Changelog: 3.0.2...3.0.3
3.0.2
What's Changed
- Http Request run Asynchronously but the workflow got suspended and never return the result #4763
- Update FastEndpoints* nuget packages to 5.21.2 version by @NightWuYo in #4764
Full Changelog: 3.0.1...3.0.2
3.0.1
What's Fixed
This is a patch release that fixes some issues that were missed before te 3.0.0 release and other issues that were discovered thereafter.
- Http Request run Asynchronously but the workflow got suspended and never return the result #4737
- PolymorphicObjectConverter throws InvalidOperationException for decimals #4714
- Dapper DeleteAsync #4676
- Update FastEndpoints nuget package version #4747
- IEventPublisher.PublishAsync is not executing synchronously #4754
Full Changelog: 3.0.0...3.0.1
3.0.0
Elsa 3.0 🚨
This is the official Elsa 3.0 release and is a complete departure from Elsa 2.
What's new
- Redesigned workflow execution engine for increased flexibility.
- Redesigned activity model with intrinsic support for composition.
- Parallel activity execution.
- Parallel For Each activity with support for long-running processes.
- Implicit forking and joining for a simplified flowchart modelling.
- Actor model implementation of the workflow runtime for lock-free workflow execution.
- Support for C# and Python expressions.
- A new designer with support for drag & drop, multi-selection, undo/redo, copy & paste, pane & zoom.
- Use the designer to create workflows that can be invoked as reusable activities
- Elsa Studio, a modular, extensible Blazor application to create and manage workflows.
- Alterations API to modify existing workflow instances.
See also the Elsa 3.0 Release blog post.
Known Issues & Limitations
- Documentation is still a work in progress.
- The designer is not yet fully embeddable in other applications; this feature is planned for a future release.
- C# and Python expressions are not yet fully tested.
- Bulk Dispatch Workflows is a new activity and not yet fully tested.
- Input/Output is not yet implemented in the Workflow Instance Viewer.
- Starting workflows from the designer is currently supported only for workflows that do not require input and do not start with a trigger; this is planned for a future release.
- The designer currently only supports Flowchart activities. Support for Sequence and StateMachine activities is planned for a future release.
- UI input validation is not yet implemented.
Migrating from Elsa 2
Elsa 3 is a complete rewrite and not backwards compatible with Elsa 2.
As a consequence, migrating to Elsa 3 means manually porting over your workflow definitions, instances and custom activities.
Guidance will be provided in written form to highlight some of the more common differences between Elsa 2 and 3 to help understand how certain scenarios done in Elsa 2 should be handled in Elsa 3.
Change History
- Upgrade all projects to .NET6.0 by @yopichy in #2616
- implemented delete for single workflow definitions and workflow instance by @cristinamudura in #2855
- implemented sub actions : new, unpublish, retract by @cristinamudura in #2933
- V3 finish activity by @sfmskywalker in #2963
- V3 StartAt Activity by @sfmskywalker in #2969
- Implement Default Workflow Invoker by @sfmskywalker in #2979
- Implement V3 stores by @sfmskywalker in #2980
- Provide tag support for workflows by @gurkanguran in #2990
- Revert "Provide tag support for workflows" by @sfmskywalker in #2991
- fixed property panel published status update by @im-ihrynevytskyi in #2993
- V3 import export by @sfmskywalker in #3030
- Activity display name by @sfmskywalker in #3034
- Auto name activity by @sfmskywalker in #3035
- Labels by @sfmskywalker in #3037
- Query workflows by labels API by @sfmskywalker in #3041
- activity description tooltip added by @im-ihrynevytskyi in #3036
- Copy Text Tool by @im-ihrynevytskyi in #3043
- V3 label management UI by @sfmskywalker in #3055
- Assign labels to workflows by @sfmskywalker in #3060
- V3 Bulk Actions API Endpoints by @sfmskywalker in #3064
- workflow definition pagination and bulk actions by @im-ihrynevytskyi in #3069
- V3 modular configuration by @sfmskywalker in #3070
- V3 labels UI module by @sfmskywalker in #3071
- Features API by @sfmskywalker in #3081
- tooltip minor fixes by @im-ihrynevytskyi in #3083
- added ability to resize panels by @im-ihrynevytskyi in #3092
- V3 workflow instance viewer by @sfmskywalker in #3098
- added label filter to workflow definition modal by @im-ihrynevytskyi in #3106
- added visual feedback for copying by @im-ihrynevytskyi in #3109
- added toolbar layouts by @im-ihrynevytskyi in #3113
- fixed incorrect positioning on zoom or graph move by @im-ihrynevytskyi in #3129
- added zoom-to-fit functionality by @im-ihrynevytskyi in #3130
- added bottom panel with resize functionality by @im-ihrynevytskyi in #3149
- added bottom panel for activity editor by @im-ihrynevytskyi in #3167
- added bottom panel on instance viewer, fixed issue with activity size by @im-ihrynevytskyi in #3176
- added simple notifications by @im-ihrynevytskyi in #3184
- Designer Activity Definitions by @sfmskywalker in #3221
- Added proto actor implementation for kubernetes and refactored releva… by @cristinamudura in #3256
- Refactor proto actor runtime with snapshot support by @sfmskywalker in #3283
- V3 default runtime by @sfmskywalker in #3285
- Default Runtime & Persistence by @sfmskywalker in #3287
- Implement async workflow state exporter for DB workflow instance by @sfmskywalker in #3291
- Exportable & importable workflow state + execution by @sfmskywalker in #3317
- Implicit fork & join by @sfmskywalker in #3331
- Queue-based activity scheduler by @sfmskywalker in #3344
- Feature/send http request by @cristinamudura in #3355
- Asynchronous Activities by @sfmskywalker in #3386
- Telnyx integration by @sfmskywalker in #3453
- Implemented delete of workflow definitions on Delete button click by @cristinamudura in #3462
- Add email module by @sfmskywalker in #3469
- Update import / export by @sfmskywalker in #3471
- Ensure unique friendly activity ID after copy paste by @sfmskywalker in #3474
- Implement types API endpoint by @sfmskywalker in #3479
- Auto rotating by @gurkanguran in #3482
- Add support for accessing workflow variables from liquid expressions by @sfmskywalker in #3491
- Add JS functions by @sfmskywalker in #3492
- V3 bugfix by @LevVadim in #3503
- Composite Activity fixes and improvements by @sfmskywalker in #3512
- V3 bugfix by @LevVadim in #3521
- Added correlation activity by @cristinamudura in #3530
- Fix workflow navigation by @sfmskywalker in #3541
- Workflow activation strategies by @sfmskywalker in #3559
- Persistent variables by @sfmskywalker in #3563
- Improve variable vs non-variable persistence by @sfmskywalker in #3568
- Add support for workflows as a function by @sfmskywalker in #3569
- Connect to to Azure DevOps feed by @sfmskywalker in #3570
- Additional samples + fixes and improvements by @sfmskywalker in #3574
- Normalize extensions namespaces by @sfmskywalker in #3577
- Implemented workflow sink module by @gurkanguran in #3571
- Implemented PostgreSql provider for data persistence by @gurkanguran in #3581
- Restore workflow journal by ...
3.0.0 Preview 4
What's Changed
- Fixed getting and setting variables in context by @gurkanguran in #4267
- Workflow Inbox by @sfmskywalker in #4292
- Fix source + line number not being used by @sfmskywalker in #4293
- Telnyx fixes by @sfmskywalker in #4300
- Bookmarks & Activity Instances by @sfmskywalker in #4301
- Add PR body generator by @sfmskywalker in #4304
- Parallel Execution & Add ability to push variables to scheduled work by @sfmskywalker in #4306
- Update output selector with support for activity instances by @sfmskywalker in #4307
- Update ForEach activity with local variables by @sfmskywalker in #4315
- V3 improve dispatch endpoint by @RuslanSay in #4317
- V3 Add to ConfigureHttpClient access to the service provider by @RuslanSay in #4318
- Allow variable shadowing in child activity scopes by @sfmskywalker in #4321
- Fix WriteHttpResponse when NoContent by @sfmskywalker in #4322
- EF Core NoTracking by @sfmskywalker in #4323
- Delete ActivityExecutionRecords when deleting workflow instances by @sfmskywalker in #4324
- Implement workflow inbox cleanup service by @sfmskywalker in #4327
- Implement HTTP correlation ID selectors by @sfmskywalker in #4349
- Enhanced Logging for Activity Outcomes and Outputs by @sfmskywalker in #4352
- Support serialization of non(de)serializable values by @sfmskywalker in #4356
- Refactor activity state serializer by @sfmskywalker in #4357
- Refactor safe serializer by @sfmskywalker in #4361
- Fix Default Workflow Runtime Race condition by @sfmskywalker in #4362
- V3 get type definitions request by @sNakiex in #4353
- Enrich trigger validation to take into consideration path and method … by @MariusVuscanNx in #4363
- Fix Break behavior by @sfmskywalker in #4365
- Implement stale member handling by @sfmskywalker in #4369
- Package DistributedLock upgraded to V2.3.3 by @Dev-Maxx in #4360
- Refactor proto files and fix snapshot loading of running workflows grain by @sfmskywalker in #4371
- Fixed IsNameUnique for InMemory WorkflowDefinition store by @yspanj in #4370
- Remove WorkflowStateStore by @sfmskywalker in #4374
- Use mapping expression for correct EF core projections by @sfmskywalker in #4376
- Make Liquid TextEncoder configurable by @sfmskywalker in #4380
- Fix Dapper persistence provider by @sfmskywalker in #4381
- fix: WorkflowContextsPlugin not enable by @Nokecy in #4397
- Add PostgreSql dapper provider by @herblinernexxbizz in #4398
- update connector by @herblinernexxbizz in #4402
- Dynamic Outcomes + JavaScript Outcomes by @sfmskywalker in #4410
- replace DistributedLock package with DistributedLock.FileSystem by @happtim in #4399
- Incidents by @sfmskywalker in #4436
- WriteHttpFileResponse Activity by @sfmskywalker in #4445
- WriteFileHttpResponse updates by @sfmskywalker in #4446
- make type name helper aware of generics by @rose-a in #4442
- Implement resumable downloads by @sfmskywalker in #4448
New Contributors
- @RuslanSay made their first contribution in #4317
- @Dev-Maxx made their first contribution in #4360
- @yspanj made their first contribution in #4370
- @happtim made their first contribution in #4399
- @rose-a made their first contribution in #4442
Full Changelog: 3.0.0-preview.3...3.0.0-preview.4
2.13.0
What's Changed
- Mqtt subtitute library + fix retain topics + fix lose message by @mircotamburini in #4039
- Changed consumer/message processing to synchronized mode - former async (#4095) by @dao74 in #4105
- Correct SecretNamesOptionsProvider display name by @johnwc in #4057
- fix - set handler before connect by @mircotamburini in #4140
- Secrets updates by @johnwc in #4211
- Have hangfire ignore exception when workflow is singleton and already running by @johnwc in #4216
- Misc updates by @johnwc in #4214
- Bump tough-cookie from 4.0.0 to 4.1.3 in /src/designer/elsa-workflows-studio by @dependabot in #4209
- Bump semver from 5.7.1 to 5.7.2 in /src/designer/elsa-workflows-studio by @dependabot in #4222
- Add suspense notifications to WorkflowExecutionLog by @promontis in #4255
- Bump word-wrap from 1.2.3 to 1.2.4 in /src/designer/elsa-workflows-studio by @dependabot in #4253
- Fixing build by @promontis in #4258
- New workflow definitions backup/restore by @johnwc in #4223
- WorkflowRegistry doesn't return a PagedList by @promontis in #4260
- Added ability to externalize MongoClient creation by @alkampfergit in #4262
- fix(dependencies): update dependencies by @marvingreeven in #4238
- Update hangfire to 1.8 by @johnwc in #4298
- Add option to check custom header when receiving http endpoint request by @tanelkuhi in #4230
- Change RunTask Payload from ActivityOutput to ActivityInput by @SydoxX in #4343
- fix issue 4308 by @alessandro-chiavegato-work in #4375
- fix issues with double slashes by @polferov in #4416
- make NewtonsoftJson and System.Text.Json works side by side. by @liuliang-wt in #4430
- make NewtonsoftJson and System.Text.Json works side by side (fixed) by @liuliang-wt in #4441
New Contributors
- @dao74 made their first contribution in #4105
- @promontis made their first contribution in #4255
- @marvingreeven made their first contribution in #4238
- @SydoxX made their first contribution in #4343
- @alessandro-chiavegato-work made their first contribution in #4375
- @polferov made their first contribution in #4416
- @liuliang-wt made their first contribution in #4430
Full Changelog: 2.12.0...2.13.0
3.0.0 Preview 3
3.0.0-preview.3 Delete RPC project