33.1.0
Request for Android users
If you know of Guava Android users who have not yet upgraded to at least the previous release 33.0.0, please encourage them to do so. Starting with that version, we are experimenting with including Java 8+ APIs in guava-android
. Before we commit to adding such APIs, we want as much testing as we can get: If we later expose a set of Java 8+ APIs and then discover that they break users, we won't want to remove them, as the removal would break users, too.
Maven
<dependency>
<groupId>com.google.guava</groupId>
<artifactId>guava</artifactId>
<version>33.1.0-jre</version>
<!-- or, for Android: -->
<version>33.1.0-android</version>
</dependency>
Jar files
Guava requires one runtime dependency, which you can download here:
Javadoc
JDiff
Changelog
- Updated our Error Prone dependency to 2.26.1, which includes a JPMS-ready jar of annotations. If you use the Error Prone annotations in a modular build of your own code, you may need to add a
requires
line for them. (d48c6df, c6e91c4) base
: Added aDuration
overload forSuppliers.memoizeWithExpiration
. (76e46ec)base
: Deprecated the remaining two overloads ofThrowables.propagateIfPossible
. They won't be deleted, but we recommend migrating off them. (cf86414)cache
: Fixed a bug that could cause false "recursive load" reports during refresh. (0e1aebf)graph
: Changed the return types oftransitiveClosure()
andreachableNodes()
toImmutable*
types.reachableNodes()
already returned an immutable object (even though that was not reflected in the declared return type);transitiveClosure()
used to return a mutable object. The old signatures remain available, so this change does not break binary compatibility. (09e655f)graph
: Changed the behavior of views returned by graph accessor methods that take a graph element as input: They now throwIllegalStateException
when that element is removed from the graph. (8dca776)hash
: OptimizedChecksum
-based hash functions for Java 9+. (afb35a5)testing
: ExposedFakeTicker
Duration
methods to Android users. (f346bbb)util.concurrent
: Deprecated the constructors ofUncheckedExecutionException
andExecutionError
that don't accept a cause. We won't remove these constructors, but we recommend migrating off them, as users of those classes often assume that instances will contain a cause. (1bb3c43)util.concurrent
: Improved the correctness of racy accesses for J2ObjC users. (d3232b7)