Google core libraries for Java
<dependency>
<groupId>com.google.guava</groupId>
<artifactId>guava</artifactId>
<version>27.0.1-jre</version>
<!-- or, for Android: -->
<version>27.0.1-android</version>
</dependency>
<dependency>
<groupId>com.google.guava</groupId>
<artifactId>guava</artifactId>
<version>27.0-jre</version>
<!-- or, for Android: -->
<version>27.0-android</version>
</dependency>
Important: ListenableFuture
is now available as a separate artifact (com.google.guava:listenablefuture:1.0
) from the rest of Guava. As part of that change, Guava now has a real (needed at runtime) dependency on com.google.guava:failureaccess:1.0
. For more details, see this announcement. (b62d52926)
collect
: Added a gap(Range)
method to Range
that computes the Range
that lies between them. (a9dd7098f)net
: Added HttpHeaders.EARLY_DATA
. (e074cf1a7)net
: Added MediaType.WASM_APPLICATION
. (0b3eb0f4e)concurrent
: AbstractFuture
doesn't expose FluentFuture
APIs anymore. (0f8d3608a)concurrent
: Added doCancelStart
protected method to AbstractService
(27bfe412b)<dependency>
<groupId>com.google.guava</groupId>
<artifactId>guava</artifactId>
<version>26.0-jre</version>
<!-- or, for Android: -->
<version>26.0-android</version>
</dependency>
base
: Removed deprecated public static
fields from CharMatcher
. Use the equivalent public static
methods instead. (f1249c4f0)base
: Fixed the ServiceConfigurationError
that some users encountered when using Guava as a JPMS module. (8287cdfa3)cache
: Fixed a bug where Cache.asMap.compute*
methods could cause nonsensical weights to be stored, breaking cache eviction. (15764d7f3)concurrent
: Removed deprecated Futures
methods that implicitly use directExecutor()
. (87d87f5ca)concurrent
: Added ExecutionSequencer
, a new utility to run a series of asynchronous operations serially. (8d1fbc96e)concurrent
: Removed special-casing UndeclaredThrowableException
in Futures.transform()
. (9466b62f5)net
: Changed HostAndPort.equals()
and hashCode()
to stop depending on whether brackets were included. Now they depend only on host and port. (34c161627)net
: Added HttpHeaders
constant for Sec-Metadata header. (986a3a3ef)net
: Added MediaType
for "application/hal+json". (fea88fe49)<dependency>
<groupId>com.google.guava</groupId>
<artifactId>guava</artifactId>
<version>25.1-jre</version>
<!-- or, for Android: -->
<version>25.1-android</version>
</dependency>
@Nullable
type annotations)@Nullable
in the JRE/Java 8 flavor. (0a2258e66)base
: Added Strings.lenientFormat()
, copied from Preconditions.format()
. (7fe1702ae)net
: Added Token Binding HTTP headers to HttpHeaders
. (d9113d51b)reflect
: Added overrides for methods on JDK types returning AnnotatedType
in the JRE/Java 8 flavor. (d94eb93fb)testing
: Added support for type annotations in NullPointerTester
in the JRE/Java 8 flavor. (d94eb93fb)util.concurrent
: Added @DoNotCall
to Futures
methods that do not accept an Executor
in preparation for removal. (49a1df62b)<dependency>
<groupId>com.google.guava</groupId>
<artifactId>guava</artifactId>
<version>23.6.1-jre</version>
<!-- or, for Android: -->
<version>23.6.1-android</version>
</dependency>
Note that we've also released Guava 25.0, which contains the change in 24.1.1 and some additional changes.
<dependency>
<groupId>com.google.guava</groupId>
<artifactId>guava</artifactId>
<version>24.1.1-jre</version>
<!-- or, for Android: -->
<version>24.1.1-android</version>
</dependency>
(There are no API diffs from 24.1. Our release tooling generated the following diffs against the newer 25.0, which doesn't really make sense. We'll try to get that fixed for future patch releases.)
<dependency>
<groupId>com.google.guava</groupId>
<artifactId>guava</artifactId>
<version>25.0-jre</version>
<!-- or, for Android: -->
<version>25.0-android</version>
</dependency>
cache
: Added java.time.Duration
overloads to CacheBuilder
. (9bf6d9590)io
: Removed deprecated Files.fileTreeTraverser()
and MoreFiles.directoryTreeTraverser()
. (ce6d93c20)<dependency>
<groupId>com.google.guava</groupId>
<artifactId>guava</artifactId>
<version>24.1-jre</version>
<!-- or, for Android: -->
<version>24.1-android</version>
</dependency>
collect
: Added hash flooding protection to ImmutableSet
, ImmutableMultiset
, ImmutableMap
and ImmutableBiMap
graph
: Added support for traversing from multiple start nodes in Traverser
. (cbc530844)net
: Added X-Download-Options header to HttpHeaders
(9b9a17535)net
: Added L16 audio constant to MediaType
<dependency>
<groupId>com.google.guava</groupId>
<artifactId>guava</artifactId>
<version>24.0-jre</version>
<!-- or, for Android: -->
<version>24.0-android</version>
</dependency>
base
: Removed deprecated Predicates.assignableFrom(Class)
. (d57a40e54)collect
: Removed deprecated BinaryTreeTraverser
. (f91ef6ca6)concurrent
: Removed deprecated Futures.dereference
and MoreExecutors.sequentialExecutor
. (f91ef6ca6)graph
: Removed deprecated Graphs.equivalent()
(41fa39fa7)graph
: Added incidentEdges()
method to Graph
and ValueGraph
. (d788bc15f)net
: Added HttpHeaders.HTTP2_SETTINGS
header according to http://httpwg.org/specs/rfc7540.html#Http2SettingsHeader (393066e5b)net
: Added MediaType.withParameters
method that can replace a specific attribute with zero or more values. (7da42d206)<dependency>
<groupId>com.google.guava</groupId>
<artifactId>guava</artifactId>
<version>23.6-jre</version>
<!-- or, for Android: -->
<version>23.6-android</version>
</dependency>
concurrent
: Added Uninterruptibles
methods for Condition
. (794a8ca43)concurrent
: Added a run
method to FutureCombiner
to allow passing a Runnable
to Futures.whenAllComplete
and Futures.whenAllSucceed
(de28fd831)concurrent
: Made Futures.getUnchecked
available under GWT. (b1d9d99b6)net
: Added "Server-Timing" HTTP header to HttpHeaders
according to https://www.w3.org/TR/server-timing/ (f089e55e5)testing
: Started recognizing @NullableDecl
in NullPointerTester
and friends.jsr305
@Nullable
to the Checker Framework @NullableDecl
. Tools that read these annotations may need to be updated to recognize the new annotation. For Kotlin in particular, we sent a pull request, which has been merged for 1.2.20.jsr305
@CheckReturnValue
, @GuardedBy
and @OverridingMethodsMustInvokeSuper
to the Error Prone equivalents.