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
- 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
- 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
- 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
- Call async methods when in an async method by @SergerGood in #6218
- Drop .NET 6 Support by @sfmskywalker in #6233
- Added example of perfomance test by @SergerGood in #6244
- Add support for ExpandoObject deserialization in ObjectConverter by @sfmskywalker in #6248
- Handle exceptions in variable loading and fix type checking. by @sfmskywalker in #6256
- Refactor recurring tasks scheduling logic. by @sfmskywalker in #6259
- Refactor workflow runtime structure and update handlers by @sfmskywalker in #6260
- Refactor JsonWorkflowStateSerializer to improve performance by @sfmskywalker in #6272
- Simplify and optimize workflow instance creation. by @sfmskywalker in #6281
- Update workflow creation to use async commit method by @sfmskywalker in #6282
- Refactor array type handling in variable and JSON converters by @sfmskywalker in #6283
- Implemented name filter to workflow instance filter and added case insensitivity to searching definitions and instances by name by @LarsNijholt in #6276
- Enable customizable Hangfire job storage and deprecate obsolete APIs. by @sfmskywalker in #6284
- Added DeleteVariablesAsync method for the workflow context - main by @MariusVuscanNx in #6293
- Refactor and enhance JavaScript and object conversions. by @sfmskywalker in #6296
- Fix array type handling by @sfmskywalker in #6301
- Refine message handling in MessageReceived activity by @sfmskywalker in #6302
- Reorder tenant services initialization for proper execution. by @sfmskywalker in #6303
- Regenerate 3_3 Runtime module migrations by @sfmskywalker in #6309
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
- @kursataktas made their first contribution in #6118
- @AlmightyLks made their first contribution in #6123
- @amirhaghajani made their first contribution in #6151
- @fanslead made their first contribution in #6164
- @mathijs-dumon made their first contribution in #6217
- @SergerGood made their first contribution in #6218
- @LarsNijholt made their first contribution in #6276
Full Changelog: 3.2.1...3.3.0