However, this may result in unpleasant situation: when runtime code changes because if new version of addon or new iteration of development, the new code will try to use old structure.
Note that it is not enough to call this function in a load_post handler or so on startup, because the user might link/append outdated nodes at any time even after the main .blend was loaded. So I run this compatibility function before the start of each render, but in your addon usecase you might want to call it at some other time, before evaluating your node tree.