Skip to content

Releases

26.0

Choose a tag to compare

@cgdecker cgdecker released this 01 Aug 23:02

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 deprecated public static fields from CharMatcher. Use the equivalent public static methods instead. (f1249c4)
  • base: Fixed the ServiceConfigurationError that some users encountered when using Guava as a JPMS module. (8287cdf)
  • cache: Fixed a bug where Cache.asMap.compute* methods could cause nonsensical weights to be stored, breaking cache eviction. (15764d7)
  • concurrent: Removed deprecated Futures methods that implicitly use directExecutor(). (87d87f5)
  • concurrent: Added ExecutionSequencer, a new utility to run a series of asynchronous operations serially. (8d1fbc9)
  • concurrent: Removed special-casing UndeclaredThrowableException in Futures.transform(). (9466b62)
  • net: Changed HostAndPort.equals() and hashCode() to stop depending on whether brackets were included. Now they depend only on host and port. (34c1616)
  • net: Added HttpHeaders constant for Sec-Metadata header. (986a3a3)
  • net: Added MediaType for "application/hal+json". (fea88fe)

23.6.1

Choose a tag to compare

@cpovirk cpovirk released this 31 May 14:25

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

Choose a tag to compare

@cpovirk cpovirk released this 31 May 14:31

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

Changelog

  • Switched to the type annotation version of @Nullable in the JRE/Java 8 flavor. (0a2258e)
  • base: Added Strings.lenientFormat(), copied from Preconditions.format(). (7fe1702)
  • net: Added Token Binding HTTP headers to HttpHeaders. (d9113d5)
  • reflect: Added overrides for methods on JDK types returning AnnotatedType in the JRE/Java 8 flavor. (d94eb93)
  • testing: Added support for type annotations in NullPointerTester in the JRE/Java 8 flavor. (d94eb93)
  • util.concurrent: Added @DoNotCall to Futures methods that do not accept an Executor in preparation for removal. (49a1df6)

24.1.1

Choose a tag to compare

@cpovirk cpovirk released this 26 Apr 11:16

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

Choose a tag to compare

@cgdecker cgdecker released this 25 Apr 22:53

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

Choose a tag to compare

@cgdecker cgdecker released this 15 Mar 18:44

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

Choose a tag to compare

@cgdecker cgdecker released this 01 Feb 20:52

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

Choose a tag to compare

@cgdecker cgdecker released this 21 Dec 17:26

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

Choose a tag to compare

@cgdecker cgdecker released this 22 Nov 21:05

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

Choose a tag to compare

@ronshapiro ronshapiro released this 09 Nov 18:29

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.
⌂ 换网址