Skip to content

@cpovirk cpovirk released this Oct 16, 2020 · 16 commits to master since this release

Maven

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

Javadoc

JDiff

Changelog

  • Guava types can no longer be sent over GWT-RPC. Even the earlier, temporary way to reenable support (guava.gwt.emergency_reenable_rpc) no longer has an effect. (0cb89dd)
  • cache: Fixed memory leak in LocalCache under j2objc. (5e519d9)
  • collect: Added two-element min and max methods to Comparators. (958186c)
  • collect: Removed @Beta from Multimaps.toMultimap. (b6b4dc4)
  • collect: Made the set returned by ImmutableMap<K, V>.keySet() serializable as long as K is serializable, even if V is not (and similarly for values()). (f5a69c3)
  • collect: Fixed bug in powerSet.equals(otherPowerSet) would erroneously return false if the two power sets' underlying sets were equal but had a different iteration order. (215b1f0)
  • collect: Eliminated j2objc retain-cycle in SingletonImmutableBiMap. (0ad38b8)
  • eventbus: Prevented @Subscribe from being applied to a method that takes a primitive, as that will never be called. (554546c)
  • graph: Made Traverser.breadthFirst() lazier, and optimized Traverser more generally. (32f2d77, b5210ca)
  • graph: Added @DoNotMock to Traverser. (6410f18)
  • io: Deprecated Files.createTempDir(). (fec0dbc) (CVE forthcoming)
  • io: Upgraded ByteStreams.copy(InputStream, OutputStream) to use the faster FileChannel if possible. (a1e9a0b) [update: My mistake: This was rolled back, so it did not make 30.0.]
  • math: Added roundToDouble to BigDecimalMath, BigIntegerMath, and LongMath. (bee4f3c, 2b5c096, 633abf2)
  • net: Added MediaType constants for several font/ types. (571cf66)
  • net: Added HttpHeaders constants for Cross-Origin-Embedder-Policy(-Report-Only)?. (c3bf731)
  • testing: Made EqualsTester test that non-String objects are not equal to their String representations. (c9570ea)
  • util.concurrent: Added ClosingFuture. (52e048e)
  • util.concurrent: Removed the deprecated 1-arg ServiceManager.addListener(Listener). Use the 2-arg addListener(Listener, Executor) overload, setting the executor to directExecutor() for equivalent behavior. (dfb0001)
  • util.concurrent: Changed AbstractFuture.toString() to no longer include the toString() of the result. (2ebf27f)
  • util.concurrent: Added awaitTerminationUninterruptibly. (f07b954)
Assets 2

@cpovirk cpovirk released this Apr 13, 2020 · 134 commits to master since this release

Maven

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

Javadoc

JDiff

Changelog

  • Guava types can no longer be sent over GWT-RPC. To temporarily reenable support, set the guava.gwt.emergency_reenable_rpc system property to true. (5214a10)
    • This is the only breaking change in this release, and it affects only users of the guava-gwt artifact, not people who use only the guava artifact. This release contains no changes that break binary compatibility for any users.
  • API documentation for Guava classes is now easier to reach. For example, for ImmutableList, visit guava.dev/ImmutableList. Also, more easily access the index at guava.dev/api.
  • collect: Annotated FluentIterable.from(FluentIterable) with @DoNotCall. (b1c77b7)
  • collect: Made ceiling, floor, headSet(E, boolean), and tailSet(E, boolean) methods available in the GWT-emulated ImmutableSortedSet. (7e0fe90, 5f2fbf2)
  • graph: Made it possible to set a stable incident edge order by calling the newly added method [Value]Graph.Builder.incidentEdgeOrder(ElementOrder.stable()). (7016402)
  • graph: Added incidentEdgeOrder() to the [Value]Graph interfaces. (cde576e)
  • util.concurrent: Added Duration-based default methods to ListeningScheduledExecutorService. (931e83f)
  • util.concurrent: Added immediateVoidFuture. (9f3bae5)
  • util.concurrent: Removed @Beta from Service and related classes. (dc46627)
  • util.concurrent: Deprecated the 1-arg overload of ServiceManager.addListener. (86e3620)
  • util.concurrent: Changed the return type of ServiceManager.servicesByState() to ImmutableSetMultimap (but also retained a method with the old signature for binary compatibility). (31999ae)
  • util.concurrent: Made it safe to load the AbstractFuture class from a ForkJoinPool thread under a security manager. (6e0c5b5)
