33.4.5
Use Guava 33.4.8, not Guava 33.4.5. 33.4.5 was our first attempt to modularize Guava, but we misconfigured our build, so it:
- contains an extra copy of each of its classes
- does not declare its dependencies on artifacts of annotations
33.4.5 (and 33.4.6) also may cause trouble for some optimizers (like those commonly used for Android apps), and 33.4.7 breaks the build of Android apps with a minSdkVersion below 26.
All these issues are fixed by release 33.4.8. Sorry for the trouble.
When you read the release notes for 33.4.8, you should also read the release notes for Guava 33.4.1, even if you're not upgrading from Guava 33.4.0 or earlier: Those release notes contain information about the effect of Guava 33.4.5 and higher on the module system.
Maven
<dependency>
<groupId>com.google.guava</groupId>
<artifactId>guava</artifactId>
<version>33.4.5-jre</version>
<!-- or, for Android: -->
<version>33.4.5-android</version>
</dependency>
Jar files
Guava requires one runtime dependency, which you can download here:
Javadoc
JDiff
Changelog
- Changed the Guava jar (plus
guava-testlib
andfailureaccess
jars) to be a modular jar. (7a71ea0, 287c701) - Changed various classes to stop using
sun.misc.Unsafe
under Java 9+. (ee63055, 80aab00, 400af25, 71d0692, d1a3cd5, b3bb29a, 1a300f6)- Note that, if you use
guava-android
on the JVM (instead of usingguava-jre
), Guava will still try to usesun.misc.Unsafe
. We will do further work on this in the future.
- Note that, if you use
- Belatedly updated the Public Suffix List data. (ee3b9c6, d25d62f)
Special thanks to @sgammon for his modularization efforts.