google/guavaPublic

Google core libraries for Java

AI summary: A comprehensive set of core Java libraries developed by Google featuring advanced collections and utilities.

Stars
51.7K
Forks
11.2K
Watchers
2.3K
Open issues
617
Open PRs
129
Contributors
~485
Commits
7.5K
Branches
54

JavaApache-2.0Created May 29, 2014Last push todayLatest release v33.6.0

Star history

since Jan 8, 2023
020K40KJan 2023Mar 2024May 2025Aug 2026
51.7K stars as of Aug 7, 2026, tracked back to Jan 8, 2023. Historical curve reconstructed from public GitHub event archives, calibrated to the current total.

Contribution activity

commits per day, last 52 weeks
AugSepOctNovDecJanFebMarAprMayJunJulAugMonWedFri2025-08-10: 1 commit2025-08-11: 7 commits2025-08-12: 2 commits2025-08-13: 2 commits2025-08-14: 0 commits2025-08-15: 0 commits2025-08-16: 0 commits2025-08-17: 0 commits2025-08-18: 0 commits2025-08-19: 0 commits2025-08-20: 0 commits2025-08-21: 0 commits2025-08-22: 0 commits2025-08-23: 0 commits2025-08-24: 0 commits2025-08-25: 2 commits2025-08-26: 0 commits2025-08-27: 1 commit2025-08-28: 0 commits2025-08-29: 1 commit2025-08-30: 0 commits2025-08-31: 1 commit2025-09-01: 0 commits2025-09-02: 1 commit2025-09-03: 3 commits2025-09-04: 2 commits2025-09-05: 2 commits2025-09-06: 0 commits2025-09-07: 0 commits2025-09-08: 2 commits2025-09-09: 0 commits2025-09-10: 1 commit2025-09-11: 5 commits2025-09-12: 0 commits2025-09-13: 0 commits2025-09-14: 0 commits2025-09-15: 3 commits2025-09-16: 6 commits2025-09-17: 3 commits2025-09-18: 0 commits2025-09-19: 1 commit2025-09-20: 0 commits2025-09-21: 0 commits2025-09-22: 7 commits2025-09-23: 4 commits2025-09-24: 2 commits2025-09-25: 3 commits2025-09-26: 0 commits2025-09-27: 0 commits2025-09-28: 0 commits2025-09-29: 7 commits2025-09-30: 3 commits2025-10-01: 4 commits2025-10-02: 1 commit2025-10-03: 0 commits2025-10-04: 0 commits2025-10-05: 0 commits2025-10-06: 4 commits2025-10-07: 2 commits2025-10-08: 2 commits2025-10-09: 1 commit2025-10-10: 2 commits2025-10-11: 1 commit2025-10-12: 0 commits2025-10-13: 0 commits2025-10-14: 0 commits2025-10-15: 1 commit2025-10-16: 0 commits2025-10-17: 0 commits2025-10-18: 0 commits2025-10-19: 0 commits2025-10-20: 0 commits2025-10-21: 1 commit2025-10-22: 1 commit2025-10-23: 0 commits2025-10-24: 0 commits2025-10-25: 0 commits2025-10-26: 0 commits2025-10-27: 0 commits2025-10-28: 4 commits2025-10-29: 1 commit2025-10-30: 2 commits2025-10-31: 1 commit2025-11-01: 1 commit2025-11-02: 0 commits2025-11-03: 1 commit2025-11-04: 1 commit2025-11-05: 1 commit2025-11-06: 1 commit2025-11-07: 1 commit2025-11-08: 0 commits2025-11-09: 0 commits2025-11-10: 1 commit2025-11-11: 2 commits2025-11-12: 0 commits2025-11-13: 0 commits2025-11-14: 0 commits2025-11-15: 0 commits2025-11-16: 0 commits2025-11-17: 2 commits2025-11-18: 1 commit2025-11-19: 0 commits2025-11-20: 0 commits2025-11-21: 0 commits2025-11-22: 0 commits2025-11-23: 0 commits2025-11-24: 0 commits2025-11-25: 1 commit2025-11-26: 0 commits2025-11-27: 0 commits2025-11-28: 0 commits2025-11-29: 0 commits2025-11-30: 0 commits2025-12-01: 1 commit2025-12-02: 0 commits2025-12-03: 2 commits2025-12-04: 2 commits2025-12-05: 2 commits2025-12-06: 0 commits2025-12-07: 0 commits2025-12-08: 2 commits2025-12-09: 3 commits2025-12-10: 0 commits2025-12-11: 6 commits2025-12-12: 1 commit2025-12-13: 0 commits2025-12-14: 0 commits2025-12-15: 2 commits2025-12-16: 3 commits2025-12-17: 0 commits2025-12-18: 1 commit2025-12-19: 0 commits2025-12-20: 0 commits2025-12-21: 0 commits2025-12-22: 0 commits2025-12-23: 0 commits2025-12-24: 0 commits2025-12-25: 0 commits2025-12-26: 4 commits2025-12-27: 0 commits2025-12-28: 0 commits2025-12-29: 1 commit2025-12-30: 1 commit2025-12-31: 0 commits2026-01-01: 1 commit2026-01-02: 1 commit2026-01-03: 0 commits2026-01-04: 0 commits2026-01-05: 2 commits2026-01-06: 1 commit2026-01-07: 0 commits2026-01-08: 1 commit2026-01-09: 1 commit2026-01-10: 1 commit2026-01-11: 0 commits2026-01-12: 6 commits2026-01-13: 1 commit2026-01-14: 0 commits2026-01-15: 0 commits2026-01-16: 0 commits2026-01-17: 0 commits2026-01-18: 0 commits2026-01-19: 0 commits2026-01-20: 0 commits2026-01-21: 0 commits2026-01-22: 0 commits2026-01-23: 2 commits2026-01-24: 0 commits2026-01-25: 0 commits2026-01-26: 2 commits2026-01-27: 1 commit2026-01-28: 2 commits2026-01-29: 3 commits2026-01-30: 1 commit2026-01-31: 0 commits2026-02-01: 0 commits2026-02-02: 2 commits2026-02-03: 1 commit2026-02-04: 0 commits2026-02-05: 2 commits2026-02-06: 1 commit2026-02-07: 0 commits2026-02-08: 0 commits2026-02-09: 1 commit2026-02-10: 1 commit2026-02-11: 2 commits2026-02-12: 1 commit2026-02-13: 0 commits2026-02-14: 0 commits2026-02-15: 0 commits2026-02-16: 0 commits2026-02-17: 1 commit2026-02-18: 2 commits2026-02-19: 6 commits2026-02-20: 0 commits2026-02-21: 0 commits2026-02-22: 0 commits2026-02-23: 3 commits2026-02-24: 3 commits2026-02-25: 2 commits2026-02-26: 2 commits2026-02-27: 1 commit2026-02-28: 0 commits2026-03-01: 0 commits2026-03-02: 5 commits2026-03-03: 4 commits2026-03-04: 3 commits2026-03-05: 0 commits2026-03-06: 2 commits2026-03-07: 3 commits2026-03-08: 1 commit2026-03-09: 1 commit2026-03-10: 4 commits2026-03-11: 0 commits2026-03-12: 5 commits2026-03-13: 3 commits2026-03-14: 0 commits2026-03-15: 1 commit2026-03-16: 5 commits2026-03-17: 5 commits2026-03-18: 2 commits2026-03-19: 1 commit2026-03-20: 0 commits2026-03-21: 0 commits2026-03-22: 0 commits2026-03-23: 2 commits2026-03-24: 0 commits2026-03-25: 0 commits2026-03-26: 0 commits2026-03-27: 0 commits2026-03-28: 0 commits2026-03-29: 0 commits2026-03-30: 0 commits2026-03-31: 2 commits2026-04-01: 2 commits2026-04-02: 1 commit2026-04-03: 2 commits2026-04-04: 1 commit2026-04-05: 1 commit2026-04-06: 8 commits2026-04-07: 3 commits2026-04-08: 1 commit2026-04-09: 2 commits2026-04-10: 2 commits2026-04-11: 0 commits2026-04-12: 0 commits2026-04-13: 2 commits2026-04-14: 5 commits2026-04-15: 6 commits2026-04-16: 4 commits2026-04-17: 4 commits2026-04-18: 0 commits2026-04-19: 0 commits2026-04-20: 2 commits2026-04-21: 2 commits2026-04-22: 2 commits2026-04-23: 2 commits2026-04-24: 3 commits2026-04-25: 0 commits2026-04-26: 0 commits2026-04-27: 5 commits2026-04-28: 3 commits2026-04-29: 0 commits2026-04-30: 6 commits2026-05-01: 3 commits2026-05-02: 1 commit2026-05-03: 1 commit2026-05-04: 3 commits2026-05-05: 1 commit2026-05-06: 1 commit2026-05-07: 0 commits2026-05-08: 2 commits2026-05-09: 0 commits2026-05-10: 1 commit2026-05-11: 1 commit2026-05-12: 1 commit2026-05-13: 0 commits2026-05-14: 1 commit2026-05-15: 1 commit2026-05-16: 1 commit2026-05-17: 0 commits2026-05-18: 0 commits2026-05-19: 2 commits2026-05-20: 2 commits2026-05-21: 0 commits2026-05-22: 2 commits2026-05-23: 0 commits2026-05-24: 0 commits2026-05-25: 0 commits2026-05-26: 1 commit2026-05-27: 3 commits2026-05-28: 1 commit2026-05-29: 3 commits2026-05-30: 0 commits2026-05-31: 0 commits2026-06-01: 1 commit2026-06-02: 2 commits2026-06-03: 3 commits2026-06-04: 2 commits2026-06-05: 0 commits2026-06-06: 1 commit2026-06-07: 0 commits2026-06-08: 1 commit2026-06-09: 0 commits2026-06-10: 0 commits2026-06-11: 1 commit2026-06-12: 2 commits2026-06-13: 0 commits2026-06-14: 0 commits2026-06-15: 4 commits2026-06-16: 1 commit2026-06-17: 0 commits2026-06-18: 2 commits2026-06-19: 1 commit2026-06-20: 1 commit2026-06-21: 0 commits2026-06-22: 3 commits2026-06-23: 2 commits2026-06-24: 4 commits2026-06-25: 9 commits2026-06-26: 8 commits2026-06-27: 0 commits2026-06-28: 2 commits2026-06-29: 2 commits2026-06-30: 4 commits2026-07-01: 1 commit2026-07-02: 1 commit2026-07-03: 0 commits2026-07-04: 0 commits2026-07-05: 0 commits2026-07-06: 4 commits2026-07-07: 2 commits2026-07-08: 1 commit2026-07-09: 0 commits2026-07-10: 3 commits2026-07-11: 0 commits2026-07-12: 0 commits2026-07-13: 4 commits2026-07-14: 0 commits2026-07-15: 3 commits2026-07-16: 3 commits2026-07-17: 0 commits2026-07-18: 0 commits2026-07-19: 1 commit2026-07-20: 1 commit2026-07-21: 2 commits2026-07-22: 0 commits2026-07-23: 0 commits2026-07-24: 2 commits2026-07-25: 0 commits2026-07-26: 0 commits2026-07-27: 1 commit2026-07-28: 3 commits2026-07-29: 0 commits2026-07-30: 2 commits2026-07-31: 3 commits2026-08-01: 0 commits2026-08-02: 0 commits2026-08-03: 1 commit2026-08-04: 1 commit2026-08-05: 2 commits2026-08-06: 1 commit2026-08-07: 0 commits2026-08-08: 0 commits
449 commits in the last yearLessMore

