Skip to content

Releases: google/guava

25.0

25 Apr 22:53
Compare
Choose a tag to compare

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: Added java.time.Duration overloads to CacheBuilder. (9bf6d95)
  • io: Removed deprecated Files.fileTreeTraverser() and MoreFiles.directoryTreeTraverser(). (ce6d93c)

24.1

15 Mar 18:44
Compare
Choose a tag to compare

Maven

<dependency>
  <groupId>com.google.guava</groupId>
  <artifactId>guava</artifactId>
  <version>24.1-jre</version>
  <!-- or, for Android: -->
  <version>24.1-android</version>
</dependency>

Javadoc

JDiff

Changelog

  • collect: Added hash flooding protection to ImmutableSet, ImmutableMultiset, ImmutableMap and ImmutableBiMap
  • graph: Added support for traversing from multiple start nodes in Traverser. (cbc5308)
  • net: Added X-Download-Options header to HttpHeaders (9b9a175)
  • net: Added L16 audio constant to MediaType

24.0

01 Feb 20:52
Compare
Choose a tag to compare

Maven

<dependency>
  <groupId>com.google.guava</groupId>
  <artifactId>guava</artifactId>
  <version>24.0-jre</version>
  <!-- or, for Android: -->
  <version>24.0-android</version>
</dependency>

Javadoc

JDiff

Changelog

  • base: Removed deprecated Predicates.assignableFrom(Class). (d57a40e)
  • collect: Removed deprecated BinaryTreeTraverser. (f91ef6c)
  • concurrent: Removed deprecated Futures.dereference and MoreExecutors.sequentialExecutor. (f91ef6c)
  • graph: Removed deprecated Graphs.equivalent() (41fa39f)
  • graph: Added incidentEdges() method to Graph and ValueGraph. (d788bc1)
  • net: Added HttpHeaders.HTTP2_SETTINGS header according to http://httpwg.org/specs/rfc7540.html#Http2SettingsHeader (393066e)
  • net: Added MediaType.withParameters method that can replace a specific attribute with zero or more values. (7da42d2)

23.6

21 Dec 17:26
Compare
Choose a tag to compare

Maven

<dependency>
  <groupId>com.google.guava</groupId>
  <artifactId>guava</artifactId>
  <version>23.6-jre</version>
  <!-- or, for Android: -->
  <version>23.6-android</version>
</dependency>

Javadoc

JDiff

Changelog

  • concurrent: Added Uninterruptibles methods for Condition. (794a8ca)
  • concurrent: Added a run method to FutureCombiner to allow passing a Runnable to Futures.whenAllComplete and Futures.whenAllSucceed (de28fd8)
  • concurrent: Made Futures.getUnchecked available under GWT. (b1d9d99)
  • net: Added "Server-Timing" HTTP header to HttpHeaders according to https://www.w3.org/TR/server-timing/ (f089e55)
  • testing: Started recognizing @NullableDecl in NullPointerTester and friends.
  • Migrated from 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.
  • Migrated from jsr305 @CheckReturnValue, @GuardedBy and @OverridingMethodsMustInvokeSuper to the Error Prone equivalents.

23.5

22 Nov 21:05
Compare
Choose a tag to compare

Maven

<dependency>
  <groupId>com.google.guava</groupId>
  <artifactId>guava</artifactId>
  <version>23.5-jre</version>
  <!-- or, for Android: -->
  <version>23.5-android</version>
</dependency>

Javadoc

JDiff

Changelog

  • base: Graduated Verify and VerifyException from @Beta. (0ad9c44)
  • collect: ImmutableMap.getOrDefault is now also available in the Android flavor. (1e4938c)
  • graph: Tightened the contract for the edge-adding methods on Mutable{Graph, Network, ValueGraph}. This is a breaking change; implementors of these interfaces should verify that they still comply with this contract. (ec48806)
  • io: Added Files.fileTraverser() and MoreFiles.fileTraverser(). (af7514a)
  • io: Deprecated Files.fileTreeTraverser() and MoreFiles.directoryTreeTraverser(). (1644f6e)
  • Migrated from jsr305's @Immutable to Error Prone's. (901e985)
  • Added a dependency on, but did not begin using, the Checker Framework's annotations. We expect to begin using it in a future release.
    • If you're using maven-plugin-plugin, the Checker Framework dependency may trigger a bug. To fix it, upgrade maven-plugin-plugin to 3.5. We expect this problem to go away with Guava 23.6, which will change to a different Checker Framework dependency.