Assets 2

@cpovirk cpovirk released this Dec 27, 2019 · 216 commits to master since this release

Maven

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

Javadoc

JDiff

Changelog

  • Warning to users of GWT-RPC: The first Guava release of 2020 will remove support for GWT-serializing Guava types. To test ahead of time with GWT-RPC support for Guava types disabled, set the guava.gwt.emergency_reenable_rpc system property to false. (Even without the system property enabled, apps will now log warnings when sending Guava types over GWT-RPC.) (08bbf53)
  • base: Added Splitter.splitToStream().
  • concurrent: Added Futures.submit() (c7ef0cc)
  • concurrent: Made platformThreadFactory() and related utilities (mainly *Service) work under Java 11 App Engine, and tweaked other App Engine threading behavior. (e3ee00d)
  • concurrent: Added catch to StackOverflowError in AbstractFuture.toString to prevent long chains of futures from failing toString calls. (a2e6acc)
  • concurrent: Made ListenableFuture implement Thenable via a default interface method in GWT/j2cl (e0bac74).
  • graph: Fixed bug in AbstractNetwork.hasEdgeConnecting() causing it to throw if either endpoint was not in the graph. Originally reported as #3721. (2ee7f9d)
  • graph: Fixed data race. (0e94fb5)
  • math: Added Stream support to Stats and StatsAccumulator. (e2f4eba)
  • math: Added Quantiles compute() methods which return a Map now return a map with entries in the same order in which the indexes were provided. (786c3d8)
  • net: Added support for scope IDs for IPv6 addresses. (8a7d36a)
  • net: Added toBigInteger and fromIpv4BigInteger/fromIpv6BigInteger to InetAddresses for manipulating InetAddresses as BigIntegers (d7a0b3d)
  • net: Added MediaType constants for application/opensearchdescription+xml (f79c4fe) and MPEG-DASH (67dd062), as well as a constant for the header Cross-Origin-Opener-Policy (4ef2111).
  • net: Made MediaType reject empty type, subtype, and attribute (b080067) and non-ASCII parameter values (2278123). Also, made it serialize empty parameter values to quoted strings (2278123).
  • Added @DoNotMock to several types. (4eea0f7, add4309)
  • Removed dependency on animal-sniffer-annotations. (5f37e53)
Assets 2

@cgdecker cgdecker released this Aug 28, 2019 · 340 commits to master since this release

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)
Assets 2

@cgdecker cgdecker released this Jun 12, 2019 · 386 commits to master since this release

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)
Assets 2

@cgdecker cgdecker released this Mar 8, 2019 · 477 commits to master since this release

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)
Assets 2

@cgdecker cgdecker released this Nov 19, 2018 · 560 commits to master since this release

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)
Assets 2
Nov 16, 2018
Add the Origin-Trial HTTP response header.
RELNOTES=n/a

-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=221639042

@cgdecker cgdecker released this Oct 18, 2018 · 560 commits to master since this release

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)
Assets 2
Sep 12, 2018
Introduce listenablefuture and failureaccess artifacts, plus Internal…
…FutureFailureAccess.

(taken over from CL 210155310 to add Maven setup)

It provides a direct access to the cause of any failures,
so we can avoid unnecessary allocation of an exception.

Design discussion: https://docs.google.com/document/d/1_RVTtztq5pqrhs0srvJWHMI7PT1tA71--iaauV2l5UA/edit

RELNOTES=Created separate `listenablefuture` and `failureaccess` artifacts, the latter containing the new `InternalFutureFailureAccess`. For more details about `listenablefuture`, see [this announcement](https://groups.google.com/d/topic/guava-announce/Km82fZG68Sw).

-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=212516713
You can’t perform that action at this time.