Developer
Kurt Alfred Kluever
kak@google.com
Performance
YoY:+640%Key patterns and highlights from this developer's activity.
Breakdown of growth, maintenance, and fixes effort over time.
Bugs introduced vs. fixed over time.
No bugs introduced or fixed in this period.
Latest analyzed commits from this developer.
| Hash | Message | Date | Files |
|---|
Commit activity distribution by hour and day of week. Shows when this developer is most active.
Developers who frequently work on the same files and symbols. Higher score means stronger code collaboration.
| Effort |
|---|
| dae9566b | This commit **removes the `@Beta` annotation** from all APIs within the **`com.google.common.graph` package**. This significant **API stabilization** effort indicates that the entire graph library is now considered stable and production-ready. Users can confidently integrate these graph functionalities into their applications without anticipating future breaking changes to the API surface. | Mar 11 | 88 | – |
| df9bcc25 | This commit **introduces a new public method**, `serializedSize()`, to the **`com.google.common.hash.BloomFilter`** class within the Guava hashing library. This **new capability** allows users to accurately determine the exact byte size required to serialize a `BloomFilter` instance. By providing this information, the change enables more efficient resource management and pre-allocation strategies when persisting or transmitting `BloomFilter` objects. This enhancement is available across both standard Guava and Android Guava distributions, improving the utility of the **hashing module**. | Mar 10 | 4 | grow |
| 782206b0 | This commit performs **test code refactoring** within the `guava-tests` and `android/guava-tests` modules, specifically targeting the **`BigDecimalMathTest` and `BigIntegerMathTest` classes**. It removes static imports for `RoundingMode.values()` to improve code clarity and updates `assertWithMessage` calls to use a consistent placeholder format, enhancing the readability of test failure messages. This is a **maintenance change** that improves the internal consistency and maintainability of the test suite without affecting any production code or library functionality. | Nov 19 | 4 | maint |
| 73f8b0bb | This commit **deprecates** the `expireAfterWrite`, `expireAfterAccess`, and `refreshAfterWrite` methods within **Guava's `CacheBuilder`** class that currently accept `long` and `TimeUnit` arguments. This **refactoring** effort aims to modernize the API by guiding users towards the more robust and type-safe `Duration`-based equivalents for configuring cache expiration and refresh policies. The change applies to both the standard `guava` and `android/guava` implementations of the cache builder. Users are encouraged to update their code to utilize the `Duration`-based APIs to avoid using deprecated functionality. | Oct 7 | 2 | maint |
| 2f7e6c5f | This commit **enhances the Javadoc documentation** for the `base16()` method within the **`com.google.common.io.BaseEncoding` class**. It adds a crucial note advising users running Java 17 or newer to consider utilizing the standard library's `java.util.HexFormat` for hexadecimal encoding and decoding. This **documentation update** provides valuable guidance, helping developers choose the most appropriate and modern API for their projects. The change affects both the core Guava and Android Guava libraries, aiming to improve user awareness of platform-native alternatives without altering any existing functionality. | Oct 6 | 2 | maint |
| 2de64950 | This commit **adds a new test case** to the `guava-tests` module, specifically targeting the **`LocalCache`** component within Guava's caching library. The test verifies the behavior of the `computeIfPresent` method when its remapping function throws an exception, ensuring robust error handling. This **preparatory work** is essential for addressing known issues (e.g., #5438, #7625, #7975) related to `LocalCache`'s `compute` operations, providing a clear failure case before implementing the actual fixes. It helps ensure the stability and correctness of Guava's caching mechanism under exceptional conditions. | Sep 11 | 1 | maint |
| d5f53915 | This commit **refactors** several Guava utility classes by replacing internal `IntMath.checked*` and `LongMath.checked*` calls with their equivalent **JDK `Math.addExact` and `Math.multiplyExact`** methods. Specifically, this impacts arithmetic operations within the **`com.google.common.collect`** module (e.g., `CartesianList`, `ConcurrentHashMultiset`, `MinMaxPriorityQueue`, `TopKSelector`) and the **`com.google.common.hash.BloomFilter`**. This **maintenance refactoring** standardizes checked arithmetic operations, leveraging native JDK APIs where available. The change reduces reliance on Guava's internal math utilities for these specific functions, improving code consistency across both `guava` and `android/guava` variants. | Aug 31 | 10 | maint |
| 8d0b1e4b | This commit provides a **documentation update** for the **`LongMath` utility class** within the `com.google.common.math` package. It clarifies the Javadoc comments for the `checkedAdd()`, `checkedSubtract()`, and `checkedMultiply()` methods. The update specifically addresses their behavior when `int` parameters are passed and their relationship to `Math.Exact` overloads. This **maintenance** task improves developer understanding of these **arithmetic overflow-checking methods**, preventing potential confusion regarding parameter types and equivalent standard library functions. | Aug 29 | 2 | maint |
| 9e793c8b | This commit **removes** the `CharMatcherRewrite` component from the codebase. This is a **maintenance** task, likely simplifying the project by eliminating an unused or deprecated piece of functionality related to character matching. The deletion affects the character matching subsystem, streamlining its implementation and reducing overall code complexity. | Aug 25 | 2 | – |
| 69c0316d | This commit provides a **documentation update** for the **`ThreadFactoryBuilder` utility** in `com.google.common.util.concurrent`. It adds **Java 21+ specific advice** to the Javadoc comments for the constructor and several methods, guiding users on best practices and potential considerations for newer Java versions. Additionally, a `SuppressWarnings` annotation is added to the `doBuild` method. This **maintenance** work enhances the clarity and future-proofing of the API, ensuring developers have up-to-date guidance when working with `ThreadFactoryBuilder` in modern Java environments. | Aug 9 | 2 | maint |
| 1a82e5f3 | This commit **refactors and updates existing test cases** across Guava's `guava-testlib` and `guava-tests` modules to **proactively prevent future CRV-related compile errors**. Specifically, it **replaces deprecated `shouldThrow()` helper methods** with direct `fail()` calls in `JSR166TestCase.java` and `SynchronizedNavigableMapTest.java`. Furthermore, it **enhances test robustness** by adding `assertNotNull` and `assertNull` assertions to verify return values in `ListListIteratorTester.java` and `SynchronizedNavigableMapTest.java`, ensuring the continued reliability and clarity of Guava's collection and concurrency tests. | Jul 23 | 6 | maint |
| 961370b5 | This commit **optimizes** the `Iterables.getLast` methods within the **Guava `collect` library** to improve performance. It specifically enhances the implementation by directly utilizing the `SortedSet.last()` method when the input `Iterable` is an instance of `SortedSet`, avoiding unnecessary iteration. This **performance improvement** makes calls to `Iterables.getLast` significantly more efficient for `SortedSet` inputs. A new test case has also been added to `IterablesTest.java` to cover scenarios where `Iterables.getLast` is invoked with an empty `SortedSet` and a default value. | Jul 23 | 4 | grow |
| 6990a19c | This commit introduces a **refactoring** change to the **Guava library**, specifically within the `com.google.common.base.Objects` utility class. It adds an `InlineMeSuggester` suppression to the `equal` and `hashCode` methods in both the standard and Android versions of the library. This **maintenance** task aims to prevent unnecessary linter suggestions for these methods, improving developer experience. There is **no functional change** or impact on the runtime behavior or public API of the `Objects` class. | Jul 21 | 2 | maint |
| 8eec09ec | This commit **updates several Guava test suites** to adjust how `map.get(null)` calls are handled. Specifically, it **assigns the results of these calls to unused variables** or **comments out the calls entirely** within tests like `MapInterfaceTest`, `AbstractMultimapAsMapImplementsMapTest`, `SynchronizedMapTest`, and `TableCollectionTest`. This is a **preparatory maintenance change** within the **test infrastructure**, anticipating the removal of certain JDK APIs from the CIRV list. The modification ensures test stability and compatibility with future tooling changes, with **no impact on Guava's public API or runtime behavior**. | Jul 18 | 7 | maint |
| b18c227c | This commit performs a **maintenance refactoring** by collapsing numerous string literal concatenations across various **Guava test suites**. Specifically, it simplifies string expressions used in **test assertion messages, failure messages, exception messages, test data, and test suite names** within modules like `guava-testlib` and `guava-tests`. This **cleanup** improves the readability and conciseness of the test code for components such as `collect`, `base`, `io`, `net`, and `util.concurrent`. The changes are purely cosmetic and do not alter any functional behavior or public APIs of the Guava library, focusing solely on **internal test code improvements**. | Jul 16 | 22 | maint |
| fec36dc3 | This commit performs a **refactoring** of the **Guava `IntMath` and `LongMath` utility classes** to streamline their checked arithmetic operations. Specifically, the `checkedAdd`, `checkedSubtract`, and `checkedMultiply` methods in both `IntMath.java` and `LongMath.java` are updated to internally delegate to the standard Java library's `Math.addExact`, `Math.subtractExact`, and `Math.multiplyExact` methods. This change leverages built-in exact arithmetic, improving consistency and potentially performance, and includes `@InlineMe` annotations and deprecation notes to facilitate future migrations for users to directly utilize the `Math.fooExact` methods. The update applies to both Android and non-Android versions of Guava, ensuring a unified and more efficient implementation across the library. | Jul 16 | 4 | maint |
| e5d1fb9d | This commit **updates the Javadoc** for the `checkPositionIndex` method within the **`Preconditions` utility class**. Specifically, it adds a note to guide **Java 9 and later users** about the availability and similar functionality of `Objects.checkIndex(index, size)`. This **documentation improvement** helps developers choose between Guava's utility and the standard library's equivalent for index validation. The change is applied to `Preconditions.java` in both the standard Guava and Android Guava distributions, enhancing API clarity and usage guidance for a broad audience. | Jul 10 | 2 | maint |
| f59eea9e | This commit performs a significant **refactoring** across the **Guava library**, its **Android variant**, and **guava-testlib** by migrating internal usages from Guava's `com.google.common.base.Objects.equal` and related APIs to their standard JDK counterparts, `java.util.Objects.equals` and `java.util.Objects.hashCode`. This **modernization** effort updates various utility classes and data structures, including `Equivalence`, `HashBiMap`, `ObjectCountHashMap`, `RegularImmutableMultiset`, and `Graphs`, to leverage native Java APIs for object comparison and hash code computation. Additionally, Javadoc comments in `Function` are updated for consistency. The change is purely an internal **maintenance** task, ensuring identical semantic behavior while reducing reliance on Guava's internal `Objects` utility and aligning with modern Java best practices. There is no functional impact or API change for downstream users. | Jul 10 | 11 | maint |
| 92cca156 | This commit performs **code cleanup** by **removing a stale TODO comment** that referenced GWT. The presence of this `TODO` indicated a past consideration or task related to **Google Web Toolkit integration** or compatibility that is now obsolete. This **maintenance** effort tidies the codebase by eliminating outdated directives, signifying that the GWT-related concern is no longer active. There is no functional impact on the application's behavior or features, only an improvement in code clarity. | Jul 8 | 4 | – |
| 7d6452c1 | This commit performs a significant **refactoring** across the **Guava core library and its test suites** by migrating from Guava's internal `com.google.common.base.Objects` utility methods to their standard JDK counterparts. Specifically, calls to `Objects.equal` are replaced with `java.util.Objects.equals` and `Objects.hashCode` with `java.util.Objects.hash` throughout various modules, including `base`, `cache`, `collect`, and `graph`. This change modernizes the codebase, reduces internal dependency on Guava's own `Objects` class where JDK equivalents are available, and improves **maintainability**. The functional behavior of the library remains unchanged, ensuring no downstream impact on consumers of Guava. | Jul 8 | 94 | maint |
This commit **removes the `@Beta` annotation** from all APIs within the **`com.google.common.graph` package**. This significant **API stabilization** effort indicates that the entire graph library is now considered stable and production-ready. Users can confidently integrate these graph functionalities into their applications without anticipating future breaking changes to the API surface.
This commit **introduces a new public method**, `serializedSize()`, to the **`com.google.common.hash.BloomFilter`** class within the Guava hashing library. This **new capability** allows users to accurately determine the exact byte size required to serialize a `BloomFilter` instance. By providing this information, the change enables more efficient resource management and pre-allocation strategies when persisting or transmitting `BloomFilter` objects. This enhancement is available across both standard Guava and Android Guava distributions, improving the utility of the **hashing module**.
This commit performs **test code refactoring** within the `guava-tests` and `android/guava-tests` modules, specifically targeting the **`BigDecimalMathTest` and `BigIntegerMathTest` classes**. It removes static imports for `RoundingMode.values()` to improve code clarity and updates `assertWithMessage` calls to use a consistent placeholder format, enhancing the readability of test failure messages. This is a **maintenance change** that improves the internal consistency and maintainability of the test suite without affecting any production code or library functionality.
This commit **deprecates** the `expireAfterWrite`, `expireAfterAccess`, and `refreshAfterWrite` methods within **Guava's `CacheBuilder`** class that currently accept `long` and `TimeUnit` arguments. This **refactoring** effort aims to modernize the API by guiding users towards the more robust and type-safe `Duration`-based equivalents for configuring cache expiration and refresh policies. The change applies to both the standard `guava` and `android/guava` implementations of the cache builder. Users are encouraged to update their code to utilize the `Duration`-based APIs to avoid using deprecated functionality.
This commit **enhances the Javadoc documentation** for the `base16()` method within the **`com.google.common.io.BaseEncoding` class**. It adds a crucial note advising users running Java 17 or newer to consider utilizing the standard library's `java.util.HexFormat` for hexadecimal encoding and decoding. This **documentation update** provides valuable guidance, helping developers choose the most appropriate and modern API for their projects. The change affects both the core Guava and Android Guava libraries, aiming to improve user awareness of platform-native alternatives without altering any existing functionality.
This commit **adds a new test case** to the `guava-tests` module, specifically targeting the **`LocalCache`** component within Guava's caching library. The test verifies the behavior of the `computeIfPresent` method when its remapping function throws an exception, ensuring robust error handling. This **preparatory work** is essential for addressing known issues (e.g., #5438, #7625, #7975) related to `LocalCache`'s `compute` operations, providing a clear failure case before implementing the actual fixes. It helps ensure the stability and correctness of Guava's caching mechanism under exceptional conditions.
This commit **refactors** several Guava utility classes by replacing internal `IntMath.checked*` and `LongMath.checked*` calls with their equivalent **JDK `Math.addExact` and `Math.multiplyExact`** methods. Specifically, this impacts arithmetic operations within the **`com.google.common.collect`** module (e.g., `CartesianList`, `ConcurrentHashMultiset`, `MinMaxPriorityQueue`, `TopKSelector`) and the **`com.google.common.hash.BloomFilter`**. This **maintenance refactoring** standardizes checked arithmetic operations, leveraging native JDK APIs where available. The change reduces reliance on Guava's internal math utilities for these specific functions, improving code consistency across both `guava` and `android/guava` variants.
This commit provides a **documentation update** for the **`LongMath` utility class** within the `com.google.common.math` package. It clarifies the Javadoc comments for the `checkedAdd()`, `checkedSubtract()`, and `checkedMultiply()` methods. The update specifically addresses their behavior when `int` parameters are passed and their relationship to `Math.Exact` overloads. This **maintenance** task improves developer understanding of these **arithmetic overflow-checking methods**, preventing potential confusion regarding parameter types and equivalent standard library functions.
This commit **removes** the `CharMatcherRewrite` component from the codebase. This is a **maintenance** task, likely simplifying the project by eliminating an unused or deprecated piece of functionality related to character matching. The deletion affects the character matching subsystem, streamlining its implementation and reducing overall code complexity.
This commit provides a **documentation update** for the **`ThreadFactoryBuilder` utility** in `com.google.common.util.concurrent`. It adds **Java 21+ specific advice** to the Javadoc comments for the constructor and several methods, guiding users on best practices and potential considerations for newer Java versions. Additionally, a `SuppressWarnings` annotation is added to the `doBuild` method. This **maintenance** work enhances the clarity and future-proofing of the API, ensuring developers have up-to-date guidance when working with `ThreadFactoryBuilder` in modern Java environments.
This commit **refactors and updates existing test cases** across Guava's `guava-testlib` and `guava-tests` modules to **proactively prevent future CRV-related compile errors**. Specifically, it **replaces deprecated `shouldThrow()` helper methods** with direct `fail()` calls in `JSR166TestCase.java` and `SynchronizedNavigableMapTest.java`. Furthermore, it **enhances test robustness** by adding `assertNotNull` and `assertNull` assertions to verify return values in `ListListIteratorTester.java` and `SynchronizedNavigableMapTest.java`, ensuring the continued reliability and clarity of Guava's collection and concurrency tests.
This commit **optimizes** the `Iterables.getLast` methods within the **Guava `collect` library** to improve performance. It specifically enhances the implementation by directly utilizing the `SortedSet.last()` method when the input `Iterable` is an instance of `SortedSet`, avoiding unnecessary iteration. This **performance improvement** makes calls to `Iterables.getLast` significantly more efficient for `SortedSet` inputs. A new test case has also been added to `IterablesTest.java` to cover scenarios where `Iterables.getLast` is invoked with an empty `SortedSet` and a default value.
This commit introduces a **refactoring** change to the **Guava library**, specifically within the `com.google.common.base.Objects` utility class. It adds an `InlineMeSuggester` suppression to the `equal` and `hashCode` methods in both the standard and Android versions of the library. This **maintenance** task aims to prevent unnecessary linter suggestions for these methods, improving developer experience. There is **no functional change** or impact on the runtime behavior or public API of the `Objects` class.
This commit **updates several Guava test suites** to adjust how `map.get(null)` calls are handled. Specifically, it **assigns the results of these calls to unused variables** or **comments out the calls entirely** within tests like `MapInterfaceTest`, `AbstractMultimapAsMapImplementsMapTest`, `SynchronizedMapTest`, and `TableCollectionTest`. This is a **preparatory maintenance change** within the **test infrastructure**, anticipating the removal of certain JDK APIs from the CIRV list. The modification ensures test stability and compatibility with future tooling changes, with **no impact on Guava's public API or runtime behavior**.
This commit performs a **maintenance refactoring** by collapsing numerous string literal concatenations across various **Guava test suites**. Specifically, it simplifies string expressions used in **test assertion messages, failure messages, exception messages, test data, and test suite names** within modules like `guava-testlib` and `guava-tests`. This **cleanup** improves the readability and conciseness of the test code for components such as `collect`, `base`, `io`, `net`, and `util.concurrent`. The changes are purely cosmetic and do not alter any functional behavior or public APIs of the Guava library, focusing solely on **internal test code improvements**.
This commit performs a **refactoring** of the **Guava `IntMath` and `LongMath` utility classes** to streamline their checked arithmetic operations. Specifically, the `checkedAdd`, `checkedSubtract`, and `checkedMultiply` methods in both `IntMath.java` and `LongMath.java` are updated to internally delegate to the standard Java library's `Math.addExact`, `Math.subtractExact`, and `Math.multiplyExact` methods. This change leverages built-in exact arithmetic, improving consistency and potentially performance, and includes `@InlineMe` annotations and deprecation notes to facilitate future migrations for users to directly utilize the `Math.fooExact` methods. The update applies to both Android and non-Android versions of Guava, ensuring a unified and more efficient implementation across the library.
This commit **updates the Javadoc** for the `checkPositionIndex` method within the **`Preconditions` utility class**. Specifically, it adds a note to guide **Java 9 and later users** about the availability and similar functionality of `Objects.checkIndex(index, size)`. This **documentation improvement** helps developers choose between Guava's utility and the standard library's equivalent for index validation. The change is applied to `Preconditions.java` in both the standard Guava and Android Guava distributions, enhancing API clarity and usage guidance for a broad audience.
This commit performs a significant **refactoring** across the **Guava library**, its **Android variant**, and **guava-testlib** by migrating internal usages from Guava's `com.google.common.base.Objects.equal` and related APIs to their standard JDK counterparts, `java.util.Objects.equals` and `java.util.Objects.hashCode`. This **modernization** effort updates various utility classes and data structures, including `Equivalence`, `HashBiMap`, `ObjectCountHashMap`, `RegularImmutableMultiset`, and `Graphs`, to leverage native Java APIs for object comparison and hash code computation. Additionally, Javadoc comments in `Function` are updated for consistency. The change is purely an internal **maintenance** task, ensuring identical semantic behavior while reducing reliance on Guava's internal `Objects` utility and aligning with modern Java best practices. There is no functional impact or API change for downstream users.
This commit performs **code cleanup** by **removing a stale TODO comment** that referenced GWT. The presence of this `TODO` indicated a past consideration or task related to **Google Web Toolkit integration** or compatibility that is now obsolete. This **maintenance** effort tidies the codebase by eliminating outdated directives, signifying that the GWT-related concern is no longer active. There is no functional impact on the application's behavior or features, only an improvement in code clarity.
This commit performs a significant **refactoring** across the **Guava core library and its test suites** by migrating from Guava's internal `com.google.common.base.Objects` utility methods to their standard JDK counterparts. Specifically, calls to `Objects.equal` are replaced with `java.util.Objects.equals` and `Objects.hashCode` with `java.util.Objects.hash` throughout various modules, including `base`, `cache`, `collect`, and `graph`. This change modernizes the codebase, reduces internal dependency on Guava's own `Objects` class where JDK equivalents are available, and improves **maintainability**. The functional behavior of the library remains unchanged, ensuring no downstream impact on consumers of Guava.