Совместим ли двоичный файл guava с предыдущими версиями?
Гуава README говорит, что @Beta
или устарел, что МОЖЕТ быть изменен, удален и т. д. В нем не ясно сказано, все ли остальные классы совместимы с предыдущими версиями (или я неправильно их прочитал). Хотя я чувствую, что он обратно совместим, если не указано иное.
Меня беспокоит то, что какая-то другая библиотека может работать против новой версии гуавы (и также скомпилироваться). Но это также может зависеть от некоторого ошибочного поведения, что новая версия могла быть изменена / исправлена, что не может быть легко обнаружено. Могу ли я безопасно обновить?
2 ответа
Мы постоянно поддерживаем двоичную совместимость и совместимость с исходным кодом для всех не-бета-API-интерфейсов с каждым выпуском, за исключением удаления методов, которые устарели уже как минимум 18 месяцев.
Мы продолжим этот стандарт, хотя мы начинаем осознавать возможность того, что переход JDK 8 поставит перед нами беспрецедентные проблемы в этом отношении, и, возможно, в будущем нас могут заставить принять участие в несовместимом обновлении. Я продолжаю надеяться, что в этом не будет необходимости.
Я подготовил отчет об обратной совместимости для версий библиотеки Guava здесь: http://abi-laboratory.pro/java/tracker/timeline/guava/
Отчет генерируется инструментами проверки соответствия японского языка и инструментами отслеживания японского языка.