Signals and awards

derived from tracked data
  • Landmark project

    51,722 stars

  • Battle-tested

    12 years of history

  • Actively maintained

    Pushed within 48 hours

  • Community-driven

    ~485 contributors

  • Well documented

    High community health score

  • Permissive license

    Apache-2.0

  • Continuous integration

    Automated checks passing

What guava does

Guava extends the standard Java library with powerful utilities and data structures widely used in Google's own Java projects. It provides robust implementations of specialized collections like multimaps, multisets, and graphs. The library enforces best practices like immutability and simplifies complex operations across string manipulation, caching, primitive handling, and concurrency. It fundamentally reduces boilerplate code and prevents common bugs in enterprise Java applications.

Java developers building complex, enterprise-scale applications, backend services, or libraries. It is essential for teams enforcing robust coding standards and thread safety.

  • Advanced Collections: Introduces highly optimized data structures like Multimap, Multiset, Table, and BiMap.
  • Immutable Collections: Provides strictly unmodifiable, thread-safe collection implementations to prevent accidental state changes.
  • Graph Library: Includes built-in structures and algorithms for modeling directed and undirected networks.
  • Concurrency Utilities: Extends standard Java capabilities with tools like ListenableFuture and service management.
  • String Utilities: Simplifies common text operations with optimized Splitter, Joiner, and CharMatcher classes.

