Workflow Engine: Release Notes
16.2.0
December 10, 2024
Core
- Fixed an issue in the MongoDB provider where
GenerateAsync
incorrectly threwInvalidOperationException
instead ofSchemeNotFoundException
. - Fixed an issue in the MongoDB provider where
GetProcessInstancesCountAsync
returned an incorrect value. - Fixed an issue in the MongoDB provider where
GetSchemesCountAsync
worked incorrectly. - Fixed an issue in the Oracle provider where
SetSchemeIsObsolete
worked incorrectly. - Fixed an issue where the runtime logger did not capture inner exceptions.
- Fixed an issue where process exceptions set the state to
Idle
instead ofTerminated
. - Fixed logging issues when parameters were null.
Designer
- The
http-proxy-middleware
dependency has been updated to version 2.0.7. - The
cross-spawn
dependency has been updated to version 7.0.6.
Plugins
- Added
DisableApprovalHistory
andDisableInbox
flags to theApprovalPlugin
to disable approval history creation and inbox table population, respectively. - Added
AllowedActorsFilter
filter to theApprovalPlugin
to filter the list of actors available for approval.
16.1.0
November 1, 2024
Core
- Resolved an issue where the
StartingTransition
field was not set duringProcessInstance
creation in the MongoDB provider.
Designer
- Fixed a
designer
rendering issue when changing the language.
16.0.0
October 24, 2024
Breaking Changes
- The old
BPMN
import/export
functionality has been completelyremoved
. Make sure to switch to the newBPMN
plugin. For more information, refer to Bpmn documentation.
Core
Inline parameters
were added for bulk setting before and after the execution of an inline segment, withUI
support for selecting parameters. For more information, refer to Scheme inlining documentation.
Designer
- Removed the erroneous ability to create a transition to a comment.
- The
rollup
dependency has been updated to version 1.15.4. - The
cookie
dependency has been updated to version 0.7.1. - The
socket.io
dependency has been updated to version 4.8.0. - The
express
dependency has been updated to version 4.21.1.
Bug Fixes
- Fixed an issue where samples could not start due to the missing
Microsoft.Data.SqlClient.SNI.x64.dll
. - Fixed a bug where regex substitution could cause the app to hang during inlined parameter processing.
- Fixed an error that occurred when double-clicking an inlined activity in
Process View
mode.
15.0.1
September 26, 2024
Designer
- Corrected
designer
packages innpm
. - Fixed issues with the
designer
samples.
15.0.0
September 25, 2024
Please use version 15.0.1 instead of version 15.0.0.
Breaking changes
- Added
ESM
support to theWorkflow Designer
. The entry point forCommonJS
remains unchanged. Node
has been updated to version20.17.0
.- The
Angular
designer package and sample have been updated toAngular 18
.
Core
- Multiple issues related to the functionality of Custom Activities have been fixed, and optimizations have been made.
- New settings for Custom Activities have been added. You can read more about them in this article.
Designer
- Fixed an issue in the
decision table
where thetransition
did not set theclassifier
when creating anactivity
.
14.1.0
September 20, 2024
Core
- Fixed an issue where subprocess parameter values were being overwritten by default values of parameters defined in the schema. Now,
parameters are no longer initialized with default values when creating a subprocess. If you previously relied on this behavior, you will
need to update your existing schemas or set the
WorkflowRuntimeSettings.ObsoleteSubprocessParametersInitializationBehavior
option totrue
. This setting will only affect parameters that are not copied when using theCopySpecified
,IgnoreSpecified
otIgnoreAll
policy. When using theCopyAll
policy, parameters will be copied from the parent process, making initialization unnecessary. Overwriting these parameters was a bug and not considered as breaking changes. - The
GetProcessInstancesAsync
method for the MongoDB provider has been fixed. Sorting and paging now work correctly. - The
GetSchemesAsync
method has been corrected, and tag lists are now generated properly. Sorting and paging for the MongoDB provider have also been fixed. - The
GetTopTimersToExecuteAsync
method now throws an exception when thetop
argument is less than 0. The handling of this argument for the MongoDB provider has also been fixed.
Designer
webpack
has been updated to version5.94.0
.axios
has been updated to version1.7.4
.
14.0.0
August 29, 2024
Workflow Engine Web API
Introducing a new product in the Workflow Engine ecosystem: the Workflow Engine Web API. This is a library for the ASP.NET framework that allows you to integrate a pre-built Web API into your application for managing data and processes within Workflow Engine instances. This module is easy to integrate and highly customizable, eliminating the need for routine development work to integrate Workflow Engine into your web ecosystem.
Key features:
- RESTful Data API: Safely interact with the Workflow Engine database without the risk of internal process disruptions.
- RPC API (Coming soon…): Remotely manage the Workflow Engine Runtime instance.
- Permission-based Security: Fine-tune access to each API endpoint and generate claims for your users.
For more information, refer to the documentation.
Unique Indexes
- Unique indexes have been added to all database providers:
- WorkflowGlobalParameter: Type, Name;
- WorkflowInbox: ProcessId, IdentityId;
- WorkflowProcessInstancePersistence: ProcessId, ParameterName;
- WorkflowProcessTimer: ProcessId, Name.
- In MongoDB, the index for the WorkflowScheme collection (Code) is now unique.
You can update the data schema using the built-in migration mechanism for SQL databases, or manually run the update_14.0.0.js
script for
MongoDB. You may also choose not to use these indexes or selectively apply some of them as needed.
Potential Breaking Changes
- For MS SQL Server only: To add indexes, the field lengths for
WorkflowProcessInstancePersistence.ParameterName
andWorkflowProcessTimer.Name
have been changed fromNVARCHAR(max)
toNVARCHAR(900)
. The migration script will automatically check if these fields contain data longer than 900 characters. If such data is found, the script will terminate with an error. In this case, you will need to manually shorten the data in these fields and rerun the migration. If you encounter difficulties during the upgrade process, please contact our support team.
Bug Fixes
- Fixed an issue where calling
GetInstancedStatus
on MongoDB would result in an exception.
13.3.1
August 12, 2024
Designer
- Fixed a bug that caused the import of
the @optimajet/workflow-designer-react package as an
ESM
module to not work.
13.3.0
August 07, 2024
Core
- Introduced centralized management for packages and their dependencies using
Directory.Build.props
andDirectory.Packages.props
. - Added a new
ProcessDefinitionBuilder
. For more details, refer to the documentation. - Upgraded
Newtonsoft.Json
package from version 13.0.1 to 13.0.3. - Added the capability to extend the
Designer API
.
Designer
- Corrected a typo in the Transition Edit Form.
Plugins
- Resolved an exception issue occurring in the
RealTimeTrackingPlugin
. - Fixed an issue with an incorrect type in
HttpRequestActivity
within theBasicPlugin
.
13.2.2
July 19, 2024
Bug Fixes
- Fixed an issue where adding a BuildStep with a specific ordinal number would cause an exception during the creation of the Workflow Runtime.
- Fixed an issue where invoking Shutdown multiple times in the Real-Time Tracking Plugin caused errors.
13.2.1
June 25, 2024
Designer
- Fixed several issues with the behavior of the
CreateProcess
activity. - Fixed a bug with SignalR connection.
- Fixed a bug with plugin list.
- The
braces
dependency has been updated from version3.0.2
to3.0.3
. - Updated
engine.io
from version6.5.4
to6.5.5
inWorkflow-designer-angular
. - Updated
socket.io-adapter
from version2.5.4
to2.5.5
inWorkflow-designer-angular
. - Updated
ws
from version8.16.0
to8.17.1
inWorkflow-designer-angular
.
Core
- Fixed a bug in subprocesses execution.
- Updated
Npgsql
package inOptimaJet.Workflow.PostgreSQL
to version8.0.2
.
Providers
- Corrected the
GetProcessHistoryCount
method in theMongoDB
provider.
Samples
- Updated
Microsoft.Identity.Client
from version4.60.3
to4.61.3
in Microsoft SQL WebForm sample. - Updated
Azure.Identity
from version1.11.3
to1.11.4
in Microsoft SQL Sample.
13.2.0
May 27, 2024
Designer
- Fixed an issue with saving custom activity.
- Added the ability to set the schema name in the designer.
Core
- Added functionality to retrieve a list of all migrations and a list of unapplied migrations.
Documentation
- Updated the "Testing workflow schemes" article with corrections related to migrations.
13.1.0
May 13, 2024
Samples
- Removed all .NET Framework 4.8 Samples except for the Microsoft SQL Server Sample.
- Updated .NET Framework 4.8 Samples to WorkflowEngine 13.0.0.
- Added Blazor integration Sample.
Providers
- Updated Npgsql driver from version 8.0.2 to 8.0.3.
13.0.0
May 06, 2024
Real-Time Tracking Plugin
- Implemented a Real-Time Tracking plugin that extends the Workflow Designer with real-time functionality, allowing live updates of process states via SignalR. For more details, refer to the documentation.
Core
- Introduced the optional capability for automatic migration, allowing the creation and updating of the database schema without manually running scripts. This feature ensures that the Workflow Engine maintains a list of executed scripts accessible within the database.
Designer
- The Workflow Designer can now be initiated directly from the command line using
the
npx @optimajet/workflow-designer $BackendUrl $SchemeCode
command, which automates the fetching and execution of packages from the npm repository. For more details, refer to the documentation. - Added an 'About' button to the designer’s menu, displaying both the backend and designer version information to users.
Bug Fixes
- Corrected an error related to clipboard access in the 'Instance Info' section.
- The backend now filters events to ensure that Workflow Designer receive only pertinent data. Unknown events are currently ignored.
12.5.1
April 24, 2024
Designer
- Added the ability to drag and resize windows on touch screens.
12.5.0
April 10, 2024
ApprovalPlugin
- Added a new setting
InboxCheckConditions
, which allows filling the inbox only with commands that satisfy all Conditions.
12.4.0
March 28, 2024
Core
- Resolved a bug preventing the timer from logging certain exceptions.
Providers
- Providers now utilize
PackageReference
instead ofProjectReference
. - Updated
Npgsql
package inOptimaJet.Workflow.PostgreSQL
to version8.0.2
.
Samples
- Updated
NetCore Samples
to.NET 8
.
Designer
- The designer now supports
React 18
. - Updated the designer React sample to
React 18
. - Added functionality to clear the
PreExecution Result
field in theDecision Table
. - Fixed a bug in the behavior of the
Decision Table
regarding transitions. - Corrected an issue where
Name
andState
fields were not filled in custom activities. - Added the ability to insert a logo into the designer. For more details, refer to the documentation.
Documentation
- Included information regarding Supported .NET versions on this page.
- Updated the description of timers on this page.
12.3.0
March 13, 2024
Features
- Introducing a new provider for SQLite database integration.
- Added a new edition for non-commercial use: Workflow Engine Community.
Bug Fixes
- Corrected timer value validation within the designer.
- Rectified improper window positioning and movement within the designer.
- Calibrated
z-index
values for designer's windows. - Resolved compilation errors in the Angular designer package.
- Fixed SQL Deadlock occurring during
ExecuteCommand
. - Color palette button no longer appears in readonly mode.
12.2.0
February 21, 2024
Feature
- Introducing the new Bulk API for
WorkflowRuntime
, enabling parallel execution of large arrays of tasks. Access to this API is facilitated through the WorkflowRuntime.Bulk property.
Core
- Added input validation to the
HelperDateTime.GetInterval
method. When incorrect values are passed, it now returns aTimeSpan
with a zero value.
Designer
- Resolved an issue where default annotation values for custom activities were not persisting in the schema without manual activity data saving.
12.1.1
January 19, 2024
Designer
- Fixed a bug when switching to expert mode for
Decision
andDecision table
. - Fixed the error of executing OnSuccessCallback in the
designer.create
method. - Outdated libraries have been replaced.
- Fixed the
Instance info
function. - Fixed the display after
fit to screen
for an empty scheme. - The
follow-redirects
dependency has been updated to version 1.15.4.
Providers
Microsoft.Data.SqlClient
has been updated to version 2.1.7 in MSSQL Provider.
12.1.0
December 25, 2023
Feature
- Added a new plugin for working with Active Directory services. For more information, refer to ActiveDirectoryPlugin.
Designer
- Displaying error from custom activities.
Providers
- Fixed a bug with query parameters in MSSQL Provider.
Plugins
- Added a base class
Deactivated
for disabling plugins. - The
OnPluginRemoveAsync
method has been removed from theIWorkflowPlugin
interface.
12.0.0
December 04, 2023
Breaking changes
Breaking changes only for MongoDB and Angular packages.
- MongoDB driver has been updated from
2.10.4
to2.19.0
. If you are using amulti-server
mode, you need a MongoDB cluster. - Angular designer package has been updated to
Angular 17
. This requires theNode 18.13
.
Core
- Fixed the operation of parameters with names containing a space.
- Improved performance of subprocesses execution.
Designer
- Fixed an error displaying parameter types in the Parameters windows.
- Fixed an error displaying process parameters in the ProcessInfo window.
- Fixed an error displaying exceptions handling in the Activity window.
- Improved zoom operation.
Samples
- Angular sample updated to
Angular 17
. - React package is now compatible with
React 18
.
11.0.1
September 01, 2023
Designer
- Now in the JSON editor and also in other places, JSON.stringify() is always used for formatting instead of JSON5.stringify(), so that the formatted code is always valid JSON.
11.0.0
This release brings a new enhanced feature as well as smoother and richer user experience.
August 28, 2023
Core
Users can now establish their Work Calendars
in accordance with specific workdays, thereby preventing any unnecessary
Timer activation during non-operational periods. Once you set up your calendar and append the letter <w>
to your
Interval Timer Value, the system will translate this interval to your established working time, adeptly bypassing
non-working hours and holidays. For more information, refer
to the Work Calendar documentation.
Timer
A bug associated with timer.Value
mutation in TimerManagerBase
has been fixed. This resolves any issues and
exceptions interconnected with the GetCustomTimerValueAsync
event and the CreateInstanceAsync
method.
Update instruction
The following additional actions must be taken to upgrade to Workflow Engine 11.0.0 from Workflow Engine 10.0.1:
- Run the SQL script update_11_0_0.sql for all relative databases:
10.0.1
July 13, 2023
Designer
- @optimajet/workflow-designer-angular Fixed version release error, please use version 10.0.1 instead of version 10.0.0.
10.0.0
July 13, 2023
Please use version 10.0.1 instead of version 10.0.0.
Designer
- @optimajet/workflow-designer-angular package updated to Angular 16. This is breaking changes for this package.
Providers
- The
System.Linq.Dynamic.Core
dependency has been removed from the MongoDB provider.
9.1.1
June 2, 2023
Providers
- A bug has been fixed in the MongoDB provider, where incorrect entries were being created in
ApprovalHistory
.
9.1.0
May 24, 2023
Designer
- Now all data from error response is thrown into the onError callbacks of the Designer.load, Designer.save and others functions.
And other minor improvements and fixes.
9.0.2
May 10, 2023
Designer
- Fixed a bug with moving the selected activity.
9.0.1
May 03, 2023
Designer
- Fixed filling types for custom activities.
9.0.0
April 20, 2023
Breaking changes
- The Oracle database provider has been updated to
netstandard2.1
target framework. The update is due to vulnerabilities found in previous versions of theOracle.ManagedDataAccess.Core
package. This means that the Oracle database provider can no longer be used with the .NET Framework, sincenetstandard2.1
is not supported on the .NET Framework. If you don't use an Oracle database, this change is not breaking for you.
Core
- Changes in the procedure for obtaining license and trial keys, you can read more here.
Samples
- Removed Oracle sample for .NET Framework.
- Removed Oracle sample for .NET Framework (WebForms).
8.1.0
March 1, 2023
Designer
- The size of POST requests to Designer API has been reduced.
Samples
- Updated
log4net
,sharpcompress
,Microsoft.Data.SqlClient
,System.Text.Encodings.Web
dependencies in the Framework examples.
Plugins
- Updated
SSH.NET
,SharpZipLib
dependencies inFilesPlugin
.
Core
- Removed
SharpZipLib
dependency.
8.0.0
February 21, 2023
There are no changes to the .NET libraries. In this version, only Workflow Designer packages are updated.
Designer
- The
style-loader
package has been moved from dependencies to dev dependencies. - Updated some NPM packages in the Workflow Designer examples.
- @optimajet/workflow-designer-angular package updated to Angular 15. This is breaking changes for this package.
- Added an option to get a Vue instance, see our documentation for details.
7.3.0
February 13, 2023
Core
- The
WorkflowRuntime.WithExpressionsCompilerOptions
method has been added to allow customizing expression compilation. - Added setting
WorkflowRuntimeSettings.DisableMultipleProcessActivityChanged
to remove repeatedOnProcessActivityChangedAsync
events. - Minor bug fixes.
Designer
- Improved text display for RTL languages.
- Fixed the location of the activity when creating in Firefox.
- Changing the language no longer resets the schema state.
7.2.3
December 5, 2022
Providers
- Added sort parameter for
LoadGlobalParametersWithNamesAsync
,LoadGlobalParametersAsync
andLoadGlobalParametersWithPagingAsync
methods of theIPersistenceProvider
. - Sorting of global parameters is implemented by all persistence providers.
Core
- Fixed a bug with type mutations of default process parameters (fields of static instances of the
ParameterDefinition
class in DefaultDefinitions are made immutable).
Designer
- Improved usability of zooming/scrolling.
- Fixed a bug in workflow-designer-angular that caused
apiurl
not to change on the fly.
7.2.2
November 9, 2022
Core
- Updated vulnerable dependencies.
Designer
- Fixed a bug in Angular & React npm packages where lifecycle events caused designer
schemacode
to be cleaned up.
7.2.1
November 7, 2022
Core
- Fixed a bug where subprocess logging would throw an exception.
Designer
- Fixed a bug where the canvas scrolls even when any window was open.
- Fixed a bug where
clear
executing would change the designerschemecode
.
7.2.0
October 24, 2022
Designer
- Improving the UX of scheme moving and scaling. Now you can move the scheme: up and down with the mouse wheel, left and right with the Shift + wheel, scale with Ctrl + wheel.
- Fixed a bug with saving custom activity parameters without a template.
- Fixed undo button bug.
- Minor optimization.
Providers
- The
LoadGlobalParametersWithPagingAsync
method has been added to theIPersistenceProvider
interface. That allows you to request global parameters with paging and searching by name.
7.1.4
October 12, 2022
Designer
- Fixed calling custom activity onUpdate with incorrect argument value.
Documentation
- Updated GitHub readme.
7.1.3
October 7, 2022
Designer
- Added an option
cacheLoadedFiles
— caches downloaded files (e.g. templates), enabled by default.
Documentation
- Added a guide where we will explain how to integrate Workflow Engine with React.
And other minor improvements and fixes.
7.1.2
October 5, 2022
Designer
- Added an optional button to save the schema to the server - docs.
- Updated and improved documentation on creating custom activity.
And other minor improvements and fixes.
7.1.1
September 22, 2022
- Fixed
Clone
method in theProcessDefinition
. - Small bug fix in the
designer
.
7.1.0
September 16, 2022
Designer
- The BPMN upload and download menu is now hidden by default (showBpmnMenu flag in designerConfig).
And other minor improvements and fixes.
7.0.0
August 29, 2022
Breaking changes
- The .NET Framework 4.6.2 is now the minimum supported version.
- Unified nuget packages for .NET Framework and .NET Core with the netstandard2.0 target.
- Updated providers. Now there is less static, and this is a precursor of an even greater update of providers.
- For .NET Framework users only: OptimaJet.Workflow.DbPersistence.dll renamed to OptimaJet.Workflow.MSSQL.dll.
Designer
- Added the ability to export the process scheme to an image.
- Added support for custom control for the action parameter.
- Added comment for command and commands parameter.
- Added ‘comment’ type for localization.
- Added ability to add a custom language.
- Fixed initialization of default values for activity.
- Exceptions are no longer logged when logging is disabled.
Providers
- Added the ability to set a global timeout for commands.
Samples
- .NET Core samples updated to .NET 6.
- Synchronous APIs have been replaced with asynchronous ones.
Also updated dependencies and other improvements and fixes.
6.0.2
July 6, 2022
Persistence Providers
- The transaction is now disposed when the schema is deleted.
6.0.1
June 24, 2022
Designer
- Fixed a graph loaded with an empty schema.
Core
- Updated Newtonsoft.Json library.
6.0.0
June 22, 2022
Designer
- Expanded localization opportunities. See the Localization article.
Core
- Added the
Localizer
property for instances ofWorkflowRuntime
,ProcessInstance
,ProcessDefinition
. - Added the
ILocalizationProvider
interface for predefined localization.
And other improvements and fixes.
Breaking changes
The LocalizeDefinition
class is now renamed to Translation
.
5.3.5
May 31, 2022
Plugin
- Updated Slack API library.
Core
- Fixed scheme caching.
5.3.4
May 23, 2022
Core
- Fixed the logic of restrictions, their concatenation and checks.
Designer
- Fixed BPMN upload in browser console.
- Fixed scheme naming when downloading.
5.3.3
May 13, 2022
Designer
- Fixed filename changing when downloading scheme.
5.3.2
April 29, 2022
Designer
- Bug fix and minor improvements.
5.3.1
April 25, 2022
Core
- Added a predefined actor provider in the Basic plugin, which allows you to thread-safe control the list of actors.
5.3.0
April 19, 2022
Breaking changes
If you use the FileUncompress
activity, then you need to resave the process schemas that use these activities in the updated designer.
Designer
- Fixed spelling errors.
Core
- Fixed spelling errors.
- Updated libraries
Microsoft.CodeAnalysis.CSharp
andMicrosoft.CodeAnalysis.CSharp.Scripting
to 4.1.0 version.
5.2.6
April 11, 2022
Designer
- Fixed an error loading external templates when using npm packages.
Core
- Added CC, BCC, ReplyTo fields to the SendEmail activity.
5.2.5
April 4, 2022
Designer
- Fixed errors in displaying process logs.
5.2.4
April 1, 2022
Designer
- Fixed errors in displaying process logs.
Core
- Added an index for the ProcessId column in the WorkflowProcessTimer table for MSSQL, MySQL, Oracle databases.
Update instruction
The following additional actions must be taken to upgrade to Workflow Engine 5.2.4 from Workflow Engine 5.2:
- Run the SQL script update_5_2_to_5_2_4.sql for all relative databases:
- Update all files related to the Designer. They are available here.
- Update NuGet packages or DLLs.
5.2.3
March 2, 2022
Designer
- The
Name
parameter will now be determined after theUploadAsync
andUploadBPMNAsync
methods are executed. - Fixed an issue where keyboard shortcuts did not work in Firefox.
- Fixed issue with endless loading of logs. Fixed problem with loading fonts from Google CDN.
Core
- Pre-Execution mode now has an infinite loop protection mechanism. Use
WorkflowRuntimeSettings.MaxPreExecutionTransitions
to define the maximum number of transitions during pre-execution. - Added an
ClearApprovers
action in the Basic plugin to reset the parallel approval. See also Basic plugin API. - Added the ability to use LINQ in
Expressions
. - Fixed an issue with parallel approval in the Basic plugin ((ArgumentNullException) Value cannot be null. (Parameter 'key')).
5.2.2
December 29, 2021
Designer
- Removed some global styles.
Core
- Fixed rule exclusion.
5.2.1
December 8, 2021
Designer
- Added the ability to change the transition classifier in the Decision and Decision Table elements in expert mode.
5.2
October 27, 2021
Designer
-
Now the Designer is published to npm, there are three packages: for any project, Angular and React.
-
Process history displayed in the designer now has server paging.
-
Upload and download of BPMN files can be customized using the following delegates:
WorkflowInit.Runtime.BPMNApi.CustomDownload += (definition, scheme) => { };
WorkflowInit.Runtime.BPMNApi.CustomUpload += (definition, scheme) => { }; -
Added a possibility to write user comments to activities and transitions.
-
The date picker are used in the DateAndTime, Date, Time timer types.
Plugins
-
The Basic Plugin provides actions/activities to set states and execute commands in another process.
-
The SetParameter action/activity from the Basic Plugin now accepts expressions as the parameter value, i.e. you can set any parameter with expression based on other parameters, for example:
@Amount * 2 + 100
-
A new Assignment Plugin to provide human tasks features was added. Read more about in the documentation Plugins/AssignmentPlugin.
-
The CreateProcess action/activity allows the passing parameters to the created process. You can use expressions in the process values.
-
The CheckApproversExist condition added to the Basic Plugin allows making conditional branch if nobody can approve the document.
Core
-
Added a stored procedure to clear unused schemes from WorkflowProcessSchemeTable, you can execute it using the following code:
await WorkflowInit.Runtime.PersistenceProvider.DropUnusedWorkflowProcessSchemeAsync();
-
Added overloaded methods GetAvailableCommandsAsync and GetAvailableStateToSetAsync that take a process instance as a parameter.
-
Added a method to search global parameters by their type name.
-
If the process fails the exception message and stack trace will be saved to LastError and LastErrorStackTrace process parameters.
-
Now it is possible to use non-Latin characters in parameter names, which are then used in expressions.
-
Added two methods that's can be useful in offline mode:
// returns all available transitions with commands for the user, these commands can be executed while the device is offline
await WorkflowInit.Runtime.OfflineApi.GetApprovalMapAsync(...);
// executes a series of commands when the device becomes online
await WorkflowInit.Runtime.OfflineApi.ExecuteSomeCommandsAsync(...); -
You can have more precise control of disabling the process state persisting. You can separately disable persisting process state, persisting process parameters, and persisting transition history.
-
PreExecuteAsync method returns the List of activities that's will be executed*.*
-
The Date, DateTime, and Time parameter types are available for action/condition/rule parameters edit forms. They are displayed as date-time pickers.
-
The new Timer type - Expression is implemented. You can write expressions here that's will be interpreted the following way:
- if the expression returns DateTime the timer will be set to this DateTime.
- if the expression returns an integer value the timer will act as an interval timer where the returned value is interpreted as the interval in milliseconds.
For example, you can write the following expressions (let's imagine that you have a Document process parameter with CreatedDate property):
(@Document.CreatedDate).AddDays(1)
-
Added a method to get actors with commands:
await WorkflowInit.Runtime.ActorsApi.GetActorsWithCommandsAsync(...);
Breaking changes
Please, pay attention to these breaking changes before updating.
-
The Workflow Designer isn't provided as the NuGet package anymore.
-
If you are using DateTime parameter types in parameter edit forms, please check that you are parsing them the standard way (DateTime.Parse for example), because now they are selected from date picker, and it saves them to string in more ISO style:
// no timezone, but it was valid in previous version
Before: 2021-11-05 18:07
// selected in local time, saved in UTC
After: 2021-11-05T15:07:00.000Z -
If you are using SetParameter action/activity from the Basic Plugin pay attention that:
- Before the parameter value was always interpreted as a string
- Now the parameter value is the compilable expression
You have two options how to preserve old behavior:
-
Quote the parameter value:
Before: Some Value
After: "Some Value" -
Switch on old behavior when initializing the Basic Plugin:
basicPlugin.Setting_DontCompileExpressions = true;
Update instruction
The following additional actions must be taken to upgrade to Workflow Engine 5.2:
- Run the SQL script update_5_1_to_5_2 for all relative databases and MongoDB.
- Update all files related to the Designer. They are available here.
- Update NuGet packages or DLLs.