During the development of a shared library it may happen that the external
interface has to change, for example by renaming a method. This is of course
easy to do with a Rename refactoring. (Obviously, stable version of
shouldn't be changed like this.)
The problem is that any projects that use this library are now out-of-date
and have to be manually fixed. One solution is to have all these projects
added as modules to the library project. This may not always be feasible.
Another solution would be to bundle up these changes and have a mechanism
that could apply these changes to the affected project. Something like a
shelved change but on a higher level.
Does something like this exist? Does it sound possible to implement, or
would there be too many weird cases?