Where teams use it

Complex Data Modeling

Backend engineers use Multimaps and Tables to cleanly represent complex data relationships without nested standard maps.

Thread-Safe State Management

Systems developers utilize immutable collections to safely share data across concurrent threads without explicit locking.

In-Memory Caching

Application developers implement Guava Cache for fast, configurable local storage of frequently accessed records.

Network Topologies

Engineers model dependencies and routing algorithms using the built-in graph library.

Getting started: <dependency> <groupId>com.google.guava</groupId> <artifactId>guava</artifactId> <version>33.6.0-jre</version> </dependency>

README

master branch

Guava: Google Core Libraries for Java

GitHub Release CI OpenSSF Best Practices

Guava is a set of core Java libraries from Google that includes new collection types (such as multimap and multiset), immutable collections, a graph library, and utilities for concurrency, I/O, hashing, primitives, strings, and more! It is widely used on most Java projects within Google, and widely used by many other companies as well.

Guava comes in two flavors:

Adding Guava to your build

Guava's Maven group ID is com.google.guava, and its artifact ID is guava. Guava provides two different "flavors": one for use on a (Java 8+) JRE and one for use on Android or by any library that wants to be compatible with Android. These flavors are specified in the Maven version field as either 33.6.0-jre or 33.6.0-android. For more about depending on Guava, see using Guava in your build.

