Skip to content
CAI
Software that uses CAICheck a score

google/guava

62.1

Adequate · 24 September 2026

419.2k

lines of production code

Java

primary language

4

measurements over time

CAI band scale
CAI trend line
CAI lens gauges

What this system is

This system is Guava, a comprehensive Java library providing foundational utilities for collections, caching, concurrency, and I/O, with specific backports and optimizations for Android, GWT, and J2KT platforms. It includes a dedicated testing framework (guava-testlib) and performance benchmarking tools to validate correctness and efficiency across these diverse environments. The project also manages cross-platform compatibility through platform-specific modules and ProGuard configurations to ensure safe obfuscation and runtime behavior.

How it got here

2010–2012 — GWT support and build infrastructure

28 changes.

This period focused on establishing Maven build infrastructure and significantly expanding GWT compatibility by adding emulated collection classes, optimized string handling, and a fully featured cache implementation. The work also included comprehensive test coverage and performance benchmarking across core modules to ensure stability and correctness on web platforms.

2013–2017 — Android backport and GWT compatibility

61 changes.

This period focused on porting Guava's core utilities, collections, and concurrency primitives to the Android platform while establishing a comprehensive GWT emulation layer. The work involved backporting packages like base, cache, graph, and util.concurrent, alongside extensive test infrastructure and benchmarking to ensure correctness and performance across these distinct environments.

2018–2026 — modularization and build tooling

7 changes.

This period focused on decoupling core components into standalone artifacts, such as the new ListenableFuture module, and introducing internal optimizations for failure handling. It also involved enhancing build infrastructure by adding Maven and ProGuard support, updating test dependencies, and expanding test coverage for specific utility classes.

Features

Add Guava primitives package to Android build

The \com.google.common.primitives\ package is now included in the Android distribution of Guava. This adds static utility methods for primitive types (such as \Ints\, \Longs\, \Bytes\, and their unsigned variants) and value types like \UnsignedInteger\ and \UnsignedLong\ to Android applications, enabling consistent primitive handling across Java and Android platforms.

android/guava/src/com/google/common/primitives · high confidence

Add XML escapers and nullness annotations to the Android Guava package

This change introduces the \com.google.common.xml\ package to the Android build of Guava, providing \XmlEscapers\ for safely escaping strings in XML content and attribute values, along with a \ParametricNullness\ annotation to support null-safety tools like NullAway. The package is marked with \@NullMarked\ and \@CheckReturnValue\ to enforce null-safety and return-value checking for consumers.

android/guava/src/com/google/common/xml · high confidence

Add escape package sources to Guava for Android

The \com.google.common.escape\ package is now included in the Guava distribution for Android. This adds core escaping utilities such as \Escaper\, \CharEscaper\, \UnicodeEscaper\, and \Escapers\ (including the \Builder\), along with supporting classes like \ArrayBasedEscaperMap\ and \Platform\. Users can now utilize these classes for text escaping on Android devices.

android/guava/src/com/google/common/escape · high confidence

Added benchmark for UnsignedLongs methods

A new Caliper benchmark has been added for the UnsignedLongs utility class, measuring the performance of division, remainder, parsing (from decimal, hex, and binary strings), decoding, and string conversion methods.

guava-tests/benchmark/com/google/common/primitives · high confidence

GWT cache implementation now supports size limits, expiration, and statistics

The GWT supersource for com.google.common.cache has been rewritten to emulate LocalCache, adding support for maximum size enforcement, expiration (after access and write), tickers, removal listeners, and statistics recording. This change introduces new internal classes (CapacityEnforcingMap, LongAddables) to handle these features in the GWT environment, aligning the GWT cache behavior more closely with the standard JRE implementation.

guava-gwt/src-super/com/google/common/cache · high confidence

GWT emulation layer for util.concurrent futures and utilities

