Rumca Rumca - 10 days ago 5
Java Question

Is guava binary compatible with previous versions?

Guava README says that

@Beta
or deprecated that CAN be changed, removed etc. It does not say clearly whether all remaining classes are binary compatible with previous versions (or I misread it). Although I have feeling that it is backwards compatible when not stated otherwise.

My concern is that some other library might work against new guava version (and compile as well). But it also might rely on some buggy behavior that new version might have changed/fixed which cannot be detected easily. Can I safely upgrade?

Answer

We have steadfastly maintained binary and source compatibility for all non-@Beta APIs with every release, with the exception of removing methods that had been deprecated at least 18 months already.

We will continue this standard, although we are starting to acknowledge the possibility that the JDK 8 transition will give us unprecedented challenges in this regard, and it is possible we may be forced into a slightly-incompatible upgrade event in the future. I continue to hope it won't be necessary.

Comments