We're thrilled to announce that the release candidate (RC) for Elsa 3.2.0 is now available! This new version brings a host of improvements, bug fixes, and exciting new features designed to enhance your workflow automation experience.
🚀 Key Highlights
- JS Intellisense Support: Thanks to our wonderful contributors, JS Intellisense has been restored, enabling you to get suggestions related to workflow variables.
- Performance: Caching workflow definitions, JavaScript ASTs, and JSON serializer options yield an incredible performance boost.
- Data Storage Reduction: Workflow instance data compression and the ability to control which outputs of which activities are included in log entries, another great contribution from our community, offer greater control over your database size.
- Reliability: We continue our journey to improve Elsa's robustness and reliability with the addition of end-to-end (component) tests, vastly increasing coverage of code and a multitude of scenarios.
- Read-Only Mode: Workflow editing can be disabled at the application level and on an individual workflow definition level. This is handy when deploying workflows to production environments where users should be able to view workflows, but not edit them.
- Bug Fixes: Resolved several issues to ensure a smoother experience.
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
New Contributors
- @DelarreAlexis made their first contribution in #5113
- @nickrubenstein made their first contribution in #5320
- @stephanmelzer made their first contribution in #5337
- @rosca-sabina made their first contribution in #5555
Full Changelog: 3.1.2...3.2.0-rc1