)]}'
{
  "log": [
    {
      "commit": "d72f9c8aea6817cdf1ca0ac10887f328de7f3da2",
      "tree": "73d2b80cb8ee41083f6e29c651cb2da7c9639211",
      "parents": [
        "5fddfab2d22270b0b4608bbb20e4ebb65c22af24"
      ],
      "author": {
        "name": "Dillon Sharlet",
        "email": "dsharlet@google.com",
        "time": "Tue Mar 31 14:21:41 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Tue Mar 31 14:22:05 2026"
      },
      "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 17:45:53 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Mon Mar 30 17:47:55 2026"
      },
      "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": "Sat Mar 28 04:30:13 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Sat Mar 28 04:30:37 2026"
      },
      "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 17:53:03 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Tue Mar 24 17:53:29 2026"
      },
      "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 18:41:35 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Fri Mar 20 18:42:04 2026"
      },
      "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 18:25:30 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Tue Mar 10 18:25:48 2026"
      },
      "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 18:07:49 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Thu Mar 05 18:09:30 2026"
      },
      "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": "73a63ea05dc8ca29ec1d2c1d66481dd0de1950f1",
      "tree": "f07bec51017d10c831319a6494c953a4dab8f4c1",
      "parents": [
        "a407966592e8aab5c7b0757867a2f0585175fe80"
      ],
      "author": {
        "name": "Abseil Team",
        "email": "absl-team@google.com",
        "time": "Tue Feb 24 17:26:47 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Tue Feb 24 17:27:22 2026"
      },
      "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 19:30:09 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Mon Feb 23 19:30:44 2026"
      },
      "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 18:01:31 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Mon Feb 23 18:02:03 2026"
      },
      "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 15:09:50 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Fri Feb 20 15:10:28 2026"
      },
      "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 18:26:14 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Tue Feb 17 18:26:39 2026"
      },
      "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 14:24:38 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Thu Feb 12 14:25:24 2026"
      },
      "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 19:12:09 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Wed Feb 11 19:12:56 2026"
      },
      "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 14:02:22 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Wed Feb 11 14:02:51 2026"
      },
      "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 16:42:21 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Thu Feb 05 16:42:50 2026"
      },
      "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 14:51:55 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Thu Feb 05 14:52:14 2026"
      },
      "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 18:23:22 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Wed Feb 04 18:23:53 2026"
      },
      "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": "Wed Feb 04 02:45:02 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Wed Feb 04 02:45:21 2026"
      },
      "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": "Tue Feb 03 04:35:05 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Tue Feb 03 04:35:39 2026"
      },
      "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 17:34:35 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Tue Jan 27 17:35:08 2026"
      },
      "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": "Tue Jan 27 04:26:50 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Tue Jan 27 04:27:23 2026"
      },
      "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": "Sat Jan 17 05:50:36 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Sat Jan 17 05:50:57 2026"
      },
      "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 15:33:40 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Fri Jan 09 15:34:16 2026"
      },
      "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 19:36:22 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Thu Jan 08 19:37:01 2026"
      },
      "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 22:33:36 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Wed Jan 07 22:34:06 2026"
      },
      "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 18:36:52 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Tue Jan 06 18:37:35 2026"
      },
      "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 08:08:54 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Tue Jan 06 08:09:54 2026"
      },
      "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": "Tue Dec 16 05:10:52 2025"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Tue Dec 16 05:11:24 2025"
      },
      "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 20:54:40 2025"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Mon Dec 08 20:55:11 2025"
      },
      "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": "1b96fa13f549387b7549cc89e1a785cf143a1a50",
      "tree": "dd154813e27458306d55632812c4ff0812ad193c",
      "parents": [
        "085af2cc08600bdb13827ca40261abcbe5048bb5"
      ],
      "author": {
        "name": "Derek Mauro",
        "email": "dmauro@google.com",
        "time": "Wed Nov 12 02:56:19 2025"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Wed Nov 12 02:56:52 2025"
      },
      "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 10:52:45 2025"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Sat Nov 08 10:53:26 2025"
      },
      "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": "Sat Nov 08 04:49:55 2025"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Sat Nov 08 04:50:29 2025"
      },
      "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": "Sat Nov 08 00:02:11 2025"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Sat Nov 08 00:02:48 2025"
      },
      "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": "6ec14dfd8c409d05fba94e18e3a02df35b874353",
      "tree": "c48c3ec2ef4b778f2385bc046c439cb31cf6be0b",
      "parents": [
        "17d335d7c7f15d989516255471c3d7f5d204308d"
      ],
      "author": {
        "name": "Abseil Team",
        "email": "absl-team@google.com",
        "time": "Fri Oct 31 20:55:24 2025"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Fri Oct 31 20:56:00 2025"
      },
      "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": "Fri Oct 31 04:51:50 2025"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Fri Oct 31 04:53:01 2025"
      },
      "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"
    },
    {
      "commit": "4fe3307fb2d9f86d19777c7eb0e4809e9694dde7",
      "tree": "feafbf9cf5deeb64dbe983f5574cb50f96fc330b",
      "parents": [
        "b2b9072ecbe874f5937054653ef8f2731eb0f010"
      ],
      "author": {
        "name": "Derek Mauro",
        "email": "dmauro@google.com",
        "time": "Thu Oct 30 17:10:42 2025"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Thu Oct 30 17:11:17 2025"
      },
      "message": "macOS CI: Move the Bazel vendor_dir to ${HOME} to workaround a Bazel issue\nwhere it does not work when it is in ${TMP} and also fix the quoting\nwhich was causing it to incorrectly receive the argument\n\nhttps://github.com/bazelbuild/bazel/issues/27156\n\nPiperOrigin-RevId: 826083231\nChange-Id: If8f069c42c62434893db27bdaae0b0e25b67839d\n"
    },
    {
      "commit": "b2b9072ecbe874f5937054653ef8f2731eb0f010",
      "tree": "23f0b86ff15e355d05b6b8092c5e79f34024a1cd",
      "parents": [
        "e17e37a1151a47d6e8089f2e9a78921ac022a511"
      ],
      "author": {
        "name": "Abseil Team",
        "email": "absl-team@google.com",
        "time": "Thu Oct 16 13:31:04 2025"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Thu Oct 16 13:31:44 2025"
      },
      "message": "Mark InternalDefaultActionSetAt as nodiscard.\n\nPiperOrigin-RevId: 820207225\nChange-Id: I8e053f724c18b466bd287f80a720542a535615d2\n"
    },
    {
      "commit": "e17e37a1151a47d6e8089f2e9a78921ac022a511",
      "tree": "8193cb6fdaa7f5c4e81110604fc25767a9e5cb93",
      "parents": [
        "8dbd60f7d5f88aca74ef76f4dd5258d35c324199"
      ],
      "author": {
        "name": "Abseil Team",
        "email": "absl-team@google.com",
        "time": "Thu Oct 16 04:01:25 2025"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Thu Oct 16 04:01:54 2025"
      },
      "message": "Automated Code Change\n\nPiperOrigin-RevId: 820039898\nChange-Id: I910d8ec41198794e7344a2d79566a19243532251\n"
    },
    {
      "commit": "8dbd60f7d5f88aca74ef76f4dd5258d35c324199",
      "tree": "915ed9f6ee1c37be7027414567261f2091369e3a",
      "parents": [
        "2ce9d8f2e85550a94d6ac977c881fe3658129ac6"
      ],
      "author": {
        "name": "Abseil Team",
        "email": "absl-team@google.com",
        "time": "Mon Oct 13 20:43:39 2025"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Mon Oct 13 20:44:23 2025"
      },
      "message": "Restore the documentation of `AnyWith\u003cT\u003e(m)` in the matchers reference.\n\nPiperOrigin-RevId: 818813216\nChange-Id: If4cb881a61a05b2c6634aa0d5ee66ea2962f168a\n"
    },
    {
      "commit": "2ce9d8f2e85550a94d6ac977c881fe3658129ac6",
      "tree": "aedecf58b48035aacb5835b0cd81ed3112bd52b4",
      "parents": [
        "279f8479469d22fa772adb454068f854472e1eb9"
      ],
      "author": {
        "name": "Abseil Team",
        "email": "absl-team@google.com",
        "time": "Mon Oct 13 13:50:27 2025"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Mon Oct 13 13:51:01 2025"
      },
      "message": "Allow for passing non-pointers to DeleteArg and have them emit a deprecation warning instead.\n\nThis allows for simpler migration of function args to smart pointers without needing all changes to tests to be atomic.\n\nPiperOrigin-RevId: 818635600\nChange-Id: I9434685d9640f82b98d0b5261701b78c93d3ec1e\n"
    },
    {
      "commit": "279f8479469d22fa772adb454068f854472e1eb9",
      "tree": "6f7091f8b4735f71101ba5cffc0ce6fcfd15ab6b",
      "parents": [
        "de1c60926218478959040ad79be8b2dbed22bd2b"
      ],
      "author": {
        "name": "Abseil Team",
        "email": "absl-team@google.com",
        "time": "Tue Oct 07 23:02:53 2025"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Tue Oct 07 23:03:37 2025"
      },
      "message": "Fix typo.\n\nPiperOrigin-RevId: 816417379\nChange-Id: I4ccfe2bf291b8c2b318ac6e2d0c2d176684e42c8\n"
    },
    {
      "commit": "de1c60926218478959040ad79be8b2dbed22bd2b",
      "tree": "86d65b482f30270cab8527e96cb7c53097e6a7ec",
      "parents": [
        "9706f75b8f91c52a3840cf5d878a7f37ea10ef00"
      ],
      "author": {
        "name": "Abseil Team",
        "email": "absl-team@google.com",
        "time": "Tue Oct 07 13:38:47 2025"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Tue Oct 07 13:39:30 2025"
      },
      "message": "Automated Code Change\n\nPiperOrigin-RevId: 816182689\nChange-Id: Ie2aaa55be6c2e4508aaafa7a0b30fe52ec334893\n"
    },
    {
      "commit": "9706f75b8f91c52a3840cf5d878a7f37ea10ef00",
      "tree": "8af6c0c230cc4e5de761dc79cb770cef07d2aa26",
      "parents": [
        "50b8600c63c5487e901e2845a0f64d384a65f75d"
      ],
      "author": {
        "name": "Abseil Team",
        "email": "absl-team@google.com",
        "time": "Tue Sep 30 03:04:59 2025"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Tue Sep 30 03:05:42 2025"
      },
      "message": "Automated Code Change\n\nPiperOrigin-RevId: 813050069\nChange-Id: I7c778db5bda5d681097af5d3569b5f4b980603e4\n"
    },
    {
      "commit": "50b8600c63c5487e901e2845a0f64d384a65f75d",
      "tree": "d50ed088592e882516ca8ae6b6e6344c7783c09f",
      "parents": [
        "0934b7e112354d609133d2c5f973c402c9efc9b9"
      ],
      "author": {
        "name": "Derek Mauro",
        "email": "dmauro@google.com",
        "time": "Thu Sep 18 18:15:32 2025"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Thu Sep 18 18:16:02 2025"
      },
      "message": "Add rules_cc dependency, required by Bazel going forward\n\nThis also adds the dependencies of rules_cc to WORKSPACE.\nbzlmod automatically pulls in dependencies.\nskylib is removed as it is pulled in by a deps function.\n\nPiperOrigin-RevId: 808659470\nChange-Id: Idc41cad7b05019793d4a1898bdb80bc4797da5cf\n"
    },
    {
      "commit": "0934b7e112354d609133d2c5f973c402c9efc9b9",
      "tree": "de0bcdd3d508815875b08cfb9b0189709c667a30",
      "parents": [
        "4969d0ad540da8fc9944e99457361dc7e35943c2"
      ],
      "author": {
        "name": "Derek Mauro",
        "email": "dmauro@google.com",
        "time": "Tue Sep 16 17:38:37 2025"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Tue Sep 16 17:39:10 2025"
      },
      "message": "Use an internal symbol for deprecate-and-inline that allows\nthe use of a deprecation message\n\nPiperOrigin-RevId: 807753856\nChange-Id: I34b0c7c6faf34cad11ea2aca5ccd16bca16acdec\n"
    },
    {
      "commit": "4969d0ad540da8fc9944e99457361dc7e35943c2",
      "tree": "a3102470df5d0107a9678203701de2ab59d1dc23",
      "parents": [
        "9df216cc9d6fd2f27e00e5ba1e88a502d7f278c7"
      ],
      "author": {
        "name": "Abseil Team",
        "email": "absl-team@google.com",
        "time": "Sat Sep 13 03:44:26 2025"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Sat Sep 13 03:45:06 2025"
      },
      "message": "Automated Code Change\n\nPiperOrigin-RevId: 806527439\nChange-Id: I2e9aa5de44c011938e0bfc8e86af6c7d10c23ab0\n"
    },
    {
      "commit": "9df216cc9d6fd2f27e00e5ba1e88a502d7f278c7",
      "tree": "71a387a9791396a872e7292035630813d9a17458",
      "parents": [
        "7917641ff965959afae189afb5f052524395525c"
      ],
      "author": {
        "name": "Derek Mauro",
        "email": "dmauro@google.com",
        "time": "Fri Sep 12 13:16:55 2025"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Fri Sep 12 13:17:43 2025"
      },
      "message": "Update spelling of Mutex::lock and Mutex::unlock for compatibility\nwith the standard and the latest Abseil\n\nPiperOrigin-RevId: 806260850\nChange-Id: Ie973be4a3aaf7e174cd692ce6df7a82c8f261bf7\n"
    },
    {
      "commit": "7917641ff965959afae189afb5f052524395525c",
      "tree": "2ef647438491d3a63ebcf748df196e59ff6b7e06",
      "parents": [
        "eb2d85edd0bff7a712b6aff147cd9f789f0d7d0b"
      ],
      "author": {
        "name": "Derek Mauro",
        "email": "dmauro@google.com",
        "time": "Tue Sep 02 14:13:59 2025"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Tue Sep 02 14:15:01 2025"
      },
      "message": "Bump Abseil dependency to 20250814.0\n\nPiperOrigin-RevId: 802131359\nChange-Id: I96671848148ca51c755c1b3598af32a444ac9739\n"
    },
    {
      "commit": "eb2d85edd0bff7a712b6aff147cd9f789f0d7d0b",
      "tree": "142e8a14e3be6e1168a3679bb8ad1c2e1ada4668",
      "parents": [
        "6986c2b575f77135401a4e1c65a7a42f20e18fef"
      ],
      "author": {
        "name": "Abseil Team",
        "email": "absl-team@google.com",
        "time": "Sun Aug 24 21:51:05 2025"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Sun Aug 24 21:51:30 2025"
      },
      "message": "Remove unused syslog dependency for Fuchsia.\n\nPiperOrigin-RevId: 798883577\nChange-Id: Id248b44a45c6d3eb173513b1cd2bb8fb564885ed\n"
    },
    {
      "commit": "6986c2b575f77135401a4e1c65a7a42f20e18fef",
      "tree": "8cf8f601758fd6bf291b0a55da08c2e59ad47e9f",
      "parents": [
        "a05c0915074bcd1b82f232e081da9bb6c205c28d"
      ],
      "author": {
        "name": "Abseil Team",
        "email": "absl-team@google.com",
        "time": "Wed Aug 20 05:04:51 2025"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Wed Aug 20 05:05:22 2025"
      },
      "message": "Internal header include changes.\n\nPiperOrigin-RevId: 797151958\nChange-Id: I26ce36684e8822cd76723e664782764cf222152c\n"
    },
    {
      "commit": "a05c0915074bcd1b82f232e081da9bb6c205c28d",
      "tree": "9b1b225f4e5474f2c9bc3e042e32e41b942805df",
      "parents": [
        "244cec869d12e53378fa0efb610cd4c32a454ec8"
      ],
      "author": {
        "name": "Abseil Team",
        "email": "absl-team@google.com",
        "time": "Sun Aug 17 03:07:31 2025"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Sun Aug 17 03:08:07 2025"
      },
      "message": "Deprecate single-argument DoAll and Invoke.\n\nPiperOrigin-RevId: 795969677\nChange-Id: I56d88ec715475d91fb527a9281bc62574fb4608b\n"
    },
    {
      "commit": "244cec869d12e53378fa0efb610cd4c32a454ec8",
      "tree": "3582dd01b90774c5a8362f35adb7356a169c0202",
      "parents": [
        "373af2e3df71599b87a40ce0e37164523849166b"
      ],
      "author": {
        "name": "Abseil Team",
        "email": "absl-team@google.com",
        "time": "Mon Aug 11 12:09:33 2025"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Mon Aug 11 12:10:05 2025"
      },
      "message": "Update the document in typed tests to use using-declaration instead of typedef\n\nPiperOrigin-RevId: 793600153\nChange-Id: I0c78f180f3b681ef20133af2cc822af66c3344fe\n"
    },
    {
      "commit": "373af2e3df71599b87a40ce0e37164523849166b",
      "tree": "096acf127b0a61833093aca4f08d4daaac84b726",
      "parents": [
        "32f9f4c82afa4249af66b55278df15c16b3031ea"
      ],
      "author": {
        "name": "Abseil Team",
        "email": "absl-team@google.com",
        "time": "Mon Jul 28 18:13:06 2025"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Mon Jul 28 18:13:39 2025"
      },
      "message": "Provide a better error message when ASSERT and SKIP macros are used in methods that return values\n\nPiperOrigin-RevId: 788083860\nChange-Id: I91583f0c0f816144428d56ab07e58fd035c532d1\n"
    },
    {
      "commit": "32f9f4c82afa4249af66b55278df15c16b3031ea",
      "tree": "875f0b07e2a08f690af90024e25716d89a129de4",
      "parents": [
        "7e17b15f1547bb8dd9c2fed91043b7af3437387f"
      ],
      "author": {
        "name": "Abseil Team",
        "email": "absl-team@google.com",
        "time": "Wed Jul 23 20:03:37 2025"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Wed Jul 23 20:04:17 2025"
      },
      "message": "Skip the predicate on SIGSEGV in death-test on Android builds with API level \u003c\u003d 23.\n\nPiperOrigin-RevId: 786394374\nChange-Id: I5188b55ae8ae6d3188e6492f3865b21ae6d2285e\n"
    },
    {
      "commit": "7e17b15f1547bb8dd9c2fed91043b7af3437387f",
      "tree": "d63b63185ee55dcfb2c44b5a0a45aea856d050d2",
      "parents": [
        "309dab8d4bbfcef0ef428762c6fec7172749de0f"
      ],
      "author": {
        "name": "Abseil Team",
        "email": "absl-team@google.com",
        "time": "Fri Jul 18 13:24:04 2025"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Fri Jul 18 13:24:47 2025"
      },
      "message": "Fix the sample usage of `ConvertGenerator` by removing the type-id name.\n\nPiperOrigin-RevId: 784561837\nChange-Id: I6792fdde81762797c64ac24d297d93938932aef4\n"
    },
    {
      "commit": "309dab8d4bbfcef0ef428762c6fec7172749de0f",
      "tree": "b4de7ac231d69f951e08c075f66d8d39af20363e",
      "parents": [
        "3983f67e32fb3e9294487b9d4f9586efa6e5d088"
      ],
      "author": {
        "name": "Abseil Team",
        "email": "absl-team@google.com",
        "time": "Sat Jul 12 09:06:06 2025"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Sat Jul 12 09:06:50 2025"
      },
      "message": "Automated Code Change\n\nPiperOrigin-RevId: 782277586\nChange-Id: Idd7ffd0a585fa8b307ecafb8b3d53abbf124a774\n"
    },
    {
      "commit": "3983f67e32fb3e9294487b9d4f9586efa6e5d088",
      "tree": "4110a111131ebc3b306a1f05e6957db22ec23afa",
      "parents": [
        "c67de117379f4d1c889c7581a0a76aa0979c2083"
      ],
      "author": {
        "name": "Abseil Team",
        "email": "absl-team@google.com",
        "time": "Fri Jul 04 08:13:35 2025"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Fri Jul 04 08:14:13 2025"
      },
      "message": "Replace internal link in GoogleTest docs\n\nReplace an internal link to AbslStringify\u0027s documentation with the equivalent public link.\n\nPiperOrigin-RevId: 779085254\nChange-Id: I2cbd2b6262a5ced06f166d4fcc7c08796e5a60af\n"
    },
    {
      "commit": "c67de117379f4d1c889c7581a0a76aa0979c2083",
      "tree": "5827aa53a9181509d2c376b7724c8016ad5b7547",
      "parents": [
        "a45468c0fcbeda1588573a7d8283b320bf9970cb"
      ],
      "author": {
        "name": "David Pizzuto",
        "email": "pizzud@google.com",
        "time": "Fri Jun 27 22:17:44 2025"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Fri Jun 27 22:18:25 2025"
      },
      "message": "gtest: Reword fail_if_no_test_selected_message for sharding and filtering.\n\nUsers have shown some confusion about the interaction between this flag,\nsharding, and --gtest_filter, so let\u0027s provide some more information.\n\nPiperOrigin-RevId: 776734799\nChange-Id: Icdcf6aa056988095f15588758994604d326c0567\n"
    },
    {
      "commit": "a45468c0fcbeda1588573a7d8283b320bf9970cb",
      "tree": "98d408c9da2bfe74c594ad7615ad0a5abff46c6b",
      "parents": [
        "f8ed0e687c806bc70871f3f556d848a79bff4c01",
        "005254dae2c0fc311abf4736ca7ec8fc62ec20f7"
      ],
      "author": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Wed Jun 25 13:46:45 2025"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Wed Jun 25 13:46:45 2025"
      },
      "message": "Merge pull request #4694 from chromy:main\n\nPiperOrigin-RevId: 775667059\nChange-Id: I07edd44ae368ae640d7b985800ffee8cc663c07f\n"
    },
    {
      "commit": "f8ed0e687c806bc70871f3f556d848a79bff4c01",
      "tree": "57c40cd0f6b74ab4bbfe545762554d62111ec13e",
      "parents": [
        "35b75a2cba6ef72b7ce2b6b94b05c54ca07df866"
      ],
      "author": {
        "name": "Abseil Team",
        "email": "absl-team@google.com",
        "time": "Tue Jun 24 13:21:50 2025"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Tue Jun 24 13:22:36 2025"
      },
      "message": "Add documentation for exception matchers.\n\nPiperOrigin-RevId: 775205267\nChange-Id: I3ad59ff4b1fa095cbf7dd04dd97a152cb33c7435\n"
    },
    {
      "commit": "35b75a2cba6ef72b7ce2b6b94b05c54ca07df866",
      "tree": "19aafc95c1e7f763d0fe8f939fb8bd537f9ac542",
      "parents": [
        "175c1b55cfb3dbed519b94a370c083aac605009f"
      ],
      "author": {
        "name": "Abseil Team",
        "email": "absl-team@google.com",
        "time": "Fri Jun 13 16:13:10 2025"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Fri Jun 13 16:13:47 2025"
      },
      "message": "Although the following paragraph explains there is a better solution, having this technique in the bullet point seems to suggest that this technique is considered as a valid alternative. It would be better to drop it or make it clear that this technique is not recommended.\n\nPiperOrigin-RevId: 771116391\nChange-Id: I753560115ed65e8858b749473935df57b6a50488\n"
    },
    {
      "commit": "175c1b55cfb3dbed519b94a370c083aac605009f",
      "tree": "476c34e3aad5a69d42d0b14402f7d3b6b950ee29",
      "parents": [
        "1aeec48a1dda87f179d76b5f4f30db91c9ab7239"
      ],
      "author": {
        "name": "Abseil Team",
        "email": "absl-team@google.com",
        "time": "Thu Jun 12 16:36:51 2025"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Thu Jun 12 16:37:31 2025"
      },
      "message": "Add UnpackStructImpl for structs with 24, 25 and 26 fields.\n\nPiperOrigin-RevId: 770690821\nChange-Id: Ic759e29f46a34d0f2c0ef831e0ddc784290a938f\n"
    },
    {
      "commit": "1aeec48a1dda87f179d76b5f4f30db91c9ab7239",
      "tree": "b19760baf331d8172f97f2a8ae0cbe50db627cd8",
      "parents": [
        "fd15f51d57f983c5f3f609bb39fd77f6dbdc391a",
        "0fe21ac6ef4f4b6522e4912d73a6e9d380bc23e1"
      ],
      "author": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Thu Jun 12 14:21:58 2025"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Thu Jun 12 14:21:58 2025"
      },
      "message": "Merge pull request #4774 from joel-langlois:FixReadme\n\nPiperOrigin-RevId: 770642738\nChange-Id: Ie8e8f12f82737f4eb614862334ff0a89583aeafc\n"
    },
    {
      "commit": "0fe21ac6ef4f4b6522e4912d73a6e9d380bc23e1",
      "tree": "d9d444c0607b01d81f0e93909abb02eddbfe9f89",
      "parents": [
        "fd15f51d57f983c5f3f609bb39fd77f6dbdc391a"
      ],
      "author": {
        "name": "Joël Langlois",
        "email": "joel.langlois@wbd.com",
        "time": "Wed Jun 11 16:28:02 2025"
      },
      "committer": {
        "name": "Joël Langlois",
        "email": "joel.langlois@wbd.com",
        "time": "Wed Jun 11 16:28:02 2025"
      },
      "message": "README.md: Fixed broken Markdown link formatting.\n"
    },
    {
      "commit": "fd15f51d57f983c5f3f609bb39fd77f6dbdc391a",
      "tree": "232d1b6804d8bd096c5346be538a5ebdd7e31270",
      "parents": [
        "6230d316e104d61c5e08f0ef14ced638c1d4c760"
      ],
      "author": {
        "name": "Abseil Team",
        "email": "absl-team@google.com",
        "time": "Wed Jun 11 04:02:56 2025"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Wed Jun 11 04:03:35 2025"
      },
      "message": "Automated Code Change\n\nPiperOrigin-RevId: 769938700\nChange-Id: I3f36d03a5d54f1f2fbeda9fbaa5e205736c3cdbc\n"
    },
    {
      "commit": "6230d316e104d61c5e08f0ef14ced638c1d4c760",
      "tree": "2bd6169426df93b6c0cca8fae8b63ad764cce703",
      "parents": [
        "28e9d1f26771c6517c3b4be10254887673c94018"
      ],
      "author": {
        "name": "Abseil Team",
        "email": "absl-team@google.com",
        "time": "Mon Jun 09 19:06:24 2025"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Mon Jun 09 19:07:01 2025"
      },
      "message": "In MatcherCast, store the input value as its own type rather than as the Matcher type, to avoid dangling references\n\nPiperOrigin-RevId: 769240838\nChange-Id: I7b1ac23a0a88ba90b5d1ae6e20b97f679f381f31\n"
    },
    {
      "commit": "28e9d1f26771c6517c3b4be10254887673c94018",
      "tree": "060e9e40377aa3812e38175c7f07b9eb5d60b404",
      "parents": [
        "7e2c425db2c2e024b2807bfe6d386f4ff068d0d6"
      ],
      "author": {
        "name": "David Pizzuto",
        "email": "pizzud@google.com",
        "time": "Mon Jun 09 16:30:39 2025"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Mon Jun 09 16:31:09 2025"
      },
      "message": "googletest: Add a flag to fail if no tests were selected to run.\n\nThere are two cases that prompt this behavior:\n\n- All test cases in the binary are disabled.\n\n- There are more shards defined than test cases, so some shards are empty.\n\nThe result in each case is the same: the test runner needs to spin up\nadditional processes that do nothing, which is wasteful, especially when tests\nneed expensive resources.\n\nPiperOrigin-RevId: 769176856\nChange-Id: Ifa399a0b7b68e4add5a94ca148b32b2938a8666d\n"
    },
    {
      "commit": "7e2c425db2c2e024b2807bfe6d386f4ff068d0d6",
      "tree": "04885895cf964e5571ef9312925b8b775e7eecf1",
      "parents": [
        "e9092b12dc3cf617d47578f13a1f64285cfa5b2f"
      ],
      "author": {
        "name": "Abseil Team",
        "email": "absl-team@google.com",
        "time": "Thu Jun 05 21:29:15 2025"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Thu Jun 05 21:31:20 2025"
      },
      "message": "Remove \"blindly\" from the gmock \"uninteresting call\" message.\n\nPiperOrigin-RevId: 767766090\nChange-Id: I9202c1c24a3af8d73806f68ca93025b26704178e\n"
    },
    {
      "commit": "e9092b12dc3cf617d47578f13a1f64285cfa5b2f",
      "tree": "8be4f1c931fa5d315c9bdf3974834511158e25db",
      "parents": [
        "7427a6b5e3e04f895ecad5c647c94629fb2acdc0"
      ],
      "author": {
        "name": "Abseil Team",
        "email": "absl-team@google.com",
        "time": "Fri May 30 20:58:02 2025"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Fri May 30 20:58:42 2025"
      },
      "message": "Fix unified diff headers.\n\nThe length part (only) of each range is optional when equal to one.\nSee http://www.gnu.org/software/diffutils/manual/html_node/Detailed-Unified.html\n\nPiperOrigin-RevId: 765326445\nChange-Id: I4aec68e82f889e3b4f01861d3b6a16a8b2785ce6\n"
    },
    {
      "commit": "7427a6b5e3e04f895ecad5c647c94629fb2acdc0",
      "tree": "532c56836f3429bb14c556faf586dc0e08b76468",
      "parents": [
        "7da55820cc32dedd6c1b048f2d4e13fdde5e8237"
      ],
      "author": {
        "name": "Abseil Team",
        "email": "absl-team@google.com",
        "time": "Fri May 30 11:46:26 2025"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Fri May 30 11:47:12 2025"
      },
      "message": "Use the provided length in ConditionalPrintAsText\n\nWhile ConditionalPrintAsText gets a char pointer and the string length, it used to only pass the pointer to operator\u003c\u003c. That does not work for strings that are not zero terminated, because operator\u003c\u003c has to resort to strlen, which happily overflows the string buffer.\n\nThis CL wraps the char pointer and the length in a string_view and passes that to operator\u003c\u003c to fix that issue.\n\nPiperOrigin-RevId: 765137769\nChange-Id: Ie97067ce9d5b23175a512945fee943a8b95a94ff\n"
    },
    {
      "commit": "7da55820cc32dedd6c1b048f2d4e13fdde5e8237",
      "tree": "2dc351a722e89adb8bd45af8ccaad6dab84a6d32",
      "parents": [
        "09ffd0015395354774c059a17d9f5bee36177ff9",
        "3abc68be30e3dda7508299956a422e8d0ee693ca"
      ],
      "author": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Tue May 27 15:56:42 2025"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Tue May 27 15:56:42 2025"
      },
      "message": "Merge pull request #4765 from qubka:main\n\nPiperOrigin-RevId: 763814429\nChange-Id: Id80dc3c910aa955fda6b9ece1aee17032e28130d\n"
    },
    {
      "commit": "3abc68be30e3dda7508299956a422e8d0ee693ca",
      "tree": "2dc351a722e89adb8bd45af8ccaad6dab84a6d32",
      "parents": [
        "09ffd0015395354774c059a17d9f5bee36177ff9"
      ],
      "author": {
        "name": "qubka",
        "email": "nextgen.gubka@gmail.com",
        "time": "Sun May 25 09:54:54 2025"
      },
      "committer": {
        "name": "qubka",
        "email": "ushakovn@tcd.ie",
        "time": "Sun May 25 10:09:39 2025"
      },
      "message": "Fix extra \u0027;\u0027 after member function definition\n"
    },
    {
      "commit": "09ffd0015395354774c059a17d9f5bee36177ff9",
      "tree": "e0e091a0f10320c95e84e185fff137baee2334ef",
      "parents": [
        "6aa03e6774f8cb70da277c56efb24b44ce29d8d7"
      ],
      "author": {
        "name": "Abseil Team",
        "email": "absl-team@google.com",
        "time": "Thu May 22 19:36:24 2025"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Thu May 22 19:37:05 2025"
      },
      "message": "Updates Google Analytics tracker.\n\nPiperOrigin-RevId: 762080294\nChange-Id: Id874316dc6360e889f54fa631b56c8c6c783cc7a\n"
    },
    {
      "commit": "6aa03e6774f8cb70da277c56efb24b44ce29d8d7",
      "tree": "8d80dd1c285033569a91673ad313b8c549022c8b",
      "parents": [
        "16d4f8eff6d7cefca6975d82a53f8fc995a6feb7"
      ],
      "author": {
        "name": "Daniel Cheng",
        "email": "dcheng@google.com",
        "time": "Thu May 22 17:21:20 2025"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Thu May 22 17:21:59 2025"
      },
      "message": "Print std::basic_string_view\u003cChar\u003e as a string literal\n\nThis is a followup to a previous change switching std::u8string,\nstd::u16string, and std::u32string to print as string literals instead\nof an array of characters. Also update the PrintCharsAsStringTo\u003cChar\u003e()\nhelper to handle cases where the pointer to the string data is null;\nunlike std::basic_string\u003cChar\u003e, std::basic_string_view\u003cChar\u003e\u0027s data()\nis allowed to return nullptr.\n\nThe new PrintTo overloads complicate the PrintTo(internal::StringView)\noverload, which needs to be disabled if internal::StringView is an alias\nfor std::string_view to avoid multiple definitions with the same\noverload. Simply omitting the unconditional PrintTo(std::string_view)\noverload is a worse option though, as this results in std::string_view\nnot printing nicely if internal::StringView is not an alias for\nstd::string_view.\nPiperOrigin-RevId: 762020327\nChange-Id: I92f5bdbacba89e97bbcc0fef3ca9261ea5a788d3\n"
    },
    {
      "commit": "16d4f8eff6d7cefca6975d82a53f8fc995a6feb7",
      "tree": "193f60d4b8b5f4f5aa077d68f2de1bbf2a2fc79c",
      "parents": [
        "bac6a8fd8a729eef0d1b2d1a4625f4de62c60220"
      ],
      "author": {
        "name": "Derek Mauro",
        "email": "dmauro@google.com",
        "time": "Tue May 20 17:25:04 2025"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Tue May 20 17:25:35 2025"
      },
      "message": "Delete the absl polyfill support for std::any, std::optional\nand std::variant now that the absl types are aliases of the\nstd types\n\nPiperOrigin-RevId: 761136061\nChange-Id: I702c3e1e8c58d003b8f4da99e7c84c9e5dbe1863\n"
    },
    {
      "commit": "bac6a8fd8a729eef0d1b2d1a4625f4de62c60220",
      "tree": "e9374cc2910cb46a9ac73cde6596a2c922c688d0",
      "parents": [
        "fa8438ae6b70c57010177de47a9f13d7041a6328"
      ],
      "author": {
        "name": "Abseil Team",
        "email": "absl-team@google.com",
        "time": "Mon May 19 18:20:46 2025"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Mon May 19 18:21:57 2025"
      },
      "message": "Add UnpackStructImpl specialization for 23 struct members.\n\nPiperOrigin-RevId: 760700889\nChange-Id: I52ea2bc83d218f73504c9dfba82ce0c07e59cbb2\n"
    },
    {
      "commit": "fa8438ae6b70c57010177de47a9f13d7041a6328",
      "tree": "2764851382bbc6437ba7fa77947f417d49c4c1c4",
      "parents": [
        "571930618fa96eabcd05b573285edbee9fc13bae"
      ],
      "author": {
        "name": "Abseil Team",
        "email": "absl-team@google.com",
        "time": "Mon May 19 16:01:54 2025"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Mon May 19 16:02:31 2025"
      },
      "message": "Use static_cast instead of ImplicitCast_ for character conversions\n\nClang has recently added \"warnings when mixing different charN_t types\" [1].\nThe rationale is that \"charN_t represent code units of different UTF encodings.\nTherefore the values of 2 different charN_t objects do not represent the same\ncharacters.\"\n\nNote that the warning here may be legitimate - from https://github.com/google/googletest/issues/4762:\n\"[...] This is incorrect for values that do not represent valid codepoints.\"\n\nFor the time being, silence the warning by being more explicit about the\nconversion being intentional by using static_cast.\n\nLink: https://github.com/llvm/llvm-project/pull/138708 [1]\nPiperOrigin-RevId: 760644157\nChange-Id: I2e6cc1871975455cecac8731b2f93fd5beeaf0e1\n"
    },
    {
      "commit": "571930618fa96eabcd05b573285edbee9fc13bae",
      "tree": "316a17eccc742d13ecdacccedfef4c7829fd6eb9",
      "parents": [
        "9f79a9597ad9b5394e5c620ebf76824f77ffbde4"
      ],
      "author": {
        "name": "Derek Mauro",
        "email": "dmauro@google.com",
        "time": "Thu May 15 16:42:16 2025"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Thu May 15 16:42:50 2025"
      },
      "message": "GoogleTest CI Update\n\n* Use abseil-cpp@20250512.0, which requires C++17 and\n removes any/optional/variant polyfills\n* Test C++23\n* Support/test GCC15\n* Use Bazel vendor mode to reduce reliance on GitHub\n\nPiperOrigin-RevId: 759184924\nChange-Id: Ifb866cdd7faf1e5be475b44f69870745e21a3104\n"
    },
    {
      "commit": "9f79a9597ad9b5394e5c620ebf76824f77ffbde4",
      "tree": "711f4b3243309c94924cd79543fad9a51b4f1013",
      "parents": [
        "8b8ef3ff0d1f7a1739e0d7c3dd46ab37104fcd9a"
      ],
      "author": {
        "name": "Mike Kruskal",
        "email": "mkruskal@google.com",
        "time": "Wed May 14 01:25:24 2025"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Wed May 14 01:26:40 2025"
      },
      "message": "Add [[nodiscard]] to GetParam() to prevent accidental misuse.\n\nThis helps avoid a situation where someone sets up a parameterized test but forgets to actually use the parameter.\n\nPiperOrigin-RevId: 758455362\nChange-Id: Ie4db03e82b6a4e1787be96f154b3fbb25657ae64\n"
    },
    {
      "commit": "8b8ef3ff0d1f7a1739e0d7c3dd46ab37104fcd9a",
      "tree": "60069739d862c4742b97379aeaaa1f72bbeb2500",
      "parents": [
        "90a41521142c978131f38c6da07b4eb96a9f1ff6"
      ],
      "author": {
        "name": "Abseil Team",
        "email": "absl-team@google.com",
        "time": "Mon May 12 21:40:21 2025"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Mon May 12 21:40:55 2025"
      },
      "message": "Clarify that the return value of `InvokeArgument` is not the return value of the action.\n\nPiperOrigin-RevId: 757918204\nChange-Id: I3f3544ca602a3863c3bae67b8fb4c57e692f3373\n"
    },
    {
      "commit": "90a41521142c978131f38c6da07b4eb96a9f1ff6",
      "tree": "4b3a2d805736a0c373a571355b97d2c039eaabff",
      "parents": [
        "04ee1b4f2aefdffb0135d7cf2a2c519fe50dabe4"
      ],
      "author": {
        "name": "Abseil Team",
        "email": "absl-team@google.com",
        "time": "Thu May 01 16:49:56 2025"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Thu May 01 16:50:38 2025"
      },
      "message": "gtest: Remove incorrect documentation of private headers as PIMPL idiom\n\nPiperOrigin-RevId: 753626014\nChange-Id: I3ef90e13b08d5a22d3b220a4e8fbb78df92deb0a\n"
    },
    {
      "commit": "04ee1b4f2aefdffb0135d7cf2a2c519fe50dabe4",
      "tree": "826ee177057e5c00be6bb8dd5fc17b2caf671b8f",
      "parents": [
        "54915d462bb64e9b2bd1a3f0e70c00e6f5d817fb"
      ],
      "author": {
        "name": "Derek Mauro",
        "email": "dmauro@google.com",
        "time": "Wed Apr 30 17:11:13 2025"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Wed Apr 30 17:11:59 2025"
      },
      "message": "Update documentation for v1.17.0\n\nPiperOrigin-RevId: 753214894\nChange-Id: I5ec24399301dcc7e70b179db98e175f45374e3c2\n"
    },
    {
      "commit": "54915d462bb64e9b2bd1a3f0e70c00e6f5d817fb",
      "tree": "e8dc926f3978070a1634304d11b6dcb11bd48eea",
      "parents": [
        "59c924bc471cefea25a7cf7eb40b6c101b170b12"
      ],
      "author": {
        "name": "Derek Mauro",
        "email": "dmauro@google.com",
        "time": "Wed Apr 30 13:30:47 2025"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Wed Apr 30 13:31:27 2025"
      },
      "message": "Update GoogleTest dependencies in preparation for release\n\nPiperOrigin-RevId: 753143607\nChange-Id: I3dadd610342d86e3c856327e446e956fab8abf04\n"
    },
    {
      "commit": "59c924bc471cefea25a7cf7eb40b6c101b170b12",
      "tree": "b3d713eaed6b02eeeb263ff07f8ae832cfb33fe4",
      "parents": [
        "00b2154e8e4bbb1ab0b22580c9f19fbfd3f56c04"
      ],
      "author": {
        "name": "Laramie Leavitt",
        "email": "lar@google.com",
        "time": "Tue Apr 29 17:26:11 2025"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Tue Apr 29 17:26:44 2025"
      },
      "message": "Use std::memcpy instead of a union to access floating point bits.\n\nPiperOrigin-RevId: 752789717\nChange-Id: I20d17677bc75d12fa50328feb2bdc5c25e852cc4\n"
    },
    {
      "commit": "00b2154e8e4bbb1ab0b22580c9f19fbfd3f56c04",
      "tree": "336f8432cbbae8ed39ff7093783188cbcf67fe71",
      "parents": [
        "cd430b47a54841ec45d64d2377d7cabaf0eba610"
      ],
      "author": {
        "name": "Derek Mauro",
        "email": "dmauro@google.com",
        "time": "Tue Apr 29 13:12:50 2025"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Tue Apr 29 13:13:25 2025"
      },
      "message": "Fix GCC15 warning that \u003cciso646\u003e is deprecated in C++17\n\nPiperOrigin-RevId: 752706554\nChange-Id: I83d35b693efdaabcc63d15169dbf19d63163a563\n"
    },
    {
      "commit": "cd430b47a54841ec45d64d2377d7cabaf0eba610",
      "tree": "2f0fc20eef2a07bf9ada29af98f905acca5e09a2",
      "parents": [
        "155b337c938a2953e5675f9dc18c99f05f4c85d0"
      ],
      "author": {
        "name": "Abseil Team",
        "email": "absl-team@google.com",
        "time": "Wed Apr 23 20:29:20 2025"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Wed Apr 23 20:29:56 2025"
      },
      "message": "AllOf, AnyOf, Optional: Avoid generating unnecessary match explanations\n\nPreviously, those matchers always invoked the child matchers with an IsInterested MatchResultListener, resulting in unnecessary work formatting match results that would be discarded.\n\nPiperOrigin-RevId: 750704295\nChange-Id: I1639a3a15d269459f26b3aebc3a6cbdced6896a3\n"
    },
    {
      "commit": "155b337c938a2953e5675f9dc18c99f05f4c85d0",
      "tree": "f2c74e76e078bbda004a756bc0477f6c90e15510",
      "parents": [
        "e90fe2485641bab0d6af4500192dc503384950d1"
      ],
      "author": {
        "name": "Derek Mauro",
        "email": "dmauro@google.com",
        "time": "Thu Apr 17 13:50:11 2025"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Thu Apr 17 13:50:43 2025"
      },
      "message": "Bump RE2 dependency to 2024-07-02.bcr.1\n\nMirrors the change from https://github.com/bazelbuild/bazel-central-registry/pull/4342\n\nPiperOrigin-RevId: 748665684\nChange-Id: I775ff08130046ad7a2dd288e1a58e007e407acd3\n"
    },
    {
      "commit": "e90fe2485641bab0d6af4500192dc503384950d1",
      "tree": "b9c68d7dd33c50bc833ef5cc4f239f79cc31ec38",
      "parents": [
        "50a9511f5013e2e02e791ed04813a57d7cdf5d45"
      ],
      "author": {
        "name": "Aaron Jacobs",
        "email": "jacobsa@google.com",
        "time": "Thu Apr 10 00:56:54 2025"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Thu Apr 10 00:57:30 2025"
      },
      "message": "`gmock-actions`: add a missing conversion operator to `WithArgsAction`.\n\nPiperOrigin-RevId: 745802500\nChange-Id: I8cf7b69f89af8615e9c405b1e6552d3e12ebf93d\n"
    },
    {
      "commit": "50a9511f5013e2e02e791ed04813a57d7cdf5d45",
      "tree": "55facb324505bc2375f208b528259cc1488736f6",
      "parents": [
        "52204f78f94d7512df1f0f3bea1d47437a2c3a58"
      ],
      "author": {
        "name": "Aaron Jacobs",
        "email": "jacobsa@google.com",
        "time": "Wed Apr 09 22:33:04 2025"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Wed Apr 09 22:33:40 2025"
      },
      "message": "`gmock-actions`: run clang-format.\n\nPiperOrigin-RevId: 745757973\nChange-Id: I59ca0098a73eaf8a7e68016ba003fc2447e1c702\n"
    },
    {
      "commit": "52204f78f94d7512df1f0f3bea1d47437a2c3a58",
      "tree": "78123c788064a90afed871bd52f4be869b9f05f6",
      "parents": [
        "2ae29b52fdff88c52fef655fa0d245fc514ca35b"
      ],
      "author": {
        "name": "Andy Getzendanner",
        "email": "durandal@google.com",
        "time": "Wed Mar 26 19:19:38 2025"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Wed Mar 26 19:20:16 2025"
      },
      "message": "Remove obsolete references to LinuxThreads.\n\nPiperOrigin-RevId: 740860675\nChange-Id: I73bf9fd36e6135eb7577da54254254df7eebdf7b\n"
    },
    {
      "commit": "2ae29b52fdff88c52fef655fa0d245fc514ca35b",
      "tree": "f1dfe69dfefed3e10933de1629c35f5cf250d6fa",
      "parents": [
        "c2ceb2b09bfe6660f08c024cc758e5e9632acc07"
      ],
      "author": {
        "name": "Abseil Team",
        "email": "absl-team@google.com",
        "time": "Fri Mar 21 12:44:17 2025"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Fri Mar 21 12:44:56 2025"
      },
      "message": "Add UnpackStructImpl for structs with 22 fields.\n\nPiperOrigin-RevId: 739148442\nChange-Id: Iae29066daddeea8384f3eb06ff075299156e9579\n"
    },
    {
      "commit": "c2ceb2b09bfe6660f08c024cc758e5e9632acc07",
      "tree": "f6387ae1c54d5e8cad3b99ccafaf6bc4ce05b8d3",
      "parents": [
        "e7b26b72461e0bfcb5a2a9c1cafd849108f834ae"
      ],
      "author": {
        "name": "Tommy Chiang",
        "email": "ototot@google.com",
        "time": "Fri Mar 21 10:03:29 2025"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Fri Mar 21 10:04:11 2025"
      },
      "message": "Fix a typo\n\nI have no idea what DLP here means, but ULP make sense.\nAssuming DLP is a typo of ULP.\n\nPiperOrigin-RevId: 739113596\nChange-Id: Ib8c66d54d95e3b015c79af1285b7008c91b8502e\n"
    },
    {
      "commit": "e7b26b72461e0bfcb5a2a9c1cafd849108f834ae",
      "tree": "7a4829c3dce1757136438a29f5e44cea26f91843",
      "parents": [
        "3af834740f58ef56058e6f8a1be51f62bc3a6515"
      ],
      "author": {
        "name": "Abseil Team",
        "email": "absl-team@google.com",
        "time": "Thu Mar 20 17:55:26 2025"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Thu Mar 20 17:56:05 2025"
      },
      "message": "Add a non-\u0027const\u0027 overload for the function invoked by the IgnoreArgs action wrapper.\n\nPiperOrigin-RevId: 738865907\nChange-Id: Ia43b297692ddca681bf29fa7547a5a4da330e51a\n"
    },
    {
      "commit": "3af834740f58ef56058e6f8a1be51f62bc3a6515",
      "tree": "b83c707923b63b5541d1ae34e318da6f9803a9b9",
      "parents": [
        "4902ea2d7c6faed89b6facee00baa34bb108fc0d"
      ],
      "author": {
        "name": "Zhanyong Wan",
        "email": "wan@google.com",
        "time": "Tue Mar 18 16:41:34 2025"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Tue Mar 18 16:42:12 2025"
      },
      "message": "Improve the failure messages of `ElementsAre()`, `ElementsAreArray()`, etc.\n\nNOTE: if you suspect that this change breaks your build, it\u0027s likely that your tests depend on the exact messages of `ElementsAre()` and friends. The messages are implementation details of these matcher and are subject to change without notice. Depending on the messages is not supported. In that case, please rewrite your tests to avoid the dependency.\n\nWhen the array being matched is long, it can be hard for the user to find the mismatched element in the message generated by `ElementsAre()` or `ElementsAreArray()` - even though these matchers print the index of the mismatched element, the user still has to count to find the actual element and its corresponding matcher.\n\nWith this change, these matchers will include the actual value and corresponding matcher in the failure message, making it easier for the user.\n\nAlso make a small style improvement: now it\u0027s advised to write\n```\nEXPECT_EQ(actual, expected);\n```\nas opposed to\n```\nEXPECT_EQ(expected, actual);\n```\n\nPiperOrigin-RevId: 738039133\nChange-Id: I3b94f7d01a6a4c92e2daf268df8cfb04a21d4294\n"
    },
    {
      "commit": "4902ea2d7c6faed89b6facee00baa34bb108fc0d",
      "tree": "b38dd2e951f14c1fcbd77d0c5b34b6e9c724ecae",
      "parents": [
        "4ee4b17bf5ae1bf6cdb95693c174b8830898c00b"
      ],
      "author": {
        "name": "Zhanyong Wan",
        "email": "wan@google.com",
        "time": "Tue Mar 11 19:03:38 2025"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Tue Mar 11 19:04:28 2025"
      },
      "message": "Clarify the polymorphic matcher concept and explain how to define a composite matcher.\n\nMany gtest users aren\u0027t aware that a polymorphic matcher is not actually a `testing::Matcher\u003c\u003e` and thus doesn\u0027t know how to describe itself. Clarify this.\n\nAlso adds a recipe on how to define a composite matcher. In particular, explain how the composite matcher can describe itself in terms of the description(s) of its sub-matcher(s).\n\nPiperOrigin-RevId: 735840759\nChange-Id: I26cff6179349aa739fc7fdd528a2f5308d18c189\n"
    },
    {
      "commit": "4ee4b17bf5ae1bf6cdb95693c174b8830898c00b",
      "tree": "b317887ba862c7e482a4e1df67bee78a62cc0cc2",
      "parents": [
        "0bdccf4aa2f5c67af967193caf31d42d5c49bde2"
      ],
      "author": {
        "name": "Zhanyong Wan",
        "email": "wan@google.com",
        "time": "Tue Mar 11 13:58:07 2025"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Tue Mar 11 13:58:43 2025"
      },
      "message": "Allow `DistanceFrom()` to use user-defined `abs()` by default.\n\n`std::abs()` doesn\u0027t work on custom types. While one can use the 3-argument version of `DistanceFrom()` to specify how to compute the distance, it\u0027s not as convenient as defining `abs()` for the custom type once in the type\u0027s namespace and then use the 2-argument version.\n\nPiperOrigin-RevId: 735741409\nChange-Id: If8fb668455eb963a2ccf089f7467c64965a2e7a6\n"
    },
    {
      "commit": "0bdccf4aa2f5c67af967193caf31d42d5c49bde2",
      "tree": "d7ca0eeaa18e7866c46af0291d81ffc79fd42a4d",
      "parents": [
        "e88cb95b92acbdce9b058dd894a68e1281b38495"
      ],
      "author": {
        "name": "Zhanyong Wan",
        "email": "wan@google.com",
        "time": "Fri Mar 07 17:53:19 2025"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Fri Mar 07 17:54:00 2025"
      },
      "message": "Add a `DistanceFrom()` matcher for general distance comparison.\n\nWe have a bunch of matchers for asserting that a value is near the target value, e.g.\n`DoubleNear()` and `FloatNear()`. These matchers only work for specific types (`double` and `float`). They are not flexible enough to support other types that have the notion of a \"distance\" (e.g. N-dimensional points and vectors, which are commonly used in ML).\n\nIn this diff, we generalize the idea to a `DistanceFrom(target, get_distance, m)` matcher that works on arbitrary types that have the \"distance\" concept (the `get_distance` argument is optional and can be omitted for types that support `-`, and `std::abs()`). What it does:\n\n1. compute the distance between the value and the target using `get_distance(value, target)`; if `get_distance` is omitted, compute the distance as `std::abs(value - target)`.\n2. match the distance against matcher `m`; if the match succeeds, the `DistanceFrom()` match succeeds.\n\nExamples:\n\n```\n  // 0.5\u0027s distance from 0.6 should be \u003c\u003d 0.2.\n  EXPECT_THAT(0.5, DistanceFrom(0.6, Le(0.2)));\n\n  Vector2D v1(3.0, 4.0), v2(3.2, 6.0);\n  // v1\u0027s distance from v2, as computed by EuclideanDistance(v1, v2),\n  // should be \u003e\u003d 1.0.\n  EXPECT_THAT(v1, DistanceFrom(v2, EuclideanDistance, Ge(1.0)));\n```\n\nPiperOrigin-RevId: 734593292\nChange-Id: Id6bb7074dc4aa4d8abd78b57ad2426637e590de5\n"
    },
    {
      "commit": "e88cb95b92acbdce9b058dd894a68e1281b38495",
      "tree": "fb9e6faecfe7ee5d3cba27501f0b760e6ae6c554",
      "parents": [
        "24a9e940d481f992ba852599c78bb2217362847b"
      ],
      "author": {
        "name": "Abseil Team",
        "email": "absl-team@google.com",
        "time": "Tue Mar 04 18:39:43 2025"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Tue Mar 04 18:40:25 2025"
      },
      "message": "Add a `testing::ConvertGenerator` overload that accepts a converting functor. This allows the use of classes that do not have a converting ctor to the desired type.\n\nPiperOrigin-RevId: 733383835\nChange-Id: I6fbf79db0509b3d4fe8305a83ed47fceaa820e47\n"
    },
    {
      "commit": "24a9e940d481f992ba852599c78bb2217362847b",
      "tree": "8eca9a8975bccdb227abab389483c2e64754bbe7",
      "parents": [
        "72189081cae8b729422860b195bf2cad625b7eb4"
      ],
      "author": {
        "name": "Derek Mauro",
        "email": "dmauro@google.com",
        "time": "Fri Feb 28 19:35:40 2025"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Fri Feb 28 19:36:13 2025"
      },
      "message": "Try to warn the user when test filters do not match any tests\n\nPiperOrigin-RevId: 732204780\nChange-Id: I2c4ccabd123e3b79c3dd8bc768a4cd9a576d282c\n"
    }
  ],
  "next": "72189081cae8b729422860b195bf2cad625b7eb4"
}
