Guava 31.1 released, Google Java core library

Guava is a set of core libraries that includes new collection types (such as multimap and multiset), immutable collections, a graph library, functional types, an in-memory cache, and APIs/utilities for concurrency, I/O, hashing, primitives, reflection, string processing, and much more!

Guava comes in two flavors.

  • The JRE flavor requires JDK 1.8 or higher.
  • If you need support for JDK 1.7 or Android, use the Android flavor. You can find the Android Guava source in the android directory.

Guava 31.1 released.

Changelog

  • base: Deprecated the Throwables methods lazyStackTrace and lazyStackTraceIsLazy. They are no longer useful on any current platform. (6ebd7d8)
  • collect: Added a new method ImmutableMap.Builder.buildKeepingLast(), which keeps the last value for any given key rather than throwing an exception when a key appears more than once. (68500b2)
  • collect: As a side-effect of the buildKeepingLast() change, the idiom ImmutableList.copyOf(Maps.transformValues(map, function)) may produce different results if function has side-effects. (This is not recommended.) (68500b2)
  • hash: Added Hashing.fingerprint2011(). (13f703c)
  • io: Changed ByteStreams.nullOutputStream() to follow the contract of OutputStream.write by throwing an exception if the range of bytes is out of bounds. (1cd85d0)
  • net: Added @CheckReturnValue to the package (with a few exceptions). (a0e2577)
  • net: Added HttpHeaders constant for Access-Control-Allow-Private-Network. (6dabbdf)
  • util.concurrent: Added accumulate/update methods for AtomicDouble and AtomicDoubleArray. (2d875d3)

APIs promoted from @Beta

  • baseThrowables methods getCausalChain and getCauseAs (dd462af)
  • collectStreams methods mapWithIndex and findLast (8079a29)
  • collect: the remaining methods in ComparatorsminmaxlexicographicalemptiesFirstemptiesLastisInOrderisInStrictOrder (a3e411c)
  • escape: various APIs (468c68a)
  • io: various APIs in Files (828d9ee)
  • net: various APIs (261ac7a)
  • reflect: various APIs (9f6a384)
  • testlib: various APIs (93a8f02)
  • util.concurrentAsyncCallableListenableScheduledFuture, and ClosingFuture (8b4ad17)
  • util.concurrentExecutionSequencerMoreExecutors.newSequentialExecutor, and Monitor (189d668)
  • util.concurrentFutures methods: submitsubmitAsyncscheduleAsyncnonCancellationPropagatinginCompletionOrder (e015172)
  • util.concurrentUninterruptiblesawaitTerminationUninterruptibly and the Duration overloads in the class (825de9a)
  • util.concurrent: the FluentFuture type, its factory methods, and addCallback (9c7e13b)

Downloads