-
Notifications
You must be signed in to change notification settings - Fork 218
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
chore(deps): update dependency com.google.guava:guava to v33 #1398
chore(deps): update dependency com.google.guava:guava to v33 #1398
Conversation
e527cd8
to
31872c6
Compare
31872c6
to
e876cba
Compare
45cdb07
to
3ee1992
Compare
Edited/Blocked NotificationRenovate will not automatically rebase this PR, because it does not recognize the last commit author and assumes somebody else may have edited the PR. You can manually request rebase by checking the rebase/retry box above. |
I'm excluding |
Quality Gate passedIssues Measures |
This PR contains the following updates:
32.0.0-android
->33.2.0-android
Release Notes
google/guava (com.google.guava:guava)
v33.1.0
: 33.1.0Compare Source
Request for Android users
If you know of Guava Android users who have not yet upgraded to at least the previous release 33.0.0, please encourage them to do so. Starting with that version, we are experimenting with including Java 8+ APIs in
guava-android
. Before we commit to adding such APIs, we want as much testing as we can get: If we later expose a set of Java 8+ APIs and then discover that they break users, we won't want to remove them, as the removal would break users, too.Maven
Jar files
Guava requires one runtime dependency, which you can download here:
Javadoc
JDiff
Changelog
requires
line for them. (d48c6df
,c6e91c4
)base
: Added aDuration
overload forSuppliers.memoizeWithExpiration
. (76e46ec
)base
: Deprecated the remaining two overloads ofThrowables.propagateIfPossible
. They won't be deleted, but we recommend migrating off them. (cf86414
)cache
: Fixed a bug that could cause false "recursive load" reports during refresh. (0e1aebf
)graph
: Changed the return types oftransitiveClosure()
andreachableNodes()
toImmutable*
types.reachableNodes()
already returned an immutable object (even though that was not reflected in the declared return type);transitiveClosure()
used to return a mutable object. The old signatures remain available, so this change does not break binary compatibility. (09e655f
)graph
: Changed the behavior of views returned by graph accessor methods that take a graph element as input: They now throwIllegalStateException
when that element is removed from the graph. (8dca776
)hash
: OptimizedChecksum
-based hash functions for Java 9+. (afb35a5
)testing
: ExposedFakeTicker
Duration
methods to Android users. (f346bbb
)util.concurrent
: Deprecated the constructors ofUncheckedExecutionException
andExecutionError
that don't accept a cause. We won't remove these constructors, but we recommend migrating off them, as users of those classes often assume that instances will contain a cause. (1bb3c43
)util.concurrent
: Improved the correctness of racy accesses for J2ObjC users. (d3232b7
)v33.0.0
: 33.0.0Compare Source
Maven
Jar files
Guava requires one runtime dependency, which you can download here:
Javadoc
JDiff
Changelog
guava-android
contains some package-private methods whose signature includes the Java 8Collector
API. This is a test to identify any problems before we expose those methods publicly to users. Please report any problems that you encounter. (73dbf7e
)Exception
instead ofRuntimeException
even when onlyRuntimeException
is theoretically possible. This can help code that throws undeclared exceptions, as some bytecode rewriters (e.g., Robolectric) and languages (e.g., Kotlin) do. (c294c23
,747924e
,b2baf48
)Automatic-Module-Name
tofailureaccess
, Guava's one strong runtime dependency. (280b5d2
)reflect
: Inguava-android
only, removedInvokable.getAnnotatedReturnType()
andParameter.getAnnotatedType()
. These methods never worked in an Android VM, and to reflect that, they were born@Deprecated
,@Beta
, and@DoNotCall
. They're now preventing us from rolling out some new Android compatibility testing. This is the only binary-incompatible change in this release, and it should have no effect in practice. Still, we bump the major version number to follow Semantic Versioning. (045cd84
)util.concurrent
: Changed our implementations to avoid eagerly initializing loggers during class loading. This can help performance, especially under Android. (4fe1df5
)v32.1.3
: 32.1.3Compare Source
Maven
Jar files
Guava requires one runtime dependency, which you can download here:
Javadoc
JDiff
Changelog
some-dependency
" errors that some users have reported (which might be a result of users' excludingguava-parent
). (c6d35cf
)collect
: ChangedMultisets.unmodifiableMultiset(set).removeIf(predicate)
to throw an exception always, even if nothing matchespredicate
. (61dbccf
)graph
: Fixed the behavior ofGraph
/ValueGraph
views for a node when that node is removed from the graph. (9507996
)io
: FixedFiles.createTempDir
andFileBackedOutputStream
under Windows services, a rare use case. (The fix actually covers only Java 9+ because Java 8 would require an additional approach. Let us know if you need support under Java 8.) (f87f68c
)net
: MadeMediaType.parse
allow and skip over whitespace around the/
and=
separator tokens in addition to the;
separator, for which it was already being allowed. (2786f83
)util.concurrent
: TweakedFutures.getChecked
constructor-selection behavior: The method continues to prefer to call constructors with aString
parameter, but now it breaks ties based on whether the constructor has aThrowable
parameter. Beyond that, the choice of constructor remains undefined. (For this and other reasons, we discourage the use ofgetChecked
.) (59cfb22
)v32.1.2
: 32.1.2Compare Source
Maven
Jar files
Guava requires one runtime dependency, which you can download here:
Javadoc
JDiff
Changelog
listenablefuture
. (9ed0fa6
)71a16d5
)collect
: Under J2CL, exposedImmutableList
andImmutableSet
methodscopyOf
andof
for JavaScript usage. (b41968f
)net
: OptimizedInternetDomainName
construction. (3a1d18f
,eaa62eb
)v32.1.1
: 32.1.1Compare Source
Maven
Jar files
Guava requires one runtime dependency, which you can download here:
Javadoc
JDiff
Changelog
v32.1.0
: 32.1.0Compare Source
Warning: Our Gradle-metadata version numbers are broken. Read these notes, but upgrade straight to 32.1.2.
We made a mistake in our release script, so the new Gradle metadata (discussed below) has broken version numbers in 32.1.0. Sorry for the trouble and for the need for another quick patch release. We recommend upgrading straight to release 32.1.2, especially if you use Gradle or if you publish a library whose users might use Gradle. Still, read the release notes below if you use Gradle, since the fixed Gradle metadata in 32.1.2 may still require action on your part.
Maven
Jar files
Guava requires one runtime dependency, which you can download here:
Javadoc
JDiff
Changelog
Gradle Module Metadata
Warning: We made a mistake in our release script, so this is broken in 32.1.0. We recommend upgrading straight to release 32.1.2, especially if you use Gradle or if you publish a library whose users might use Gradle. Still, read the release notes below if you use Gradle, since the fixed Gradle metadata in 32.1.2 may still require action on your part.
The Gradle team has contributed a metadata file for Guava. If you use Gradle 6 or higher, you will see better handling of two kinds of dependency conflicts, plus another small feature related to our dependencies. As a result of this change, you may see errors, which you can resolve as documented below. If you encounter a problem that isn't documented below, or if the documentation is unclear, please let us know.
If you use Gradle 6 (not 5, not 7+)
You may see an error like this one:
If you do, you'll need to add something like this to a place where you configure the Java plugins:
If you see an error about a duplicate
ListenableFuture
classFor example:
This appears to be a Gradle bug.
@mathisdt has provided a workaround:
Selecting the appropriate flavor
When Gradle automatically selects the newest version of Guava in your dependency graph, it will now also select the appropriate flavor (
-android
or-jre
) based on whether you project targets Android or not. For example, if you depend on 32.1.0-android and 30.0-jre, Gradle will select 32.1.0-jre. This is the version most likely to be compatible with all your dependencies.In the unusual event that you need to override Gradle's choice of flavor, you can do so as follows:
Reporting dependencies that overlap with Guava
If your dependency graph contains the very old
google-collections
or the hackylistenablefuture
, Gradle will now report that those libraries contain duplicates of Guava classes. When this happens, you'll need to tell Gradle to select Guava:If that doesn't work, please let us know. And let us know whether our
replacedBy
workaround or these other workarounds work instead.Omitting annotations at runtime
One dependency of Guava that is not needed at runtime (
j2objc-annotations
) is now omitted from the runtime classpath. (We may omit others in the future. See #6606.)Other changes
collect
: Tweaked more nullness annotations. (501a016
,5c23590
)hash
: Enhancedcrc32c()
to use Java's hardware-accelerated implementation where available. (65c7f10
)util.concurrent
: AddedDuration
-baseddefault
methods toListeningExecutorService
. (e7714b0
)c9efc47
,01dcc2e
)e42d4e8
,de62703
)BootstrapMethodError
when usingCacheBuilder
from a custom system class loader. (As with the previous item, we're not sure how well we'll be able to keep this use case working.) (a667c38
)unusable-by-js
warning seen by users ofguava-gwt
.v32.0.1
: 32.0.1Compare Source
Maven
Jar files
Guava requires one runtime dependency, which you can download here:
Javadoc
JDiff
Changelog
io
: FixedFiles.createTempDir
andFileBackedOutputStream
under Windows, which broke as part of the security fix in release 32.0.0. Sorry for the trouble. (fdbf77d
)Configuration
📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.
This PR has been generated by Mend Renovate. View repository job log here.