Releases: google/guava
Releases · google/guava
28.1
Maven
<dependency>
<groupId>com.google.guava</groupId>
<artifactId>guava</artifactId>
<version>28.1-jre</version>
<!-- or, for Android: -->
<version>28.1-android</version>
</dependency>Javadoc
JDiff
Changelog
collect: AddedRangeMap.merge, analogous toMap.merge. (687252d)collect: Fixed a bug inImmutableSet.Builderthat could lead to infinite loops when building multiple sets from the same builder. (0007cb2)io: Fixed an issue where theInputStreamreturned byBaseEncoding.decodingStream(Reader)could fail to throwDecodingExceptionwhile decoding an invalid string. (ddd4a49)net: AddedMediaTypefor "image/heif" and "image/jp2" (508696a)net: AddedUpgrade-Insecure-Requestsheader toHttpHeaders. (6a8b716)concurrent: Fixed potential memory leak inFutures.whenAllSucceed/whenAllComplete(494834b)
28.0
Maven
<dependency>
<groupId>com.google.guava</groupId>
<artifactId>guava</artifactId>
<version>28.0-jre</version>
<!-- or, for Android: -->
<version>28.0-android</version>
</dependency>Javadoc
JDiff
Changelog
collect: AddedDuration-based overloads to someQueuesmethods. (21d06cf)net: AddedMediaTypefor "application/geo+json". (36cd5cf)net: Added a number of constants toHttpHeaders.concurrent: Removed deprecatedCheckedFutureand related utilities. (3dd22fe)concurrent: AddedDuration-based overloads to many methods.concurrent: Removed@BetafromsetFuture. (5ec1360)concurrent: Added deprecatedFluentFuture.from(FluentFuture)to point out redundant code. (f9f2807)graph: AddedGraphBuilder.immutable(),ValueGraphBuilder.immutable()andNetworkBuilder.immutable()for building immutable graphs in a fluent way.- J2ObjC: Fixed crashes from use of
ImmutableMap.entrySet(). (74fc49f)
27.1
Maven
<dependency>
<groupId>com.google.guava</groupId>
<artifactId>guava</artifactId>
<version>27.1-jre</version>
<!-- or, for Android: -->
<version>27.1-android</version>
</dependency>Javadoc
JDiff
Changelog
- Removed GWT emulations that are no longer needed as of GWT 2.8.2. This means that GWT projects that use this version of Guava must use GWT 2.8.2 or higher. (5f35072)
- Created a BOM for Guava (new
guava-bomartifact). (0e59641) - Removed
@Betafrom a number of frequently used APIs. (6242bdd) net: AddedSec-Fetchheaders toHttpHeaders. (673b243)net: AddedSourceMapheader toHttpHeaders(a99c15f)net: AddedMediaTypefor "application/jose" and "application/jose+json". (d416e04)graph: Added overloads to methods accepting pairs of nodes to also acceptEndpointPair; changed behavior of*Graph.edges().contains()to allow undirected graphs to accept orderedEndpointPairs. (af3ee1c)
27.0.1
Maven
<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>Javadoc
JDiff
Changelog
27.0
Maven
<dependency>
<groupId>com.google.guava</groupId>
<artifactId>guava</artifactId>
<version>27.0-jre</version>
<!-- or, for Android: -->
<version>27.0-android</version>
</dependency>Javadoc
JDiff
Changelog
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. (b62d529)
collect: Added agap(Range)method toRangethat computes theRangethat lies between them. (a9dd709)net: AddedHttpHeaders.EARLY_DATA. (e074cf1)net: AddedMediaType.WASM_APPLICATION. (0b3eb0f)concurrent:AbstractFuturedoesn't exposeFluentFutureAPIs anymore. (0f8d360)concurrent: AddeddoCancelStartprotected method toAbstractService(27bfe41)
26.0
Maven
<dependency>
<groupId>com.google.guava</groupId>
<artifactId>guava</artifactId>
<version>26.0-jre</version>
<!-- or, for Android: -->
<version>26.0-android</version>
</dependency>Javadoc
JDiff
Changelog
base: Removed deprecatedpublic staticfields fromCharMatcher. Use the equivalentpublic staticmethods instead. (f1249c4)base: Fixed theServiceConfigurationErrorthat some users encountered when using Guava as a JPMS module. (8287cdf)cache: Fixed a bug whereCache.asMap.compute*methods could cause nonsensical weights to be stored, breaking cache eviction. (15764d7)concurrent: Removed deprecatedFuturesmethods that implicitly usedirectExecutor(). (87d87f5)concurrent: AddedExecutionSequencer, a new utility to run a series of asynchronous operations serially. (8d1fbc9)concurrent: Removed special-casingUndeclaredThrowableExceptioninFutures.transform(). (9466b62)net: ChangedHostAndPort.equals()andhashCode()to stop depending on whether brackets were included. Now they depend only on host and port. (34c1616)net: AddedHttpHeadersconstant for Sec-Metadata header. (986a3a3)net: AddedMediaTypefor "application/hal+json". (fea88fe)
23.6.1
Maven
<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>Javadoc
JDiff
Changelog
- Fixed Denial of Service vulnerability for servers that use Guava and deserialize attacker data: CVE-2018-10237. (a81698a)
25.1
Maven
<dependency>
<groupId>com.google.guava</groupId>
<artifactId>guava</artifactId>
<version>25.1-jre</version>
<!-- or, for Android: -->
<version>25.1-android</version>
</dependency>Javadoc
JDiff
- 25.1-jre vs. 25.0-jre (shows a lot of junk, probably due to switch to
@Nullabletype annotations) - 25.1-android vs. 25.0-android
- 25.1-android vs. 25.1-jre
Changelog
- Switched to the type annotation version of
@Nullablein the JRE/Java 8 flavor. (0a2258e) base: AddedStrings.lenientFormat(), copied fromPreconditions.format(). (7fe1702)net: Added Token Binding HTTP headers toHttpHeaders. (d9113d5)reflect: Added overrides for methods on JDK types returningAnnotatedTypein the JRE/Java 8 flavor. (d94eb93)testing: Added support for type annotations inNullPointerTesterin the JRE/Java 8 flavor. (d94eb93)util.concurrent: Added@DoNotCalltoFuturesmethods that do not accept anExecutorin preparation for removal. (49a1df6)
24.1.1
Note that we've also released Guava 25.0, which contains the change in 24.1.1 and some additional changes.
Maven
<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>Javadoc
JDiff
(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.)
Changelog
- Fixed Denial of Service vulnerability for servers that use Guava and deserialize attacker data: CVE-2018-10237. (7ec8718)
25.0
Maven
<dependency>
<groupId>com.google.guava</groupId>
<artifactId>guava</artifactId>
<version>25.0-jre</version>
<!-- or, for Android: -->
<version>25.0-android</version>
</dependency>Javadoc
JDiff
Changelog
- Fixed Denial of Service vulnerability for servers that use Guava and deserialize attacker data: CVE-2018-10237. (f89ece5)
cache: Addedjava.time.Durationoverloads toCacheBuilder. (9bf6d95)io: Removed deprecatedFiles.fileTreeTraverser()andMoreFiles.directoryTreeTraverser(). (ce6d93c)