I have touched on this topic before but wanted to see if there's any new ideas regarding this.
I have running serverless workflows that change constantly, so I created a process to "upgrade" to new version" which tries thru DB queries to pull workflow data, delete old correlation, post to api to create a new process on the new version but starting on the node where the old version is at.
This has brought a whole bunch of problems since I'm manipulating the data in a way that Kogito was never designed for.
I understand the "recommend" solution is to have different deployments per version, which for my project would be completely unmanageable, since we plan to have dozens of workflows that need to constantly adapt to changing business needs.
Right now one of the biggest issues is that when version changes the old running processes "disappear" since Kogito can no longer find them.
I have considered just keeping a separate file for versions but this comes with having to make sure no one on the team pushes changes to this old file by mistake, and creating or querying workflows on the "right" version needs yet more things to take into account.
I would be happy if old processes could finish on old versions, and new processes can start from new version, maybe by adding workflow definition at db level instead of just files.
Or there was an "official" way to upgrade versions, maybe an api that receives an id and a starting point and it moves the data correctly (and transactionally) to the new version