)]}'
{
  "log": [
    {
      "commit": "cf4d7fedd59473f99042806fcba407ea767c5327",
      "tree": "4f4cc341e2ee647c84670ab20f3537a54d19d4a5",
      "parents": [
        "d886e3177c5dc48f150fbfbf142be6e724a032a4"
      ],
      "author": {
        "name": "dominic",
        "email": "510002+dmah42@users.noreply.github.com",
        "time": "Thu Nov 12 19:16:49 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Nov 12 19:16:49 2026"
      },
      "message": "Fixing non-deterministic failures in multi-threaded Complexity() benchmarks. (#2382)\n\nFailure path: In a `-\u003eThreads(N)-\u003eComplexity()` benchmark where one\nthread calls `SetComplexityN()` and another does not (e.g., only\n`thread_index() \u003d\u003d 0` sets it), `results.complexity_n` starts unset in\nsrc/thread_manager.h:31; if a setting thread acquires\n`manager-\u003eGetBenchmarkMutex()` before a non-setting thread, we clear\n`results.complexity_n` back to unset, whereas if the non-setting thread\nacquires the mutex first, the setting thread overwrites it with a valid\nvalue.\n\nChecked: `RunThreads` runs threads concurrently without ordering mutex\nacquisition, and `ThreadManager::Result` has no separate field\ndistinguishing \"no thread reported yet\" from \"a thread reported without\nsetting complexity_n\".\n\nFix: Track whether any thread has reported (or whether any thread missed\n`SetComplexityN()`) with a dedicated flag in `ThreadManager::Result`\ninstead of overloading `!results.complexity_n.has_value()`, so all\nthread completion orders produce a deterministic result."
    },
    {
      "commit": "d886e3177c5dc48f150fbfbf142be6e724a032a4",
      "tree": "4c302587c179bc364a1657296edff85a4feb8def",
      "parents": [
        "1d58abf5892a71fbf2fd0353d0ceca55eb04fc93"
      ],
      "author": {
        "name": "Mark Hansen",
        "email": "mark@markhansen.co.nz",
        "time": "Thu Nov 12 16:21:29 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Nov 12 16:21:29 2026"
      },
      "message": "Do not pass PerfCountersMeasurement to RunMemoryManager(). (#2379)\n\nBenchmarkRunner::RunMemoryManager() only returns MemoryManager::Result\nand discards manager-\u003eresults.counters (reported perf counters come from\nthe timed DoNIterations() pass). Passing perf_counters_measurement_ptr\nhere did unnecessary PMU reads and allocated a\nstd::vector\u003cstd::pair\u003cstd::string, double\u003e\u003e inside\nState::PauseTimingImpl() during the memory pass.\n\nPass nullptr instead, matching BenchmarkRunner::RunProfilerManager().\n\nAI-assisted: this change was written with the help of an AI coding tool.\n\nCo-authored-by: dominic \u003c510002+dmah42@users.noreply.github.com\u003e"
    },
    {
      "commit": "1d58abf5892a71fbf2fd0353d0ceca55eb04fc93",
      "tree": "66854647f31e771bb61f6b582fd4bb625ac3e565",
      "parents": [
        "bfd437633b91f2baabd21d944e6e31987e291fd9"
      ],
      "author": {
        "name": "Mark Hansen",
        "email": "mark@markhansen.co.nz",
        "time": "Thu Nov 12 15:59:22 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Nov 12 15:59:22 2026"
      },
      "message": "Add test showing that RunMemoryManager runs on skipped benchmarks. (#2377)\n\nDocuments the current behavior in `BenchmarkRunner::DoOneRepetition()`: when a\nbenchmark calls `SkipWithError()` before the loop, `RunMemoryManager()` still\nruns (`memory_manager_ran \u003d\u003d true`) even though `CreateRunReport()` discards all\nmemory results (`memory_iterations \u003d\u003d 0`).\n\nA follow-up commit fixes `DoOneRepetition()` to skip `RunMemoryManager()` and\nflips this assertion.\n\nAI-assisted: this change was written with the help of an AI coding tool."
    },
    {
      "commit": "bfd437633b91f2baabd21d944e6e31987e291fd9",
      "tree": "6725e994e995816b5555260f50c5468c31459883",
      "parents": [
        "438873e45bea4f90101864025f27331a3e801b0e"
      ],
      "author": {
        "name": "Charles Munger",
        "email": "charleslmunger@gmail.com",
        "time": "Tue Nov 10 01:37:51 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Nov 10 01:37:51 2026"
      },
      "message": "Mark MemoryManager::Result\u0027s constructor constexpr (#2371)\n\nCo-authored-by: Roman Lebedev \u003clebedev.ri@gmail.com\u003e"
    },
    {
      "commit": "438873e45bea4f90101864025f27331a3e801b0e",
      "tree": "deca3ee84831708470bd9671b394fb6a8a206eea",
      "parents": [
        "f6c2cc6becc6abd9f934e04e8bb3083bc7ca0938"
      ],
      "author": {
        "name": "Charles Munger",
        "email": "charleslmunger@gmail.com",
        "time": "Tue Nov 10 01:26:31 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Nov 10 01:26:31 2026"
      },
      "message": "Fall back to plain hardware perf events when extended types are rejected (#2367)\n\n* Fall back to plain hardware perf events when extended types are rejected\n\nSince \"Replicate generic hardware events on all CPU PMUs\" (#2123), generic\nhardware events are opened on every CPU PMU with the PMU type in the upper\nbits of attr.config (PERF_PMU_TYPE_SHIFT). That needs the PMU driver to\nadvertise PERF_PMU_CAP_EXTENDED_HW_TYPE, which e.g. arm_pmu in Linux 6.1\ndoes not, so the kernel rejects such events (with EINVAL on an arm64\nemulator, ENOENT on a Pixel 9). There was no fallback, so every hardware\ncounter was dropped with \"Failed to get a file descriptor for performance\ncounter\" and Android benchmarks reported no PMU data.\n\nIf a hardware event cannot be opened on any CPU PMU with an extended type,\nopen it as a plain hardware event instead, and stop trying extended types\nfor the remaining counters. Failures on extended types are logged at --v\u003d1\nrather than as warnings, since the fallback may succeed.\n\nOn heterogeneous systems without extended type support, the kernel opens\nthe plain event on a single CPU PMU of its choosing, so it only counts\nwhile the benchmark runs on that PMU\u0027s CPUs (as before #2123).\n\nAlso log CPU PMU discovery and perf_event_open results at --v\u003d1:\n\n  perf_counters: found CPU PMU armv8_pmuv3 type 8\n  perf_counters: could not open CYCLES (pmu 8, type 0, config 0x800000000): Invalid argument\n  perf_counters: extended hardware event types appear to be unsupported, falling back to plain hardware events\n  perf_counters: opened CYCLES (pmu 0) as fd 3\n\nAI disclosure: this change was written with the help of an AI coding tool.\n\n* perf_counters: fall back to plain hardware events without a flag\n\nInstead of falling back to a plain hardware event inside the open loop\n(which needed the try_extended_hw_type flag, an index-based loop that\nappends to the PMU list, and restoring group_id), move the code that\nopens a counter (with retries and the fallback to a new group) into a\nhelper that returns 0 if the counter could be opened, or else the errno\nof the failed perf_event_open call. Use it to first try opening each\ngeneric hardware event on all CPU PMUs with extended types and, if none\nof these copies can be opened, to open it as a plain hardware event, as\nbefore \"Replicate generic hardware events on all CPU PMUs\" (#2123). Each\nevent is only opened once, and no state is carried from one counter to\nthe next.\n\nSince the helper only updates group_id when a counter is opened, a\ncounter that cannot be opened no longer forces the following counters\ninto a new group.\n\nThe --v\u003d1 logging of every perf_event_open call is replaced by logging\nthe copies that cannot be opened, e.g.:\n\n  perf_counters: found CPU PMU armv8_pmuv3 type 8\n  perf_counters: cannot open CYCLES on PMU type 8: Invalid argument\n\nAI disclosure: this change was written with the help of an AI coding tool.\n\n* perf_counters: address review comments on the plain event fallback\n\n* Keep GetPMUTypesForEvent() as before, only dropping the default {0}\n  (non-replicated events now take the plain-event path in the caller).\n* Document that the plain event is only opened if the event could not\n  be opened on any CPU PMU (or is not replicated): also opening it on\n  some PMUs would count twice on the PMU that the kernel opens the plain\n  event on, since the counts of all PMUs are summed.\n\nNo functional change.\n\nAI disclosure: this change was written with the help of an AI coding tool.\n\n* perf_counters: restore upstream formatting of attr {}\n\nThe previous change accidentally reformatted `struct perf_event_attr\nattr {};` to `attr{}`, as newer clang-format versions do. The\nclang-format-lint check uses clang-format 18, which formats it as\n`attr {}`.\n\nAI disclosure: this change was written with the help of an AI coding tool.\n\n---------\n\nCo-authored-by: clm \u003cclm@google.com\u003e\nCo-authored-by: Roman Lebedev \u003clebedev.ri@gmail.com\u003e"
    },
    {
      "commit": "f6c2cc6becc6abd9f934e04e8bb3083bc7ca0938",
      "tree": "0a8ce686f3dfde3d4f17a4db60c62d6e6cac1a30",
      "parents": [
        "bbee269af6e5e0705b77cf54104b2c8f6f9cab2d"
      ],
      "author": {
        "name": "Roman Lebedev",
        "email": "lebedev.ri@gmail.com",
        "time": "Mon Nov 09 14:04:18 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Nov 09 14:04:18 2026"
      },
      "message": "Update platform_specific_build_instructions.md (#2369)"
    },
    {
      "commit": "bbee269af6e5e0705b77cf54104b2c8f6f9cab2d",
      "tree": "1f9bd2cbd1536f0cdff469e1fc2679a64c665b71",
      "parents": [
        "42786a7876120b03e2ecff269695729337d243d9"
      ],
      "author": {
        "name": "Aryan Sachin",
        "email": "aryansachinixd@gmail.com",
        "time": "Fri Nov 06 14:53:19 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Nov 06 14:53:19 2026"
      },
      "message": "fix(json_reporter): escape C0 control characters per RFC 8259 (#2299) (#2358)\n\nRFC 8259 requires characters U+0000 through U+001F in JSON strings to be\nescaped. While common escapes (\\b, \\f, \\n, \\r, \\t) are already handled,\nother control bytes below 0x20 were previously passed through raw.\nEscape all remaining C0 control bytes as \\u00XX and add unit tests\nverifying C0 control byte escaping in JSON reporter list output.\n\nFixes #2299.\n\nAI Disclaimer: AI tools were used to assist in drafting and testing these changes; all changes have been reviewed and validated per AGENTS.md.\n\nSigned-off-by: Aryan Sachin \u003caryansachinixd@gmail.com\u003e\nCo-authored-by: dominic \u003c510002+dmah42@users.noreply.github.com\u003e"
    },
    {
      "commit": "42786a7876120b03e2ecff269695729337d243d9",
      "tree": "faea0aa1b1bf69b455a0aa5a42dbfa8c4b7563de",
      "parents": [
        "029abf3a1cd88e4c501ae34e14a89ac19757a444"
      ],
      "author": {
        "name": "Utkarsh patwa",
        "email": "utkarshpatwa393@gmail.com",
        "time": "Thu Nov 05 09:54:37 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Nov 05 09:54:37 2026"
      },
      "message": "Fail with clear diagnostic on malformed benchmark JSON artifacts (#2366)\n\nValidate that loaded benchmark results conform to expected schema shapes before passing them to formatting and analysis internals. Specifically, verify that the top-level artifact is an object containing a \u0027benchmarks\u0027 array, each benchmark entry is an object with a string \u0027name\u0027, time fields (\u0027real_time\u0027, \u0027cpu_time\u0027) are numeric if present, and \u0027time_unit\u0027 is a recognized unit (\u0027s\u0027, \u0027ms\u0027, \u0027us\u0027, \u0027ns\u0027).\n\nAddresses Note 3 of #2299.\n\nSigned-off-by: Utkarsh patwa \u003cutkarshpatwa393@gmail.com\u003e"
    },
    {
      "commit": "029abf3a1cd88e4c501ae34e14a89ac19757a444",
      "tree": "d34016c5ecefce7077990acecaefdfa4fb9abd3e",
      "parents": [
        "e508a656f9b37f652090d204991732edb55b5b68"
      ],
      "author": {
        "name": "nitanshnagpal",
        "email": "36511520+nitanshnagpal@users.noreply.github.com",
        "time": "Wed Nov 04 16:33:32 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Nov 04 16:33:32 2026"
      },
      "message": "Fix crash when all runs of a Complexity() benchmark are skipped (#2365)\n\nBenchmarkRunner counts skipped runs in num_runs_done but leaves them out\nof Runs. Once every run in a family was skipped, RunBenchmarks called\nRuns.front() on an empty vector to find the family index, which crashed.\n\nTake the family index from the benchmark instance instead.\n\nSigned-off-by: nitanshnagpal38 \u003cnitanshnagpal38@gmail.com\u003e"
    },
    {
      "commit": "e508a656f9b37f652090d204991732edb55b5b68",
      "tree": "bd56457c36863a74352422d97201741b0c2482a6",
      "parents": [
        "f32568bdbe68e6873207771d30d98ea73ccfd339"
      ],
      "author": {
        "name": "dependabot[bot]",
        "email": "49699333+dependabot[bot]@users.noreply.github.com",
        "time": "Tue Nov 03 09:33:49 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Nov 03 09:33:49 2026"
      },
      "message": "Bump lukka/get-cmake from 4.4.4 to 4.4.5 (#2362)\n\nBumps [lukka/get-cmake](https://github.com/lukka/get-cmake) from 4.4.4 to 4.4.5.\n- [Release notes](https://github.com/lukka/get-cmake/releases)\n- [Changelog](https://github.com/lukka/get-cmake/blob/main/RELEASE_PROCESS.md)\n- [Commits](https://github.com/lukka/get-cmake/compare/a89e43e22a96abafcd7a62db652a65ecd33052c9...f86dd60acae0d132056913e248bdabf0e0580b7a)\n\n---\nupdated-dependencies:\n- dependency-name: lukka/get-cmake\n  dependency-version: 4.4.5\n  dependency-type: direct:production\n  update-type: version-update:semver-patch\n...\n\nSigned-off-by: dependabot[bot] \u003csupport@github.com\u003e\nCo-authored-by: dependabot[bot] \u003c49699333+dependabot[bot]@users.noreply.github.com\u003e\nCo-authored-by: dominic \u003c510002+dmah42@users.noreply.github.com\u003e"
    },
    {
      "commit": "f32568bdbe68e6873207771d30d98ea73ccfd339",
      "tree": "7b2bae0ccfb34ac25023ad1140f3113c1a8773e4",
      "parents": [
        "1813ad9c3a828cee126f399739443c329e75bc79"
      ],
      "author": {
        "name": "dependabot[bot]",
        "email": "49699333+dependabot[bot]@users.noreply.github.com",
        "time": "Tue Nov 03 09:14:19 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Nov 03 09:14:19 2026"
      },
      "message": "Bump astral-sh/setup-uv from 10.3.2 to 10.3.3 (#2363)\n\nBumps [astral-sh/setup-uv](https://github.com/astral-sh/setup-uv) from 10.3.2 to 10.3.3.\n- [Release notes](https://github.com/astral-sh/setup-uv/releases)\n- [Commits](https://github.com/astral-sh/setup-uv/compare/07a047e608db84b3d8c06cd9a7c7dcc9c355c18e...68559e99cc807c1eb7e9238fd43a15bba460eec2)\n\n---\nupdated-dependencies:\n- dependency-name: astral-sh/setup-uv\n  dependency-version: 10.3.3\n  dependency-type: direct:production\n  update-type: version-update:semver-patch\n...\n\nSigned-off-by: dependabot[bot] \u003csupport@github.com\u003e\nCo-authored-by: dependabot[bot] \u003c49699333+dependabot[bot]@users.noreply.github.com\u003e"
    },
    {
      "commit": "1813ad9c3a828cee126f399739443c329e75bc79",
      "tree": "4ee9b3a8d858fbac16c963d831acc00d5893c71b",
      "parents": [
        "32ae3f43f7fd2300401a2e6ad7f2176841250211"
      ],
      "author": {
        "name": "dependabot[bot]",
        "email": "49699333+dependabot[bot]@users.noreply.github.com",
        "time": "Mon Nov 02 09:38:14 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Nov 02 09:38:14 2026"
      },
      "message": "Bump pypa/cibuildwheel from 4.3.4 to 4.3.5 (#2361)\n\nBumps [pypa/cibuildwheel](https://github.com/pypa/cibuildwheel) from 4.3.4 to 4.3.5.\n- [Release notes](https://github.com/pypa/cibuildwheel/releases)\n- [Changelog](https://github.com/pypa/cibuildwheel/blob/main/docs/changelog.md)\n- [Commits](https://github.com/pypa/cibuildwheel/compare/b9e566a2b284570af229f6c2a33673410d0389a3...f9b966cfadf4109556cadc5bb39ddb72d0ce664e)\n\n---\nupdated-dependencies:\n- dependency-name: pypa/cibuildwheel\n  dependency-version: 4.3.5\n  dependency-type: direct:production\n  update-type: version-update:semver-patch\n...\n\nSigned-off-by: dependabot[bot] \u003csupport@github.com\u003e\nCo-authored-by: dependabot[bot] \u003c49699333+dependabot[bot]@users.noreply.github.com\u003e\nCo-authored-by: dominic \u003c510002+dmah42@users.noreply.github.com\u003e"
    },
    {
      "commit": "32ae3f43f7fd2300401a2e6ad7f2176841250211",
      "tree": "b63278152d1e72fe824c8958d0a9bbd1b2416681",
      "parents": [
        "fbeb9ce2c8812f76103640e46d843a410dcefb89"
      ],
      "author": {
        "name": "Manu Nicholas Jacob",
        "email": "118115267+manunicholasjacob@users.noreply.github.com",
        "time": "Mon Nov 02 09:30:48 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Nov 02 09:30:48 2026"
      },
      "message": "[doc] Add an Android section to reducing_variance (#2356)\n\n* docs: add an Android section to reducing_variance\n\nreducing_variance.md is written for desktop and server. On Android, cpupower is\nabsent, scaling_governor is often not accessible to the shell user, there is no\nBIOS in which to disable SMT, and the effects that dominate variance are not\nmentioned.\n\nThe first item is the one that caught me. Android compiles installed applications\nahead of time in a background job gated on the device being idle and charging,\nwhich is exactly the state you create in order to benchmark it. On a Galaxy M21\n(Exynos 9611, Android 12), the same memory-bandwidth microbenchmark with the same\narguments and the same power state read 6.35 GB/s while that job was running and\n9.32 GB/s once the device was quiet, 32% lower. Both runs showed 15%\nrepetition-to-repetition variation, so a check based on the spread between\nrepetitions does not see it: the job runs for the whole measurement and depresses\nevery repetition by a similar amount. The job runs at nice 10, which yields the\nCPU but not memory bandwidth or cache.\n\nThe other five items are the ones that cost me a measurement each: measuring\nquietness instead of trusting load average, which reads 19 to 21 on a device whose\nbusy fraction is 3%; recording the device power mode without assuming a direction,\nsince it can leave scaling_max_freq untouched; letting the device settle after a\nreboot; not using every core; and treating battery temperature with suspicion,\nsince on a charging device it tracks the battery rather than the SoC and fell\nsteadily through six minutes of all-core compute.\n\nAppended at the end of the file so the existing \"Further resources\" list stays\nattached to the section it belongs to.\n\n* docs: use pgrep rather than a full thread listing to detect dex2oat\n\nThe command I suggested, ps -A -T across every thread, is itself heavy enough on a\ndevice with a few thousand threads to leave adbd unresponsive. That happened twice\nwhile gathering these numbers, and recovering needed a physical replug, which is a\npoor way to find out your device is busy.\n\nThe compiler threads belong to dex2oat, so matching the process with pgrep is\nsufficient and costs nothing.\n\n* docs: scope the existing advice to desktop/server, and make the Android wait programmatic\n\nTwo review comments.\n\nThe contrast paragraph that opened the Android section is gone. Instead the\n\u0027Reducing Variance in Benchmarks\u0027 intro now says it assumes a desktop or server\nand points at the Android section, which stands alone. Added an anchor so the\nlink works the same way as the existing ones.\n\nFor \u0027is there anything programmatic that a user might be able to do\u0027: you cannot\nstop the dexopt job on a retail device, but you can wait for it rather than\nleaving the operator to remember. Added a snippet that blocks until the device has\nbeen quiet for three consecutive checks, combining the dex2oat check with the\nbusy-fraction check from item 2.\n\nTested on a Galaxy M21: returns in 10 s on a quiet device, and blocks for the full\nwindow when eight spinners are running."
    },
    {
      "commit": "fbeb9ce2c8812f76103640e46d843a410dcefb89",
      "tree": "1e6fef02b948d4c2d68f0ee0ab30afbd59d4d473",
      "parents": [
        "53aaafd9f2b0005f85c302711e40fd8e4ca60e38"
      ],
      "author": {
        "name": "AkxRan",
        "email": "137781642+AkulRanjan@users.noreply.github.com",
        "time": "Fri Oct 30 16:51:17 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Oct 30 16:51:17 2026"
      },
      "message": "Msvc static runtime (#2355)\n\n* Document static MSVC runtime builds and test them in CI (#1655)\n\nUse CMake\u0027s standard CMAKE_MSVC_RUNTIME_LIBRARY (policy CMP0091) instead of a\nnew option. Add a /MT leg for static-library builds to the MSVC CI job.\n\n* docs: note CMAKE_MSVC_RUNTIME_LIBRARY needs CMake 3.15+\n\n* docs: drop CMAKE_CXX_FLAGS /MT note\n\n---------\n\nCo-authored-by: dominic \u003c510002+dmah42@users.noreply.github.com\u003e"
    },
    {
      "commit": "53aaafd9f2b0005f85c302711e40fd8e4ca60e38",
      "tree": "254c3ad3d3ed4e9e4ffdb44df11f3ade292d7445",
      "parents": [
        "3251a251c4499a7b63b5e37b3d818b7a48b0c477"
      ],
      "author": {
        "name": "Ritik Mishra",
        "email": "ritikmishramishra49@gmail.com",
        "time": "Fri Oct 30 10:52:06 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Oct 30 10:52:06 2026"
      },
      "message": "Fix complexity calculation when range includes 0 (#410) (#2346)\n\n* Fix complexity calculation when range includes 0 (#410)\nDifferentiate between uncalled SetComplexityN and SetComplexityN(0) by initializing State::complexity_n_ and ThreadManager::Result::complexity_n to -1, and relaxing the check in ComputeBigO to BM_CHECK_GE(run.complexity_n, 0).\nAdd guards against n \u003c\u003d 1 in logarithmic curves and sigma_gn_squared \u003d\u003d 0 in MinimalLeastSq.\nAdd unit tests for zero-starting ranges and a death test for missing SetComplexityN calls.\n\n* Address PR review feedback\n- Use ComplexityN instead of IterationCount for complexity curves, Result::complexity_n, tests, and documentation.\n- Update complexity_n accumulation logic in RunInThread.\n\n* Use std::optional\u003cComplexityN\u003e in ThreadManager::Result\n\n* Use std::nullopt for State::complexity_n_ in src/benchmark.cc\n\n* Revert \"Use std::nullopt for State::complexity_n_ in src/benchmark.cc\"\n\nThis reverts commit 172972c5c23ccff957ad93ea441ff1defad9c485.\n\n* Add OptionalComplexityN for unset complexity_n, keep ComplexityN alias\n\n* Use BM_CHECK in OptionalComplexityN and drop redundant check in ComputeBigO\n\n* Add OptionalComplexityN::is_valid_value and take raw int64_t in constructor\n\n* Make OptionalComplexityN header-only with assert()\n\n* Guard ComplexityDeathTest.NoSetComplexityN when library assertions are disabled\n\n* Trigger CI re-run\n\n---------\n\nCo-authored-by: Roman Lebedev \u003clebedev.ri@gmail.com\u003e"
    },
    {
      "commit": "3251a251c4499a7b63b5e37b3d818b7a48b0c477",
      "tree": "d49877727ee7c94866d766653e20484167618570",
      "parents": [
        "6683e19c3b7a11350e04740c5d4a1c89e3097b11"
      ],
      "author": {
        "name": "Nicholas Junge",
        "email": "nicho.junge@gmail.com",
        "time": "Fri Oct 30 01:43:32 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Oct 30 01:43:32 2026"
      },
      "message": "Report actual instead of requested iterations in memory results (#2322)\n\n* Use `memory_result.memory_iterations` in report\n\nPreviously, the run report contained the requested number of memory iterations.\nWhen using `KeepRunningBatch` with a batch size not dividing that number, the\nmemory profiling overshoots, and additional iterations go unreported.\n\nThis change sets the number of iterations that were actually run in the memory\nmanager as `memory_result.memory_iterations`, and adds a regression test\nexercising the overshooting path via `KeepRunningBatch()`.\n\n* Drop `memory_iterations` from `CreateRunReport()`\n\nThe guard against division by zero stays in place in the `allocs_per_iter`\ncalculation, since memory_result.memory_iterations is initialized to zero,\nand can be left zero in a skipped memory manager pass.\n\n---------\n\nCo-authored-by: Roman Lebedev \u003clebedev.ri@gmail.com\u003e"
    },
    {
      "commit": "6683e19c3b7a11350e04740c5d4a1c89e3097b11",
      "tree": "6317525d834a7b9b68c5946fbd2339dd9a8ed1aa",
      "parents": [
        "fbd453799701cdf0fcbdff56dbbb8ab7e6d78534"
      ],
      "author": {
        "name": "Jabrail",
        "email": "78273416+jabrailkhalil@users.noreply.github.com",
        "time": "Thu Oct 29 13:41:49 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Oct 29 13:41:49 2026"
      },
      "message": "Clean up temporary benchmark output on errors (#2350)\n\nRemove only tool-owned output when a benchmark fails to launch, exits with an error, or returns unusable results. Preserve explicit output files and tolerate a child removing its temporary output.\n\nAI assistance: analysis, implementation, tests, validation, review, and drafting.\n\nCo-authored-by: dominic \u003c510002+dmah42@users.noreply.github.com\u003e"
    },
    {
      "commit": "fbd453799701cdf0fcbdff56dbbb8ab7e6d78534",
      "tree": "fddf0c6390993dfd5d3be4400f77347697bda7be",
      "parents": [
        "70a7dba71959e5051d498616da5f2342fb3dd7dc"
      ],
      "author": {
        "name": "dependabot[bot]",
        "email": "49699333+dependabot[bot]@users.noreply.github.com",
        "time": "Tue Oct 27 17:09:11 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Oct 27 17:09:11 2026"
      },
      "message": "Bump pypa/gh-action-pypi-publish from 1.14.2 to 1.14.3 (#2347)\n\nBumps [pypa/gh-action-pypi-publish](https://github.com/pypa/gh-action-pypi-publish) from 1.14.2 to 1.14.3.\n- [Release notes](https://github.com/pypa/gh-action-pypi-publish/releases)\n- [Commits](https://github.com/pypa/gh-action-pypi-publish/compare/dc37677b2e1c63e2034f94d8a5b11f265b73ba33...7245906fb61fa33a13554f9d5fb856fe61758086)\n\n---\nupdated-dependencies:\n- dependency-name: pypa/gh-action-pypi-publish\n  dependency-version: 1.14.3\n  dependency-type: direct:production\n  update-type: version-update:semver-patch\n...\n\nSigned-off-by: dependabot[bot] \u003csupport@github.com\u003e\nCo-authored-by: dependabot[bot] \u003c49699333+dependabot[bot]@users.noreply.github.com\u003e"
    },
    {
      "commit": "70a7dba71959e5051d498616da5f2342fb3dd7dc",
      "tree": "6df59a3acc196953b8168158260b3b6359bf2dae",
      "parents": [
        "ab23ea4c7f7b697c0c70e266a79c0618ad3fc16d"
      ],
      "author": {
        "name": "dependabot[bot]",
        "email": "49699333+dependabot[bot]@users.noreply.github.com",
        "time": "Tue Oct 27 12:23:20 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Oct 27 12:23:20 2026"
      },
      "message": "Bump astral-sh/setup-uv from 10.3.0 to 10.3.2 (#2353)\n\nBumps [astral-sh/setup-uv](https://github.com/astral-sh/setup-uv) from 10.3.0 to 10.3.2.\n- [Release notes](https://github.com/astral-sh/setup-uv/releases)\n- [Commits](https://github.com/astral-sh/setup-uv/compare/1c37ad07a6a961277cf70c0d37d6f313000f5884...07a047e608db84b3d8c06cd9a7c7dcc9c355c18e)\n\n---\nupdated-dependencies:\n- dependency-name: astral-sh/setup-uv\n  dependency-version: 10.3.2\n  dependency-type: direct:production\n  update-type: version-update:semver-patch\n...\n\nSigned-off-by: dependabot[bot] \u003csupport@github.com\u003e\nCo-authored-by: dependabot[bot] \u003c49699333+dependabot[bot]@users.noreply.github.com\u003e\nCo-authored-by: dominic \u003c510002+dmah42@users.noreply.github.com\u003e"
    },
    {
      "commit": "ab23ea4c7f7b697c0c70e266a79c0618ad3fc16d",
      "tree": "73a98d31b0653abde5328eb2a34b0c07c744788a",
      "parents": [
        "d20b36b53e369fe329da48981353b2fa59a0bc77"
      ],
      "author": {
        "name": "dependabot[bot]",
        "email": "49699333+dependabot[bot]@users.noreply.github.com",
        "time": "Tue Oct 27 12:13:03 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Oct 27 12:13:03 2026"
      },
      "message": "Bump actions/setup-python from 7.0.0 to 7.1.0 (#2354)\n\nBumps [actions/setup-python](https://github.com/actions/setup-python) from 7.0.0 to 7.1.0.\n- [Release notes](https://github.com/actions/setup-python/releases)\n- [Commits](https://github.com/actions/setup-python/compare/5fda3b95a4ea91299a34e894583c3862153e4b97...6d4fd22b20465ccc0f7354476588e8df7c9ca0e0)\n\n---\nupdated-dependencies:\n- dependency-name: actions/setup-python\n  dependency-version: 7.1.0\n  dependency-type: direct:production\n  update-type: version-update:semver-minor\n...\n\nSigned-off-by: dependabot[bot] \u003csupport@github.com\u003e\nCo-authored-by: dependabot[bot] \u003c49699333+dependabot[bot]@users.noreply.github.com\u003e"
    },
    {
      "commit": "d20b36b53e369fe329da48981353b2fa59a0bc77",
      "tree": "6251b462994fe1cb8532e539836b9877a3a40465",
      "parents": [
        "0a78b5d203283b54f65590ecef23e0b835b4787c"
      ],
      "author": {
        "name": "dependabot[bot]",
        "email": "49699333+dependabot[bot]@users.noreply.github.com",
        "time": "Tue Oct 27 11:57:37 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Oct 27 11:57:37 2026"
      },
      "message": "Bump pypa/cibuildwheel from 4.3.1 to 4.3.4 (#2352)\n\nBumps [pypa/cibuildwheel](https://github.com/pypa/cibuildwheel) from 4.3.1 to 4.3.4.\n- [Release notes](https://github.com/pypa/cibuildwheel/releases)\n- [Changelog](https://github.com/pypa/cibuildwheel/blob/main/docs/changelog.md)\n- [Commits](https://github.com/pypa/cibuildwheel/compare/b3395e271a35f73dad77f21802abe9b986dfe299...b9e566a2b284570af229f6c2a33673410d0389a3)\n\n---\nupdated-dependencies:\n- dependency-name: pypa/cibuildwheel\n  dependency-version: 4.3.4\n  dependency-type: direct:production\n  update-type: version-update:semver-patch\n...\n\nSigned-off-by: dependabot[bot] \u003csupport@github.com\u003e\nCo-authored-by: dependabot[bot] \u003c49699333+dependabot[bot]@users.noreply.github.com\u003e"
    },
    {
      "commit": "0a78b5d203283b54f65590ecef23e0b835b4787c",
      "tree": "fa832eec85b7d6102f29f75c5f1db7c784d283de",
      "parents": [
        "1fa8ea1c0d5f580748c2217efcad301729a8285c"
      ],
      "author": {
        "name": "Tamir Duberstein",
        "email": "tamird@gmail.com",
        "time": "Sun Oct 25 17:14:04 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sun Oct 25 17:14:04 2026"
      },
      "message": "Mark benchmark.h\u0027s public includes as IWYU exports (#2351)\n\n6daf2dff6f7 split benchmark.h into component headers for 1.10.0,\nmoving benchmark::State to state.h and BENCHMARK to registration.h.\nThe README\u0027s Basic usage example still uses both through benchmark.h.\n\nWhen gVisor upgraded from 1.9.5 to 1.10.0 [1], clang-tidy reported\nmissing includes for both names in code that already used the umbrella\nheader [2].\n\nMark the component includes as exports so Include Cleaner accepts the\ndocumented umbrella header as well as the individual headers.\n\n[1]: https://github.com/google/gvisor/commit/bd4908a0687da7710b3534bfeeeb1af86c3c771f\n[2]: https://buildkite.com/gvisor/pipeline/builds/52067#01a16b6d-c5cf-43ac-8ca0-ac6a50aed28e"
    },
    {
      "commit": "1fa8ea1c0d5f580748c2217efcad301729a8285c",
      "tree": "7a226129531d5b2cb444422e1722197021d3a36b",
      "parents": [
        "ab7405ee3dce067eaf69807a95090441b59299b6"
      ],
      "author": {
        "name": "dependabot[bot]",
        "email": "49699333+dependabot[bot]@users.noreply.github.com",
        "time": "Thu Oct 22 10:17:11 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Oct 22 10:17:11 2026"
      },
      "message": "Bump egor-tensin/setup-clang (#2344)\n\nBumps [egor-tensin/setup-clang](https://github.com/egor-tensin/setup-clang) from 23bc15cd4207e45f1566447deb48f4ff3ef932cb to c806e5e95b4f097c34622c07201b4aac45d8c897.\n- [Release notes](https://github.com/egor-tensin/setup-clang/releases)\n- [Changelog](https://github.com/egor-tensin/setup-clang/blob/master/CHANGELOG.md)\n- [Commits](https://github.com/egor-tensin/setup-clang/compare/23bc15cd4207e45f1566447deb48f4ff3ef932cb...c806e5e95b4f097c34622c07201b4aac45d8c897)\n\n---\nupdated-dependencies:\n- dependency-name: egor-tensin/setup-clang\n  dependency-version: c806e5e95b4f097c34622c07201b4aac45d8c897\n  dependency-type: direct:production\n...\n\nSigned-off-by: dependabot[bot] \u003csupport@github.com\u003e\nCo-authored-by: dependabot[bot] \u003c49699333+dependabot[bot]@users.noreply.github.com\u003e"
    },
    {
      "commit": "ab7405ee3dce067eaf69807a95090441b59299b6",
      "tree": "4ae160ffeb52a968676c47395f4c21c993b90450",
      "parents": [
        "00aed1d2cc650262186fa35338a178425270415a"
      ],
      "author": {
        "name": "Vy Nguyen",
        "email": "vyng@google.com",
        "time": "Wed Oct 21 14:37:43 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Oct 21 14:37:43 2026"
      },
      "message": "Guard mallopt calls when targeting API \u003c 26 (#2343)\n\n* Guard mallopt calls when targeting API \u003c 26\n\nDetails:\n`mallopt()` was introduced in Android Bionic in API 26. When targeting `minSdkVersion \u003c 26`:\n-  Without `-D__ANDROID_UNAVAILABLE_SYMBOLS_ARE_WEAK__`, `\u003cmalloc.h\u003e` hides the `mallopt` declaration entirely, failing to compile.\n-  With `-D__ANDROID_UNAVAILABLE_SYMBOLS_ARE_WEAK__`, `mallopt` is emitted as a weak symbol that resolves to `nullptr` on devices/emulators running API \u003c 26. In user-mode QEMU/chroot environments where `/dev/__properties__` is unavailable, compiler-rt\u0027s `__builtin_available` falls back to `__ANDROID_API_FUTURE__` (`10000`) and returns `true`, causing a null function pointer call at startup.\n\nDeclare `mallopt` as a weak symbol and check `\u0026mallopt !\u003d nullptr` before calling it.\n\n* remove nullptr check - gate on api 26 instead\n\n---------\n\nCo-authored-by: dominic \u003c510002+dmah42@users.noreply.github.com\u003e"
    },
    {
      "commit": "00aed1d2cc650262186fa35338a178425270415a",
      "tree": "3f6b4871577092df39122ed31ee25b1b26fe9e21",
      "parents": [
        "ac0063a65eddf49f9d36e1f9493f7b3218e2d7a9"
      ],
      "author": {
        "name": "Nicholas Junge",
        "email": "nicho.junge@gmail.com",
        "time": "Tue Oct 20 09:22:23 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Oct 20 09:22:23 2026"
      },
      "message": "Use `clock_gettime` on all MacOS after 10.11 (#2341)\n\n* Use `clock_gettime` on all MacOS after 10.11\n\n`clock_gettime` is available on macOS since 10.12 (September 2016), and\nnoticeably faster than mach\u0027s `thread_info`, so use it whenever available.\n\nAssisted-By: Codex\n\n* Drop ThreadCPUUsage() branch for macOS\u003c10.12\n\n* Remove macOS-specific includes, mach-specific MakeTime() overload\n\nSince we assume that we can access `clock_gettime()` on all supported macOS\nversions, we can remove the mach thread-info route entirely.\n\n---------\n\nCo-authored-by: dominic \u003c510002+dmah42@users.noreply.github.com\u003e"
    },
    {
      "commit": "ac0063a65eddf49f9d36e1f9493f7b3218e2d7a9",
      "tree": "84b899c077018918708f61af602155d311497c68",
      "parents": [
        "52f372712c4c2c3d284665eb73bd2d2daab5ca1e"
      ],
      "author": {
        "name": "Tuna Kılıç",
        "email": "tuna@tunakilic.com",
        "time": "Tue Oct 20 09:04:23 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Oct 20 09:04:23 2026"
      },
      "message": "fix(warmup): honor per-benchmark warmup without MinTime (#2339)\n\n* fix(warmup): honor per-benchmark warmup without MinTime\n\n* fix: remove refression tests\n\n---------\n\nCo-authored-by: dominic \u003c510002+dmah42@users.noreply.github.com\u003e"
    },
    {
      "commit": "52f372712c4c2c3d284665eb73bd2d2daab5ca1e",
      "tree": "cf8ca16f0b5d7f30eb3d7bfe988721f06c5a4fa2",
      "parents": [
        "f7f1ecdb05d57a3198e0a230ead3ecef0dc0e1b8"
      ],
      "author": {
        "name": "Ben Beasley",
        "email": "code@musicinmybrain.net",
        "time": "Tue Oct 20 08:23:16 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Oct 20 08:23:16 2026"
      },
      "message": "Use the full version as the SOVERSION (#2342)\n\nThis assumes that ABI is likely to be broken any time, including in patch\nreleases.\n\nIf this is a good assumption, then this change fixes\nhttps://github.com/google/benchmark/issues/2340."
    },
    {
      "commit": "f7f1ecdb05d57a3198e0a230ead3ecef0dc0e1b8",
      "tree": "d92001fa65d2a93135c4ecfb3eb72cfd52215f20",
      "parents": [
        "a6b4a9f00b36c19af9997d68a1cf6e0b5b3d032c"
      ],
      "author": {
        "name": "Nicholas Junge",
        "email": "nicho.junge@gmail.com",
        "time": "Thu Oct 15 09:00:22 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Oct 15 09:00:22 2026"
      },
      "message": "Remove unavailable `CIBW_ENABLE` option (#2337)\n\n`cpython-freethreading` was removed in cibuildwheel 4.0.0, since free-threaded\ninterpreters are considered stabilized by it.\n\nHence, we can build FT wheels without setting this option."
    },
    {
      "commit": "a6b4a9f00b36c19af9997d68a1cf6e0b5b3d032c",
      "tree": "526c46f197dd3180a3547c8622c4af060b1b5e0d",
      "parents": [
        "7c085437b61657c80d675997b3fe5f17c76d1ba2"
      ],
      "author": {
        "name": "Dominic Hamon",
        "email": "dominic+github@google.com",
        "time": "Wed Oct 14 10:08:42 2026"
      },
      "committer": {
        "name": "Dominic Hamon",
        "email": "dominic+github@google.com",
        "time": "Wed Oct 14 10:08:42 2026"
      },
      "message": "bump version to 1.10.0\n"
    },
    {
      "commit": "7c085437b61657c80d675997b3fe5f17c76d1ba2",
      "tree": "656bc8980912ee2bf5abb40dfe9f3c4c386e8474",
      "parents": [
        "355a363c8070721634b157a2e5b7f2bed3350d99"
      ],
      "author": {
        "name": "dependabot[bot]",
        "email": "49699333+dependabot[bot]@users.noreply.github.com",
        "time": "Wed Oct 14 10:08:08 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Oct 14 10:08:08 2026"
      },
      "message": "Bump astral-sh/setup-uv from 10.2.0 to 10.3.0 (#2333)\n\nBumps [astral-sh/setup-uv](https://github.com/astral-sh/setup-uv) from 10.2.0 to 10.3.0.\n- [Release notes](https://github.com/astral-sh/setup-uv/releases)\n- [Commits](https://github.com/astral-sh/setup-uv/compare/c18668ad3cf93ea998bef934396af7bb5c839dc7...1c37ad07a6a961277cf70c0d37d6f313000f5884)\n\n---\nupdated-dependencies:\n- dependency-name: astral-sh/setup-uv\n  dependency-version: 10.3.0\n  dependency-type: direct:production\n  update-type: version-update:semver-minor\n...\n\nSigned-off-by: dependabot[bot] \u003csupport@github.com\u003e\nCo-authored-by: dependabot[bot] \u003c49699333+dependabot[bot]@users.noreply.github.com\u003e\nCo-authored-by: dominic \u003c510002+dmah42@users.noreply.github.com\u003e"
    },
    {
      "commit": "355a363c8070721634b157a2e5b7f2bed3350d99",
      "tree": "fb3185cce43cd32f55ed85934f0f0a81f9d19a2c",
      "parents": [
        "c0adb02fdc3a61fe0c682b9eeded4d59f2de995f"
      ],
      "author": {
        "name": "dependabot[bot]",
        "email": "49699333+dependabot[bot]@users.noreply.github.com",
        "time": "Wed Oct 14 09:33:33 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Oct 14 09:33:33 2026"
      },
      "message": "Bump numpy from 2.5.3 to 2.5.4 in /tools (#2331)\n\nBumps [numpy](https://github.com/numpy/numpy) from 2.5.3 to 2.5.4.\n- [Release notes](https://github.com/numpy/numpy/releases)\n- [Changelog](https://github.com/numpy/numpy/blob/main/doc/RELEASE_WALKTHROUGH.rst)\n- [Commits](https://github.com/numpy/numpy/compare/v2.5.3...v2.5.4)\n\n---\nupdated-dependencies:\n- dependency-name: numpy\n  dependency-version: 2.5.4\n  dependency-type: direct:production\n  update-type: version-update:semver-patch\n...\n\nSigned-off-by: dependabot[bot] \u003csupport@github.com\u003e\nCo-authored-by: dependabot[bot] \u003c49699333+dependabot[bot]@users.noreply.github.com\u003e\nCo-authored-by: dominic \u003c510002+dmah42@users.noreply.github.com\u003e"
    },
    {
      "commit": "c0adb02fdc3a61fe0c682b9eeded4d59f2de995f",
      "tree": "25eb0b6eb83e5bba85a3c717a698333c9d644926",
      "parents": [
        "b8f292348f4a7ab17d32ae35f4953ae1770e51ab"
      ],
      "author": {
        "name": "dependabot[bot]",
        "email": "49699333+dependabot[bot]@users.noreply.github.com",
        "time": "Wed Oct 14 09:24:23 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Oct 14 09:24:23 2026"
      },
      "message": "Bump actions/upload-artifact from 7.0.1 to 7.0.2 (#2332)\n\nBumps [actions/upload-artifact](https://github.com/actions/upload-artifact) from 7.0.1 to 7.0.2.\n- [Release notes](https://github.com/actions/upload-artifact/releases)\n- [Commits](https://github.com/actions/upload-artifact/compare/043fb46d1a93c77aae656e7c1c64a875d1fc6a0a...cf430e030ddbb5b0abf93d22962f4752f3646cd9)\n\n---\nupdated-dependencies:\n- dependency-name: actions/upload-artifact\n  dependency-version: 7.0.2\n  dependency-type: direct:production\n  update-type: version-update:semver-patch\n...\n\nSigned-off-by: dependabot[bot] \u003csupport@github.com\u003e\nCo-authored-by: dependabot[bot] \u003c49699333+dependabot[bot]@users.noreply.github.com\u003e"
    },
    {
      "commit": "b8f292348f4a7ab17d32ae35f4953ae1770e51ab",
      "tree": "b42100a60a2bc652c3a2d798f5bfc6846f3c8c0b",
      "parents": [
        "bc53d9c45161072bcd9bf20a999e720f0f26e49a"
      ],
      "author": {
        "name": "dependabot[bot]",
        "email": "49699333+dependabot[bot]@users.noreply.github.com",
        "time": "Wed Oct 14 09:04:29 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Oct 14 09:04:29 2026"
      },
      "message": "Bump actions/download-artifact from 8.0.1 to 8.0.2 (#2334)\n\nBumps [actions/download-artifact](https://github.com/actions/download-artifact) from 8.0.1 to 8.0.2.\n- [Release notes](https://github.com/actions/download-artifact/releases)\n- [Commits](https://github.com/actions/download-artifact/compare/3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c...9000827ccba6bdab643e8b6fd33ac0654aef8333)\n\n---\nupdated-dependencies:\n- dependency-name: actions/download-artifact\n  dependency-version: 8.0.2\n  dependency-type: direct:production\n  update-type: version-update:semver-patch\n...\n\nSigned-off-by: dependabot[bot] \u003csupport@github.com\u003e\nCo-authored-by: dependabot[bot] \u003c49699333+dependabot[bot]@users.noreply.github.com\u003e"
    },
    {
      "commit": "bc53d9c45161072bcd9bf20a999e720f0f26e49a",
      "tree": "c9e0ad62cca797095f1b4e334b28cab51a3ab8a7",
      "parents": [
        "073a74f995801d574e63092746cda7524604386a"
      ],
      "author": {
        "name": "dependabot[bot]",
        "email": "49699333+dependabot[bot]@users.noreply.github.com",
        "time": "Wed Oct 14 08:31:58 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Oct 14 08:31:58 2026"
      },
      "message": "Bump pypa/cibuildwheel from 4.3.0 to 4.3.1 (#2335)\n\nBumps [pypa/cibuildwheel](https://github.com/pypa/cibuildwheel) from 4.3.0 to 4.3.1.\n- [Release notes](https://github.com/pypa/cibuildwheel/releases)\n- [Changelog](https://github.com/pypa/cibuildwheel/blob/main/docs/changelog.md)\n- [Commits](https://github.com/pypa/cibuildwheel/compare/adba99c781d3746d38b3a09b1cf797965bcb7fe6...b3395e271a35f73dad77f21802abe9b986dfe299)\n\n---\nupdated-dependencies:\n- dependency-name: pypa/cibuildwheel\n  dependency-version: 4.3.1\n  dependency-type: direct:production\n  update-type: version-update:semver-patch\n...\n\nSigned-off-by: dependabot[bot] \u003csupport@github.com\u003e\nCo-authored-by: dependabot[bot] \u003c49699333+dependabot[bot]@users.noreply.github.com\u003e"
    },
    {
      "commit": "073a74f995801d574e63092746cda7524604386a",
      "tree": "60667ba1b1c9ba1d60cdf894ef5d8745c1116cdb",
      "parents": [
        "7d8c59a3a7ec5c3d79bb4c554389f6b69b0b9be9"
      ],
      "author": {
        "name": "dependabot[bot]",
        "email": "49699333+dependabot[bot]@users.noreply.github.com",
        "time": "Wed Oct 14 08:20:35 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Oct 14 08:20:35 2026"
      },
      "message": "Bump ossf/scorecard-action from 2.4.4 to 2.5.0 (#2336)\n\nBumps [ossf/scorecard-action](https://github.com/ossf/scorecard-action) from 2.4.4 to 2.5.0.\n- [Release notes](https://github.com/ossf/scorecard-action/releases)\n- [Changelog](https://github.com/ossf/scorecard-action/blob/main/RELEASE.md)\n- [Commits](https://github.com/ossf/scorecard-action/compare/2d1146689b8cda280b9bc96326124645441f03bc...fa7117db83c52d787ae5a89f350999701505d78e)\n\n---\nupdated-dependencies:\n- dependency-name: ossf/scorecard-action\n  dependency-version: 2.5.0\n  dependency-type: direct:production\n  update-type: version-update:semver-minor\n...\n\nSigned-off-by: dependabot[bot] \u003csupport@github.com\u003e\nCo-authored-by: dependabot[bot] \u003c49699333+dependabot[bot]@users.noreply.github.com\u003e"
    },
    {
      "commit": "7d8c59a3a7ec5c3d79bb4c554389f6b69b0b9be9",
      "tree": "e0e700df9f6ef2699e738d06c1b53e192278e964",
      "parents": [
        "f2f78087c2235e9e3156d0651be26660005a03a1"
      ],
      "author": {
        "name": "Tejas Anil Nagmote",
        "email": "tejasnagmote520@gmail.com",
        "time": "Tue Oct 13 16:17:16 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Oct 13 16:17:16 2026"
      },
      "message": "Support DoNotOptimize on types with const members (#1997) (#2291)\n\n* Fall back to an asm input operand for non-writable types\n\nDoNotOptimize passes its argument as a read-write asm operand, but an\nobject of a class type with a const data member cannot be stored into,\nso gcc rejects it (\"read-only reference used as \u0027asm\u0027 output\") and clang\nrejects it (\"invalid lvalue in asm output\"). Since the const-ref overload\nis deprecated, such a type had no usable spelling at all -- most visibly\nin generic code, where DoNotOptimize is reached through a deduced\nnon-const reference.\n\nRoute those types to an input operand instead. The memory clobber is\nretained, so the compiler still has to place the object in memory and\nstill cannot assume it unchanged across the asm.\n\nThere is no trait for \"has a const data member\", so assignability stands\nin for it. Arrays are never assignable but are valid outputs, so they are\nallowed outright. A class with a reference data member is a valid output\ntoo but is indistinguishable by trait, so it conservatively takes the\ninput operand as well.\n\nFixes #1997\n\n* Cover const-member types in donotoptimize_test\n\nExercises DoNotOptimize with register-sized and larger-than-register\ntypes holding a const data member, as lvalues, as rvalues, and through a\ndeduced non-const reference -- the reproducer from issue #1997. Every one\nof these fails to compile without the preceding change.\n\n* Use r,m / m,r for the DoNotOptimize input fallback\n\nThe fallback for types that cannot be asm outputs now uses the same\nregister-or-memory alternatives as the other overloads, r,m for clang\nand m,r for gcc, instead of plain m. A small type with a const member\ncan then stay in a register instead of being spilled to the stack.\n\nChecked with gcc 5-15 and clang 3.9-20 at -O0 and -O2 in C++11,\nincluding large types and ones that are not trivially copyable.\n\n* Simplify the DoNotOptimize input fallback\n\nUse a single forwarding-reference overload for the non-writable case.\nThe separate lvalue-reference overload was redundant: unlike the\nread-write overloads, an input operand imposes no constraint that\nrequires distinguishing lvalues from rvalues.\n\nDrop the compiler-dependent operand order as well. The r,m / m,r split\nmatters only for the read-write (\"+\") operand, where GCC rejects\n\"+r,m\" at -O2; for a pure input operand both orders are accepted by\nGCC and Clang, and the existing DoNotOptimize(Tp const\u0026) overloads\nalready use \"r,m\" unconditionally.\n\n---------\n\nCo-authored-by: dominic \u003c510002+dmah42@users.noreply.github.com\u003e\nCo-authored-by: Roman Lebedev \u003clebedev.ri@gmail.com\u003e"
    },
    {
      "commit": "f2f78087c2235e9e3156d0651be26660005a03a1",
      "tree": "a5a063bae8b6b0ea8df6663d94bce5c21b8ddf7f",
      "parents": [
        "749862daf30a413fe40cf1b44abed325eacefd87"
      ],
      "author": {
        "name": "jdymitarai",
        "email": "100186003+jdymitarai@users.noreply.github.com",
        "time": "Fri Oct 09 13:46:45 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Oct 09 13:46:45 2026"
      },
      "message": "fix(mutex): hold lock during notify_all in Barrier::wait to prevent teardown race (fixes #1672) (#2325)\n\n* fix(mutex): hold lock during notify_all in Barrier::wait to prevent teardown race (fixes #1672)\n\n* style: fix clang-format formatting in BarrierTest\n\n---------\n\nCo-authored-by: dominic \u003c510002+dmah42@users.noreply.github.com\u003e"
    },
    {
      "commit": "749862daf30a413fe40cf1b44abed325eacefd87",
      "tree": "449ab995313a2b115e050230be2d8b667661903e",
      "parents": [
        "21ea22788f7dbc8cde103bca5bd8ef45148f71bc"
      ],
      "author": {
        "name": "dependabot[bot]",
        "email": "49699333+dependabot[bot]@users.noreply.github.com",
        "time": "Fri Oct 09 10:24:09 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Oct 09 10:24:09 2026"
      },
      "message": "Bump lukka/get-cmake from 4.4.2 to 4.4.4 (#2323)\n\nBumps [lukka/get-cmake](https://github.com/lukka/get-cmake) from 4.4.2 to 4.4.4.\n- [Release notes](https://github.com/lukka/get-cmake/releases)\n- [Changelog](https://github.com/lukka/get-cmake/blob/main/RELEASE_PROCESS.md)\n- [Commits](https://github.com/lukka/get-cmake/compare/fffaaafeea488556c2c12dad60690008bc1caacb...a89e43e22a96abafcd7a62db652a65ecd33052c9)\n\n---\nupdated-dependencies:\n- dependency-name: lukka/get-cmake\n  dependency-version: 4.4.4\n  dependency-type: direct:production\n  update-type: version-update:semver-patch\n...\n\nSigned-off-by: dependabot[bot] \u003csupport@github.com\u003e\nCo-authored-by: dependabot[bot] \u003c49699333+dependabot[bot]@users.noreply.github.com\u003e\nCo-authored-by: dominic \u003c510002+dmah42@users.noreply.github.com\u003e"
    },
    {
      "commit": "21ea22788f7dbc8cde103bca5bd8ef45148f71bc",
      "tree": "1b6b20c9f26aae8715c6137d918a2a066302fcbd",
      "parents": [
        "e662de9aab8e705ecf4fa4bd41a207e5a0acfd0c"
      ],
      "author": {
        "name": "dependabot[bot]",
        "email": "49699333+dependabot[bot]@users.noreply.github.com",
        "time": "Fri Oct 09 10:06:47 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Oct 09 10:06:47 2026"
      },
      "message": "Bump pypa/cibuildwheel from 4.2.1 to 4.3.0 (#2327)\n\nBumps [pypa/cibuildwheel](https://github.com/pypa/cibuildwheel) from 4.2.1 to 4.3.0.\n- [Release notes](https://github.com/pypa/cibuildwheel/releases)\n- [Changelog](https://github.com/pypa/cibuildwheel/blob/main/docs/changelog.md)\n- [Commits](https://github.com/pypa/cibuildwheel/compare/e090b81e30c4d855ea63bf4b6e59204c09a101ae...adba99c781d3746d38b3a09b1cf797965bcb7fe6)\n\n---\nupdated-dependencies:\n- dependency-name: pypa/cibuildwheel\n  dependency-version: 4.3.0\n  dependency-type: direct:production\n  update-type: version-update:semver-minor\n...\n\nSigned-off-by: dependabot[bot] \u003csupport@github.com\u003e\nCo-authored-by: dependabot[bot] \u003c49699333+dependabot[bot]@users.noreply.github.com\u003e"
    },
    {
      "commit": "e662de9aab8e705ecf4fa4bd41a207e5a0acfd0c",
      "tree": "167d6519790a2601ae381b915a1c89e4a97dfc1d",
      "parents": [
        "39a78e32162469e178d336287a11aa790305b5e9"
      ],
      "author": {
        "name": "Nicholas Junge",
        "email": "nicho.junge@gmail.com",
        "time": "Thu Oct 08 15:52:18 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Oct 08 15:52:18 2026"
      },
      "message": "Add `State::in_timed_section()` helper (#2319)\n\nIn some scenarios, it can be useful to know if we are currently in a benchmark loop.\nThe \"are we currently in a timed section\" check was already used internally,\nbut only in asserts around timings.\n\nThis change just packages that check into a public API on `State`, which makes\nuser queries on the benchmark status a bit nicer.\n\nCo-authored-by: Roman Lebedev \u003clebedev.ri@gmail.com\u003e"
    },
    {
      "commit": "39a78e32162469e178d336287a11aa790305b5e9",
      "tree": "03e04642d17653775bddcf8ee01fb7287b42cf4b",
      "parents": [
        "5049ceda77c95eaaab51f82ae8b48c83f1af0bba"
      ],
      "author": {
        "name": "Stanley C",
        "email": "19547104+stanbot8@users.noreply.github.com",
        "time": "Tue Oct 06 16:28:45 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Oct 06 16:28:45 2026"
      },
      "message": "Apply UseManualTime to BM_bytes_per_second and BM_items_per_second (#2320)"
    },
    {
      "commit": "5049ceda77c95eaaab51f82ae8b48c83f1af0bba",
      "tree": "a948203cb9ebeac9f7de49d938d378c5d709a622",
      "parents": [
        "0dce9a51fb4ab7ce29e808c45c4983c5f1ec9fc8"
      ],
      "author": {
        "name": "dependabot[bot]",
        "email": "49699333+dependabot[bot]@users.noreply.github.com",
        "time": "Tue Oct 06 12:24:48 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Oct 06 12:24:48 2026"
      },
      "message": "Bump astral-sh/setup-uv from 10.1.0 to 10.2.0 (#2306)\n\nBumps [astral-sh/setup-uv](https://github.com/astral-sh/setup-uv) from 10.1.0 to 10.2.0.\n- [Release notes](https://github.com/astral-sh/setup-uv/releases)\n- [Commits](https://github.com/astral-sh/setup-uv/compare/bec219d24cd3e171d82865faccec33120bb574f4...c18668ad3cf93ea998bef934396af7bb5c839dc7)\n\n---\nupdated-dependencies:\n- dependency-name: astral-sh/setup-uv\n  dependency-version: 10.2.0\n  dependency-type: direct:production\n  update-type: version-update:semver-minor\n...\n\nSigned-off-by: dependabot[bot] \u003csupport@github.com\u003e\nCo-authored-by: dependabot[bot] \u003c49699333+dependabot[bot]@users.noreply.github.com\u003e\nCo-authored-by: dominic \u003c510002+dmah42@users.noreply.github.com\u003e"
    },
    {
      "commit": "0dce9a51fb4ab7ce29e808c45c4983c5f1ec9fc8",
      "tree": "579cb148b61aabc1bba12f3db5dfe0d02307d9c1",
      "parents": [
        "14a717f09aa4bb098e6f17bc7774a12bfc9f7e94"
      ],
      "author": {
        "name": "dependabot[bot]",
        "email": "49699333+dependabot[bot]@users.noreply.github.com",
        "time": "Tue Oct 06 12:09:04 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Oct 06 12:09:04 2026"
      },
      "message": "Bump msys2/setup-msys2 from 2.32.0 to 2.33.0 (#2311)\n\nBumps [msys2/setup-msys2](https://github.com/msys2/setup-msys2) from 2.32.0 to 2.33.0.\n- [Release notes](https://github.com/msys2/setup-msys2/releases)\n- [Changelog](https://github.com/msys2/setup-msys2/blob/main/CHANGELOG.md)\n- [Commits](https://github.com/msys2/setup-msys2/compare/66cd2cce69caa17b53920067426061ca1de3a884...ec48f7c5447b3140e2b088413ae3a55687bccb6e)\n\n---\nupdated-dependencies:\n- dependency-name: msys2/setup-msys2\n  dependency-version: 2.33.0\n  dependency-type: direct:production\n  update-type: version-update:semver-minor\n...\n\nSigned-off-by: dependabot[bot] \u003csupport@github.com\u003e\nCo-authored-by: dependabot[bot] \u003c49699333+dependabot[bot]@users.noreply.github.com\u003e\nCo-authored-by: dominic \u003c510002+dmah42@users.noreply.github.com\u003e"
    },
    {
      "commit": "14a717f09aa4bb098e6f17bc7774a12bfc9f7e94",
      "tree": "95f85aed3b0162159c76e52e0a49697af7beadbb",
      "parents": [
        "5525dbca03d676f80e8fc5554f6fa040dea1a446"
      ],
      "author": {
        "name": "Peter Hawkins",
        "email": "phawkins@google.com",
        "time": "Tue Oct 06 11:51:12 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Oct 06 11:51:12 2026"
      },
      "message": "Add Python 3.13–3.15 and free-threading wheel support (#2314)\n\nUpdate Python bindings to support Python 3.10–3.15, including free-threaded\n3.14t and 3.15t builds.\n\nSwitch the wheel build to nanobind 3 split mode (`nanobind-backend\u003e\u003d1.0`),\nwhich moves Python-version-specific runtime internals into `nanobind-backend`\nso that stable ABI wheels work starting from Python 3.10 instead of 3.12 and\nsupport PEP 803 (`abi3t`) on Python 3.15t+. This reduces the wheel matrix to\nthree wheels per platform architecture (`cp310-abi3`, `cp314-cp314t`, and\n`cp315-abi3t`), and the `cp310-abi3` and `cp315-abi3t` wheels should be\nforward-compatible with future Python releases.\n\nAssisted-by: Gemini\n\nCo-authored-by: dominic \u003c510002+dmah42@users.noreply.github.com\u003e"
    },
    {
      "commit": "5525dbca03d676f80e8fc5554f6fa040dea1a446",
      "tree": "29add4b3714ddb682cf04ae6b050ebf1e49b23d4",
      "parents": [
        "1467a73a6fffe26de99781ec548510805c92aca6"
      ],
      "author": {
        "name": "dominic",
        "email": "510002+dmah42@users.noreply.github.com",
        "time": "Tue Oct 06 11:40:40 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Oct 06 11:40:40 2026"
      },
      "message": "Update test_bindings.yml\n\ncopy paste blunder"
    },
    {
      "commit": "1467a73a6fffe26de99781ec548510805c92aca6",
      "tree": "e5614bfde3b3d156bb900fadff3caf792a83ebee",
      "parents": [
        "fff80c798bbdd3b67b00e49367782a0856e0959a"
      ],
      "author": {
        "name": "dominic",
        "email": "510002+dmah42@users.noreply.github.com",
        "time": "Tue Oct 06 11:37:44 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Oct 06 11:37:44 2026"
      },
      "message": "Update test_bindings.yml\n\nPin to master. dtolnay/rust-toolchain uses \"fake\" branches which can be garbage collected, which is why dependabot broke (basically)."
    },
    {
      "commit": "fff80c798bbdd3b67b00e49367782a0856e0959a",
      "tree": "3291ab7d5ff39e4507a932e0a26d5a5157c4adfe",
      "parents": [
        "a5fdacc8b23baccb84c7c93052c05268c9579de4"
      ],
      "author": {
        "name": "dominic",
        "email": "510002+dmah42@users.noreply.github.com",
        "time": "Tue Oct 06 11:28:50 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Oct 06 11:28:50 2026"
      },
      "message": "Update test_bindings.yml\n\nprevious commit was no longer on a branch in the upstream repo. this is 1.82.0"
    },
    {
      "commit": "a5fdacc8b23baccb84c7c93052c05268c9579de4",
      "tree": "0b9c074f1feda9df4d9419584e9a2c2cfa326598",
      "parents": [
        "bffc191e6ca08d4630165fa566dc6dab61c65d42"
      ],
      "author": {
        "name": "Stanley C",
        "email": "19547104+stanbot8@users.noreply.github.com",
        "time": "Mon Oct 05 17:18:37 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Oct 05 17:18:37 2026"
      },
      "message": "Guard result.rms against division by zero (#2317)\n\nCo-authored-by: Roman Lebedev \u003clebedev.ri@gmail.com\u003e"
    },
    {
      "commit": "bffc191e6ca08d4630165fa566dc6dab61c65d42",
      "tree": "0ca2aa8d32665e6cb1734f711e2d88ce08f54110",
      "parents": [
        "f1714c3fc43866f4f0dcdafb94beff9d1eef263c"
      ],
      "author": {
        "name": "Nicholas Junge",
        "email": "nicho.junge@gmail.com",
        "time": "Mon Oct 05 13:35:21 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Oct 05 13:35:21 2026"
      },
      "message": "fix(timing): Do not resume timing in pause scope on skipped benchmarks (#2318)\n\nCurrently, skipping a benchmark with an error from a `ScopedPauseTiming` fails\nwith GB built in debug mode, since `ResumeTiming()` is called outside of a benchmark\nloop.\n\nThis mirrors the logic in `State::FinishKeepRunning()`, which pauses only if the\nbenchmark was not skipped. Leaving the timer paused is preferable to resuming after\na skip, which could then also corrupt timings."
    },
    {
      "commit": "f1714c3fc43866f4f0dcdafb94beff9d1eef263c",
      "tree": "7e3ba10114b35405949de8e687f85a00b2fea85a",
      "parents": [
        "4b3195addd0695ca6b08b05f02b831ebe88bb60f"
      ],
      "author": {
        "name": "Kartikey Negi",
        "email": "65110918+ReturnKartikey@users.noreply.github.com",
        "time": "Fri Oct 02 12:48:44 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Oct 02 12:48:44 2026"
      },
      "message": "feat(reporter): allow stringifying exponent for counters in console (fixes #818) (#2305)\n\nAdds benchmark::Counter::kStringifyExponent flag to format user counters with explicit exponents instead of SI prefixes in console output. Updates HumanReadableNumber to support stringifying the exponent (supporting *2^ for binary base 1024 and e for base 1000). Also updates Python bindings, user guide documentation, and test suite.\n\nCo-authored-by: Roman Lebedev \u003clebedev.ri@gmail.com\u003e"
    },
    {
      "commit": "4b3195addd0695ca6b08b05f02b831ebe88bb60f",
      "tree": "a3dba4625a121833c0c2d22480012d0fc222c214",
      "parents": [
        "110ba2873f8c5e741b3d544297b4434f2974f9c9"
      ],
      "author": {
        "name": "HARSH",
        "email": "146837343+Chaturvediharsh123@users.noreply.github.com",
        "time": "Thu Oct 01 16:04:48 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Oct 01 16:04:48 2026"
      },
      "message": "Pass State to ProfilerManager via new WithState hooks (#2234) (#2313)\n\n* Pass State to ProfilerManager via new WithState hooks (#2234)\n\n* Include state.h instead of forward-declaring State; fix clang-format\n\n---------\n\nCo-authored-by: dominic \u003c510002+dmah42@users.noreply.github.com\u003e"
    },
    {
      "commit": "110ba2873f8c5e741b3d544297b4434f2974f9c9",
      "tree": "0f28c688a0b6c90a66d9f0dcd52f7f9ed2d6d556",
      "parents": [
        "382dddad3f0945876182d745c988916c27d36b3e"
      ],
      "author": {
        "name": "Kartikey Negi",
        "email": "65110918+ReturnKartikey@users.noreply.github.com",
        "time": "Thu Oct 01 15:11:36 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Oct 01 15:11:36 2026"
      },
      "message": "Allow custom multiplier in Benchmark::ThreadRange (#2304)\n\nCurrently Benchmark::ThreadRange hardcodes a geometric multiplier of 2 when generating thread counts across [min_threads, max_threads]. In contrast, DenseThreadRange allows a configurable stride parameter.\n\nAdd an optional mult parameter to Benchmark::ThreadRange (defaulting to 2) so users can specify geometric multipliers other than 2 (e.g. powers of 4 or 8) across thread ranges.\n\n- Update ThreadRange in benchmark_api.h and benchmark_register.cc.\n\n- Add unit tests in test/benchmark_test.cc and test/options_test.cc.\n\n- Document the mult parameter and DenseThreadRange in docs/user_guide.md.\n\nCloses #1531.\n\nCo-authored-by: Roman Lebedev \u003clebedev.ri@gmail.com\u003e"
    },
    {
      "commit": "382dddad3f0945876182d745c988916c27d36b3e",
      "tree": "78f2d128ec785eb11ac5b6c70af3996590beaeac",
      "parents": [
        "ac13143d96b61cec419b49f76e58d2045aba8536"
      ],
      "author": {
        "name": "Stanley C",
        "email": "19547104+stanbot8@users.noreply.github.com",
        "time": "Tue Sep 29 10:21:59 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Sep 29 10:21:59 2026"
      },
      "message": "Register Python 3.14 with Bazel (#2307)"
    },
    {
      "commit": "ac13143d96b61cec419b49f76e58d2045aba8536",
      "tree": "2c6d49388d943d89eab84f631b7487973ff6fb4a",
      "parents": [
        "82a89508915e7607e10675ee5a4dacd8fc72c649"
      ],
      "author": {
        "name": "Tejas Anil Nagmote",
        "email": "tejasnagmote520@gmail.com",
        "time": "Mon Sep 21 10:24:59 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Sep 21 10:24:59 2026"
      },
      "message": "Diagnose invalid PauseTiming()/ResumeTiming() calls (#2235) (#2274)\n\n* Move the PauseTiming()/ResumeTiming() assertions to the caller (#2235)\n\nCalling PauseTiming() outside the benchmark loop stops a timer that was never\nstarted, so StopTimer() adds `ChronoClockNow() - 0` to the run\u0027s real time --\nan absolute clock reading, not a duration. The same happens to the CPU time.\nThat is the ~86 s offset in #2235, and why every later benchmark in the\nprocess reports a bigger number.\n\nThe precondition is already checked. The problem is where: BM_CHECK is\ncompiled into the library, so it only fires if the library was built with\nassertions. Distributions ship a release build, and then the check is gone no\nmatter how the benchmark itself was compiled.\n\nMove it. PauseTiming() and ResumeTiming() become inline wrappers in state.h\nthat assert and call PauseTimingImpl()/ResumeTimingImpl(), which hold the\nexisting bodies. The condition is the same and the runtime behaviour is the\nsame; the assertion now follows the NDEBUG of whoever writes the benchmark,\nand disappears once they define it.\n\ndiagnostics_test caught what BM_CHECK threw through the library\u0027s abort\nhandler. A plain assert() does not use that handler, so the test becomes\ndiagnostics_gtest with ASSERT_DEATH_IF_SUPPORTED, like min_time_parse_gtest\nand profiler_manager_gtest. It covers pause and resume before and after the\nloop, and checks that a run which is not diagnosed still reports a real and\nCPU time below a second.\n\n* Rewrite death tests\n\n* Force-inline PauseTiming()/ResumeTiming() for MSVC shared builds\n\nState is BENCHMARK_EXPORT, so a program linking the shared library sees\nit as __declspec(dllimport). MSVC does not expand these two inline\nwrappers at the call site; it calls the copies exported from\nbenchmark.dll instead, and those were compiled with the library\u0027s\nNDEBUG. In Release/shared the assertion is therefore gone, which is why\ndiagnostics_gtest failed to die on exactly the two windows *.Release.shared\njobs while static and Debug builds passed. (A Debug DLL keeps its\nasserts, so the same call into the DLL still fires there.)\n\nAn inline dllimport member without the assert is expanded normally; it\nis the body with assert() that MSVC declines to inline. Marking the\nwrappers BENCHMARK_ALWAYS_INLINE (__forceinline on MSVC), as begin() and\nend() already are, puts the check back in the caller\u0027s translation unit.\n\nChecked on MSVC 19.40 and 19.latest x64: at /O2 and /O2 /Ob1 the caller\nnow contains the _wassert call and a tail call to PauseTimingImpl(); with\nNDEBUG only the tail call remains. No C4714 at /W4 /WX.\n\n* Move the PauseTiming()/ResumeTiming() tests into benchmark_gtest\n\nAs asked in review, the tests now live in the existing benchmark_gtest.cc\ninstead of a new diagnostics_gtest.cc. Only the suite names changed.\n\n* Drop issue reference from timing test comment\n\n* Reword the PauseTiming()/ResumeTiming() docs note\n\nUse the wording suggested in review: state the precondition for each\ncall directly rather than describing the failure mode, and note that\ninvalid calls are diagnosed when user code is built without NDEBUG.\n\n---------\n\nCo-authored-by: Roman Lebedev \u003clebedev.ri@gmail.com\u003e\nCo-authored-by: dominic \u003c510002+dmah42@users.noreply.github.com\u003e"
    },
    {
      "commit": "82a89508915e7607e10675ee5a4dacd8fc72c649",
      "tree": "de11e164b7dcd9b28967aebda5413220997e8335",
      "parents": [
        "8fc5bdcb1051e84c2c86eae35428e32cf742fbc0"
      ],
      "author": {
        "name": "Tejas Anil Nagmote",
        "email": "tejasnagmote520@gmail.com",
        "time": "Tue Sep 15 15:50:45 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Sep 15 15:50:45 2026"
      },
      "message": "Always enable thread safety attributes for clang (#2263) (#2275)\n\nMinimal supported clang version already fully supported these, so let\u0027s just always enable these."
    },
    {
      "commit": "8fc5bdcb1051e84c2c86eae35428e32cf742fbc0",
      "tree": "0a9836aa1c2d8fb8ce972e09231f6e1c873430c6",
      "parents": [
        "a5305e78fbb9fbf226b6b32857281e4783a68352"
      ],
      "author": {
        "name": "dependabot[bot]",
        "email": "49699333+dependabot[bot]@users.noreply.github.com",
        "time": "Tue Sep 15 08:17:59 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Sep 15 08:17:59 2026"
      },
      "message": "Bump astral-sh/setup-uv from 10.0.1 to 10.1.0 (#2301)\n\nBumps [astral-sh/setup-uv](https://github.com/astral-sh/setup-uv) from 10.0.1 to 10.1.0.\n- [Release notes](https://github.com/astral-sh/setup-uv/releases)\n- [Commits](https://github.com/astral-sh/setup-uv/compare/20cfd1bf945f4377ade1205e4dbc17946fc9a30d...bec219d24cd3e171d82865faccec33120bb574f4)\n\n---\nupdated-dependencies:\n- dependency-name: astral-sh/setup-uv\n  dependency-version: 10.1.0\n  dependency-type: direct:production\n  update-type: version-update:semver-minor\n...\n\nSigned-off-by: dependabot[bot] \u003csupport@github.com\u003e\nCo-authored-by: dependabot[bot] \u003c49699333+dependabot[bot]@users.noreply.github.com\u003e"
    },
    {
      "commit": "a5305e78fbb9fbf226b6b32857281e4783a68352",
      "tree": "99b6c8f692b17de821159142ea4c85b963062333",
      "parents": [
        "f4f4d67333206ff216453db43e64c92d836a9991"
      ],
      "author": {
        "name": "Tejas Anil Nagmote",
        "email": "tejasnagmote520@gmail.com",
        "time": "Mon Sep 14 12:54:46 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Sep 14 12:54:46 2026"
      },
      "message": "Replace the offsetof cache-line check with a runtime check (#1877) (#2264)\n\nState is not a standard-layout type, so offsetof(State, skipped_) is only\nconditionally-supported. Compilers diagnose it, and the static_assert was\nkept quiet by a stack of vendor pragmas for GCC, clang, ICC, NVCC and NVHPC.\nThat stack does not cover every compiler: #1877 is clang-18/19 on Windows\nreporting it anyway.\n\nMeasure the offset on the object being constructed instead. That is well\ndefined, needs no pragmas, and expresses the same invariant.\n\nThe check uses a new BM_CHECK_ALWAYS, which is BM_CHECK without the NDEBUG\nopt-out, so it still holds in a release build. A State is constructed once\nper benchmark instance and thread, never inside the iteration loop.\n\nVerified: with the bound lowered to 8 bytes, a release build fails at run\ntime with\n\n  src/benchmark.cc:231: State: Check `... \u003c\u003d 8 - ...\u0027 failed.\n  the commonly accessed members of State must fit in the first cache line\n\nand src/benchmark.cc compiles clean under -Winvalid-offsetof -Wall -Wextra\n-Werror with both gcc 15 and clang 20.\n\nCo-authored-by: dominic \u003c510002+dmah42@users.noreply.github.com\u003e"
    },
    {
      "commit": "f4f4d67333206ff216453db43e64c92d836a9991",
      "tree": "c84fd99f930430b4859b9c551ece0323d8b19f85",
      "parents": [
        "3a9fcf3338f6122f2eeb31f0aaa75c916724ead3"
      ],
      "author": {
        "name": "Jeff Lenamon",
        "email": "85593689+lenamonj@users.noreply.github.com",
        "time": "Mon Sep 14 10:28:04 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Sep 14 10:28:04 2026"
      },
      "message": "Report the complexity aggregates in the family\u0027s time unit (#2294)\n\n* Report the complexity aggregates in the family\u0027s time unit\n\nComputeBigO left big_o.time_unit at the Run() default, so the BigO row was rendered in nanoseconds whatever unit the family declared; CSVReporter rendered the RMS row from the raw, pre-divided field, so it was smaller by the unit multiplier. Both now go through the family unit and the GetAdjusted*Time() accessors, with a millisecond family in complexity_test.cc that fails on main for both.\n\n* complexity test: pass the unit and CSV pattern explicitly, drop a comment\n\n* Drop the CSV reporter change\n\nThe CSV reporter is deprecated, so its RMS row is left as it is and the\ntest keeps the pattern it had.\n\n* complexity test: check the magnitude of the millisecond BigO coefficient\n\nUntil now, scaling the JSON BigO coefficients by 1000 left every test\npassing. Under manual time the millisecond family\u0027s real coefficient is\nabout 1.0004e-03, so its BigO row now has to match 1\\.[0-9]+e-03, and\nthat scaling fails it. The skew comment is corrected: of the family\u0027s\nsizes, 1024 to 65536, only 2048 has bit 11 set.\n\n---------\n\nCo-authored-by: Roman Lebedev \u003clebedev.ri@gmail.com\u003e"
    },
    {
      "commit": "3a9fcf3338f6122f2eeb31f0aaa75c916724ead3",
      "tree": "c03059bcec3852bbc9ecec9d45fda879b7757e5b",
      "parents": [
        "f15d0478e1c24f905df143d0939adeef4cdd146e"
      ],
      "author": {
        "name": "jdymitarai",
        "email": "100186003+jdymitarai@users.noreply.github.com",
        "time": "Sat Sep 12 03:12:51 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sat Sep 12 03:12:51 2026"
      },
      "message": "Py tooling: fix Windows terminal color output and handle color flags in compare.py (fixes #642) (#2297)\n\nInstead of always defaulting to colored output, do so only if the terminal supports them.\nAlso, for windows, explicitly enable colors in terminal.\n\n*Disclosure: AI assistance (LLM) was used in formulating this patch and tests.*\n\n---------\n\nCo-authored-by: dominic \u003c510002+dmah42@users.noreply.github.com\u003e"
    },
    {
      "commit": "f15d0478e1c24f905df143d0939adeef4cdd146e",
      "tree": "4ce412ae14372e4f9d9ce6fcc85b640554e8ec6c",
      "parents": [
        "4929083ad77f1fb7b989eec10c2562a6381de493"
      ],
      "author": {
        "name": "dependabot[bot]",
        "email": "49699333+dependabot[bot]@users.noreply.github.com",
        "time": "Thu Sep 10 08:35:08 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Sep 10 08:35:08 2026"
      },
      "message": "Bump numpy from 2.5.2 to 2.5.3 in /tools (#2296)\n\nBumps [numpy](https://github.com/numpy/numpy) from 2.5.2 to 2.5.3.\n- [Release notes](https://github.com/numpy/numpy/releases)\n- [Changelog](https://github.com/numpy/numpy/blob/main/doc/RELEASE_WALKTHROUGH.rst)\n- [Commits](https://github.com/numpy/numpy/compare/v2.5.2...v2.5.3)\n\n---\nupdated-dependencies:\n- dependency-name: numpy\n  dependency-version: 2.5.3\n  dependency-type: direct:production\n  update-type: version-update:semver-patch\n...\n\nSigned-off-by: dependabot[bot] \u003csupport@github.com\u003e\nCo-authored-by: dependabot[bot] \u003c49699333+dependabot[bot]@users.noreply.github.com\u003e"
    },
    {
      "commit": "4929083ad77f1fb7b989eec10c2562a6381de493",
      "tree": "760a176e8d560b331dda03e393f59a450054886d",
      "parents": [
        "04b5f41ec7e3b68b28a2379bc19804a48953117d"
      ],
      "author": {
        "name": "dependabot[bot]",
        "email": "49699333+dependabot[bot]@users.noreply.github.com",
        "time": "Wed Sep 09 11:14:38 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Sep 09 11:14:38 2026"
      },
      "message": "Bump pypa/cibuildwheel from 4.2.0 to 4.2.1 (#2295)\n\nBumps [pypa/cibuildwheel](https://github.com/pypa/cibuildwheel) from 4.2.0 to 4.2.1.\n- [Release notes](https://github.com/pypa/cibuildwheel/releases)\n- [Changelog](https://github.com/pypa/cibuildwheel/blob/main/docs/changelog.md)\n- [Commits](https://github.com/pypa/cibuildwheel/compare/1828c10ab37f080699c7b81cea34097c684a7074...e090b81e30c4d855ea63bf4b6e59204c09a101ae)\n\n---\nupdated-dependencies:\n- dependency-name: pypa/cibuildwheel\n  dependency-version: 4.2.1\n  dependency-type: direct:production\n  update-type: version-update:semver-patch\n...\n\nSigned-off-by: dependabot[bot] \u003csupport@github.com\u003e\nCo-authored-by: dependabot[bot] \u003c49699333+dependabot[bot]@users.noreply.github.com\u003e"
    },
    {
      "commit": "04b5f41ec7e3b68b28a2379bc19804a48953117d",
      "tree": "d3768bf0046539b6071385017c9e1ea56b605105",
      "parents": [
        "86d693ba70a371a7b5771fdff93314903095d8a0"
      ],
      "author": {
        "name": "Robert Adam",
        "email": "dev@robert-adam.de",
        "time": "Fri Aug 28 00:18:00 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Aug 28 00:18:00 2026"
      },
      "message": "Py tooling: ignore skipped/error benchmarks (#2290)\n\n* Ignore skipped benchmark when computing geomean\n\nSkipped benchmarks have their real and CPU times set to zero. If they are part of the data for which the geomean is calculated, these zeros cause the computed geomean to be zero. Hence, a single skipped benchmark will effectively disable the computation of a geomean.\r\n\r\nThis seems unfortunate as in many cases there are lots of other benchmarks that still ran normally and for which one might still be interested in the overall geomean change.\n\n* Use \u0027skipped\u0027 attribute instead of \u0027skip_message\u0027\n\n* Remove skipped benchmarks from partitions\n\n* Add skipped benchmark to test data\n\n* Also skip/ignore benchmarks with errors\n\n* Pacify python pre-commit check\n\n---------\n\nCo-authored-by: Roman Lebedev \u003clebedev.ri@gmail.com\u003e"
    },
    {
      "commit": "86d693ba70a371a7b5771fdff93314903095d8a0",
      "tree": "de062fd7b667e8e4cbd40c9027d01a3a1bfb8187",
      "parents": [
        "26ede28e47b398760d15d7aa2c7492c7c1abd3ce"
      ],
      "author": {
        "name": "Charles Munger",
        "email": "charleslmunger@gmail.com",
        "time": "Thu Aug 27 23:14:03 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Aug 27 23:14:03 2026"
      },
      "message": "Fix tsan/asan/hwasan/etc failures on Android (#2229)\n\nSome people run their benchmarks with sanitizers, and they should not spuriously fail. Asan and other sanitizer allocators return 0 for all mallopt calls, so the previous code was causing teh BM_CHECK to trigger."
    },
    {
      "commit": "26ede28e47b398760d15d7aa2c7492c7c1abd3ce",
      "tree": "d44efb512714ffb824f32829bf2678a396f7d90d",
      "parents": [
        "b5a88a2f9315d19c4f0509606c2940207dbaabc2"
      ],
      "author": {
        "name": "dependabot[bot]",
        "email": "49699333+dependabot[bot]@users.noreply.github.com",
        "time": "Wed Aug 26 08:23:49 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Aug 26 08:23:49 2026"
      },
      "message": "Bump numpy from 2.5.1 to 2.5.2 in /tools (#2288)\n\nBumps [numpy](https://github.com/numpy/numpy) from 2.5.1 to 2.5.2.\n- [Release notes](https://github.com/numpy/numpy/releases)\n- [Changelog](https://github.com/numpy/numpy/blob/main/doc/RELEASE_WALKTHROUGH.rst)\n- [Commits](https://github.com/numpy/numpy/compare/v2.5.1...v2.5.2)\n\n---\nupdated-dependencies:\n- dependency-name: numpy\n  dependency-version: 2.5.2\n  dependency-type: direct:production\n  update-type: version-update:semver-patch\n...\n\nSigned-off-by: dependabot[bot] \u003csupport@github.com\u003e\nCo-authored-by: dependabot[bot] \u003c49699333+dependabot[bot]@users.noreply.github.com\u003e"
    },
    {
      "commit": "b5a88a2f9315d19c4f0509606c2940207dbaabc2",
      "tree": "ddaf882ed13a498d3b913d9ce56a35562c2cd701",
      "parents": [
        "267a11154f14269384879dc7f6b8d25acb3684db"
      ],
      "author": {
        "name": "dependabot[bot]",
        "email": "49699333+dependabot[bot]@users.noreply.github.com",
        "time": "Wed Aug 26 08:06:43 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Aug 26 08:06:43 2026"
      },
      "message": "Bump scipy from 1.18.0 to 1.18.1 in /tools (#2292)\n\nBumps [scipy](https://github.com/scipy/scipy) from 1.18.0 to 1.18.1.\n- [Release notes](https://github.com/scipy/scipy/releases)\n- [Commits](https://github.com/scipy/scipy/compare/v1.18.0...v1.18.1)\n\n---\nupdated-dependencies:\n- dependency-name: scipy\n  dependency-version: 1.18.1\n  dependency-type: direct:production\n  update-type: version-update:semver-patch\n...\n\nSigned-off-by: dependabot[bot] \u003csupport@github.com\u003e\nCo-authored-by: dependabot[bot] \u003c49699333+dependabot[bot]@users.noreply.github.com\u003e"
    },
    {
      "commit": "267a11154f14269384879dc7f6b8d25acb3684db",
      "tree": "7f27b1af819c269b87c99837751b2aaeb792874d",
      "parents": [
        "3a0d9e02550058aa6c578e9fe20a311e641ba31f"
      ],
      "author": {
        "name": "dependabot[bot]",
        "email": "49699333+dependabot[bot]@users.noreply.github.com",
        "time": "Tue Aug 18 07:19:18 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Aug 18 07:19:18 2026"
      },
      "message": "Bump astral-sh/setup-uv from 9.0.0 to 10.0.1 (#2289)\n\nBumps [astral-sh/setup-uv](https://github.com/astral-sh/setup-uv) from 9.0.0 to 10.0.1.\n- [Release notes](https://github.com/astral-sh/setup-uv/releases)\n- [Commits](https://github.com/astral-sh/setup-uv/compare/c771a70e6277c0a99b617c7a806ffedaca235ff9...20cfd1bf945f4377ade1205e4dbc17946fc9a30d)\n\n---\nupdated-dependencies:\n- dependency-name: astral-sh/setup-uv\n  dependency-version: 10.0.1\n  dependency-type: direct:production\n  update-type: version-update:semver-major\n...\n\nSigned-off-by: dependabot[bot] \u003csupport@github.com\u003e\nCo-authored-by: dependabot[bot] \u003c49699333+dependabot[bot]@users.noreply.github.com\u003e"
    },
    {
      "commit": "3a0d9e02550058aa6c578e9fe20a311e641ba31f",
      "tree": "0c28b96308413a4042cec1901aee5c28b9d40bb8",
      "parents": [
        "e3f7ba70253d2f52fbc41ff17ac6dc1014241ef8"
      ],
      "author": {
        "name": "Stanley C",
        "email": "19547104+stanbot8@users.noreply.github.com",
        "time": "Wed Aug 12 10:02:01 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Aug 12 10:02:01 2026"
      },
      "message": "Update Bazel tooling for Python bindings (#2287)"
    },
    {
      "commit": "e3f7ba70253d2f52fbc41ff17ac6dc1014241ef8",
      "tree": "f0508b62b76065d5ef0c1ff026c9b47c1a5da964",
      "parents": [
        "1f5b0b08252c57c6fb4b7a7680a54591f3ec4f2b"
      ],
      "author": {
        "name": "dependabot[bot]",
        "email": "49699333+dependabot[bot]@users.noreply.github.com",
        "time": "Fri Aug 07 09:49:25 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Aug 07 09:49:25 2026"
      },
      "message": "Bump pypa/cibuildwheel from 4.1.1 to 4.2.0 (#2284)\n\nBumps [pypa/cibuildwheel](https://github.com/pypa/cibuildwheel) from 4.1.1 to 4.2.0.\n- [Release notes](https://github.com/pypa/cibuildwheel/releases)\n- [Changelog](https://github.com/pypa/cibuildwheel/blob/main/docs/changelog.md)\n- [Commits](https://github.com/pypa/cibuildwheel/compare/4726cd35bb13f7bde50cf2761f2499ac7b3aa32c...1828c10ab37f080699c7b81cea34097c684a7074)\n\n---\nupdated-dependencies:\n- dependency-name: pypa/cibuildwheel\n  dependency-version: 4.2.0\n  dependency-type: direct:production\n  update-type: version-update:semver-minor\n...\n\nSigned-off-by: dependabot[bot] \u003csupport@github.com\u003e\nCo-authored-by: dependabot[bot] \u003c49699333+dependabot[bot]@users.noreply.github.com\u003e\nCo-authored-by: dominic \u003c510002+dmah42@users.noreply.github.com\u003e"
    },
    {
      "commit": "1f5b0b08252c57c6fb4b7a7680a54591f3ec4f2b",
      "tree": "d5dfb1a1842e3c0410969e1ba6c4fe5cc5ed406a",
      "parents": [
        "45fca051328b6709985ba015217e0925ecc9297c"
      ],
      "author": {
        "name": "Vy Nguyen",
        "email": "1762963+oontvoo@users.noreply.github.com",
        "time": "Fri Aug 07 02:10:07 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Aug 07 02:10:07 2026"
      },
      "message": "Make random number generator thread-local in perf_counters_gtest. (#2283)\n\nChange the static std::mt19937 and std::uniform_int_distribution to thread_local in the do_work helper function to prevent data races when the benchmark is run with multiple threads.\r\n\r\nResolves ubsan/test failure"
    },
    {
      "commit": "45fca051328b6709985ba015217e0925ecc9297c",
      "tree": "b0cde0a6752633f0460c29e463ac7eea1485a1f5",
      "parents": [
        "977dfc2e3d90074956355aa2bde009ab4796145c"
      ],
      "author": {
        "name": "dependabot[bot]",
        "email": "49699333+dependabot[bot]@users.noreply.github.com",
        "time": "Wed Aug 05 08:14:16 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Aug 05 08:14:16 2026"
      },
      "message": "Bump lukka/get-cmake from 4.4.1 to 4.4.2 (#2281)\n\nBumps [lukka/get-cmake](https://github.com/lukka/get-cmake) from 4.4.1 to 4.4.2.\n- [Release notes](https://github.com/lukka/get-cmake/releases)\n- [Changelog](https://github.com/lukka/get-cmake/blob/main/RELEASE_PROCESS.md)\n- [Commits](https://github.com/lukka/get-cmake/compare/4a7d025fc60f00db0c7b44ebf783d19b52444830...fffaaafeea488556c2c12dad60690008bc1caacb)\n\n---\nupdated-dependencies:\n- dependency-name: lukka/get-cmake\n  dependency-version: 4.4.2\n  dependency-type: direct:production\n  update-type: version-update:semver-patch\n...\n\nSigned-off-by: dependabot[bot] \u003csupport@github.com\u003e\nCo-authored-by: dependabot[bot] \u003c49699333+dependabot[bot]@users.noreply.github.com\u003e"
    },
    {
      "commit": "977dfc2e3d90074956355aa2bde009ab4796145c",
      "tree": "8c9f97a00e079f09a0ac768d7c2b9de0296655c9",
      "parents": [
        "bb682b4d7f6cf8bf9b01d26ea5498b9cc5115c3b"
      ],
      "author": {
        "name": "Tejas Anil Nagmote",
        "email": "tejasnagmote520@gmail.com",
        "time": "Mon Aug 03 13:27:00 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Aug 03 13:27:00 2026"
      },
      "message": "Exclude setup/teardown from the MemoryManager measurement window (#2149) (#2276)\n\nRunMemoryManager() opened the MemoryManager window before allocating the\nThreadManager and running the per-benchmark Setup(), and closed it after\nTeardown(). Everything the library and the fixture allocate around the\nbenchmark was therefore attributed to the benchmark itself, so an exact\nallocation count was impossible to obtain.\n\nMove Start()/Stop() to bracket only RunInThread(), which is the same region\nthe timers cover. Setup()/Teardown() already run outside the timed region, so\nthis makes the memory window consistent with the time window.\n\nAdd memory_manager_ordering_gtest, which registers a MemoryManager that\nrecords whether the window is open and asserts the fixture callbacks never\nobserve it as open. It fails on the previous ordering (\"Teardown ran inside\nthe MemoryManager Start/Stop window\") and passes with this change."
    },
    {
      "commit": "bb682b4d7f6cf8bf9b01d26ea5498b9cc5115c3b",
      "tree": "fffd280274440170f0cf06a385c045fcbaf0616c",
      "parents": [
        "3e57f2b957b4f04df02fd935b51975c73e57696f"
      ],
      "author": {
        "name": "Tejas Anil Nagmote",
        "email": "tejasnagmote520@gmail.com",
        "time": "Mon Aug 03 09:27:41 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Aug 03 09:27:41 2026"
      },
      "message": "Fix use-after-free in CreateDefaultDisplayReporter (#2240) (#2265)\n\nCreateDefaultDisplayReporter() transfers ownership of the returned\nreporter to the caller, but cached that owning pointer in a\nfunction-local static. After the first RunSpecifiedBenchmarks() call\ndestroyed the reporter, a subsequent call returned the same, now\ndangling pointer, causing a heap-use-after-free in\nBenchmarkReporter::GetOutputStream().\n\nReturn std::unique_ptr\u003cBenchmarkReporter\u003e so the ownership transfer is\nexpressed in the type, and drop the static so every call returns a\nfresh reporter."
    },
    {
      "commit": "3e57f2b957b4f04df02fd935b51975c73e57696f",
      "tree": "033a08a5d6c58e060b7a1393edaf0dcf96b6cd0a",
      "parents": [
        "9d998738ebad70ee01fa0180eb202cf8f08585cb"
      ],
      "author": {
        "name": "dependabot[bot]",
        "email": "49699333+dependabot[bot]@users.noreply.github.com",
        "time": "Thu Jul 30 10:13:21 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Jul 30 10:13:21 2026"
      },
      "message": "Bump pypa/cibuildwheel from 4.1.0 to 4.1.1 (#2269)\n\nBumps [pypa/cibuildwheel](https://github.com/pypa/cibuildwheel) from 4.1.0 to 4.1.1.\n- [Release notes](https://github.com/pypa/cibuildwheel/releases)\n- [Changelog](https://github.com/pypa/cibuildwheel/blob/main/docs/changelog.md)\n- [Commits](https://github.com/pypa/cibuildwheel/compare/294735312765b09d24a2fbec22660ce817587d55...4726cd35bb13f7bde50cf2761f2499ac7b3aa32c)\n\n---\nupdated-dependencies:\n- dependency-name: pypa/cibuildwheel\n  dependency-version: 4.1.1\n  dependency-type: direct:production\n  update-type: version-update:semver-patch\n...\n\nSigned-off-by: dependabot[bot] \u003csupport@github.com\u003e\nCo-authored-by: dependabot[bot] \u003c49699333+dependabot[bot]@users.noreply.github.com\u003e\nCo-authored-by: dominic \u003c510002+dmah42@users.noreply.github.com\u003e"
    },
    {
      "commit": "9d998738ebad70ee01fa0180eb202cf8f08585cb",
      "tree": "dfe5bd15b34db10091fa3e294881672ec79f60f7",
      "parents": [
        "d46e8f4e030c52f55e2ca3abed4b44d033999d60"
      ],
      "author": {
        "name": "dependabot[bot]",
        "email": "49699333+dependabot[bot]@users.noreply.github.com",
        "time": "Thu Jul 30 09:33:08 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Jul 30 09:33:08 2026"
      },
      "message": "Bump ossf/scorecard-action from 2.4.3 to 2.4.4 (#2270)\n\nBumps [ossf/scorecard-action](https://github.com/ossf/scorecard-action) from 2.4.3 to 2.4.4.\n- [Release notes](https://github.com/ossf/scorecard-action/releases)\n- [Changelog](https://github.com/ossf/scorecard-action/blob/main/RELEASE.md)\n- [Commits](https://github.com/ossf/scorecard-action/compare/4eaacf0543bb3f2c246792bd56e8cdeffafb205a...2d1146689b8cda280b9bc96326124645441f03bc)\n\n---\nupdated-dependencies:\n- dependency-name: ossf/scorecard-action\n  dependency-version: 2.4.4\n  dependency-type: direct:production\n  update-type: version-update:semver-patch\n...\n\nSigned-off-by: dependabot[bot] \u003csupport@github.com\u003e\nCo-authored-by: dependabot[bot] \u003c49699333+dependabot[bot]@users.noreply.github.com\u003e\nCo-authored-by: dominic \u003c510002+dmah42@users.noreply.github.com\u003e"
    },
    {
      "commit": "d46e8f4e030c52f55e2ca3abed4b44d033999d60",
      "tree": "c12a8a3acfcf434692c0d26ead8e78a0026611eb",
      "parents": [
        "f68fb8f2ef1b9cbabe82ecc50e8a157bbd10060a"
      ],
      "author": {
        "name": "dependabot[bot]",
        "email": "49699333+dependabot[bot]@users.noreply.github.com",
        "time": "Thu Jul 30 09:20:48 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Jul 30 09:20:48 2026"
      },
      "message": "Bump lukka/get-cmake from 4.4.0 to 4.4.1 (#2271)\n\nBumps [lukka/get-cmake](https://github.com/lukka/get-cmake) from 4.4.0 to 4.4.1.\n- [Release notes](https://github.com/lukka/get-cmake/releases)\n- [Changelog](https://github.com/lukka/get-cmake/blob/main/RELEASE_PROCESS.md)\n- [Commits](https://github.com/lukka/get-cmake/compare/e6906078ebd1ccb8ce51ab4626ac46a1b5a517e3...4a7d025fc60f00db0c7b44ebf783d19b52444830)\n\n---\nupdated-dependencies:\n- dependency-name: lukka/get-cmake\n  dependency-version: 4.4.1\n  dependency-type: direct:production\n  update-type: version-update:semver-patch\n...\n\nSigned-off-by: dependabot[bot] \u003csupport@github.com\u003e\nCo-authored-by: dependabot[bot] \u003c49699333+dependabot[bot]@users.noreply.github.com\u003e\nCo-authored-by: dominic \u003c510002+dmah42@users.noreply.github.com\u003e"
    },
    {
      "commit": "f68fb8f2ef1b9cbabe82ecc50e8a157bbd10060a",
      "tree": "a18e5c2ea8e4673b3351ddd02032366c947ecf48",
      "parents": [
        "194098fdfc109ece3fd2a4bc3d1181244cbc1b89"
      ],
      "author": {
        "name": "dependabot[bot]",
        "email": "49699333+dependabot[bot]@users.noreply.github.com",
        "time": "Thu Jul 30 09:13:45 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Jul 30 09:13:45 2026"
      },
      "message": "Bump pypa/gh-action-pypi-publish from 1.14.1 to 1.14.2 (#2272)\n\nBumps [pypa/gh-action-pypi-publish](https://github.com/pypa/gh-action-pypi-publish) from 1.14.1 to 1.14.2.\n- [Release notes](https://github.com/pypa/gh-action-pypi-publish/releases)\n- [Commits](https://github.com/pypa/gh-action-pypi-publish/compare/ba38be9e461d3875417946c167d0b5f3d385a247...dc37677b2e1c63e2034f94d8a5b11f265b73ba33)\n\n---\nupdated-dependencies:\n- dependency-name: pypa/gh-action-pypi-publish\n  dependency-version: 1.14.2\n  dependency-type: direct:production\n  update-type: version-update:semver-patch\n...\n\nSigned-off-by: dependabot[bot] \u003csupport@github.com\u003e\nCo-authored-by: dependabot[bot] \u003c49699333+dependabot[bot]@users.noreply.github.com\u003e"
    },
    {
      "commit": "194098fdfc109ece3fd2a4bc3d1181244cbc1b89",
      "tree": "59479b860fccbb377d0add41f31808dee9b5260a",
      "parents": [
        "b25d33248549b967b4196e12ee2c91dd7e1e2ff3"
      ],
      "author": {
        "name": "dependabot[bot]",
        "email": "49699333+dependabot[bot]@users.noreply.github.com",
        "time": "Wed Jul 29 09:16:57 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Jul 29 09:16:57 2026"
      },
      "message": "Bump astral-sh/setup-uv from 8.3.2 to 9.0.0 (#2261)\n\nBumps [astral-sh/setup-uv](https://github.com/astral-sh/setup-uv) from 8.3.2 to 9.0.0.\n- [Release notes](https://github.com/astral-sh/setup-uv/releases)\n- [Commits](https://github.com/astral-sh/setup-uv/compare/11f9893b081a58869d3b5fccaea48c9e9e46f990...c771a70e6277c0a99b617c7a806ffedaca235ff9)\n\n---\nupdated-dependencies:\n- dependency-name: astral-sh/setup-uv\n  dependency-version: 9.0.0\n  dependency-type: direct:production\n  update-type: version-update:semver-major\n...\n\nSigned-off-by: dependabot[bot] \u003csupport@github.com\u003e\nCo-authored-by: dependabot[bot] \u003c49699333+dependabot[bot]@users.noreply.github.com\u003e\nCo-authored-by: dominic \u003c510002+dmah42@users.noreply.github.com\u003e"
    },
    {
      "commit": "b25d33248549b967b4196e12ee2c91dd7e1e2ff3",
      "tree": "eb908398ca70bed734039ee92bbf8ea51fcbf6e7",
      "parents": [
        "9cd398dace6fe40e21cc4d1db0dd9b25962a0ebe"
      ],
      "author": {
        "name": "dependabot[bot]",
        "email": "49699333+dependabot[bot]@users.noreply.github.com",
        "time": "Tue Jul 28 17:13:53 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Jul 28 17:13:53 2026"
      },
      "message": "Bump pypa/gh-action-pypi-publish from 1.14.0 to 1.14.1 (#2260)\n\nBumps [pypa/gh-action-pypi-publish](https://github.com/pypa/gh-action-pypi-publish) from 1.14.0 to 1.14.1.\n- [Release notes](https://github.com/pypa/gh-action-pypi-publish/releases)\n- [Commits](https://github.com/pypa/gh-action-pypi-publish/compare/cef221092ed1bacb1cc03d23a2d87d1d172e277b...ba38be9e461d3875417946c167d0b5f3d385a247)\n\n---\nupdated-dependencies:\n- dependency-name: pypa/gh-action-pypi-publish\n  dependency-version: 1.14.1\n  dependency-type: direct:production\n  update-type: version-update:semver-patch\n...\n\nSigned-off-by: dependabot[bot] \u003csupport@github.com\u003e\nCo-authored-by: dependabot[bot] \u003c49699333+dependabot[bot]@users.noreply.github.com\u003e\nCo-authored-by: dominic \u003c510002+dmah42@users.noreply.github.com\u003e"
    },
    {
      "commit": "9cd398dace6fe40e21cc4d1db0dd9b25962a0ebe",
      "tree": "8af544b495cefb9d4c04ebfd415611a60ce6e677",
      "parents": [
        "76912fe6fbb9219ca8b8e56fa6c100a3afc3c660"
      ],
      "author": {
        "name": "dependabot[bot]",
        "email": "49699333+dependabot[bot]@users.noreply.github.com",
        "time": "Tue Jul 28 17:00:16 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Jul 28 17:00:16 2026"
      },
      "message": "Bump actions/checkout from 7.0.0 to 7.0.1 (#2259)\n\nBumps [actions/checkout](https://github.com/actions/checkout) from 7.0.0 to 7.0.1.\n- [Release notes](https://github.com/actions/checkout/releases)\n- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)\n- [Commits](https://github.com/actions/checkout/compare/9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0...3d3c42e5aac5ba805825da76410c181273ba90b1)\n\n---\nupdated-dependencies:\n- dependency-name: actions/checkout\n  dependency-version: 7.0.1\n  dependency-type: direct:production\n  update-type: version-update:semver-patch\n...\n\nSigned-off-by: dependabot[bot] \u003csupport@github.com\u003e\nCo-authored-by: dependabot[bot] \u003c49699333+dependabot[bot]@users.noreply.github.com\u003e\nCo-authored-by: dominic \u003c510002+dmah42@users.noreply.github.com\u003e"
    },
    {
      "commit": "76912fe6fbb9219ca8b8e56fa6c100a3afc3c660",
      "tree": "9983f48f7ac9bdc41a8f33f8c25bcb708ea81715",
      "parents": [
        "fd4cc2ba8b58fe5db397202557c3ec41ffb3e410"
      ],
      "author": {
        "name": "dependabot[bot]",
        "email": "49699333+dependabot[bot]@users.noreply.github.com",
        "time": "Tue Jul 28 16:52:28 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Jul 28 16:52:28 2026"
      },
      "message": "Bump actions/setup-python from 6.3.0 to 7.0.0 (#2258)\n\nBumps [actions/setup-python](https://github.com/actions/setup-python) from 6.3.0 to 7.0.0.\n- [Release notes](https://github.com/actions/setup-python/releases)\n- [Commits](https://github.com/actions/setup-python/compare/ece7cb06caefa5fff74198d8649806c4678c61a1...5fda3b95a4ea91299a34e894583c3862153e4b97)\n\n---\nupdated-dependencies:\n- dependency-name: actions/setup-python\n  dependency-version: 7.0.0\n  dependency-type: direct:production\n  update-type: version-update:semver-major\n...\n\nSigned-off-by: dependabot[bot] \u003csupport@github.com\u003e\nCo-authored-by: dependabot[bot] \u003c49699333+dependabot[bot]@users.noreply.github.com\u003e\nCo-authored-by: dominic \u003c510002+dmah42@users.noreply.github.com\u003e"
    },
    {
      "commit": "fd4cc2ba8b58fe5db397202557c3ec41ffb3e410",
      "tree": "3f453d524918e93fe6c44b68fb3b73706ea16c5b",
      "parents": [
        "6f09473ddf0fa1f43ab0f0109b272a7c37d32838"
      ],
      "author": {
        "name": "Dominic Hamon",
        "email": "dominic+github@google.com",
        "time": "Tue Jul 28 16:45:24 2026"
      },
      "committer": {
        "name": "Dominic Hamon",
        "email": "dominic+github@google.com",
        "time": "Tue Jul 28 16:45:44 2026"
      },
      "message": "pin action to commit hash\n"
    },
    {
      "commit": "6f09473ddf0fa1f43ab0f0109b272a7c37d32838",
      "tree": "df62b91253d305851521ddbf2e8a52acd8c58034",
      "parents": [
        "e6242692e6a1fa4d0ba9b6b00b9efd59db41069c"
      ],
      "author": {
        "name": "dependabot[bot]",
        "email": "49699333+dependabot[bot]@users.noreply.github.com",
        "time": "Tue Jul 28 16:32:02 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Jul 28 16:32:02 2026"
      },
      "message": "Bump lukka/get-cmake from 4.3.4 to 4.4.0 (#2255)\n\nBumps [lukka/get-cmake](https://github.com/lukka/get-cmake) from 4.3.4 to 4.4.0.\n- [Release notes](https://github.com/lukka/get-cmake/releases)\n- [Changelog](https://github.com/lukka/get-cmake/blob/main/RELEASE_PROCESS.md)\n- [Commits](https://github.com/lukka/get-cmake/compare/f5b8fbb4d77cec1acc5a5f9f0df4beffaf5d98d9...e6906078ebd1ccb8ce51ab4626ac46a1b5a517e3)\n\n---\nupdated-dependencies:\n- dependency-name: lukka/get-cmake\n  dependency-version: 4.4.0\n  dependency-type: direct:production\n  update-type: version-update:semver-minor\n...\n\nSigned-off-by: dependabot[bot] \u003csupport@github.com\u003e\nCo-authored-by: dependabot[bot] \u003c49699333+dependabot[bot]@users.noreply.github.com\u003e\nCo-authored-by: dominic \u003c510002+dmah42@users.noreply.github.com\u003e"
    },
    {
      "commit": "e6242692e6a1fa4d0ba9b6b00b9efd59db41069c",
      "tree": "df6503114c9bb02c8378145c9e13ffe810e80597",
      "parents": [
        "2b0bff7444a8df460daab2e5af18bce45ca00657"
      ],
      "author": {
        "name": "Dominic Hamon",
        "email": "dominic+github@google.com",
        "time": "Tue Jul 28 16:05:16 2026"
      },
      "committer": {
        "name": "Dominic Hamon",
        "email": "dominic+github@google.com",
        "time": "Tue Jul 28 16:05:16 2026"
      },
      "message": "zizmor should be happy now\n"
    },
    {
      "commit": "2b0bff7444a8df460daab2e5af18bce45ca00657",
      "tree": "1d5a46413bf7cc035cbd068ae98e75c742d911f0",
      "parents": [
        "ff954e9ab87c8164c2b45d061281c0efbe22193d"
      ],
      "author": {
        "name": "aokblast",
        "email": "aokblast@FreeBSD.org",
        "time": "Sat Jul 25 17:40:19 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sat Jul 25 17:40:19 2026"
      },
      "message": "Fix compile error with clang -Werror -Wunused-template (#2268)\n\nThis sysctl override is only used on some OS\u0027es\nso it causes compile error with latest LLVM."
    },
    {
      "commit": "ff954e9ab87c8164c2b45d061281c0efbe22193d",
      "tree": "fa8a1f5b68a38707e57c17736158ae246c9f3821",
      "parents": [
        "8b66b54f7e1bf6b25390dca1dea3f18a40e607f9"
      ],
      "author": {
        "name": "Mike Taves",
        "email": "mwtoews@gmail.com",
        "time": "Fri Jul 24 02:57:53 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Jul 24 02:57:53 2026"
      },
      "message": "Fix typos, add codespell configuration (#2262)\n\nFix typos"
    },
    {
      "commit": "8b66b54f7e1bf6b25390dca1dea3f18a40e607f9",
      "tree": "d6a1db317cdd0e8b8af36f8d9927acce684421f7",
      "parents": [
        "c4114ca2b76eefdb48222abff96c12160614b737"
      ],
      "author": {
        "name": "Tejas Anil Nagmote",
        "email": "tejasnagmote520@gmail.com",
        "time": "Thu Jul 16 08:46:23 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Jul 16 08:46:23 2026"
      },
      "message": "Make --benchmark_list_tests respect --benchmark_format (#2245)\n\n* Make --benchmark_list_tests respect --benchmark_format via reporter List() (#1642)\n\n* Export FindBenchmarksInternal for shared-library test link; fix include order"
    },
    {
      "commit": "c4114ca2b76eefdb48222abff96c12160614b737",
      "tree": "2507232469c0394c134c362af5996365a638ac7f",
      "parents": [
        "d5acb6946294f21cb21157f813e2ae5e1ade6496"
      ],
      "author": {
        "name": "dependabot[bot]",
        "email": "49699333+dependabot[bot]@users.noreply.github.com",
        "time": "Thu Jul 09 09:53:30 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Jul 09 09:53:30 2026"
      },
      "message": "Bump astral-sh/setup-uv from 8.3.1 to 8.3.2 (#2244)\n\nBumps [astral-sh/setup-uv](https://github.com/astral-sh/setup-uv) from 8.3.1 to 8.3.2.\n- [Release notes](https://github.com/astral-sh/setup-uv/releases)\n- [Commits](https://github.com/astral-sh/setup-uv/compare/f98e06938123ccabd21905ea5d0069192241f9f1...11f9893b081a58869d3b5fccaea48c9e9e46f990)\n\n---\nupdated-dependencies:\n- dependency-name: astral-sh/setup-uv\n  dependency-version: 8.3.2\n  dependency-type: direct:production\n  update-type: version-update:semver-patch\n...\n\nSigned-off-by: dependabot[bot] \u003csupport@github.com\u003e\nCo-authored-by: dependabot[bot] \u003c49699333+dependabot[bot]@users.noreply.github.com\u003e"
    },
    {
      "commit": "d5acb6946294f21cb21157f813e2ae5e1ade6496",
      "tree": "4e8bce839e1760e61a5d0cda1737c1096bcfc59e",
      "parents": [
        "231fffe1f1bbbc28804af92f8c5f5e97f5078ae8"
      ],
      "author": {
        "name": "dependabot[bot]",
        "email": "49699333+dependabot[bot]@users.noreply.github.com",
        "time": "Wed Jul 08 08:10:42 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Jul 08 08:10:42 2026"
      },
      "message": "Bump astral-sh/setup-uv from 8.3.0 to 8.3.1 (#2243)\n\nBumps [astral-sh/setup-uv](https://github.com/astral-sh/setup-uv) from 8.3.0 to 8.3.1.\n- [Release notes](https://github.com/astral-sh/setup-uv/releases)\n- [Commits](https://github.com/astral-sh/setup-uv/compare/d31148d669074a8d0a63714ba94f3201e7020bc3...f98e06938123ccabd21905ea5d0069192241f9f1)\n\n---\nupdated-dependencies:\n- dependency-name: astral-sh/setup-uv\n  dependency-version: 8.3.1\n  dependency-type: direct:production\n  update-type: version-update:semver-patch\n...\n\nSigned-off-by: dependabot[bot] \u003csupport@github.com\u003e\nCo-authored-by: dependabot[bot] \u003c49699333+dependabot[bot]@users.noreply.github.com\u003e"
    },
    {
      "commit": "231fffe1f1bbbc28804af92f8c5f5e97f5078ae8",
      "tree": "1edefe192710652157b124438845f204bd039287",
      "parents": [
        "c46905a53044e74a37b49efbe3b2d2852c3d36c8"
      ],
      "author": {
        "name": "dependabot[bot]",
        "email": "49699333+dependabot[bot]@users.noreply.github.com",
        "time": "Tue Jul 07 08:15:25 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Jul 07 08:15:25 2026"
      },
      "message": "Bump numpy from 2.5.0 to 2.5.1 in /tools (#2241)\n\nBumps [numpy](https://github.com/numpy/numpy) from 2.5.0 to 2.5.1.\n- [Release notes](https://github.com/numpy/numpy/releases)\n- [Changelog](https://github.com/numpy/numpy/blob/main/doc/RELEASE_WALKTHROUGH.rst)\n- [Commits](https://github.com/numpy/numpy/compare/v2.5.0...v2.5.1)\n\n---\nupdated-dependencies:\n- dependency-name: numpy\n  dependency-version: 2.5.1\n  dependency-type: direct:production\n  update-type: version-update:semver-patch\n...\n\nSigned-off-by: dependabot[bot] \u003csupport@github.com\u003e\nCo-authored-by: dependabot[bot] \u003c49699333+dependabot[bot]@users.noreply.github.com\u003e\nCo-authored-by: dominic \u003c510002+dmah42@users.noreply.github.com\u003e"
    },
    {
      "commit": "c46905a53044e74a37b49efbe3b2d2852c3d36c8",
      "tree": "5280f02f7089964af377f6da0379bc1ea374eae3",
      "parents": [
        "79d07484f145ae40ac42dc569d393b6396b39cb0"
      ],
      "author": {
        "name": "dependabot[bot]",
        "email": "49699333+dependabot[bot]@users.noreply.github.com",
        "time": "Tue Jul 07 08:03:07 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Jul 07 08:03:07 2026"
      },
      "message": "Bump astral-sh/setup-uv from 8.2.0 to 8.3.0 (#2242)\n\nBumps [astral-sh/setup-uv](https://github.com/astral-sh/setup-uv) from 8.2.0 to 8.3.0.\n- [Release notes](https://github.com/astral-sh/setup-uv/releases)\n- [Commits](https://github.com/astral-sh/setup-uv/compare/fac544c07dec837d0ccb6301d7b5580bf5edae39...d31148d669074a8d0a63714ba94f3201e7020bc3)\n\n---\nupdated-dependencies:\n- dependency-name: astral-sh/setup-uv\n  dependency-version: 8.3.0\n  dependency-type: direct:production\n  update-type: version-update:semver-minor\n...\n\nSigned-off-by: dependabot[bot] \u003csupport@github.com\u003e\nCo-authored-by: dependabot[bot] \u003c49699333+dependabot[bot]@users.noreply.github.com\u003e"
    },
    {
      "commit": "79d07484f145ae40ac42dc569d393b6396b39cb0",
      "tree": "03f292adad3acc47e7b079726e4ac839303c63a0",
      "parents": [
        "fb5a752614edf90541322763e9b0bb70a9b55a07"
      ],
      "author": {
        "name": "anish",
        "email": "145943060+anishesg@users.noreply.github.com",
        "time": "Mon Jul 06 15:23:42 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Jul 06 15:23:42 2026"
      },
      "message": "fix(linux): prevent infinite re-exec loop under AppArmor (#2239)\n\n* fix(linux): prevent infinite re-exec loop under AppArmor\n\nThe `MaybeReenterWithoutASLR()` function in `src/benchmark.cc` caused infinite execv() loops when running benchmarks under AppArmor-enabled LSMs. The existing fix from #1985 only checked whether personality(ADDR_NO_RANDOMIZE) succeeded in the current process before calling execv(). However, some LSMs like AppArmor can silently reset personality flags during the execve() system call transition, even though the flag was successfully set in the parent process.\nAdditionally, ensure that we actually report that ASLR is still on in case we fail to unset it.\n\nSigned-off-by: anish \u003canishesg@users.noreply.github.com\u003e\nCo-authored-by: anish \u003canishesg@users.noreply.github.com\u003e\nCo-authored-by: Roman Lebedev \u003clebedev.ri@gmail.com\u003e"
    },
    {
      "commit": "fb5a752614edf90541322763e9b0bb70a9b55a07",
      "tree": "4cd2c38d53e20161f505cc24eb00c06a14067797",
      "parents": [
        "b3a8d2f88e4a4c9e02739e168c9ced0c8434dc23"
      ],
      "author": {
        "name": "dominic",
        "email": "510002+dmah42@users.noreply.github.com",
        "time": "Mon Jul 06 09:50:09 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Jul 06 09:50:09 2026"
      },
      "message": "Run an autofix pass on github workflows using zizmor (#2233)\n\nZizmor is going to be automatically installed in this repo shortly. To\navoid any churn, this is a pre-run to fix up any potential\nvulnerabilities identified by the tool."
    },
    {
      "commit": "b3a8d2f88e4a4c9e02739e168c9ced0c8434dc23",
      "tree": "718a505013992539bbca940aa7616e01fdf3f234",
      "parents": [
        "882336a4b83cba9bf475b312dad410b7e642a2aa"
      ],
      "author": {
        "name": "Tuna Kılıç",
        "email": "tuna33tuna06@gmail.com",
        "time": "Thu Jul 02 08:50:00 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Jul 02 08:50:00 2026"
      },
      "message": "docs: document Bazel integration (#2238)\n\n* docs: document Bazel integration\n\n* fix(docs): avoid pinning current benchmark version"
    },
    {
      "commit": "882336a4b83cba9bf475b312dad410b7e642a2aa",
      "tree": "31ed3467b5443b261642b658bdb208401758024b",
      "parents": [
        "eedbb493587ca8f91ff9ea8d2d7e27f6ba0e9214"
      ],
      "author": {
        "name": "Sidhartha kumar",
        "email": "siddharthtiwari155@yahoo.com",
        "time": "Tue Jun 30 17:24:18 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Jun 30 17:24:18 2026"
      },
      "message": "rust bindings: keep argv[0] alive across benchmark reporting (#2237)\n\nThe Rust binding\u0027s initialize() creates temporary CString buffers that are freed on return, but benchmark::Initialize() stores argv[0] as a raw pointer in BenchmarkReporter::Context::executable_name. Later reporter calls dereference freed heap memory (use-after-free).\n\nCopy argv[0] into static storage in the C++ bridge before calling benchmark::Initialize(), ensuring the retained pointer remains valid for the process lifetime.\n\nAI assistance disclosure: AI tooling was used to assist with auditing, reproducer design, patch drafting, and PR text preparation."
    },
    {
      "commit": "eedbb493587ca8f91ff9ea8d2d7e27f6ba0e9214",
      "tree": "7c56b880fa571049612bb7c736aa088d3d71f3f3",
      "parents": [
        "bab0f02ecca7b543111bc24e3724e2599dfc8f33"
      ],
      "author": {
        "name": "dependabot[bot]",
        "email": "49699333+dependabot[bot]@users.noreply.github.com",
        "time": "Mon Jun 29 09:55:17 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Jun 29 09:55:17 2026"
      },
      "message": "Bump actions/cache from 6.0.0 to 6.1.0 (#2236)\n\nBumps [actions/cache](https://github.com/actions/cache) from 6.0.0 to 6.1.0.\n- [Release notes](https://github.com/actions/cache/releases)\n- [Changelog](https://github.com/actions/cache/blob/main/RELEASES.md)\n- [Commits](https://github.com/actions/cache/compare/2c8a9bd7457de244a408f35966fab2fb45fda9c8...55cc8345863c7cc4c66a329aec7e433d2d1c52a9)\n\n---\nupdated-dependencies:\n- dependency-name: actions/cache\n  dependency-version: 6.1.0\n  dependency-type: direct:production\n  update-type: version-update:semver-minor\n...\n\nSigned-off-by: dependabot[bot] \u003csupport@github.com\u003e\nCo-authored-by: dependabot[bot] \u003c49699333+dependabot[bot]@users.noreply.github.com\u003e"
    },
    {
      "commit": "bab0f02ecca7b543111bc24e3724e2599dfc8f33",
      "tree": "86fa1ccd1d6ebd970227b43f25acfdfe01d80032",
      "parents": [
        "0b88d5c7bfe76adc3fd62178f466e0e68ab235e4"
      ],
      "author": {
        "name": "dependabot[bot]",
        "email": "49699333+dependabot[bot]@users.noreply.github.com",
        "time": "Thu Jun 25 08:17:45 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Jun 25 08:17:45 2026"
      },
      "message": "Bump actions/setup-python from 6.2.0 to 6.3.0 (#2232)\n\nBumps [actions/setup-python](https://github.com/actions/setup-python) from 6.2.0 to 6.3.0.\n- [Release notes](https://github.com/actions/setup-python/releases)\n- [Commits](https://github.com/actions/setup-python/compare/a309ff8b426b58ec0e2a45f0f869d46889d02405...ece7cb06caefa5fff74198d8649806c4678c61a1)\n\n---\nupdated-dependencies:\n- dependency-name: actions/setup-python\n  dependency-version: 6.3.0\n  dependency-type: direct:production\n  update-type: version-update:semver-minor\n...\n\nSigned-off-by: dependabot[bot] \u003csupport@github.com\u003e\nCo-authored-by: dependabot[bot] \u003c49699333+dependabot[bot]@users.noreply.github.com\u003e"
    },
    {
      "commit": "0b88d5c7bfe76adc3fd62178f466e0e68ab235e4",
      "tree": "8c2c47918995565b9a09011b943393615504cadc",
      "parents": [
        "36224c060147e176dbff22f934933a8faf59be2a"
      ],
      "author": {
        "name": "dependabot[bot]",
        "email": "49699333+dependabot[bot]@users.noreply.github.com",
        "time": "Tue Jun 23 23:41:21 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Jun 23 23:41:21 2026"
      },
      "message": "Bump actions/cache from 5.0.5 to 6.0.0 (#2230)\n\nBumps [actions/cache](https://github.com/actions/cache) from 5.0.5 to 6.0.0.\n- [Release notes](https://github.com/actions/cache/releases)\n- [Changelog](https://github.com/actions/cache/blob/main/RELEASES.md)\n- [Commits](https://github.com/actions/cache/compare/27d5ce7f107fe9357f9df03efb73ab90386fccae...2c8a9bd7457de244a408f35966fab2fb45fda9c8)\n\n---\nupdated-dependencies:\n- dependency-name: actions/cache\n  dependency-version: 6.0.0\n  dependency-type: direct:production\n  update-type: version-update:semver-major\n...\n\nSigned-off-by: dependabot[bot] \u003csupport@github.com\u003e\nCo-authored-by: dependabot[bot] \u003c49699333+dependabot[bot]@users.noreply.github.com\u003e"
    },
    {
      "commit": "36224c060147e176dbff22f934933a8faf59be2a",
      "tree": "ad483f2cea3b4b2c9ed821379dcc12cd1bb71af4",
      "parents": [
        "ab9383bb49eac305c7e8db372ee2c6f2e1db1c05"
      ],
      "author": {
        "name": "dependabot[bot]",
        "email": "49699333+dependabot[bot]@users.noreply.github.com",
        "time": "Tue Jun 23 09:05:07 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Jun 23 09:05:07 2026"
      },
      "message": "Bump numpy from 2.4.6 to 2.5.0 in /tools (#2228)\n\nBumps [numpy](https://github.com/numpy/numpy) from 2.4.6 to 2.5.0.\n- [Release notes](https://github.com/numpy/numpy/releases)\n- [Changelog](https://github.com/numpy/numpy/blob/main/doc/RELEASE_WALKTHROUGH.rst)\n- [Commits](https://github.com/numpy/numpy/compare/v2.4.6...v2.5.0)\n\n---\nupdated-dependencies:\n- dependency-name: numpy\n  dependency-version: 2.5.0\n  dependency-type: direct:production\n  update-type: version-update:semver-minor\n...\n\nSigned-off-by: dependabot[bot] \u003csupport@github.com\u003e\nCo-authored-by: dependabot[bot] \u003c49699333+dependabot[bot]@users.noreply.github.com\u003e"
    },
    {
      "commit": "ab9383bb49eac305c7e8db372ee2c6f2e1db1c05",
      "tree": "2884039959bac2c67b9c4f170e2d9719b84607cc",
      "parents": [
        "846feb6886a106d8b6d5a1140ce4767c0e5e03b7"
      ],
      "author": {
        "name": "dependabot[bot]",
        "email": "49699333+dependabot[bot]@users.noreply.github.com",
        "time": "Mon Jun 22 11:23:14 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Jun 22 11:23:14 2026"
      },
      "message": "Bump lukka/get-cmake from 4.3.3 to 4.3.4 (#2227)\n\nBumps [lukka/get-cmake](https://github.com/lukka/get-cmake) from 4.3.3 to 4.3.4.\n- [Release notes](https://github.com/lukka/get-cmake/releases)\n- [Changelog](https://github.com/lukka/get-cmake/blob/main/RELEASE_PROCESS.md)\n- [Commits](https://github.com/lukka/get-cmake/compare/591817e96fcad43505fb4eae36172462abb3a42e...f5b8fbb4d77cec1acc5a5f9f0df4beffaf5d98d9)\n\n---\nupdated-dependencies:\n- dependency-name: lukka/get-cmake\n  dependency-version: 4.3.4\n  dependency-type: direct:production\n  update-type: version-update:semver-patch\n...\n\nSigned-off-by: dependabot[bot] \u003csupport@github.com\u003e\nCo-authored-by: dependabot[bot] \u003c49699333+dependabot[bot]@users.noreply.github.com\u003e\nCo-authored-by: dominic \u003c510002+dmah42@users.noreply.github.com\u003e"
    },
    {
      "commit": "846feb6886a106d8b6d5a1140ce4767c0e5e03b7",
      "tree": "b93d6ee63260047d2b6fa9d18236ee8fa77874ba",
      "parents": [
        "5bfa2bd77f30e69af99bc511235741220d68fe04"
      ],
      "author": {
        "name": "dependabot[bot]",
        "email": "49699333+dependabot[bot]@users.noreply.github.com",
        "time": "Mon Jun 22 11:01:29 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Jun 22 11:01:29 2026"
      },
      "message": "Bump scipy from 1.17.1 to 1.18.0 in /tools (#2226)\n\nBumps [scipy](https://github.com/scipy/scipy) from 1.17.1 to 1.18.0.\n- [Release notes](https://github.com/scipy/scipy/releases)\n- [Commits](https://github.com/scipy/scipy/compare/v1.17.1...v1.18.0)\n\n---\nupdated-dependencies:\n- dependency-name: scipy\n  dependency-version: 1.18.0\n  dependency-type: direct:production\n  update-type: version-update:semver-minor\n...\n\nSigned-off-by: dependabot[bot] \u003csupport@github.com\u003e\nCo-authored-by: dependabot[bot] \u003c49699333+dependabot[bot]@users.noreply.github.com\u003e"
    }
  ],
  "next": "5bfa2bd77f30e69af99bc511235741220d68fe04"
}