This change introduces a new GWT super-source emulation layer for the \com.google.common.util.concurrent\ package, enabling Guava's asynchronous utilities to function in GWT/J2CL environments. It provides structural JavaScript interoperability by implementing the \IThenable\ interface on \ListenableFuture\ via a default \then()\ method, allowing seamless integration with native JS promises. The update also includes GWT-specific implementations for core components such as \AbstractFutureState\, \AggregateFutureState\, \InterruptibleTask\, and \Uninterruptibles\, alongside specialized \catching\ and \catchingAsync\ method signatures in \GwtFluentFutureCatchingSpecialization\ and \GwtFuturesCatchingSpecialization\ that enforce stricter type requirements for exception handling.

guava-gwt/src-super/com/google/common/util · high confidence

GWT emulation of Guava collection classes is added

The GWT super-source directory for com.google.common.collect now includes emulated versions of core collection classes, including AbstractSortedMultiset, DescendingMultiset, EnumMultiset, ForwardingImmutableCollection, ForwardingImmutableList, ForwardingImmutableMap, ForwardingImmutableSet, ForwardingSortedMultiset, ImmutableBiMap, ImmutableCollection, ImmutableEnumMap, and ImmutableEnumSet. This brings the GWT-compatible collection implementations in line with the current Java implementation, ensuring that applications using Guava collections in GWT environments have access to the same APIs and behaviors as on the JVM.

guava-gwt/src-super/com/google/common/collect · high confidence

GWT platform-specific escaper implementation added

A new Platform class has been introduced in the GWT super-source directory to handle platform-specific optimizations for the escape utilities. Since GWT does not support ThreadLocal, this implementation provides a thread-safe character buffer by reusing a single static instance, leveraging the fact that JavaScript execution is single-threaded. This change ensures that the escape classes function correctly within the GWT environment without relying on unavailable Java concurrency primitives.

guava-gwt/src-super/com/google/common/escape · high confidence

Guava base package backport for Android

The \com.google.common.base\ package is now available in the Android-specific Guava distribution, providing a backport of core utilities such as \Optional\, \Preconditions\, \Strings\, \CaseFormat\, and \Charsets\. This enables Android applications to use standard Guava base APIs without requiring the full desktop library, with specific classes annotated for GWT and J2K compatibility.

android/guava/src/com/google/common/base · high confidence

Initial project setup and documentation

This change establishes the foundational structure for the Guava project by adding essential documentation and configuration files. It introduces a comprehensive README.md detailing the JRE and Android flavors, build instructions for Maven and Gradle, and important usage warnings. A CONTRIBUTING.md file is added to guide external contributors on the pull request process and CLA requirements, while a CONTRIBUTORS file credits specific authors. The repository is configured with a .gitattributes file to enforce consistent line endings, a .gitignore file to exclude build artifacts and IDE settings, and the Apache 2.0 LICENSE file. Additionally, Maven Wrapper scripts (mvnw, mvnw.cmd) are included to ensure reproducible builds, and an overview.html is provided for Javadoc generation.

(repo-wide) · high confidence

Introduce Android-specific reflection utilities

Adds a new \com.google.common.reflect\ package to the Android build of Guava, providing core reflection utilities such as \TypeToken\ for generic type handling, \Invokable\ for method and constructor introspection, \AbstractInvocationHandler\ for dynamic proxy creation, and \Reflection\ for static helper methods. This change enables Android applications to use Guava's reflection capabilities, which were previously unavailable in the Android flavor.

android/guava/src/com/google/common/reflect · high confidence

Introduce Guava Cache for Android

The \com.google.common.cache\ package is now available for Android, providing the \Cache\ and \LoadingCache\ interfaces, the \CacheBuilder\ for constructing caches, and supporting classes like \AbstractLoadingCache\ and \ForwardingCache\. This enables Android developers to use Guava's caching features, including automatic loading, eviction policies, and expiration, directly on the platform.

android/guava/src/com/google/common/cache · high confidence

Introduction of Maven Wrapper with specific version configuration

