← All reportsPublic report

google/guava

Google core libraries for Java

52k stars Java View on GitHubprofiled 11d ago
Try GitZoid
40PRs this week
8Contributors
0Deps scanned
0Issues found
01 · Repo overview

How guava is put together

Guava is Google's core Java library providing extended collection types (multimaps, multisets, immutable collections), a graph library, caching, concurrency utilities, I/O, hashing, primitives, and string helpers. It is a pure-library Maven multi-module project (no application server or datastores) built as two parallel flavors: a JRE flavor at the repo root and an Android flavor under android/, each producing the same com.google.guava artifacts. The main code lives in guava/src/com/google/common/** organized by package (base, collect, cache, graph, io, net, primitives, etc.), with a companion guava-testlib testing library, GWT-compatible sources in guava-gwt, and Gradle-based integration tests. Data flow is entirely in-process: consumers depend on the published jar (jre or android variant) and call its APIs directly.

Languages

Java

Frameworks

GWT (guava-gwt compatibility sources)JUnit 4TruthMockitoError Prone (compiler checks/annotations)Animal Sniffer (API compatibility checking)J2ObjC annotations

Infrastructure

GitHub Actions CI (.github workflows referenced by README badge)Maven Central publishing via central-publishing-maven-pluginMaven Wrapper (mvnw)Gradle wrapper for integration testsProGuard keep-rule files

Major components

guava (JRE flavor)

The core library source tree under guava/src/com/google/common containing base utilities, collections, cache, graph, io, net, math, primitives, hash, concurrent, and escape packages.

android flavor

A parallel Maven reactor rooted at android/pom.xml building Android-compatible variants of guava, guava-bom, guava-testlib, and guava-tests.

guava-testlib

A published testing library (com.google.common.testing) offering EqualsTester, NullPointerTester, ClassSanityTester, ForwardingWrapperTester, FakeTicker, SerializableTester, and related helpers for testing Guava-style APIs.

guava-gwt

GWT-compatible sources and .gwt.xml module descriptors that let Guava be compiled to JavaScript, including third-party public-suffix patterns.

futures (failureaccess / listenablefuture)

Separate small artifacts: failureaccess (the sole runtime linkage dependency of guava) and empty listenablefuture stubs to avoid dependency conflicts.

guava-bom

A Maven Bill of Materials aligning versions of guava, guava-gwt, and guava-testlib for consumers.

integration-tests/gradle

A Gradle-based integration test harness verifying Guava works correctly when consumed through Gradle builds.

proguard rules & build tooling

Per-package ProGuard configuration (base, cache, collect, concurrent, hash, primitives) plus utility scripts for snapshot deployment, surefire report printing, and snapshot doc updates.

Over the past five weeks, the Guava team focused heavily on code cleanup and modernization: removing internal caching of collection views, standardizing lazy initialization, and fixing a growing list of compiler warnings and lint errors. There were also user-facing improvements, including a new gzip media type constant, a fix for an executor queue stall, and updated documentation for releases 33.7.0 and 33.7.1. Build tooling got attention too, with Maven 4 compatibility fixes and tighter security settings in GitHub Actions.

Week by week

2026-08-24A quiet week of housekeeping: silencing warnings, adding a gzip media type, and fixing Maven 4 compatibility.latest3 changes

Chore

Silenced 'too many parameters' warnings

The team told their code-checking tool to stop flagging methods that legitimately take many arguments.

Feature

Added application/gzip media type

Guava now includes a built-in constant for the official IANA-registered gzip file format type.

Fix

Fixed Maven 4 compatibility

Adjustments were made so the project builds cleanly with the upcoming version 4 of the Maven build tool.

2026-08-17Release week for Guava 33.7.0 and 33.7.1, alongside build simplification and test cleanups.6 changes

Docs

Released Guava 33.7.1

Documentation was updated to reflect the just-shipped 33.7.1 patch release.

Chore

Prepared release 33.7.0

Final steps were taken to cut the 33.7.0 version of the library.

Refactor

Simplified dependency version management

Gradle now reads expected dependency versions directly from the pom.xml file instead of duplicating them.

Chore

Stopped setting Multi-Release jar flag

The jars no longer declare themselves as multi-release, removing unnecessary metadata.

Chore

Reverted one Truth migration

A recent switch of tests to the Truth assertion library was rolled back where it didn't fit.

Chore

Suppressed inapplicable Refaster suggestions

Automated refactoring hints that didn't apply to this codebase were turned off.

2026-08-10A busy week fixing a real concurrency bug in ExecutionSequencer plus broad warning cleanups and data refreshes.6 changes

Fix

Fixed ExecutionSequencer queue stall

Fixed a bug where task queues could get stuck if the underlying executor rejected new work.

Chore

Removed old Samsung workarounds

Code workarounds for a long-standing reflection bug on old Samsung devices were backed out as no longer needed.

Chore

Updated Public Suffix List data

The bundled list of internet domain suffixes (used for cookie/domain handling) was refreshed.

Refactor

Optimized hash code combining

Internal byte-array access made combining multiple hash codes slightly faster.

Refactor

Standardized racy lazy initialization

Patterns for safely initializing values on first use were made consistent across the codebase.

Chore

Addressed remaining assignment-expression warnings

Cleaned up code patterns that mix assignments into conditions, which linters flag as error-prone.

2026-08-03Focused on packaging changes—moving module-info and dropping view caching from CompactHashMap—plus doc link fixes.5 changes

Refactor

Removed view caching from CompactHashMap

CompactHashMap no longer caches its collection views, simplifying memory behavior.

Chore

Moved module-info to jar root

Java module metadata now lives at the top level of the jar for better tooling compatibility.

Fix

Fixed invalid Javadoc links

Documentation links that pointed to nonexistent targets were corrected.

Docs

Improved Javadoc wording

Small clarity improvements were made to API documentation comments.

Chore

Bumped GitHub Actions dependencies

Three automation workflow dependencies were updated to newer versions.

2026-07-27Big cleanup week: eliminated view caching across ImmutableMap implementations and modernized casting and Javadoc conventions.6 changes

Refactor

Removed view caching from ImmutableMap implementations

Many ImmutableMap variants stopped caching their collection views, reducing memory overhead.

Refactor

Safer type casts throughout

Unchecked casts were replaced with built-in safe-cast methods like Class.cast and Class.asSubclass wherever possible.

Chore

Deprecated Atomics static factories

Static factory methods in Atomics were marked deprecated with automatic inline replacements planned.

Docs

Standardized Javadoc heading levels

User-defined headings in documentation now start at consistent levels (h2 for classes, h4 for methods).

Chore

Secured GitHub Actions checkouts

Workflow checkouts no longer persist login credentials, improving supply-chain security.

Chore

Upgraded JSpecify to 1.0.1

The nullness annotation library used by Guava was bumped to its latest release.

03 · Security check

Dependencies and code review

0 dependencies scanned

Dependency advisories

Security Watch

No known advisories across 0 scanned dependencies.

No known advisories in the scanned dependencies.

Code review

No concrete code-level issues confirmed.

Get this report every week for your repos.

GitZoid learns each repo, reports what changed, and flags what needs attention. One flat price for the whole team.

$19 a month, flat · First 10 outputs free · No card required