23.4

09 Nov 18:29
Compare
Choose a tag to compare

Maven

<dependency>
  <groupId>com.google.guava</groupId>
  <artifactId>guava</artifactId>
  <version>23.4-jre</version>
  <!-- or, for Android: -->
  <version>23.4-android</version>
</dependency>

Javadoc

JDiff

Changelog

  • collect: Added support for empty ArrayTable.
  • net: Added Referrer-Policy to HttpHeaders, along with possible values for that header in ReferrerPolicyValues. (19b4d97)
  • util.concurrent: Adjusted the interruption behavior of MoreExecutors.sequentialExecutor() to run tasks without a Thread interrupt marked (previously, interrupts leaked between tasks). If the Thread was interrupted when the Executor received it or during execution of its tasks, the thread will be re-interrupted before being yielded. Expanded the documentation of MoreExecutors.sequentialExecutor() to cover interruption and rejected execution behavior in detail. (40564c7)
  • Upgraded the version of GWT we test with to 2.8.2. We haven't yet intentionally depended on this new version, but now that we're testing with it, we may come to depend on it accidentally.

23.3

26 Oct 20:40
Compare
Choose a tag to compare

Maven

<dependency>
  <groupId>com.google.guava</groupId>
  <artifactId>guava</artifactId>
  <version>23.3-jre</version>
  <!-- or, for Android: -->
  <version>23.3-android</version>
</dependency>

Javadoc

JDiff

Changelog

  • base: Updated hardcoded CharMatcher.digit() and invisible() from Unicode 6.3 to Unicode 9.
  • graph: Deprecated TreeTraverser and BinaryTreeTraverser. Please use com.google.common.graph.Traverser instead.
  • net: Added methods for dealing with registry suffixes to InternetDomainName.
  • util.concurrent: Introduced MoreExecutors.newSequentialExecutor, the new name for sequentialExecutor.

23.2

11 Oct 23:30
Compare
Choose a tag to compare

Maven

<dependency>
  <groupId>com.google.guava</groupId>
  <artifactId>guava</artifactId>
  <version>23.2-jre</version>
  <!-- or, for Android: -->
  <version>23.2-android</version>
</dependency>

Javadoc

JDiff

Changelog

  • Added JPMS module name com.google.common for Guava.
  • base: Deprecated built-in CharMatchers which cannot work as expected because the API does not support supplementary code points.
  • collect: Fixed #2962
  • collect: Fixed a bug in HashBiMap.inverse().forcePut()
  • graph: Added implementation for common.graph.Traverser, a new class that provides efficient breadth-first and depth-first traversal of graphs and trees. It should be used in place of common.collect.TreeTraverser, which will be deprecated.
  • graph: Fixed regression in ValueGraph.edgeValueOrDefault() (from Guava 23) that caused it sometimes to return null instead of the default value.

23.1

27 Sep 21:09
Compare
Choose a tag to compare

Maven

<dependency>
  <groupId>com.google.guava</groupId>
  <artifactId>guava</artifactId>
  <version>23.1-jre</version>
  <!-- or, for Android: -->
  <version>23.1-android</version>
</dependency>

Javadoc

JDiff

Changelog

  • New policy: For the indefinite future, we won't remove APIs (except those annotated @Beta).
  • FYI: This release is the first since our move to more frequent releases.
  • It is also the first to use the version format 23.1-jre (rather than just 23.1) for the non-Android artifact.
  • Guava should now be Java-9 compatible with the exception of the GWT-compatible libraries, which await a GWT release.
  • base: Added overloads of Verify.verify for different combinations of primitive and Object arguments
  • collect: Added builderWithExpectedSize factory methods for ImmutableCollection builders
  • graph: Added Traverser<N> for graph and tree traversals
    • Note: Don't actually use this yet; most operations currently throw UnsupportedOperationException. Apologies!
  • primitives: Added reverse and sortDescending methods for primitive arrays
  • reflect: Updated ClassPath to continue to work with the system classloader under Java 9. (63898e2)
  • util.concurrent: Added Executors.sequentialExecutor(Executor)

23.0

07 Aug 19:35
Compare
Choose a tag to compare

Final Guava 23.0 release.