The project now includes a Maven Wrapper, allowing developers to build the project without manually installing Maven. The configuration file (maven-wrapper.properties) specifies the use of Maven Wrapper version 3.3.4, which downloads and uses Apache Maven 3.9.12. The distribution is configured as a script type, and a SHA-256 checksum is provided to verify the integrity of the downloaded Maven binary.

.mvn · high confidence

Introduction of the new Graph API in Guava for Android

This release introduces the new \com.google.common.graph\ package to the Android build of Guava, providing a comprehensive set of interfaces and implementations for graph data structures. The API includes \Graph\, \ValueGraph\, and \Network\ interfaces, along with builders (\GraphBuilder\, \ValueGraphBuilder\, \NetworkBuilder\) and concrete implementations like \MutableGraph\ and \ImmutableNetwork\. Key features include support for directed and undirected graphs, parallel edges, self-loops, and stable incident edge ordering. The implementation also provides views such as \asNetwork()\ for graphs and \asGraph()\ for networks, allowing seamless conversion between node-oriented and edge-oriented representations.

android/guava/src/com/google/common/graph · high confidence

Introduction of the standalone ListenableFuture artifact

A new \futures/listenablefuture1\ artifact has been introduced, containing a standalone copy of the \ListenableFuture\ interface. This allows users to depend on \ListenableFuture\ without pulling in the full Guava library. The interface includes nullness annotations via JSpecify (\@NullMarked\) and a \@DoNotMock\ annotation to discourage direct implementation, while retaining the core functionality of registering completion listeners.

futures/listenablefuture1 · high confidence

New HostSpecifier class for URI-safe host validation

Added the HostSpecifier class to provide a syntactically valid host specifier suitable for use in URIs, supporting IPv4, IPv6, and domain names with recognized public suffixes. This new utility allows users to validate and normalize host strings without performing network lookups, complementing existing InetAddresses and InternetDomainName utilities.

android/guava/src/com/google/common/net · high confidence

New HtmlEscapers utility and nullness annotations for HTML escaping

