Hi Nagasai,
How are you doing?
When you have application running in several versions already, it is likely that your version chain has been broken.
Chain I am referring to is, every time you push a new version to LIVE and choose "force pending tasks to new version", it will add a new entry to the chain.
Like,
pending tasks in V0 should run in V1 when updated
pending tasks in V1 should run in V2 when updated
pending tasks in V2 should run in V3 when updated
and when you update a process waiting in V0, it will jump to V3.
Chain broken means, somewhere in the version deployment you didn't choose "force new version" so V0 will not move to V3, maybe stuck in V2.
If case some process instances are running in old version, you can still manually go into its process report and edit the execution path, and save+replay in "selected" version.
So, the answer to your question is:
1. Create a new version.
2. Push it to LIVE with "force new version" option.
3. For instances that were not forced to new version (broken chain), you need to manually restart them in new version.
Of course all the best practices around version deployment apply here.
If you do not follow this correctly, there will be tons of process instances that abort with error and supervisor/admin has to fix all of them manually.
Please be very careful.
Once you have all instances running in single version, next time you release a upgrade version of application, you do not have to do #3 because chain will be effective.
Best regards,
Taka