)]}'
{
  "log": [
    {
      "commit": "a8c85fae8f0b080f830a235f19b18b9589084138",
      "tree": "55c0b923ad4f1ab05dbd3314b45bb0743a9b0915",
      "parents": [
        "7f34489a7db516e417fb9a32721a0a956077df68"
      ],
      "author": {
        "name": "Kurt Alfred Kluever",
        "email": "kak@google.com",
        "time": "Fri Apr 17 14:30:05 2026"
      },
      "committer": {
        "name": "Error Prone Team",
        "email": "error-prone-team+copybara@google.com",
        "time": "Fri Apr 17 14:31:05 2026"
      },
      "message": "Don\u0027t flag `Optional` parameters inside `@AutoValue.Builder`.\n\nPiperOrigin-RevId: 901286959\n"
    },
    {
      "commit": "7f34489a7db516e417fb9a32721a0a956077df68",
      "tree": "8a50fec246ef212aa948bde3ebb05c8aea0154c6",
      "parents": [
        "39bc7f87dff266c21c0f23d158e63cd9ca0e21f0"
      ],
      "author": {
        "name": "Kurt Alfred Kluever",
        "email": "kak@google.com",
        "time": "Fri Apr 17 14:13:42 2026"
      },
      "committer": {
        "name": "Error Prone Team",
        "email": "error-prone-team+copybara@google.com",
        "time": "Fri Apr 17 14:14:41 2026"
      },
      "message": "Add a test demonstrating that we current flag `java.util.Optional` parameters inside `@AutoValue.Builder`\u0027s.\n\nPiperOrigin-RevId: 901281015\n"
    },
    {
      "commit": "39bc7f87dff266c21c0f23d158e63cd9ca0e21f0",
      "tree": "d3bf0c66f96d8b5a02f90215ac85a85d7c17008b",
      "parents": [
        "26982d5d5f285a24a36db593d56c029702118f26"
      ],
      "author": {
        "name": "Liam Miller-Cushon",
        "email": "cushon@google.com",
        "time": "Thu Apr 16 20:03:43 2026"
      },
      "committer": {
        "name": "Error Prone Team",
        "email": "error-prone-team+copybara@google.com",
        "time": "Thu Apr 16 20:04:34 2026"
      },
      "message": "Improve diagnostic message and documentation for UnnecessarilyFullyQualified\n\nPiperOrigin-RevId: 900871236\n"
    },
    {
      "commit": "26982d5d5f285a24a36db593d56c029702118f26",
      "tree": "91f9e70abb23b0be0c05891c8997b7d0f45f2e3e",
      "parents": [
        "c78d87f3ca0a879b24788c53ac782b9d7dce75fe"
      ],
      "author": {
        "name": "Kurt Alfred Kluever",
        "email": "kak@google.com",
        "time": "Thu Apr 16 16:17:11 2026"
      },
      "committer": {
        "name": "Error Prone Team",
        "email": "error-prone-team+copybara@google.com",
        "time": "Thu Apr 16 16:17:59 2026"
      },
      "message": "Discourage directly invoking JUnit test methods.\n\nAlso remove an unnecessary `;` from `JUnit4TestNotRun` while I\u0027m here.\n\nPiperOrigin-RevId: 900762011\n"
    },
    {
      "commit": "c78d87f3ca0a879b24788c53ac782b9d7dce75fe",
      "tree": "a3137c13e5759d3907bf3f11660a6a7779c82781",
      "parents": [
        "cc35ba1720d8c248ee573fd5d8c55b7e9926e6e0"
      ],
      "author": {
        "name": "cpovirk",
        "email": "cpovirk@google.com",
        "time": "Thu Apr 16 15:35:37 2026"
      },
      "committer": {
        "name": "Error Prone Team",
        "email": "error-prone-team+copybara@google.com",
        "time": "Thu Apr 16 15:36:44 2026"
      },
      "message": "Document an alternative to overriding `Throwable.equals`.\n\nPiperOrigin-RevId: 900744432\n"
    },
    {
      "commit": "cc35ba1720d8c248ee573fd5d8c55b7e9926e6e0",
      "tree": "3517c36c1120375bc5039125c94a7ea3c85a634f",
      "parents": [
        "ba4ccd175323e9bb40f31f111c42f5401300868e"
      ],
      "author": {
        "name": "Kurt Alfred Kluever",
        "email": "kak@google.com",
        "time": "Wed Apr 15 19:25:01 2026"
      },
      "committer": {
        "name": "Error Prone Team",
        "email": "error-prone-team+copybara@google.com",
        "time": "Wed Apr 15 19:25:39 2026"
      },
      "message": "Discourage overriding `Throwable.equals()` and `hashCode()`.\n\nPiperOrigin-RevId: 900291065\n"
    },
    {
      "commit": "ba4ccd175323e9bb40f31f111c42f5401300868e",
      "tree": "302d3fc8e40d91f81f8c2270827a52da871695c0",
      "parents": [
        "623770a866f9b5f95ac4afb109da7e9c62863e60"
      ],
      "author": {
        "name": "markbrady",
        "email": "markbrady@google.com",
        "time": "Wed Apr 15 14:59:10 2026"
      },
      "committer": {
        "name": "Error Prone Team",
        "email": "error-prone-team+copybara@google.com",
        "time": "Wed Apr 15 15:00:16 2026"
      },
      "message": "[IfChainToSwitch] [StatementSwitchToExpressionSwitch] make internal records `private`\n\nPiperOrigin-RevId: 900169215\n"
    },
    {
      "commit": "623770a866f9b5f95ac4afb109da7e9c62863e60",
      "tree": "60639d07755ec375f7c8d912d68a42cc9d922c2a",
      "parents": [
        "e6d13c5fdd3dfa30ae6444eae2d8714ae7a2a083"
      ],
      "author": {
        "name": "Liam Miller-Cushon",
        "email": "cushon@google.com",
        "time": "Wed Apr 15 14:39:59 2026"
      },
      "committer": {
        "name": "Error Prone Team",
        "email": "error-prone-team+copybara@google.com",
        "time": "Wed Apr 15 14:41:06 2026"
      },
      "message": "Detect dangling doc comments in NotJavadoc\n\nPiperOrigin-RevId: 900161791\n"
    },
    {
      "commit": "e6d13c5fdd3dfa30ae6444eae2d8714ae7a2a083",
      "tree": "e229390b972803f236ae13a8b6546a8e60b1138c",
      "parents": [
        "b282fa2407a9d4b4923aef6aa77584b9e96a5173"
      ],
      "author": {
        "name": "markbrady",
        "email": "markbrady@google.com",
        "time": "Tue Apr 14 20:20:41 2026"
      },
      "committer": {
        "name": "Error Prone Team",
        "email": "error-prone-team+copybara@google.com",
        "time": "Tue Apr 14 20:21:28 2026"
      },
      "message": "[RefactorSwitch] flip flag to enable arrow-style switches to be converted to `return switch`es\n\nPiperOrigin-RevId: 899743356\n"
    },
    {
      "commit": "b282fa2407a9d4b4923aef6aa77584b9e96a5173",
      "tree": "7e4a34617b50bcaa55789e12d51adf398491b7de",
      "parents": [
        "00d4c36f42df44ef308341a91447d13bc433574d"
      ],
      "author": {
        "name": "Liam Miller-Cushon",
        "email": "cushon@google.com",
        "time": "Tue Apr 14 19:10:24 2026"
      },
      "committer": {
        "name": "Error Prone Team",
        "email": "error-prone-team+copybara@google.com",
        "time": "Tue Apr 14 19:11:28 2026"
      },
      "message": "Improve error message for ExposedPrivateType\n\nThe diagnostic message now includes the name of the non-private member that is exposing a private type\n\nPiperOrigin-RevId: 899711391\n"
    },
    {
      "commit": "00d4c36f42df44ef308341a91447d13bc433574d",
      "tree": "dc606ea34a55dc48cc8625bece2f3372dafa1547",
      "parents": [
        "831da3605b2ee27468019a6acb482063be2d6a8f"
      ],
      "author": {
        "name": "cpovirk",
        "email": "cpovirk@google.com",
        "time": "Mon Apr 13 21:14:17 2026"
      },
      "committer": {
        "name": "Error Prone Team",
        "email": "error-prone-team+copybara@google.com",
        "time": "Mon Apr 13 21:16:15 2026"
      },
      "message": "Recognize nested `{@code ...}` tags as valid.\n\nPiperOrigin-RevId: 899178676\n"
    },
    {
      "commit": "831da3605b2ee27468019a6acb482063be2d6a8f",
      "tree": "f430c9047a74726472f44bcdb8eb199a8c0a1c3b",
      "parents": [
        "7c4b0406b851d5423762b0deb82e8ab7395e79ee"
      ],
      "author": {
        "name": "Mirko Alicastro",
        "email": "mirkoalicastro@gmail.com",
        "time": "Mon Apr 13 18:44:45 2026"
      },
      "committer": {
        "name": "Error Prone Team",
        "email": "error-prone-team+copybara@google.com",
        "time": "Mon Apr 13 18:45:36 2026"
      },
      "message": "Fixes #5553 : Skip UnnecessaryOptionalGet when lambda parameter is unnamed\n\n`UnnecessaryOptionalGet` suggested replacing `.get()` with the lambda parameter name, but the parameter `_` (unnamed variable, Java 22+) produces uncompilable code since `_` cannot be referenced.\n\nChanges:\n- Added an early return when the lambda parameter source is `_`\n- Added a test guarded by `assume().that(Runtime.version().feature()).isAtLeast(22)`\n\nFixes #5553\n\nFixes #5649\n\nCOPYBARA_INTEGRATE_REVIEW\u003dhttps://github.com/google/error-prone/pull/5649 from mirkoalicastro:mirkoalicastro/fix-unnecessary-optional-get-unnamed-variable bdcd04238044bf720d5b2fe4c6b50d3d7926d576\nPiperOrigin-RevId: 899107954\n"
    },
    {
      "commit": "7c4b0406b851d5423762b0deb82e8ab7395e79ee",
      "tree": "be00631689611a289544b4004f0b6ab640b6277c",
      "parents": [
        "47bb52306ffbea2da88708a246e456d3d62a0a0a"
      ],
      "author": {
        "name": "Kurt Alfred Kluever",
        "email": "kak@google.com",
        "time": "Fri Apr 10 14:05:02 2026"
      },
      "committer": {
        "name": "Error Prone Team",
        "email": "error-prone-team+copybara@google.com",
        "time": "Fri Apr 10 14:06:11 2026"
      },
      "message": "Retain explicit types on LambdaExpressionTrees that are not assignments.\n\nFor example:\n* `Function\u003cString, Integer\u003e f \u003d unused -\u003e 1;` -\u003e `Function\u003cString, Integer\u003e f \u003d _ -\u003e 1;`\n* `list.forEach((String unused1) -\u003e System.out.println());` -\u003e `list.forEach((String _) -\u003e System.out.println());`\n\n#java25\n\nPiperOrigin-RevId: 897672843\n"
    },
    {
      "commit": "47bb52306ffbea2da88708a246e456d3d62a0a0a",
      "tree": "1c05aec3da6ff374aa0bc1c6fc46833e47211cd4",
      "parents": [
        "570ac280a2042408e42c74a03aafaac1d7d2a40e"
      ],
      "author": {
        "name": "Liam Miller-Cushon",
        "email": "cushon@google.com",
        "time": "Fri Apr 10 13:15:27 2026"
      },
      "committer": {
        "name": "Error Prone Team",
        "email": "error-prone-team+copybara@google.com",
        "time": "Fri Apr 10 13:16:38 2026"
      },
      "message": "Provide a better error message for empty test inputs\n\nPiperOrigin-RevId: 897655598\n"
    },
    {
      "commit": "570ac280a2042408e42c74a03aafaac1d7d2a40e",
      "tree": "9540cbcd77f108b3efe03cf3bbd60ef06eb77375",
      "parents": [
        "af4e2026ea5bc67ec80170e63cf1a0e78cd2e32f"
      ],
      "author": {
        "name": "Liam Miller-Cushon",
        "email": "cushon@google.com",
        "time": "Fri Apr 10 12:55:31 2026"
      },
      "committer": {
        "name": "Error Prone Team",
        "email": "error-prone-team+copybara@google.com",
        "time": "Fri Apr 10 12:56:35 2026"
      },
      "message": "Discourage references to private member classes from non-private APIs\n\nPiperOrigin-RevId: 897649059\n"
    },
    {
      "commit": "af4e2026ea5bc67ec80170e63cf1a0e78cd2e32f",
      "tree": "d38991d22206ad2b6e072a61f92a7ed4405f802b",
      "parents": [
        "30a5a30bd8539ff423a8611a31322d0f1787e004"
      ],
      "author": {
        "name": "Kurt Alfred Kluever",
        "email": "kak@google.com",
        "time": "Fri Apr 10 00:44:42 2026"
      },
      "committer": {
        "name": "Error Prone Team",
        "email": "error-prone-team+copybara@google.com",
        "time": "Fri Apr 10 00:45:53 2026"
      },
      "message": "Add a unit test for `LambdaExpressionTree`s to `UnnecessaryParenthesesTest`.\n\nPiperOrigin-RevId: 897391220\n"
    },
    {
      "commit": "30a5a30bd8539ff423a8611a31322d0f1787e004",
      "tree": "769ce91121e2608c88535f6d5eae0b018cf903f1",
      "parents": [
        "a875dd0194c5f8e2aba25424f7c4dd8aba4c1a2d"
      ],
      "author": {
        "name": "Kurt Alfred Kluever",
        "email": "kak@google.com",
        "time": "Thu Apr 09 23:06:50 2026"
      },
      "committer": {
        "name": "Error Prone Team",
        "email": "error-prone-team+copybara@google.com",
        "time": "Thu Apr 09 23:07:45 2026"
      },
      "message": "When renaming a variable to `_`, also use `var`.\n\n#java25\n\nPiperOrigin-RevId: 897350931\n"
    },
    {
      "commit": "a875dd0194c5f8e2aba25424f7c4dd8aba4c1a2d",
      "tree": "5a26e3294a22dd28d41223f0b98308fa36850241",
      "parents": [
        "d9c143c288e6ee5f0bee20bc646baafa062af225"
      ],
      "author": {
        "name": "cpovirk",
        "email": "cpovirk@google.com",
        "time": "Thu Apr 09 19:23:23 2026"
      },
      "committer": {
        "name": "Error Prone Team",
        "email": "error-prone-team+copybara@google.com",
        "time": "Thu Apr 09 19:24:14 2026"
      },
      "message": "Improve NullArgumentForNonNullParameter to include parameter and method names in the diagnostic message.\n\nIdeally, I\u0027d also see whether we can do anything about the _location_ of the report. But this CL should be a big improvement on its own.\n\nPiperOrigin-RevId: 897243077\n"
    },
    {
      "commit": "d9c143c288e6ee5f0bee20bc646baafa062af225",
      "tree": "ff5154c09242b8f3d4c39d4e5fa34f2daf36e2ec",
      "parents": [
        "2c12eb282f8bb2ad9b695e8bc4f6ed99ac9cf3be"
      ],
      "author": {
        "name": "Kurt Alfred Kluever",
        "email": "kak@google.com",
        "time": "Wed Apr 08 17:46:36 2026"
      },
      "committer": {
        "name": "Error Prone Team",
        "email": "error-prone-team+copybara@google.com",
        "time": "Wed Apr 08 17:47:23 2026"
      },
      "message": "Update `UnnamedVariableTest` to show it retains the `Type` and doesn\u0027t switch to `var` (this is being done as  a pre-factoring --- an uncoming change will make it re-write these to `var`).\n\n#java25\n\nPiperOrigin-RevId: 896584767\n"
    },
    {
      "commit": "2c12eb282f8bb2ad9b695e8bc4f6ed99ac9cf3be",
      "tree": "35a567baf10e4e40872691788ac5111d04eb61e3",
      "parents": [
        "9a40f460e6dd12ce4d96a4945b2363ebd7b3e95f"
      ],
      "author": {
        "name": "markbrady",
        "email": "markbrady@google.com",
        "time": "Wed Apr 08 15:15:16 2026"
      },
      "committer": {
        "name": "Error Prone Team",
        "email": "error-prone-team+copybara@google.com",
        "time": "Wed Apr 08 15:17:54 2026"
      },
      "message": "[RefactorSwitch] fix bug which can result in invalid code generation when a variable is read on the left side of an assignment\n\nPiperOrigin-RevId: 896510776\n"
    },
    {
      "commit": "9a40f460e6dd12ce4d96a4945b2363ebd7b3e95f",
      "tree": "f47523b4792e8e965b7c22ed80dca80ad03e3166",
      "parents": [
        "018b56163d2e1e2b9ada32b6504c2ae2c8f049c8"
      ],
      "author": {
        "name": "Kurt Alfred Kluever",
        "email": "kak@google.com",
        "time": "Wed Apr 08 13:27:08 2026"
      },
      "committer": {
        "name": "Error Prone Team",
        "email": "error-prone-team+copybara@google.com",
        "time": "Wed Apr 08 13:28:35 2026"
      },
      "message": "Fix a small typo from https://github.com/google/error-prone/commit/018b56163d2e1e2b9ada32b6504c2ae2c8f049c8\n\nPiperOrigin-RevId: 896462777\n"
    },
    {
      "commit": "018b56163d2e1e2b9ada32b6504c2ae2c8f049c8",
      "tree": "bfb03fa37b452b7cfc795ef149783bb3af2d47db",
      "parents": [
        "0b7b03b05d038f596e687e35fccd2cdc0356a7e2"
      ],
      "author": {
        "name": "cpovirk",
        "email": "cpovirk@google.com",
        "time": "Tue Apr 07 22:56:26 2026"
      },
      "committer": {
        "name": "Error Prone Team",
        "email": "error-prone-team+copybara@google.com",
        "time": "Tue Apr 07 22:57:07 2026"
      },
      "message": "Extend NullArgumentForNonNullParameter to cover test code, adding special cases to allow intentional NPE tests.\n\nPiperOrigin-RevId: 896128515\n"
    },
    {
      "commit": "0b7b03b05d038f596e687e35fccd2cdc0356a7e2",
      "tree": "aae265c4853540fedd607236420bec2bc1383786",
      "parents": [
        "fe5a7b1f4583db97387c46ed32ccd664d3f455f6"
      ],
      "author": {
        "name": "Kurt Alfred Kluever",
        "email": "kak@google.com",
        "time": "Tue Apr 07 00:40:28 2026"
      },
      "committer": {
        "name": "Error Prone Team",
        "email": "error-prone-team+copybara@google.com",
        "time": "Tue Apr 07 00:41:19 2026"
      },
      "message": "Fix up some javadoc on `ModifySourceCollectionInStream.isStreamApiInvocationOnStreamSource` (see also unknown commit)\n\nPiperOrigin-RevId: 895582687\n"
    },
    {
      "commit": "fe5a7b1f4583db97387c46ed32ccd664d3f455f6",
      "tree": "2d8b4240011c56d01befc134d00c933045386216",
      "parents": [
        "d54a1d1cd9b57dd49de585e21d0e315f3fb88c82"
      ],
      "author": {
        "name": "Liam Miller-Cushon",
        "email": "cushon@google.com",
        "time": "Mon Apr 06 20:15:04 2026"
      },
      "committer": {
        "name": "Error Prone Team",
        "email": "error-prone-team+copybara@google.com",
        "time": "Mon Apr 06 20:16:04 2026"
      },
      "message": "Remove old FieldMatchers API\n\nStartblock:\n  cl-status javac.javabuilder contains https://github.com/google/error-prone/commit/1dd9c3a6bd76fca8104be6ae1c1004655d6a1745 in prod\n\nTested:\n    TAP for global presubmit queue\n    []\nPiperOrigin-RevId: 895467233\n"
    },
    {
      "commit": "d54a1d1cd9b57dd49de585e21d0e315f3fb88c82",
      "tree": "f9ba162f7c1f8a85aaa3cb12351706c78a9f1137",
      "parents": [
        "d93b31908fd361eb5e817a7dd18a1296f12f6414"
      ],
      "author": {
        "name": "Kurt Alfred Kluever",
        "email": "kak@google.com",
        "time": "Mon Apr 06 14:58:42 2026"
      },
      "committer": {
        "name": "Error Prone Team",
        "email": "error-prone-team+copybara@google.com",
        "time": "Mon Apr 06 14:59:26 2026"
      },
      "message": "Fix up some `Finally` javadocs.\n\nPiperOrigin-RevId: 895329872\n"
    },
    {
      "commit": "d93b31908fd361eb5e817a7dd18a1296f12f6414",
      "tree": "74e616dce30f7192555007028bd7a35cfeccb780",
      "parents": [
        "ff59782c69b9394e14b11d0b17574fe5b3dafa9c"
      ],
      "author": {
        "name": "markbrady",
        "email": "markbrady@google.com",
        "time": "Thu Apr 02 18:54:58 2026"
      },
      "committer": {
        "name": "Error Prone Team",
        "email": "error-prone-team+copybara@google.com",
        "time": "Thu Apr 02 18:55:44 2026"
      },
      "message": "[RefactorSwitch] bugfix comment handling\n\nPiperOrigin-RevId: 893624649\n"
    },
    {
      "commit": "ff59782c69b9394e14b11d0b17574fe5b3dafa9c",
      "tree": "330b2574ea5208d18106ea175fa93586790ae327",
      "parents": [
        "43b6df64ed635e1fcabaabd9c884df5753aac26b"
      ],
      "author": {
        "name": "markbrady",
        "email": "markbrady@google.com",
        "time": "Thu Apr 02 15:19:28 2026"
      },
      "committer": {
        "name": "Error Prone Team",
        "email": "error-prone-team+copybara@google.com",
        "time": "Thu Apr 02 15:20:20 2026"
      },
      "message": "[IfChainToSwitch] cleanup redundant conditions in ternary.  No functional changes.\n\nPiperOrigin-RevId: 893520756\n"
    },
    {
      "commit": "43b6df64ed635e1fcabaabd9c884df5753aac26b",
      "tree": "13461488645d25f08620559da979cdce69bea210",
      "parents": [
        "2c4346f59fdcdda7bf17839b55d2d5e416c7d1d1"
      ],
      "author": {
        "name": "ghm",
        "email": "ghm@google.com",
        "time": "Thu Apr 02 14:06:51 2026"
      },
      "committer": {
        "name": "Error Prone Team",
        "email": "error-prone-team+copybara@google.com",
        "time": "Thu Apr 02 14:08:05 2026"
      },
      "message": "Generalise DuplicateAssertion to handle check* methods.\n\nPiperOrigin-RevId: 893490559\n"
    },
    {
      "commit": "2c4346f59fdcdda7bf17839b55d2d5e416c7d1d1",
      "tree": "61775f1c95d7dc3044f1b2dac46fa0a72e171da1",
      "parents": [
        "559039bcc26400cd725236bdffe7fc94c4519311"
      ],
      "author": {
        "name": "Kurt Alfred Kluever",
        "email": "kak@google.com",
        "time": "Thu Apr 02 13:34:04 2026"
      },
      "committer": {
        "name": "Error Prone Team",
        "email": "error-prone-team+copybara@google.com",
        "time": "Thu Apr 02 13:35:18 2026"
      },
      "message": "Fix a bug in `BooleanLiteral`: it currently suggests replacing `Boolean.FALSE` with `false` even when it\u0027s explicitly cast to a type variable `V`. This results in uncompilable code because Java doesn\u0027t allow casting a primitive boolean to a type variable (`(V) false` is invalid).\n\nThis bug accidentally broke some code in unknown commit (which lacked TAP coverage, but...)\n\nPiperOrigin-RevId: 893477765\n"
    },
    {
      "commit": "559039bcc26400cd725236bdffe7fc94c4519311",
      "tree": "769d315659c4e369247a95da02a0301ebebe2f6f",
      "parents": [
        "393c61ce5b28fd5bcd1290ee831d3358d37cce16"
      ],
      "author": {
        "name": "markbrady",
        "email": "markbrady@google.com",
        "time": "Wed Apr 01 15:26:26 2026"
      },
      "committer": {
        "name": "Error Prone Team",
        "email": "error-prone-team+copybara@google.com",
        "time": "Wed Apr 01 15:27:26 2026"
      },
      "message": "[IfChainToSwitch] doc-only change.  fix typo in code comments.\n\nPiperOrigin-RevId: 892943144\n"
    },
    {
      "commit": "393c61ce5b28fd5bcd1290ee831d3358d37cce16",
      "tree": "0c627978ac99580c0ac21742991c19fe203c8d4d",
      "parents": [
        "337a6c840b9d33a371bc8c989ade6c0e2bd4f215"
      ],
      "author": {
        "name": "markbrady",
        "email": "markbrady@google.com",
        "time": "Wed Apr 01 15:13:28 2026"
      },
      "committer": {
        "name": "Error Prone Team",
        "email": "error-prone-team+copybara@google.com",
        "time": "Wed Apr 01 15:14:29 2026"
      },
      "message": "[IfChainToSwitch] enhance code generation to emit unnamed variables, when supported\n\nPiperOrigin-RevId: 892938092\n"
    },
    {
      "commit": "337a6c840b9d33a371bc8c989ade6c0e2bd4f215",
      "tree": "d8b1e7a7196a8bd2e627bdd6dcc66ac1e9a25440",
      "parents": [
        "736e704e7642a18f35746daf13b90b900c0d42f5"
      ],
      "author": {
        "name": "Kurt Alfred Kluever",
        "email": "kak@google.com",
        "time": "Wed Apr 01 13:39:22 2026"
      },
      "committer": {
        "name": "Error Prone Team",
        "email": "error-prone-team+copybara@google.com",
        "time": "Wed Apr 01 13:40:29 2026"
      },
      "message": "Ban using reference equality for `MemorySegment`s.\n\nSee https://github.com/openjdk/jdk/pull/30501\n\nPiperOrigin-RevId: 892899625\n"
    },
    {
      "commit": "736e704e7642a18f35746daf13b90b900c0d42f5",
      "tree": "5b163cfa1faf766afd1ddb8695de7123fb500a40",
      "parents": [
        "da4b5f8070e04d74ca288cddade04e7362025675"
      ],
      "author": {
        "name": "Liam Miller-Cushon",
        "email": "cushon@google.com",
        "time": "Wed Apr 01 12:22:15 2026"
      },
      "committer": {
        "name": "Error Prone Team",
        "email": "error-prone-team+copybara@google.com",
        "time": "Wed Apr 01 12:23:05 2026"
      },
      "message": "Fix a crash in NestedInstanceOfConditions on instanceof patterns\n\nhttps://github.com/google/error-prone/issues/5685\n\nPiperOrigin-RevId: 892871736\n"
    },
    {
      "commit": "da4b5f8070e04d74ca288cddade04e7362025675",
      "tree": "8de7c6f43736489c5007f5810a895545d93b711e",
      "parents": [
        "a2fb8421e5a72f79156ffdc0db15abdb5cfb9e83"
      ],
      "author": {
        "name": "Liam Miller-Cushon",
        "email": "cushon@google.com",
        "time": "Wed Apr 01 09:03:32 2026"
      },
      "committer": {
        "name": "Error Prone Team",
        "email": "error-prone-team+copybara@google.com",
        "time": "Wed Apr 01 09:04:27 2026"
      },
      "message": "Deprecate `doTest(TestMode)`\n\nPiperOrigin-RevId: 892798434\n"
    },
    {
      "commit": "a2fb8421e5a72f79156ffdc0db15abdb5cfb9e83",
      "tree": "43fc9b1cdaba624eb2020ac2e0da2b77fe9062fc",
      "parents": [
        "9601a3cc64763df6348cde7dd83933abef4ca756"
      ],
      "author": {
        "name": "Liam Miller-Cushon",
        "email": "cushon@google.com",
        "time": "Wed Apr 01 08:36:14 2026"
      },
      "committer": {
        "name": "Error Prone Team",
        "email": "error-prone-team+copybara@google.com",
        "time": "Wed Apr 01 08:36:55 2026"
      },
      "message": "Automatic code cleanup.\n\nPiperOrigin-RevId: 892786984\n"
    },
    {
      "commit": "9601a3cc64763df6348cde7dd83933abef4ca756",
      "tree": "f90fdd994f9f2411d08adec9848210bc9a0f4fc7",
      "parents": [
        "1e227c5b11bedcd9441147628d24f9e86bbb20cd"
      ],
      "author": {
        "name": "Kurt Alfred Kluever",
        "email": "kak@google.com",
        "time": "Wed Apr 01 08:03:17 2026"
      },
      "committer": {
        "name": "Error Prone Team",
        "email": "error-prone-team+copybara@google.com",
        "time": "Wed Apr 01 08:04:20 2026"
      },
      "message": "Delete fix that suggests using Guava\u0027s deprecated `Object.equal()` method.\n\nPiperOrigin-RevId: 892774368\n"
    },
    {
      "commit": "1e227c5b11bedcd9441147628d24f9e86bbb20cd",
      "tree": "64b68f09627d21403c3f91e9a1cc9c8e740d1c11",
      "parents": [
        "2d579a9cf6bec4639611747fad41067136a903c4"
      ],
      "author": {
        "name": "Kurt Alfred Kluever",
        "email": "kak@google.com",
        "time": "Wed Apr 01 07:37:46 2026"
      },
      "committer": {
        "name": "Error Prone Team",
        "email": "error-prone-team+copybara@google.com",
        "time": "Wed Apr 01 07:38:28 2026"
      },
      "message": "Add a[]\n\nPiperOrigin-RevId: 892765109\n"
    },
    {
      "commit": "2d579a9cf6bec4639611747fad41067136a903c4",
      "tree": "8bf8eb78b6a2b80b0338068ce526f931350ace77",
      "parents": [
        "351abc237abc3d6125c975d0185db3cc4697befc"
      ],
      "author": {
        "name": "Liam Miller-Cushon",
        "email": "cushon@google.com",
        "time": "Tue Mar 31 18:04:56 2026"
      },
      "committer": {
        "name": "Error Prone Team",
        "email": "error-prone-team+copybara@google.com",
        "time": "Tue Mar 31 18:06:14 2026"
      },
      "message": "Fix a crash in DeprecatedVariable on synthetic record trees\n\n`@Deprecated` annotations on record components are propagated to the getter methods, where they do have an effect.\n\nPiperOrigin-RevId: 892440290\n"
    },
    {
      "commit": "351abc237abc3d6125c975d0185db3cc4697befc",
      "tree": "e6dca63d7471d9101e739d8c0fa924cb9b54ded7",
      "parents": [
        "949be061dee17cda7ebe31d97a7836cb4c4cd4f0"
      ],
      "author": {
        "name": "Error Prone Team",
        "email": "java-team-github-bot@google.com",
        "time": "Tue Mar 31 16:03:28 2026"
      },
      "committer": {
        "name": "Error Prone Team",
        "email": "error-prone-team+copybara@google.com",
        "time": "Tue Mar 31 16:04:27 2026"
      },
      "message": "Added an ErrorProne check to detect record accessors inside the compact canonical ctors:\n\nAs they read uninitialized fields, using them inside the compact canonical constructor\nis unlikely intentional.\n\nSee also: https://gemini.google.com/share/bc7d0a22b687\n\nPiperOrigin-RevId: 892372581\n"
    },
    {
      "commit": "949be061dee17cda7ebe31d97a7836cb4c4cd4f0",
      "tree": "3d71a53543fedbd4f203a1a7bf2cb43d01742b70",
      "parents": [
        "429a509acefdce27b044669414591b22e4ba7a77"
      ],
      "author": {
        "name": "Liam Miller-Cushon",
        "email": "cushon@google.com",
        "time": "Tue Mar 31 15:29:39 2026"
      },
      "committer": {
        "name": "Error Prone Team",
        "email": "error-prone-team+copybara@google.com",
        "time": "Tue Mar 31 15:30:23 2026"
      },
      "message": "Automatic code cleanup.\n\nPiperOrigin-RevId: 892355578\n"
    },
    {
      "commit": "429a509acefdce27b044669414591b22e4ba7a77",
      "tree": "dfad16e2cfe3592a8809131d2477492362d1ec44",
      "parents": [
        "ee7b7d735abd5ddd3bb0ae178aeab0c56c61331e"
      ],
      "author": {
        "name": "Liam Miller-Cushon",
        "email": "cushon@google.com",
        "time": "Tue Mar 31 15:08:52 2026"
      },
      "committer": {
        "name": "Error Prone Team",
        "email": "error-prone-team+copybara@google.com",
        "time": "Tue Mar 31 15:10:53 2026"
      },
      "message": "Match interfaces that override `equals` in `ReferenceEquality`\n\nIf an interface specifies behaviour of `equals`, `ReferenceEquality` should suggest using `equals` for implementations of the interface even if it can\u0027t guarantee there\u0027s a concrete implementation of equals.\n\nFor example, interfaces like `List` and `MemorySegment` specify behaviour for equals.\n\nPiperOrigin-RevId: 892346252\n"
    },
    {
      "commit": "ee7b7d735abd5ddd3bb0ae178aeab0c56c61331e",
      "tree": "9966442e82d2f551e9ba79900f2efc6f6549f760",
      "parents": [
        "190e452caa94e7a351e4e6f585fc1d7a640c6f1a"
      ],
      "author": {
        "name": "Liam Miller-Cushon",
        "email": "cushon@google.com",
        "time": "Tue Mar 31 13:42:58 2026"
      },
      "committer": {
        "name": "Error Prone Team",
        "email": "error-prone-team+copybara@google.com",
        "time": "Tue Mar 31 13:46:53 2026"
      },
      "message": "Automatic code cleanup.\n\nPiperOrigin-RevId: 892308394\n"
    },
    {
      "commit": "190e452caa94e7a351e4e6f585fc1d7a640c6f1a",
      "tree": "d5b01ca8b64fbec89fa1e5d848cfe66595cb5952",
      "parents": [
        "6308f644f544447e4e100fd98b909cad2a9dc705"
      ],
      "author": {
        "name": "Liam Miller-Cushon",
        "email": "cushon@google.com",
        "time": "Tue Mar 31 13:42:37 2026"
      },
      "committer": {
        "name": "Error Prone Team",
        "email": "error-prone-team+copybara@google.com",
        "time": "Tue Mar 31 13:44:23 2026"
      },
      "message": "Deprecate `AST_MATCH`\n\nPiperOrigin-RevId: 892308248\n"
    },
    {
      "commit": "6308f644f544447e4e100fd98b909cad2a9dc705",
      "tree": "dfddc243d963b8fd54b45be82de6f521f858dff3",
      "parents": [
        "ccfc176eb738a46e15e29a296d41f169101112fa"
      ],
      "author": {
        "name": "ghm",
        "email": "ghm@google.com",
        "time": "Tue Mar 31 10:45:08 2026"
      },
      "committer": {
        "name": "Error Prone Team",
        "email": "error-prone-team+copybara@google.com",
        "time": "Tue Mar 31 10:46:13 2026"
      },
      "message": "Reformat test data.\n\nPiperOrigin-RevId: 892237739\n"
    },
    {
      "commit": "ccfc176eb738a46e15e29a296d41f169101112fa",
      "tree": "d23502d8f8d5e097d2d49e4816491ea47155bfef",
      "parents": [
        "1a249a7ec22e187eceed51fd603d29eae9343cf4"
      ],
      "author": {
        "name": "Liam Miller-Cushon",
        "email": "cushon@google.com",
        "time": "Mon Mar 30 18:57:11 2026"
      },
      "committer": {
        "name": "Error Prone Team",
        "email": "error-prone-team+copybara@google.com",
        "time": "Mon Mar 30 18:58:10 2026"
      },
      "message": "Automatic code cleanup.\n\nPiperOrigin-RevId: 891833808\n"
    },
    {
      "commit": "1a249a7ec22e187eceed51fd603d29eae9343cf4",
      "tree": "2b4f9fab704852555921bf27befdae5166acf8e9",
      "parents": [
        "fbcfab1906508aa26c1104772686a57aa295d14b"
      ],
      "author": {
        "name": "markbrady",
        "email": "markbrady@google.com",
        "time": "Mon Mar 30 15:03:12 2026"
      },
      "committer": {
        "name": "Error Prone Team",
        "email": "error-prone-team+copybara@google.com",
        "time": "Mon Mar 30 15:04:16 2026"
      },
      "message": "[IfChainToSwitch] enhance domination logic to respect developing changes in JEP 530\n\nPiperOrigin-RevId: 891722438\n"
    },
    {
      "commit": "fbcfab1906508aa26c1104772686a57aa295d14b",
      "tree": "cc8117293994cadf12d250d2c0901a3b91d3a13b",
      "parents": [
        "111d692bf217ce0e3bb84910649837b00d79e1e5"
      ],
      "author": {
        "name": "Liam Miller-Cushon",
        "email": "cushon@google.com",
        "time": "Mon Mar 30 10:46:03 2026"
      },
      "committer": {
        "name": "Error Prone Team",
        "email": "error-prone-team+copybara@google.com",
        "time": "Mon Mar 30 10:46:52 2026"
      },
      "message": "Create a helper for changing the visibility of an element\n\nPiperOrigin-RevId: 891626066\n"
    },
    {
      "commit": "111d692bf217ce0e3bb84910649837b00d79e1e5",
      "tree": "636db3e4bd3b816e3a6a25f46440ca1a06e682a4",
      "parents": [
        "2eee0408cd7efb5de2a178e87e3ba22697bb6112"
      ],
      "author": {
        "name": "Error Prone Team",
        "email": "java-team-github-bot@google.com",
        "time": "Fri Mar 27 15:49:38 2026"
      },
      "committer": {
        "name": "Error Prone Team",
        "email": "error-prone-team+copybara@google.com",
        "time": "Fri Mar 27 15:50:39 2026"
      },
      "message": "Add nested-@Generated test and restore EnumLite diagnostics\n\nThis change fixes a regression where a test enum stopped implementing EnumLite, causing the test not to verify diagnostic suppression in generated code. It also expands coverage such as including calls within nested classes under a top-level @Generated annotation.\n\nPiperOrigin-RevId: 890477878\n"
    },
    {
      "commit": "2eee0408cd7efb5de2a178e87e3ba22697bb6112",
      "tree": "142861db25455c2840e694ce72a0f61a32cab817",
      "parents": [
        "f65588d59186d3d00587c8e688e4a1991670987e"
      ],
      "author": {
        "name": "ghm",
        "email": "ghm@google.com",
        "time": "Fri Mar 27 11:52:48 2026"
      },
      "committer": {
        "name": "Error Prone Team",
        "email": "error-prone-team+copybara@google.com",
        "time": "Fri Mar 27 11:53:50 2026"
      },
      "message": "Check ternary expressions in TimeUnitMismatch.\n\nPiperOrigin-RevId: 890383204\n"
    },
    {
      "commit": "f65588d59186d3d00587c8e688e4a1991670987e",
      "tree": "12d3867860a820decf6d558eeb55977eaf2004cc",
      "parents": [
        "5b1d3d13ffd9eaa252026fe85ad2a4ee62ca6c1a"
      ],
      "author": {
        "name": "ghm",
        "email": "ghm@google.com",
        "time": "Fri Mar 27 11:17:41 2026"
      },
      "committer": {
        "name": "Error Prone Team",
        "email": "error-prone-team+copybara@google.com",
        "time": "Fri Mar 27 11:18:39 2026"
      },
      "message": "Improve InvalidLink to better handle qualified method references.\n\nIf the class part of a method reference exists, we can check the method.\n\nPiperOrigin-RevId: 890370644\n"
    },
    {
      "commit": "5b1d3d13ffd9eaa252026fe85ad2a4ee62ca6c1a",
      "tree": "4ef8ffd775d884e86d1f73eade77891b6c494c9f",
      "parents": [
        "73f258dc40b0b5de50e29e106bd57ab95c8db8bf"
      ],
      "author": {
        "name": "Éamonn McManus",
        "email": "emcmanus@google.com",
        "time": "Thu Mar 26 14:58:30 2026"
      },
      "committer": {
        "name": "Error Prone Team",
        "email": "error-prone-team+copybara@google.com",
        "time": "Thu Mar 26 14:59:34 2026"
      },
      "message": "Update `MisleadingEscapedSpace` to account for CRLF line endings.\n\nPiperOrigin-RevId: 889843068\n"
    },
    {
      "commit": "73f258dc40b0b5de50e29e106bd57ab95c8db8bf",
      "tree": "356ac220d3bc0f4fe40e181755ad24896b9315b8",
      "parents": [
        "eee32c338d4c7e6fa626a55774dbac0c67f1402c"
      ],
      "author": {
        "name": "ghm",
        "email": "ghm@google.com",
        "time": "Thu Mar 26 11:37:54 2026"
      },
      "committer": {
        "name": "Error Prone Team",
        "email": "error-prone-team+copybara@google.com",
        "time": "Thu Mar 26 11:39:53 2026"
      },
      "message": "Add a comment about the limitations of InvalidLink.\n\nFixes external #5609.\n\nPiperOrigin-RevId: 889760744\n"
    },
    {
      "commit": "eee32c338d4c7e6fa626a55774dbac0c67f1402c",
      "tree": "f70f2464c47e3df13db42c28e7a9bee07ed43f3d",
      "parents": [
        "4f91e96be3b227a92bcb81e057a01a560a8dfd12"
      ],
      "author": {
        "name": "ghm",
        "email": "ghm@google.com",
        "time": "Thu Mar 26 11:01:00 2026"
      },
      "committer": {
        "name": "Error Prone Team",
        "email": "error-prone-team+copybara@google.com",
        "time": "Thu Mar 26 11:02:04 2026"
      },
      "message": "Improve error message for block tags used as inline tags.\n\nWhen an unknown inline tag is encountered, check if it is a valid block tag. If so, provide a more specific error message indicating that the tag is a valid block tag but not a valid inline tag.\n\nPiperOrigin-RevId: 889746128\n"
    },
    {
      "commit": "4f91e96be3b227a92bcb81e057a01a560a8dfd12",
      "tree": "dec7ae2696092bb70037e2354cc520f22472c0a8",
      "parents": [
        "17054edda30dfdfcf167cb620ff43115c034e688"
      ],
      "author": {
        "name": "Liam Miller-Cushon",
        "email": "cushon@google.com",
        "time": "Wed Mar 25 22:17:40 2026"
      },
      "committer": {
        "name": "Error Prone Team",
        "email": "error-prone-team+copybara@google.com",
        "time": "Wed Mar 25 22:19:17 2026"
      },
      "message": "Update some tests for `var` position handling to pass on JDK 26\n\nI think these are affected by https://bugs.openjdk.org/browse/JDK-8359383\n\nThese tests cover crash handling on earlier versions, on JDK 26 `var` start and end positions are the same so trying to replace `var` will result in adding the replacement as a prefix. In practice checks need to be using `hasExplicitSource` and `replaceVariableType` to handle `var` prior to JDK 27.\n\nPiperOrigin-RevId: 889460016\n"
    },
    {
      "commit": "17054edda30dfdfcf167cb620ff43115c034e688",
      "tree": "d9a61e843f8e1c8521be5cd7ffad353271ee50fb",
      "parents": [
        "b53bebf4788746efc8220ec1e7c109d31ba4471d"
      ],
      "author": {
        "name": "Chaoren Lin",
        "email": "aoe@google.com",
        "time": "Wed Mar 25 20:58:57 2026"
      },
      "committer": {
        "name": "Error Prone Team",
        "email": "error-prone-team+copybara@google.com",
        "time": "Wed Mar 25 20:59:43 2026"
      },
      "message": "Update CheckReturnValue to recognize ignorability annotations used by the Kotlin stdlib.\n\nTested:\n    TAP for global presubmit queue\n    []\nPiperOrigin-RevId: 889423026\n"
    },
    {
      "commit": "b53bebf4788746efc8220ec1e7c109d31ba4471d",
      "tree": "4039ed75c3b7e391ef4302a8939a493d30658085",
      "parents": [
        "0778412dcac54c7464fc449b24ee6c120bdcd483"
      ],
      "author": {
        "name": "Petr Portnov | PROgrm_JARvis",
        "email": "mrJARVIScraft@gmail.com",
        "time": "Wed Mar 25 17:54:29 2026"
      },
      "committer": {
        "name": "Error Prone Team",
        "email": "error-prone-team+copybara@google.com",
        "time": "Wed Mar 25 17:55:20 2026"
      },
      "message": "Fix `FixedPosition` `endPosition` constructor parameter\n\n# Description\n\nThis fixed `FixedPosition`\u0027s constructor which wrongly passes `startPosition` istead of (available) `endPosition`.\n\nFixes #5656\n\nCOPYBARA_INTEGRATE_REVIEW\u003dhttps://github.com/google/error-prone/pull/5656 from JarvisCraft:FixedPosition-invlaid-end 551cc338a766ac16ee85eb45c158465cb4654645\nPiperOrigin-RevId: 889330479\n"
    },
    {
      "commit": "0778412dcac54c7464fc449b24ee6c120bdcd483",
      "tree": "1fbc47a55c7b352a55444887a8a0cdcbd512d413",
      "parents": [
        "ef810932e5c03577dcc140b3e5f4317538603e96"
      ],
      "author": {
        "name": "Liam Miller-Cushon",
        "email": "cushon@google.com",
        "time": "Wed Mar 25 16:39:30 2026"
      },
      "committer": {
        "name": "Error Prone Team",
        "email": "error-prone-team+copybara@google.com",
        "time": "Wed Mar 25 16:40:30 2026"
      },
      "message": "Clean up and remove some redundant matchers\n\nTested:\n    TAP for global presubmit queue\n    []\nPiperOrigin-RevId: 889291759\n"
    },
    {
      "commit": "ef810932e5c03577dcc140b3e5f4317538603e96",
      "tree": "c7e797530205cd5ad7c1b052812d58f352480a00",
      "parents": [
        "aa994bdb607a2b06a2d2ce7c280d2df18baaf92f"
      ],
      "author": {
        "name": "Liam Miller-Cushon",
        "email": "cushon@google.com",
        "time": "Tue Mar 24 17:56:53 2026"
      },
      "committer": {
        "name": "Error Prone Team",
        "email": "error-prone-team+copybara@google.com",
        "time": "Tue Mar 24 17:58:20 2026"
      },
      "message": "Also reorder imports in MisformattedTestData\n\nPiperOrigin-RevId: 888754531\n"
    },
    {
      "commit": "aa994bdb607a2b06a2d2ce7c280d2df18baaf92f",
      "tree": "246ca8c2324925e0a95d052742315c1c0a5afaf1",
      "parents": [
        "5ebde4ccf6887b9a3669d2eed86e2199bd94fb4e"
      ],
      "author": {
        "name": "Liam Miller-Cushon",
        "email": "cushon@google.com",
        "time": "Tue Mar 24 17:55:13 2026"
      },
      "committer": {
        "name": "Error Prone Team",
        "email": "error-prone-team+copybara@google.com",
        "time": "Tue Mar 24 17:56:09 2026"
      },
      "message": "Update some expected test outputs\n\nThese tests pass with AST_MATCH, but not TEXT_MATCH. This update prepares for making TEXT_MATCH the default.\n\nPiperOrigin-RevId: 888753676\n"
    },
    {
      "commit": "5ebde4ccf6887b9a3669d2eed86e2199bd94fb4e",
      "tree": "3645cc71fef81bdbe86430a09c7ffe135e24cf1b",
      "parents": [
        "2e3cef7e03678a411c0096680e238e601d066146"
      ],
      "author": {
        "name": "Liam Miller-Cushon",
        "email": "cushon@google.com",
        "time": "Tue Mar 24 16:48:23 2026"
      },
      "committer": {
        "name": "Error Prone Team",
        "email": "error-prone-team+copybara@google.com",
        "time": "Tue Mar 24 16:49:37 2026"
      },
      "message": "Remove `variableType(Matcher)`\n\nStartblock:\n  * unknown commit is submitted\n\nTested:\n    TAP for global presubmit queue\n    []\nRELNOTES\u003dRemoved `variableType(Matcher)` API. `Matchers.variableType(Matcher)` uses `VariableTree#getType` to match variable types, which own\u0027t work for lambda parameters with inferred types after https://bugs.openjdk.org/browse/JDK-8268850. The recommended replacement is `variableType(TypePredicate)`.\nPiperOrigin-RevId: 888716488\n"
    },
    {
      "commit": "2e3cef7e03678a411c0096680e238e601d066146",
      "tree": "367514c2ac10441382789f63e847f550c5033d28",
      "parents": [
        "ee5a9cb2f7fad12376801de44418dd7ada8b9722"
      ],
      "author": {
        "name": "cpovirk",
        "email": "cpovirk@google.com",
        "time": "Tue Mar 24 15:41:06 2026"
      },
      "committer": {
        "name": "Error Prone Team",
        "email": "error-prone-team+copybara@google.com",
        "time": "Tue Mar 24 15:41:51 2026"
      },
      "message": "Don\u0027t match `instanceof` expressions with patterns.\n\nWe\u0027d prefer to provide a way to handle them \"properly,\" but it\u0027s not entirely clear what that would mean. (Maybe we\u0027d have to let you write `foo instanceof SomeTypeThatYouMakeUp t`, where `SomeTypeThatYouMakeUp` is (ideally) an `interface` that you declare, perhaps annotated with a `@PretendThisIsATypeParameter` annotation??)\n\n#coding-mcp\n\nPiperOrigin-RevId: 888686334\n"
    },
    {
      "commit": "ee5a9cb2f7fad12376801de44418dd7ada8b9722",
      "tree": "0a7f4f6bf9b7c0c55c86ab2a752d14b5ff07523f",
      "parents": [
        "1dd9c3a6bd76fca8104be6ae1c1004655d6a1745"
      ],
      "author": {
        "name": "Liam Miller-Cushon",
        "email": "cushon@google.com",
        "time": "Tue Mar 24 11:27:59 2026"
      },
      "committer": {
        "name": "Error Prone Team",
        "email": "error-prone-team+copybara@google.com",
        "time": "Tue Mar 24 11:28:40 2026"
      },
      "message": "Relax an assertion in `onlyTypeParameter`\n\nThe matcher should simply not match if there isn\u0027t exactly one type parameter, to support overloaded methods where not all overloads have type parameters.\n\nPiperOrigin-RevId: 888587412\n"
    },
    {
      "commit": "1dd9c3a6bd76fca8104be6ae1c1004655d6a1745",
      "tree": "7a23858c8359f3cdc6e5c690bac1f157d5910e9b",
      "parents": [
        "4ea00ca8ef82a1567d6af65dc2445409d17f2863"
      ],
      "author": {
        "name": "Liam Miller-Cushon",
        "email": "cushon@google.com",
        "time": "Mon Mar 23 22:27:09 2026"
      },
      "committer": {
        "name": "Error Prone Team",
        "email": "error-prone-team+copybara@google.com",
        "time": "Mon Mar 23 22:27:58 2026"
      },
      "message": "Create a new FieldMatchers API, similar to MethodMatchers\n\nPiperOrigin-RevId: 888309114\n"
    },
    {
      "commit": "4ea00ca8ef82a1567d6af65dc2445409d17f2863",
      "tree": "0bb98ea081b04bdb112013db6c8a131af96c8e7a",
      "parents": [
        "bb6c75bfbab1f4f9b32de29765528ce2bfc3f148"
      ],
      "author": {
        "name": "Liam Miller-Cushon",
        "email": "cushon@google.com",
        "time": "Mon Mar 23 15:55:43 2026"
      },
      "committer": {
        "name": "Error Prone Team",
        "email": "error-prone-team+copybara@google.com",
        "time": "Mon Mar 23 15:56:41 2026"
      },
      "message": "Simplify isJavadoccableClass\n\nThe built in `isDirectlyOrIndirectlyLocal` method does most of what we want here.\n\nPiperOrigin-RevId: 888119682\n"
    },
    {
      "commit": "bb6c75bfbab1f4f9b32de29765528ce2bfc3f148",
      "tree": "f05c98038b85c82f8facd6eb0bf650f610d4efda",
      "parents": [
        "7e0462ad399b6a1e9a0a9e8fd5a17590636f3710"
      ],
      "author": {
        "name": "Liam Miller-Cushon",
        "email": "cushon@google.com",
        "time": "Mon Mar 23 15:00:01 2026"
      },
      "committer": {
        "name": "Error Prone Team",
        "email": "error-prone-team+copybara@google.com",
        "time": "Mon Mar 23 15:01:03 2026"
      },
      "message": "Remove deprecated `MethodMatchers.withSignature`\n\nStartblock:\n  * unknown commit is submitted\n\nTested:\n    TAP for global presubmit queue\n    []\nRELNOTES\u003dRemove deprecated `MethodMatchers.withSignature` API\nPiperOrigin-RevId: 888096008\n"
    },
    {
      "commit": "7e0462ad399b6a1e9a0a9e8fd5a17590636f3710",
      "tree": "b5ca6b820fd85e372bc3e63e65702f13e1b0f8d1",
      "parents": [
        "2961b19a33d5647387a50c9f2eb447ef0328a237"
      ],
      "author": {
        "name": "Liam Miller-Cushon",
        "email": "cushon@google.com",
        "time": "Mon Mar 23 14:03:19 2026"
      },
      "committer": {
        "name": "Error Prone Team",
        "email": "error-prone-team+copybara@google.com",
        "time": "Mon Mar 23 14:04:21 2026"
      },
      "message": "Update some expected test outputs\n\nThese tests pass with AST_MATCH, but not TEXT_MATCH. This update prepares for making TEXT_MATCH the default.\n\nPiperOrigin-RevId: 888074557\n"
    },
    {
      "commit": "2961b19a33d5647387a50c9f2eb447ef0328a237",
      "tree": "85a9b3f8501ec09fb5d12fe73e1e6298e111ee6c",
      "parents": [
        "a676288add168d368781bc31ed9edbc14bd1d7ee"
      ],
      "author": {
        "name": "Kurt Alfred Kluever",
        "email": "kak@google.com",
        "time": "Sat Mar 21 01:57:40 2026"
      },
      "committer": {
        "name": "Error Prone Team",
        "email": "error-prone-team+copybara@google.com",
        "time": "Sat Mar 21 01:58:29 2026"
      },
      "message": "Improve logic of whether or not something is a javadoccable `Class`.\n\nPiperOrigin-RevId: 887077145\n"
    },
    {
      "commit": "a676288add168d368781bc31ed9edbc14bd1d7ee",
      "tree": "496d8b598a3c1aea8048a69e5c52e616ddc890b7",
      "parents": [
        "e30934a38e613fc1222f76bad7daf31e83e6813e"
      ],
      "author": {
        "name": "Kurt Alfred Kluever",
        "email": "kak@google.com",
        "time": "Fri Mar 20 20:00:12 2026"
      },
      "committer": {
        "name": "Error Prone Team",
        "email": "error-prone-team+copybara@google.com",
        "time": "Fri Mar 20 20:01:13 2026"
      },
      "message": "Methods inside local classes are not javadoccable.\n\nPiperOrigin-RevId: 886936126\n"
    },
    {
      "commit": "e30934a38e613fc1222f76bad7daf31e83e6813e",
      "tree": "d8996f0cfc3b920d4a0e08f9d3e9d8959c85f693",
      "parents": [
        "837f5109dd7704ca9f88976c272ae3c84b74a20b"
      ],
      "author": {
        "name": "elyse-yao",
        "email": "132704341+elyse-yao@users.noreply.github.com",
        "time": "Fri Mar 20 19:21:26 2026"
      },
      "committer": {
        "name": "Error Prone Team",
        "email": "error-prone-team+copybara@google.com",
        "time": "Fri Mar 20 19:22:20 2026"
      },
      "message": "Add MockitoBean to list of exempted variable annotations\n\n`MockitoBean` is the replacement for `MockBean`, which was [deprecated](https://docs.spring.io/spring-boot/3.5/api/java/org/springframework/boot/test/mock/mockito/MockBean.html) but otherwise used in the same way. Since upgrading our Spring Boot version and migrating over, we\u0027ve been getting `UnusedVariable` warnings since `MockitoBean` isn\u0027t exempted.\n\nThere\u0027s a [previous PR that was approved here](https://github.com/google/error-prone/pull/4800) but never merged and is now out of date, so creating this new one.\n\nThank you!\n\nFixes: https://github.com/google/error-prone/issues/4804\n\nFixes #5614\n\nCOPYBARA_INTEGRATE_REVIEW\u003dhttps://github.com/google/error-prone/pull/5614 from elyse-yao:exempt-mockito-bean-annotation ac742b1f824008a2913072ce700832d0b08836b2\nPiperOrigin-RevId: 886918640\n"
    },
    {
      "commit": "837f5109dd7704ca9f88976c272ae3c84b74a20b",
      "tree": "ec2db976b0b5d00eb1ae8bc49944cc1f28a1b5ff",
      "parents": [
        "5369133b8a2ba836757b7f5c445ebb71aa2ba17f"
      ],
      "author": {
        "name": "Kurt Alfred Kluever",
        "email": "kak@google.com",
        "time": "Fri Mar 20 19:14:20 2026"
      },
      "committer": {
        "name": "Error Prone Team",
        "email": "error-prone-team+copybara@google.com",
        "time": "Fri Mar 20 19:15:35 2026"
      },
      "message": "Add a test that demonstrates that `AlmostJavadoc` fires on methods inside local classes (and leaves a TODO to fix it).\n\nPiperOrigin-RevId: 886915537\n"
    },
    {
      "commit": "5369133b8a2ba836757b7f5c445ebb71aa2ba17f",
      "tree": "d1a52311b735d694a59033db16c967ae29d0b931",
      "parents": [
        "1e200c1af3cb636faa5cb61a86a6baeaf5e14c14"
      ],
      "author": {
        "name": "Kurt Alfred Kluever",
        "email": "kak@google.com",
        "time": "Fri Mar 20 14:22:12 2026"
      },
      "committer": {
        "name": "Error Prone Team",
        "email": "error-prone-team+copybara@google.com",
        "time": "Fri Mar 20 14:22:52 2026"
      },
      "message": "Flag javadoc on `record` components.\n\nPiperOrigin-RevId: 886773868\n"
    },
    {
      "commit": "1e200c1af3cb636faa5cb61a86a6baeaf5e14c14",
      "tree": "81e70155d1ef0eb92a6e0266c95ea5a6c624b639",
      "parents": [
        "d4a4d7d03c3f49a726798db0e76dd6700d532a4e"
      ],
      "author": {
        "name": "Kurt Alfred Kluever",
        "email": "kak@google.com",
        "time": "Fri Mar 20 13:49:55 2026"
      },
      "committer": {
        "name": "Error Prone Team",
        "email": "error-prone-team+copybara@google.com",
        "time": "Fri Mar 20 13:50:58 2026"
      },
      "message": "Convert `doubleJavadoc()` to a textblock.\n\nPiperOrigin-RevId: 886760165\n"
    },
    {
      "commit": "d4a4d7d03c3f49a726798db0e76dd6700d532a4e",
      "tree": "32ad042df539162ef94ba761e4fc64f1e549e63e",
      "parents": [
        "d1616e063fbdad354ca4fda0030ae4c7f5a6c006"
      ],
      "author": {
        "name": "Kurt Alfred Kluever",
        "email": "kak@google.com",
        "time": "Fri Mar 20 13:02:28 2026"
      },
      "committer": {
        "name": "Error Prone Team",
        "email": "error-prone-team+copybara@google.com",
        "time": "Fri Mar 20 13:03:28 2026"
      },
      "message": "Add a unit test for a local class with a javadoc\u0027ed method.\n\nPiperOrigin-RevId: 886741448\n"
    },
    {
      "commit": "d1616e063fbdad354ca4fda0030ae4c7f5a6c006",
      "tree": "fce66fc00f43c4c7f2216e16aa5f8ee6cd278cd9",
      "parents": [
        "43dbf79990a91877d1e374e64df14611772caa5c"
      ],
      "author": {
        "name": "Liam Miller-Cushon",
        "email": "cushon@google.com",
        "time": "Fri Mar 20 12:20:02 2026"
      },
      "committer": {
        "name": "Error Prone Team",
        "email": "error-prone-team+copybara@google.com",
        "time": "Fri Mar 20 12:21:10 2026"
      },
      "message": "AssertThrowsMinimizer: handle varargs, allow casts from `null`\n\nPiperOrigin-RevId: 886725954\n"
    },
    {
      "commit": "43dbf79990a91877d1e374e64df14611772caa5c",
      "tree": "a36c62ed8bda90d1c7073587096ef4b64da5f3e6",
      "parents": [
        "a98a1c55d92d343ae2c142485e8888cd46aa78b3"
      ],
      "author": {
        "name": "Kurt Alfred Kluever",
        "email": "kak@google.com",
        "time": "Thu Mar 19 19:15:41 2026"
      },
      "committer": {
        "name": "Error Prone Team",
        "email": "error-prone-team+copybara@google.com",
        "time": "Thu Mar 19 19:16:33 2026"
      },
      "message": "Add some tests that verify that `NotJavadoc` doesn\u0027t already cover `record` components.\n\nPiperOrigin-RevId: 886309195\n"
    },
    {
      "commit": "a98a1c55d92d343ae2c142485e8888cd46aa78b3",
      "tree": "19f7a891fde0a2d383c33646995778e9b0840f37",
      "parents": [
        "a05765ddb57584b2bf038a00ac6d01dc855be191"
      ],
      "author": {
        "name": "Liam Miller-Cushon",
        "email": "cushon@google.com",
        "time": "Thu Mar 19 12:23:22 2026"
      },
      "committer": {
        "name": "Error Prone Team",
        "email": "error-prone-team+copybara@google.com",
        "time": "Thu Mar 19 12:25:56 2026"
      },
      "message": "Create alternatives to `withSignature` for varargs and type parameters\n\nPiperOrigin-RevId: 886117793\n"
    },
    {
      "commit": "a05765ddb57584b2bf038a00ac6d01dc855be191",
      "tree": "30f1928ba6c08dda9bb4f77c3af86f8fff005272",
      "parents": [
        "b527d959184c4b968ce5e2e6cc25e7411da95096"
      ],
      "author": {
        "name": "Liam Miller-Cushon",
        "email": "cushon@google.com",
        "time": "Thu Mar 19 10:53:22 2026"
      },
      "committer": {
        "name": "Error Prone Team",
        "email": "error-prone-team+copybara@google.com",
        "time": "Thu Mar 19 10:55:01 2026"
      },
      "message": "Replace some anonymous classes with lambdas\n\nPiperOrigin-RevId: 886084605\n"
    },
    {
      "commit": "b527d959184c4b968ce5e2e6cc25e7411da95096",
      "tree": "955ac39c86b5c1a16c2bc1ebf66499bea94317ac",
      "parents": [
        "0dbf04a0bfbb3398ca06f20856ef0dcb4ef595ff"
      ],
      "author": {
        "name": "Kurt Alfred Kluever",
        "email": "kak@google.com",
        "time": "Wed Mar 18 18:25:28 2026"
      },
      "committer": {
        "name": "Error Prone Team",
        "email": "error-prone-team+copybara@google.com",
        "time": "Wed Mar 18 18:26:44 2026"
      },
      "message": "Expand explanation of `ErrorProneCommentStyle`.\n\nPiperOrigin-RevId: 885698876\n"
    },
    {
      "commit": "0dbf04a0bfbb3398ca06f20856ef0dcb4ef595ff",
      "tree": "2c16e81ff9f30f1f294d1560b2962a0a21db6718",
      "parents": [
        "43f6a7385418ccd433ea38918a80809f982dd3a7"
      ],
      "author": {
        "name": "Petr Portnov | PROgrm_JARvis",
        "email": "mrJARVIScraft@gmail.com",
        "time": "Wed Mar 18 17:16:51 2026"
      },
      "committer": {
        "name": "Error Prone Team",
        "email": "error-prone-team+copybara@google.com",
        "time": "Wed Mar 18 17:17:32 2026"
      },
      "message": "fix: support implicit `@MethodSource` to `UnusedMethod`\n\nCurrently, `UnusedMethod` check does not recognize implicitly referenced JUnit `@MethodSource`, e.g. the ones which are derived from test method name when none are specified explicitly. This PR fixes this issue.\n\nFixes #5289\n\nFixes #5210\n\nCOPYBARA_INTEGRATE_REVIEW\u003dhttps://github.com/google/error-prone/pull/5210 from JarvisCraft:junit-implicit-method-source 457c855f5dfae3fbc09333317cd0b6307f7024d1\nPiperOrigin-RevId: 885662324\n"
    },
    {
      "commit": "43f6a7385418ccd433ea38918a80809f982dd3a7",
      "tree": "9410e234f74c574a7d742ff764b6e22bbe090b1e",
      "parents": [
        "e951dcd000a9da74b50af8de2a2ed334f4e2db97"
      ],
      "author": {
        "name": "Kurt Alfred Kluever",
        "email": "kak@google.com",
        "time": "Wed Mar 18 13:43:29 2026"
      },
      "committer": {
        "name": "Error Prone Team",
        "email": "error-prone-team+copybara@google.com",
        "time": "Wed Mar 18 13:44:44 2026"
      },
      "message": "Import mockito/mockito from GitHub.\n\n#MIGRATION_3P_JAVA_SRC_MOCKITO__DEFAULT\n\n  - 47a46954cd1c0f8ef64ec63d43da9b71081d74e6 chore: add jspecify with minimal change. Fixes #3503 by Philippe Kernevez \u003cphilippe@kernevez.net\u003e\n  - bb83c922484cfd3693d61549b5d6ef39a9c02c2b chore: move jspecify as a compile only dependency by Philippe Kernevez \u003cphilippe@kernevez.net\u003e\n  - a6729d657e232ca64da81d9801d7b8f3be6fc49a chore: update BDDMockito with jspecify annotation by Philippe Kernevez \u003cphilippe@kernevez.net\u003e\n  - aa2298a627ab2c0bce07f648e444477d8e2e05ba fix: make spotless happy by Brice Dutheil \u003cbrice.dutheil@gmail.com\u003e\n  - f6a91a6a6138c776fa8b41ffb3fd078c64802044 Replace mockito-android mock maker implementation with de... by Joshua Selbo \u003cjoshuaselbo@gmail.com\u003e\n  - a231205b240e7884a63bf0f63440012867a4da21 Fix StackOverflowError with AbstractList after using mock... by Joshua Selbo \u003cjoshuaselbo@gmail.com\u003e\n\nTested:\n    TAP for global presubmit queue\n    []\nPiperOrigin-RevId: 885563553\n"
    },
    {
      "commit": "e951dcd000a9da74b50af8de2a2ed334f4e2db97",
      "tree": "680ae76f980bcf407fc0b90e81d1112ffab27e97",
      "parents": [
        "6671d190b6e2ae5a7ba47e4a18b09bac3162a26d"
      ],
      "author": {
        "name": "ghm",
        "email": "ghm@google.com",
        "time": "Wed Mar 18 13:02:59 2026"
      },
      "committer": {
        "name": "Error Prone Team",
        "email": "error-prone-team+copybara@google.com",
        "time": "Wed Mar 18 13:04:31 2026"
      },
      "message": "Flag time unit mismatches in method references.\n\nPiperOrigin-RevId: 885548150\n"
    },
    {
      "commit": "6671d190b6e2ae5a7ba47e4a18b09bac3162a26d",
      "tree": "a2a6820b285a008fff568a78236b5975a31ef748",
      "parents": [
        "9c3acc0f3f8a74b22dc2c9da484f22a13adefed0"
      ],
      "author": {
        "name": "Liam Miller-Cushon",
        "email": "cushon@google.com",
        "time": "Tue Mar 17 16:23:28 2026"
      },
      "committer": {
        "name": "Error Prone Team",
        "email": "error-prone-team+copybara@google.com",
        "time": "Tue Mar 17 16:24:41 2026"
      },
      "message": "Handle wildcard types in `SuggestedFixes.qualifyType`\n\nPiperOrigin-RevId: 885060020\n"
    },
    {
      "commit": "9c3acc0f3f8a74b22dc2c9da484f22a13adefed0",
      "tree": "ea870a3019a19ad868036d04067f4209324288c5",
      "parents": [
        "9ffbb3d874dded60f5f850b7590fa617ff99379c"
      ],
      "author": {
        "name": "Kurt Alfred Kluever",
        "email": "kak@google.com",
        "time": "Tue Mar 17 15:47:10 2026"
      },
      "committer": {
        "name": "Error Prone Team",
        "email": "error-prone-team+copybara@google.com",
        "time": "Tue Mar 17 15:48:29 2026"
      },
      "message": "PUBLIC: Internal change.\n\nAutomate `PreferThrowsTag`.\n\nRELNOTES\u003dn/a\nPiperOrigin-RevId: 885045304\n"
    },
    {
      "commit": "9ffbb3d874dded60f5f850b7590fa617ff99379c",
      "tree": "bdb015ef3d4ca2803df293276078c68035f379ef",
      "parents": [
        "c1e4306c7a2ef2cfd6e3d986479e6f6923c179d4"
      ],
      "author": {
        "name": "Error Prone Team",
        "email": "java-team-github-bot@google.com",
        "time": "Tue Mar 17 14:55:58 2026"
      },
      "committer": {
        "name": "Error Prone Team",
        "email": "error-prone-team+copybara@google.com",
        "time": "Tue Mar 17 14:57:34 2026"
      },
      "message": "Fix a null pointer introduced in ConstantExpressions recently\n\nPiperOrigin-RevId: 885023058\n"
    },
    {
      "commit": "c1e4306c7a2ef2cfd6e3d986479e6f6923c179d4",
      "tree": "56eeca4d122f982ab42f287f0adbd5c77e9a0d8f",
      "parents": [
        "11adec23e727416b16d112f41bd54fbb7ed01847"
      ],
      "author": {
        "name": "Kurt Alfred Kluever",
        "email": "kak@google.com",
        "time": "Mon Mar 16 20:41:35 2026"
      },
      "committer": {
        "name": "Error Prone Team",
        "email": "error-prone-team+copybara@google.com",
        "time": "Mon Mar 16 20:42:23 2026"
      },
      "message": "Add a unit test for `AssertThrowsMinimizerTest` that constructs an `Optional` inside the lambdas.\n\nPiperOrigin-RevId: 884614788\n"
    },
    {
      "commit": "11adec23e727416b16d112f41bd54fbb7ed01847",
      "tree": "abb424c29eab06dd81c49c2375bacb92a1adfbb5",
      "parents": [
        "f82be2da83cb9e732e3ecbeb70bf104bbbc85c94"
      ],
      "author": {
        "name": "Liam Miller-Cushon",
        "email": "cushon@google.com",
        "time": "Mon Mar 16 19:31:58 2026"
      },
      "committer": {
        "name": "Error Prone Team",
        "email": "error-prone-team+copybara@google.com",
        "time": "Mon Mar 16 19:32:58 2026"
      },
      "message": "Add an assertThrows heuristic for `RpcAuthority.self()`\n\nPiperOrigin-RevId: 884584562\n"
    },
    {
      "commit": "f82be2da83cb9e732e3ecbeb70bf104bbbc85c94",
      "tree": "241b0e81643400394c47f73e67489dedbb369ada",
      "parents": [
        "e287e9ae0f289191cf070b5291832b075c25490f"
      ],
      "author": {
        "name": "Liam Miller-Cushon",
        "email": "cushon@google.com",
        "time": "Mon Mar 16 16:15:21 2026"
      },
      "committer": {
        "name": "Error Prone Team",
        "email": "error-prone-team+copybara@google.com",
        "time": "Mon Mar 16 16:16:39 2026"
      },
      "message": "Make `enclosingPackage` return an optional\n\nTo avoid errors when processing module declarations, which are not enclosed by a package.\n\nRELNOTES\u003dn/a\nPiperOrigin-RevId: 884475099\n"
    },
    {
      "commit": "e287e9ae0f289191cf070b5291832b075c25490f",
      "tree": "f6226df1b56c20e7d4eb35a693824ad58ca72e3c",
      "parents": [
        "cc65a4e1ed282f66f200c296655d0afa3b3614e7"
      ],
      "author": {
        "name": "Kurt Alfred Kluever",
        "email": "kak@google.com",
        "time": "Mon Mar 16 16:11:14 2026"
      },
      "committer": {
        "name": "Error Prone Team",
        "email": "error-prone-team+copybara@google.com",
        "time": "Mon Mar 16 16:12:42 2026"
      },
      "message": "Prototype of a classic javadoc to marktown javadoc migration tool.\n\nMostly built using Gemini Coder.\n\nPiperOrigin-RevId: 884472847\n"
    },
    {
      "commit": "cc65a4e1ed282f66f200c296655d0afa3b3614e7",
      "tree": "4096502615cbbb5bec0f57eba2cc9f391ed29e67",
      "parents": [
        "cda0d92170157a866f34b99c85907295fdc37ba5"
      ],
      "author": {
        "name": "Liam Miller-Cushon",
        "email": "cushon@google.com",
        "time": "Mon Mar 16 14:11:00 2026"
      },
      "committer": {
        "name": "Error Prone Team",
        "email": "error-prone-team+copybara@google.com",
        "time": "Mon Mar 16 14:13:49 2026"
      },
      "message": "Discourage unnecessary block lambdas in assertThrows\n\nPiperOrigin-RevId: 884419373\n"
    },
    {
      "commit": "cda0d92170157a866f34b99c85907295fdc37ba5",
      "tree": "11c7dc1a4553050f2ccca54c10497b364ce3adc0",
      "parents": [
        "230fe2ea0cf003f7da14a3a615d89abece924156"
      ],
      "author": {
        "name": "ghm",
        "email": "ghm@google.com",
        "time": "Mon Mar 16 14:10:13 2026"
      },
      "committer": {
        "name": "Error Prone Team",
        "email": "error-prone-team+copybara@google.com",
        "time": "Mon Mar 16 14:11:02 2026"
      },
      "message": "`RuntimeException` is a subtype of `Exception`, so acknowledge that `Exception` implicitly catches runtime exceptions.\n\nOops.\n\nPiperOrigin-RevId: 884419110\n"
    },
    {
      "commit": "230fe2ea0cf003f7da14a3a615d89abece924156",
      "tree": "470ba0605b5f01b87feaff7577e8ebbd8d40704e",
      "parents": [
        "1aed17d0e186fe6b78a187d96b1a6fd0ff513341"
      ],
      "author": {
        "name": "Liam Miller-Cushon",
        "email": "cushon@google.com",
        "time": "Fri Mar 13 18:31:24 2026"
      },
      "committer": {
        "name": "Error Prone Team",
        "email": "error-prone-team+copybara@google.com",
        "time": "Fri Mar 13 18:32:43 2026"
      },
      "message": "Migrate from `variableType(Matcher)` to `variableType(TypePredicate)`\n\n`Matchers.variableType(Matcher)` uses `VariableTree#getType` to match variable types, which own\u0027t work for lambda parameters after the change.\n\n`Matchers.variableType(TypePredicate)` tests the inferred type of the variable, instead of going through the AST node for the type.\n\nPiperOrigin-RevId: 883260142\n"
    },
    {
      "commit": "1aed17d0e186fe6b78a187d96b1a6fd0ff513341",
      "tree": "9d567890e0935ad27f3d51d9a0d0fa045c7a375b",
      "parents": [
        "cf67393ac95f981c4827616533371baa1d10192e"
      ],
      "author": {
        "name": "Liam Miller-Cushon",
        "email": "cushon@google.com",
        "time": "Fri Mar 13 11:51:53 2026"
      },
      "committer": {
        "name": "Error Prone Team",
        "email": "error-prone-team+copybara@google.com",
        "time": "Fri Mar 13 11:52:54 2026"
      },
      "message": "Prepare for an upcoming change to the javac AST in JDK-8268850\n\nAfter https://bugs.openjdk.org/browse/JDK-8268850, VariableTree#getType will return null for implicit lambda parameter types.\n\nPiperOrigin-RevId: 883098291\n"
    },
    {
      "commit": "cf67393ac95f981c4827616533371baa1d10192e",
      "tree": "11415d58652d412cbdf35123efcecc208da5972f",
      "parents": [
        "1c87a3e13037dd605c28009a8a2b3082e83dc8dc"
      ],
      "author": {
        "name": "Liam Miller-Cushon",
        "email": "cushon@google.com",
        "time": "Fri Mar 13 11:17:23 2026"
      },
      "committer": {
        "name": "Error Prone Team",
        "email": "error-prone-team+copybara@google.com",
        "time": "Fri Mar 13 11:18:20 2026"
      },
      "message": "Add an explanation for AssertThrowsMinimizer\n\nPiperOrigin-RevId: 883085816\n"
    },
    {
      "commit": "1c87a3e13037dd605c28009a8a2b3082e83dc8dc",
      "tree": "8f6fadaf134ac3be054e797b923a4c5b648afb4f",
      "parents": [
        "a628f810f111ca8bf0c3c007d2f637297a9beb50"
      ],
      "author": {
        "name": "Liam Miller-Cushon",
        "email": "cushon@google.com",
        "time": "Wed Mar 11 16:17:45 2026"
      },
      "committer": {
        "name": "Error Prone Team",
        "email": "error-prone-team+copybara@google.com",
        "time": "Wed Mar 11 16:18:54 2026"
      },
      "message": "AssertThrowsMinimizer: don\u0027t hoist lambdas or equivalent anonymous classes, or new array expressions\n\n* lambdas and equivalent anonymous classes are not evaluated eagerly\n* new array handling is similar to the heuristic for collection factories\n\nPiperOrigin-RevId: 882050009\n"
    },
    {
      "commit": "a628f810f111ca8bf0c3c007d2f637297a9beb50",
      "tree": "3e176b6fda28f02e06b989ef8f050ccbc29543ec",
      "parents": [
        "57134a0c2d317b6ff43f48ceb1cb34f548eac4c5"
      ],
      "author": {
        "name": "ghm",
        "email": "ghm@google.com",
        "time": "Tue Mar 10 18:54:11 2026"
      },
      "committer": {
        "name": "Error Prone Team",
        "email": "error-prone-team+copybara@google.com",
        "time": "Tue Mar 10 18:54:56 2026"
      },
      "message": "Restrict hoisting in AssertThrowsMinimizer when asserting checked exceptions.\n\nWhen `assertThrows` is used to assert a checked exception, only hoist expressions that are known to throw a subtype of that specific checked exception.\n\nPiperOrigin-RevId: 881551387\n"
    },
    {
      "commit": "57134a0c2d317b6ff43f48ceb1cb34f548eac4c5",
      "tree": "c8dd4efef5f61e28c601a19268f3e2b9a6cb74c5",
      "parents": [
        "e0e6f556cce583ad3fe7cad86413d92d0c75651a"
      ],
      "author": {
        "name": "Kurt Alfred Kluever",
        "email": "kak@google.com",
        "time": "Tue Mar 10 17:21:00 2026"
      },
      "committer": {
        "name": "Error Prone Team",
        "email": "error-prone-team+copybara@google.com",
        "time": "Tue Mar 10 17:22:06 2026"
      },
      "message": "Add `PreferThrowsTag` which recommends using `@throws` instead of the legacy `@exception` javadoc tag.\n\nPiperOrigin-RevId: 881501433\n"
    },
    {
      "commit": "e0e6f556cce583ad3fe7cad86413d92d0c75651a",
      "tree": "966bdffd56d82320c3feb6f26d2f9077a34f01f6",
      "parents": [
        "d06d1d8303b1ed5618010802fafcd78362575197"
      ],
      "author": {
        "name": "Liam Miller-Cushon",
        "email": "cushon@google.com",
        "time": "Tue Mar 10 16:47:30 2026"
      },
      "committer": {
        "name": "Error Prone Team",
        "email": "error-prone-team+copybara@google.com",
        "time": "Tue Mar 10 16:48:41 2026"
      },
      "message": "Don\u0027t hoist anything with a compile-time constant value\n\nPiperOrigin-RevId: 881483342\n"
    },
    {
      "commit": "d06d1d8303b1ed5618010802fafcd78362575197",
      "tree": "aa191f04709f0b142197ddba1a12fceddc8ebbc9",
      "parents": [
        "630069697fae569c5611c42ea34d7781419f3327"
      ],
      "author": {
        "name": "ghm",
        "email": "ghm@google.com",
        "time": "Tue Mar 10 15:14:55 2026"
      },
      "committer": {
        "name": "Error Prone Team",
        "email": "error-prone-team+copybara@google.com",
        "time": "Tue Mar 10 15:15:59 2026"
      },
      "message": "Add `throws` clauses when necessary when hoisting exceptions.\n\nI made this just add Exception/Throwable to the enclosing method, given Java Practices encourages that for tests. This is of course assuming the enclosing method is directly a test method, which is an assumption!\n\nPiperOrigin-RevId: 881439895\n"
    },
    {
      "commit": "630069697fae569c5611c42ea34d7781419f3327",
      "tree": "32816f726753b5be4f893d42e4d42e57a2ad6595",
      "parents": [
        "8c1a6bbf43f64bbfddfbfe66f2a7a3bd0230d918"
      ],
      "author": {
        "name": "markbrady",
        "email": "markbrady@google.com",
        "time": "Tue Mar 10 02:17:36 2026"
      },
      "committer": {
        "name": "Error Prone Team",
        "email": "error-prone-team+copybara@google.com",
        "time": "Tue Mar 10 02:19:07 2026"
      },
      "message": "[RefactorSwitch] flip flag to enable arrow-style switches to be converted to assignment switches\n\nPiperOrigin-RevId: 881152950\n"
    },
    {
      "commit": "8c1a6bbf43f64bbfddfbfe66f2a7a3bd0230d918",
      "tree": "077f9dc557ee50d859cd4b2dae77e2f2dda12fd4",
      "parents": [
        "3e83d8bcfb8d50477e5a7f3f2b9261d442b1cdf5"
      ],
      "author": {
        "name": "ghm",
        "email": "ghm@google.com",
        "time": "Mon Mar 09 21:15:40 2026"
      },
      "committer": {
        "name": "Error Prone Team",
        "email": "error-prone-team+copybara@google.com",
        "time": "Mon Mar 09 21:16:48 2026"
      },
      "message": "Extend TimeUnitMismatch to check return statements.\n\nI also added a test for method references, which doesn\u0027t yet work. We should handle these, but boy are they annoying at times.\n\nPiperOrigin-RevId: 881033725\n"
    }
  ],
  "next": "3e83d8bcfb8d50477e5a7f3f2b9261d442b1cdf5"
}
