The same way that you should update a public REST API to support both the old and new versions applies here as well.
Essentially, here are some tips:
- For iFrames, if you add something new, create a new resource to serve your HTML, CSS and JS. Always maintain the old version of the webpage resources at the URLs that were available in the add-on descriptor that the customers on the old versions have.
- For Webhooks, generally they don’t change that much and it should not matter which version you are on.
Just make new resource paths for the things that have changed and you are in good stead.
For an example, just look at the descriptor for the add-on I wrote: My Reminders. You will notice that some of the web panel URLs have “/panel/v2” indicating that they are the second iteration of that path. The v1 URLs still exist for people on old versions of the add-on; before my scopes changes.