Skip to content

Conversation

@msridhar
Copy link
Collaborator

@msridhar msridhar commented Nov 27, 2025

Summary by CodeRabbit

  • New Features

    • Introduces RequireExplicitNullMarking error checker (disabled by default) to enhance code quality
    • Adds support for PureExceptLambda annotation to preserve enclosing method nullability
  • Chores

    • Various maintenance enhancements including cache bounds and inference improvements

✏️ Tip: You can customize this high-level summary in your review settings.

@msridhar msridhar enabled auto-merge (squash) November 27, 2025 01:40
@msridhar msridhar requested a review from yuxincs November 27, 2025 01:40
@codecov
Copy link

codecov bot commented Nov 27, 2025

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 88.39%. Comparing base (7cd8b1b) to head (00b808a).
⚠️ Report is 1 commits behind head on master.

Additional details and impacted files
@@            Coverage Diff            @@
##             master    #1355   +/-   ##
=========================================
  Coverage     88.39%   88.39%           
  Complexity     2594     2594           
=========================================
  Files            98       98           
  Lines          8705     8705           
  Branches       1732     1732           
=========================================
  Hits           7695     7695           
  Misses          505      505           
  Partials        505      505           

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@coderabbitai
Copy link
Contributor

coderabbitai bot commented Nov 27, 2025

Walkthrough

The pull request updates the CHANGELOG.md file with a new release entry for Version 0.12.13. The changelog documents the introduction of a new Error Prone checker called RequireExplicitNullMarking (disabled by default), support for the PureExceptLambda annotation to preserve enclosing method nullability in lambdas, and various maintenance items including cache bounds optimization, inference improvements, and additional maintenance tasks.

Suggested reviewers

  • yuxincs

Pre-merge checks and finishing touches

