I have a set of programs, each one with its own version. All these programs are dependent on a library, again with its own version. For example
Foo-1.0.3
Bar-2.1.5
Baz-1.3.4
They depend on libfrobniz-1.4.5
. It happens that I have to do a major overhaul of the library (involving a lot of refactoring). This means that it will break everything (Foo, Bar and Baz). Of course, since this is a major and backward incompatible rework, the library will be bumped up to libfrobniz-2.0.0
.
My question is relative to the version of Foo Bar and Baz. I will upgrade them to use libfrobniz-2.0.0, but I am not changing their functionality. The new versions of these three programs can be used exactly as the old ones and they are, therefore, fully compatible. However, they will be dependent on a completely different version of libfrobniz
. Would you suggest to bump their version major number, or just the patchlevel ?