)]}'
{
  "log": [
    {
      "commit": "c27ad56a09cf6c95412020422e53c052f616addb",
      "tree": "7f643b0f4bda8dd1745ec85d4b12999c494e974b",
      "parents": [
        "cf6d2624883b7c0d7703e3dfb70343aebc3c3152"
      ],
      "author": {
        "name": "Abseil Team",
        "email": "absl-team@google.com",
        "time": "Sat Aug 01 11:02:06 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Sat Aug 01 11:02:41 2026"
      },
      "message": "Internal cleanup\n\nPiperOrigin-RevId: 957583209\nChange-Id: I29748dfc77e82d762b9f7c5460d14fb1f117cea0\n"
    },
    {
      "commit": "cf6d2624883b7c0d7703e3dfb70343aebc3c3152",
      "tree": "4f83213537096e20ec0c23d4cbfa29d6acca4cdc",
      "parents": [
        "67ef70430f8c470ea08d97399fdde1ec15bea28f"
      ],
      "author": {
        "name": "Abseil Team",
        "email": "absl-team@google.com",
        "time": "Sat Aug 01 09:21:08 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Sat Aug 01 09:21:52 2026"
      },
      "message": "Internal cleanup\n\nPiperOrigin-RevId: 957558918\nChange-Id: I151c46f70c81a514c5d299753ba24cefaf796b83\n"
    },
    {
      "commit": "67ef70430f8c470ea08d97399fdde1ec15bea28f",
      "tree": "db9661c18856485a9f0b825a9c147f81caeac9e3",
      "parents": [
        "b113a2ef7d2a2a141ca24dd4c6a83e4ce2999903"
      ],
      "author": {
        "name": "Vitaly Goldshteyn",
        "email": "goldvitaly@google.com",
        "time": "Fri Jul 31 23:02:12 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Fri Jul 31 23:38:22 2026"
      },
      "message": "Increase kMaxCapacityForLoadFactorOne to Group::kWidth * 4 - 1.\n\nThis change increases the maximum capacity for which raw_hash_set uses a load factor of 1 (leaving one empty slot) from Group::kWidth * 2 - 1 to Group::kWidth * 4 - 1. This allows larger small tables to avoid the 7/8 load factor limit, improving memory efficiency for these sizes. Tests are updated to reflect the new capacity and growth expectations.\n\nIt has disadvantage of increased number of probing, but it is still bounded to 4 groups. Positive aspects that control bytes of such tables fit into two cache lines, so not a lot of memory will be read in case of excessive probing.\n\nFind hit for such tables may be potentially faster for elements that doesn\u0027t require probing due to more compact memory representation.\n\nPiperOrigin-RevId: 957375580\nChange-Id: Icc9b49a986be754acde58e5d3be7a0459d10da90\n"
    },
    {
      "commit": "b113a2ef7d2a2a141ca24dd4c6a83e4ce2999903",
      "tree": "0406bc8015703dce002bd88ba47780a50c1738a7",
      "parents": [
        "5817b4293db73aa845aef41dc0f7f3ac23ef824a"
      ],
      "author": {
        "name": "Abseil Team",
        "email": "absl-team@google.com",
        "time": "Fri Jul 31 18:30:09 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Fri Jul 31 23:37:47 2026"
      },
      "message": "Internal cleanup\n\nPiperOrigin-RevId: 957247597\nChange-Id: Ic077df44adeb8194b2b0b49346bc6e7f26cded32\n"
    },
    {
      "commit": "5817b4293db73aa845aef41dc0f7f3ac23ef824a",
      "tree": "733ec0f6f56e5ae44d5e5855eafc81f92a176eb2",
      "parents": [
        "b5e7eb798b409616c1c80e94b676ab5e0f942a5d"
      ],
      "author": {
        "name": "Abseil Team",
        "email": "absl-team@google.com",
        "time": "Fri Jul 31 07:19:31 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Fri Jul 31 23:37:13 2026"
      },
      "message": "Internal cleanup\n\nPiperOrigin-RevId: 956964685\nChange-Id: Ice5c69065628d6e358674c3c9bf679a27736b071\n"
    },
    {
      "commit": "b5e7eb798b409616c1c80e94b676ab5e0f942a5d",
      "tree": "4f618a7d9f10d557d09fefc2d03dab0f98be819a",
      "parents": [
        "c5af2772a25feb6eda0c60cdbaa78654c445c748"
      ],
      "author": {
        "name": "Abseil Team",
        "email": "absl-team@google.com",
        "time": "Fri Jul 31 07:19:28 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Fri Jul 31 23:36:50 2026"
      },
      "message": "Internal cleanup\n\nPiperOrigin-RevId: 956964671\nChange-Id: Ic300f35de93847ed6a7727b7f02b277126104fdd\n"
    },
    {
      "commit": "c5af2772a25feb6eda0c60cdbaa78654c445c748",
      "tree": "d5a880daa739abc3409e28222eb581afc99520f8",
      "parents": [
        "e962b227097b9adc547f5887d41df5721457dd39"
      ],
      "author": {
        "name": "Abseil Team",
        "email": "absl-team@google.com",
        "time": "Fri Jul 31 07:03:08 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Fri Jul 31 23:36:30 2026"
      },
      "message": "Internal cleanup\n\nPiperOrigin-RevId: 956958438\nChange-Id: I0c6fa1172de3f21a856cfbe163c2e6ec650dd82e\n"
    },
    {
      "commit": "e962b227097b9adc547f5887d41df5721457dd39",
      "tree": "1b54304a83058cf0ecfb8a249dce3c4650958eef",
      "parents": [
        "b564616dbc073effb5ea239c75afe4adbf2ee0a8"
      ],
      "author": {
        "name": "Abseil Team",
        "email": "absl-team@google.com",
        "time": "Fri Jul 31 06:59:06 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Fri Jul 31 23:36:09 2026"
      },
      "message": "Internal cleanup\n\nPiperOrigin-RevId: 956956846\nChange-Id: Ia5669bfe8d924eeb09b4625d302a8bc69ec62450\n"
    },
    {
      "commit": "b564616dbc073effb5ea239c75afe4adbf2ee0a8",
      "tree": "9ebe882467b6681e3ed738b5c5ef7d86d8be8252",
      "parents": [
        "73599e5ef80847ecd3148b4657b23eca318969c3"
      ],
      "author": {
        "name": "Connal de Souza",
        "email": "connaldesouza@google.com",
        "time": "Fri Jul 31 02:14:55 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Fri Jul 31 23:35:47 2026"
      },
      "message": "Refactor CRC32C Extend template parameters.\n\n1) Remove num_vpclmul_streams and add a new pclmul_stream_type that identifies the pclmul stream implementation (pclmul, vpclmul, or neon for Arm).\n\n2) Remove CutoffStrategy, since it\u0027s redundant with num_crc_streams.\n\nThis should be a nop, but will make upcoming changes to add an EOR3 Neon pclmul implementation and merge some crc_memcpy functionality into Extend easier.\n\nPiperOrigin-RevId: 956865411\nChange-Id: I8b0f36f54971702c94ce556b380f1348fe9a05fb\n"
    },
    {
      "commit": "73599e5ef80847ecd3148b4657b23eca318969c3",
      "tree": "96096bb419215e3dcf1e61a9f9dc9e091d67be55",
      "parents": [
        "c0d7007fcd09901be083b8f000e6a44250d784e1"
      ],
      "author": {
        "name": "Abseil Team",
        "email": "absl-team@google.com",
        "time": "Thu Jul 30 15:46:22 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Fri Jul 31 23:35:01 2026"
      },
      "message": "Add missing cstring include for memcpy to randen_detect.cc.\n\nPiperOrigin-RevId: 956548104\nChange-Id: I52d7441d2fa810a7bb1c1aa162d01dec3a4778b4\n"
    },
    {
      "commit": "c0d7007fcd09901be083b8f000e6a44250d784e1",
      "tree": "6a52085b2655004fb74c6f45f797a7d2e0b8165f",
      "parents": [
        "9c3847b236676f4fadd0d55d20a364bba2249fca"
      ],
      "author": {
        "name": "Chris Kennelly",
        "email": "ckennelly@google.com",
        "time": "Thu Jul 30 15:41:52 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Fri Jul 31 23:34:36 2026"
      },
      "message": "Internal formatting change\n\nPiperOrigin-RevId: 956545998\nChange-Id: I7f3a8c207cf288f99389bb3a5584d5ba02062b13\n"
    },
    {
      "commit": "9c3847b236676f4fadd0d55d20a364bba2249fca",
      "tree": "b91bbcf64f8344d46c9aa1b774d39bab961fddda",
      "parents": [
        "00ab0ffab881e1ce285313431ffeeb29934d9c94"
      ],
      "author": {
        "name": "Prashant Kumar",
        "email": "pzk@google.com",
        "time": "Thu Jul 30 15:31:51 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Fri Jul 31 23:34:14 2026"
      },
      "message": "Add absl::Time overload for PerThreadSem::Wait\n\nPiperOrigin-RevId: 956540694\nChange-Id: I6e2d73eabd48ff45c1e39d7536ef162e3cdd64c4\n"
    },
    {
      "commit": "00ab0ffab881e1ce285313431ffeeb29934d9c94",
      "tree": "acff3899099036ecf215b00d544ea948675365e4",
      "parents": [
        "5d0ccad44bd95e2712517aeba1afb27fddc100c0"
      ],
      "author": {
        "name": "Derek Mauro",
        "email": "dmauro@google.com",
        "time": "Thu Jul 30 14:08:37 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Fri Jul 31 23:33:52 2026"
      },
      "message": "Refactor SFINAE trait and mark unused comparator template in btree_test.cc.\n\nPiperOrigin-RevId: 956502253\nChange-Id: I1cc847413b25eea95ac689ba1858587df4490bc5\n"
    },
    {
      "commit": "5d0ccad44bd95e2712517aeba1afb27fddc100c0",
      "tree": "e12eb2eeefb3c320501ecf6a63f54f42a718977f",
      "parents": [
        "5bc5f575421d7b5e1e1c34bde5b05ea9feef1ea8"
      ],
      "author": {
        "name": "Abseil Team",
        "email": "absl-team@google.com",
        "time": "Thu Jul 30 06:47:31 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Fri Jul 31 23:33:29 2026"
      },
      "message": "Internal cleanup\n\nPiperOrigin-RevId: 956309260\nChange-Id: I776196bb617131ac79fd268ba3f3a72f3745ff6c\n"
    },
    {
      "commit": "5bc5f575421d7b5e1e1c34bde5b05ea9feef1ea8",
      "tree": "338933d72ed8c56769fb638db5c4b21067ea6c38",
      "parents": [
        "f6aa49327055cf4e9d0f2291da0c300e92c0d4a8"
      ],
      "author": {
        "name": "Vitaly Goldshteyn",
        "email": "goldvitaly@google.com",
        "time": "Thu Jul 30 06:34:59 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Fri Jul 31 23:33:07 2026"
      },
      "message": "Adjust capacity and growth calculations for raw_hash_set with 16-wide groups.\n\nUpdate CapacityToGrowth and SizeToCapacity to handle the capacity boundary at Group::kWidth * 2 - 1 (which is 31 for 16-wide groups). This allows sizes 29 and 30 to fit within a capacity of 31 instead of prematurely resizing to 63, improving memory efficiency. Also add corresponding unit tests.\n\nPiperOrigin-RevId: 956303853\nChange-Id: I32963b27302512bfa2c3f42d4a57b736d0aa31fa\n"
    },
    {
      "commit": "f6aa49327055cf4e9d0f2291da0c300e92c0d4a8",
      "tree": "8106da05fb74606ae26604fba41887a74c3e9f98",
      "parents": [
        "50a2b98cab715a4eeb79ada4cb6381a3be92bf33"
      ],
      "author": {
        "name": "Abseil Team",
        "email": "absl-team@google.com",
        "time": "Thu Jul 30 06:28:02 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Fri Jul 31 23:32:45 2026"
      },
      "message": "Internal cleanup\n\nPiperOrigin-RevId: 956300831\nChange-Id: Ie71093c6b0e204813f1ac2a67866c0f12364a9ca\n"
    },
    {
      "commit": "50a2b98cab715a4eeb79ada4cb6381a3be92bf33",
      "tree": "76a6b1c2eca34133204ee79a5618059f02f5a779",
      "parents": [
        "5d2e6f25bea54c6173989d8b980a4b97f68a8bcb"
      ],
      "author": {
        "name": "Abseil Team",
        "email": "absl-team@google.com",
        "time": "Thu Jul 30 06:20:44 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Fri Jul 31 23:32:23 2026"
      },
      "message": "Internal cleanup\n\nPiperOrigin-RevId: 956298089\nChange-Id: I770f91315950c3b508bc93f85c67259f4e24a6b5\n"
    },
    {
      "commit": "5d2e6f25bea54c6173989d8b980a4b97f68a8bcb",
      "tree": "143bd52a7ce4db997199b4b393d37553c2ed4b4e",
      "parents": [
        "e395f84944ff069d3556508a038bc0753955d037"
      ],
      "author": {
        "name": "Abseil Team",
        "email": "absl-team@google.com",
        "time": "Thu Jul 30 05:54:30 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Fri Jul 31 23:32:02 2026"
      },
      "message": "Internal cleanup\n\nPiperOrigin-RevId: 956287780\nChange-Id: I946c7997b3cac0d81fa14ac93909fadb35d24edb\n"
    },
    {
      "commit": "e395f84944ff069d3556508a038bc0753955d037",
      "tree": "9e0803062b25dae0746b273c22c431a0d4e93d70",
      "parents": [
        "39775d18f236a8f582f6a68f1792c6c74be6b1a0"
      ],
      "author": {
        "name": "Abseil Team",
        "email": "absl-team@google.com",
        "time": "Thu Jul 30 05:43:45 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Fri Jul 31 23:31:41 2026"
      },
      "message": "Internal cleanup\n\nPiperOrigin-RevId: 956283836\nChange-Id: I015c7f19c70a835441c6dc39ab704d36ce14e120\n"
    },
    {
      "commit": "39775d18f236a8f582f6a68f1792c6c74be6b1a0",
      "tree": "f9312cc349838ded4d92ab5ffe5af274187a1f81",
      "parents": [
        "96328bc083649cd3f6598ddd9def36532448d2d8"
      ],
      "author": {
        "name": "Abseil Team",
        "email": "absl-team@google.com",
        "time": "Thu Jul 30 04:54:14 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Fri Jul 31 23:31:16 2026"
      },
      "message": "Internal cleanup\n\nPiperOrigin-RevId: 956266147\nChange-Id: Ib28411da2834c4cf2145a4a75b947d1ad9bb5670\n"
    },
    {
      "commit": "96328bc083649cd3f6598ddd9def36532448d2d8",
      "tree": "6704d98064d102066c0746359e50d47544ce8faf",
      "parents": [
        "b91d71c0905b7ae59804a87414fc4c9f7aeae9f5"
      ],
      "author": {
        "name": "Abseil Team",
        "email": "absl-team@google.com",
        "time": "Thu Jul 30 04:05:57 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Fri Jul 31 23:30:55 2026"
      },
      "message": "Internal cleanup\n\nPiperOrigin-RevId: 956250669\nChange-Id: I19979deb19d4c0567e3f4b764b32d8f161ea4b42\n"
    },
    {
      "commit": "b91d71c0905b7ae59804a87414fc4c9f7aeae9f5",
      "tree": "bf9c82fc4e1cbfbd57732ade16ef65c0059870b3",
      "parents": [
        "7cdc51a08e07fad975fcba1240e3c869d9cea083"
      ],
      "author": {
        "name": "Sayed Nabhan",
        "email": "nabhan@bugqore.com",
        "time": "Wed Jul 29 19:02:30 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Fri Jul 31 23:30:20 2026"
      },
      "message": "PR #2122: Don\u0027t emit silenced punycode identifiers in demangle_rust\n\nImported from GitHub PR https://github.com/abseil/abseil-cpp/pull/2122\n\nParseUndisambiguatedIdentifier decodes a punycoded identifier straight into the output buffer and advances out_ without checking silence_depth_, unlike EmitChar and Emit which write nothing while output is silenced. So a punycoded identifier inside a suppressed region leaks its decoded text into the demangling: _RNvYFKu19Eyjafjallajkull_jtbEuNtC1c1t1f comes out as \u003cfn...Eyjafjallajökull as c::t\u003e::f instead of \u003cfn... as c::t\u003e::f, and the decode also borrows output-buffer space that a suppressed identifier should not need. When silenced the punycode branch now just consumes the encoded bytes, stopping at a premature NUL like the raw-bytes branch, and emits nothing, so the identifier no longer leaks and no output space is used. Added a regression test alongside the existing extern-abi cases.\nMerge 05fcf14e5298f1d47203ba3204840d3f73195f75 into 2424af2367325310e8e0caba7da3a022858346c4\n\nMerging this change closes #2122\n\nCOPYBARA_INTEGRATE_REVIEW\u003dhttps://github.com/abseil/abseil-cpp/pull/2122 from nabhan06:rust-demangle-silence-punycode 05fcf14e5298f1d47203ba3204840d3f73195f75\nPiperOrigin-RevId: 956013474\nChange-Id: I9a13452b44c01876cf79ced23fbaf2a5e3177a57\n"
    },
    {
      "commit": "7cdc51a08e07fad975fcba1240e3c869d9cea083",
      "tree": "3126f68e7a766f246c6b3fa6662fcb9dd137bfac",
      "parents": [
        "fb1577a7b7a3dd657581219f48b39fc8332a8eff"
      ],
      "author": {
        "name": "Javid Khan",
        "email": "dxbjavid@gmail.com",
        "time": "Wed Jul 29 13:52:16 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Fri Jul 31 23:29:59 2026"
      },
      "message": "PR #2110: Fix reversed operand in ShouldPickFirstSymbol tie-break\n\nImported from GitHub PR https://github.com/abseil/abseil-cpp/pull/2110\n\nShouldPickFirstSymbol breaks ties between two symbols that cover the same address, but it reads bind2 and type2 from symbol1 rather than symbol2, so the weak-versus-strong and typed-versus-untyped comparisons each test a value against itself and can never fire. The practical effect is that when a weak alias and a global symbol share an address the symbolizer may report the weak alias (or an untyped entry) instead of the canonical name, because selection then falls through to the size check and finally to picking whichever symbol happened to be seen first in the table. This reads the second operand from symbol2 so the intended preference actually takes effect; the size comparison in between was already using both operands correctly.\nMerge 32d5b2834c004bd1d1458ac4d7d7ee473e77e20f into 2d820d1ab1c42e13dbd4ca5fbfe909b3d65ee74d\n\nMerging this change closes #2110\n\nCOPYBARA_INTEGRATE_REVIEW\u003dhttps://github.com/abseil/abseil-cpp/pull/2110 from dxbjavid:symbolize-tiebreak-operand 32d5b2834c004bd1d1458ac4d7d7ee473e77e20f\nPiperOrigin-RevId: 955855817\nChange-Id: I97f5786a6b959d4f4d1c6bf8f9e799a4aceada13\n"
    },
    {
      "commit": "fb1577a7b7a3dd657581219f48b39fc8332a8eff",
      "tree": "0f71adc0dfb36b8f62ce66449f0d27beb0216ccb",
      "parents": [
        "2befdd1e56fcb08d71f51c3b35472817c9863bcf"
      ],
      "author": {
        "name": "Abseil Team",
        "email": "absl-team@google.com",
        "time": "Tue Jul 28 19:19:10 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Fri Jul 31 23:29:22 2026"
      },
      "message": "Encourage callers to move off of ABSL_ARRAYSIZE() toward std::size() or std::extent_v\u003c\u003e\n\nPiperOrigin-RevId: 955400217\nChange-Id: I5f30fb6196e93413db6c1a664e0cec65c8e36ee2\n"
    },
    {
      "commit": "2befdd1e56fcb08d71f51c3b35472817c9863bcf",
      "tree": "85d90fcda932d900b5c53ca4129f9364e878fee8",
      "parents": [
        "1bdca3e053f28f5bd9417a0e7eab6f8d43b5d4e8"
      ],
      "author": {
        "name": "Abseil Team",
        "email": "absl-team@google.com",
        "time": "Tue Jul 28 18:49:56 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Fri Jul 31 23:29:00 2026"
      },
      "message": "Skip PrecombineLengthMix.ShortStringCollision on 32-bit Android.\n\nThis test is sensitive to specific seeds in 32-bit environments with low/no ASLR. Layout changes can trigger spurious failures unrelated to correctness.\n\nPiperOrigin-RevId: 955384008\nChange-Id: Iec8ef5781555de085cdb27b4d906ec73dc0498e5\n"
    },
    {
      "commit": "1bdca3e053f28f5bd9417a0e7eab6f8d43b5d4e8",
      "tree": "ca8f71a8fd394f565fe20c39e949172d58b10663",
      "parents": [
        "4a14ca57e979b91d6540c606a1a0583a94dbd6bc"
      ],
      "author": {
        "name": "James Keeling",
        "email": "jtkeeling@google.com",
        "time": "Tue Jul 28 09:59:42 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Fri Jul 31 23:28:24 2026"
      },
      "message": "Fix broken support for AbslStringify for civil time types.\n\nPiperOrigin-RevId: 955145277\nChange-Id: I7a226e5f8a05514f1c611064b37eb0c8f7860d12\n"
    },
    {
      "commit": "4a14ca57e979b91d6540c606a1a0583a94dbd6bc",
      "tree": "9ffc1db9ef0fca7737a74c33d6f5ae6fe1e39eea",
      "parents": [
        "3ecf295dfe45c72d00a244d052eced017851d5e9"
      ],
      "author": {
        "name": "Abseil Team",
        "email": "absl-team@google.com",
        "time": "Tue Jul 28 05:22:58 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Fri Jul 31 23:28:03 2026"
      },
      "message": "Internal cleanup\n\nPiperOrigin-RevId: 955027252\nChange-Id: I553abacb2a5305c21ad7c45f2089692e66735bb6\n"
    },
    {
      "commit": "3ecf295dfe45c72d00a244d052eced017851d5e9",
      "tree": "2414caf63fb71cdb7e3e14106dc198b9eae87fe9",
      "parents": [
        "b6fd5553442c420b70a75d47ca498cb6db5b3a1f"
      ],
      "author": {
        "name": "Abseil Team",
        "email": "absl-team@google.com",
        "time": "Tue Jul 28 05:06:23 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Fri Jul 31 23:27:40 2026"
      },
      "message": "Internal cleanup\n\nPiperOrigin-RevId: 955021123\nChange-Id: If2742bb850b5573aaa7cd443b2518e8e385a93e3\n"
    },
    {
      "commit": "b6fd5553442c420b70a75d47ca498cb6db5b3a1f",
      "tree": "02fe8a18186ed811f6fc3a0a086a99d94eb243e1",
      "parents": [
        "61267da15584d4d5f2a7faa243fca1f37f8bc3ff"
      ],
      "author": {
        "name": "Sayed Nabhan",
        "email": "nabhan@bugqore.com",
        "time": "Mon Jul 27 18:21:19 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Fri Jul 31 23:27:17 2026"
      },
      "message": "PR #2115: Reject negative unnamed-type numbers in ParseUnnamedTypeName\n\nImported from GitHub PR https://github.com/abseil/abseil-cpp/pull/2115\n\nParseUnnamedTypeName bounds the unnamed-type `\u003cnumber\u003e` only from above, so a negative one (from the `n` prefix, or from ParseNumber truncating its accumulator to int) still reaches MaybeAppendDecimal, which documents a positive value and evaluates `(val % 10) + \u00270\u0027` per digit, emitting bytes below \u00270\u0027 -- `_ZUtn3_` demangles to `{unnamed type#/}` and `_ZUt2147483648_` to `{unnamed type#./,),(-*,*}`, both returning true -- so add the matching lower bound on both the `Ut` and `Ul` branches, keeping the -1 sentinel that denotes an omitted number, the same straining ParseLocalNameSuffix already does for `\u003c(parameter) number\u003e`.\nMerge 9bb86ea3c57929e71839f446de3301cc9a73d002 into 2424af2367325310e8e0caba7da3a022858346c4\n\nMerging this change closes #2115\n\nCOPYBARA_INTEGRATE_REVIEW\u003dhttps://github.com/abseil/abseil-cpp/pull/2115 from nabhan06:demangle-unnamed-type-negative 9bb86ea3c57929e71839f446de3301cc9a73d002\nPiperOrigin-RevId: 954732979\nChange-Id: Id506292b03d3a813894fcca45830427b152b91c2\n"
    },
    {
      "commit": "61267da15584d4d5f2a7faa243fca1f37f8bc3ff",
      "tree": "06bc53f7e103aa2301e3f1e6134c25e2be256aef",
      "parents": [
        "3a62a63367b92e0f73ef7b32abdf19d40f333e2f"
      ],
      "author": {
        "name": "Sayed Nabhan",
        "email": "nabhan@bugqore.com",
        "time": "Mon Jul 27 18:21:01 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Fri Jul 31 23:26:57 2026"
      },
      "message": "PR #2108: reject oversize punycode length in rust demangler\n\nImported from GitHub PR https://github.com/abseil/abseil-cpp/pull/2108\n\nin ParseUndisambiguatedIdentifier a punycoded identifier\u0027s decimal byte count is used to form `punycode_end \u003d \u0026encoding_[pos_] + num_bytes` before it is checked against the input, so a mangled name like `_RNvC7ice_caps_u2000000000Eyjafjallajkull_jtb` makes that pointer land far past the end of the buffer (out-of-bounds pointer arithmetic); reject a length larger than the remaining input first, matching how the non-punycode branch already stops at the NUL terminator.\nMerge ffd5917a7b7aae493bc4a588f12d93672c105d3f into 2424af2367325310e8e0caba7da3a022858346c4\n\nMerging this change closes #2108\n\nCOPYBARA_INTEGRATE_REVIEW\u003dhttps://github.com/abseil/abseil-cpp/pull/2108 from nabhan06:rust-demangle-punycode-length ffd5917a7b7aae493bc4a588f12d93672c105d3f\nPiperOrigin-RevId: 954732823\nChange-Id: I11195485b338ec5cf1be18f88c63925db962e171\n"
    },
    {
      "commit": "3a62a63367b92e0f73ef7b32abdf19d40f333e2f",
      "tree": "c74585816a55f645c8d244a550796faf7698759f",
      "parents": [
        "fdf78432cadb75e58f0f869d240df47c987b7540"
      ],
      "author": {
        "name": "Mike Kruskal",
        "email": "mkruskal@google.com",
        "time": "Sat Jul 25 03:54:04 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Fri Jul 31 23:26:33 2026"
      },
      "message": "Improve absl::StrContainsIgnoreCase scaling via case-insensitive Boyer-Moore-Horspool\n\nPiperOrigin-RevId: 953698354\nChange-Id: I54f56bccbd4515c92eecabcf893473a7a97c9e43\n"
    },
    {
      "commit": "fdf78432cadb75e58f0f869d240df47c987b7540",
      "tree": "10503b2e0bf44a85c63f5960f797a22b9f195fdb",
      "parents": [
        "158b508b59d5bc672d450b934e860006d5b05474"
      ],
      "author": {
        "name": "Mike Kruskal",
        "email": "mkruskal@google.com",
        "time": "Sat Jul 25 03:52:24 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Fri Jul 31 23:26:10 2026"
      },
      "message": "Add microbenchmarks for absl::StrContainsIgnoreCase regular and adversarial cases\n\nPiperOrigin-RevId: 953698012\nChange-Id: I0faf0a7c0dde3454000575559ea7f428b8f48148\n"
    },
    {
      "commit": "158b508b59d5bc672d450b934e860006d5b05474",
      "tree": "bc9bb7719d2e9487a3146aa6fc9a05e7a6d4d4bb",
      "parents": [
        "2424af2367325310e8e0caba7da3a022858346c4"
      ],
      "author": {
        "name": "tianrking",
        "email": "10758833+tianrking@users.noreply.github.com",
        "time": "Sat Jul 25 01:31:42 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Fri Jul 31 23:25:41 2026"
      },
      "message": "PR #2113: cmake: skip probes for required C++ standard\n\nImported from GitHub PR https://github.com/abseil/abseil-cpp/pull/2113\n\n## Summary\n\n- Skip the C++17/C++20 compiler feature probes when the consuming project has explicitly selected and required a C++ language standard.\n- Preserve the existing probe path when no standard is selected, or when CMake is allowed to fall back to a lower standard.\n\n## Root cause\n\n`CMake/AbseilDll.cmake` always ran two `check_cxx_source_compiles` calls, even when `CMAKE_CXX_STANDARD` and `CMAKE_CXX_STANDARD_REQUIRED` already establish the language-mode contract for every target. This adds configuration-time compilations without changing the selected feature level.\n\nThe new branch only derives the internal feature flags from `CMAKE_CXX_STANDARD` when the requested standard is required. Optional standards retain compiler probing so a CMake fallback cannot be mistaken for a guaranteed language mode.\n\nFixes #2023.\n\n## Validation\n\n- Configured with `-DCMAKE_CXX_STANDARD\u003d17 -DCMAKE_CXX_STANDARD_REQUIRED\u003dON`: 0 Abseil standard probe lines.\n- Configured with `-DCMAKE_CXX_STANDARD\u003d20 -DCMAKE_CXX_STANDARD_REQUIRED\u003dON`: 0 Abseil standard probe lines.\n- Configured with `-DCMAKE_CXX_STANDARD\u003d20 -DCMAKE_CXX_STANDARD_REQUIRED\u003dOFF`: existing probes still run.\n- Built the `strings` CMake target with both required C++17 and required C++20 configurations on MSVC.\n- Ran `git diff --check`.\n\nMerge 87cf39dce9df59cbd23e6f62be1a83455a2bab6a into 713f5d2912ef40181a654c4cf4a03a7605c5f6f1\n\nMerging this change closes #2113\n\nCOPYBARA_INTEGRATE_REVIEW\u003dhttps://github.com/abseil/abseil-cpp/pull/2113 from tianrking:agent/skip-cxx-standard-probes 87cf39dce9df59cbd23e6f62be1a83455a2bab6a\nPiperOrigin-RevId: 953652012\nChange-Id: If4472835a9550116f00dd182520140762046cda0\n"
    },
    {
      "commit": "2424af2367325310e8e0caba7da3a022858346c4",
      "tree": "400af5b4e67d94e34464f950919003f788404913",
      "parents": [
        "2d820d1ab1c42e13dbd4ca5fbfe909b3d65ee74d"
      ],
      "author": {
        "name": "Derek Mauro",
        "email": "dmauro@google.com",
        "time": "Fri Jul 24 19:59:19 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Fri Jul 24 19:59:40 2026"
      },
      "message": "Document that absl::linked_hash_map and absl::linked_hash_set do not guarantee exception safety.\n\nPiperOrigin-RevId: 953514931\nChange-Id: I2ae4a64144c3251c5d444ee5077f5bb4969f4fc9\n"
    },
    {
      "commit": "2d820d1ab1c42e13dbd4ca5fbfe909b3d65ee74d",
      "tree": "1132227795eec203335677cf42bbcdaf112f4ba2",
      "parents": [
        "713f5d2912ef40181a654c4cf4a03a7605c5f6f1"
      ],
      "author": {
        "name": "Abseil Team",
        "email": "absl-team@google.com",
        "time": "Fri Jul 24 15:42:25 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Fri Jul 24 15:43:13 2026"
      },
      "message": "Add std::variant, std::tuple, std::array, std::reference_wrapper, and reference/const/volatile specializations for IsOwner and IsView\n\nFixes: #1960\nPiperOrigin-RevId: 953386746\nChange-Id: If5184a5b5201964f3f5d8aeb48675a546afe26a9\n"
    },
    {
      "commit": "713f5d2912ef40181a654c4cf4a03a7605c5f6f1",
      "tree": "5a6f933656d3933162dde32e0100f8de4f4f77f6",
      "parents": [
        "e3fb3acb8625ad4ed79f444054a490e36714fa4e"
      ],
      "author": {
        "name": "Abseil Team",
        "email": "absl-team@google.com",
        "time": "Thu Jul 23 18:02:50 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Thu Jul 23 18:03:26 2026"
      },
      "message": "Migrate std::integral_constant\u003cbool, V\u003e to std::bool_constant\u003cV\u003e (C++17)\n\nPiperOrigin-RevId: 952853138\nChange-Id: I087ed36aef3a91dbe196c242b1ba1983c9f97aa3\n"
    },
    {
      "commit": "e3fb3acb8625ad4ed79f444054a490e36714fa4e",
      "tree": "55d9dff87eccc6a54692cdfebde751d399b45d28",
      "parents": [
        "07651e4145e496fa8e5b3b852412cd608645e8cd"
      ],
      "author": {
        "name": "Derek Mauro",
        "email": "dmauro@google.com",
        "time": "Wed Jul 22 20:51:51 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Wed Jul 22 20:52:17 2026"
      },
      "message": "Simplify the CEscape conversion array and make it endian neutral\n\nPiperOrigin-RevId: 952312050\nChange-Id: Iea0f73e2ab71c86dab0d6f4be15f8f0693768883\n"
    },
    {
      "commit": "07651e4145e496fa8e5b3b852412cd608645e8cd",
      "tree": "404d87473dcc6e5092fd1c68205b8fbaf3fb4c0c",
      "parents": [
        "dbaf483dfee764d81bf2bab897bac5650d13329d"
      ],
      "author": {
        "name": "Abseil Team",
        "email": "absl-team@google.com",
        "time": "Wed Jul 22 04:34:15 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Wed Jul 22 04:34:52 2026"
      },
      "message": "Internal cleanup\n\nPiperOrigin-RevId: 951877685\nChange-Id: I5433c536ad96d95f45529dc4bf3f9ee931a25ec7\n"
    },
    {
      "commit": "dbaf483dfee764d81bf2bab897bac5650d13329d",
      "tree": "1f428dbae308445ae144d6397199d0bc7d005689",
      "parents": [
        "fa0d220bde122635025405ff283801b90f9e93b0"
      ],
      "author": {
        "name": "Peter Foley",
        "email": "pefoley@google.com",
        "time": "Tue Jul 21 19:33:32 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Tue Jul 21 19:34:01 2026"
      },
      "message": "Internal cleanup\n\nPiperOrigin-RevId: 951638880\nChange-Id: Id86a5ccc55b9433fd7415614a58e42bca15ce647\n"
    },
    {
      "commit": "fa0d220bde122635025405ff283801b90f9e93b0",
      "tree": "a16e59451b3bd87c27158e6a538b3839ed3f5fe7",
      "parents": [
        "ce1a8f1ec1793e5cb9d7fffa281efdfea5dd8035"
      ],
      "author": {
        "name": "Derek Mauro",
        "email": "dmauro@google.com",
        "time": "Tue Jul 21 18:53:45 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Tue Jul 21 18:54:17 2026"
      },
      "message": "Fix MSVC AVX2 compile\n\nFixes #2116\n\nPiperOrigin-RevId: 951617645\nChange-Id: I5f263b314e2dcb597e505a7f1c9ebe8977e3c974\n"
    },
    {
      "commit": "ce1a8f1ec1793e5cb9d7fffa281efdfea5dd8035",
      "tree": "82e3bd66424e330b147610c2437ca94a49217f1e",
      "parents": [
        "2d5d898f3673a2048c1fd68a4b9221b4be9c68b0"
      ],
      "author": {
        "name": "Milad Fa",
        "email": "46688537+miladfarca@users.noreply.github.com",
        "time": "Mon Jul 20 21:33:44 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Mon Jul 20 21:34:27 2026"
      },
      "message": "PR #2120: Fix hash_instantiated_test and hash_test on big-endian\n\nImported from GitHub PR https://github.com/abseil/abseil-cpp/pull/2120\n\nThe two tests are failing on big-endian platforms after 63c77e406.\n\nThe new bit-packing code stores packed bits in the LSB of a uint64_t, then feeds raw bytes via reinterpret_cast. On big-endian, the LSB is at the end of the memory layout, so the partial-word path reads leading zero bytes instead of the actual data, causing hash collisions between distinct inputs.\n\nFix by byte-swapping the word to little-endian layout before feeding it to the combiner.\nMerge 955225b59105b384641beee9e00c25c07b80ce7e into 3d9e6767fb5483e70fb7262e4e5dd449fae59a66\n\nMerging this change closes #2120\n\nCOPYBARA_INTEGRATE_REVIEW\u003dhttps://github.com/abseil/abseil-cpp/pull/2120 from miladfarca:63c77e406-fix 955225b59105b384641beee9e00c25c07b80ce7e\nPiperOrigin-RevId: 951057598\nChange-Id: I8f16de470641d2cb846806ff887cf955504735fd\n"
    },
    {
      "commit": "2d5d898f3673a2048c1fd68a4b9221b4be9c68b0",
      "tree": "09e5744a770e139ba9693738ed103c19bb3a801e",
      "parents": [
        "14d4aed2dd4ed7c1bc3025ef4a4a50b0aa4af06f"
      ],
      "author": {
        "name": "Abseil Team",
        "email": "absl-team@google.com",
        "time": "Mon Jul 20 20:58:56 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Mon Jul 20 20:59:32 2026"
      },
      "message": "Add std::variant specializations for IsOwner and IsView\n\nFixes: #1960\nPiperOrigin-RevId: 951038585\nChange-Id: I73cf69baf577289e80bff20bd151c0e452de074b\n"
    },
    {
      "commit": "14d4aed2dd4ed7c1bc3025ef4a4a50b0aa4af06f",
      "tree": "6eb34c405bd9db525398cd38706eb16779e9aef1",
      "parents": [
        "3d9e6767fb5483e70fb7262e4e5dd449fae59a66"
      ],
      "author": {
        "name": "Abseil Team",
        "email": "absl-team@google.com",
        "time": "Mon Jul 20 20:20:31 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Mon Jul 20 20:20:52 2026"
      },
      "message": "Add std::variant specializations for IsOwner and IsView\n\nFixes: #1960\nPiperOrigin-RevId: 951017341\nChange-Id: If8de7073695152947aa93e0d5a3800dac6e353b6\n"
    },
    {
      "commit": "3d9e6767fb5483e70fb7262e4e5dd449fae59a66",
      "tree": "09e5744a770e139ba9693738ed103c19bb3a801e",
      "parents": [
        "1e6d60b2ca9356542fe62b73ab010424aa2796cf"
      ],
      "author": {
        "name": "Peter Foley",
        "email": "pefoley@google.com",
        "time": "Mon Jul 20 14:57:51 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Mon Jul 20 14:58:17 2026"
      },
      "message": "Internal cleanup\n\nPiperOrigin-RevId: 950841043\nChange-Id: I8948415dec8790c284a31738bd037572a7ddbba2\n"
    },
    {
      "commit": "1e6d60b2ca9356542fe62b73ab010424aa2796cf",
      "tree": "73d19a556f64cdb6089a55d6891b6f75ec5d0a4c",
      "parents": [
        "442cb1b3c9c60ac2982aa97e26658cef7bc4a1bd"
      ],
      "author": {
        "name": "Drishti Tripathi",
        "email": "drishtitripathi21@gmail.com",
        "time": "Fri Jul 17 21:51:46 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Fri Jul 17 21:52:14 2026"
      },
      "message": "PR #2117: Fix stale C++11 references in options.h and attributes.h\n\nImported from GitHub PR https://github.com/abseil/abseil-cpp/pull/2117\n\nFixes stale/misleading C++11 references flagged in #1264.\n\n- absl/base/options.h: corrected ABSL_OPTION_USE_STD_ORDERING comment,\n  which said \"C++11\" but should match the project\u0027s actual minimum,\n  consistent with the ABSL_OPTION_USE_STD_SOURCE_LOCATION option just\n  above it in the same file (which already says C++17).\n- absl/base/attributes.h: removed an outdated \"C++11 mode\" qualifier\n  on XRay attribute requirements, since it\u0027s trivially satisfied given\n  the project\u0027s current baseline.\n\nFixes #1264\nMerge e06df350a02ae673c6423ce3a23e03a82295a54b into de367ce0cdd56ef1004bd878c0c24d36067061f3\n\nMerging this change closes #2117\n\nCOPYBARA_INTEGRATE_REVIEW\u003dhttps://github.com/abseil/abseil-cpp/pull/2117 from DrishtiTripathi2230:fix-1264-cpp11-leftovers e06df350a02ae673c6423ce3a23e03a82295a54b\nPiperOrigin-RevId: 949773349\nChange-Id: Ifb71ca2842fa14e0b9a241e67bb6dafed9abc143\n"
    },
    {
      "commit": "442cb1b3c9c60ac2982aa97e26658cef7bc4a1bd",
      "tree": "63ca7405f1aa10cf8ff1da595e5be46de09257f1",
      "parents": [
        "6a9d3509734533fd09e19983f6f60427ab7b0e0b"
      ],
      "author": {
        "name": "Dino Radakovic",
        "email": "dinor@google.com",
        "time": "Fri Jul 17 20:21:39 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Fri Jul 17 20:22:16 2026"
      },
      "message": "`status_internal`: add note about potential status message optimization\n\nIn short, if most statuses are constructed with empty messages, or messages that are too long to fit into `std::string`\u0027s local storage, we might save memory by getting rid of the local storage and always putting messages on the heap.\n\nPiperOrigin-RevId: 949730457\nChange-Id: I7f47f036a16677c926078c7d48dabf8166af0f55\n"
    },
    {
      "commit": "6a9d3509734533fd09e19983f6f60427ab7b0e0b",
      "tree": "25797e98ee0e1ae18fe7689318038a4bf584fbd6",
      "parents": [
        "03b4234d418def5b93dc6057ec1ae03df1d60573"
      ],
      "author": {
        "name": "Sayed Nabhan",
        "email": "nabhan@bugqore.com",
        "time": "Fri Jul 17 20:08:12 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Fri Jul 17 20:08:49 2026"
      },
      "message": "PR #2109: carry field normalization into parsed year in ParseYearAnd\n\nImported from GitHub PR https://github.com/abseil/abseil-cpp/pull/2109\n\n**Dropped year carry in ParseCivilTime**\n\n`ParseYearAnd` parses the year on its own and normalizes it into the ~2400 range before handing the rest of the string to `ParseTime`, then rebuilds the result from the original year plus the normalized month..second fields taken from `cs`. When one of those fields carries across the year boundary (a `:60` leap second at `23:59:60` on Dec 31, or an end-of-year rollover), that carry lives in `cs.year()` and was dropped, so `ParseCivilTime(\"2020-12-31T23:59:60\")` produced `2020-01-01T00:00:00` while constructing `CivilSecond(2020, 12, 31, 23, 59, 60)` directly gives `2021-01-01T00:00:00`. This reapplies the same carry to the original year, which is a no-op whenever no rollover happened.\nMerge af31d66e1109de628f4e1ffb4f760b27ec7f39ca into 63c77e4060d6b4aefb9d85f9205c2d109d5fd9b8\n\nMerging this change closes #2109\n\nCOPYBARA_INTEGRATE_REVIEW\u003dhttps://github.com/abseil/abseil-cpp/pull/2109 from nabhan06:civil-time-year-carry af31d66e1109de628f4e1ffb4f760b27ec7f39ca\nPiperOrigin-RevId: 949723541\nChange-Id: I015bcd78575306136677e3dfc1f478066e2dca71\n"
    },
    {
      "commit": "03b4234d418def5b93dc6057ec1ae03df1d60573",
      "tree": "591fe771faf608d97c9b8ed547343699abed94a7",
      "parents": [
        "63c77e4060d6b4aefb9d85f9205c2d109d5fd9b8"
      ],
      "author": {
        "name": "Paul Pluzhnikov",
        "email": "ppluzhnikov@google.com",
        "time": "Fri Jul 17 19:32:48 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Fri Jul 17 19:33:27 2026"
      },
      "message": "Migrate TCMalloc to new DebugStackTraceHook API and remove the legacy one.\n\nPiperOrigin-RevId: 949705864\nChange-Id: I4ce3e9e79198452042ae3ecfb025e3b15684a679\n"
    },
    {
      "commit": "63c77e4060d6b4aefb9d85f9205c2d109d5fd9b8",
      "tree": "0f9a2ef39be8872f41407d638b8f229cb2c754b6",
      "parents": [
        "de367ce0cdd56ef1004bd878c0c24d36067061f3"
      ],
      "author": {
        "name": "Derek Mauro",
        "email": "dmauro@google.com",
        "time": "Fri Jul 17 17:17:57 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Fri Jul 17 17:19:16 2026"
      },
      "message": "Re-implement AbslHashValue for std::vector\u003cbool\u003e and std::bitset to\nnot simply defer to std::hash.\n\nThis enables hash seed randomization (a better default behavior) at\nthe cost of a modest slowdown for the rare case of hashing these\ntypes. One real world benchmark had a 17% slowdown. Users that need\nbetter performance can use std::hash or a custom data structure as the\nkey which would likely be faster anyway.\n\nPiperOrigin-RevId: 949636074\nChange-Id: I19b6dde7bb33427216157b5d61a0fa92da05a1a4\n"
    },
    {
      "commit": "de367ce0cdd56ef1004bd878c0c24d36067061f3",
      "tree": "3fda62b0aad0a09bbf36c9331768f373b752a5ec",
      "parents": [
        "c34b1491291f7673fd758ea3aa08517231497b97"
      ],
      "author": {
        "name": "Mike Kruskal",
        "email": "mkruskal@google.com",
        "time": "Fri Jul 17 13:17:24 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Fri Jul 17 13:18:09 2026"
      },
      "message": "Final batch of Gloop visibility\n\nPiperOrigin-RevId: 949528605\nChange-Id: I22a480fa6288227a47f0c790f985ecd0c28a49f4\n"
    },
    {
      "commit": "c34b1491291f7673fd758ea3aa08517231497b97",
      "tree": "2a041388ad62394268169330a319f64c7968e4e7",
      "parents": [
        "0154d7633ee2d5fcf4bf9592a6a210d3153cda62"
      ],
      "author": {
        "name": "Mike Kruskal",
        "email": "mkruskal@google.com",
        "time": "Fri Jul 17 00:43:30 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Fri Jul 17 00:44:19 2026"
      },
      "message": "Prevent stack out-of-bounds read and write in CordRepBtree::Rebuild\n\nPiperOrigin-RevId: 949271600\nChange-Id: Iebc44adb9e07dca05cd7f0740acb6cf2fafed215\n"
    },
    {
      "commit": "0154d7633ee2d5fcf4bf9592a6a210d3153cda62",
      "tree": "3761cd9cf7adbdba6f88517e50b1a9c6f67e5a21",
      "parents": [
        "5171726f2de112071a9eae68b9d44fc72e49687c"
      ],
      "author": {
        "name": "Mike Kruskal",
        "email": "mkruskal@google.com",
        "time": "Fri Jul 17 00:07:12 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Fri Jul 17 00:08:22 2026"
      },
      "message": "Fix more gloop visibilities\n\nPiperOrigin-RevId: 949256388\nChange-Id: Icace7f8ce83589451988e8a7535bc50b4d995bd5\n"
    },
    {
      "commit": "5171726f2de112071a9eae68b9d44fc72e49687c",
      "tree": "d79a288efe16c0c328dda757e583c3b0a0852828",
      "parents": [
        "9d6a530ffc8ebe4fe37721a875e42ad0b7f43016"
      ],
      "author": {
        "name": "Mike Kruskal",
        "email": "mkruskal@google.com",
        "time": "Thu Jul 16 20:46:46 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Thu Jul 16 20:48:05 2026"
      },
      "message": "Fix gloop visibility declarations.\n\n- Missed raw_logging in previous round.\n- package_groups are buggy for cross-repo visibility (in old versions of Bazel)\n\nPiperOrigin-RevId: 949152497\nChange-Id: Icdec7eb430b805e304dfb30f77bf5a2f63e48154\n"
    },
    {
      "commit": "9d6a530ffc8ebe4fe37721a875e42ad0b7f43016",
      "tree": "febb33aa6db67b4125060733267c52e9830e6c03",
      "parents": [
        "d804847f371afde0c2881df60aa87aa7837f44c4"
      ],
      "author": {
        "name": "Abseil Team",
        "email": "absl-team@google.com",
        "time": "Thu Jul 16 18:07:42 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Thu Jul 16 18:09:12 2026"
      },
      "message": "Rename ABSL_PRETTY_FUNCTION to ABSL_INTERNAL_PRETTY_FUNCTION\n\nPiperOrigin-RevId: 949066198\nChange-Id: Ica669b9685e5dd71032cd72af2b3b76ded4e39e1\n"
    },
    {
      "commit": "d804847f371afde0c2881df60aa87aa7837f44c4",
      "tree": "fa009665e356a565c825e4730def54b44d2d560e",
      "parents": [
        "76d7987054f0499400aa346db18cfbd684d51a29"
      ],
      "author": {
        "name": "Mike Kruskal",
        "email": "mkruskal@google.com",
        "time": "Thu Jul 16 04:37:37 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Thu Jul 16 04:38:20 2026"
      },
      "message": "Prevent dead AddressIsReadable() guard in AArch64 unwinder NextStackFrame\n\nPiperOrigin-RevId: 948726343\nChange-Id: I5d584365dcb1e620a7ac9f11cd45b9398ba369a1\n"
    },
    {
      "commit": "76d7987054f0499400aa346db18cfbd684d51a29",
      "tree": "99795a6c800f6ae96bf9bc64fdcfccbbb983f5a2",
      "parents": [
        "cd1253229e7d0450be1e35fb12c0bce06c87ba48"
      ],
      "author": {
        "name": "Mike Kruskal",
        "email": "mkruskal@google.com",
        "time": "Thu Jul 16 03:10:00 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Thu Jul 16 03:10:39 2026"
      },
      "message": "Delete friends package_group\n\nPiperOrigin-RevId: 948693897\nChange-Id: Ic8c58930c2689870b3ae5bf37567e019aeaafade\n"
    },
    {
      "commit": "cd1253229e7d0450be1e35fb12c0bce06c87ba48",
      "tree": "5f3a0dba7481abbd2c7b7102d916945aa1d152c5",
      "parents": [
        "1f0ebd4a3585f2c2680e35a22c8b170c09e432c1"
      ],
      "author": {
        "name": "Mike Kruskal",
        "email": "mkruskal@google.com",
        "time": "Wed Jul 15 23:25:29 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Wed Jul 15 23:26:17 2026"
      },
      "message": "Grant Gloop visibility into Abseil\n\nPiperOrigin-RevId: 948608169\nChange-Id: I820833839423f7ea0d0b291632d1f6980eca2b54\n"
    },
    {
      "commit": "1f0ebd4a3585f2c2680e35a22c8b170c09e432c1",
      "tree": "6e0961280b9b7ab7cd12863fb79413d10e3e3546",
      "parents": [
        "faa1fc326bbb0cbd09dad59dc4187dbbe6869468"
      ],
      "author": {
        "name": "Rachel Goldfinger",
        "email": "rgoldfinger@google.com",
        "time": "Wed Jul 15 21:14:12 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Wed Jul 15 21:14:45 2026"
      },
      "message": "Adjust visibility for `status_matchers` and `internal` in OSS.\n\nMake these targets publicly visible in the open-source release to fix downstream build failures (e.g. in Protobuf) caused by recent visibility hardening.\n\nPiperOrigin-RevId: 948538993\nChange-Id: Ibf1748d7e7d4f2b55ea3fade8bd2b4bf7523c5ec\n"
    },
    {
      "commit": "faa1fc326bbb0cbd09dad59dc4187dbbe6869468",
      "tree": "737cd3ba94bad9248bc7376689516d81ccc92334",
      "parents": [
        "e6a287bfb3cae6882965ea77534ce2968b419c76"
      ],
      "author": {
        "name": "Abseil Team",
        "email": "absl-team@google.com",
        "time": "Wed Jul 15 15:27:42 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Wed Jul 15 15:28:43 2026"
      },
      "message": "Avoid DoS with unnecessarily long numbers in RustSymbolParser::ParseBase62Number()\n\nPiperOrigin-RevId: 948350914\nChange-Id: I1d53894f02e6c4e87c5f2af4853a59131f66ead2\n"
    },
    {
      "commit": "e6a287bfb3cae6882965ea77534ce2968b419c76",
      "tree": "b0d05658d8a0e2867419beb83a304f99d76f1620",
      "parents": [
        "1054bbfe6ffd7797af39a3fe25b5a2685971325f"
      ],
      "author": {
        "name": "Abseil Team",
        "email": "absl-team@google.com",
        "time": "Tue Jul 14 20:39:43 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Tue Jul 14 20:40:40 2026"
      },
      "message": "Verify pointer readability in PowerPC NextStackFrame()\n\nPiperOrigin-RevId: 947879027\nChange-Id: Id5af133d637a1f4591f65681d316a86c6307ccd2\n"
    },
    {
      "commit": "1054bbfe6ffd7797af39a3fe25b5a2685971325f",
      "tree": "1bae6a1dbf894fd1c885552d228f40845ac36b58",
      "parents": [
        "de3b7c99b6739c72a4ea46b7f316514b5dfb06a0"
      ],
      "author": {
        "name": "Abseil Team",
        "email": "absl-team@google.com",
        "time": "Tue Jul 14 19:45:25 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Tue Jul 14 19:46:04 2026"
      },
      "message": "Fix missing NUL-termination in Demangle() on parse failure and make ParseAbiTags() restore pre-parse state correctly\n\nPiperOrigin-RevId: 947849322\nChange-Id: I899ab7a5fa16f478fdfa7765a36418224208f1d9\n"
    },
    {
      "commit": "de3b7c99b6739c72a4ea46b7f316514b5dfb06a0",
      "tree": "175ca7bbf1f8f4e49e0f573d7258484ff571df4a",
      "parents": [
        "49ea0f95599345d18378ff7ad6c7c1a227070429"
      ],
      "author": {
        "name": "Abseil Team",
        "email": "absl-team@google.com",
        "time": "Tue Jul 14 18:00:13 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Tue Jul 14 18:01:18 2026"
      },
      "message": "Avoid reentrancy of the same thread in AbslFailureSignalHandler()\n\nPiperOrigin-RevId: 947787991\nChange-Id: Ic5f07a6f76e28545d61535c9215462bfd57c355c\n"
    },
    {
      "commit": "49ea0f95599345d18378ff7ad6c7c1a227070429",
      "tree": "3d87581926e67ca993f311313856efe193ce7829",
      "parents": [
        "bc93ee9401186a745446d8c709d6a67286b118d7"
      ],
      "author": {
        "name": "Abseil Team",
        "email": "absl-team@google.com",
        "time": "Tue Jul 14 05:38:56 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Tue Jul 14 05:39:34 2026"
      },
      "message": "Fix absl cached tid on Android\n\nWhen compiling for Android with a minimum version less than 29, this emits calls to emulated TLS, which is substantially slower than \"proper\" TLS. In contrast, bionic\u0027s own gettid uses real thread local storage, so it\u0027s better to avoid this caching when the caching is more expensive than what it saves a call to.\n\nPiperOrigin-RevId: 947447727\nChange-Id: Ic96ed936ba199852e40fed4f8e8e0dea894dfcc2\n"
    },
    {
      "commit": "bc93ee9401186a745446d8c709d6a67286b118d7",
      "tree": "3a706f9fe4c44cc5a8223c02f02ceb7c7fbb5a57",
      "parents": [
        "9f53f062c955c0351313b68a935661697e9ead0f"
      ],
      "author": {
        "name": "Abseil Team",
        "email": "absl-team@google.com",
        "time": "Mon Jul 13 18:49:06 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Mon Jul 13 18:49:46 2026"
      },
      "message": "Make AbslHashValue(std::filesystem::path) hash the path directly instead of hashing the standard library\u0027s hash\n\nThis prevents per-table and per-process seeding from being inhibited by attackers.\n\nPiperOrigin-RevId: 947160838\nChange-Id: I069515862e7de731e13e711c5266aaa560ac609a\n"
    },
    {
      "commit": "9f53f062c955c0351313b68a935661697e9ead0f",
      "tree": "24919ee750d8199d60824d54cc9700eafd5c5c0d",
      "parents": [
        "fda57bfd2b97c94b080e6649017024d9606c138a"
      ],
      "author": {
        "name": "Abseil Team",
        "email": "absl-team@google.com",
        "time": "Mon Jul 13 18:28:06 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Mon Jul 13 18:28:36 2026"
      },
      "message": "Avoid infinite loop in ELF symbolizer FindSymbol() when sh_offset points past the physical EOF\n\nPiperOrigin-RevId: 947149157\nChange-Id: I46f133b59aa93851f8bd6574d0c1ffd29b351400\n"
    },
    {
      "commit": "fda57bfd2b97c94b080e6649017024d9606c138a",
      "tree": "4d53e4294807eb54dd12c208315d3c888a901e97",
      "parents": [
        "783500dfa61adaab59e39a348d8212ead0ef7654"
      ],
      "author": {
        "name": "Abseil Team",
        "email": "absl-team@google.com",
        "time": "Mon Jul 13 17:10:06 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Mon Jul 13 17:10:30 2026"
      },
      "message": "Truncate absl::InlinedVector prior to moving, in case moves throw an exception\n\nPiperOrigin-RevId: 947105228\nChange-Id: I697670634bf8c9c88f10a85cf18e4c9ce2deb268\n"
    },
    {
      "commit": "783500dfa61adaab59e39a348d8212ead0ef7654",
      "tree": "e3bef06e6d85c2ce5cc65c306606492851ae7aec",
      "parents": [
        "bd22fa36caf1a593d5ca34c32eadb9591f4eaedb"
      ],
      "author": {
        "name": "Abseil Team",
        "email": "absl-team@google.com",
        "time": "Mon Jul 13 16:52:53 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Mon Jul 13 16:53:20 2026"
      },
      "message": "Add support for u8string and and u8string_view to absl/hash\n\nPiperOrigin-RevId: 947095930\nChange-Id: Ia62d5ccb0a28fef109abd6d2127116f8fc2c734b\n"
    },
    {
      "commit": "bd22fa36caf1a593d5ca34c32eadb9591f4eaedb",
      "tree": "a8b1a3cbfa8c45b6c6e2332403bca025cb4c7d33",
      "parents": [
        "cb90671ff706003ce7d4d92068ffebe6dcbc9061"
      ],
      "author": {
        "name": "Abseil Team",
        "email": "absl-team@google.com",
        "time": "Mon Jul 13 16:15:25 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Mon Jul 13 16:15:54 2026"
      },
      "message": "Avoid uninitialized memory leak in absl::Symbolize()\n\nPiperOrigin-RevId: 947077349\nChange-Id: Ib295da3a4c3fc7ed4535449199e4988a55e04fda\n"
    },
    {
      "commit": "cb90671ff706003ce7d4d92068ffebe6dcbc9061",
      "tree": "ac10ba97eb57bd84d0de231ef64e248e7b15353d",
      "parents": [
        "385774a432d1685af65a99432826065539a1b561"
      ],
      "author": {
        "name": "Mike Kruskal",
        "email": "mkruskal@google.com",
        "time": "Sat Jul 11 19:07:23 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Sat Jul 11 19:07:50 2026"
      },
      "message": "Prevent double destroy in InlinedVector swap on exception unwinding\n\nPiperOrigin-RevId: 946273899\nChange-Id: I8d7e8881f47e09ba6201daba6c04f512cccf3df9\n"
    },
    {
      "commit": "385774a432d1685af65a99432826065539a1b561",
      "tree": "420b6ae6c46eff08a1cc25d67e4a8835d18fe0a1",
      "parents": [
        "8e9069fd39f4fc28df94dd9b6fee1b7d254d5c79"
      ],
      "author": {
        "name": "Matt Van Horn",
        "email": "mvanhorn@users.noreply.github.com",
        "time": "Sat Jul 11 04:54:45 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Sat Jul 11 04:55:16 2026"
      },
      "message": "PR #2104: fix: export absl::time_zone name on MinGW DLL builds\n\nImported from GitHub PR https://github.com/abseil/abseil-cpp/pull/2104\n\n## Summary\n\nBuilding the monolithic shared library (`-DABSL_BUILD_MONOLITHIC_SHARED_LIBS\u003dON -DBUILD_SHARED_LIBS\u003dON`) with MinGW on Windows fails at link time with an undefined reference to `absl::time_internal::cctz::GetWindowsLocalTimeZone()`. That symbol lives in `time/internal/cctz/src/time_zone_name_win.cc`, which `CMake/AbseilDll.cmake` only appends to `ABSL_INTERNAL_DLL_FILES` under `if(MSVC)` - so MinGW DLL builds never compile it, even though `time_zone_lookup.cc` calls it on all Windows toolchains.\n\nThis splits the single `if(MSVC) ... else() ... endif()` block into two independent conditions: the `time_zone_name_win.cc`/`.h` sources are appended under `if(WIN32)` (covering MSVC, clang-cl, and MinGW), and the `flags/*` source group stays under `if(NOT MSVC)` so MinGW keeps receiving exactly the flags sources it gets today.\n\n## Why this matters\n\nThe per-target (non-DLL) build in `absl/time/CMakeLists.txt` already gates this file on `$\u003c$\u003cPLATFORM_ID:Windows\u003e:...\u003e` - i.e. any Windows platform - so the DLL list\u0027s `MSVC`-only gate is the inconsistency. `WIN32` is the correct CMake variable here; the patch sketched in the issue comments used `if(Windows)`, which is not a variable CMake defines, so this supersedes it. A carry-along fix was merged downstream into microsoft/vcpkg (#50887), but upstream remains broken.\n\n## Testing\n\nNo C++ sources change and there is no test file for the DLL file list, so verification is a CMake configure/build matrix: the monolithic shared-library build now links under MinGW (the previously-undefined `GetWindowsLocalTimeZone()` is compiled into the DLL), and the MSVC and non-MSVC builds are unchanged (MSVC still gets the Windows time-zone source via `WIN32`; MinGW still gets the `flags/*` sources via `NOT MSVC`).\n\nFixes #2025\n\nMerge 2efcf3defe31ca54b74544aca4a1c2a61fa2f3d5 into 0784689a65b4ea1329fbc5174b8a57c88ec796a9\n\nMerging this change closes #2104\n\nCOPYBARA_INTEGRATE_REVIEW\u003dhttps://github.com/abseil/abseil-cpp/pull/2104 from mvanhorn:fix/2025-mingw-dll-time-zone-name-win 2efcf3defe31ca54b74544aca4a1c2a61fa2f3d5\nPiperOrigin-RevId: 946043634\nChange-Id: I02ca46f3d8b928ebe62d546799b0b960a1639c6c\n"
    },
    {
      "commit": "8e9069fd39f4fc28df94dd9b6fee1b7d254d5c79",
      "tree": "e2b59b6b5d85eb2ca759b4a0021837f50f86233e",
      "parents": [
        "c6274e00c0b13c45311fb9123bb3ae722d1cffff"
      ],
      "author": {
        "name": "Mike Kruskal",
        "email": "mkruskal@google.com",
        "time": "Sat Jul 11 03:32:27 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Sat Jul 11 03:32:56 2026"
      },
      "message": "Prevent 32-bit size_t integer overflow in absl::CEscape\n\nPiperOrigin-RevId: 946022039\nChange-Id: Id3ad9b9e1a332d81d1322fa92d6c3a419fd48483\n"
    },
    {
      "commit": "c6274e00c0b13c45311fb9123bb3ae722d1cffff",
      "tree": "84eca7323418dc547320144757d2f418e4a0ce2a",
      "parents": [
        "be96802d5d5c24a75a5a56d455ddcee8b709a53b"
      ],
      "author": {
        "name": "Mike Kruskal",
        "email": "mkruskal@google.com",
        "time": "Sat Jul 11 03:30:30 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Sat Jul 11 03:31:01 2026"
      },
      "message": "Prevent size_t overflow in StrAppend and AppendPieces on 32-bit platforms\n\nPiperOrigin-RevId: 946021594\nChange-Id: Ib377ddc3d9aaf13ec1d7f73ad063e8e4e1e0d842\n"
    },
    {
      "commit": "be96802d5d5c24a75a5a56d455ddcee8b709a53b",
      "tree": "e848bfc051ebe0b183e0112be12d61a2a2a31554",
      "parents": [
        "679653ecac36cb76734f0269ec6652fe16607aca"
      ],
      "author": {
        "name": "Mike Kruskal",
        "email": "mkruskal@google.com",
        "time": "Fri Jul 10 22:47:43 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Fri Jul 10 22:48:15 2026"
      },
      "message": "Fix flaky hash test\n\nPiperOrigin-RevId: 945928438\nChange-Id: Ife2cc0d06e662cad54bcd2d2ddfd19004623c58a\n"
    },
    {
      "commit": "679653ecac36cb76734f0269ec6652fe16607aca",
      "tree": "5340de48331d66bb4dd4356ba1138f5d1befc28f",
      "parents": [
        "0784689a65b4ea1329fbc5174b8a57c88ec796a9"
      ],
      "author": {
        "name": "Abseil Team",
        "email": "absl-team@google.com",
        "time": "Fri Jul 10 21:27:31 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Fri Jul 10 21:27:59 2026"
      },
      "message": "Internal migration\n\nPiperOrigin-RevId: 945892864\nChange-Id: I597c871f42e8121d05dae4fbad7b78e79b30274d\n"
    },
    {
      "commit": "0784689a65b4ea1329fbc5174b8a57c88ec796a9",
      "tree": "10e87719f91f04c8090059c82ef092d72e2595fd",
      "parents": [
        "e73c3d04da81c75036da4de6b12616ac8fafea3b"
      ],
      "author": {
        "name": "Abseil Team",
        "email": "absl-team@google.com",
        "time": "Fri Jul 10 17:41:39 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Fri Jul 10 17:42:29 2026"
      },
      "message": "Migrate attribute CAPTURED_BY(this) to CAPTURED_BY_THIS\n\nThis change updates absl\u0027s internal `lifetime_capture_by` attribute macros to adopt an explicit annotation instead of using the `this` keyword as a parameter. Specifically, `ABSL_INTERNAL_ATTRIBUTE_CAPTURED_BY(this)` has been replaced with `ABSL_INTERNAL_ATTRIBUTE_CAPTURED_BY_THIS` throughout the absl.\n\nThis migration follows the recent LLVM commit (https://github.com/llvm/llvm-project/commit/a627e7e9c3cc9adab27b1e6ebfd70f40dccacf5c), which introduced `[[clang::lifetime_capture_by_this]]` as a replacement for `[[clang::lifetime_capture_by(this)]]`. The motivation is to migrate away from using language keywords (like `this`) as attribute arguments in favor of more explicit annotations, avoiding potential parser complexities and improving standard compliance.\n\nPiperOrigin-RevId: 945785962\nChange-Id: I0f4dc46eace500c173b84d715285210cbc3b16f8\n"
    },
    {
      "commit": "e73c3d04da81c75036da4de6b12616ac8fafea3b",
      "tree": "7cce55ac3c080a3d050bfc73c7a37ad90f5f7ce0",
      "parents": [
        "67ae0034c30e9e4f057c22600d4561a3346c4373"
      ],
      "author": {
        "name": "Abseil Team",
        "email": "absl-team@google.com",
        "time": "Fri Jul 10 17:08:25 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Fri Jul 10 17:08:59 2026"
      },
      "message": "Match allocators in emplace()/extract() members of linked_hash_map/linked_hash_set\n\nSplicing between nodes with unmatched allocators is undefined behavior and can result in a security vulnerability due to cross-resource deallocations.\n\nPiperOrigin-RevId: 945768326\nChange-Id: I2adaf50e0375fa2fa25fd116ecf8d2dca24f407c\n"
    },
    {
      "commit": "67ae0034c30e9e4f057c22600d4561a3346c4373",
      "tree": "e387189f86ff82e0d9601561ce8dabe5f94c6103",
      "parents": [
        "d63661a3e3c3a562a06c2bbc565d9c2ec3709d9d"
      ],
      "author": {
        "name": "Vitaly Goldshteyn",
        "email": "goldvitaly@google.com",
        "time": "Fri Jul 10 12:00:03 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Fri Jul 10 12:00:51 2026"
      },
      "message": "Pass capacity to CommonFields::slot_array when it is already in register and/or known at compile time.\n\nChange is saving ~400 bytes of binary size in raw_hash_set.cc. Some of the functions there quite hot.\n\nPiperOrigin-RevId: 945647274\nChange-Id: I5522884c1da91b83cd4bdf5f346f99b2bdd3085d\n"
    },
    {
      "commit": "d63661a3e3c3a562a06c2bbc565d9c2ec3709d9d",
      "tree": "faa9bba7eb6fcc46d22842ea467fca97431076b2",
      "parents": [
        "7e1af334ee9c85a930070393184aa2806af8a94c"
      ],
      "author": {
        "name": "Javid Khan",
        "email": "dxbjavid@gmail.com",
        "time": "Fri Jul 10 06:04:04 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Fri Jul 10 06:05:26 2026"
      },
      "message": "PR #2093: reject unpaired surrogates when formatting wide strings\n\nImported from GitHub PR https://github.com/abseil/abseil-cpp/pull/2093\n\n**partial utf-8 emitted for unpaired surrogates in wide-string formatting**\n\nWhen a wide string passed to %ls (or a std::wstring) contains a high surrogate with no following low surrogate, ConvertStringArg keeps the two bytes WideToUtf8 writes for the first half of the pair and still reports success, so the formatted output carries a truncated utf-8 sequence. The single wchar_t path already rejects an unpaired surrogate via saw_high_surrogate, so this just brings the string path in line with it and adds a convert_test case for the trailing, mid-string and lone-low variants.\nMerge da58a96d88c5d6ddfeb014f14da47b8965de9cca into 0d1af721b72710afc6d50e880cc111eb852e4e22\n\nMerging this change closes #2093\n\nCOPYBARA_INTEGRATE_REVIEW\u003dhttps://github.com/abseil/abseil-cpp/pull/2093 from dxbjavid:wide-format-unpaired-surrogate da58a96d88c5d6ddfeb014f14da47b8965de9cca\nPiperOrigin-RevId: 945509522\nChange-Id: Ifc1cdde9dc5c3850f5a01205c27ab97bda84e729\n"
    },
    {
      "commit": "7e1af334ee9c85a930070393184aa2806af8a94c",
      "tree": "6a43f8d266f51320dc61617f6c28129c17a6f770",
      "parents": [
        "8762b05469db6f1b5d5ca62a284795b1252de26f"
      ],
      "author": {
        "name": "Mike Kruskal",
        "email": "mkruskal@google.com",
        "time": "Fri Jul 10 00:56:10 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Fri Jul 10 00:56:58 2026"
      },
      "message": "Prevent 32-bit size_t integer overflow in absl::Cord append and iteration\n\nPiperOrigin-RevId: 945407881\nChange-Id: I7ac24c3fc113ed1d275483702f622c0f2ae11495\n"
    },
    {
      "commit": "8762b05469db6f1b5d5ca62a284795b1252de26f",
      "tree": "6000abce56bd9e558d025eaec203a48f04097a95",
      "parents": [
        "f38225b92eb3493992d541affc29c8038605b82d"
      ],
      "author": {
        "name": "Abseil Team",
        "email": "absl-team@google.com",
        "time": "Fri Jul 10 00:12:46 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Fri Jul 10 00:13:38 2026"
      },
      "message": "Avoid pointer wrapping and undefined behavior when checking bounds in Symbolizer::FindObjFile()\n\nThis avoids a potential out-of-bounds memory read, which could allow an attacker to read arbitrary memory.\n\nPiperOrigin-RevId: 945392650\nChange-Id: I7dd13829e3fc32edbc51690704aaf4854d4e2540\n"
    },
    {
      "commit": "f38225b92eb3493992d541affc29c8038605b82d",
      "tree": "481f059e507811f9ca651aed1573a6f6e8527428",
      "parents": [
        "ea91b4a80518d37dc7132cd5d4d565caef6b232a"
      ],
      "author": {
        "name": "Abseil Team",
        "email": "absl-team@google.com",
        "time": "Thu Jul 09 22:25:01 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Thu Jul 09 22:25:32 2026"
      },
      "message": "Mitigate use-after-free due to overflow of RefcountAndFlags::count_\n\nDetects refcounts for Cord going too high, resulting in a fatal error in that case. Since the check happens after the increment, we stay conservative with the bounds and leave a good deal of margin to mitigate the chances of Unref() racing with Ref() and happening earlier than its check, which could still result in a use-after-free.\n\nPiperOrigin-RevId: 945345773\nChange-Id: Ide1151618ae836fd30dbc0a476e29ba85ca45862\n"
    },
    {
      "commit": "ea91b4a80518d37dc7132cd5d4d565caef6b232a",
      "tree": "1379c4bb11096e4d8996a8b0f2db8f7586dab3cd",
      "parents": [
        "13eb1a1662db41fa37a6e7f703b62f225727686e"
      ],
      "author": {
        "name": "Derek Mauro",
        "email": "dmauro@google.com",
        "time": "Thu Jul 09 20:35:51 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Thu Jul 09 20:36:57 2026"
      },
      "message": "Fix double-free in absl::StatusOr\u003cT\u003e::emplace when value constructor throws\n\nWhen `emplace()` is called on an `ok()` `StatusOr\u003cT\u003e`, it calls\n`Clear()` to destroy the existing object. If the new value\u0027s\nconstructor throws an exception, `status_` was previously left as\n`OkStatus`. This caused `~StatusOrData()` to erroneously destroy the\nuninitialized memory again during stack unwinding.\n\nThis CL fixes the issue by temporarily setting `status_` to an\ninternal non-ok state (using the zero-allocation inline\nrepresentation) before calling `MakeValue()`, restoring it to\n`OkStatus` only if construction succeeds.\n\nPiperOrigin-RevId: 945290296\nChange-Id: I17111c161f9d3d9f44ae014c49ab76960c7efc7b\n"
    },
    {
      "commit": "13eb1a1662db41fa37a6e7f703b62f225727686e",
      "tree": "182b9644dd47ba4ba1dea04050c041e88585f3e6",
      "parents": [
        "df69e697c8459ea35ff29d0420e09d2aec291374"
      ],
      "author": {
        "name": "Derek Mauro",
        "email": "dmauro@google.com",
        "time": "Thu Jul 09 20:12:44 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Thu Jul 09 20:13:33 2026"
      },
      "message": "Fix size_t narrowing and pointer arithmetic overflow in absl::chunked_queue::resize\n\nIn `absl::chunked_queue::resize(size_t)`, the difference between `new_size` and `size()` was being stored in a `ptrdiff_t`. When resizing to large values (such as `SIZE_MAX`), this narrowing conversion could overflow, resulting in a negative delta and causing an out-of-bounds heap write during element construction.\n\nThis change fixes the issue by:\n- Keeping `to_add` as `size_t`.\n- Clamping `to_add` to the remaining element capacity of the current tail block before adding it to `start`, preventing pointer arithmetic overflow or wrap-around.\n- Updating `iterator_common::IncrBy(size_t)` to compare element counts rather than computing `ptr + n` against `limit`, avoiding potential pointer wrap-around.\n- Adding a unit test (`ResizeOverflowSafe`) using a custom limited allocator to verify safe handling of large resize requests.\n\nPiperOrigin-RevId: 945278731\nChange-Id: Id400b3813f95d59ea738c58c8c1af3e6e8a836e4\n"
    },
    {
      "commit": "df69e697c8459ea35ff29d0420e09d2aec291374",
      "tree": "a74dd3184bcfda47c5681eddb1a8652578431393",
      "parents": [
        "a5c7da6696cf0148d8711215c08fc57ba114d41c"
      ],
      "author": {
        "name": "Derek Mauro",
        "email": "dmauro@google.com",
        "time": "Thu Jul 09 16:31:18 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Thu Jul 09 16:32:53 2026"
      },
      "message": "Fix commit-before-construct bug in chunked_queue::emplace_back\n\n* Modify AllocateBack() to only return raw storage without committing state (alloc_and_size_.size and tail_.ptr).\n* Advance alloc_and_size_.size and tail_.ptr in emplace_back() only after AllocatorTraits::construct completes successfully.\n* Add unit test ChunkedQueue.ExceptionSafetyEmplaceBack to verify exception safety.\n\nPiperOrigin-RevId: 945160860\nChange-Id: Ic5d628735ac7c3379b3f459f00694c53df74d5fa\n"
    },
    {
      "commit": "a5c7da6696cf0148d8711215c08fc57ba114d41c",
      "tree": "e1a85ca325aa034668a3bf59082fd194902c37fa",
      "parents": [
        "5b6f730e1e10b0fd2fa34b128573ef28f7a6f2c0"
      ],
      "author": {
        "name": "Derek Mauro",
        "email": "dmauro@google.com",
        "time": "Thu Jul 09 16:17:29 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Thu Jul 09 16:18:34 2026"
      },
      "message": "Add upper bound length checks to `InlinedVector` capacity, size, and insertion methods\n\n* Add unconditional `ThrowStdLengthError` checks across `InlinedVector` methods (`insert`, `emplace`, `emplace_back`, `push_back`, `resize`, `reserve`, `assign`, and constructors) when the requested size or element count exceeds `max_size()`.\n* This prevents integer overflow when computing `size() + n` in `insert` (which could wrap around to `0` and cause `Storage::Insert` to bypass allocation and write out of bounds) across all build modes, and ensures full compliance with C++ standard container exception behavior (`std::length_error`) for exceeding `max_size()`.\n* Update unit tests in `inlined_vector_test.cc` (`TEST(IntVec, LengthThrows)` and `TEST(IntVec, EmplaceLengthThrows)`) verifying that exceeding `max_size()` throws `std::length_error` (or cleanly terminates when exceptions are disabled).\n\nPiperOrigin-RevId: 945154401\nChange-Id: I8501776d3be95e85bfe5e89ce58429543b7392ff\n"
    },
    {
      "commit": "5b6f730e1e10b0fd2fa34b128573ef28f7a6f2c0",
      "tree": "1a759c1f04056b399f557c363f20efac292a4dbc",
      "parents": [
        "2fd7e9f0138688911f82747a0f1d3b58bde39612"
      ],
      "author": {
        "name": "Abseil Team",
        "email": "absl-team@google.com",
        "time": "Thu Jul 09 03:02:58 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Thu Jul 09 03:04:12 2026"
      },
      "message": "Switch from int to ptrdiff_t in absl/strings/internal/charconv_parse.cc\n\nThis avoids the potential for integer- and buffer-overflows.\n\nPiperOrigin-RevId: 944848464\nChange-Id: I2f0278684171ead46b650d0241807c182c05d033\n"
    },
    {
      "commit": "2fd7e9f0138688911f82747a0f1d3b58bde39612",
      "tree": "9940564a653ffa1a2425fb457a490524d5f37af4",
      "parents": [
        "e65a8cbf6191f5b56ece6e49c6715b63e2e897c7"
      ],
      "author": {
        "name": "Abseil Team",
        "email": "absl-team@google.com",
        "time": "Wed Jul 08 22:37:01 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Wed Jul 08 22:37:50 2026"
      },
      "message": "Avoid integer overflow \u0026 stack buffer overrun in ConvertStringArg (called from StrFormat())\n\nThe FixedArray size allocated is a multiple of the given buffer size, but this multiplication is not checked. It can potentially overflow and result in a small size that gets placed on the stack, thus resulting in a stack buffer overrun.\n\nPiperOrigin-RevId: 944737638\nChange-Id: Ib98028f3546c10b00447cd8f253a85786b647249\n"
    },
    {
      "commit": "e65a8cbf6191f5b56ece6e49c6715b63e2e897c7",
      "tree": "e59436827e1dcd5d81db2249e3102f13dabe60ab",
      "parents": [
        "2de3aaa19c17870443f13f753fe0b239f14ce822"
      ],
      "author": {
        "name": "Abseil Team",
        "email": "absl-team@google.com",
        "time": "Wed Jul 08 20:54:14 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Wed Jul 08 20:54:49 2026"
      },
      "message": "Fix potential 32-bit size_t overflow in SubstituteAndAppendArray()\n\nPiperOrigin-RevId: 944682504\nChange-Id: I26722efac261f27a1e9eabf7e13c62aa578364b7\n"
    },
    {
      "commit": "2de3aaa19c17870443f13f753fe0b239f14ce822",
      "tree": "885e0f7ceff8d835336552e8f9092730bb5b3279",
      "parents": [
        "db1bdc86effd20c9ac9c9939326c0d280c9ff733"
      ],
      "author": {
        "name": "Alex Strelnikov",
        "email": "strel@google.com",
        "time": "Wed Jul 08 18:08:46 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Wed Jul 08 18:09:42 2026"
      },
      "message": "Delete absl/strings/internal/stl_type_traits.h.\n\nThis file is obsolete due to language changes in C++17, which has been the minimum for Abseil for some time.\n\nPiperOrigin-RevId: 944596510\nChange-Id: If30fffa0b4c55b2efd35b7d1d2ebaab1fab7daa1\n"
    },
    {
      "commit": "db1bdc86effd20c9ac9c9939326c0d280c9ff733",
      "tree": "e17ced2f69d5dcbf4179987067b4e268713b20aa",
      "parents": [
        "7f04c284484dfa0004b9b1da11003546e37990bb"
      ],
      "author": {
        "name": "Chris Kennelly",
        "email": "ckennelly@google.com",
        "time": "Wed Jul 08 16:34:17 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Wed Jul 08 16:35:11 2026"
      },
      "message": "Internal formatting\n\nPiperOrigin-RevId: 944544403\nChange-Id: Iba2098b6feb18d2b417112e0555571bd7c7d6056\n"
    },
    {
      "commit": "7f04c284484dfa0004b9b1da11003546e37990bb",
      "tree": "96710015576b76c40d5334c2ffb4aa86f63a345e",
      "parents": [
        "3931836e556fef41bf75740d99844d058d488e09"
      ],
      "author": {
        "name": "Sayed Nabhan",
        "email": "nabhan@bugqore.com",
        "time": "Wed Jul 08 15:47:36 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Wed Jul 08 15:48:33 2026"
      },
      "message": "PR #2102: guard size overflow in BytesToHexString and UrlEscape\n\nImported from GitHub PR https://github.com/abseil/abseil-cpp/pull/2102\n\nBytesToHexString sizes its output as 2 * from.size() and UrlEscapeInternal as initial_portion + 3 * (input.size() - initial_portion), neither of which checks for a size_t overflow, so a large enough input wraps the length and StringResizeAndOverwrite allocates a buffer smaller than the number of bytes the following loop writes into it. CEscapedLength and CalculateBase64EscapedLenInternal in this same file already guard their expansions against size_t max with ABSL_INTERNAL_CHECK, so these two newer helpers just add the matching check with the appropriate divisor.\nMerge d08c46485a00ab31af1ef8f06c2d9f7d4fa9d39e into 4890d3073b027fe5b5c541ca8d5b71daaecb2370\n\nMerging this change closes #2102\n\nCOPYBARA_INTEGRATE_REVIEW\u003dhttps://github.com/abseil/abseil-cpp/pull/2102 from nabhan06:escaping-size-overflow-guard d08c46485a00ab31af1ef8f06c2d9f7d4fa9d39e\nPiperOrigin-RevId: 944523718\nChange-Id: Ie10b04ed0f7f0aa0fc17aa33c028eba9cf7a0f61\n"
    },
    {
      "commit": "3931836e556fef41bf75740d99844d058d488e09",
      "tree": "dd0bc283daf55aa9b4597011bcf4580a838e4f43",
      "parents": [
        "4890d3073b027fe5b5c541ca8d5b71daaecb2370"
      ],
      "author": {
        "name": "Vitaly Goldshteyn",
        "email": "goldvitaly@google.com",
        "time": "Wed Jul 08 06:04:46 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Wed Jul 08 06:05:43 2026"
      },
      "message": "Store only `control` in SwissTable header.\n\nThis has following effects:\n1. sizeof() reduced 24-\u003e16 bytes.\n2. maximum Soo size reduced 16-\u003e8 bytes.\n3. load of slot_array is removed.\n4. slot_array is computed as `control + capacity + Group::kWidth`.\n5. In log-capacity mode (default), we explicitly compute capacity and use and/andn instead of bzhi. Since we need capacity to compute slot_array, using regular bit operations is preferable.\n6. For small table (1 element) slot_array \u003d\u003d control. Generation is  now stored before control to simplify computations for small table case.\n\n`find_large` is not accepting hash anymore with a following motivation:\n1. if compiler doesn\u0027t inline find_large: (a) more code is out of the line (b) hash computation instructions can be computed in parallel with slot_array pointer computation\n2. find_large becoming slightly larger, so this change is relevant to the main change.\n\nPiperOrigin-RevId: 944289094\nChange-Id: Id16e0ba7c4e67252c26c238c30d9225ad59b61dc\n"
    },
    {
      "commit": "4890d3073b027fe5b5c541ca8d5b71daaecb2370",
      "tree": "0ec0e5685f4dbe238d3f3209df50d7cf78ed6e42",
      "parents": [
        "c139e5cdc3ea43d33444717ea38a27ca2ebd013e"
      ],
      "author": {
        "name": "Abseil Team",
        "email": "absl-team@google.com",
        "time": "Tue Jul 07 18:28:11 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Tue Jul 07 18:29:19 2026"
      },
      "message": "Allow efficient construction of `absl::Status` from `std::string\u0026\u0026`.\n\nPiperOrigin-RevId: 944002601\nChange-Id: Iadb5434511a7c00ed5ffd8d3313ca1c9cd27d206\n"
    },
    {
      "commit": "c139e5cdc3ea43d33444717ea38a27ca2ebd013e",
      "tree": "f9ac78072f47d8d4c4a8ee8bb62461585e73eac6",
      "parents": [
        "f3f1fdbd5dc8c7589593965082c97387d56f2dd6"
      ],
      "author": {
        "name": "Abseil Team",
        "email": "absl-team@google.com",
        "time": "Tue Jul 07 16:08:50 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Tue Jul 07 16:09:25 2026"
      },
      "message": "Clarify formatting rules in absl::ParseCivilTime()\n\nPiperOrigin-RevId: 943928226\nChange-Id: Ib19cfff23254e90d92bb97f34c11363c774c5cb6\n"
    },
    {
      "commit": "f3f1fdbd5dc8c7589593965082c97387d56f2dd6",
      "tree": "800d1051d3a5c3564929a469aa45a2e46d618c35",
      "parents": [
        "6a45bd2d9d3cc0f4cbcf19c7002f02a45295d148"
      ],
      "author": {
        "name": "Vitaly Goldshteyn",
        "email": "goldvitaly@google.com",
        "time": "Tue Jul 07 15:52:45 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Tue Jul 07 15:53:09 2026"
      },
      "message": "Fix typo in comments about special iterator returned from insert/emplace.\n\nPiperOrigin-RevId: 943920622\nChange-Id: I3dfd488e72cfa907c13ed37c9914f5a8c634b901\n"
    },
    {
      "commit": "6a45bd2d9d3cc0f4cbcf19c7002f02a45295d148",
      "tree": "59ee05fde17e8087d68601bf2623b52ef4f5a886",
      "parents": [
        "1b0707192c65e2c45b2128eef6a02ec378707ab0"
      ],
      "author": {
        "name": "Abseil Team",
        "email": "absl-team@google.com",
        "time": "Tue Jul 07 06:39:02 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Tue Jul 07 06:39:30 2026"
      },
      "message": "Add NOLINT to ABSL_ASSUME() definition\n\nThis is the same thing ABSL_ASSERT() does to prevent warnings such as misc-static-assert from firing.\n\nPiperOrigin-RevId: 943702210\nChange-Id: I11f5886f42bc94e9a596d3400a66f597cec8e3ee\n"
    },
    {
      "commit": "1b0707192c65e2c45b2128eef6a02ec378707ab0",
      "tree": "d0544d6ffc0095caa78275c8fef2cb5896b38b42",
      "parents": [
        "5dfacb6c81886ae59d0480e18ad51bd2e41b1455"
      ],
      "author": {
        "name": "Vitaly Goldshteyn",
        "email": "goldvitaly@google.com",
        "time": "Mon Jul 06 22:48:01 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Mon Jul 06 22:48:26 2026"
      },
      "message": "Make controls bytes to end right before slots by moving necessary alignment at the beginning of the allocation.\n\nIt is a preparation change for removing `slot_array`. It will be computed from `control`. This change would simplify and make this computation cheaper.\n\nPiperOrigin-RevId: 943535792\nChange-Id: I2b67e137340d5691e9c9a5a24b009cb6d99972df\n"
    },
    {
      "commit": "5dfacb6c81886ae59d0480e18ad51bd2e41b1455",
      "tree": "d15a3968716547642c51c1f7208a9c3efab0487c",
      "parents": [
        "5fb67f41b082b6a9d96f246948e40214570672d3"
      ],
      "author": {
        "name": "Vitaly Goldshteyn",
        "email": "goldvitaly@google.com",
        "time": "Mon Jul 06 21:03:22 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Mon Jul 06 21:03:47 2026"
      },
      "message": "Make iterators from insert/emplace \"non-iterable\", i. e. `++` would always move them to the end position.\n\nIt helps to make find_or_prepare_insert return slot_type* in order to:\n1. Reduce inlined code.\n2. Avoid reload of slot_array and ctrl on InsertMiss.\n3. Avoid computation of ctrl in inlined code.\n4. Return type of find_or_prepare_insert can now be returned in registers in the Sys-V ABI calling convention.\n\nAdditionally marking `find_or_prepare_insert_{soo,small}` ALWAYS_INLINE for the following reasons:\n1. Avoid reloading of `capacity\u0026size` memory when not inlined.\n2. These functions became smaller. (a) load of SooControl() is gone (b) Grow call became simpler.\n\nPiperOrigin-RevId: 943485060\nChange-Id: Ia4d1d7123902a47e3bbde5320aa403468b2644c3\n"
    },
    {
      "commit": "5fb67f41b082b6a9d96f246948e40214570672d3",
      "tree": "f987867ba411bf8f1a562e3339940fd9c69b36a5",
      "parents": [
        "b4a7d592354cec3873cafe920266f5b22e4c4878"
      ],
      "author": {
        "name": "Derek Mauro",
        "email": "dmauro@google.com",
        "time": "Mon Jul 06 20:00:46 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Mon Jul 06 20:01:18 2026"
      },
      "message": "Adds URL escaping utilities\n\nThe following functions are added:\nabsl::UrlEscape()\nabsl::UrlUnescape()\nabsl::UrlEscapePlus()\nabsl::UrlUnescapePlus()\n\n#158\n\nPiperOrigin-RevId: 943451273\nChange-Id: I92c22005d6a75265b5313a7a99ce2f855e19ede1\n"
    },
    {
      "commit": "b4a7d592354cec3873cafe920266f5b22e4c4878",
      "tree": "ffff78d68f1131fa72a06bebc89f11d67cd7573b",
      "parents": [
        "0d1af721b72710afc6d50e880cc111eb852e4e22"
      ],
      "author": {
        "name": "Derek Mauro",
        "email": "dmauro@google.com",
        "time": "Mon Jul 06 19:03:15 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Mon Jul 06 19:03:45 2026"
      },
      "message": "Change the default visibility for packages to //visibility:private\nand then change individual build rules back to their prior visibility.\n\nThe motivation for this change is making sure future additions are\nprivate by default so that new rules are not accidentally public.\n\nSome of the rules that are currently public were not meant to be, and\nthe fact that they are marked public does not mean they should be\nused. As always, the rule is never spell out anything with the word\ninternal (or any synonym for internal). Some of these accidentally\npublic rules will be manually corrected with future changes.\n\nPiperOrigin-RevId: 943420950\nChange-Id: Ife8cfb7f2c0965163355b773a565cad370617b45\n"
    }
  ],
  "next": "0d1af721b72710afc6d50e880cc111eb852e4e22"
}
