)]}'
{
  "log": [
    {
      "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": "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": "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": "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": "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"
    },
    {
      "commit": "4fe3307fb2d9f86d19777c7eb0e4809e9694dde7",
      "tree": "feafbf9cf5deeb64dbe983f5574cb50f96fc330b",
      "parents": [
        "b2b9072ecbe874f5937054653ef8f2731eb0f010"
      ],
      "author": {
        "name": "Derek Mauro",
        "email": "dmauro@google.com",
        "time": "Thu Oct 30 10:10:42 2025 -0700"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Thu Oct 30 10:11:17 2025 -0700"
      },
      "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 06:31:04 2025 -0700"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Thu Oct 16 06:31:44 2025 -0700"
      },
      "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": "Wed Oct 15 21:01:25 2025 -0700"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Wed Oct 15 21:01:54 2025 -0700"
      },
      "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 13:43:39 2025 -0700"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Mon Oct 13 13:44:23 2025 -0700"
      },
      "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 06:50:27 2025 -0700"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Mon Oct 13 06:51:01 2025 -0700"
      },
      "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 16:02:53 2025 -0700"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Tue Oct 07 16:03:37 2025 -0700"
      },
      "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 06:38:47 2025 -0700"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Tue Oct 07 06:39:30 2025 -0700"
      },
      "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": "Mon Sep 29 20:04:59 2025 -0700"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Mon Sep 29 20:05:42 2025 -0700"
      },
      "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 11:15:32 2025 -0700"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Thu Sep 18 11:16:02 2025 -0700"
      },
      "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 10:38:37 2025 -0700"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Tue Sep 16 10:39:10 2025 -0700"
      },
      "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": "Fri Sep 12 20:44:26 2025 -0700"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Fri Sep 12 20:45:06 2025 -0700"
      },
      "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 06:16:55 2025 -0700"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Fri Sep 12 06:17:43 2025 -0700"
      },
      "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 07:13:59 2025 -0700"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Tue Sep 02 07:15:01 2025 -0700"
      },
      "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 14:51:05 2025 -0700"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Sun Aug 24 14:51:30 2025 -0700"
      },
      "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": "Tue Aug 19 22:04:51 2025 -0700"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Tue Aug 19 22:05:22 2025 -0700"
      },
      "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": "Sat Aug 16 20:07:31 2025 -0700"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Sat Aug 16 20:08:07 2025 -0700"
      },
      "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 05:09:33 2025 -0700"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Mon Aug 11 05:10:05 2025 -0700"
      },
      "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 11:13:06 2025 -0700"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Mon Jul 28 11:13:39 2025 -0700"
      },
      "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 13:03:37 2025 -0700"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Wed Jul 23 13:04:17 2025 -0700"
      },
      "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 06:24:04 2025 -0700"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Fri Jul 18 06:24:47 2025 -0700"
      },
      "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 02:06:06 2025 -0700"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Sat Jul 12 02:06:50 2025 -0700"
      },
      "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 01:13:35 2025 -0700"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Fri Jul 04 01:14:13 2025 -0700"
      },
      "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 15:17:44 2025 -0700"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Fri Jun 27 15:18:25 2025 -0700"
      },
      "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 06:46:45 2025 -0700"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Wed Jun 25 06:46:45 2025 -0700"
      },
      "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 06:21:50 2025 -0700"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Tue Jun 24 06:22:36 2025 -0700"
      },
      "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 09:13:10 2025 -0700"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Fri Jun 13 09:13:47 2025 -0700"
      },
      "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 09:36:51 2025 -0700"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Thu Jun 12 09:37:31 2025 -0700"
      },
      "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 07:21:58 2025 -0700"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Thu Jun 12 07:21:58 2025 -0700"
      },
      "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 12:28:02 2025 -0400"
      },
      "committer": {
        "name": "Joël Langlois",
        "email": "joel.langlois@wbd.com",
        "time": "Wed Jun 11 12:28:02 2025 -0400"
      },
      "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": "Tue Jun 10 21:02:56 2025 -0700"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Tue Jun 10 21:03:35 2025 -0700"
      },
      "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 12:06:24 2025 -0700"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Mon Jun 09 12:07:01 2025 -0700"
      },
      "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 09:30:39 2025 -0700"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Mon Jun 09 09:31:09 2025 -0700"
      },
      "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 14:29:15 2025 -0700"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Thu Jun 05 14:31:20 2025 -0700"
      },
      "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 13:58:02 2025 -0700"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Fri May 30 13:58:42 2025 -0700"
      },
      "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 04:46:26 2025 -0700"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Fri May 30 04:47:12 2025 -0700"
      },
      "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 08:56:42 2025 -0700"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Tue May 27 08:56:42 2025 -0700"
      },
      "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 10:54:54 2025 +0100"
      },
      "committer": {
        "name": "qubka",
        "email": "ushakovn@tcd.ie",
        "time": "Sun May 25 11:09:39 2025 +0100"
      },
      "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 12:36:24 2025 -0700"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Thu May 22 12:37:05 2025 -0700"
      },
      "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 10:21:20 2025 -0700"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Thu May 22 10:21:59 2025 -0700"
      },
      "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 10:25:04 2025 -0700"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Tue May 20 10:25:35 2025 -0700"
      },
      "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 11:20:46 2025 -0700"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Mon May 19 11:21:57 2025 -0700"
      },
      "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 09:01:54 2025 -0700"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Mon May 19 09:02:31 2025 -0700"
      },
      "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 09:42:16 2025 -0700"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Thu May 15 09:42:50 2025 -0700"
      },
      "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": "Tue May 13 18:25:24 2025 -0700"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Tue May 13 18:26:40 2025 -0700"
      },
      "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 14:40:21 2025 -0700"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Mon May 12 14:40:55 2025 -0700"
      },
      "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 09:49:56 2025 -0700"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Thu May 01 09:50:38 2025 -0700"
      },
      "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 10:11:13 2025 -0700"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Wed Apr 30 10:11:59 2025 -0700"
      },
      "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 06:30:47 2025 -0700"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Wed Apr 30 06:31:27 2025 -0700"
      },
      "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 10:26:11 2025 -0700"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Tue Apr 29 10:26:44 2025 -0700"
      },
      "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 06:12:50 2025 -0700"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Tue Apr 29 06:13:25 2025 -0700"
      },
      "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 13:29:20 2025 -0700"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Wed Apr 23 13:29:56 2025 -0700"
      },
      "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 06:50:11 2025 -0700"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Thu Apr 17 06:50:43 2025 -0700"
      },
      "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": "Wed Apr 09 17:56:54 2025 -0700"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Wed Apr 09 17:57:30 2025 -0700"
      },
      "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 15:33:04 2025 -0700"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Wed Apr 09 15:33:40 2025 -0700"
      },
      "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 12:19:38 2025 -0700"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Wed Mar 26 12:20:16 2025 -0700"
      },
      "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 05:44:17 2025 -0700"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Fri Mar 21 05:44:56 2025 -0700"
      },
      "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 03:03:29 2025 -0700"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Fri Mar 21 03:04:11 2025 -0700"
      },
      "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 10:55:26 2025 -0700"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Thu Mar 20 10:56:05 2025 -0700"
      },
      "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 09:41:34 2025 -0700"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Tue Mar 18 09:42:12 2025 -0700"
      },
      "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 12:03:38 2025 -0700"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Tue Mar 11 12:04:28 2025 -0700"
      },
      "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 06:58:07 2025 -0700"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Tue Mar 11 06:58:43 2025 -0700"
      },
      "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 09:53:19 2025 -0800"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Fri Mar 07 09:54:00 2025 -0800"
      },
      "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"
    }
  ],
  "next": "e88cb95b92acbdce9b058dd894a68e1281b38495"
}
