-
Notifications
You must be signed in to change notification settings - Fork 10.9k
ReleasePolicy
The version number for a new release will always be set just before creating that release and will be determined in accordance with semantic versioning. To put it simply:
- Version numbers will be of the form major.minor<.patch>-flavor, with the patch version left off if it would be 0.
- If there are no API additions or removals, the patch version from the previous release will be incremented.
- If there are API additions, but no removals or other incompatible API changes, the minor version from the previous release will be incremented and the patch version set to 0.
- If there are API removals or other incompatible API changes, the major version from the previous release will be incremented and the minor and patch versions set to 0.
Whether or not an API is annotated with @Beta
is not taken into account when determining the version number. Removing or making an incompatible change to an @Beta
API requires us to increase the major version number just as it does for a non-@Beta
API.
Guava is currently released in two flavors: JRE and Android. For each release starting with release 23.1, there are two different version numbers available in Maven Central: <version>-jre
and <version>-android
. The JRE flavor currently targets Java 8, while the Android flavor currently targets an Android (API level 14) compatible subset of Java 7. The Android flavor does not require Android, it is merely Android compatible and, to some extent, optimized for use on Android. Code depending on Guava that wants to be compatible with both Android and JRE should use the Android flavor. See Compatibility for more information.
Releases will be documented on Guava's GitHub Releases page, including links to generated Javadoc and JDiff and a list of notable changes.
We no longer provide release candidates prior to a release. If issues are found with a release, they can either be corrected in the next release in two weeks or in a patch release sooner, depending on the severity.
- Introduction
- Basic Utilities
- Collections
- Graphs
- Caches
- Functional Idioms
- Concurrency
- Strings
- Networking
- Primitives
- Ranges
- I/O
- Hashing
- EventBus
- Math
- Reflection
- Releases
- Tips
- Glossary
- Mailing List
- Stack Overflow
- Android Overview
- Footprint of JDK/Guava data structures