New subsubheader "Unmodifiable is not immutable" that we can link to.
6aa1a1e
Add an anchor to reference `Collections.unmodifiableXXX`.
52cb63f
Migrate off our `Charsets` constants, and further discourage usage.
Guava has required Java 8 for a while now.
[`StandardCharsets`](https://developer.android.com/reference/java/nio/charset/StandardCharsets) has been available since API Level 19, and we currently [test for compatibility with 21](https://guava.dev/#important-warnings).
RELNOTES=n/a
PiperOrigin-RevId: 655152755
0434ef4
Reimplement our `compare` methods in terms of JDK equivalents.
And migrate our own calls off our methods.
Guava has required Java 8 for a while now.
Note also that the APIs in question are available even under Android [even without opt-in library desugaring](https://r8.googlesource.com/r8/+/refs/heads/main/src/main/java/com/android/tools/r8/ir/desugar/BackportedMethodRewriter.java).
Further notes:
- I did not touch `UnsignedInteger`, `UnsignedInts`, `UnsignedLong`, or `UnsignedLongs` because the JDK equivalents aren't available under GWT or J2CL.
- I did not touch `UnsignedBytes.compare` because `Bytes.compareUnsigned`, while available under any version of Android, is not available on the JVM until Java 9.
- I did touch an _assertion_ about `UnsignedBytes.compare` because I noticed that it had its actual and expected values reversed.
RELNOTES=n/a
PiperOrigin-RevId: 655152611
788c5b3
Update some comments / docs about JDK 7.
RELNOTES=n/a
PiperOrigin-RevId: 654907100
44e3403
Remove some references to Java 7.
Guava has required Java 8 for a while now.
Note also that the APIs in question are available even under Android [even without opt-in library desugaring](https://r8.googlesource.com/r8/+/refs/heads/main/src/main/java/com/android/tools/r8/ir/desugar/BackportedMethodRewriter.java).
RELNOTES=n/a
PiperOrigin-RevId: 654844953
70f614a
Standardize on `Java N+` in documentation.
RELNOTES=n/a
PiperOrigin-RevId: 607336969
036bc7a
change behavior of views returned by graph accessor methods that take a graph element as input: they now throw IllegalStateException when that element is removed from the graph
RELNOTES=change behavior of views returned by graph accessor methods that take a graph element as input: they now throw IllegalStateException when that element is removed from the graph
PiperOrigin-RevId: 600480069
7210e8f
change behavior of views retu...
PiperOrigin-RevId: 591886365
b5425b4
change behavior of views returned by graph accessor methods that take a graph element as input: they now throw IllegalStateException when that element is removed from the graph
RELNOTES=change behavior of views returned by graph accessor methods that take a graph element as input: they now throw IllegalStateException when that element is removed from the graph
PiperOrigin-RevId: 591404913
bd9cdd6
GraphsExplained: Add section about utility functions.
PiperOrigin-RevId: 585690009
b613a29
GraphsExplained: Add section about graph traversal.
PiperOrigin-RevId: 585688807
dd00cb8
GraphsExplained: Add example images for the three different types of graphs.
PiperOrigin-RevId: 585687222
c8031d5
GraphsExplained: Fix uncompilable code (cast to mutable type to be able to mutate it later)
PiperOrigin-RevId: 585634445
88aa34e
GraphsExplained: Replace integer by Distance type.
This improves the readability by using an appropriate type and fixes a minor disadvantage that flight times are dependent on more than only the two airports (e.g. weather)
PiperOrigin-RevId: 585338517
cdfec2e
Update http:// links to https:// if available.
Also update some links that have been migrated.
Context: #6839.
RELNOTES=n/a
PiperOrigin-RevId: 583431708
005f24b
Add some issue and PR templates for Guava.
RELNOTES=n/a
PiperOrigin-RevId: 577280351
79b3142
Begin using Maven Wrapper.
I set this up with:
```
mvn org.apache.maven.plugins:maven-wrapper-plugin:3.2.0:wrapper -Dtype=-script -Dmaven=3.9.5
```
It's not obvious to me whether we'll notice many differences among the 3 non-binary types (`source`, `script`, and `only-script`). I initially went with `only-script`, which is newest, given that it sounded theoretically like it would involve the fewest steps. But I got [an error](https://github.com/google/guava/actions/runs/6536542346/job/17748480689?pr=6783) from the Windows CI:
```
distributionUrl is not valid, must match *-bin.zip or maven-mvnd-*.zip, but found 'https://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/3.9.5/apache-maven-3.9.5-bin.zip
'
```
I assume that this is a newline-related issue. That error message comes from the `only-script` shell script, and there is no such line in the `script` shell script, so I'm now trying `script`. (It's possible that we should be using `mvnw.cmd` under Windows, so maybe nothing will work until I change our CI to do that....
(We got a recommendation for the Maven Wrapper [from Ben Manes](https://groups.google.com/g/guava-discuss/c/e5UVvuM9CP8/m/w2H3CjZ7AQAJ).)
There does not yet appear to be a way to [make Dependabot automatically update the version of Maven we use](https://github.com/dependabot/dependabot-core/issues/485) (nor the version of the wrapper itself, though I looked less hard for that because it's less important). We've already not kept up with Maven upgrades very carefully—and we might each be using different Maven versions for all I know!—so this isn't necessarily a huge downgrade. Still, we don't want to fall far behind what's on our machines or GitHub CI, so I've at least set myself a calendar reminder to check back every 6 months.
RELNOTES=n/a
PiperOrigin-RevId: 573917287
eb1532a
Remove suggestions to throw a plain `RuntimeException`, and discourage the remaining `propagateIfPossible` overloads, too.
RELNOTES=n/a
PiperOrigin-RevId: 568222002
ff09ace
Update docs about annotation-only dependencies now that [j2objc-annotations will be hidden at runtime for Gradle users](https://github.com/google/guava/pull/3683).
PiperOrigin-RevId: 544382567
d04c013
Edits to the first line of `package-info` files, as seen in https://guava.dev/api.
Some of the edits are in the name of consistency across packages; others are useful even in a vacuum.
- Discourage `common.cache` and EventBus.
- Delete most of the EventBus doc, as it is essentially a slightly incomplete copy of the wiki page (missing sections on unregistration and "magic things," plus a remark that the ability to rename subscriber methods is a feature). (Also, I updated the wiki page to say "subscriber" instead of "handler," following the change to package-info in cl/52404442(!). And I removed the section about filing a feature request.)
- Stop saying "working with."
- Stop inconsistently saying "This package contains."
- Stop saying "Java."
- Generalize the description of `common.net`.
- Give `BigDecimal` equal billing alongside `BigInteger`.
- Stop emphasizing that our collections are "generic," since that hasn't been a differentiator in many years.
- Stop saying "common" in `common.annotations`.
RELNOTES=n/a
PiperOrigin-RevId: 542935350
dc286b0
Warn about [JDK-8152174](https://bugs.openjdk.org/browse/JDK-8152174).
This didn't feel common enough for me to also mention it on our landing pages. But it feels worth mentioning here, admittedly in part because I like to refer back to this sprawling section whenever I hear of problems from excluding dependencies :)
(Thanks to https://github.com/google/guava/issues/6474 for the report.)
PiperOrigin-RevId: 530298918
b381bc8
Link to Marcono1234's discovery that Maven sometimes hides the error messages that are caused by missing annotation deps.
PiperOrigin-RevId: 514477129
67134bf
Updated HowToContribute (markdown)
b1131e8
Updated HowToContribute (markdown)
43e6622
Fix a typo.
PiperOrigin-RevId: 503645479
0ba6b5e
Add discouraging text to the Wiki for `EventBus` so that it matches the Javadoc.
Inspired by #6291.
RELNOTES=n/a
PiperOrigin-RevId: 503491189
77a65c2
Internal change.
RELNOTES=n/a
PiperOrigin-RevId: 488371180
e9608c9
warning about not sending PRs; a little adjustment
22dda26
Fix up some small typos and pronouns.
RELNOTES=n/a
PiperOrigin-RevId: 482578178
9d54edf