All Versions
13
Latest Version
Avg Release Cycle
97 days
Latest Release
1422 days ago
Changelog History
Page 1
Changelog History
Page 1
-
v30.0 Changes
October 16, 2020Maven
\<dependency\> \<groupId\>com.google.guava\</groupId\> \<artifactId\>guava\</artifactId\> \<version\>30.0-jre\</version\> \<!-- or, for Android: --\> \<version\>30.0-android\</version\> \</dependency\>
Javadoc
- ๐ 30.0-jre
- ๐ 30.0-android
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 inLocalCache
under j2objc. (5e519d9) collect
: Added two-elementmin
andmax
methods toComparators
. (958186c)- ๐
collect
: Removed@Beta
fromMultimaps.toMultimap
. (b6b4dc4) collect
: Made the set returned byImmutableMap<K, V>.keySet()
serializable as long asK
is serializable, even ifV
is not (and similarly forvalues()
). (f5a69c3)- ๐
collect
: Fixed bug inpowerSet.equals(otherPowerSet)
would erroneously returnfalse
if the two power sets' underlying sets were equal but had a different iteration order. (215b1f0) collect
: Eliminated j2objc retain-cycle inSingletonImmutableBiMap
. (0ad38b8)eventbus
: Prevented@Subscribe
from being applied to a method that takes a primitive, as that will never be called. (554546c)- โก๏ธ
graph
: MadeTraverser.breadthFirst()
lazier, and optimizedTraverser
more generally. (32f2d77, b5210ca) graph
: Added@DoNotMock
toTraverser
. (6410f18)- ๐
io
: DeprecatedFiles.createTempDir()
. (fec0dbc) (CVE forthcoming) - โฌ๏ธ
io
: UpgradedByteStreams.copy(InputStream, OutputStream)
to use the fasterFileChannel
if possible. (a1e9a0b) math
: AddedroundToDouble
toBigDecimalMath
,BigIntegerMath
, andLongMath
. (bee4f3c, 2b5c096, 633abf2)net
: AddedMediaType
constants for several font/ types. (571cf66)net
: AddedHttpHeaders
constants forCross-Origin-Embedder-Policy(-Report-Only)?
. (c3bf731)- โ
testing
: MadeEqualsTester
test that non-String
objects are not equal to theirString
representations. (c9570ea) util.concurrent
: AddedClosingFuture
. (52e048e)- ๐
util.concurrent
: Removed the deprecated 1-argServiceManager.addListener(Listener)
. Use the 2-argaddListener(Listener, Executor)
overload, setting the executor todirectExecutor()
for equivalent behavior. (dfb0001) util.concurrent
: ChangedAbstractFuture.toString()
to no longer include thetoString()
of the result. (2ebf27f)util.concurrent
: AddedawaitTerminationUninterruptibly
. (f07b954)
-
v29.0 Changes
April 13, 2020Maven
\<dependency\> \<groupId\>com.google.guava\</groupId\> \<artifactId\>guava\</artifactId\> \<version\>29.0-jre\</version\> \<!-- or, for Android: --\> \<version\>29.0-android\</version\> \</dependency\>
Javadoc
- ๐ 29.0-jre
- ๐ 29.0-android
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 totrue
. (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 theguava
artifact. This release contains no changes that break binary compatibility for any users.
- This is the only breaking change in this release, and it affects only users of the
- ๐ 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
: AnnotatedFluentIterable.from(FluentIterable)
with@DoNotCall
. (b1c77b7)collect
: Madeceiling
,floor
,headSet(E, boolean)
, andtailSet(E, boolean)
methods available in the GWT-emulatedImmutableSortedSet
. (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
: AddedincidentEdgeOrder()
to the[Value]Graph
interfaces. (cde576e)- โฑ
util.concurrent
: AddedDuration
-baseddefault
methods toListeningScheduledExecutorService
. (931e83f) util.concurrent
: AddedimmediateVoidFuture
. (9f3bae5)- ๐
util.concurrent
: Removed@Beta
fromService
and related classes. (dc46627) - ๐
util.concurrent
: Deprecated the 1-arg overload ofServiceManager.addListener
. (86e3620) util.concurrent
: Changed the return type ofServiceManager.servicesByState()
toImmutableSetMultimap
(but also retained a method with the old signature for binary compatibility). (31999ae)- ๐
util.concurrent
: Made it safe to load theAbstractFuture
class from aForkJoinPool
thread under a security manager. (6e0c5b5)
-
v28.2 Changes
December 27, 2019Maven
\<dependency\> \<groupId\>com.google.guava\</groupId\> \<artifactId\>guava\</artifactId\> \<version\>28.2-jre\</version\> \<!-- or, for Android: --\> \<version\>28.2-android\</version\> \</dependency\>
Javadoc
- ๐ 28.2-jre
- ๐ 28.2-android
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 tofalse
. (Even without the system property enabled, apps will now log warnings when sending Guava types over GWT-RPC.) (08bbf53) base
: AddedSplitter.splitToStream()
.concurrent
: AddedFutures.submit()
(c7ef0cc)concurrent
: MadeplatformThreadFactory()
and related utilities (mainly*Service
) work under Java 11 App Engine, and tweaked other App Engine threading behavior. (e3ee00d)concurrent
: Addedcatch
toStackOverflowError
inAbstractFuture.toString
to prevent long chains of futures from failingtoString
calls. (a2e6acc)- 0๏ธโฃ
concurrent
: MadeListenableFuture
implementThenable
via a default interface method in GWT/j2cl (e0bac74). - ๐
graph
: Fixed bug inAbstractNetwork.hasEdgeConnecting()
causing it to throw if either endpoint was not in the graph. Originally reported as #3721. (2ee7f9d) - ๐
graph
: Fixed data race. (0e94fb5) - ๐
math
: AddedStream
support toStats
andStatsAccumulator
. (e2f4eba) math
: AddedQuantiles
compute()
methods which return aMap
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
: AddedtoBigInteger
andfromIpv4BigInteger
/fromIpv6BigInteger
toInetAddresses
for manipulatingInetAddresses
asBigIntegers
(d7a0b3d)net
: AddedMediaType
constants for application/opensearchdescription+xml (f79c4fe) and MPEG-DASH (67dd062), as well as a constant for the header Cross-Origin-Opener-Policy (4ef2111).net
: MadeMediaType
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)
-
v28.1 Changes
August 28, 2019Maven
\<dependency\> \<groupId\>com.google.guava\</groupId\> \<artifactId\>guava\</artifactId\> \<version\>28.1-jre\</version\> \<!-- or, for Android: --\> \<version\>28.1-android\</version\> \</dependency\>
Javadoc
- ๐ 28.1-jre
- ๐ 28.1-android
JDiff
๐ Changelog
- ๐
collect
: AddedRangeMap.merge
, analogous toMap.merge
. (687252d) - ๐
collect
: Fixed a bug inImmutableSet.Builder
that could lead to infinite loops when building multiple sets from the same builder. (0007cb2) - ๐
io
: Fixed an issue where theInputStream
returned byBaseEncoding.decodingStream(Reader)
could fail to throwDecodingException
while decoding an invalid string. (ddd4a49) net
: AddedMediaType
for "image/heif" and "image/jp2" (508696a)- โฌ๏ธ
net
: AddedUpgrade-Insecure-Requests
header toHttpHeaders
. (6a8b716) - ๐
concurrent
: Fixed potential memory leak inFutures.whenAllSucceed/whenAllComplete
(494834b)
-
v28.0 Changes
June 12, 2019Maven
\<dependency\> \<groupId\>com.google.guava\</groupId\> \<artifactId\>guava\</artifactId\> \<version\>28.0-jre\</version\> \<!-- or, for Android: --\> \<version\>28.0-android\</version\> \</dependency\>
Javadoc
- ๐ 28.0-jre
- ๐ 28.0-android
JDiff
๐ Changelog
collect
: AddedDuration
-based overloads to someQueues
methods. (21d06cf)net
: AddedMediaType
for "application/geo+json". (36cd5cf)net
: Added a number of constants toHttpHeaders
.- ๐
concurrent
: Removed deprecatedCheckedFuture
and related utilities. (3dd22fe) concurrent
: AddedDuration
-based overloads to many methods.- ๐
concurrent
: Removed@Beta
fromsetFuture
. (5ec1360) - ๐
concurrent
: Added deprecatedFluentFuture.from(FluentFuture)
to point out redundant code. (f9f2807) - ๐
graph
: AddedGraphBuilder.immutable()
,ValueGraphBuilder.immutable()
andNetworkBuilder.immutable()
for building immutable graphs in a fluent way. - ๐ J2ObjC: Fixed crashes from use of
ImmutableMap.entrySet()
. (74fc49f)
-
v27.1 Changes
March 08, 2019Maven
\<dependency\> \<groupId\>com.google.guava\</groupId\> \<artifactId\>guava\</artifactId\> \<version\>27.1-jre\</version\> \<!-- or, for Android: --\> \<version\>27.1-android\</version\> \</dependency\>
Javadoc
- ๐ 27.1-jre
- ๐ 27.1-android
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
: AddedSec-Fetch
headers toHttpHeaders
. (673b243)net
: AddedSourceMap
header toHttpHeaders
(a99c15f)net
: AddedMediaType
for "application/jose" and "application/jose+json". (d416e04)graph
: Added overloads to methods accepting pairs of nodes to also acceptEndpointPair
; changed behavior of*Graph.edges().contains()
to allow undirected graphs to accept orderedEndpointPair
s. (af3ee1c)
-
v27.0.1 Changes
November 19, 2018Maven
\<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
- ๐ 27.0.1-jre
- ๐ 27.0.1-android
JDiff
- ๐ 27.0.1-jre vs. 27.0-jre
- ๐ 27.0.1-android vs. 27.0-android
- ๐ 27.0.1-android vs. 27.0.1-jre
๐ Changelog
-
v27.0 Changes
October 18, 2018Maven
\<dependency\> \<groupId\>com.google.guava\</groupId\> \<artifactId\>guava\</artifactId\> \<version\>27.0-jre\</version\> \<!-- or, for Android: --\> \<version\>27.0-android\</version\> \</dependency\>
Javadoc
- ๐ 27.0-jre
- ๐ 27.0-android
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 oncom.google.guava:failureaccess:1.0
. For more details, see this announcement. (b62d529)collect
: Added agap(Range)
method toRange
that computes theRange
that lies between them. (a9dd709)net
: AddedHttpHeaders.EARLY_DATA
. (e074cf1)net
: AddedMediaType.WASM_APPLICATION
. (0b3eb0f)concurrent
:AbstractFuture
doesn't exposeFluentFuture
APIs anymore. (0f8d360)concurrent
: AddeddoCancelStart
protected method toAbstractService
(27bfe41)
-
v26.0 Changes
August 01, 2018Maven
\<dependency\> \<groupId\>com.google.guava\</groupId\> \<artifactId\>guava\</artifactId\> \<version\>26.0-jre\</version\> \<!-- or, for Android: --\> \<version\>26.0-android\</version\> \</dependency\>
Javadoc
- ๐ 26.0-jre
- ๐ 26.0-android
JDiff
๐ Changelog
- ๐
base
: Removed deprecatedpublic static
fields fromCharMatcher
. Use the equivalentpublic static
methods instead. (f1249c4) - ๐
base
: Fixed theServiceConfigurationError
that some users encountered when using Guava as a JPMS module. (8287cdf) - ๐
cache
: Fixed a bug whereCache.asMap.compute*
methods could cause nonsensical weights to be stored, breaking cache eviction. (15764d7) - ๐
concurrent
: Removed deprecatedFutures
methods that implicitly usedirectExecutor()
. (87d87f5) concurrent
: AddedExecutionSequencer
, a new utility to run a series of asynchronous operations serially. (8d1fbc9)- ๐
concurrent
: Removed special-casingUndeclaredThrowableException
inFutures.transform()
. (9466b62) net
: ChangedHostAndPort.equals()
andhashCode()
to stop depending on whether brackets were included. Now they depend only on host and port. (34c1616)- ๐
net
: AddedHttpHeaders
constant for Sec-Metadata header. (986a3a3) net
: AddedMediaType
for "application/hal+json". (fea88fe)
-
v25.1 Changes
May 31, 2018Maven
\<dependency\> \<groupId\>com.google.guava\</groupId\> \<artifactId\>guava\</artifactId\> \<version\>25.1-jre\</version\> \<!-- or, for Android: --\> \<version\>25.1-android\</version\> \</dependency\>
Javadoc
- ๐ 25.1-jre
- ๐ 25.1-android
JDiff
- ๐ 25.1-jre vs. 25.0-jre (shows a lot of junk, probably due to switch to
@Nullable
type annotations) - ๐ 25.1-android vs. 25.0-android
- ๐ 25.1-android vs. 25.1-jre
๐ Changelog
- Switched to the type annotation version of
@Nullable
in the JRE/Java 8 flavor. (0a2258e) base
: AddedStrings.lenientFormat()
, copied fromPreconditions.format()
. (7fe1702)net
: Added Token Binding HTTP headers toHttpHeaders
. (d9113d5)reflect
: Added overrides for methods on JDK types returningAnnotatedType
in the JRE/Java 8 flavor. (d94eb93)- โ
testing
: Added support for type annotations inNullPointerTester
in the JRE/Java 8 flavor. (d94eb93) util.concurrent
: Added@DoNotCall
toFutures
methods that do not accept anExecutor
in preparation for removal. (49a1df6)