This change introduces the \HtmlEscapers\ class, providing a static \htmlEscaper()\ method that escapes HTML metacharacters (\"\, \'\, \&\, \\<\, \\>\) according to HTML 4.01, suitable for use in attribute values and most text contents. It also adds the \ParametricNullness\ annotation to handle nullness propagation for type variables in a way compatible with Kotlin and IntelliJ, and updates the package-level nullness marking to use \@NullMarked\ from jspecify instead of custom annotations.

android/guava/src/com/google/common/html · high confidence

New I/O utility classes and interfaces for Android

This update introduces a suite of new classes and interfaces to the \com.google.common.io\ package for Android users, including \AppendableWriter\, \ByteArrayDataInput\, \ByteArrayDataOutput\, \ByteProcessor\, \CharSequenceReader\, \CharSink\, \CharStreams\, \Closeables\, \Closer\, \CountingInputStream\, \CountingOutputStream\, \FileWriteMode\, \Flushables\, and \InsecureRecursiveDeleteException\. These additions provide expanded capabilities for character and byte stream handling, resource management, and file operations, with specific optimizations for common types like \Reader\ and \StringBuilder\ in \CharStreams.copy\.

android/guava/src/com/google/common/io · high confidence

New internal module for optimized Future failure access

A new \failureaccess\ module has been introduced to provide micro-optimizations for handling failed Futures. This change adds the \InternalFutureFailureAccess\ abstract class and the \InternalFutures\ utility class, which allow internal implementations to optionally expose the cause of a failure without blocking or exposing the method to end users. The module is modularized via a \module-info.java\ file, exporting the internal package to support these optimizations within the Guava ecosystem.

futures/failureaccess · high confidence

New math utility classes added to Guava for Android

This change introduces several new utility classes to the \com.google.common.math\ package for Android users: \BigDecimalMath\ provides safe conversion of \BigDecimal\ to \BigInteger\ with bounds checking to prevent resource exhaustion, and rounding to \double\; \BigIntegerMath\ offers arithmetic operations like logarithms and power-of-two checks for \BigInteger\ values; \DoubleMath\ and \DoubleUtils\ add advanced rounding and bit-level manipulation for \double\ primitives; \LinearTransformation\ enables building and applying linear transformations (including vertical and horizontal cases); and \PairedStatsAccumulator\ allows accumulating paired statistics. These additions expand the mathematical capabilities available in Guava for Android.

android/guava/src/com/google/common/math · high confidence

New skeletal collection and iterator implementations for Android

The Android flavor of Guava now includes skeletal implementations for core collection interfaces, specifically AbstractIndexedListIterator, AbstractIterator, AbstractListMultimap, AbstractMapBasedMultiset, AbstractMapEntry, AbstractMultimap, AbstractMultiset, AbstractNavigableMap, AbstractRangeSet, and AbstractSequentialIterator. These classes provide base functionality for ListIterators, Iterators, Multimaps, Multisets, NavigableMaps, and RangeSets, enabling more efficient and consistent collection handling on Android by reducing boilerplate for subclasses.

android/guava/src/com/google/common/collect · high confidence

New utility scripts for automated snapshot and documentation publishing

Added four new shell scripts in the \util\ directory to support the new CI workflow: \deploy\_snapshot.sh\ automates publishing Maven snapshots for both the main project and the Android module; \update\_snapshot\_docs.sh\ handles publishing Javadoc and JDiff to the \gh-pages\ branch; \gradle\_integration\_tests.sh\ manages the execution of Gradle integration tests against specific versions; and \print\_surefire\_reports.sh\ extracts and displays test failure details. These scripts enable the automated release and testing processes described in the commit history.

util · high confidence

Open-source Guava utility and event-bus benchmarks

New Caliper benchmarks are now available for the EventBus, AbstractFuture, CycleDetectingLockFactory, ExecutionList, Futures.getChecked, Monitor, MoreExecutors (directExecutor), Striped, and the Monitor-based blocking queues. These benchmarks allow users to measure performance and memory footprint of Guava's concurrent utilities and event bus, covering scenarios such as lock nesting, future completion and cancellation, executor execution speed, and striped lock construction and access.

guava-tests/benchmark/com/google/common/util · high confidence

Publish Proguard configurations for Guava modules

Guava now publishes dedicated Proguard configuration files (base.pro, cache.pro, collect.pro, concurrent.pro, hash.pro, primitives.pro) to ensure correct behavior when the library is optimized and obfuscated. These configurations preserve specific internal fields and classes required by reflection, Unsafe, and VarHandle usage (such as in AbstractFuture and Striped64), and suppress warnings for internal JDK APIs, allowing users to safely shrink and obfuscate their applications using Guava.

proguard · high confidence

Web-optimized min/max implementations for primitive arrays

The Guava GWT module now includes specialized implementations for the min and max operations on Doubles, Floats, Ints, and Shorts arrays. These new classes delegate to the native JavaScript Math.min and Math.max functions, providing a more efficient path for these common operations when running in a web browser environment.

guava-gwt/src-super/com/google/common/primitives · high confidence

Behavioural changes

Added package-list for j2objc-annotations in Android Guava

A package-list file for the j2objc-annotations library has been added to the android/guava directory structure. This file explicitly declares the com.google.j2objc.annotations package, enabling the Android backport build process to correctly resolve and link Javadoc references for this specific dependency.

android/guava · high confidence

Ensure Guava GWT Javadoc and compilation artifacts are generated

The Guava GWT module now guarantees the production of a non-empty Javadoc JAR and forces a full GWT compilation during the build process. This is achieved by adding a dummy \DummyJavadocClass\ to satisfy Maven's Javadoc plugin requirements (preventing Sonatype repository errors) and introducing a \ForceGuavaCompilation\ module with a dummy entry point to ensure all Guava classes are compiled against the GWT compiler.

guava-gwt/src/com/google/common · high confidence

EventBus API and dispatch behavior updates

The EventBus package introduces the @AllowConcurrentEvents annotation to mark subscriber methods as thread-safe, allowing simultaneous invocation from multiple threads. The @Subscribe annotation is now meta-annotated with @Keep to prevent removal by obfuscators. A new SubscriberExceptionHandler interface and SubscriberExceptionContext class provide structured error handling and context for exceptions thrown by subscribers. The dispatch mechanism is refactored into a Dispatcher abstraction with immediate, legacy-async, and per-thread-queue strategies, changing how event ordering and execution are managed. Additionally, the package migrates to JSpecify nullness annotations and removes the @Beta annotation from core classes.

android/guava/src/com/google/common/eventbus · high confidence

GWT test iteration reduction via new TestPlatform helper

A new \TestPlatform\ class has been added to the GWT test suite to provide a \reduceIterationsIfGwt\ method that divides iteration counts by 10, effectively reducing the execution time of tests like \testBuilder\_bruteForce\ when running under GWT. The class is marked with \@GwtCompatible\ and includes a private constructor to adhere to utility class conventions.

guava-gwt/test-super/com/google/common/primitives · high confidence

Improved error messaging in EqualsTester

The EqualsTester utility now provides more descriptive error messages when equality checks fail, making it easier for developers to diagnose issues with their equals and hashCode implementations during testing.

guava-testlib · high confidence

New annotations for API stability and platform compatibility in Guava for Android

The \com.google.common.annotations\ package now includes \@Beta\ to mark APIs subject to incompatible changes, \@GwtCompatible\ and \@GwtIncompatible\ to indicate Google Web Toolkit support status, and a new \@J2ktIncompatible\ annotation (since version 32.0.0) to flag APIs that do not work with J2kt. Additionally, \@VisibleForTesting\ is provided to annotate test-only code, with documentation advising the use of \RestrictedApiChecker\ for stricter visibility enforcement.

android/guava/src/com/google/common/annotations · high confidence

Optimized string handling and platform utilities for GWT web builds

The Guava GWT module now includes native JavaScript implementations for core string operations (\isNullOrEmpty\, \nullToEmpty\, \emptyToNull\) and platform-specific utilities via the new \Platform\ and \ExtraObjectsMethodsForWeb\ classes. By supersourcing these methods to native JS, string comparisons and null-handling are significantly faster in browser environments. Additionally, \Platform.formatCompact4Digits\ now uses the native \Number.prototype.toPrecision\ for number formatting, and the \Objects.equal\ implementation is optimized for web contexts.

guava-gwt/src-super/com/google/common/base · high confidence

Refactored Guava concurrent utilities for cross-platform compatibility and performance

The \com.google.common.util.concurrent\ package has been significantly refactored to support multiple platforms (JVM, Android, GWT, J2KT) and improve runtime performance. Key changes include splitting \AbstractFuture\ into \AbstractFutureState\ to isolate platform-specific atomic operations, introducing \AbstractCatchingFuture\ and \AbstractTransformFuture\ to streamline \Futures.catching\ and \Futures.transform\ implementations, and adding \AsyncCallable\ to support asynchronous transformations. The \Service\ lifecycle now allows transitions from \STARTING\ to \TERMINATED\ via a new \doCancelStart\ method, and \ExecutionSequencer\ has been renamed from \SerializingExecutor\ with stricter queue stall handling. Additionally, the codebase has migrated from jsr305 to JSpecify nullness annotations and updated minimum SDK requirements.

android/guava/src/com/google/common/util · high confidence

Reorganized hashing internals with new skeletal implementations and expanded ByteBuffer support

The \com.google.common.hash\ package has been refactored to introduce new skeletal base classes (\AbstractHasher\, \AbstractByteHasher\, \AbstractHashFunction\, \AbstractNonStreamingHashFunction\) that simplify the implementation of hash algorithms. This change expands \ByteBuffer\ support across the hashing APIs, allowing more efficient hashing of byte buffers without unnecessary copying. Additionally, the \CRC32C\ algorithm has been optimized using 16-byte strides for significantly improved throughput, and the \fingerprint2011\ hash function has been made publicly available.

android/guava/src/com/google/common/hash · high confidence

Updated public suffix list data and added registry suffix support

The public suffix data used by InternetDomainName has been refreshed to the latest version, including the addition of new suffixes such as web.app and app.link (and removal of mod.uk). The underlying implementation now distinguishes between private and registry suffixes via the new PublicSuffixType enum, allowing InternetDomainName to expose a specific registry suffix for domains.

android/guava/src/com/google/thirdparty · high confidence

Fixes

Fix race condition in Cache.refresh and reset hash table thresholds after resizing

Resolves a potential race condition in Cache.refresh (Guava issue 1337) and fixes a bug where expandTableThreshold and maxRunBeforeFallback were not reset after resizing the hash table (fixing issue \#3570). These changes ensure correct behavior and stability in concurrent caching scenarios and internal hash table management.

guava · high confidence

Test coverage

Added Android-specific test suite for com.google.common.reflect; Added Caliper benchmarks for Guava hashing performance; Added Caliper benchmarks for Guava math utilities; Added EscaperAsserts test utilities; Added EventBus benchmark for Android; Added GWT emulation layer for Platform utilities in test suite; Added GWT emulation source for collection testing iterations; Added GWT test infrastructure for Guava; Added Google-specific collection test suites for Android; Added Guava collect testing framework for Android; Added Platform utility for test serialization emulation; Added TestPlatform stub for GWT math tests; Added base test suite for AbstractFuture; Added base test suites for Guava collection abstractions; Added benchmarks for BaseEncoding, CharStreams.copy, and ByteSource.asCharSource; Added benchmarks for BaseEncoding, CharStreams.copy, and ByteSource.asCharSource read strategies; Added benchmarks for Guava hash functions and MessageDigest algorithms; Added cache performance benchmarks; Added collection performance benchmarks for Android; Added collection tester classes for the Android flavor of Guava Testlib; Added comprehensive test coverage for Guava util.concurrent components on Android; Added comprehensive test coverage for the common.hash package; Added comprehensive test coverage for the new Graph and Network APIs; Added comprehensive test suite for EventBus components; Added comprehensive test suite for Guava math utilities; Added comprehensive unit tests for Guava I/O classes in the Android test suite; Added math benchmark suite for Guava and Apache Commons Math; Added microbenchmarks for UnsignedBytes and UnsignedLongs; Added test class for reflect subpackage; Added test coverage for the escape package; Added test suite for the common.net package; Added test-feature definitions for Guava collections; Added tests and infrastructure for Guava HTML escaping; Added tests for EventBus subscriber discovery from outside the eventbus package; Added tests for ForwardingWrapperTester and NullPointerTester package isolation; Added tests for ListenableFuture and testing executor utilities; Added tests for Public Suffix Trie implementation; Added tests for TestingExecutors; Added tests for XML escapers and test infrastructure; Added tests for XML escaping and Android compatibility annotations; Added tests for collection testing feature annotations and utilities; Added unit tests for Guava Primitives; Added unit tests for Guava base classes; Added unit tests for Guava cache components; Added unit tests for Guava collect testing infrastructure; Added unit tests for Guava hash infrastructure and algorithms; Added unit tests for Guava testing utilities; Added unit tests for the Guava escape package; Expanded test coverage for Guava I/O classes; Expanded test coverage for Guava collection utilities; Expanded test coverage for Guava's network utilities; Introduces GWT-compatible test platform abstraction for Future operations; New Caliper benchmarks for Guava cache internals; New benchmarks for Guava util.concurrent components; New collection benchmarks added to Guava test suite; New microbenchmarks for Guava base utilities; New testing utilities added to Guava Testlib for Android; Refactored graph and network test infrastructure for Android.

Dependencies

Integration tests now use Gradle 9.7.1

The Gradle wrapper in the integration-tests module has been updated to version 9.7.1. This ensures that the integration tests run against the latest Gradle release, providing up-to-date build behavior and compatibility for the test suite.

integration-tests · high confidence

Introduce Maven build infrastructure for Guava Android artifacts

This change adds the Maven \pom.xml\ files required to build and publish the Guava Android variant of the library. It establishes a multi-module structure including a parent POM (\guava-parent\), a Bill of Materials (\guava-bom\), the main \guava\ artifact, \guava-testlib\, and \guava-tests\. The configuration defines dependencies on \failureaccess\ and \listenablefuture\, sets up OSGi bundle metadata via the maven-bundle-plugin, configures Java 8/9 multi-release JAR compilation, and enables GPG signing for Sonatype Central Portal releases.

(dependencies) · high confidence

Written by watchdog.canine.dev from the codebase's own history, inside the signed delivery this page is composed from.

How this codebase got here

Baseline

  • First survey — no prior run to compare against. CAI 62.

Lenses

  • Code Health 79
  • Architecture 67
  • Maturity 56
  • Readiness 64
  • Security 64
  • Domain Modelling 100

Changes since last survey

  • 300 commits — 288 feature/other, 12 fixes

By area

  • android/guava — 127 commits
  • android/guava-tests — 89 commits
  • (root) — 18 commits
  • android/guava-testlib — 17 commits
  • guava/src — 17 commits
  • .github/workflows — 10 commits
  • guava-tests/test — 9 commits
  • integration-tests/gradle — 4 commits
  • guava-gwt/src-super — 3 commits
  • guava-testlib/test — 3 commits
  • .github/dependabot.yml — 1 commit
  • guava-testlib/README.md — 1 commit
  • guava-testlib/src — 1 commit

Notable commits

  • fix: Avoid unnecessary allocation of LinearCongruentialGenerator objects. Fixes #8426. Closes #8429.
  • fix: Back out workarounds for the old Samsung reflection bug.
  • fix: Fix AbstractLoadingCache class Javadoc to describe its own behavior.
  • fix: Fix J2KT/Native compatibility issues in Guava collect tests.
  • fix: Fix ExecutionSequencer queue stall when delegate executor throws RejectedExecutionException.
  • fix: Fix a warning about an inexact type for a varargs parameter.
  • fix: Fix constructor links in Javadoc.
  • fix: Fix http://errorprone.info/bugpattern/InvalidLink warnings.
  • fix: Fix https://errorprone.info/bugpattern/NullArgumentForNonNullParameter findings in test.
  • fix: Fix some https://errorprone.info/bugpattern/ParameterComment warnings.
  • fix: Fix some minor Javadoc errors:
  • fix: Work around ART Marshmallow interrupt bug again.
  • change: Accommodate Kotlin's different visibility rules in Streams.
  • change: Accommodate Kotlin's different visibility rules.
  • change: Accommodate Kotlin's visibility rules.
  • change: Adapt to the once and future TODO style.
  • change: Add HttpHeaders constants for on-prefetch-activation.
  • change: Add Javadoc summaries for more MediaType constants.
  • change: Add MediaType.YAML constant for YAML format.
  • change: Add @InlineMe and deprecation notices to static factory methods in Atomics.
  • …and 280 more

Architecture

  • 0 containers · 2 bounded contexts · 1 dependency edges (baseline)

Written by watchdog.canine.dev from the codebase's own history, inside the signed delivery this page is composed from.

Survey your own repository

google/guava was measured the same way every project in this corpus was: the same rubric, at a pinned commit, with the result published in full. Point a surveyor at a repository you know and see whether you agree with it.

About this page

  • The score is its most recent published measurement, taken on 24 September 2026 at a pinned commit. It is not a live figure and does not change until the project is measured again.
  • Measured at commit 39979d08bc4b1dbcb20abeef5905192b225c8647 — the exact code this score is about.
  • Scored under rubric-2026.09.15 — the same rubric and the same method as every other entry in this index.
  • Measured by watchdog.canine.dev using codehealth-analyzer preprod-5f8d0eb43fd7.