Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
1603 commits
Select commit Hold shift + click to select a range
e24ae35
Bump github/codeql-action in the github-actions group
dependabot[bot] Apr 1, 2025
fc54121
mention `target::contains` in `Predicates.in()`'s javadocs.
kluever Apr 1, 2025
63ecdf2
Declare our module dep on `failureaccess` as [`transitive`](https://d…
cpovirk Apr 1, 2025
9159c2f
Specify a new `plexus-io` version for `maven-jar-plugin`, too.
cpovirk Apr 1, 2025
b4da629
Introduce an `AtomicHelper` test simple enough to run under Android.
cpovirk Apr 1, 2025
7336af1
Make the `guava-android` copy of `AbstractFuture` try `VarHandle` whe…
cpovirk Apr 2, 2025
14050c3
Tell optimizers to assume that `mightBeAndroid` returns `true`.
cpovirk Apr 3, 2025
7e1cae6
Trim obsolete lines from Proguard configs.
cpovirk Apr 4, 2025
e4f3118
Use Java 24 for javac and javadoc.
cpovirk Apr 4, 2025
a429676
Test which `AtomicHelper` is used by `AggregateFutureState`, includin…
cpovirk Apr 5, 2025
f9eff73
Make `AggregateFutureState` fields package-private.
cpovirk Apr 7, 2025
8b75423
Further standardize annotations on serialization-related members.
cpovirk Apr 8, 2025
07426bc
Prepare for release 33.4.7.
cpovirk Apr 8, 2025
d826895
Address a few more Error Prone warnings.
cpovirk Apr 8, 2025
9886e0e
Migrate casts from int literals to longs to use long literals
cushon Apr 8, 2025
795051e
Address https://errorprone.info/bugpattern/UnnecessaryParentheses war…
cpovirk Apr 9, 2025
15a76d4
Migrate casts from int literals to use double and float literals
cushon Apr 10, 2025
97c96e0
Address some `PrimitiveComparisons` warnings.
cpovirk Apr 10, 2025
75da924
Use `AtomicReferenceFieldUpdater` instead of `VarHandle` when `guava-…
cpovirk Apr 12, 2025
8aad7cd
Address some `ImmutableCollectionsShortcuts` warnings.
cpovirk Apr 12, 2025
bbf5665
Make the `hashCode` methods in `primitives` delegate to the equivalen…
cpovirk Apr 12, 2025
16b9a6a
Revisit various "Java 8+" recommendations.
cpovirk Apr 12, 2025
69dbb06
Begin removing Java7ApiChecker suppressions now that we've finally st…
cpovirk Apr 14, 2025
78fcffa
Finish removing suppressions for Java7ApiChecker now that we've final…
cpovirk Apr 14, 2025
e90e680
Apply recently added `@InlineMe` annotations, and correct a typo in t…
cpovirk Apr 14, 2025
dc91082
Prepare for release 33.4.8.
cpovirk Apr 14, 2025
041f299
Refactor `SetView` tests.
chaoren Apr 14, 2025
9eb72d3
Remove JDK7 stylesheet.
cpovirk Apr 14, 2025
0232f38
Optimize `SetView#equals()` to avoid unnecessary iterations. Fixes #7…
chaoren Apr 14, 2025
412c1bf
Continue standardizing annotations on serialization-related members.
cpovirk Apr 15, 2025
2d8d59f
`s/Object object/Object obj/`.
kluever Apr 15, 2025
57352fe
Mention the Javadoc shortlinks on the landing page.
cpovirk Apr 21, 2025
bdf2a9d
Update Public Suffix List data.
cpovirk Apr 23, 2025
831f511
Test that the interrupted `InterruptibleTask` does in fact produce `I…
cpovirk Apr 29, 2025
12d2b8e
Ensure there are no duplicate `HttpHeader` field names defined.
kluever May 1, 2025
41c7d2d
Bump the github-actions group with 2 updates
dependabot[bot] May 1, 2025
ed0e518
Add {Int,Long}Math.saturatedAbs.
lowasser May 6, 2025
f4fb824
Clarify {Int,Long}Math tests
lowasser May 6, 2025
6bbfc86
Add `BigDecimal.TWO` in J2CL & GWT.
kluever May 7, 2025
29c3e1a
Strip a generics-related test under J2KT.
cpovirk May 12, 2025
0785eb3
Use collection constructors instead of legacy static factories.
cpovirk May 13, 2025
1fa83fa
Fix some https://errorprone.info/bugpattern/UnnecessaryFinal warnings.
cpovirk May 13, 2025
69cad18
Implement `IntMath.mod` and `LongMath.mod` in terms of `Math.floorMod`.
eamonnmcmanus May 14, 2025
13497f7
Remove unneeded annotation disabling j2kt tanspilation
stefanhaustein May 14, 2025
ad8a1e5
Fix some https://errorprone.info/bugpattern/FieldCanBeFinal warnings.
cpovirk May 14, 2025
ce9f87c
Work around test crash from [KT-67447](https://youtrack.jetbrains.com…
cpovirk May 14, 2025
294c251
Run `MoreCollectorsTest` and `TableCollectorsTest` as part of the nor…
cpovirk May 15, 2025
001d501
Fix `J2ObjC` retain-cycle in `LinkedListMultimap`:
java-team-github-bot May 16, 2025
7a04a8a
Restore `Automatic-Module-Name` for `guava-android`. I accidentally d…
cpovirk May 20, 2025
80d7ed8
Reintegrate some tests of Java 8 features into the main test classes.
cpovirk May 20, 2025
f1b962f
Update Public Suffix List data.
cpovirk May 21, 2025
055b54f
Call the two-arg `LinkageError` constructor instead of using `initCau…
cpovirk May 22, 2025
3a0f98f
Discourage `Suppliers.ofInstance(instance)` in favor of `() -> instan…
kluever May 22, 2025
acb9f16
Discourage many methods in `Predicates` in favor of lambdas or method…
kluever May 27, 2025
4a8f86f
Mention method references in addition to lambdas in `Predicates`.
kluever May 28, 2025
1ed7605
Make `NullPointerTester` ignore methods declared in Kotlin.
cpovirk May 28, 2025
f780e2e
Document that `Ints.checkedCast` is the same as `Math.toIntExact` apa…
eamonnmcmanus Jun 2, 2025
7105254
Sidestep one Error Prone warning (and possibly an ongoing automated m…
cpovirk Jun 2, 2025
a449c9a
Bump the github-actions group with 2 updates
dependabot[bot] Jun 3, 2025
e70151f
Remove ancient GWT-RPC `serializable = true` values.
cpovirk Jun 4, 2025
1d48e31
Remove ancient GWT-RPC `serializable = false` values.
cpovirk Jun 4, 2025
93c4145
Update documentation around `PatternCompiler` in the backport:
cpovirk Jun 4, 2025
2dfd572
Attempt to update OSGi metadata for JSpecify annotations.
cpovirk Jun 6, 2025
3b2d603
Update `AbstractFuture`'s `getDoneValue(Object obj)` failure handling…
java-team-github-bot Jun 8, 2025
95e0712
Address bogus nullness errors from the forthcoming version of our che…
cpovirk Jun 10, 2025
bb9308a
Try two more `@RetainedLocalRef` annotations.
cpovirk Jun 10, 2025
a6e9317
Tiny readability improvement in `UnsignedLongs`.
eamonnmcmanus Jun 16, 2025
0524378
Add a warning to `Predicate.equals(Object)` (similar to cl/134125361).
kluever Jun 18, 2025
0de43c0
Update `Converter.equals(Object)` javadocs to discourage its use.
kluever Jun 18, 2025
2781767
Override `Supplier.equals(Object)` to discourage implementing or depe…
kluever Jun 19, 2025
558550e
Remove reference to unmaintained JDOM library.
java-team-github-bot Jun 20, 2025
b449816
Override `Equivalence.equals(Object)` to discourage implementing or d…
kluever Jun 20, 2025
caa005c
Rollback recent changes to `AbstractFuture`'s `getDoneValue(Object ob…
java-team-github-bot Jun 23, 2025
08c8be5
Delete obsolete `GwtSerializationDependencies` classes.
cpovirk Jul 1, 2025
860e6a4
Remove some redundant `@GwtIncompatible` annotations.
cpovirk Jul 1, 2025
98dcc48
Update Public Suffix List data.
cpovirk Jul 1, 2025
990557c
Bump github/codeql-action in the github-actions group
dependabot[bot] Jul 1, 2025
0880ec6
Delete `ImmutableEntry` in favor of `SimpleImmutableEntry`.
cpovirk Jul 1, 2025
f51883f
Remove obsolete GWT-RPC code.
cpovirk Jul 1, 2025
9892c31
Remove `@GwtCompatible` from methods and non-visible classes.
cpovirk Jul 2, 2025
a8bec9c
Use JDK alternatives to `AbstractMapEntry` in some places.
cpovirk Jul 2, 2025
8923748
Make `c.g.c.base.Objects` methods delegate to `j.u.Objects`.
cpovirk Jul 2, 2025
1b15b40
Make our versions of `@IgnoreJRERequirement` support `FIELD`.
cpovirk Jul 2, 2025
0d70b3b
Internal change.
kluever Jul 8, 2025
7d6452c
Migrate from Guava's `Object` APIs to the JDK replacements.
kluever Jul 8, 2025
ae01842
Remove obsolete suppressions from b/122617528.
cpovirk Jul 8, 2025
92cca15
Remove stale TODO about GWT.
kluever Jul 8, 2025
f59eea9
Migrate from Guava's `Object` APIs to the JDK replacements.
kluever Jul 10, 2025
e5d1fb9
Add a note about `Objects.checkIndex(index, size)` to `Preconditions.…
kluever Jul 10, 2025
77e97c8
Add `@InlineMe` to `newCopyOnWriteArrayList()`, and inline our one call.
cpovirk Jul 11, 2025
4c119ee
Static import methods from `Executors` and `MoreExecutors`.
cpovirk Jul 11, 2025
0044cce
When creating the proxy instance using the set of interfaces derived …
java-team-github-bot Jul 11, 2025
e6e0259
Remove explicit visibilities from effectively private members.
cpovirk Jul 14, 2025
55a0c24
Meta-annotate `Subscribe` with [`@Keep`](https://javadoc.io/doc/com.g…
cpovirk Jul 16, 2025
fec36dc
Swap `IntMath.checkedFoo(...)` implementations to call `Math.fooExact…
kluever Jul 16, 2025
856123e
Apply the newly generalized [EffectivelyPrivate](https://github.com/g…
cpovirk Jul 16, 2025
1bb6bad
Add one last `@Keep` annotation to stop EffectivelyPrivate.
cpovirk Jul 16, 2025
b18c227
Collapse string literals.
kluever Jul 16, 2025
162544b
Make some `private` classes `final`.
cpovirk Jul 17, 2025
8eec09e
Capture the result of unused calls into `unused` variables (ahead of …
kluever Jul 18, 2025
5a37594
Make more `private` classes `final`.
cpovirk Jul 18, 2025
59e3f8a
Remove obsolete `@GwtTransient`.
cpovirk Jul 18, 2025
5ebd9f3
Make nullness comment slightly less ponderous.
cpovirk Jul 18, 2025
6990a19
Internal change.
kluever Jul 21, 2025
e0041c6
Internal change
cpovirk Jul 21, 2025
0fad76f
Implement tests for memory leaks/crashes in `UnmodifiableSortedMultis…
java-team-github-bot Jul 21, 2025
9277137
Migrate to `central-publishing-maven-plugin`.
cpovirk Jul 22, 2025
961370b
Improve `Iterables.getLast(Iterable)` when the `Iterable` is a `Sorte…
kluever Jul 23, 2025
87976cd
Fix some problems with the Central Publishing Portal setup after cl/7…
cpovirk Jul 23, 2025
be68861
Use `setup-gradle`, which contains a built-in replacement for the wra…
cpovirk Jul 23, 2025
1837557
Annotate some GWT-incompatible classes as `@GwtIncompatible`.
cpovirk Jul 23, 2025
36d0a87
Delete unused GWT copies of `GwtSerializationDependencies` classes.
cpovirk Jul 23, 2025
1a82e5f
Fix soon-to-be CRV-related compile errors.
kluever Jul 23, 2025
c4ee1e1
Add `distributionManagement` for snapshots.
cpovirk Jul 23, 2025
401c289
Declare fields+variables as `SetMultimap`.
cpovirk Jul 23, 2025
3bd8864
Fix J2ObjC memory leak in `JdkBackedImmutableBiMap`.
java-team-github-bot Jul 24, 2025
36db146
Fix J2ObjC memory leak in `ImmutableRangeSet`.
java-team-github-bot Jul 24, 2025
b95161f
Fix J2ObjC memory leak in `UnmodifiableSortedMultiset`.
java-team-github-bot Jul 24, 2025
e2e0e15
Fix J2ObjC memory leak in `UnmodifiableSortedMultiset`.
java-team-github-bot Jul 24, 2025
02e9b9f
Address some Error Prone warnings.
cpovirk Jul 24, 2025
b085270
Use nulls instead of sentinels.
cpovirk Jul 25, 2025
d379ea9
Remove comment associated with suppression that was already removed i…
cpovirk Jul 28, 2025
df6ce47
Capture the result of unused calls into `unused` variables (ahead of …
cpovirk Jul 28, 2025
297b678
Remove suppression now that we've updated our JDK stubs.
cpovirk Jul 28, 2025
cfc03cf
Remove references to `Readable & Closeable` + `Appendable & Closeable`.
cpovirk Jul 30, 2025
91fee06
update GraphsExplained traversal section to include more information …
java-team-github-bot Aug 1, 2025
582310d
Tweak docs for `newArrayList` and `newLinkedList`.
cpovirk Aug 1, 2025
995f5d4
Bump github/codeql-action in the github-actions group
dependabot[bot] Aug 4, 2025
5c23347
Bump minSdkVersion to 23 (Marshmallow).
cpovirk Aug 5, 2025
4eb712c
Make package-private `collect` classes `final` where possible.
cpovirk Aug 6, 2025
8545d55
Update documentation and some internals for the long-ago demise of ou…
cpovirk Aug 6, 2025
43c3d40
Fix some Javadoc warnings.
cpovirk Aug 6, 2025
f6b2e04
Add some missing `@Override` annotations, and remove some unused impo…
Aug 6, 2025
2102948
Use `private` and `final` more in `AbstractBiMap`.
cpovirk Aug 7, 2025
fb062c0
Remove `emulated = true` from `@GwtCompatible` usages.
cpovirk Aug 7, 2025
6427251
Make more package-private classes `final`.
cpovirk Aug 7, 2025
01a398f
Apply `private` to some classes that are nested directly inside a top…
cpovirk Aug 8, 2025
9cc6e17
Delete `ChecksumBenchmark`, which we've replaced with a separate JMH …
cpovirk Aug 8, 2025
ab2f614
Make nested package-private classes `final`.
cpovirk Aug 9, 2025
69c0316
Add Java 21 advice to each method of `ThreadFactoryBuilder`.
kluever Aug 9, 2025
5b38150
Allocate scratch space only when it's about to be needed.
cpovirk Aug 9, 2025
af59e64
Address some http://errorprone.info/bugpattern/PrivateConstructorForU…
cpovirk Aug 10, 2025
7e91dd2
Remove now-useless `test.add.args`.
Aug 11, 2025
7b9366e
Apply `UnnecessaryParentheses`.
Aug 11, 2025
ece6340
Address a http://errorprone.info/bugpattern/NarrowingCompoundAssignme…
cpovirk Aug 11, 2025
cbba1f7
Apply `RemoveUnusedPrivateMethods`.
Aug 11, 2025
6a5ca21
update documentation to link references to "unique" to our definition
java-team-github-bot Aug 11, 2025
ff187e2
Use `java.util.zip.CRC32C` directly when available instead of using i…
cpovirk Aug 11, 2025
69fa58c
Internal change.
cpovirk Aug 11, 2025
757fd55
Update Public Suffix List data.
cpovirk Aug 12, 2025
9fb2a4a
Make another class `private`.
cpovirk Aug 12, 2025
2912891
Explicitly list `Table<..., @Nullable V>` as a supertype of `ArrayTab…
cpovirk Aug 13, 2025
869a75a
Replace nonsense with a wall of text.
cpovirk Aug 13, 2025
9e793c8
Delete `CharMatcherRewrite`.
kluever Aug 25, 2025
47b7e9e
Don't bother to explicitly set [`publishingServerId`](https://central…
cpovirk Aug 26, 2025
148cea0
In `Strings.lenientFormat`, don't assign into the varargs array.
eamonnmcmanus Aug 27, 2025
8d0b1e4
Add a note about `int` parameters to `LongMath.checkedAdd()`, `LongMa…
kluever Aug 29, 2025
d5f5391
inline calls to checked math operations (to use JDK APIs).
kluever Aug 31, 2025
f24fd70
Remove a suppression that is necessary only when building Guava with …
cpovirk Sep 2, 2025
b08ccaa
Belatedly tweak `reflect` comments and implementation for dropping su…
cpovirk Sep 3, 2025
2bff71b
Reduce allocations in `TypeToken#getRawType`.
kilink Sep 3, 2025
9547910
Bump the github-actions group with 4 updates
dependabot[bot] Sep 3, 2025
3944ffa
Actually use `suppressForVector()`.
cpovirk Sep 4, 2025
1176cdb
Bump deps.
cpovirk Sep 4, 2025
1586eb2
Release `Striped.custom` publicly.
cpovirk Sep 5, 2025
6dede7c
Revise `TypeResolver` comment further, including adding a TODO about …
cpovirk Sep 5, 2025
030079f
Make some members `static`.
cpovirk Sep 8, 2025
8f4ad7e
Sort `pom.xml` contents in conventional order, and add a TODO about `…
Sep 8, 2025
7fc3290
Bump Truth to 1.4.5.
cpovirk Sep 10, 2025
ce75979
Revise references to Android versions before our currently supported …
cpovirk Sep 11, 2025
2de2021
Address a few Error Prone warnings.
cpovirk Sep 11, 2025
2de6495
Add a test ahead of fixing https://github.com/google/guava/issues/543…
kluever Sep 11, 2025
233d873
Address https://errorprone.info/bugpattern/OperatorPrecedence warnings.
cpovirk Sep 11, 2025
087f2c4
Improve exception handling in `cache.asMap().computeIfAbsent` etc.
eamonnmcmanus Sep 11, 2025
288aeae
Add a unit test for `Iterators.mergeSorted()`.
lmcrean Sep 15, 2025
fe8f6f8
Update implementation comments, mostly around known issues.
cpovirk Sep 15, 2025
84aca22
Add test for `putIfAbsent` method to verify replacement of null values.
lmcrean Sep 16, 2025
4dc93be
Fix `Iterators.mergeSorted()` to preserve stability for equal elements.
lmcrean Sep 16, 2025
c1e6de2
Mention stability in `Iterables.mergeSorted()` javadocs.
perceptron8 Sep 16, 2025
eeced90
Test `Iterables.mergeSorted()` for stability.
perceptron8 Sep 16, 2025
0edab3d
Move configuration out of `sonatype-oss-release` to enable it by defa…
cpovirk Sep 16, 2025
d594f61
Bump plugins.
cpovirk Sep 16, 2025
257bc19
Prepare for release 33.5.0.
cpovirk Sep 16, 2025
4c4f855
Remove deps on `truth-java8-extension`.
cpovirk Sep 17, 2025
119bd9b
Work around a bug in `central-publishing-maven-plugin` that causes us…
cpovirk Sep 17, 2025
e9ea5a9
Add required information and plugin in `guava-bom/pom.xml`.
cpovirk Sep 17, 2025
b94bd32
Update Javadoc with direct `FluentIterable.{index,uniqueIndex}` equiv…
perceptron8 Sep 19, 2025
125fd02
Add a missing `@Nullable` annotation identified by [`RedundantNullChe…
cpovirk Sep 22, 2025
274062c
Remove some unnecessary type arguments.
cpovirk Sep 22, 2025
08f2139
Remove some unnecessary type arguments.
cpovirk Sep 22, 2025
35a4ccb
Remove some unnecessary type arguments.
cpovirk Sep 22, 2025
c1ffb31
Remove some unnecessary type arguments.
cpovirk Sep 22, 2025
cb0e7e0
Remove some unnecessary type arguments.
cpovirk Sep 22, 2025
3e1d0f4
Use/mention `immediateVoidFuture` a little more.
cpovirk Sep 23, 2025
643b5e8
Use more static imports.
cpovirk Sep 23, 2025
f827e52
Delete BinaryTreeTraverserBenchmark.
java-team-github-bot Sep 23, 2025
f5d8ecc
Fix one https://errorprone.info/bugpattern/UnnecessarilyFullyQualifie…
cpovirk Sep 23, 2025
59c4ecc
Improve exception messages for annotation-related methods on syntheti…
lmcrean Sep 23, 2025
a68d584
Update Public Suffix List data.
cpovirk Sep 24, 2025
d7240c0
Use `Reflection.newProxy` and a lambda.
cpovirk Sep 24, 2025
9a406e7
Fix a compilation error caused by https://bugs.openjdk.org/browse/JDK…
cushon Sep 25, 2025
a84b5f3
Remove handling of obsolete Android versions whose temporary director…
cpovirk Sep 25, 2025
c37d51e
Remove the claim that we'll delete `Files.append` in October 2019.
cpovirk Sep 25, 2025
5752811
Use Java 25 for javac and javadoc.
cpovirk Sep 29, 2025
9a179fc
Link to new Java 25 methods on `Reader`.
cpovirk Sep 29, 2025
3c0e704
Move version numbers to properties.
cpovirk Sep 29, 2025
ae5e4d6
Call `Thread.stop` reflectively, and fix `MonitorTestCase` to fail in…
cpovirk Sep 29, 2025
a82bb6d
Use `catch` blocks for `ReflectiveOperationException` (or a union typ…
cpovirk Sep 29, 2025
453a788
Bump deps and plugins.
cpovirk Sep 29, 2025
2e13df2
Add support to `Graphs.transitiveClosure()` for different strategies …
java-team-github-bot Sep 29, 2025
a49016f
Fix bad merge from https://github.com/google/guava/commit/57528113f64…
cpovirk Sep 30, 2025
20e00a1
Truthify `graph` tests.
cpovirk Sep 30, 2025
ca18af8
Rewrite `c.g.c.cache` tests to use Truth assertions.
eamonnmcmanus Sep 30, 2025
7730d13
Delete `ClusterException` in favor of suppressed exceptions.
cpovirk Oct 1, 2025
acf5bb5
Use Java 25 for Javadoc links, too.
cpovirk Oct 1, 2025
4a78cfc
Bump the github-actions group with 3 updates
dependabot[bot] Oct 1, 2025
201c950
Use a better variable name in `MediaType.withParameters`.
eamonnmcmanus Oct 2, 2025
4dada61
Standardize on the ID "`attach-javadocs`" for `maven-javadoc-plugin`.
cpovirk Oct 2, 2025
2f7e6c5
Add a note about `HexFormat` to the documentation of `BaseEncoding.ba…
kluever Oct 6, 2025
a56d68a
hasEdgeConnecting(): add tests to verify that these methods do not th…
java-team-github-bot Oct 6, 2025
d333afe
Create an `asNetwork()` view for `Graph` and `ValueGraph`.
java-team-github-bot Oct 6, 2025
b53231b
Create an `asNetwork()` view for `Graph` and `ValueGraph`.
java-team-github-bot Oct 7, 2025
909c593
Create an `asNetwork()` view for `Graph` and `ValueGraph`.
java-team-github-bot Oct 7, 2025
73f8b0b
Deprecate the `(long, TimeUnit)`-based APIs in `CacheBuilder`; please…
kluever Oct 7, 2025
96584e9
Belatedly credit some commits to jrtom.
cpovirk Oct 8, 2025
82ce359
Restore some `@link` tags and associated imports that were removed in…
cpovirk Oct 8, 2025
dc52c16
Touch up jrtom `CONTRIBUTORS` entry.
cpovirk Oct 9, 2025
83869af
Remove unnecessary raw cast.
rluble Oct 10, 2025
80cfdaa
Tweak some code to satisfy some of our nullness checking.
rluble Oct 10, 2025
06b6f4b
Further rework `ImmutableSet.copyOf` handling of `EnumSet` after http…
cpovirk Oct 11, 2025
0fbeb88
Add `@since` tag for `asNetwork()`.
cpovirk Oct 15, 2025
5a93c57
Automated Code Change
cushon Oct 21, 2025
21cdcf6
Automated Code Change
cushon Oct 22, 2025
0cd6832
Use Truth `isNull()` and `isNotNull()` over JUnit.
cpovirk Oct 28, 2025
d417c5b
Use `ComparableSubject` assertions over JUnit.
cpovirk Oct 28, 2025
ebcb507
Use Truth array assertions over JUnit.
cpovirk Oct 28, 2025
c797198
Very partial rollback of https://github.com/google/guava/commit/d417c…
cpovirk Oct 28, 2025
2011e5c
Fix `testPutSingleInterrupt` under Android Marshmallow by working aro…
cpovirk Oct 29, 2025
fb862e5
Use `ComparableSubject` assertions over JUnit for `BigInteger`.
cpovirk Oct 30, 2025
c755b97
Fix `FileBackedOutputStream` to prevent leaks during threshold crossing.
lmcrean Oct 30, 2025
f160864
Suppress NewApi findings.
cpovirk Oct 31, 2025
e416f49
Bump the github-actions group with 2 updates
dependabot[bot] Nov 1, 2025
8cfa76f
Use `{@code ...}` instead of backticks in Javadoc.
cpovirk Nov 3, 2025
12878d7
Use `toNanosSaturated` in `Queues`.
cpovirk Nov 4, 2025
d7c6d0b
Update Public Suffix List data.
cpovirk Nov 5, 2025
c91bd2a
Update the `toString()` of some `CharMatcher` types.
eamonnmcmanus Nov 7, 2025
34f3253
Rework `ImmutableMap.copyOf` handling of `EnumMap` to follow what htt…
cpovirk Nov 7, 2025
62ed153
Add a couple more `@Nullable` annotations that were suggested by [`Re…
cpovirk Nov 10, 2025
92ac0d5
Use more `{@code ...}` instead of backticks in Javadoc.
cpovirk Nov 11, 2025
6dd85ea
Remove workaround for now-fixed `central-publishing-maven-plugin` bug…
cpovirk Nov 11, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
The diff you're trying to view is too large. We only load the first 3000 changed files.
99 changes: 99 additions & 0 deletions .github/ISSUE_TEMPLATE/bug_report.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,99 @@
name: Bug Report
description: Something is not working as expected
labels: ["type=defect"]
body:
- type: markdown
attributes:
value: >
Thank you for filing a bug report. Please help us identify and resolve the bug by filling
out the following fields. Before we begin, please make sure that the bug is still present in
the [latest](https://github.com/google/guava/releases/latest) version of Guava available.
If it's already fixed in the latest version of Guava, then please just update your Guava
version instead.

- type: input
attributes:
label: Guava Version
description: Which version of Guava are you using?
placeholder: e.g., 33.2.1-jre
validations:
required: true

- type: textarea
attributes:
label: Description
description: Please describe the issue you encountered.
validations:
required: true

- type: textarea
attributes:
label: Example
description: >
Please provide a [Short, Self Contained, Correct (Compilable), Example](http://sscce.org/)
demonstrating the bug.
render: java
validations:
required: true

- type: textarea
attributes:
label: Expected Behavior
description: What did you expect to happen?
validations:
required: true

- type: textarea
attributes:
label: Actual Behavior
description: What actually happened?
validations:
required: true

- type: dropdown
attributes:
label: Packages
description: If this issue is package-specific, then please select the relevant packages.
multiple: true
options:
- com.google.common.annotations
- com.google.common.base
- com.google.common.cache
- com.google.common.collect
- com.google.common.escape
- com.google.common.eventbus
- com.google.common.graph
- com.google.common.hash
- com.google.common.io
- com.google.common.math
- com.google.common.net
- com.google.common.primitives
- com.google.common.reflect
- com.google.common.testing
- com.google.common.util.concurrent

- type: dropdown
attributes:
label: Platforms
description: If this issue is platform-specific, then please select the relevant platforms.
multiple: true
options:
- Android
- GWT
- Java 8
- Java 11
- Java 17
- Java 21

- type: checkboxes
attributes:
label: Checklist
options:
- label: >
I agree to follow the
[code of conduct](https://github.com/google/.github/blob/master/CODE_OF_CONDUCT.md).
required: true
- label: >
I can reproduce the bug with the
[latest](https://github.com/google/guava/releases/latest) version of Guava available.
required: true
156 changes: 156 additions & 0 deletions .github/ISSUE_TEMPLATE/feature_addition_request.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,156 @@
name: Feature Addition Request
description: I want to add a new feature
labels: ["type=addition"]
body:
- type: markdown
attributes:
value: >
Filing feature requests is one of the most popular ways to contribute to Guava.


Be aware, though: most feature requests are not accepted, even if they're suggested by
a full-time Guava team member. [Feedback](https://stackoverflow.com/a/4543114) from our
users indicates that they really appreciate Guava's high power-to-weight ratio. It's
important to us to keep Guava as easy to use and understand as we can. That means boiling
features down to compact but powerful abstractions, and controlling feature bloat carefully.


Guava's main yardstick for evaluating proposed features can be summed up as [utility times
ubiquity](https://github.com/google/guava/wiki/PhilosophyExplained#utility-times-ubiquity).


#### Utility: compare with alternatives


There is always *some* alternative to adding a new feature to Guava, even if it's just
forking Guava yourself.


We want to see that new features have some significant advantage over the alternatives.
These advantages can take
[many forms](https://github.com/google/guava/wiki/PhilosophyExplained#utility), but taking
the time to discuss them in detail will make it much clearer why this feature should be
added to Guava.


Please fill out the following fields to give us a better understanding of your proposed
feature and its potential value for other Guava users.

- type: textarea
attributes:
label: 1. What are you trying to do?
validations:
required: true

- type: textarea
attributes:
label: 2. What's the best code you can write to accomplish that without the new feature?
validations:
required: true

- type: textarea
attributes:
label: 3. What would that same code look like if we added your feature?
validations:
required: true

- type: markdown
attributes:
value: >
Comparing two approaches to a use case side by side can make it easier to examine the
differences between them.


Additionally, it's very useful to us if you can provide a "straw API" &mdash; what the
method signatures would look like, for example, even if the method and class names are still
in flux. This can make the feature you're suggesting much clearer to us.

- type: textarea
attributes:
label: (Optional) What would the method signatures for your feature look like?
placeholder: |
e.g.,
public static <E> ImmutableList<E> of();
public static <E> ImmutableList<E> of(E element);
public static <E> ImmutableList<E> of(E e1, E e2);
...
render: java
validations:
required: false

- type: markdown
attributes:
value: >
#### Ubiquity: provide concrete use cases


Did you *actually* encounter the need for this feature in a real-world scenario, or is it
just a feature that seems like a sensible addition to Guava?


Before new features get added to Guava, we really want to be sure that it's for a use case
that actually comes up in the real world. We want to hear the real-world use case so the
community can discuss and debate whether this feature is actually the *best* way to address
the real use case, or whether or not a different abstraction might be more appropriate.


It's okay if you can't provide complete context on a use case. We understand if you are not
able to discuss the full details of what you're working on.


But Guava aims to provide features that are useful across boundaries of projects, companies,
or even industries &mdash; utilities useful for a sizable proportion of all Java programmers
everywhere. If you can give enough detail such that any of us can imagine coming across
a similar need in our own work, that's extremely helpful in studying how broadly useful the
feature will be.

- type: textarea
attributes:
label: Concrete Use Cases
description: Please provide use cases that actually came up in the real world.
validations:
required: true

- type: dropdown
attributes:
label: Packages
description: Please select all of the packages that are relevant to this feature request.
multiple: true
options:
- com.google.common.annotations
- com.google.common.base
- com.google.common.cache
- com.google.common.collect
- com.google.common.escape
- com.google.common.eventbus
- com.google.common.graph
- com.google.common.hash
- com.google.common.io
- com.google.common.math
- com.google.common.net
- com.google.common.primitives
- com.google.common.reflect
- com.google.common.testing
- com.google.common.util.concurrent

- type: checkboxes
attributes:
label: Checklist
options:
- label: >
I agree to follow the
[code of conduct](https://github.com/google/.github/blob/master/CODE_OF_CONDUCT.md).
required: true
- label: >
I have read and understood the [contribution
guidelines](https://github.com/google/guava/wiki/HowToContribute#feature-requests).
required: true
- label: >
I have read and understood
[Guava's philosophy](https://github.com/google/guava/wiki/PhilosophyExplained), and
I strongly believe that this proposal aligns with it.
required: true
- label: >
I have visited the [idea graveyard](https://github.com/google/guava/wiki/IdeaGraveyard),
and did not see anything similar to this idea.
required: true
108 changes: 108 additions & 0 deletions .github/ISSUE_TEMPLATE/feature_enhancement_request.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,108 @@
name: Feature Enhancement Request
description: I want to make an existing feature better
labels: ["type=enhancement"]
body:
- type: markdown
attributes:
value: >
Filing feature requests is one of the most popular ways to contribute to Guava.


Be aware, though: most feature requests are not accepted, even if they're suggested by
a full-time Guava team member. [Feedback](https://stackoverflow.com/a/4543114) from our
users indicates that they really appreciate Guava's high power-to-weight ratio. It's
important to us to keep Guava as easy to use and understand as we can. That means boiling
features down to compact but powerful abstractions, and controlling feature bloat carefully.

- type: textarea
attributes:
label: API(s)
description: Which existing classes or methods do you want to improve?
placeholder: e.g., `com.google.common.collect.ImmutableList::of`
render: java
validations:
required: true

- type: textarea
attributes:
label: How do you want it to be improved?
validations:
required: true

- type: textarea
attributes:
label: Why do we need it to be improved?
validations:
required: true

- type: textarea
attributes:
label: Example
description: >
Please provide an example usage of the feature that would be different with the improvement.
render: java
validations:
required: true

- type: textarea
attributes:
label: Current Behavior
description: What does the feature currently do?
validations:
required: true

- type: textarea
attributes:
label: Desired Behavior
description: What do you want it to do instead?
validations:
required: true

- type: markdown
attributes:
value: >
Did you *actually* encounter the need for this enhancement in a real-world scenario, or does
it just seem like a sensible behavior for the feature to have?


Before we make significant changes to existing features in Guava, we really want to be sure
that it's for a use case that actually comes up in the real world. We want to hear the
real-world use case so the community can discuss and debate whether this feature is actually
the *best* way to address the real use case, or whether or not a different approach might be
more appropriate.


It's okay if you can't provide complete context on a use case. We understand if you are not
able to discuss the full details of what you're working on.


But Guava aims to provide functionality that is useful across boundaries of projects,
companies, or even industries &mdash; utilities useful for a sizable proportion of all Java
programmers everywhere. If you can give enough detail such that any of us can imagine coming
across a similar need in our own work, that's extremely helpful in studying how broadly
useful the proposed change will be.

- type: textarea
attributes:
label: Concrete Use Cases
description: Please provide use cases that actually came up in the real world.
validations:
required: true

- type: checkboxes
attributes:
label: Checklist
options:
- label: >
I agree to follow the
[code of conduct](https://github.com/google/.github/blob/master/CODE_OF_CONDUCT.md).
required: true
- label: >
I have read and understood the [contribution
guidelines](https://github.com/google/guava/wiki/HowToContribute#feature-requests).
required: true
- label: >
I have read and understood
[Guava's philosophy](https://github.com/google/guava/wiki/PhilosophyExplained), and
I strongly believe that this proposal aligns with it.
required: true
21 changes: 18 additions & 3 deletions .github/dependabot.yml
Original file line number Diff line number Diff line change
Expand Up @@ -5,12 +5,27 @@ updates:
# - package-ecosystem: "maven"
# directory: "/"
# schedule:
# interval: "daily"
# interval: "weekly"
# groups:
# dependencies:
# applies-to: version-updates
# patterns:
# - "*"
# - package-ecosystem: "maven"
# directory: "/android"
# schedule:
# interval: "daily"
# interval: "weekly"
# groups:
# dependencies:
# applies-to: version-updates
# patterns:
# - "*"
- package-ecosystem: "github-actions"
directory: "/"
schedule:
interval: "daily"
interval: "monthly"
groups:
github-actions:
applies-to: version-updates
patterns:
- "*"
Loading