To add a dependency on Guava using Maven, use the following:

<dependency>
  <groupId>com.google.guava</groupId>
  <artifactId>guava</artifactId>
  <version>33.6.0-jre</version>
  <!-- or, for Android: -->
  <version>33.6.0-android</version>
</dependency>

To add a dependency using Gradle:

dependencies {
  // Pick one:

  // 1. Use Guava in your implementation only:
  implementation("com.google.guava:guava:33.6.0-jre")

  // 2. Use Guava types in your public API:
  api("com.google.guava:guava:33.6.0-jre")

  // 3. Android - Use Guava in your implementation only:
  implementation("com.google.guava:guava:33.6.0-android")

  // 4. Android - Use Guava types in your public API:
  api("com.google.guava:guava:33.6.0-android")
}

For more information on when to use api and when to use implementation, consult the Gradle documentation on API and implementation separation.

Snapshots and Documentation

Snapshots of Guava built from the master branch are available through Maven using version 999.0.0-HEAD-jre-SNAPSHOT, or 999.0.0-HEAD-android-SNAPSHOT for the Android flavor.

Snapshot API Javadoc as well as Snapshot API Diffs are also available.

Another easy way to get to the Javadoc is to open guava.dev/api. You can also jump right to a specific class by appending the class name to guava.dev. For example, guava.dev/ImmutableList!

Learn about Guava

Links

IMPORTANT WARNINGS

  1. APIs marked with the @Beta annotation at the class or method level are subject to change. They can be modified in any way, or even removed, at any time. If your code is a library itself (i.e., it is used on the CLASSPATH of users outside your own control), you should not use beta APIs unless you repackage them. If your code is a library, we strongly recommend using the Guava Beta Checker to ensure that you do not use any @Beta APIs!

  2. APIs without @Beta will remain binary-compatible for the indefinite future. (Previously, we sometimes removed such APIs after a deprecation period. The last release to remove non-@Beta APIs was Guava 21.0.) Even @Deprecated APIs will remain (again, unless they are @Beta). We have no plans to start removing things again, but officially, we're leaving our options open in case of surprises (like, say, a serious security problem).

  3. Guava has one dependency that is needed for linkage at runtime: com.google.guava:failureaccess:1.0.3. It also has some annotation-only dependencies, which we discuss in more detail at that link.

  4. Serialized forms of ALL objects are subject to change unless noted otherwise. Do not persist these and assume they can be read by a future version of the library.

  5. Our classes are not designed to protect against a malicious caller. You should not use them for communication between trusted and untrusted code.

  6. For the mainline flavor, we test the libraries using a range of OpenJDK versions on Linux and Windows. Some features, especially in com.google.common.io, may not work correctly in non-Linux environments. For the Android flavor, our unit tests also run on API level 24 (Nougat).

