All Versions
10
Latest Version
Avg Release Cycle
76 days
Latest Release
110 days ago

Changelog History

  • v28.1

    August 28, 2019

    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: Added RangeMap.merge, analogous to Map.merge. (687252d)
    • 🏗 collect: Fixed a bug in ImmutableSet.Builder that could lead to infinite loops when building multiple sets from the same builder. (0007cb2)
    • 👀 io: Fixed an issue where the InputStream returned by BaseEncoding.decodingStream(Reader) could fail to throw DecodingException while decoding an invalid string. (ddd4a49)
    • net: Added MediaType for "image/heif" and "image/jp2" (508696a)
    • ⬆️ net: Added Upgrade-Insecure-Requests header to HttpHeaders. (6a8b716)
    • 🛠 concurrent: Fixed potential memory leak in Futures.whenAllSucceed/whenAllComplete (494834b)
  • v28.0

    June 12, 2019

    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: Added Duration-based overloads to some Queues methods. (21d06cf)
    • net: Added MediaType for "application/geo+json". (36cd5cf)
    • net: Added a number of constants to HttpHeaders.
    • 🚚 concurrent: Removed deprecated CheckedFuture and related utilities. (3dd22fe)
    • concurrent: Added Duration-based overloads to many methods.
    • 🚚 concurrent: Removed @Beta from setFuture. (5ec1360)
    • 🗄 concurrent: Added deprecated FluentFuture.from(FluentFuture) to point out redundant code. (f9f2807)
    • 🏗 graph: Added GraphBuilder.immutable(),ValueGraphBuilder.immutable() and NetworkBuilder.immutable() for building immutable graphs in a fluent way.
    • 🛠 J2ObjC: Fixed crashes from use of ImmutableMap.entrySet(). (74fc49f)
  • v27.1

    March 08, 2019

    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-bom artifact). (0e59641)
    • ✂ Removed @Beta from a number of frequently used APIs. (6242bdd)
    • net: Added Sec-Fetch headers to HttpHeaders. (673b243)
    • net: Added SourceMap header to HttpHeaders (a99c15f)
    • net: Added MediaType for "application/jose" and "application/jose+json". (d416e04)
    • graph: Added overloads to methods accepting pairs of nodes to also accept EndpointPair; changed behavior of *Graph.edges().contains() to allow undirected graphs to accept ordered EndpointPairs. (af3ee1c)
  • v27.0.1

    November 19, 2018

    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

    • 🛠 Fixes an issue where classes that should only be included in failureaccess (Guava's one dependency) were also being included in the main Guava jar. (4d4a676)
    • 📇 Updates the version of failureaccess that Guava depends on to 1.0.1, which includes OSGi metadata. (7aae5f3)
  • v27.0

    October 18, 2018

    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 a gap(Range) method to Range that computes the Range that lies between them. (a9dd709)
    • net: Added HttpHeaders.EARLY_DATA. (e074cf1)
    • net: Added MediaType.WASM_APPLICATION. (0b3eb0f)
    • concurrent: AbstractFuture doesn't expose FluentFuture APIs anymore. (0f8d360)
    • concurrent: Added doCancelStart protected method to AbstractService (27bfe41)
  • v26.0

    August 01, 2018

    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)
  • v25.1

    May 31, 2018

    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)
  • v24.1.1

    April 26, 2018

    🚀 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)
  • v23.6.1

    May 31, 2018

    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)
  • v1.0.1

    November 16, 2018