- 
                Notifications
    You must be signed in to change notification settings 
- Fork 11.1k
Release20
        Chris Povirk edited this page Jul 13, 2018 
        ·
        10 revisions
      
    - 20.0 was released on October 28, 2016.
- 20.0-rc1 was released on October 06, 2016.
(See ReleaseHistory.)
API documentation:
- If you see errors like "cannot access com.google.errorprone.annotations.CanIgnoreReturnValue," you can work around them by adding a local dependency on error_prone_annotations. (This problem is fixed in Guava 22 (but not 21), which makes that dependency present for users.)
- For GWT, see another known issue under GWT notes.
| Guava | Guava (GWT) | |
|---|---|---|
| Maven Identifier | com.google.guava:guava:20.0 | com.google.guava:guava-gwt:20.0 | 
| Jar | guava-20.0.jar | guava-gwt-20.0.jar | 
| Javadoc | guava-20.0-javadoc.jar | guava-gwt-20.0-javadoc.jar | 
| Sources | guava-20.0-sources.jar | guava-gwt-20.0-sources.jar | 
See UseGuavaInYourBuild for help integrating Guava into your build environment.
- 
Known issue: If you see No source code is available for type java.lang.InterruptedException, add<inherits name="java.lang.Lang"/>to your.gwt.xml.
- Guava 20.0 requires GWT 2.8.0.
- Additionally, Guava 20.0 no longer works with the deprecated GWT "classic" Dev Mode. It continues to work with Super Dev Mode.
34+ issues are resolved in this release.
Full JDiff Report of changes since release 19.0.
New package! common.graph
common.graph is a library for modeling graph-structured data, that is, entities and the relationships between them. Its purpose is to provide a common and extensible language for working with such data.
- 
CharMatcherconstants have been deprecated in favor of the static factory methods that were added in 19.0. The constants will be removed after a 2-year deprecation cycle.
- 
Preconditions: new overloads ofcheckNotNullandcheckStateadded to avoid varargs array allocation and primitive boxing for the most common argument combinations.
- 
Predicates:assignableFrom(Class<?>)deprecated and the correctly-named equivalentsubtypeOf(Class<?>)added.
- 
Throwables- 
throwIfInstanceOfandthrowIfUncheckedadded.
- 
propagate,propagateIfInstanceOfandpropagateIfPossibledeprecated.
 
- 
- 
ConcurrentHashMultiset:create(MapMaker)deprecated andcreate(ConcurrentMap)added.
- 
FluentIterable: a number of new static factory methods, such asconcat(Iterable)andof()added.
- 
Iterators: deprecated methodemptyIterator()removed.
- 
MapConstraints: Most methods removed; the class was scheduled to be removed in this release, but full removal is pushed back.
- 
Maps:subMap(NavigableMap, Range)added.
- 
Ordering:binarySearchdeprecated.
- 
RangeSet:intersects(Range)added.
- 
Sets:subSet(NavigableSet, Range)added.
- 
TreeTraverser: factory methodusing(Function)added to adapt a node -> childrenFunctionto aTreeTraverser.
- 
Hashing: a number of new hash functions added, including FarmHash Fingerprint64 and a number of HMAC algorithms.
- 
InputSupplierandOutputSupplier: removed.
- 
BaseEncoding:canDecode(CharSequence)added.
- 
ByteStreams:exhaust(InputStream)added.
- 
CharSource:asByteSource(Charset)added.
- 
CharStreams:exhaust(Readable)added.
Many additions, most related to statistics:
- Quantiles
- 
StatsandStatsAccumulator,PairedStatsandPairedStatsAccumulator
- LinearTransformation
- 
DoubleMath:meanmethods deprecated in favor of usingStats.
New methods added to IntMath, LongMath and DoubleMath such as:
- ceilingPowerOfTwo
- isPrime
- 
HostAndPort:getHostText()deprecated in favor of newgetHost()method.
- 
HttpHeadersandMediaType: a number of new header/media type constants added.
- 
ClassPath.ResourceInfo:asByteSource()andasCharSource(Charset)methods added.
- 
TypeToken:isAssignableFrommethods removed (replaced byisSubtypeOfin 19.0).
- 
FutureFallback: removed.- 
Futures.withFallbackmethods removed.
 
- 
- 
AsyncCallable: added.- 
Callables.asAsyncCallable(Callable, ListeningExecutorService)added.
 
- 
- 
Futures.FutureCombiner: added.- 
Futures.whenAllCompleteandwhenAllSucceed, returningFutureCombiner, added.
 
- 
- 
AbstractFuture:afterDone()callback added.
- 
AtomicLongMap:removeIfZero(K)added.
- 
Futures:- 
getmethods taking an exceptionClassremoved; previously replaced withgetChecked.
- 
transformmethods takingAsyncFunctionremoved; previously replaced withtransformAsync.
- 
getDone(Future)added.
 
- 
- Introduction
- Basic Utilities
- Collections
- Graphs
- Caches
- Functional Idioms
- Concurrency
- Strings
- Networking
- Primitives
- Ranges
- I/O
- Hashing
- EventBus
- Math
- Reflection
- Releases
- Tips
- Glossary
- Mailing List
- Stack Overflow
- Android Overview
- Footprint of JDK/Guava data structures