Releases: elsa-workflows/elsa-core
3.3.0 RC4
What's Changed
- Fix: Resolve Python.Runtime.BadPythonDllException in Elsa.ServerAndStudio.Web by @amirhaghajani in #6151
- fix JavaScript BigInt mapping to BigInteger serialization incorrect by @fanslead in #6164
- Enhance Multitenancy with Runtime Tenant Management and Task Handling by @sfmskywalker in #6173
- Fix JS Variable Setting Bug in Workflow Variable Sync Logic by @sfmskywalker in #6175
- Fix route data handling by @sfmskywalker in #6176
- Refactor and reorganize Workflow Storage modules. by @sfmskywalker in #6177
- Add synthetic properties to JS engine for exclusion by @sfmskywalker in #6178
- Introduce job unscheduling functionality by @sfmskywalker in #6183
- Fix race condition and add rate limiting to bookmark queue processing by @sfmskywalker in #6187
- Add schema registry support to Kafka module by @sfmskywalker in #6190
- Add TenantId to RunTaskWebhookPayload by @sfmskywalker in #6191
- Persist workflow variables during background execution. by @sfmskywalker in #6195
- Add .NET 9.0 target by @Suchiman in #6186
- Fix C# Script race conditino by @Suchiman in #6192
- Fix Primitive Collection serialization by @Suchiman in #6157
- [Feat: OTEL + Tenants] : Add TenantId Property to Span by @jdevillard in #6083
- Fix Quartz scheduler implementation by @sfmskywalker in #6200
- Introduce the possibility to exclude variable value retrieval for certain storage drivers by @MariusVuscanNx in #6201
- Disable activity state filtering temporarily. by @sfmskywalker in #6202
- Fixed variable value retrieval by @MariusVuscanNx in #6204
- Add concurrency locks to DefaultTenantService operations by @sfmskywalker in #6205
- Regenerate EF Core migrations for 3.2 compat by @sfmskywalker in #6206
- Improve variable parsing with error handling and logging by @sfmskywalker in #6207
- Fixed issues where the outputs of a background activity will not be mapped by @MariusVuscanNx in #6209
- Refactor variable handling in storage driver logic by @sfmskywalker in #6210
- Retention: Add sweep interval to feature configuration by @Sverre-W in #6208
- Retention: Allow to define cleanup strategy for workflow instances by @Sverre-W in #6211
- Refactor activity cancellation and bookmark handling. by @sfmskywalker in #6213
New Contributors
- @amirhaghajani made their first contribution in #6151
- @fanslead made their first contribution in #6164
Full Changelog: 3.3.0-rc3...3.3.0-rc4
What's Changed
- Fix: Resolve Python.Runtime.BadPythonDllException in Elsa.ServerAndStudio.Web by @amirhaghajani in #6151
- fix JavaScript BigInt mapping to BigInteger serialization incorrect by @fanslead in #6164
- Enhance Multitenancy with Runtime Tenant Management and Task Handling by @sfmskywalker in #6173
- Fix JS Variable Setting Bug in Workflow Variable Sync Logic by @sfmskywalker in #6175
- Fix route data handling by @sfmskywalker in #6176
- Refactor and reorganize Workflow Storage modules. by @sfmskywalker in #6177
- Add synthetic properties to JS engine for exclusion by @sfmskywalker in #6178
- Introduce job unscheduling functionality by @sfmskywalker in #6183
- Fix race condition and add rate limiting to bookmark queue processing by @sfmskywalker in #6187
- Add schema registry support to Kafka module by @sfmskywalker in #6190
- Add TenantId to RunTaskWebhookPayload by @sfmskywalker in #6191
- Persist workflow variables during background execution. by @sfmskywalker in #6195
- Add .NET 9.0 target by @Suchiman in #6186
- Fix C# Script race conditino by @Suchiman in #6192
- Fix Primitive Collection serialization by @Suchiman in #6157
- [Feat: OTEL + Tenants] : Add TenantId Property to Span by @jdevillard in #6083
- Fix Quartz scheduler implementation by @sfmskywalker in #6200
- Introduce the possibility to exclude variable value retrieval for certain storage drivers by @MariusVuscanNx in #6201
- Disable activity state filtering temporarily. by @sfmskywalker in #6202
- Fixed variable value retrieval by @MariusVuscanNx in #6204
- Add concurrency locks to DefaultTenantService operations by @sfmskywalker in #6205
- Regenerate EF Core migrations for 3.2 compat by @sfmskywalker in #6206
- Improve variable parsing with error handling and logging by @sfmskywalker in #6207
- Fixed issues where the outputs of a background activity will not be mapped by @MariusVuscanNx in #6209
- Refactor variable handling in storage driver logic by @sfmskywalker in #6210
- Retention: Add sweep interval to feature configuration by @Sverre-W in #6208
- Retention: Allow to define cleanup strategy for workflow instances by @Sverre-W in #6211
- Refactor activity cancellation and bookmark handling. by @sfmskywalker in #6213
- Fix for #6082 - dropdowns are not populated for inputs without UIHints by @mathijs-dumon in #6217
New Contributors
- @amirhaghajani made their first contribution in #6151
- @fanslead made their first contribution in #6164
- @mathijs-dumon made their first contribution in #6217
Full Changelog: 3.3.0-rc3...3.3.0-rc4
3.3.0 RC3
What's Changed
- Add Variable Name Validation and Wrapper Control by @sfmskywalker in #6117
- Introducing Elsa Guru on Gurubase.io by @kursataktas in #6118
- Fix all broken summary xml docs by @AlmightyLks in #6123
- Add Elsa.Kafka Module for Kafka Integration with Message Sending and Receiving Activities by @sfmskywalker in #6108
- Fix workflow definition finder by @sfmskywalker in #6124
- Filter workflow summaries by latest version by @sfmskywalker in #6132
- Add ExecuteWorkflow activity by @sfmskywalker in #6134
- Refactor connection traversal to use visitedConnections set by @sfmskywalker in #6138
- Update Kafka Module: Add Support for Configuring Consumer and Producer Factories by @sfmskywalker in #6139
- Refactor URL trimming logic in HTTP endpoint handlers by @sfmskywalker in #6141
- Cache CSharp scripts by @Suchiman in #6130
- Fix Tenant ID propagation for Proto.Actor runtime by @sfmskywalker in #6142
- Fix Tenant ID propagation for MassTransit by @sfmskywalker in #6144
- Fix Serialization of generic types including collections by @Suchiman in #6148
- ExecuteWorkflow Activity: Add Wait For Completion option by @sfmskywalker in #6153
- Implement Dynamic Expression Evaluation for Log Persistence Mode by @sfmskywalker in #6159
- Kafka: Update ProduceMessage activity with support for specifying a Key by @sfmskywalker in #6166
New Contributors
- @kursataktas made their first contribution in #6118
- @AlmightyLks made their first contribution in #6123
Full Changelog: 3.3.0-rc2...3.3.0-rc3
What's Changed
- Add Variable Name Validation and Wrapper Control by @sfmskywalker in #6117
- Introducing Elsa Guru on Gurubase.io by @kursataktas in #6118
- Fix all broken summary xml docs by @AlmightyLks in #6123
- Add Elsa.Kafka Module for Kafka Integration with Message Sending and Receiving Activities by @sfmskywalker in #6108
- Fix workflow definition finder by @sfmskywalker in #6124
- Filter workflow summaries by latest version by @sfmskywalker in #6132
- Add ExecuteWorkflow activity by @sfmskywalker in #6134
- Refactor connection traversal to use visitedConnections set by @sfmskywalker in #6138
- Update Kafka Module: Add Support for Configuring Consumer and Producer Factories by @sfmskywalker in #6139
- Refactor URL trimming logic in HTTP endpoint handlers by @sfmskywalker in #6141
- Cache CSharp scripts by @Suchiman in #6130
- Fix Tenant ID propagation for Proto.Actor runtime by @sfmskywalker in #6142
- Fix Tenant ID propagation for MassTransit by @sfmskywalker in #6144
- Fix Serialization of generic types including collections by @Suchiman in #6148
- ExecuteWorkflow Activity: Add Wait For Completion option by @sfmskywalker in #6153
- Implement Dynamic Expression Evaluation for Log Persistence Mode by @sfmskywalker in #6159
- Kafka: Update ProduceMessage activity with support for specifying a Key by @sfmskywalker in #6166
New Contributors
- @kursataktas made their first contribution in #6118
- @AlmightyLks made their first contribution in #6123
Full Changelog: 3.3.0-rc2...3.3.0-rc3
3.3.0 RC2
What's Changed
- Updated refit - High vulnerability fix by @MariusVuscanNx in #6098
- fix: fix ITasksApi refit contract in Elsa.Api.Client by @cfgiugliano in #6102
- Keep Published Workflows Immutable by Updating Drafts Instead by @sfmskywalker in #6106
- Undo Migrations reset by @Suchiman in #6105
- Remove unused classes by @Suchiman in #6104
- Fix hangfire resume workflow by @sNakiex in #6097
- Add services and API endpoints to read and write workflow instance variables by @sfmskywalker in #6107
- Add configuration actions for DbContext options builders by @sfmskywalker in #6110
Full Changelog: 3.3.0-rc1...3.3.0-rc2
3.3.0-rc1
What's Changed
- Refactor Workflow Runtimes by @sfmskywalker in #5444
- Multitenancy by @sfmskywalker in #5159
- Flowchart variables are not serialized by FlowchartJsonConverter by @bobhauser in #5533
- Allow user to use DbContext pooling with Quartz by @MariusVuscanNx in #5625
- Register scheduler as singleton to avoid multiple starts of same task by @4lexKislitsyn in #5687
- fix(multitenancy): add missing TenantAgnostic flag to trigger store by @jeanbaptistedalle in #5689
- Respect Timeout and FailedToConnect in SendHttpRequestActivityResolver by @cschulznethaus in #5632
- Fixing some analyzer warnings by @lahma in #5617
- EF Core Oracle provider by @benjamin-hui in #5637
- Use database name from options when specified by @4lexKislitsyn in #5634
- feat: Modify the access level of FlowScope type and add Remove to specify the activity method by @Nokecy in #5752
- Add Bookmark Queue and Restore Background Activity Execution by @sfmskywalker in #5758
- Enable Proto Actor Tracing for TraceLens by @sfmskywalker in #5800
- Replace custom webhooks implementation with WebhooksCore by @sfmskywalker in #5811
- Add OpenTelemetry module by @sfmskywalker in #5810
- Drop NET 7 support and cleanup NuGet package references by @lahma in #5828
- Proto.Actor implementation for ChangeTokenSignalPublisher by @sfmskywalker in #5817
- Upgrade to Jint 4 by @lahma in #5834
- Add Orchard Core Integration + Agents Module by @sfmskywalker in #5871
- Fix background activity completion by @sfmskywalker in #5882
- [Fix] Replace "bundles" with "apps" in the content of README.md to al… by @zergmk2 in #5885
- [Fix] DropIns Hosted Service File System Watcher by @RenatoCapelo in #5892
- Modified POST Execute API to Display Body in Swagger and Fixed Type-Casting Error in GET Execute API by @cvijayak in #5858
- Added support to retrieve the workflow details through Liquid script by @cvijayak in #5909
- Fix NullReferenceException when parsing the HttpResponse in the SendHttpRequestbase by @gamaSantos in #5930
- Set event payload when event bookmark resumes by @JaFonz in #5934
- Add Variable available in dropdown when configuring a activity input by @jdevillard in #5918
- Add Agents Module with Semantic Kernel Integration by @sfmskywalker in #5937
- Bump actions/download-artifact from 3 to 4.1.7 in /.github/workflows by @dependabot in #5941
- Fix : Change to parameter after update to Elsa.Studio packages to version 3.3.0-preview.524 by @jdevillard in #5945
- Enh/5943 DropIns - Prevention of File Locks and Unloading by @RenatoCapelo in #5944
- [chore] Update upload-artifact major version for CI by @jdevillard in #5947
- Simplify Workflow Variables with JS by @sfmskywalker in #5946
- Remove obsolete package MassTransit.Extensions.DependencyInjection by @DnikitaA in #5955
- Upgrade to NUKE 8.1 by @lahma in #5952
- Secrets API by @sfmskywalker in #5967
- Upgrade Quartz and some warning fixes by @lahma in #5949
- Implement Activity State Filtering and JavaScript Integration by @sfmskywalker in #5993
- fix: issue fixed for triggering correct workflow definition versionId by @sagargolu in #5979
- feat: add ITasksApi to Elsa.Api.Client by @cfgiugliano in #5995
- feat: register ITasksApi in AddDefaultApiClients by @cfgiugliano in #5999
- Fix: missing tenantAgnostic parameter passing by @yusianglin11010 in #6002
- Enhance logging by adding logger state to activity and workflow pipelines by @bobhauser in #5985
- Update System.Text.Json version reference by @sfmskywalker in #6019
- Refactor Tenant Resolution to Use Async Local Storage for Operation-wide Access by @sfmskywalker in #6022
- Bump System.Text.Json from 7.0.4 to 8.0.5 in /build by @dependabot in #6021
- Add db providers for secrets features by @jdevillard in #6020
- Implement multitenant HTTP routing by @sfmskywalker in #6031
- Improved multitenancy support for HTTP workflows with per-tenant DbContext by @sfmskywalker in #6032
- Manually register SerializedKeyValuePair.Key to BsonClassMap to prevent index creation failure by @yusianglin11010 in #6036
- Add Functionality to Copy Entire Path from HTTP Endpoint Activity #133 by @abhishekp21 in #6037
- Add missing DefaultHttpEndpointBasePathProvider registeration by @yusianglin11010 in #6040
- Add JsonNode BSON serializer by @sfmskywalker in #6043
- Enhance error handling in
PolymorphicObjectConverter
by @sfmskywalker in #6051 - Fix Bulk Dispatch Missing Input by @sfmskywalker in #6052
- Include $schema when exporting workflow definition by @sfmskywalker in #6056
- Introduce Log Persistence Strategy by @sfmskywalker in #6057
- Update packages by @sfmskywalker in #6058
- Add multitenancy support for background tasks by @sfmskywalker in #6059
- Retention Module by @Sverre-W in #5344
- Refactor JS expressions for accessing secrets by @sfmskywalker in #6070
- Refactor FormUrlEncodedHttpContentFactory for better flexibility by @sfmskywalker in #6074
- Add workflow cancellation notifications by @sfmskywalker in #6075
- Add workflow activation and startup services. by @sfmskywalker in #6076
- Add bookmark queue purger functionality by @sfmskywalker in #6080
- Enable CPM transitive pinning and resolve version conflicts by @lahma in #6069
New Contributors
- @bobhauser made their first contribution in #5533
- @cschulznethaus made their first contribution in #5632
- @benjamin-hui made their first contribution in #5637
- @RenatoCapelo made their first contribution in #5892
- @gamaSantos made their first contribution in #5930
- @JaFonz made their first contribution in #5934
- @DnikitaA made their first contribution in #5955
- @sagargolu made their first contribution in #5979
- @cfgiugliano made their first contribution in #5995
- @yusianglin11010 made their first contribution in #6002
- @abhishekp21 made their first contribution in #6037
Full Changelog: 3.2.1...3.3.0-rc1
3.2.3
🚨 Elsa 3.2.3 Patch Release - Security Update
We are releasing Elsa 3.2.3 as an urgent security patch. A critical vulnerability was discovered in the real-time workflow functionality that necessitates immediate action.
Summary
This patch addresses a security vulnerability related to real-time workflow updates via SignalR. To mitigate this issue, we recommend updating your Elsa Workflow Server project.
In the mean time, and or if you are not ready to upgrade, make the following changes:
Action Required
Open your Elsa Workflow Server project.
Locate and comment out the following lines of code:
elsa.UseRealTimeWorkflows();
app.UseWorkflowsSignalRHubs();
By commenting out these lines, you will disable the real-time workflow updates and prevent potential exploits until a permanent fix is available.
Important Note
Elsa Studio will remain functionally operational, as it will fall back to a polling mechanism instead of realtime updates via SignalR.
We strongly urge all developers to apply this patch and take the necessary measures as outlined above to secure their applications.
Full Changelog: 3.2.2...3.2.3
3.2.2
What's Changed
- Add JsonNode BSON serializer by @sfmskywalker in #6043
- Include $schema when exporting workflow definition by @sfmskywalker in #6056
Full Changelog: 3.2.1...3.2.2
3.2.1
What's Changed
- Fix variable serialization by @sfmskywalker in #5974
- Fix Azure Service Bus module DI issues by @sfmskywalker in #5975
- Add endpoints for activity execution records and summaries by @sfmskywalker in #6018
- Add MongoDB collection naming strategy by @rosca-sabina in #6005
- Register MongoDb client as singleton by @rosca-sabina in #6013
Full Changelog: 3.2.0...3.2.1
3.2.0
What's Changed
- LogRecord storage at differents levels by @jdevillard in #4911
- Minor improvements and bug fixes following the 3.1 release by @sfmskywalker in #5168
- Patch 3.1.2 by @sfmskywalker in #5172
- Add settings for MassTransit message handling by @raymonddenhaan in #5176
- Improved the returned count of cancelled workflows by @raymonddenhaan in #5181
- Enhance BulkDispatchWorkflows Activity with Support for Multiple Input Keys and Customizable Input Key by @sfmskywalker in #5182
- Update method call in BulkDispatchWorkflows by @sfmskywalker in #5185
- Changed behaviour on publishing workflows by @raymonddenhaan in #5208
- Add caching to workflow runtime and workflow management stores by @sfmskywalker in #5174
- Replace ScheduleOutcomesAsync with CompleteActivityWithOutcomesAsync by @sfmskywalker in #5212
- Refactor workflow dispatch and instance creation process by @sfmskywalker in #5213
- Fix LogPersistenceMode default mapping logic by @sfmskywalker in #5218
- Bulk BulkDispatchWorkflows fixes by @MariusVuscanNx in #5221
- Fix WorkflowActivity to Use Cached Workflow Definitions for Consistent Behavior by @sfmskywalker in #5223
- Optimize Workflow Execution and Messaging by @sfmskywalker in #5243
- issue 5113: Allows string support for HttpFileResponse activity by @DelarreAlexis in #5113
- Update activity execution mapping in workflow runtime by @sfmskywalker in #5253
- Cache JavaScript Expressions by @sfmskywalker in #5273
- Refactor serializer options usage and enhance caching in workflow serialization by @sfmskywalker in #5275
- Remove SerializedOutputValue from JournalData by @jdevillard in #5266
- Clone the Serializer Options to customize for specific context by @jdevillard in #5278
- Reuse JsonSerializerOptions by @sfmskywalker in #5283
- Fix the property SerializedValue in RuntimeDbContext for Oracle by @b0rv3g4r4 in #5231
- Feature/sonar cloud by @cristinamudura in #5224
- Add Component Testing Framework by @sfmskywalker in #5261
- feat(liquid): delete json filter and add filters already provided by … by @jeanbaptistedalle in #5188
- Update packages by @sfmskywalker in #5286
- Fix Race Condition in WorkflowDefinitionActivity by @sfmskywalker in #5315
- Fix FlowJoin Activity NRE Bug by @sfmskywalker in #5349
- Remove CachingBookmarkStore class and its references by @sfmskywalker in #5354
- Include dropdown when using a nullable enum in an activity input by @nickrubenstein in #5320
- Bugfixes for heartbeats using MongoDB by @stephanmelzer in #5337
- Add Fault Code, Category and Type by @sfmskywalker in #5362
- Update Npgsql versions by @raymonddenhaan in #5367
- Add distributed locking to MassTransitWorkflowDispatcher by @sfmskywalker in #5418
- Update Npgsql package versions by @raymonddenhaan in #5426
- Revert sending input as global state instead of parameter by @sfmskywalker in #5425
- Global read-only and read-only workflows by @MariusVuscanNx in #5406
- Add Http Response Behavior to answer synchronously using the HttpResponse Activity by @jdevillard in #5446
- add text/html content parser as string content by @jdevillard in #5460
- Refactor
DefaultTriggerScheduler
and handle pastStartAt
triggers by @sfmskywalker in #5463 - Update and optimize WorkflowDefinitionStore logic by @sfmskywalker in #5462
- Add JSON Serialization for Elsa expression by @sfmskywalker in #5490
- Remove signal capturing phase by @sfmskywalker in #5501
- Add activity existence check in Flowchart by @raymonddenhaan in #5544
- Publishing workflows always checks for consuming workflows to update by @raymonddenhaan in #5535
- Refactored handling/updating of the ActivityRegistry by @raymonddenhaan in #5468
- Added MongoDB implementation for alteration storage by @rosca-sabina in #5555
- Fixed DI registration for MongoAlterationPlanStore by @rosca-sabina in #5564
- Add application roles and configure them in MassTransit by @sfmskywalker in #5561
- Fix workflow variable scope inconsistency by @sfmskywalker in #5558
- Update packages to latest versions by @raymonddenhaan in #5567
- Fix MT consumer registration when DisableConsumers is set by @sfmskywalker in #5578
- Extended check when to update dependent workflows by @raymonddenhaan in #5598
- Revise ActivityRegistry update logic by @raymonddenhaan in #5604
- Forced package upgrade due to vulnerability by @raymonddenhaan in #5605
- Add HTTP file download activity and supporting classes by @sfmskywalker in #5608
- Use auto detect of mySQL version by @raymonddenhaan in #5621
- Implement automated cleanup for Azure Service Bus subscriptions by @raymonddenhaan in #5636
- Update workflow definition registry and retraction handling by @raymonddenhaan in #5650
- Lazy loading of subgraphs by @sfmskywalker in #5643
- Fix subscription name matching in RemoveOrphanedSubscriptions by @raymonddenhaan in #5658
- Update endpoints for lazy loading by @sfmskywalker in #5681
- Update serialization and conversion functions by @raymonddenhaan in #5682
- Add sink for persisting workflows execution log records by @raymonddenhaan in #5708
- Workflow refresh feature by @MariusVuscanNx in #5713
- Add PropertyBag for non-polymorphic data transfer between server and client by @sfmskywalker in #5735
- Add ActivityNodeIds filter to journal requests by @sfmskywalker in #5741
- Added aliases for all missing types used in UI by @raymonddenhaan in #5743
- Add WorkflowExecutionLogRecordExtractor by @raymonddenhaan in #5728
- Implemented workflows reload endpoint by @MariusVuscanNx in #5732
- Added endpoint to poll for journal updates by @raymonddenhaan in #5751
- Update activity ID reference in BroadcastWorkflowProgress by @sfmskywalker in #5767
- Overwritten System.Text.Json version due to vulnerability by @raymonddenhaan in #5777
- bugfixing issues related to new PropertyBag in workflow definition by @mohdali in #5778
- Overwriting System.Formats.Asn1 due to vulnerability by @raymonddenhaan in #5779
- Fix reloading logic for workflow definitions by @sfmskywalker in #5781
- Update API endpoint for Polling Observer by @sfmskywalker in #5787
- fix workflow context execution middleware and script completion by @mohdali in https://github.com/elsa-wor...
3.2.0-rc6
What's Changed
- Add new HTTP workflow tests and enhance middleware by @sfmskywalker in #5908
- Remove ExpandoObject support from JintJavaScriptEvaluator by @sfmskywalker in #5913
- Introduce UniqueKeyConstraintViolationException by @raymonddenhaan in #5917
Full Changelog: 3.2.0-rc5...3.2.0-rc6
3.2.0 RC5
What's Changed
- Add customizable DB exception handlers by @raymonddenhaan in #5869
- Change MongoDB classmap registration for SerializedKeyValuePair by @rosca-sabina in #5877
- Refactor journal data access and improve byte[] handling by @sfmskywalker in #5878
- Add optional refresh parameter by @sfmskywalker in #5876
- rename DbExceptionHandlers to better reflect their intent. by @raymonddenhaan in #5894
- Add ExpandoObjectConverter for JavaScript object conversion by @sfmskywalker in #5896
- Add JS functions for encoding/decoding byte arrays from and to strings by @sfmskywalker in #5902
Full Changelog: 3.2.0-rc4...3.2.0-rc5