)]}'
{
  "log": [
    {
      "commit": "c6f04243ed7036f130a3ece4e2aa1067e8554236",
      "tree": "02b518f9992d4fa919a859b115dc238d39a6533c",
      "parents": [
        "af4c3cfcb37b754bc4ff6ad79540b9a0b37593ea"
      ],
      "author": {
        "name": "Abseil Team",
        "email": "absl-team@google.com",
        "time": "Mon Jul 27 22:07:00 2026 -0700"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Mon Jul 27 22:07:28 2026 -0700"
      },
      "message": "Automated Code Change\n\nPiperOrigin-RevId: 955021426\nChange-Id: I3ab06e960011d1d0cd44ea00595a5067aaa7f30b\n"
    },
    {
      "commit": "af4c3cfcb37b754bc4ff6ad79540b9a0b37593ea",
      "tree": "7c1eed0a09063406d6b98be0d09065d67d2fe9cc",
      "parents": [
        "ecb18f0b032c334d0ead69531d510643bd2ffaef"
      ],
      "author": {
        "name": "Abseil Team",
        "email": "absl-team@google.com",
        "time": "Mon Jul 27 21:56:57 2026 -0700"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Mon Jul 27 21:57:20 2026 -0700"
      },
      "message": "Automated Code Change\n\nPiperOrigin-RevId: 955017590\nChange-Id: I5125f56376603462fb63796fec1fbc50fd4d935f\n"
    },
    {
      "commit": "ecb18f0b032c334d0ead69531d510643bd2ffaef",
      "tree": "4c2dace30ce54b906dae01bbf2c592f95b125864",
      "parents": [
        "b78aa5ee64be299ae50932e7b4d7e5d7b89a72f6"
      ],
      "author": {
        "name": "Abseil Team",
        "email": "absl-team@google.com",
        "time": "Mon Jul 27 21:17:08 2026 -0700"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Mon Jul 27 21:17:32 2026 -0700"
      },
      "message": "Automated Code Change\n\nPiperOrigin-RevId: 955003621\nChange-Id: I83518a7f947d9f7d9b89fe14e1219d32bcdc95a3\n"
    },
    {
      "commit": "b78aa5ee64be299ae50932e7b4d7e5d7b89a72f6",
      "tree": "a323c6087f7fd1c281d67c21e8434567e696e722",
      "parents": [
        "56cf341d9cdce527bfa12ae14f1de00921368a48"
      ],
      "author": {
        "name": "Abseil Team",
        "email": "absl-team@google.com",
        "time": "Fri Jul 24 23:56:12 2026 -0700"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Fri Jul 24 23:56:31 2026 -0700"
      },
      "message": "Automated Code Change\n\nPiperOrigin-RevId: 953750672\nChange-Id: I9314622e998cb9d17eec0dc1baeb6d8bc8a801fd\n"
    },
    {
      "commit": "56cf341d9cdce527bfa12ae14f1de00921368a48",
      "tree": "c1d2fce7bcbaa52acb48566225d33ac5deed2aa5",
      "parents": [
        "136a6b886565d30f99ec54af215257fbdaeddf5d"
      ],
      "author": {
        "name": "Abseil Team",
        "email": "absl-team@google.com",
        "time": "Fri Jul 24 19:31:15 2026 -0700"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Fri Jul 24 19:31:32 2026 -0700"
      },
      "message": "Remove useless casts in gtest-internal-inl.h\n\nFixes: #4711\nPiperOrigin-RevId: 953674507\nChange-Id: Id744824553157d54eade6de5a542a5783fefd1d8\n"
    },
    {
      "commit": "136a6b886565d30f99ec54af215257fbdaeddf5d",
      "tree": "43a74a809aa2f4fe8ef8794d332aa5fb8fa95f9c",
      "parents": [
        "425811f10e098158858abd934f5aceabf17f250a",
        "b7ced159dbb789c70d4c502393e06ffac8c0e23d"
      ],
      "author": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Fri Jul 24 17:31:32 2026 -0700"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Fri Jul 24 17:31:32 2026 -0700"
      },
      "message": "Merge pull request #4994 from edge90:fix/onceaction-tuple-sfinae-order\n\nPiperOrigin-RevId: 953630264\nChange-Id: Iad16b5ee9a92ccb6b580733be18dbeb85371e66d\n"
    },
    {
      "commit": "425811f10e098158858abd934f5aceabf17f250a",
      "tree": "3d7c1adf9f38e6e646ba6d885898029a49b76c94",
      "parents": [
        "679a61d3a8cd18220cdf14df8cb282ec252a420c"
      ],
      "author": {
        "name": "Abseil Team",
        "email": "absl-team@google.com",
        "time": "Fri Jul 24 11:26:48 2026 -0700"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Fri Jul 24 11:27:08 2026 -0700"
      },
      "message": "Undo make string matchers work with std::wstring_view due to internal breakages\n\nReopens: #4912\nPiperOrigin-RevId: 953470061\nChange-Id: Ie979aa352f0ecbfb27dec5a41aae4b668cf7541b\n"
    },
    {
      "commit": "679a61d3a8cd18220cdf14df8cb282ec252a420c",
      "tree": "c2ab11df00644f4a47ea1a2346c38ca09309b366",
      "parents": [
        "80b3670e1ace250ae2d50fb42ede6646066eb140",
        "51109ebb47fc6661cffe51d3aacd3753f21f2c3a"
      ],
      "author": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Fri Jul 24 10:06:23 2026 -0700"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Fri Jul 24 10:06:23 2026 -0700"
      },
      "message": "Merge pull request #5035 from K-S-Manikandan:fix-cmake-uninit-var\n\nPiperOrigin-RevId: 953425063\nChange-Id: I76419008d1469e91f98622056524bd0d46ad0eb8\n"
    },
    {
      "commit": "80b3670e1ace250ae2d50fb42ede6646066eb140",
      "tree": "26339b4a6bf84da9072013d9769d482d67b52dfa",
      "parents": [
        "44f490470357d6cb520504264a72f1d7390b0cbd"
      ],
      "author": {
        "name": "Abseil Team",
        "email": "absl-team@google.com",
        "time": "Fri Jul 24 10:05:06 2026 -0700"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Fri Jul 24 10:05:36 2026 -0700"
      },
      "message": "Maintain constness in assertions \u0026 expectations to resolve operator bool() cv-qualifier inconsistency between ASSERT_FALSE/EXPECT_FALSE vs. ASSERT_TRUE/EXPECT_TRUE\n\nCurrently, these macros do not behave consistently in how they convert objects to bool, adding extra const qualifiers or using operator!(). This causes them to produce unexpected behavior on types such as the following:\n\n```\nstruct example {\n    operator bool() { throw std::runtime_error(\"constness not propagated\"); }\n    operator bool() const { return ...; }\n};\n```\n\nThis change preserves the qualifiers of the evaluated objects and makes the evaluation strategy uniform across macros.\n\nFixes: #4832\nPiperOrigin-RevId: 953424646\nChange-Id: I670a72eec11272c3b68d7eb6f739a15da227acde\n"
    },
    {
      "commit": "44f490470357d6cb520504264a72f1d7390b0cbd",
      "tree": "abb54f5cf1e29b36b6b384d82143f85acd3a3b47",
      "parents": [
        "fef8e5e23b5755b2871e835dd345eb2d48fe8fbe",
        "4969916f0cf575140a807f015a6c12a2fbbbea7a"
      ],
      "author": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Fri Jul 24 10:04:54 2026 -0700"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Fri Jul 24 10:04:54 2026 -0700"
      },
      "message": "Merge pull request #4798 from scivision:oneapi\n\nPiperOrigin-RevId: 953424235\nChange-Id: I2b69feb3e9e001847c90db6cb596d89ad394b3c5\n"
    },
    {
      "commit": "fef8e5e23b5755b2871e835dd345eb2d48fe8fbe",
      "tree": "13d62923ff901bea0d7bc2e885503cd62b8a4113",
      "parents": [
        "a798392000ecaff96cfa64f07aeb2fcad2a5ed01"
      ],
      "author": {
        "name": "Abseil Team",
        "email": "absl-team@google.com",
        "time": "Fri Jul 24 10:02:48 2026 -0700"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Fri Jul 24 10:03:44 2026 -0700"
      },
      "message": "Make string matchers work with std::wstring_view\n\nFixes: #4912\nPiperOrigin-RevId: 953423131\nChange-Id: Id288c01c9d1bd9c92ce78b89ec3e8587f4ffc2a7\n"
    },
    {
      "commit": "a798392000ecaff96cfa64f07aeb2fcad2a5ed01",
      "tree": "a635e1dfaac952ccfbed7853c46e9955cc7b59db",
      "parents": [
        "c914e89e2a23c12d6df1e0a8f506918cc0e95337"
      ],
      "author": {
        "name": "Abseil Team",
        "email": "absl-team@google.com",
        "time": "Fri Jul 24 10:02:16 2026 -0700"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Fri Jul 24 10:02:58 2026 -0700"
      },
      "message": "Avoid triggering -Wzero-as-null-pointer-constant in HandleExceptionsInMethodIfSupported()\n\nFixes: #2916\nPiperOrigin-RevId: 953422776\nChange-Id: Ic5a167e93d611adb184c516a6383dcc119e11fd7\n"
    },
    {
      "commit": "c914e89e2a23c12d6df1e0a8f506918cc0e95337",
      "tree": "6ed4a5ed02fd07cee7935b1cc4425d965c9a3536",
      "parents": [
        "0dbcd8d0066fef26b1268d8637e2bfc4df978e18",
        "0b656495436f57212be8700794a3d5fb14000c5f"
      ],
      "author": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Fri Jul 24 10:02:11 2026 -0700"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Fri Jul 24 10:02:11 2026 -0700"
      },
      "message": "Merge pull request #4877 from charles-lunarg:fix_CMake_option_gtest_force_shared_crt\n\nPiperOrigin-RevId: 953422334\nChange-Id: I769777aa8b4a886638a178b4e446677711f00240\n"
    },
    {
      "commit": "0dbcd8d0066fef26b1268d8637e2bfc4df978e18",
      "tree": "ec05f2f159882da61f507ad10a911b5e1c965012",
      "parents": [
        "a901203eff9c7c8d70350c570390fe04da840778"
      ],
      "author": {
        "name": "Abseil Team",
        "email": "absl-team@google.com",
        "time": "Fri Jul 24 10:01:08 2026 -0700"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Fri Jul 24 10:01:33 2026 -0700"
      },
      "message": "Fix typo in docs/gmock_cheat_sheet.md\n\nCloses: #4735\nPiperOrigin-RevId: 953422159\nChange-Id: I6c0c227ee4a997d346091fee32bd9b23bcc760ab\n"
    },
    {
      "commit": "a901203eff9c7c8d70350c570390fe04da840778",
      "tree": "c4a60f41f045dc4fcaf1e51199b2d98222da7355",
      "parents": [
        "d4e25914852d63bbe0225b60ec648ab969cf8ecd"
      ],
      "author": {
        "name": "Abseil Team",
        "email": "absl-team@google.com",
        "time": "Fri Jul 24 06:28:38 2026 -0700"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Fri Jul 24 06:29:02 2026 -0700"
      },
      "message": "Display the Win32 error code when GetTempFileName() fails on Windows to aid debugging\n\nCloses: #4578\nFixes: #4566\nPiperOrigin-RevId: 953335097\nChange-Id: Ibc6ed3f2695cafb230e245dca625413f12536323\n"
    },
    {
      "commit": "d4e25914852d63bbe0225b60ec648ab969cf8ecd",
      "tree": "73533e1d904e62850c71b3a249e0036d2a8d77e5",
      "parents": [
        "7ec05f657d70a78922f84b57a0d645ee38ce6120",
        "fcd5e2608974d282dc8492facad3026273c1aded"
      ],
      "author": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Fri Jul 24 06:25:48 2026 -0700"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Fri Jul 24 06:25:48 2026 -0700"
      },
      "message": "Merge pull request #5033 from UditDewan:fix/absolute-install-includedir\n\nPiperOrigin-RevId: 953333932\nChange-Id: I1f3dfb118bb2a7e3b4ae64fcc4206baf4c8e7f4b\n"
    },
    {
      "commit": "7ec05f657d70a78922f84b57a0d645ee38ce6120",
      "tree": "1fa42945816761677ae34c81ae5eb7bf65bb3a6e",
      "parents": [
        "a503186d79b1acf3f4b35f748718676dc2f14751"
      ],
      "author": {
        "name": "Abseil Team",
        "email": "absl-team@google.com",
        "time": "Fri Jul 24 06:24:45 2026 -0700"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Fri Jul 24 06:25:09 2026 -0700"
      },
      "message": "Handle both -F and /F formats in GoogleTest CMake command lines as MSVC accepts both\n\nThis is the legacy fix for https://github.com/google/googletest/issues/4731, and to prevent similar breakages in the future with other flags.\n\nThe modern fix will be handled separately.\n\nPiperOrigin-RevId: 953333662\nChange-Id: I7c58b0123170878f0fe6909cabd5decc922b38f1\n"
    },
    {
      "commit": "a503186d79b1acf3f4b35f748718676dc2f14751",
      "tree": "935498a076efb7cd16b2652ae94af40925074999",
      "parents": [
        "7f7595f67d366ca0f9d2a5cd60c747a789214b10",
        "e3310812781701527c0ce2be233964357f2de2a4"
      ],
      "author": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Thu Jul 23 13:21:28 2026 -0700"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Thu Jul 23 13:21:28 2026 -0700"
      },
      "message": "Merge pull request #5039 from alvinjaison:fix/premature-exit-file-null-deref\n\nPiperOrigin-RevId: 952921022\nChange-Id: Ic7c587ad76eb56a9995043c86ee09c64afd52504\n"
    },
    {
      "commit": "7f7595f67d366ca0f9d2a5cd60c747a789214b10",
      "tree": "8517bfabffaf382b5e6d0114831cecc9571ced7c",
      "parents": [
        "08da6214b81f3b08c48569f245cd7a2d0badb8b2"
      ],
      "author": {
        "name": "Abseil Team",
        "email": "absl-team@google.com",
        "time": "Thu Jul 23 10:39:25 2026 -0700"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Thu Jul 23 10:39:55 2026 -0700"
      },
      "message": "Make GTEST_DEFINE... macros also declare the flag to avoid triggering -Wmissing-variable-declarations\n\nThe alternate implementation based on ABSL_FLAG() already does this internally, so this resolves the inconsistency.\n\nFixes: #4897\nPiperOrigin-RevId: 952840499\nChange-Id: I7b8f61d2e9a97ffcd3db091abc373c9d9b48db79\n"
    },
    {
      "commit": "e3310812781701527c0ce2be233964357f2de2a4",
      "tree": "262a9a945c3e1c70b547de62214851afb399b407",
      "parents": [
        "08da6214b81f3b08c48569f245cd7a2d0badb8b2"
      ],
      "author": {
        "name": "Alvin Jaison",
        "email": "alvinjaison@outlook.com",
        "time": "Thu Jul 23 09:24:19 2026 +0100"
      },
      "committer": {
        "name": "Alvin Jaison",
        "email": "alvinjaison@outlook.com",
        "time": "Thu Jul 23 09:24:19 2026 +0100"
      },
      "message": "Fix null pointer dereference in ScopedPrematureExitFile When TEST_PREMATURE_EXIT_FILE is set to a path that cannot be opened for writing (e.g., non-existent directory or insufficient permissions), posix::FOpen returns NULL. Previously, fwrite and fclose were called unconditionally on the result, causing a segmentation fault. This change: - Adds a null check before calling fwrite/fclose - Tracks whether the file was successfully created via a file_created_ flag, so the destructor only attempts removal when the file actually exists This matches the existing comment\u0027s stated intent that I/O errors should be silently ignored.\n"
    },
    {
      "commit": "08da6214b81f3b08c48569f245cd7a2d0badb8b2",
      "tree": "93fd6f049dd5be802948b05ec8055c72e3f96c87",
      "parents": [
        "30a3151b0cfafd5a4564561352e4049299730430",
        "1be494659033b4df4989d77d88edae85bb35ff5e"
      ],
      "author": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Wed Jul 22 11:49:28 2026 -0700"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Wed Jul 22 11:49:28 2026 -0700"
      },
      "message": "Merge pull request #5036 from Tachi107:cmake-pthread-flag\n\nPiperOrigin-RevId: 952246866\nChange-Id: Idccc63f83a51d6c143966d45fa197677ea58ca16\n"
    },
    {
      "commit": "1be494659033b4df4989d77d88edae85bb35ff5e",
      "tree": "93fd6f049dd5be802948b05ec8055c72e3f96c87",
      "parents": [
        "30a3151b0cfafd5a4564561352e4049299730430"
      ],
      "author": {
        "name": "Andrea Pappacoda",
        "email": "andrea@pappacoda.it",
        "time": "Tue Jul 21 19:24:45 2026 -0300"
      },
      "committer": {
        "name": "Andrea Pappacoda",
        "email": "andrea@pappacoda.it",
        "time": "Tue Jul 21 19:24:45 2026 -0300"
      },
      "message": "Prefer -pthread flag on CMake\n\nIn the past, GoogleTest could not set this flag unconditionally as it\nwould break CUDA on CMake versions older than 3.13. As the project now\nrequires at least CMake 3.16, it\u0027s safe to enable and finally prefer\n-pthread to -lpthread.\n\nThis does not make any difference on systems with glibc 2.34 as newer,\nas libpthread is part of libc now.\n\nProperly fixes #2482\n"
    },
    {
      "commit": "30a3151b0cfafd5a4564561352e4049299730430",
      "tree": "0992a2658c5000bab7bae94b45782a4b40a5e87f",
      "parents": [
        "fa005b296f90faec4f352d7ab382287bf6548c8d"
      ],
      "author": {
        "name": "Mike Kruskal",
        "email": "mkruskal@google.com",
        "time": "Tue Jul 21 09:06:04 2026 -0700"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Tue Jul 21 09:06:28 2026 -0700"
      },
      "message": "Fix broken tests due to deprecation warning\n\nPiperOrigin-RevId: 951523081\nChange-Id: I145c6066a202629e5d0c89453d726495dd535290\n"
    },
    {
      "commit": "51109ebb47fc6661cffe51d3aacd3753f21f2c3a",
      "tree": "7582db5a7a2cfa4ae32b86f9eb6c2207ccf315ac",
      "parents": [
        "fa005b296f90faec4f352d7ab382287bf6548c8d"
      ],
      "author": {
        "name": "Manikandan K. S.",
        "email": "maniksvlr@gmail.com",
        "time": "Sun Jul 19 18:34:59 2026 +0530"
      },
      "committer": {
        "name": "Manikandan K. S.",
        "email": "maniksvlr@gmail.com",
        "time": "Sun Jul 19 18:34:59 2026 +0530"
      },
      "message": "fix: initialize cxx_strict_flags before compiler branches\n\ncxx_strict_flags was omitted in several compiler conditional blocks\n(such as MSVC, SunPro, XL, and HP), leading to a CMake developer\nwarning about an uninitialized variable when dev warnings are enabled.\n\nFixes #4071\n"
    },
    {
      "commit": "fcd5e2608974d282dc8492facad3026273c1aded",
      "tree": "763b8b2c9d3e1a5bd34fe92aa1bbaa0474bb4e67",
      "parents": [
        "fa005b296f90faec4f352d7ab382287bf6548c8d"
      ],
      "author": {
        "name": "uditDewan",
        "email": "udit.dewan21@gmail.com",
        "time": "Sat Jul 18 14:59:31 2026 -0400"
      },
      "committer": {
        "name": "uditDewan",
        "email": "udit.dewan21@gmail.com",
        "time": "Sat Jul 18 14:59:31 2026 -0400"
      },
      "message": "Fix exported include paths for absolute CMAKE_INSTALL_INCLUDEDIR\n\nThe INSTALL_INTERFACE include directory was written as\n$\u003cINSTALL_PREFIX\u003e/${CMAKE_INSTALL_INCLUDEDIR}, which unconditionally\nprepends the install prefix. When CMAKE_INSTALL_INCLUDEDIR is an\nabsolute path, the exported GTestTargets.cmake ends up with an invalid\ndoubled path such as \"/usr/local//usr/local/include\", and find_package\nconsumers fail at configure time with \"Imported target includes\nnon-existent path\".\n\nRelative paths inside $\u003cINSTALL_INTERFACE:...\u003e are already interpreted\nrelative to the installation prefix, so the explicit $\u003cINSTALL_PREFIX\u003e/\nprefix is redundant for relative values and wrong for absolute ones.\nDropping it keeps the exported path identical for relative values\n(${_IMPORT_PREFIX}/include) and uses absolute values as-is.\n\nFixes #4817\n"
    },
    {
      "commit": "fa005b296f90faec4f352d7ab382287bf6548c8d",
      "tree": "623589b388fee86955b3c0cff5362fb3ac3617e2",
      "parents": [
        "4141c384aa2a8e2da87dd17d16457caaecfeeda1"
      ],
      "author": {
        "name": "Abseil Team",
        "email": "absl-team@google.com",
        "time": "Fri Jul 17 10:57:56 2026 -0700"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Fri Jul 17 10:58:22 2026 -0700"
      },
      "message": "Set up inlining for InvokeWithoutArgs when passed a functor.\n\nActions can now be implicitly constructed from zero-argument callables. There is no need to create wrapper objects using InvokeWithoutArgs().\n\nPiperOrigin-RevId: 949656497\nChange-Id: Ida2bc38e446e7b33aaf185ec593caf2a1959138e\n"
    },
    {
      "commit": "4141c384aa2a8e2da87dd17d16457caaecfeeda1",
      "tree": "2421bc5811349ea55a104d658f3361d2124f8bf6",
      "parents": [
        "a25f43576effe4ebe887412a603cddfa8fc3ba64",
        "f426a71abf31a26d0f68523e221c9ed48bac9570"
      ],
      "author": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Thu Jul 16 22:01:49 2026 -0700"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Thu Jul 16 22:01:49 2026 -0700"
      },
      "message": "Merge pull request #4939 from fresh3nough:fix/cmake-python3-find-4847\n\nPiperOrigin-RevId: 949359007\nChange-Id: I3935301d293d9165db7dcda0c64cc821bdfe5186\n"
    },
    {
      "commit": "a25f43576effe4ebe887412a603cddfa8fc3ba64",
      "tree": "4ee3f8aff6841605f9054ec4d8d9406d808b590a",
      "parents": [
        "b973ccb9abe2c68332ba1da41e44ed9261b62491"
      ],
      "author": {
        "name": "Bogdan Graur",
        "email": "bgraur@google.com",
        "time": "Wed Jul 15 18:50:43 2026 -0700"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Wed Jul 15 18:51:05 2026 -0700"
      },
      "message": "Fixes `-Wtautological-pointer-compare` in gmock-matchers\n\nPiperOrigin-RevId: 948667420\nChange-Id: Ibb35d7e6469a193607a72f10377ef3a494f9525f\n"
    },
    {
      "commit": "b973ccb9abe2c68332ba1da41e44ed9261b62491",
      "tree": "237aa38882058378202bf789d393b8d984f45f29",
      "parents": [
        "f132c893119698e10daef8525d0ad7a3f05176f2",
        "86ec940f63070bba2407a89c95168fab957f1eb6"
      ],
      "author": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Wed Jul 15 07:37:08 2026 -0700"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Wed Jul 15 07:37:08 2026 -0700"
      },
      "message": "Merge pull request #5025 from K-S-Manikandan:fix/output-test-python3\n\nPiperOrigin-RevId: 948328634\nChange-Id: I9d2c42a63138095b88cc0cff16f69e8220ee1dfd\n"
    },
    {
      "commit": "f132c893119698e10daef8525d0ad7a3f05176f2",
      "tree": "92c770972a0ec051db35ace198889874e00ce5de",
      "parents": [
        "961158b5e3cf8ea4560863d65b33d0d4ca790b1a",
        "bc410696f469c79e2add871483b12610ee3eb3d2"
      ],
      "author": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Sat Jul 11 21:38:07 2026 -0700"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Sat Jul 11 21:38:07 2026 -0700"
      },
      "message": "Merge pull request #5019 from kamleshkumaryadav5951-pixel:fix-emscripten-pthread-odr\n\nPiperOrigin-RevId: 946412596\nChange-Id: I86547a9de58b29f038e5bcdd21dadbad9506888d\n"
    },
    {
      "commit": "961158b5e3cf8ea4560863d65b33d0d4ca790b1a",
      "tree": "942e4978e36146d5b4150e86d6c1958cf83e368d",
      "parents": [
        "8240fa7d62f73e01c7af27d61ed965d6d66698fa",
        "d54d30fecb5d37d8d50e8123f715bea206e72ca3"
      ],
      "author": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Sat Jul 11 21:03:28 2026 -0700"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Sat Jul 11 21:03:28 2026 -0700"
      },
      "message": "Merge pull request #4869 from phst:alwayslink\n\nPiperOrigin-RevId: 946402457\nChange-Id: I78650f118c24fb668bf51e861cf910a997ff227d\n"
    },
    {
      "commit": "86ec940f63070bba2407a89c95168fab957f1eb6",
      "tree": "97a22110469c92e403c1b145ad02bcacf7559627",
      "parents": [
        "8240fa7d62f73e01c7af27d61ed965d6d66698fa"
      ],
      "author": {
        "name": "Manikandan K. S.",
        "email": "maniksvlr@gmail.com",
        "time": "Sat Jul 11 19:33:21 2026 +0530"
      },
      "committer": {
        "name": "Manikandan K. S.",
        "email": "maniksvlr@gmail.com",
        "time": "Sat Jul 11 19:37:13 2026 +0530"
      },
      "message": "fix: Python 3 crash in googletest-output-test.py debug mode\n\nFixes #3943\n\nChange file open mode from \u0027wb\u0027 (binary) to \u0027w\u0027 (text) when writing\nnormalized output in DEBUG_GTEST_OUTPUT_TEST mode.\n"
    },
    {
      "commit": "bc410696f469c79e2add871483b12610ee3eb3d2",
      "tree": "f91846a3c39217624161f77e1261d39e2f08df4b",
      "parents": [
        "8240fa7d62f73e01c7af27d61ed965d6d66698fa"
      ],
      "author": {
        "name": "kamlesh kumar yadav",
        "email": "kamleshkumaryadav5951@gmail.com",
        "time": "Thu Jul 09 12:23:52 2026 +0530"
      },
      "committer": {
        "name": "kamlesh kumar yadav",
        "email": "kamleshkumaryadav5951@gmail.com",
        "time": "Thu Jul 09 12:23:52 2026 +0530"
      },
      "message": "Support pthread-enabled Emscripten in GTEST_HAS_PTHREAD\n"
    },
    {
      "commit": "8240fa7d62f73e01c7af27d61ed965d6d66698fa",
      "tree": "210b26c52bcba9e04b57505a5cc01686ccbfbc7f",
      "parents": [
        "7d012aa1624ecb83925d2ff9135610a40526f370",
        "18c6bc3dc4123f688943824d3a1cf31dc29c1642"
      ],
      "author": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Tue Jul 07 16:54:00 2026 -0700"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Tue Jul 07 16:54:00 2026 -0700"
      },
      "message": "Merge pull request #5011 from K-S-Manikandan:fix/compare-lib-android\n\nPiperOrigin-RevId: 944164816\nChange-Id: Ia57a34e3caf93d23b6a13c49e2455901c98e942a\n"
    },
    {
      "commit": "7d012aa1624ecb83925d2ff9135610a40526f370",
      "tree": "0678fe8b9a1526f4d61a76009095215a4fbd955d",
      "parents": [
        "cd975499e81df1763e42b85235acba4564f416ff"
      ],
      "author": {
        "name": "Mike Kruskal",
        "email": "mkruskal@google.com",
        "time": "Tue Jul 07 15:08:58 2026 -0700"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Tue Jul 07 15:11:54 2026 -0700"
      },
      "message": "Fail smoothly for nullptr on c-style strings in IsEmpty\n\nPiperOrigin-RevId: 944115454\nChange-Id: I99284439b0c0e0acee1cb4e12f2d0b8d422c83ba\n"
    },
    {
      "commit": "cd975499e81df1763e42b85235acba4564f416ff",
      "tree": "a7bf1f5e64ece39628c48af6be80fb7c169013bc",
      "parents": [
        "3064a609c7a86ac9fb601a9cc5dea6ddb45ba49d",
        "df4fdc5cfd2888d51a03ca45ab75a9a305ef065a"
      ],
      "author": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Tue Jul 07 12:49:50 2026 -0700"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Tue Jul 07 12:49:50 2026 -0700"
      },
      "message": "Merge pull request #5008 from K-S-Manikandan:fix/wide-string-isempty\n\nPiperOrigin-RevId: 944044650\nChange-Id: I9dcd6625f41f4f098439d222c26383150f7e8f6a\n"
    },
    {
      "commit": "3064a609c7a86ac9fb601a9cc5dea6ddb45ba49d",
      "tree": "68379fc32a61e87b8ce23e7905bb95cfaefd6f88",
      "parents": [
        "3549aa63f2931850365545071ab466d6b2de041a",
        "5b39f4c876478da1620e1fe4b0bba8e6f5ea139f"
      ],
      "author": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Tue Jul 07 08:32:49 2026 -0700"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Tue Jul 07 08:32:49 2026 -0700"
      },
      "message": "Merge pull request #5005 from tejas-sharma27:fix-help-missing-flags\n\nPiperOrigin-RevId: 943911159\nChange-Id: I42c77c8ec667c37032563c92e4b8190473892b77\n"
    },
    {
      "commit": "3549aa63f2931850365545071ab466d6b2de041a",
      "tree": "37ee2315ab2c6f8e04151a7bb495b753c68063d0",
      "parents": [
        "985d542c73604f9d7d5ff3ba2a4b39a6c45bfbe0",
        "1c2082e8bd391683de14c8e2cb7c10c384198fbc"
      ],
      "author": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Mon Jul 06 20:45:23 2026 -0700"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Mon Jul 06 20:45:23 2026 -0700"
      },
      "message": "Merge pull request #5006 from K-S-Manikandan:fix/readme-fullstops\n\nPiperOrigin-RevId: 943641260\nChange-Id: I66e46d88e36282b283124f1dec327bafe425bcef\n"
    },
    {
      "commit": "985d542c73604f9d7d5ff3ba2a4b39a6c45bfbe0",
      "tree": "eedf46e025719f95a82a45080355b5c8640863b3",
      "parents": [
        "973323ed64a05b128418e7eab67016db5ba049df",
        "22bda2ba1538a7995501cf5b2fbc5cdfc5b444ab"
      ],
      "author": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Mon Jul 06 14:24:28 2026 -0700"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Mon Jul 06 14:24:28 2026 -0700"
      },
      "message": "Merge pull request #5010 from K-S-Manikandan:fix/main-version-bump\n\nPiperOrigin-RevId: 943495261\nChange-Id: I38548207cd67695c2fb76b64b47b46f21b783e2c\n"
    },
    {
      "commit": "18c6bc3dc4123f688943824d3a1cf31dc29c1642",
      "tree": "036b20b4bbbdd9a0ea9e334db0af80251f594d2b",
      "parents": [
        "973323ed64a05b128418e7eab67016db5ba049df"
      ],
      "author": {
        "name": "Manikandan K. S.",
        "email": "maniksvlr@gmail.com",
        "time": "Sun Jul 05 09:03:35 2026 +0530"
      },
      "committer": {
        "name": "Manikandan K. S.",
        "email": "maniksvlr@gmail.com",
        "time": "Sun Jul 05 09:04:37 2026 +0530"
      },
      "message": "fix: only use __cpp_lib_three_way_comparison for \u003ccompare\u003e detection\n\nThe fallback check GTEST_INTERNAL_HAS_INCLUDE(\u003ccompare\u003e) \u0026\u0026 C++20 causes build failures on Android NDK 24 which has the header but lacks the full comparison operators needed by PrintTo. The feature test macro __cpp_lib_three_way_comparison is the reliable indicator.\n\nFixes #4933\n"
    },
    {
      "commit": "22bda2ba1538a7995501cf5b2fbc5cdfc5b444ab",
      "tree": "eedf46e025719f95a82a45080355b5c8640863b3",
      "parents": [
        "973323ed64a05b128418e7eab67016db5ba049df"
      ],
      "author": {
        "name": "Manikandan K. S.",
        "email": "maniksvlr@gmail.com",
        "time": "Sun Jul 05 08:54:29 2026 +0530"
      },
      "committer": {
        "name": "Manikandan K. S.",
        "email": "maniksvlr@gmail.com",
        "time": "Sun Jul 05 08:54:29 2026 +0530"
      },
      "message": "chore: bump main branch version to 1.18.0\n"
    },
    {
      "commit": "df4fdc5cfd2888d51a03ca45ab75a9a305ef065a",
      "tree": "1f69f914a3e054b7a37d0bc30041199de61d19d0",
      "parents": [
        "973323ed64a05b128418e7eab67016db5ba049df"
      ],
      "author": {
        "name": "Manikandan K. S.",
        "email": "maniksvlr@gmail.com",
        "time": "Sat Jul 04 22:50:12 2026 +0530"
      },
      "committer": {
        "name": "Manikandan K. S.",
        "email": "maniksvlr@gmail.com",
        "time": "Sat Jul 04 22:50:12 2026 +0530"
      },
      "message": "fix: add C-style wide string overload to IsEmpty matcher\n"
    },
    {
      "commit": "1c2082e8bd391683de14c8e2cb7c10c384198fbc",
      "tree": "09a8b0fae6b176e266df0402c09a69db00a99468",
      "parents": [
        "973323ed64a05b128418e7eab67016db5ba049df"
      ],
      "author": {
        "name": "Manikandan K. S.",
        "email": "maniksvlr@gmail.com",
        "time": "Sat Jul 04 22:14:52 2026 +0530"
      },
      "committer": {
        "name": "Manikandan K. S.",
        "email": "maniksvlr@gmail.com",
        "time": "Sat Jul 04 22:14:52 2026 +0530"
      },
      "message": "docs: add missing full stops to feature descriptions in README\n"
    },
    {
      "commit": "5b39f4c876478da1620e1fe4b0bba8e6f5ea139f",
      "tree": "88922bc9b072b1a26561cb7eed8a0c476887793a",
      "parents": [
        "973323ed64a05b128418e7eab67016db5ba049df"
      ],
      "author": {
        "name": "Tejas Sharma",
        "email": "sharma.tejas4776@gmail.com",
        "time": "Sat Jul 04 21:54:09 2026 +0530"
      },
      "committer": {
        "name": "Tejas Sharma",
        "email": "sharma.tejas4776@gmail.com",
        "time": "Sat Jul 04 21:54:09 2026 +0530"
      },
      "message": "Add missing public flags to --help output\n"
    },
    {
      "commit": "973323ed64a05b128418e7eab67016db5ba049df",
      "tree": "cc6c1ea291308dd9b2dc667cb283561dee067676",
      "parents": [
        "78f6d54f9f418292edaeb48e83ff52838b17cc04"
      ],
      "author": {
        "name": "Clayton Knittel",
        "email": "cknittel@google.com",
        "time": "Tue Jun 30 12:20:38 2026 -0700"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Tue Jun 30 12:20:56 2026 -0700"
      },
      "message": "Delay name resolution by un-qualifying `DynamicCastMessage` calls from gMock.\n\nSince we can\u0027t directly depend on proto headers, we rely on ADL + proto headers being included by calling code for this matcher to choose the right overload of `DynamicCastMessage`.\n\nPiperOrigin-RevId: 940593408\nChange-Id: I7374aed3c5cfe61a183d28ea02e6583ab340f647\n"
    },
    {
      "commit": "78f6d54f9f418292edaeb48e83ff52838b17cc04",
      "tree": "f91629a969006b9e73ef3d14dc4120e5ae034e70",
      "parents": [
        "8b53336594cc52213c6c2c7a0b29194fa896d039",
        "d4a1a3599b36f37b14422a6c8150f927582f6606"
      ],
      "author": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Mon Jun 29 10:41:38 2026 -0700"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Mon Jun 29 10:41:38 2026 -0700"
      },
      "message": "Merge pull request #5003 from fuzzard:fix_cmake_pdb_output\n\nPiperOrigin-RevId: 939912323\nChange-Id: I2069975b7ba0d9decdf8c61ad77139494886469a\n"
    },
    {
      "commit": "8b53336594cc52213c6c2c7a0b29194fa896d039",
      "tree": "8fec8094d046bdbd6a92059346de5040676fdc3f",
      "parents": [
        "aa40ee603ebbc0d4ebef4224ece54a6ae4382d0e"
      ],
      "author": {
        "name": "Abseil Team",
        "email": "absl-team@google.com",
        "time": "Tue Jun 23 06:45:04 2026 -0700"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Tue Jun 23 06:45:34 2026 -0700"
      },
      "message": "Automated Code Change\n\nPiperOrigin-RevId: 936635684\nChange-Id: I3b1bfa2ef921cdc3d0aaa1fc95986b64a9ad0282\n"
    },
    {
      "commit": "aa40ee603ebbc0d4ebef4224ece54a6ae4382d0e",
      "tree": "12e4f4ac66c2c10ec6c4c5ae701e41d474bee4fd",
      "parents": [
        "1fc11dea107bde2a92dad7a9ed1b960978f1065a"
      ],
      "author": {
        "name": "Abseil Team",
        "email": "absl-team@google.com",
        "time": "Tue Jun 23 06:02:44 2026 -0700"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Tue Jun 23 06:03:11 2026 -0700"
      },
      "message": "Automated Code Change\n\nPiperOrigin-RevId: 936616624\nChange-Id: I3a05afadf807fc372337186c26b5d73a2bc21410\n"
    },
    {
      "commit": "d4a1a3599b36f37b14422a6c8150f927582f6606",
      "tree": "467816158c67a49364f21db0d57ebd03e24336cf",
      "parents": [
        "1fc11dea107bde2a92dad7a9ed1b960978f1065a"
      ],
      "author": {
        "name": "Brent Murphy",
        "email": "bmurphy@bcmcs.net",
        "time": "Mon Jun 22 18:27:35 2026 +1000"
      },
      "committer": {
        "name": "fuzzard",
        "email": "fuzzard@kodi.tv",
        "time": "Mon Jun 22 19:05:27 2026 +1000"
      },
      "message": "cmake: Fix PDB output dir for install of static and shared lib\n\nPR https://github.com/google/googletest/pull/3940 added COMPILE_PDB_OUTPUT_DIRECTORY\nwithout updating the install command to accommodate the two PDB properties.\nCOMPILE_PDB_* and PDB_* properties are two distinct properties that affect static\n(COMPILE_PDB_*) and shared (PDB_*) separately.\nThis commit adds cmake install rule for both types (optionally) to install when available\n"
    },
    {
      "commit": "1fc11dea107bde2a92dad7a9ed1b960978f1065a",
      "tree": "693a45c0a2678f0de10414194662a5ba64f3ee67",
      "parents": [
        "0b1e895ba4226c2fda5ee0178c9b5b1195a741aa"
      ],
      "author": {
        "name": "Abseil Team",
        "email": "absl-team@google.com",
        "time": "Mon Jun 22 00:44:06 2026 -0700"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Mon Jun 22 00:44:28 2026 -0700"
      },
      "message": "Automated Code Change\n\nPiperOrigin-RevId: 935893961\nChange-Id: I90f8e57a7337f66a2afd37a2f0bc0e418e1ef51e\n"
    },
    {
      "commit": "0b1e895ba4226c2fda5ee0178c9b5b1195a741aa",
      "tree": "0bcc4610f86313142bc4314159656bef41ccb058",
      "parents": [
        "44f22083d7b7e64c061d1cb94c429e3fd17d586d"
      ],
      "author": {
        "name": "Clayton Knittel",
        "email": "cknittel@google.com",
        "time": "Tue Jun 16 13:31:36 2026 -0700"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Tue Jun 16 13:32:04 2026 -0700"
      },
      "message": "Specialize testing::WhenDynamicCastTo for protobuf messages.\n\nProtobuf messages have a custom dynamic_cast, for when RTTI is not available on the messages.\n\nPiperOrigin-RevId: 933270097\nChange-Id: Iaeb50bce3fe1b746306a7507ab1985b111c03416\n"
    },
    {
      "commit": "44f22083d7b7e64c061d1cb94c429e3fd17d586d",
      "tree": "7a84e930a171530d9be7008b534c3d3a8a959964",
      "parents": [
        "7140cd416cecd7462a8aae488024abeee55598e4"
      ],
      "author": {
        "name": "Abseil Team",
        "email": "absl-team@google.com",
        "time": "Mon Jun 15 20:53:52 2026 -0700"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Mon Jun 15 20:54:24 2026 -0700"
      },
      "message": "Automated Code Change\n\nPiperOrigin-RevId: 932837091\nChange-Id: Ie65ce7e76ecb97b62483b8ee0ba95e5a96b8039e\n"
    },
    {
      "commit": "b7ced159dbb789c70d4c502393e06ffac8c0e23d",
      "tree": "03de9ebffb9278b42b2946915ed1755cb1255d33",
      "parents": [
        "7140cd416cecd7462a8aae488024abeee55598e4"
      ],
      "author": {
        "name": "Niclas Larsson",
        "email": "niclas@edgesystems.se",
        "time": "Thu Jun 04 19:45:38 2026 +0200"
      },
      "committer": {
        "name": "Niclas Larsson",
        "email": "niclas@edgesystems.se",
        "time": "Thu Jun 04 19:56:55 2026 +0200"
      },
      "message": "Avoid is_constructible recursion in OnceAction\n\nBoth OnceAction compatibility traits, IsDirectlyCompatible and\nIsCompatibleAfterIgnoringArguments, check std::is_constructible before\nis_callable_r.\n\nOn libc++ that order breaks. Evaluating\nis_constructible\u003cstd::tuple\u003cOnceAction\u0026\u0026\u003e, ...\u003e drives libc++\u0027s tuple\nconstructor SFINAE, which calls back into OnceAction\u0027s converting\nconstructor and re-enters the conjunction while it is still incomplete.\nGCC \u003c\u003d 8 (e.g. QNX 7.1\u0027s gcc 8.3) rejects this with:\n\n    incomplete type ... used in nested name specifier\n\nso EXPECT_CALL(m, f()).WillOnce(Return(...)) fails to compile. GCC \u003e\u003d 9\nand every Clang accept the original order; libstdc++ is unaffected.\n\nSwapping the two checks fixes it: is_callable_r is cheap and\nnon-recursive, so the conjunction short-circuits to false for the\nnon-callable tuple before is_constructible is instantiated.\n\nFixes #3947.\n"
    },
    {
      "commit": "7140cd416cecd7462a8aae488024abeee55598e4",
      "tree": "1aae06bd69161c98dc3ede28f80cd0d7be963602",
      "parents": [
        "a721f1b20c605f635413e22d8b7427a8b4f3956c"
      ],
      "author": {
        "name": "Mike Kruskal",
        "email": "mkruskal@google.com",
        "time": "Tue Jun 02 18:02:33 2026 -0700"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Tue Jun 02 18:03:04 2026 -0700"
      },
      "message": "Flip the recommendation about using EXPECT statements inside custom matchers.\n\nPiperOrigin-RevId: 925686474\nChange-Id: I7b5d7e82dc8618d6914844446fa260468b947ece\n"
    },
    {
      "commit": "a721f1b20c605f635413e22d8b7427a8b4f3956c",
      "tree": "12fc05fcf1e222dbe6d9f493863949c31ef001dd",
      "parents": [
        "8736d2cd5c1dcba41170ed2fddca14021d4916c3"
      ],
      "author": {
        "name": "Abseil Team",
        "email": "absl-team@google.com",
        "time": "Sat May 30 20:49:05 2026 -0700"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Sat May 30 20:49:30 2026 -0700"
      },
      "message": "Automated Code Change\n\nPiperOrigin-RevId: 924116072\nChange-Id: I3e04ebbff65c897e50c37e1a47a2018f31382104\n"
    },
    {
      "commit": "8736d2cd5c1dcba41170ed2fddca14021d4916c3",
      "tree": "2544b01d4bcf98dc898a31a65d7bd0a900290cf9",
      "parents": [
        "09f45f51fb0881db7ad6230383da99d70f75bcc2"
      ],
      "author": {
        "name": "Aaron Jacobs",
        "email": "jacobsa@google.com",
        "time": "Tue May 26 01:30:27 2026 -0700"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Tue May 26 01:30:54 2026 -0700"
      },
      "message": "`gmock-spec-builders`: support mocking const-qualified function types.\n\nIn particular this automatically gives us support for examples like the\nfollowing:\n\n    using SomeFn \u003d absl::AnyInvocable\u003cR(Args...) const\u003e;\n    MockFunction\u003cSomeFn\u003e some_fn;\n\nPiperOrigin-RevId: 921303527\nChange-Id: I19bf59671781e85db65cc20c0d6ea10b056c528a\n"
    },
    {
      "commit": "09f45f51fb0881db7ad6230383da99d70f75bcc2",
      "tree": "f8a818ceeffc33f215664fd9791f77419bf29dfd",
      "parents": [
        "add971c7cb497d40985b48641891bf9b51423730"
      ],
      "author": {
        "name": "Abseil Team",
        "email": "absl-team@google.com",
        "time": "Sun May 24 16:31:04 2026 -0700"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Sun May 24 16:31:25 2026 -0700"
      },
      "message": "Mark gtest_dt_ptr as const.\n\nPiperOrigin-RevId: 920667027\nChange-Id: I3dd71c96e206eb19bf3e62bb08ce7043d83fb526\n"
    },
    {
      "commit": "add971c7cb497d40985b48641891bf9b51423730",
      "tree": "2e25543f42fa6eff8fe82acd0cdf727626c6a22b",
      "parents": [
        "dc3c9eda2f02ba32de9329dd27ace7e527f492dc"
      ],
      "author": {
        "name": "Abseil Team",
        "email": "absl-team@google.com",
        "time": "Wed May 20 02:39:23 2026 -0700"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Wed May 20 02:39:49 2026 -0700"
      },
      "message": "Introduce `ContainsSubsequence` matcher.\n\nSubsequences are defined as: \"a subsequence of a given sequence is a sequence that can be derived from the given sequence by deleting some or no elements without changing the order of the remaining elements.\"\nSee: https://en.wikipedia.org/wiki/Subsequence\n\nThis new matcher checks if a container contains elements that match a given sequence of matchers in the specified order, but not necessarily contiguously.\nThe implementation is very similar to other matchers like ElementsAre or Contains.\n\nPiperOrigin-RevId: 918323422\nChange-Id: I56d7ebbe6f81038c93546ef7585db59eea5dbd57\n"
    },
    {
      "commit": "4969916f0cf575140a807f015a6c12a2fbbbea7a",
      "tree": "210ace1ae4d4721879a03bc1206c726240a46f70",
      "parents": [
        "dc3c9eda2f02ba32de9329dd27ace7e527f492dc"
      ],
      "author": {
        "name": "Michael Hirsch",
        "email": "scivision@users.noreply.github.com",
        "time": "Fri Jul 11 14:19:17 2025 -0400"
      },
      "committer": {
        "name": "scivision",
        "email": "scivision@users.noreply.github.com",
        "time": "Fri May 15 18:49:58 2026 -0400"
      },
      "message": "CMake compatible with Intel oneAPI \u003e\u003d 2025.2\n\nref: https://community.intel.com/t5/Intel-oneAPI-DPC-C-Compiler/oneAPI-2025-2-warning-10430-Wno-implicit-float-size-conversion/m-p/1699832/highlight/true#M4492\n"
    },
    {
      "commit": "dc3c9eda2f02ba32de9329dd27ace7e527f492dc",
      "tree": "7667c3fb375bb914e63e32acfa8131f5c073692c",
      "parents": [
        "d72f9c8aea6817cdf1ca0ac10887f328de7f3da2"
      ],
      "author": {
        "name": "Abseil Team",
        "email": "absl-team@google.com",
        "time": "Fri May 15 11:10:38 2026 -0700"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Fri May 15 11:11:10 2026 -0700"
      },
      "message": "Double the MOCK_METHOD parameter count limit to mitigate users running into it\n\nPiperOrigin-RevId: 916092228\nChange-Id: Ifb22a4583b3cf8e4b31a51a5f7373137c9e3b9f0\n"
    },
    {
      "commit": "d72f9c8aea6817cdf1ca0ac10887f328de7f3da2",
      "tree": "73d2b80cb8ee41083f6e29c651cb2da7c9639211",
      "parents": [
        "5fddfab2d22270b0b4608bbb20e4ebb65c22af24"
      ],
      "author": {
        "name": "Dillon Sharlet",
        "email": "dsharlet@google.com",
        "time": "Tue Mar 31 07:21:41 2026 -0700"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Tue Mar 31 07:22:05 2026 -0700"
      },
      "message": "Add `--gtest_shard_index` and `--gtest_total_shards` command line arguments.\n\nThis uses the environment variables as the default value for the command line argument, so this is not a breaking change to most reasonable existing use cases. This *is* a breaking change if a process expects changes to the sharding environment variables to be visible after parsing the command line arguments.\n\nThe motivation for this is that some environments do not support environment variables, which prevents the usage of test sharding. These environments also run on simulators and other slow hardware, where sharding is especially important. I\u0027ve tried a few other things, like hacking together a fake implementation of `getenv`/`setenv`, but this is a pretty unreliable approach on the platform in question.\n\nThis also seems like an improvement in consistency to me. Currently, other test selection mechanisms (e.g. filtering, shuffling, repeat), `use arguments (or at least have command line arguments as an option), while as far as I can tell, sharding is the only mechanism which can *only* be specified with environment variables.\n\nPiperOrigin-RevId: 892324928\nChange-Id: I5cf814e46e16072e7c160e54c426b02300fe712b\n"
    },
    {
      "commit": "5fddfab2d22270b0b4608bbb20e4ebb65c22af24",
      "tree": "e8ee92193643b36cce50fd3a38dfff4fd3e32fea",
      "parents": [
        "2461743991f9aa53e9a3625eafcbacd81a3c74cd"
      ],
      "author": {
        "name": "Abseil Team",
        "email": "absl-team@google.com",
        "time": "Mon Mar 30 10:45:53 2026 -0700"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Mon Mar 30 10:47:55 2026 -0700"
      },
      "message": "Define DieInCRTDebugElse12() inside #ifdef _DEBUG\n\nDieInCRTDebugElse12() is only used inside a #ifdef _DEBUG block. Put\nits definition inside a #ifdef _DEBUG block, too, otherwise we get a\n\"defined but not used [-Wunused-function]\" warning under MinGW GCC.\n\nPiperOrigin-RevId: 891795658\nChange-Id: Ic9109eebc354dd20b2a5430794f491c9b451931f\n"
    },
    {
      "commit": "2461743991f9aa53e9a3625eafcbacd81a3c74cd",
      "tree": "a90e84d7e2e3d88820f11b88432ef33456388068",
      "parents": [
        "015950a936fc6b7cadca20eb0dbf6f054e6637fb"
      ],
      "author": {
        "name": "Abseil Team",
        "email": "absl-team@google.com",
        "time": "Fri Mar 27 21:30:13 2026 -0700"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Fri Mar 27 21:30:37 2026 -0700"
      },
      "message": "Automated Code Change\n\nPiperOrigin-RevId: 890778982\nChange-Id: Idef51b737a250560d0b71130e6e87b6249d8c47a\n"
    },
    {
      "commit": "015950a936fc6b7cadca20eb0dbf6f054e6637fb",
      "tree": "a6fccaa4ff761c2093f7fd5f3e2dadacdb18f20a",
      "parents": [
        "f38004c441a2d7ba004853bb0863ff2b2571f461"
      ],
      "author": {
        "name": "Abseil Team",
        "email": "absl-team@google.com",
        "time": "Tue Mar 24 10:53:03 2026 -0700"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Tue Mar 24 10:53:29 2026 -0700"
      },
      "message": "Add an implmenetation of Notification for MinGW\n\nAdd an alternative implementation of the Notification class for MinGW\nusing a Windows manual-reset event object.\n\nGCC version \u003c 13 in MinGW, if configured with the win32 thread model\n(with the --enable-threads\u003dwin32 configure option), does not implement\nstd::mutex and std::condition_variable in the \u003cmutex\u003e and\n\u003ccondition_variable\u003e headers. So the current implementation of the\nNotification class, which uses std::mutex and std::condition_variable,\nhas compilation errors. Windows has a synchronization object called a\nmanual-reset event object that behaves just like the Notification class.\nSo we can easily implement the Notification class using a Windows\nmanual-reset event object.\n\nThis GCC issue is fixed in GCC 13. See\nhttps://gcc.gnu.org/gcc-13/changes.html#windows. This alternative\nimplementation of Notification should be removed when GoogleTest\nrequires GCC version \u003e\u003d 13 in MinGW.\n\nFixes https://github.com/google/googletest/issues/4031 and\nhttps://github.com/google/googletest/issues/4464.\n\nPiperOrigin-RevId: 888752598\nChange-Id: I69e01b2e7953e1fe72d87b6d0804c7a8a8d0e740\n"
    },
    {
      "commit": "f38004c441a2d7ba004853bb0863ff2b2571f461",
      "tree": "7d346405725db60a5456a721efbfd61c9e7531ff",
      "parents": [
        "94be250af7e14c58dcbf476972d2d7141551ff67"
      ],
      "author": {
        "name": "Abseil Team",
        "email": "absl-team@google.com",
        "time": "Fri Mar 20 11:41:35 2026 -0700"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Fri Mar 20 11:42:04 2026 -0700"
      },
      "message": "Fix typo in monomorphic matcher documentation.\n\nPiperOrigin-RevId: 886900324\nChange-Id: I96832e8162b4631783cf0f2badf160d18d3256f8\n"
    },
    {
      "commit": "94be250af7e14c58dcbf476972d2d7141551ff67",
      "tree": "f094b26c3851caaf8ccc85c95ea3baa414579831",
      "parents": [
        "a35bc7693c117a048152beeb34f6aac354b9423f"
      ],
      "author": {
        "name": "Krzysztof Kosiński",
        "email": "krzysio@google.com",
        "time": "Tue Mar 10 11:25:30 2026 -0700"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Tue Mar 10 11:25:48 2026 -0700"
      },
      "message": "Add documentation for two-argument floating point matchers.\n\nPiperOrigin-RevId: 881536386\nChange-Id: Idd38bded4dda5a0d0c1c5fd7847fc8134e7c2ece\n"
    },
    {
      "commit": "a35bc7693c117a048152beeb34f6aac354b9423f",
      "tree": "7b18260f32a7a3eeb03a4dbf11c208524b6c1b8e",
      "parents": [
        "73a63ea05dc8ca29ec1d2c1d66481dd0de1950f1"
      ],
      "author": {
        "name": "Abseil Team",
        "email": "absl-team@google.com",
        "time": "Thu Mar 05 10:07:49 2026 -0800"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Thu Mar 05 10:09:30 2026 -0800"
      },
      "message": "Make gmock-matchers.h auto-detect the value_type of ranges that don\u0027t have a typedef for it based on the ranges\u0027 iterators\n\nThis is needed for ranges such as [`std::ranges::subrange`](https://en.cppreference.com/w/cpp/ranges/subrange.html) that don\u0027t expose the typical typedefs.\n\nPiperOrigin-RevId: 879124865\nChange-Id: Ie89e6ff249ee861d1b2d880079dc162bb9801679\n"
    },
    {
      "commit": "f426a71abf31a26d0f68523e221c9ed48bac9570",
      "tree": "7b7010e0e7b2ca416979e456ae9edd2b40f8d1f1",
      "parents": [
        "73a63ea05dc8ca29ec1d2c1d66481dd0de1950f1"
      ],
      "author": {
        "name": "fresh3nough",
        "email": "anonwurcod@proton.me",
        "time": "Sat Feb 28 16:19:07 2026 +0000"
      },
      "committer": {
        "name": "fresh3nough",
        "email": "anonwurcod@proton.me",
        "time": "Sat Feb 28 16:19:07 2026 +0000"
      },
      "message": "Fix CMake 3.22 crash in find_package(Python3) when Python is absent\n"
    },
    {
      "commit": "73a63ea05dc8ca29ec1d2c1d66481dd0de1950f1",
      "tree": "f07bec51017d10c831319a6494c953a4dab8f4c1",
      "parents": [
        "a407966592e8aab5c7b0757867a2f0585175fe80"
      ],
      "author": {
        "name": "Abseil Team",
        "email": "absl-team@google.com",
        "time": "Tue Feb 24 09:26:47 2026 -0800"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Tue Feb 24 09:27:22 2026 -0800"
      },
      "message": "Improve str concatenation performance on MatchesTest\n\nUpdate str concatenation, instead of use operation+ use absl::StrCat\nwhenever available.\n\nPiperOrigin-RevId: 874649732\nChange-Id: I0acd91c04a9e50fa306e7130479bc330c1a0f068\n"
    },
    {
      "commit": "a407966592e8aab5c7b0757867a2f0585175fe80",
      "tree": "1092924cc29962f5d5d2cfadd3decc9585b3cbb9",
      "parents": [
        "73e0fc18ebad8754ce490b8bfe31a64efc4a3de7"
      ],
      "author": {
        "name": "Abseil Team",
        "email": "absl-team@google.com",
        "time": "Mon Feb 23 11:30:09 2026 -0800"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Mon Feb 23 11:30:44 2026 -0800"
      },
      "message": "Revert Optimize copying of matchers vector to speed up `ElementsAreArray` by reserving a `std::vector` copied via `push_back`.\n\nIf the iterators are forward iterators, we can measure the size and reserve the vector, avoiding reallocations and copying.\n\nPiperOrigin-RevId: 874172640\nChange-Id: Ie081fdf7952858d7e41ddda63a3ae15d9867c8c5\n"
    },
    {
      "commit": "73e0fc18ebad8754ce490b8bfe31a64efc4a3de7",
      "tree": "39438ecc8f4fcef119d0b0f14a69cff511d7186d",
      "parents": [
        "e9907112b47255d50b4d343e7e2160bce8dc85d1"
      ],
      "author": {
        "name": "Dillon Sharlet",
        "email": "dsharlet@google.com",
        "time": "Mon Feb 23 10:01:31 2026 -0800"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Mon Feb 23 10:02:03 2026 -0800"
      },
      "message": "Optimize copying of matchers vector to speed up `ElementsAreArray` by reserving a `std::vector` copied via `push_back`.\n\nIf the iterators are forward iterators, we can measure the size and reserve the vector, avoiding reallocations and copying.\n\nPiperOrigin-RevId: 874129590\nChange-Id: I6cdcaf38e28ac90c1cf596977b703d8de93994e5\n"
    },
    {
      "commit": "e9907112b47255d50b4d343e7e2160bce8dc85d1",
      "tree": "1092924cc29962f5d5d2cfadd3decc9585b3cbb9",
      "parents": [
        "850cb69efda7ef00aed1c08fbe2bc1b6b4e615ee"
      ],
      "author": {
        "name": "Abseil Team",
        "email": "absl-team@google.com",
        "time": "Fri Feb 20 07:09:50 2026 -0800"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Fri Feb 20 07:10:28 2026 -0800"
      },
      "message": "Update doc for Optional.\n\nChange a mention of Eq(Optional(nullopt)) to Optional(Eq(nullopt)).\n\nOptional is supposed to wrap matchers, not values. For example, Optional(\"bla\") doesn\u0027t compile but Optional(std::string(\"bla\")) does. Optional(Eq(\"bla\")) is the functionally correct version. Eq() cannot wrap a matcher.\n\nPiperOrigin-RevId: 872885639\nChange-Id: I941f515308fa419162998073f6da9731fcf2168a\n"
    },
    {
      "commit": "850cb69efda7ef00aed1c08fbe2bc1b6b4e615ee",
      "tree": "d553a8877787f74fa3badae2ff7afda214fe5d16",
      "parents": [
        "77f6bd3e75a2e7d3c67a024893417de42f58c418"
      ],
      "author": {
        "name": "Max Shavrick",
        "email": "mxms@google.com",
        "time": "Tue Feb 17 10:26:14 2026 -0800"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Tue Feb 17 10:26:39 2026 -0800"
      },
      "message": "Add string_view overload to AssertHelper\n\nPiperOrigin-RevId: 871382613\nChange-Id: I286ccbf8b8622a740e99642b4ed853e9f67cf51c\n"
    },
    {
      "commit": "77f6bd3e75a2e7d3c67a024893417de42f58c418",
      "tree": "75d28a5acb98a44151cfc1f40742e84b61798084",
      "parents": [
        "f68374efa7fd5bdadabb96eb8c980d43bb289b50"
      ],
      "author": {
        "name": "Abseil Team",
        "email": "absl-team@google.com",
        "time": "Thu Feb 12 06:24:38 2026 -0800"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Thu Feb 12 06:25:24 2026 -0800"
      },
      "message": "Update comment for SizeIs matcher.\n\nClarify that SizeIs only requires the container to have a size() method, and the argument type can be any type compatible with the return type of size(). The previous comment incorrectly mentioned a requirement for size_type.\n\nPiperOrigin-RevId: 869184176\nChange-Id: Ib2d867fbfecde0006734772cf07958871a171199\n"
    },
    {
      "commit": "f68374efa7fd5bdadabb96eb8c980d43bb289b50",
      "tree": "84e65aa52a7ce5975d5c07aa1ec0e44b3f0c5c89",
      "parents": [
        "ef6cf65af52cde36d0a3685edac28a3a7399f789"
      ],
      "author": {
        "name": "Abseil Team",
        "email": "absl-team@google.com",
        "time": "Wed Feb 11 11:12:09 2026 -0800"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Wed Feb 11 11:12:56 2026 -0800"
      },
      "message": "Replacing an internal lib name with absl in test case\n\nPiperOrigin-RevId: 868759119\nChange-Id: I85fc3723bb2108d8a3f0ec063e081d93b00ae1bf\n"
    },
    {
      "commit": "ef6cf65af52cde36d0a3685edac28a3a7399f789",
      "tree": "b400a6b7c67b1bbc4cb0b56b8863ca1cb95602ed",
      "parents": [
        "5a9c3f9e8d9b90bbbe8feb32902146cb8f7c1757"
      ],
      "author": {
        "name": "Abseil Team",
        "email": "absl-team@google.com",
        "time": "Wed Feb 11 06:02:22 2026 -0800"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Wed Feb 11 06:02:51 2026 -0800"
      },
      "message": "Fix typo in Optional(m) description.\n\nPiperOrigin-RevId: 868638000\nChange-Id: I952801ff229e4b1d195ef69761de36c34724604e\n"
    },
    {
      "commit": "5a9c3f9e8d9b90bbbe8feb32902146cb8f7c1757",
      "tree": "3c63237f3dffcd2c22f2036101bef73641f05fba",
      "parents": [
        "32c3dce34bb0d3174a728ff8f9dbb51653b17e1e"
      ],
      "author": {
        "name": "Derek Mauro",
        "email": "dmauro@google.com",
        "time": "Thu Feb 05 08:42:21 2026 -0800"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Thu Feb 05 08:42:50 2026 -0800"
      },
      "message": "Upgrade most builds to use Bazel 9.0.0\nKeep one build on 8.5.1 to test WORKSPACE\n\nFixes the -Wdeprecated-declaration warnings\nenabled by default in Bazel 9 that come from the\nsingle-arg Invoke().\n\nFixes the new -Winconsistent-missing-override that\nwe intentionally use in a test.\n\nUpgrades RE2 to a version compatible with Bazel 9.\n\nPiperOrigin-RevId: 865966282\nChange-Id: I5f7c3b60daf5f8a90be08004d96aaa59611e35c4\n"
    },
    {
      "commit": "32c3dce34bb0d3174a728ff8f9dbb51653b17e1e",
      "tree": "90d2c573b4f9f27bc88342f7cbf0ff4fa82fb642",
      "parents": [
        "872d386a87799a9f5ae1a802759b98ac943d2161"
      ],
      "author": {
        "name": "Abseil Team",
        "email": "absl-team@google.com",
        "time": "Thu Feb 05 06:51:55 2026 -0800"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Thu Feb 05 06:52:14 2026 -0800"
      },
      "message": "Display the actual error code when RE::Init() fails\n\nPiperOrigin-RevId: 865923485\nChange-Id: I5530050f7ff3fe295e2bbd7ad0dd90cd0de3e2c3\n"
    },
    {
      "commit": "872d386a87799a9f5ae1a802759b98ac943d2161",
      "tree": "bd45ec4b8330d0357c28ef9fc46059e9c8b9a8f0",
      "parents": [
        "2151d93c2f1912d84604891459da63de02e465ce"
      ],
      "author": {
        "name": "Derek Mauro",
        "email": "dmauro@google.com",
        "time": "Wed Feb 04 10:23:22 2026 -0800"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Wed Feb 04 10:23:53 2026 -0800"
      },
      "message": "Upgrade CI to XCode 26.2\n\nThe new build environment (Sequoia) does not have CMake\npre-installed, so install it, and set the variables necessary\nfor parallel builds.\n\nPiperOrigin-RevId: 865468933\nChange-Id: I0316281d0065bc52b653258556a6928faacb7c0e\n"
    },
    {
      "commit": "2151d93c2f1912d84604891459da63de02e465ce",
      "tree": "f226b7225953175cc157bd5d1c96cbded71008e2",
      "parents": [
        "7c3b4d54e3294990d9c3de583fccff97116efb6b"
      ],
      "author": {
        "name": "Derek Mauro",
        "email": "dmauro@google.com",
        "time": "Tue Feb 03 18:45:02 2026 -0800"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Tue Feb 03 18:45:21 2026 -0800"
      },
      "message": "Update GoogleTest CI to latest tools\n\nPiperOrigin-RevId: 865144486\nChange-Id: I5d68e07bde952e7913d3e641dfaa10d17a968a58\n"
    },
    {
      "commit": "7c3b4d54e3294990d9c3de583fccff97116efb6b",
      "tree": "ebcd4f69483297e4f32d61c2a0c4869aafc3ea7e",
      "parents": [
        "56efe3983185e3f37e43415d1afa97e3860f187f"
      ],
      "author": {
        "name": "Abseil Team",
        "email": "absl-team@google.com",
        "time": "Mon Feb 02 20:35:05 2026 -0800"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Mon Feb 02 20:35:39 2026 -0800"
      },
      "message": "Automated Code Change\n\nPiperOrigin-RevId: 864656526\nChange-Id: If6e887f492d312730e7ab4e124cad23823497b0d\n"
    },
    {
      "commit": "56efe3983185e3f37e43415d1afa97e3860f187f",
      "tree": "35bca92cc0939aa50968a61c305533a473a90e99",
      "parents": [
        "5fd443cdc364127439ef237378650bb49ddcd768"
      ],
      "author": {
        "name": "Abseil Team",
        "email": "absl-team@google.com",
        "time": "Tue Jan 27 09:34:35 2026 -0800"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Tue Jan 27 09:35:08 2026 -0800"
      },
      "message": "Allow implicit matcher construction from nullptr. This allows \"nullptr\" to be used as a valid matcher for smart pointer types.\n\nPiperOrigin-RevId: 861759501\nChange-Id: I09ff55cd532014015725ec61356f480760819b29\n"
    },
    {
      "commit": "5fd443cdc364127439ef237378650bb49ddcd768",
      "tree": "8478c1b31e648599e40acbb979fb6cb0a948d62e",
      "parents": [
        "85087857ad10bd407cd6ed2f52f7ea9752db621f"
      ],
      "author": {
        "name": "Abseil Team",
        "email": "absl-team@google.com",
        "time": "Mon Jan 26 20:26:50 2026 -0800"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Mon Jan 26 20:27:23 2026 -0800"
      },
      "message": "Automated Code Change\n\nPiperOrigin-RevId: 861479667\nChange-Id: I3c64fef567065529f18a04b98df7b015256dfed1\n"
    },
    {
      "commit": "85087857ad10bd407cd6ed2f52f7ea9752db621f",
      "tree": "b6f61aafb889579b7b00f7c5b3ff5c0e8fc0b57f",
      "parents": [
        "ff6133ab49b364a883a55ba75c39e520fea6245b"
      ],
      "author": {
        "name": "Abseil Team",
        "email": "absl-team@google.com",
        "time": "Fri Jan 16 21:50:36 2026 -0800"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Fri Jan 16 21:50:57 2026 -0800"
      },
      "message": "Automated Code Change\n\nPiperOrigin-RevId: 857421343\nChange-Id: I6b64c34c1b0ccd31ec5277fbbdcc6c0e800e6241\n"
    },
    {
      "commit": "ff6133ab49b364a883a55ba75c39e520fea6245b",
      "tree": "39976e84d7192c6806e028326b1acd52c5f0b5bb",
      "parents": [
        "cb1bd881919af685667b8f77a1d4484b04b13a56"
      ],
      "author": {
        "name": "Corentin Le Molgat",
        "email": "corentinl@google.com",
        "time": "Fri Jan 09 07:33:40 2026 -0800"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Fri Jan 09 07:34:16 2026 -0800"
      },
      "message": "cmake: Fix declspec of gtest flag when using BUILD_SHARED_LIBS\u003dON and absl\n\nOn windows flags declaration must be prepend by `GTEST_API_`\nto have the correct declspec (dllexport or dllimport)\n\nThis patch also fix super build integration of googletest by adding the necessary `INSTALL_RPATH` and `$\u003cBUILD_INTERFACE:` needed to be able to `FetchContent` or `add_subdirectory()` googletest in a user CMake project.\n\nFix #4718\nrelated to abseil/abseil-cpp#1817\n\nPiperOrigin-RevId: 854187933\nChange-Id: I4341fdb7e88a51c5f9a1c72c58bcc8c4d6bfd1c5\n"
    },
    {
      "commit": "cb1bd881919af685667b8f77a1d4484b04b13a56",
      "tree": "5d9bf25de0ca63015eb290c99ea117c264e7684e",
      "parents": [
        "5554fcaab40f8814e6e277a56175683405f0cdd5"
      ],
      "author": {
        "name": "Derek Mauro",
        "email": "dmauro@google.com",
        "time": "Thu Jan 08 11:36:22 2026 -0800"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Thu Jan 08 11:37:01 2026 -0800"
      },
      "message": "Bump Abseil version used by GoogleTest\n\nMaking this change requires an update to the CI scripts to ignore\nwarnings coming from external repositories so we don\u0027t error on\ndeprecation warnings (RE2 has warnings about deprecated Mutex methods)\n\nPiperOrigin-RevId: 853824282\nChange-Id: Ic79663943d3b7c8cfa95e9a73b49a7ad761e1eae\n"
    },
    {
      "commit": "5554fcaab40f8814e6e277a56175683405f0cdd5",
      "tree": "ebfcee3d821ee1d5e08a1ebfcc2232dd7b4f8eef",
      "parents": [
        "7d7e750850c65099e49cc1a1aac94a79a914bba7"
      ],
      "author": {
        "name": "Abseil Team",
        "email": "absl-team@google.com",
        "time": "Wed Jan 07 14:33:36 2026 -0800"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Wed Jan 07 14:34:06 2026 -0800"
      },
      "message": "Separate the creation of the Premature Exit File from supporting Death Tests.\n\nThe [Premature Exit File](https://google.github.io/googletest/advanced.html#detecting-test-premature-exit)\ncan be used for more than just death tests. Runners can use it to detect any\nkind of unexpected exit.\n\nPresently, its creation is tied to whether a platform supports Death\nTests. This change removes that coupling (though if Death Tests are supported,\nthen the Premature Exit file is implicitly supported).\n\nPiperOrigin-RevId: 853416224\nChange-Id: I5354730b82bc8a20981120f4e1df59b58cb31f6e\n"
    },
    {
      "commit": "7d7e750850c65099e49cc1a1aac94a79a914bba7",
      "tree": "d898a8c2243dd3b3e9e68dd59804e710e50c940a",
      "parents": [
        "76cd89bcf1633177f42d9ddee2aab70112640e50"
      ],
      "author": {
        "name": "Derek Mauro",
        "email": "dmauro@google.com",
        "time": "Tue Jan 06 10:36:52 2026 -0800"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Tue Jan 06 10:37:35 2026 -0800"
      },
      "message": "Fix \"error: standard attributes in middle of decl-specifiers\"\n\nBetween the friend declaration, visibility declaration, and\nattribute placement rules, compilers can\u0027t seem to agree on the\nhow to write this, so I switched to a static factory function.\n\nFixes https://github.com/google/googletest/issues/4881\n\nPiperOrigin-RevId: 852842303\nChange-Id: I7fe737819abf05ea2911693f8d93683446e326cc\n"
    },
    {
      "commit": "76cd89bcf1633177f42d9ddee2aab70112640e50",
      "tree": "3fedb998fa2ecd50010a270a1b2e9cc88bcc8859",
      "parents": [
        "9156d4caac880b513264ecbe0aa4746a3fead3d7"
      ],
      "author": {
        "name": "Abseil Team",
        "email": "absl-team@google.com",
        "time": "Tue Jan 06 00:08:54 2026 -0800"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Tue Jan 06 00:09:54 2026 -0800"
      },
      "message": "Point from the \"Defining Matchers\" section in the reference doc to the cookbook, which is much more detailed.\n\nPiperOrigin-RevId: 852639172\nChange-Id: Ia39a01702c7c64404950a1be19b1ebdfdff8f010\n"
    },
    {
      "commit": "9156d4caac880b513264ecbe0aa4746a3fead3d7",
      "tree": "9192ed4ba7289b6ad402f05545e1ebea678f1083",
      "parents": [
        "065127f1e4b46c5f14fc73cf8d323c221f9dc68e"
      ],
      "author": {
        "name": "Abseil Team",
        "email": "absl-team@google.com",
        "time": "Mon Dec 15 21:10:52 2025 -0800"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Mon Dec 15 21:11:24 2025 -0800"
      },
      "message": "Automated Code Change\n\nPiperOrigin-RevId: 845060939\nChange-Id: Iab4c4a0842e79f5835d84fa892ee977d9bdf0fe0\n"
    },
    {
      "commit": "065127f1e4b46c5f14fc73cf8d323c221f9dc68e",
      "tree": "a5442f5d110f4f2ea07cb49c04d64e7ceaed41a1",
      "parents": [
        "1b96fa13f549387b7549cc89e1a785cf143a1a50"
      ],
      "author": {
        "name": "Chris Kennelly",
        "email": "ckennelly@google.com",
        "time": "Mon Dec 08 12:54:40 2025 -0800"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Mon Dec 08 12:55:11 2025 -0800"
      },
      "message": "Add [[nodiscard]] throughput Google Test.\n\n`EXPECT_THAT(foo, Matcher(bar))` can sometimes get accidentally written as a\nno-op `foo, Matcher(bar)`, causing the code to be exercised but defeating the\npurpose of testing.\n\nPiperOrigin-RevId: 841880995\nChange-Id: Ia55548e3dd83a6f44fff7b5433c8c8ecd7ecbe03\n"
    },
    {
      "commit": "0b656495436f57212be8700794a3d5fb14000c5f",
      "tree": "c5d17828ac79df040a8ff8b3e1b422089454de2a",
      "parents": [
        "1b96fa13f549387b7549cc89e1a785cf143a1a50"
      ],
      "author": {
        "name": "Charles Giessen",
        "email": "charles@lunarg.com",
        "time": "Wed Nov 26 11:35:52 2025 -0600"
      },
      "committer": {
        "name": "Charles Giessen",
        "email": "charles@lunarg.com",
        "time": "Wed Dec 03 15:52:55 2025 -0600"
      },
      "message": "Fix gtest_force_shared_crt in CMake 3.15+\n\nWith CMake 3.15, a new mechanism was added to control which CRT\nlibraries link to. Because the minimum CMake version is above 3.15,\ngoogletest can leverage it in the implementation of\ngtest_force_shared_crt.\n\nIf CMAKE_MSVC_RUNTIME_LIBRARY is already defined, googletest will\nrespect its value rather than replace it, allowing for users to\ncustomize the exact CRT used by googletest.\n"
    },
    {
      "commit": "1b96fa13f549387b7549cc89e1a785cf143a1a50",
      "tree": "dd154813e27458306d55632812c4ff0812ad193c",
      "parents": [
        "085af2cc08600bdb13827ca40261abcbe5048bb5"
      ],
      "author": {
        "name": "Derek Mauro",
        "email": "dmauro@google.com",
        "time": "Tue Nov 11 18:56:19 2025 -0800"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Tue Nov 11 18:56:52 2025 -0800"
      },
      "message": "Switch to referenceful lock holder for Abseil compatibility\n\nPiperOrigin-RevId: 831156684\nChange-Id: I8a8b017ec2fc318a65f57e04428c030c707ee682\n"
    },
    {
      "commit": "085af2cc08600bdb13827ca40261abcbe5048bb5",
      "tree": "19efd33cfb379021091de44f6638397c6d845fcf",
      "parents": [
        "37678c92fb183b148163dd173430b4ab88586a26"
      ],
      "author": {
        "name": "Abseil Team",
        "email": "absl-team@google.com",
        "time": "Sat Nov 08 02:52:45 2025 -0800"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Sat Nov 08 02:53:26 2025 -0800"
      },
      "message": "Automated rollback of commit 37678c92fb183b148163dd173430b4ab88586a26.\n\nPiperOrigin-RevId: 829765029\nChange-Id: Ia5534b109e0abfd17a74d89ce58d6588a6255f94\n"
    },
    {
      "commit": "37678c92fb183b148163dd173430b4ab88586a26",
      "tree": "c48c3ec2ef4b778f2385bc046c439cb31cf6be0b",
      "parents": [
        "dedab73a689243743c868748ba7f8c4b03316f89"
      ],
      "author": {
        "name": "Abseil Team",
        "email": "absl-team@google.com",
        "time": "Fri Nov 07 20:49:55 2025 -0800"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Fri Nov 07 20:50:29 2025 -0800"
      },
      "message": "gtest_fail_if_no_test_selected: Rephrase error message.\n\nSharded tests interact awkwardly with --gtest_fail_if_no_test_selected, but we\ncan\u0027t speak clearly enough to the use cases to complicate the mental model, so\ninstead we attempt to clarify the simplest approach to debugging a single test\nwhen sharding and --gtest_fail_if_no_test_selected are both in use: unset the\nflag.\n\nPiperOrigin-RevId: 829686145\nChange-Id: I9ebbddc6e7537feefe2a3707fd323fc9132b99d1\n"
    },
    {
      "commit": "dedab73a689243743c868748ba7f8c4b03316f89",
      "tree": "19efd33cfb379021091de44f6638397c6d845fcf",
      "parents": [
        "6ec14dfd8c409d05fba94e18e3a02df35b874353"
      ],
      "author": {
        "name": "David Pizzuto",
        "email": "pizzud@google.com",
        "time": "Fri Nov 07 16:02:11 2025 -0800"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Fri Nov 07 16:02:48 2025 -0800"
      },
      "message": "gtest_fail_if_no_test_selected: Rephrase error message.\n\nSharded tests interact awkwardly with --gtest_fail_if_no_test_selected, but we\ncan\u0027t speak clearly enough to the use cases to complicate the mental model, so\ninstead we attempt to clarify the simplest approach to debugging a single test\nwhen sharding and --gtest_fail_if_no_test_selected are both in use: unset the\nflag.\n\nPiperOrigin-RevId: 829609266\nChange-Id: I090d5bfac979171532249e9312feef8d9aad5f16\n"
    },
    {
      "commit": "d54d30fecb5d37d8d50e8123f715bea206e72ca3",
      "tree": "d797e0d9eb11ecb703d83ce6f856d7ea792c6743",
      "parents": [
        "ae2b601bea6730629893327c40f5581ee8d3a3dd"
      ],
      "author": {
        "name": "Philipp Stephani",
        "email": "p.stephani2@gmail.com",
        "time": "Tue Nov 04 19:33:13 2025 +0100"
      },
      "committer": {
        "name": "Philipp Stephani",
        "email": "p.stephani2@gmail.com",
        "time": "Tue Nov 04 19:42:58 2025 +0100"
      },
      "message": "Add alwayslink \u003d True to //:gtest_main\n\nFixes #4868\n"
    },
    {
      "commit": "ae2b601bea6730629893327c40f5581ee8d3a3dd",
      "tree": "b5d1587fe228874d7867dd271fee1b4b14f093a3",
      "parents": [
        "6ec14dfd8c409d05fba94e18e3a02df35b874353"
      ],
      "author": {
        "name": "Philipp Stephani",
        "email": "p.stephani2@gmail.com",
        "time": "Tue Nov 04 19:41:46 2025 +0100"
      },
      "committer": {
        "name": "Philipp Stephani",
        "email": "p.stephani2@gmail.com",
        "time": "Tue Nov 04 19:42:58 2025 +0100"
      },
      "message": "Don’t link targets with main function against //:gtest_main\n\nThis works only because the linker discards the main function from the\n//:gtest_main library, otherwise the symbol would be duplicated.\n"
    },
    {
      "commit": "6ec14dfd8c409d05fba94e18e3a02df35b874353",
      "tree": "c48c3ec2ef4b778f2385bc046c439cb31cf6be0b",
      "parents": [
        "17d335d7c7f15d989516255471c3d7f5d204308d"
      ],
      "author": {
        "name": "Abseil Team",
        "email": "absl-team@google.com",
        "time": "Fri Oct 31 13:55:24 2025 -0700"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Fri Oct 31 13:56:00 2025 -0700"
      },
      "message": "Modernize example of combining matchers.\n\nAs of C++14 an ordinary function can have an `auto` return type.\n\nPiperOrigin-RevId: 826617761\nChange-Id: I2ceecc8430643c0ac7843fb216b5a117cfe10ab3\n"
    },
    {
      "commit": "17d335d7c7f15d989516255471c3d7f5d204308d",
      "tree": "e3350348927e171b343ed8dfdd683ac2cadcad95",
      "parents": [
        "4fe3307fb2d9f86d19777c7eb0e4809e9694dde7"
      ],
      "author": {
        "name": "Justin Bassett",
        "email": "jbassett@google.com",
        "time": "Thu Oct 30 21:51:50 2025 -0700"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Thu Oct 30 21:53:01 2025 -0700"
      },
      "message": "Remove short-circuiting from AllOf, for better failure messages\n\nFor `EXPECT_THAT` matcher usage, showing only the first failure meant\nthat users would sometimes have to make a fix and run the test again\nonly to notice that there\u0027s another failure. It\u0027s better to show more\nfailures so that the user can fix several issues in one go.\n\nIn practice, very little code actually wants the short circuiting here,\nonly a handful of cases with custom matchers used like\n`AllOf(BoundsCheck(), UncheckedAccess())`. These cases are fixable by\nrefactoring `UncheckedAccess()` to instead also apply a bounds check to\nfail the matcher rather than crash. Notably, this change doesn\u0027t affect\n`AnyOf`, so another workaround is to change `AllOf(m1, m2, ...)` into\n`Not(AnyOf(Not(m1), Not(m2), ...))`.\n\nPiperOrigin-RevId: 826316273\nChange-Id: Ie8186f75c10443d8da35b5d07b6a8cd9ae85b451\n"
    }
  ],
  "next": "4fe3307fb2d9f86d19777c7eb0e4809e9694dde7"
}