View on GitHub

Recent activity

commits and pull requests

Recent open issues

view all

Releases and announcements

58 total
  1. 33.6.0v33.6.0Apr 14, 2026

    ### Maven ```xml <dependency> <groupId>com.google.guava</groupId> <artifactId>guava</artifactId> <version>33.6.0-jre</version> <!-- or, for Android: --> <version>33.6.0-android</version> </dependency> ``` ### Jar files - [33.6.0-jre.jar](https://repo1.maven.org/maven2/com/google/guava/guava/33.6.0-jre/guava-33.6.0-jre.jar) - [33.6.0-android.jar](https://repo1.maven.org/maven2/com/google/guava/guava/33.6.0-android/guava-33.6.0-android.jar) Guava requires [one runtime dependency](https://github.com/google/guava/wiki/UseGuavaInYourBuild#what-about-guavas-own-dependencies), which you can download here: - [failureaccess-1.0.3.jar](https://repo1.maven.org/maven2/com/google/guava/failureaccess/1.0.3/failureaccess-1.0.3.jar) ### Javadoc - [33.6.0-jre](https://guava.dev/releases/33.6.0-jre/api/docs/) - [33.6.0-android](https://guava.dev/releases/33.6.0-android/api/docs/) ### JDiff - [33.6.0-jre vs. 33.5.0-jre](https://guava.dev/releases/33.6.0-jre/api/diffs/) - [33.6.0-android vs. 33.5.0-android](https://guava.dev/releases/33.6.0-android/api/diffs/) - [33.6.0-android vs. 33.6.0-jre](https://guava.dev/releases/33.6.0-android/api/androiddiffs/)

  2. 33.5.0v33.5.0Sep 17, 2025

    ### Maven ```xml <dependency> <groupId>com.google.guava</groupId> <artifactId>guava</artifactId> <version>33.5.0-jre</version> <!-- or, for Android: --> <version>33.5.0-android</version> </dependency> ``` ### Jar files - [33.5.0-jre.jar](https://repo1.maven.org/maven2/com/google/guava/guava/33.5.0-jre/guava-33.5.0-jre.jar) - [33.5.0-android.jar](https://repo1.maven.org/maven2/com/google/guava/guava/33.5.0-android/guava-33.5.0-android.jar) Guava requires [one runtime dependency](https://github.com/google/guava/wiki/UseGuavaInYourBuild#what-about-guavas-own-dependencies), which you can download here: - [failureaccess-1.0.3.jar](https://repo1.maven.org/maven2/com/google/guava/failureaccess/1.0.3/failureaccess-1.0.3.jar) ### Javadoc - [33.5.0-jre](https://guava.dev/releases/33.5.0-jre/api/docs/) - [33.5.0-android](https://guava.dev/releases/33.5.0-android/api/docs/) ### JDiff - [33.5.0-jre vs. 33.4.8-jre](https://guava.dev/releases/33.5.0-jre/api/diffs/) - [33.5.0-android vs. 33.4.8-android](https://guava.dev/releases/33.5.0-android/api/diffs/) - [33.5.0-android vs. 33.5.0-jre](https://guava.dev/releases/33.5.0-android/api/andro

  3. 33.4.8v33.4.8Apr 14, 2025

    Guava 33.4.8 fixes a problem that we introduced while starting to migrate `guava-android` off `Unsafe` in [33.4.7](https://github.com/google/guava/releases/tag/v33.4.7). Even if you're not upgrading from Guava 33.4.0 or earlier, still read [the release notes for Guava 33.4.1](https://github.com/google/guava/releases/tag/v33.4.1). Those release notes contain information about the effects of Guava 33.4.5 and higher on the module system. ### Maven ```xml <dependency> <groupId>com.google.guava</groupId> <artifactId>guava</artifactId> <version>33.4.8-jre</version> <!-- or, for Android: --> <version>33.4.8-android</version> </dependency> ``` ### Jar files - [33.4.8-jre.jar](https://repo1.maven.org/maven2/com/google/guava/guava/33.4.8-jre/guava-33.4.8-jre.jar) - [33.4.8-android.jar](https://repo1.maven.org/maven2/com/google/guava/guava/33.4.8-android/guava-33.4.8-android.jar) Guava requires [one runtime dependency](https://github.com/google/guava/wiki/UseGuavaInYourBuild#what-about-guavas-own-dependencies), which you can download here: - [failureaccess-1.0.3.jar](https://repo1.maven.org/maven2/com/google/guava/failureaccess/1.0.3/failureaccess-1.0.3

  4. 33.4.7v33.4.7Apr 8, 2025

    **Prefer to upgrade straight to [33.4.8](https://github.com/google/guava/releases/tag/v33.4.8):** 33.4.7 [breaks the build of Android apps with a minSdkVersion below 26](https://github.com/google/guava/issues/7769). We will publish a fixed version soon. This problem is fixed in 33.4.8. Guava 33.4.7, like [33.4.6](https://github.com/google/guava/releases/tag/v33.4.6), fixes two problems that we introduced while modularizing Guava and migrating off `Unsafe` in [33.4.5](https://github.com/google/guava/releases/tag/v33.4.5). Even if you're not upgrading from Guava 33.4.0 or earlier, still read [the release notes for Guava 33.4.1](https://github.com/google/guava/releases/tag/v33.4.1). Those release notes contain information about the effects of Guava 33.4.5 and higher on the module system. ### Maven ```xml <dependency> <groupId>com.google.guava</groupId> <artifactId>guava</artifactId> <version>33.4.7-jre</version> <!-- or, for Android: --> <version>33.4.7-android</version> </dependency> ``` ### Jar files - [33.4.7-jre.jar](https://repo1.maven.org/maven2/com/google/guava/guava/33.4.7-jre/guava-33.4.7-jre.jar) - [33.4.7-android.jar](https://repo1.maven

  5. 33.4.6v33.4.6Mar 25, 2025

    **Prefer to upgrade straight to [33.4.8](https://github.com/google/guava/releases/tag/v33.4.8):** While Guava 33.4.6 fixes two problems that we introduced while modularizing Guava in [33.4.5](https://github.com/google/guava/releases/tag/v33.4.5), it still contains some small problems with the module system, and it may still cause trouble for optimizers, and the subsequent 33.4.7 [breaks the build of Android apps with a minSdkVersion below 26](https://github.com/google/guava/issues/7769). These problems have been fixed in 33.4.8. Even if you're not upgrading from Guava 33.4.0 or earlier, still read [the release notes for Guava 33.4.1](https://github.com/google/guava/releases/tag/v33.4.1). Those release notes contain information about the effects of Guava 33.4.5 and higher on the module system. ### Maven ```xml <dependency> <groupId>com.google.guava</groupId> <artifactId>guava</artifactId> <version>33.4.6-jre</version> <!-- or, for Android: --> <version>33.4.6-android</version> </dependency> ``` ### Jar files - [33.4.6-jre.jar](https://repo1.maven.org/maven2/com/google/guava/guava/33.4.6-jre/guava-33.4.6-jre.jar) - [33.4.6-android.jar](https://repo1.

Commits per week

last 52 weeks
260Week of 2025-08-10: 12 commitsWeek of 2025-08-17: 0 commitsWeek of 2025-08-24: 4 commitsWeek of 2025-08-31: 9 commitsWeek of 2025-09-07: 8 commitsWeek of 2025-09-14: 13 commitsWeek of 2025-09-21: 16 commitsWeek of 2025-09-28: 15 commitsWeek of 2025-10-05: 12 commitsWeek of 2025-10-12: 1 commitsWeek of 2025-10-19: 2 commitsWeek of 2025-10-26: 9 commitsWeek of 2025-11-02: 5 commitsWeek of 2025-11-09: 3 commitsWeek of 2025-11-16: 3 commitsWeek of 2025-11-23: 1 commitsWeek of 2025-11-30: 7 commitsWeek of 2025-12-07: 12 commitsWeek of 2025-12-14: 6 commitsWeek of 2025-12-21: 4 commitsWeek of 2025-12-28: 4 commitsWeek of 2026-01-04: 6 commitsWeek of 2026-01-11: 7 commitsWeek of 2026-01-18: 2 commitsWeek of 2026-01-25: 9 commitsWeek of 2026-02-01: 6 commitsWeek of 2026-02-08: 5 commitsWeek of 2026-02-15: 9 commitsWeek of 2026-02-22: 11 commitsWeek of 2026-03-01: 17 commitsWeek of 2026-03-08: 14 commitsWeek of 2026-03-15: 14 commitsWeek of 2026-03-22: 2 commitsWeek of 2026-03-29: 8 commitsWeek of 2026-04-05: 17 commitsWeek of 2026-04-12: 21 commitsWeek of 2026-04-19: 11 commitsWeek of 2026-04-26: 18 commitsWeek of 2026-05-03: 8 commitsWeek of 2026-05-10: 6 commitsWeek of 2026-05-17: 6 commitsWeek of 2026-05-24: 8 commitsWeek of 2026-05-31: 9 commitsWeek of 2026-06-07: 4 commitsWeek of 2026-06-14: 9 commitsWeek of 2026-06-21: 26 commitsWeek of 2026-06-28: 10 commitsWeek of 2026-07-05: 10 commitsWeek of 2026-07-12: 10 commitsWeek of 2026-07-19: 6 commitsWeek of 2026-07-26: 9 commitsWeek of 2026-08-02: 5 commitsAug 10, 2025Aug 2, 2026
449 commits in the last 52 weeks.

When work happens

weekday and hour
SunMonTueWedThuFriSat036912151821Sun 0:00 — 0 commitsSun 1:00 — 1 commitsSun 2:00 — 0 commitsSun 3:00 — 3 commitsSun 4:00 — 2 commitsSun 5:00 — 0 commitsSun 6:00 — 5 commitsSun 7:00 — 11 commitsSun 8:00 — 4 commitsSun 9:00 — 9 commitsSun 10:00 — 5 commitsSun 11:00 — 2 commitsSun 12:00 — 3 commitsSun 13:00 — 3 commitsSun 14:00 — 1 commitsSun 15:00 — 6 commitsSun 16:00 — 1 commitsSun 17:00 — 4 commitsSun 18:00 — 7 commitsSun 19:00 — 5 commitsSun 20:00 — 2 commitsSun 21:00 — 3 commitsSun 22:00 — 2 commitsSun 23:00 — 1 commitsMon 0:00 — 5 commitsMon 1:00 — 2 commitsMon 2:00 — 4 commitsMon 3:00 — 1 commitsMon 4:00 — 6 commitsMon 5:00 — 15 commitsMon 6:00 — 32 commitsMon 7:00 — 63 commitsMon 8:00 — 99 commitsMon 9:00 — 128 commitsMon 10:00 — 173 commitsMon 11:00 — 170 commitsMon 12:00 — 179 commitsMon 13:00 — 163 commitsMon 14:00 — 155 commitsMon 15:00 — 82 commitsMon 16:00 — 79 commitsMon 17:00 — 61 commitsMon 18:00 — 44 commitsMon 19:00 — 37 commitsMon 20:00 — 9 commitsMon 21:00 — 25 commitsMon 22:00 — 9 commitsMon 23:00 — 4 commitsTue 0:00 — 24 commitsTue 1:00 — 14 commitsTue 2:00 — 7 commitsTue 3:00 — 10 commitsTue 4:00 — 10 commitsTue 5:00 — 16 commitsTue 6:00 — 31 commitsTue 7:00 — 71 commitsTue 8:00 — 120 commitsTue 9:00 — 116 commitsTue 10:00 — 154 commitsTue 11:00 — 122 commitsTue 12:00 — 136 commitsTue 13:00 — 166 commitsTue 14:00 — 121 commitsTue 15:00 — 95 commitsTue 16:00 — 78 commitsTue 17:00 — 53 commitsTue 18:00 — 55 commitsTue 19:00 — 41 commitsTue 20:00 — 24 commitsTue 21:00 — 14 commitsTue 22:00 — 5 commitsTue 23:00 — 5 commitsWed 0:00 — 12 commitsWed 1:00 — 8 commitsWed 2:00 — 15 commitsWed 3:00 — 9 commitsWed 4:00 — 2 commitsWed 5:00 — 20 commitsWed 6:00 — 32 commitsWed 7:00 — 58 commitsWed 8:00 — 101 commitsWed 9:00 — 102 commitsWed 10:00 — 148 commitsWed 11:00 — 160 commitsWed 12:00 — 121 commitsWed 13:00 — 136 commitsWed 14:00 — 156 commitsWed 15:00 — 115 commitsWed 16:00 — 85 commitsWed 17:00 — 67 commitsWed 18:00 — 64 commitsWed 19:00 — 34 commitsWed 20:00 — 15 commitsWed 21:00 — 26 commitsWed 22:00 — 27 commitsWed 23:00 — 5 commitsThu 0:00 — 11 commitsThu 1:00 — 5 commitsThu 2:00 — 5 commitsThu 3:00 — 9 commitsThu 4:00 — 6 commitsThu 5:00 — 14 commitsThu 6:00 — 33 commitsThu 7:00 — 65 commitsThu 8:00 — 80 commitsThu 9:00 — 128 commitsThu 10:00 — 135 commitsThu 11:00 — 118 commitsThu 12:00 — 132 commitsThu 13:00 — 119 commitsThu 14:00 — 139 commitsThu 15:00 — 74 commitsThu 16:00 — 90 commitsThu 17:00 — 68 commitsThu 18:00 — 48 commitsThu 19:00 — 26 commitsThu 20:00 — 16 commitsThu 21:00 — 9 commitsThu 22:00 — 7 commitsThu 23:00 — 4 commitsFri 0:00 — 4 commitsFri 1:00 — 5 commitsFri 2:00 — 3 commitsFri 3:00 — 8 commitsFri 4:00 — 10 commitsFri 5:00 — 12 commitsFri 6:00 — 21 commitsFri 7:00 — 63 commitsFri 8:00 — 87 commitsFri 9:00 — 110 commitsFri 10:00 — 131 commitsFri 11:00 — 174 commitsFri 12:00 — 169 commitsFri 13:00 — 154 commitsFri 14:00 — 112 commitsFri 15:00 — 57 commitsFri 16:00 — 74 commitsFri 17:00 — 58 commitsFri 18:00 — 50 commitsFri 19:00 — 21 commitsFri 20:00 — 11 commitsFri 21:00 — 15 commitsFri 22:00 — 4 commitsFri 23:00 — 13 commitsSat 0:00 — 2 commitsSat 1:00 — 1 commitsSat 2:00 — 0 commitsSat 3:00 — 4 commitsSat 4:00 — 3 commitsSat 5:00 — 3 commitsSat 6:00 — 6 commitsSat 7:00 — 21 commitsSat 8:00 — 10 commitsSat 9:00 — 8 commitsSat 10:00 — 2 commitsSat 11:00 — 9 commitsSat 12:00 — 8 commitsSat 13:00 — 5 commitsSat 14:00 — 2 commitsSat 15:00 — 7 commitsSat 16:00 — 2 commitsSat 17:00 — 3 commitsSat 18:00 — 13 commitsSat 19:00 — 5 commitsSat 20:00 — 4 commitsSat 21:00 — 0 commitsSat 22:00 — 1 commitsSat 23:00 — 0 commits
Commit volume by weekday and hour (UTC). Larger dots mean more commits.
DateListRankStars gained
Aug 7, 2026daily#5+13
  • krahets/hello-algo

    《Hello 算法》:动画图解、一键运行的数据结构与算法教程。支持简中、繁中、English、日本語,提供 Python, Java, C++, C, C#, JS, Go, Swift, Rust, Ruby, Kotlin, TS, Dart 等代码实现

    129.2K stars · Java

  • Stirling-Tools/Stirling-PDF

    #1 PDF Application on GitHub that lets you edit PDFs on any device anywhere

    89.1K stars · Java

  • ashishps1/awesome-system-design-resources

    Learn System Design concepts and prepare for interviews using free resources.

    40.3K stars · Java

  • opendataloader-project/opendataloader-pdf

    PDF Parser for AI-ready data. Automate PDF accessibility. Open-source.

    28.2K stars · Java

  • OtterMind/Chat2DB

    🔥🔥🔥 AI-driven database tool and SQL client, The hottest GUI client, supporting MySQL, Oracle, PostgreSQL, DB2, SQL Server, DB2, SQLite, H2, ClickHouse, and more.

    27.8K stars · Java

  • jenkinsci/jenkins

    Jenkins automation server

    26.4K stars · Java