You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: CHANGELOG.md
+7-7Lines changed: 7 additions & 7 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,19 +1,19 @@
1
1
# Changelog
2
2
3
-
## v18.0.0 - 2026-05-31
3
+
## v18.0.0 - 2026-06-11
4
4
5
-
Refactor parallel converging and forking gateways, and treat multiple start events as mutually exclusive entry points.
5
+
Refactor parallel converging and forking gateways, and treat multiple start events as mutually exclusive entry points. As a result of the parallel gateway keeping track of peers there is no need for discarding a sequence flows.
6
6
7
7
### Breaking
8
8
9
+
-`Definition` must be called with `new`
9
10
- parallel gateways now enter execution as soon as the first inbound sequence flow is touched
10
-
-shake sequence has changed
11
+
-removed discarding of outbound sequence flows altogether — activities no longer publish flow discards, so sequence flow and downstream activity `discarded` counters stay at `0`
11
12
- IntermediateCatchEvent cannot be used as a starting element, or it can but will not be started by default
12
-
-`Definition` must be called with `new`
13
-
- non-gateway activities discard their outbound when all conditional flows are falsy instead of throwing; only exclusive and inclusive gateways still require a taken or default flow
13
+
- non-gateway activities end the branch when all conditional outbound flows are falsy instead of throwing; only exclusive and inclusive gateways still require a taken or default flow
14
14
- multiple start events are mutually exclusive entry points — the first start event to fire discards the others still waiting to be triggered, so two start events can no longer both run (e.g. into a parallel join, or a joining task taken twice)
15
15
- start activities that are not start events (e.g. a starting receive task, or an activity without an inbound flow) are no longer auto-discarded; they are genuine tokens that must be signalled or completed
16
-
-multiple start events no longer trigger a graph shake on run/resume; only converging parallel gateways do, and the shake remains available on demand via `shake()`
16
+
- shake sequence has changed
17
17
18
18
### Additions
19
19
@@ -28,7 +28,7 @@ Refactor parallel converging and forking gateways, and treat multiple start even
28
28
29
29
### Types
30
30
31
-
- runtime types are now generated from JSDoc and bundled with [dts-buddy](https://github.com/Rich-Harris/dts-buddy); status enums (`ActivityStatus`, `DefinitionStatus`, `ProcessStatus`) and `TimerType` accept both enum members and their string literals.
31
+
- runtime types are now generated from JSDoc and bundled with [dts-buddy](https://github.com/Rich-Harris/dts-buddy)
32
32
- expose `isStartEvent` and `isParallelGateway` on the `Activity` interface
Copy file name to clipboardExpand all lines: docs/Environment.md
-1Lines changed: 0 additions & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -16,7 +16,6 @@ Arguments:
16
16
-`strict`: boolean, [strict mode](#strict-mode) defaults to false
17
17
-`batchSize`: optional positive integer to control parallel loop batch size, defaults to 50
18
18
-`disableTrackState`: optional boolean to disable tracking of element counters between recover and resume. State of idle elements are not returned when getting state. Recommended if running and recovering really large flows
19
-
-`skipDiscard`: boolean, when true the runtime omits unnecessary discard messages for flows that no converging join is waiting on, defaults to true. Set to false for behaviour parity with older versions that always published discards
20
19
-`scripts`: [Scripts instance](/docs/Scripts.md)
21
20
-`timers`: [Timers instance](/docs/Timers.md)
22
21
-`expressions`: expressions handler, defaults to [Expressions instance](/docs/Expression.md)
Copy file name to clipboardExpand all lines: docs/SequenceFlow.md
+2-2Lines changed: 2 additions & 2 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -66,6 +66,6 @@ An expression condition can resolve to a service function instead of a plain val
66
66
If every conditional outbound flow evaluates to falsy, the behaviour depends on the element:
67
67
68
68
- a diverging **exclusive or inclusive gateway** takes its `default` flow when declared, otherwise it raises an `<id> no conditional flow taken` error — these gateways require exactly one (exclusive) or at least one (inclusive) outbound to be taken;
69
-
- any **other activity** (task, event, …) simply discards its outbound — the branch ends, no error is raised.
69
+
- any **other activity** (task, event, …) simply ends the branch, no error is raised.
70
70
71
-
> With the default `skipDiscard` setting the discards are not published, so the outbound flow `discard` counters stay at `0`. Set `skipDiscard` to `false` to observe the discards.
71
+
> The runtime no longer publishes outbound flow discards, so outbound flow `discard` counters stay at `0`.
0 commit comments