Diffing on swimlane content

Howdy Forum!

I’ve implemented the bpmn differ based on the example here. In doing some testing, I noticed that when you add a new swimlane and steps within that lane, the differ only seems to pickup the new lane as a change, but doesn’t also log the new content of the lane as diffs as well. Example:


I’m curious if this is expected behavior or if something might be configured wrong. My expectation is that it would show the 3 items inside the lane as changes as well. But maybe it expects users to infer that with a new lane, the content of that lane would obviously also be new?

In an example where I add a lane and move a node from an existing lane to the new one, it shows the lane as new (expected), shows the node as removed from the old one (expected only if it was going to show it as added to the new lane), and then it shows the node as layout changed (conflicting with it being removed). Example:

If anyone has run into this stuff before and has any input on what might be wrong here, that would be appreciated.


Hello! Exciting to see someone else looking into diffing lately.

If you share two diagrams, before and after state I’m happy to have a look.

Linked Processes (2).xml (5.2 KB)
Linked Processes (1).xml (2.9 KB)

1 > 2 is the first screenshot

Linked Processes (3).xml (5.4 KB)
Linked Processes (2).xml (5.2 KB)

2 > 3 is the second screenshot. Had to do it in 2 posts because you can’t upload more than 2 files per post. Thanks for taking a look!