✅ Passed checks (3 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title 'Release notes for 0.12.13' directly and clearly describes the main change: adding release notes for version 0.12.13 to CHANGELOG.md, which matches the changeset content.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
✨ Finishing touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch 0.12.13-changelog

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@msridhar msridhar merged commit fed9143 into master Nov 27, 2025
10 of 11 checks passed
@msridhar msridhar deleted the 0.12.13-changelog branch November 27, 2025 01:42
Copy link
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 1

📜 Review details

Configuration used: Path: .coderabbit.yaml

Review profile: ASSERTIVE

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 7cd8b1b and 00b808a.

📒 Files selected for processing (1)
  • CHANGELOG.md (1 hunks)
🧰 Additional context used
🧠 Learnings (3)
📚 Learning: 2025-08-14T18:50:06.159Z
Learnt from: msridhar
Repo: uber/NullAway PR: 1245
File: guava-recent-unit-tests/src/test/java/com/uber/nullaway/guava/NullAwayGuavaParametricNullnessTests.java:101-102
Timestamp: 2025-08-14T18:50:06.159Z
Learning: In NullAway JSpecify tests, when JDK version requirements exist due to bytecode annotation reading capabilities, prefer failing tests over skipping them on unsupported versions to ensure CI catches regressions and enforces proper JDK version usage for developers.

Applied to files:

  • CHANGELOG.md
📚 Learning: 2025-08-29T18:41:43.584Z
Learnt from: msridhar
Repo: uber/NullAway PR: 1259
File: jdk-recent-unit-tests/src/test/java/com/uber/nullaway/jdk17/SwitchTests.java:318-321
Timestamp: 2025-08-29T18:41:43.584Z
Learning: Classes annotated with NullMarked are analyzed by NullAway even if they are not in packages specified by the AnnotatedPackages configuration. The NullMarked annotation guarantees NullAway analysis.

Applied to files:

  • CHANGELOG.md
📚 Learning: 2025-08-28T04:54:20.953Z
Learnt from: msridhar
Repo: uber/NullAway PR: 1248
File: nullaway/src/main/java/com/uber/nullaway/generics/GenericsChecks.java:847-857
Timestamp: 2025-08-28T04:54:20.953Z
Learning: In NullAway's GenericsChecks.java, NewClassTree support for explicit type argument substitution requires more extensive changes beyond just modifying the conditional in compareGenericTypeParameterNullabilityForCall. The maintainers prefer to handle NewClassTree support in a separate follow-up rather than expanding the scope of PRs focused on specific issues like super constructor calls.

Applied to files:

  • CHANGELOG.md
🪛 markdownlint-cli2 (0.18.1)
CHANGELOG.md

25-25: Unordered list indentation
Expected: 2; Actual: 4

(MD007, ul-indent)


26-26: Unordered list indentation
Expected: 2; Actual: 4

(MD007, ul-indent)


27-27: Unordered list indentation
Expected: 2; Actual: 4

(MD007, ul-indent)


28-28: Unordered list indentation
Expected: 2; Actual: 4

(MD007, ul-indent)


29-29: Unordered list indentation
Expected: 2; Actual: 4

(MD007, ul-indent)


30-30: Unordered list indentation
Expected: 2; Actual: 4

(MD007, ul-indent)


31-31: Unordered list indentation
Expected: 2; Actual: 4

(MD007, ul-indent)


32-32: Unordered list indentation
Expected: 2; Actual: 4

(MD007, ul-indent)


33-33: Unordered list indentation
Expected: 2; Actual: 4

(MD007, ul-indent)


34-34: Unordered list indentation
Expected: 2; Actual: 4

(MD007, ul-indent)


35-35: Unordered list indentation
Expected: 2; Actual: 4

(MD007, ul-indent)

⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (3)
  • GitHub Check: Build caffeine with snapshot
  • GitHub Check: Build and test on macos-latest
  • GitHub Check: Build and test on windows-latest
🔇 Additional comments (1)
CHANGELOG.md (1)

4-23: Release notes content looks good.

The Version 0.12.13 entry clearly documents the new RequireExplicitNullMarking checker, @PureExceptLambda annotation support, and the associated maintenance items. Documentation links are properly formatted, and contributor credits are included. Once the indentation is fixed, this section is ready.

Comment on lines +24 to +35
* Maintenance
- Add package-info files with @NullMarked (#1331)
- Speed up buildWithNullAway task (#1330)
- Enable the VoidMissingNullable checker and autofix all extant warnings (#1332)
- Bump JDK version to 25 for integration tests (#1336)
- Switch Coderabbit to assertive mode (#1338)
- Enable EqualsMissingNullable check and fix all extant warnings (#1339)
- Bump to AutoValue 1.11.1 (#1340)
- Update Caffeine benchmark (#1342)
- Add a test for a useless @Contract (#1346)
- Test case for wildcards in Generic Method with Lambda Arguments by @dhruv-agr (#1349)
- Add initial AGENTS.md file (#1352)
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟡 Minor

Fix list indentation to match document style.

The Maintenance section uses 4-space indentation for nested list items, but the rest of the CHANGELOG consistently uses 2-space indentation. For example, the Maintenance sections in Version 0.12.12 (lines 43–45) and Version 0.9.10 (lines 663–664) use 2-space indentation.

Apply this diff to correct the indentation:

 * Maintenance
-    - Add package-info files with @NullMarked (#1331)
-    - Speed up buildWithNullAway task (#1330)
-    - Enable the VoidMissingNullable checker and autofix all extant warnings (#1332)
-    - Bump JDK version to 25 for integration tests (#1336)
-    - Switch Coderabbit to assertive mode (#1338)
-    - Enable EqualsMissingNullable check and fix all extant warnings (#1339)
-    - Bump to AutoValue 1.11.1 (#1340)
-    - Update Caffeine benchmark (#1342)
-    - Add a test for a useless @Contract (#1346)
-    - Test case for wildcards in Generic Method with Lambda Arguments by @dhruv-agr (#1349)
-    - Add initial AGENTS.md file (#1352)
+  - Add package-info files with @NullMarked (#1331)
+  - Speed up buildWithNullAway task (#1330)
+  - Enable the VoidMissingNullable checker and autofix all extant warnings (#1332)
+  - Bump JDK version to 25 for integration tests (#1336)
+  - Switch Coderabbit to assertive mode (#1338)
+  - Enable EqualsMissingNullable check and fix all extant warnings (#1339)
+  - Bump to AutoValue 1.11.1 (#1340)
+  - Update Caffeine benchmark (#1342)
+  - Add a test for a useless @Contract (#1346)
+  - Test case for wildcards in Generic Method with Lambda Arguments by @dhruv-agr (#1349)
+  - Add initial AGENTS.md file (#1352)
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
* Maintenance
- Add package-info files with @NullMarked (#1331)
- Speed up buildWithNullAway task (#1330)
- Enable the VoidMissingNullable checker and autofix all extant warnings (#1332)
- Bump JDK version to 25 for integration tests (#1336)
- Switch Coderabbit to assertive mode (#1338)
- Enable EqualsMissingNullable check and fix all extant warnings (#1339)
- Bump to AutoValue 1.11.1 (#1340)
- Update Caffeine benchmark (#1342)
- Add a test for a useless @Contract (#1346)
- Test case for wildcards in Generic Method with Lambda Arguments by @dhruv-agr (#1349)
- Add initial AGENTS.md file (#1352)
* Maintenance
- Add package-info files with @NullMarked (#1331)
- Speed up buildWithNullAway task (#1330)
- Enable the VoidMissingNullable checker and autofix all extant warnings (#1332)
- Bump JDK version to 25 for integration tests (#1336)
- Switch Coderabbit to assertive mode (#1338)
- Enable EqualsMissingNullable check and fix all extant warnings (#1339)
- Bump to AutoValue 1.11.1 (#1340)
- Update Caffeine benchmark (#1342)
- Add a test for a useless @Contract (#1346)
- Test case for wildcards in Generic Method with Lambda Arguments by @dhruv-agr (#1349)
- Add initial AGENTS.md file (#1352)
🧰 Tools
🪛 markdownlint-cli2 (0.18.1)

25-25: Unordered list indentation
Expected: 2; Actual: 4

(MD007, ul-indent)


26-26: Unordered list indentation
Expected: 2; Actual: 4

(MD007, ul-indent)


27-27: Unordered list indentation
Expected: 2; Actual: 4

(MD007, ul-indent)


28-28: Unordered list indentation
Expected: 2; Actual: 4

(MD007, ul-indent)


29-29: Unordered list indentation
Expected: 2; Actual: 4

(MD007, ul-indent)


30-30: Unordered list indentation
Expected: 2; Actual: 4

(MD007, ul-indent)


31-31: Unordered list indentation
Expected: 2; Actual: 4

(MD007, ul-indent)


32-32: Unordered list indentation
Expected: 2; Actual: 4

(MD007, ul-indent)


33-33: Unordered list indentation
Expected: 2; Actual: 4

(MD007, ul-indent)


34-34: Unordered list indentation
Expected: 2; Actual: 4

(MD007, ul-indent)


35-35: Unordered list indentation
Expected: 2; Actual: 4

(MD007, ul-indent)

🤖 Prompt for AI Agents
In CHANGELOG.md around lines 24 to 35, the nested list under "Maintenance" uses
4-space indentation but the document standard is 2-space indentation; change
each nested list item under that "Maintenance" bullet from 4 spaces to 2 spaces
so they align with the rest of the file (e.g., replace the leading four spaces
before each "-" with two spaces), and verify nearby sections follow the same
2-space indentation style.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants