)]}'
{
  "log": [
    {
      "commit": "867e28397f9637d522ac2149e57cc6e770d04f12",
      "tree": "9ae8fab6b284ae34a311bdfb4f0d20edaaebbc72",
      "parents": [
        "cfc678bb98df21599905558addb3fc3102a69f91"
      ],
      "author": {
        "name": "devincabillo",
        "email": "devincabillo@google.com",
        "time": "Wed Aug 26 16:47:24 2026"
      },
      "committer": {
        "name": "v8-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "email": "v8-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Wed Aug 26 16:47:24 2026"
      },
      "message": "feat(blink-ai): runs all stories by default\n\nBug: 524331579\nChange-Id: I501c52c7c8ea56ce6573664ace023dc9acca1075\nReviewed-on: https://chromium-review.googlesource.com/c/crossbench/+/8284282\nReviewed-by: John Chen \u003cjohnchen@chromium.org\u003e\nCommit-Queue: Devin Cabillo \u003cdevincabillo@google.com\u003e\nReviewed-by: Nathan Memmott \u003cmemmott@chromium.org\u003e\nReviewed-by: Roberto Torres \u003cjrtm@google.com\u003e\n"
    },
    {
      "commit": "cfc678bb98df21599905558addb3fc3102a69f91",
      "tree": "70f35eb8fc1c50f0f9b2de18f0963bf7f54db397",
      "parents": [
        "b5fb76f7bd8805df6b541bf67bec653f359eafc2"
      ],
      "author": {
        "name": "Elad Alon",
        "email": "eladalon@google.com",
        "time": "Wed Aug 26 16:44:46 2026"
      },
      "committer": {
        "name": "v8-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "email": "v8-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Wed Aug 26 16:44:46 2026"
      },
      "message": "Fix minor issue in web_power/README.md\n\nChange-Id: I4d5ebc097308e5ff86c3d6a732a2d78c7716f5d0\nReviewed-on: https://chromium-review.googlesource.com/c/crossbench/+/8296620\nCommit-Queue: Elad Alon \u003celadalon@chromium.org\u003e\nAuto-Submit: Elad Alon \u003celadalon@chromium.org\u003e\nReviewed-by: Igor Kraskevich \u003ckraskevich@google.com\u003e\n"
    },
    {
      "commit": "b5fb76f7bd8805df6b541bf67bec653f359eafc2",
      "tree": "5ce04eec7a55cc509f9c5c2179e3905bb7638fc8",
      "parents": [
        "f08ece6a24c82348c9a719f86082cdfaef2a3a2d"
      ],
      "author": {
        "name": "chromium-autoroll@skia-public.iam.gserviceaccount.com",
        "email": "chromium-autoroll@skia-public.iam.gserviceaccount.com",
        "time": "Wed Aug 26 15:15:06 2026"
      },
      "committer": {
        "name": "v8-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "email": "v8-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Wed Aug 26 15:15:06 2026"
      },
      "message": "Roll Buildtools from 4277578aa9c4 to 6f6a5dbf04b7 (1 revision)\n\nhttps://chromium.googlesource.com/chromium/src/buildtools.git/+log/4277578aa9c4..6f6a5dbf04b7\n\n2026-08-26 cfredric@chromium.org Compile DEPS files before executing them\n\nIf this roll has caused a breakage, revert this CL and stop the roller\nusing the controls here:\nhttps://autoroll.skia.org/r/buildtools-crossbench\nPlease CC cbruni@google.com,crossbench@chromium.org,v8-waterfall-gardener@rotations.google.com on the revert to ensure that a human\nis aware of the problem.\n\nTo file a bug in Crossbench: https://issues.chromium.org/issues/new?component\u003d1456712\n\nTo report a problem with the AutoRoller itself, please file a bug:\nhttps://issues.skia.org/issues/new?component\u003d1389291\u0026template\u003d1850622\n\nDocumentation for the AutoRoller is here:\nhttps://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md\n\nTbr: v8-waterfall-gardener@rotations.google.com\nChange-Id: I7462129d87d8635fbd9cb79c4270753395e3e9ce\nReviewed-on: https://chromium-review.googlesource.com/c/crossbench/+/8297901\nCommit-Queue: chromium-autoroll@skia-public.iam.gserviceaccount.com \u003cchromium-autoroll@skia-public.iam.gserviceaccount.com\u003e\nBot-Commit: chromium-autoroll@skia-public.iam.gserviceaccount.com \u003cchromium-autoroll@skia-public.iam.gserviceaccount.com\u003e\n"
    },
    {
      "commit": "f08ece6a24c82348c9a719f86082cdfaef2a3a2d",
      "tree": "a18882142bc8de17cad423c921fb690fe70d6c15",
      "parents": [
        "a39b59ec78f675af4eb692da080159974a998fc8"
      ],
      "author": {
        "name": "Victor Hugo Vianna Silva",
        "email": "victorvianna@google.com",
        "time": "Wed Aug 26 13:33:00 2026"
      },
      "committer": {
        "name": "v8-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "email": "v8-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Wed Aug 26 13:33:00 2026"
      },
      "message": "[crossbench] Fix --local-file-server and --wpr argument parsing\n\nIn commit 611fae44 (\"Clean up config startup handling\",\nhttps://crrev.com/c/8250368), CLI network argument handling was\nrefactored so that BenchmarkSubcommand._process_network_config_args\ndelegates to NetworkConfig.parse_args(args).\n\nHowever, while --network and --network-config populate\nargs.network_config, --local-file-server (and its aliases) and --wpr\nstill specified dest\u003d\"network\" in\nBenchmarkSubcommand._add_network_arguments.\n\nBecause NetworkConfig.parse_args only inspected args.network_config, any\nNetworkConfig parsed from --local-file-server or --wpr into args.network\nwas completely ignored. As a result, NetworkConfig.parse_args returned\nNetworkConfig.default(), silently falling back to LIVE network mode.\n\nThis broke running benchmarks locally using --local-file-server in\noffline or isolated environments (such as Android PGO trybots), where\nthe browser unexpectedly navigated to public remote URLs (e.g.\nhttps://chromium-workloads.web.app/speedometer/v3.1/) instead of\nconnecting to the local HTTP file server, leading to timeouts.\n\nThis CL:\n- Updates --local-file-server and --wpr argument definitions in\n  BenchmarkSubcommand._add_network_arguments to use\n  dest\u003d\"network_config\".\n- Adds CLI tests in test_cli_fast_a.py to verify that both\n  --local-file-server and --wpr flags preserve their corresponding\n  NetworkConfig settings.\n\nChange-Id: I1898c5ae100a97c5ed9f4c7cc478f6bf5b989845\nReviewed-on: https://chromium-review.googlesource.com/c/crossbench/+/8289208\nReviewed-by: Camillo Bruni \u003ccbruni@chromium.org\u003e\nCommit-Queue: Victor Vianna \u003cvictorvianna@google.com\u003e\n"
    },
    {
      "commit": "a39b59ec78f675af4eb692da080159974a998fc8",
      "tree": "2093f632e195f9ce2f9aac02a752d52567b4ebd2",
      "parents": [
        "f9b8add91f8ec3bc2a68345f982e41ec75ef7570"
      ],
      "author": {
        "name": "Elad Alon",
        "email": "eladalon@google.com",
        "time": "Tue Aug 25 17:05:16 2026"
      },
      "committer": {
        "name": "v8-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "email": "v8-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Tue Aug 25 17:05:16 2026"
      },
      "message": "Add CLI interaction tests for explicit Perfetto and BITS probes\n\nAdd test coverage for CLI interactions:\n- Explicit --probe\u003dperfetto flag alone (single probe attachment).\n- Explicit --probe\u003dperfetto alongside --bits-path (ensures explicit\n  probe overrides default Perfetto suppression).\n\nChange-Id: I003398294edfd92bd9b9beb1d0e266b5bc81b685\nReviewed-on: https://chromium-review.googlesource.com/c/crossbench/+/8288888\nReviewed-by: Igor Kraskevich \u003ckraskevich@google.com\u003e\nCommit-Queue: Elad Alon \u003celadalon@chromium.org\u003e\n"
    },
    {
      "commit": "f9b8add91f8ec3bc2a68345f982e41ec75ef7570",
      "tree": "f4fd2347a70d86101c92934e2c0bcbeb8c6318c8",
      "parents": [
        "2628ed3c0451747fd7063f734f84d61f6a23f8cd"
      ],
      "author": {
        "name": "Elad Alon",
        "email": "eladalon@google.com",
        "time": "Tue Aug 25 17:04:12 2026"
      },
      "committer": {
        "name": "v8-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "email": "v8-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Tue Aug 25 17:04:12 2026"
      },
      "message": "Refactor WebPowerConsolidatedCliTestCase with helper\n\nExtract _get_runner_probe_names() helper method in\nWebPowerConsolidatedCliTestCase to reduce repetitive CLI invocation and\nprobe extraction boilerplate across test methods.\n\nChange-Id: Iccba41c23575bb906e578a383ca23f6e67adf1d6\nReviewed-on: https://chromium-review.googlesource.com/c/crossbench/+/8278176\nReviewed-by: Igor Kraskevich \u003ckraskevich@google.com\u003e\nCommit-Queue: Elad Alon \u003celadalon@chromium.org\u003e\n"
    },
    {
      "commit": "2628ed3c0451747fd7063f734f84d61f6a23f8cd",
      "tree": "ffb74318416c3a72d8a35fddd9f8258fb76a19e3",
      "parents": [
        "99e1cfcada52084ce5c26ecf11c891ab9531435a"
      ],
      "author": {
        "name": "Elad Alon",
        "email": "eladalon@google.com",
        "time": "Tue Aug 25 17:03:07 2026"
      },
      "committer": {
        "name": "v8-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "email": "v8-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Tue Aug 25 17:03:07 2026"
      },
      "message": "Attach default probes via WebPowerProbe.get_extra_probes()\n\nMove the dynamic attachment of benchmark-configured BitsProbe and\ndefault Perfetto / TraceProcessor probes from\nWebPowerBenchmarkBase.setup() into WebPowerProbe.get_extra_probes().\n\nThis ensures default and benchmark-configured probes are registered\nduring Runner probe preparation (before Runs are instantiated and\nconfigured), while keeping probe resolution programmatic in Python\nwithout requiring a static probe config file.\n\nChange-Id: If3a4912f404a08eeff6afcd90e8881cf4b33370e\nReviewed-on: https://chromium-review.googlesource.com/c/crossbench/+/8278175\nReviewed-by: Igor Kraskevich \u003ckraskevich@google.com\u003e\nCommit-Queue: Elad Alon \u003celadalon@chromium.org\u003e\n"
    },
    {
      "commit": "99e1cfcada52084ce5c26ecf11c891ab9531435a",
      "tree": "b3a8bec0a6a88d1defffd1fe35be819a05d04c27",
      "parents": [
        "82aa32b5c4c237e3f077f5d2e01ada8fa9227da8"
      ],
      "author": {
        "name": "Elad Alon",
        "email": "eladalon@google.com",
        "time": "Tue Aug 25 17:02:01 2026"
      },
      "committer": {
        "name": "v8-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "email": "v8-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Tue Aug 25 17:02:01 2026"
      },
      "message": "Defer default Perfetto probe attachment in WebPowerBenchmarkBase\n\nRefactor WebPowerBenchmarkBase.setup() to attach default Perfetto probes\nconditionally in Python, replacing the static HJSON probe config and\nadding proper browser validation to PerfettoProbe.\n\nThis lays the groundwork for follow-up CLs to run Web Power on iOS\n(Safari / WebKit), where Perfetto tracing is unavailable.\n\nChange-Id: I463cadb3a8959e6339b6d2145bd55650c82de8ee\nReviewed-on: https://chromium-review.googlesource.com/c/crossbench/+/8232800\nReviewed-by: Igor Kraskevich \u003ckraskevich@google.com\u003e\nCommit-Queue: Elad Alon \u003celadalon@chromium.org\u003e\n"
    },
    {
      "commit": "82aa32b5c4c237e3f077f5d2e01ada8fa9227da8",
      "tree": "c544a22a924d2195aaef4f3eb21bd156261dc518",
      "parents": [
        "1b4126d2b3009b33e98c7f5cff0d78bf48634bf4"
      ],
      "author": {
        "name": "Elad Alon",
        "email": "eladalon@google.com",
        "time": "Tue Aug 25 17:00:57 2026"
      },
      "committer": {
        "name": "v8-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "email": "v8-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Tue Aug 25 17:00:57 2026"
      },
      "message": "Revert \"[web-power] Fix default web-power probe behavior\"\n\nThis reverts commit 148fbbac3e481409dd3724849ac24ca156ee3056.\n\nChange-Id: I9eb649fb1fbe4198369e119e38c649629b91953a\nReviewed-on: https://chromium-review.googlesource.com/c/crossbench/+/8278174\nReviewed-by: Igor Kraskevich \u003ckraskevich@google.com\u003e\nCommit-Queue: Elad Alon \u003celadalon@chromium.org\u003e\n"
    },
    {
      "commit": "1b4126d2b3009b33e98c7f5cff0d78bf48634bf4",
      "tree": "e6938a71215054397094b1325566dad9065c9c8b",
      "parents": [
        "84edffc57f708686da425e2e0bdcf377a3b78f1b"
      ],
      "author": {
        "name": "Victor Hugo Vianna Silva",
        "email": "victorvianna@google.com",
        "time": "Tue Aug 25 13:21:02 2026"
      },
      "committer": {
        "name": "v8-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "email": "v8-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Tue Aug 25 13:21:02 2026"
      },
      "message": "Fix WPR error during ld2-webapi-phone\n\nChange-Id: I983ea34c5e8b94532cbad49de606983840b278c8\nReviewed-on: https://chromium-review.googlesource.com/c/crossbench/+/8277036\nAuto-Submit: Victor Vianna \u003cvictorvianna@google.com\u003e\nReviewed-by: Mikhail Khokhlov \u003ckhokhlov@google.com\u003e\nCommit-Queue: Mikhail Khokhlov \u003ckhokhlov@google.com\u003e\n"
    },
    {
      "commit": "84edffc57f708686da425e2e0bdcf377a3b78f1b",
      "tree": "e1567563a880f83b0934ba9ec304a413cba8ac6b",
      "parents": [
        "fe8621615553e8dbc2a9bf2167504d6f6963e055"
      ],
      "author": {
        "name": "Camillo Bruni",
        "email": "cbruni@chromium.org",
        "time": "Tue Aug 25 09:35:14 2026"
      },
      "committer": {
        "name": "v8-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "email": "v8-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Tue Aug 25 09:35:14 2026"
      },
      "message": "Fix banner printing\n\n- Add new ui module\n- Add ui/banner.py for separate startup banner printing\n- Add dedicated crossbench/plt/version_details.py for easier\n  reuse of crossbench version details\n\nChange-Id: I10ef8d2681eac2719e347c6caaa8b6b8b40a31a4\nReviewed-on: https://chromium-review.googlesource.com/c/crossbench/+/8267661\nReviewed-by: Patrick Thier \u003cpthier@chromium.org\u003e\nCommit-Queue: Camillo Bruni \u003ccbruni@chromium.org\u003e\n"
    },
    {
      "commit": "fe8621615553e8dbc2a9bf2167504d6f6963e055",
      "tree": "64a8eedeaf4d41b13ad84d705ec3b0859622fa75",
      "parents": [
        "bf8192fe8b3eea4b3f3f6c1189d851e717856346"
      ],
      "author": {
        "name": "Camillo Bruni",
        "email": "cbruni@chromium.org",
        "time": "Mon Aug 24 10:19:31 2026"
      },
      "committer": {
        "name": "v8-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "email": "v8-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Mon Aug 24 10:19:31 2026"
      },
      "message": "Implement more flexible binary lookup\n\n- Prepare Binary for full replacement of the path_finder.py module\n- Add dedicated lookup objects to provide multiple alternatives\n  and to be able to mix and match path vs chrome-src binaries\n\nNew Lookup objects:\n- PathLookup:    normal \"which\" or \"$PATH\" based lookups\n- HomeDirLookup: binary relative to the home dir\n- EnvVarLookup:  binary in an env var\n- ChromeLookup:  binary in a chrome checkout\n\nFuture plan: migrate all existing path-finder lookup helper to\nthis more flexible new format.\n\nTAG\u003dagy\nCONV\u003d233959e8-6690-4e24-99a2-012c75a7d356\n\nChange-Id: Ied17aedb856c9f3219a0507b99f6582cf89be1ff\nReviewed-on: https://chromium-review.googlesource.com/c/crossbench/+/8240012\nReviewed-by: Victor Vianna \u003cvictorvianna@google.com\u003e\nCommit-Queue: Camillo Bruni \u003ccbruni@chromium.org\u003e\n"
    },
    {
      "commit": "bf8192fe8b3eea4b3f3f6c1189d851e717856346",
      "tree": "c10213ec8992d37a651c2670826475891f91db66",
      "parents": [
        "75333206b8bbc87682f619615b1cc55b982c73a0"
      ],
      "author": {
        "name": "chromium-autoroll@skia-public.iam.gserviceaccount.com",
        "email": "chromium-autoroll@skia-public.iam.gserviceaccount.com",
        "time": "Mon Aug 24 00:06:04 2026"
      },
      "committer": {
        "name": "v8-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "email": "v8-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Mon Aug 24 00:06:04 2026"
      },
      "message": "Roll ClangFormat from 75375d6e0dbc to 1baf9afe06a7 (1 revision)\n\nhttps://chromium.googlesource.com/external/github.com/llvm/llvm-project/clang/tools/clang-format.git/+log/75375d6e0dbc..1baf9afe06a7\n\n2026-08-23 i@maskray.me [git-clang-format] Don\u0027t format the line preceding a deletion (#215946)\n\nIf this roll has caused a breakage, revert this CL and stop the roller\nusing the controls here:\nhttps://autoroll.skia.org/r/clang-format-crossbench\nPlease CC cbruni@google.com,crossbench@chromium.org,v8-waterfall-gardener@rotations.google.com on the revert to ensure that a human\nis aware of the problem.\n\nTo file a bug in Crossbench: https://issues.chromium.org/issues/new?component\u003d1456712\n\nTo report a problem with the AutoRoller itself, please file a bug:\nhttps://issues.skia.org/issues/new?component\u003d1389291\u0026template\u003d1850622\n\nDocumentation for the AutoRoller is here:\nhttps://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md\n\nTbr: v8-waterfall-gardener@rotations.google.com\nChange-Id: Ic05ee9fe5af649385f7115e623bb5b765eca9a80\nReviewed-on: https://chromium-review.googlesource.com/c/crossbench/+/8278003\nBot-Commit: chromium-autoroll@skia-public.iam.gserviceaccount.com \u003cchromium-autoroll@skia-public.iam.gserviceaccount.com\u003e\nCommit-Queue: chromium-autoroll@skia-public.iam.gserviceaccount.com \u003cchromium-autoroll@skia-public.iam.gserviceaccount.com\u003e\n"
    },
    {
      "commit": "75333206b8bbc87682f619615b1cc55b982c73a0",
      "tree": "7431fc3d39c83087ccafd276a12170537d9bbe48",
      "parents": [
        "06f39d51e72641ba79dd345240c1b7b6cdd3dc27"
      ],
      "author": {
        "name": "chromium-autoroll@skia-public.iam.gserviceaccount.com",
        "email": "chromium-autoroll@skia-public.iam.gserviceaccount.com",
        "time": "Sat Aug 22 23:42:52 2026"
      },
      "committer": {
        "name": "v8-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "email": "v8-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Sat Aug 22 23:42:52 2026"
      },
      "message": "Roll ClangFormat from 70510081984c to 75375d6e0dbc (1 revision)\n\nhttps://chromium.googlesource.com/external/github.com/llvm/llvm-project/clang/tools/clang-format.git/+log/70510081984c..75375d6e0dbc\n\n2026-08-22 chandlerc@gmail.com [clang] Trim large(-ish) includes from common headers (#216946)\n\nIf this roll has caused a breakage, revert this CL and stop the roller\nusing the controls here:\nhttps://autoroll.skia.org/r/clang-format-crossbench\nPlease CC cbruni@google.com,crossbench@chromium.org,v8-waterfall-gardener@rotations.google.com on the revert to ensure that a human\nis aware of the problem.\n\nTo file a bug in Crossbench: https://issues.chromium.org/issues/new?component\u003d1456712\n\nTo report a problem with the AutoRoller itself, please file a bug:\nhttps://issues.skia.org/issues/new?component\u003d1389291\u0026template\u003d1850622\n\nDocumentation for the AutoRoller is here:\nhttps://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md\n\nTbr: v8-waterfall-gardener@rotations.google.com\nChange-Id: Ib8033fb9a84b6d79d99d48614220a5137b9fa20a\nReviewed-on: https://chromium-review.googlesource.com/c/crossbench/+/8278334\nBot-Commit: chromium-autoroll@skia-public.iam.gserviceaccount.com \u003cchromium-autoroll@skia-public.iam.gserviceaccount.com\u003e\nCommit-Queue: chromium-autoroll@skia-public.iam.gserviceaccount.com \u003cchromium-autoroll@skia-public.iam.gserviceaccount.com\u003e\n"
    },
    {
      "commit": "06f39d51e72641ba79dd345240c1b7b6cdd3dc27",
      "tree": "edf2ea9c6c8ce974e892ebfd25c0cb98cf1fb892",
      "parents": [
        "148fbbac3e481409dd3724849ac24ca156ee3056"
      ],
      "author": {
        "name": "Igor Kraskevich",
        "email": "kraskevich@google.com",
        "time": "Fri Aug 21 14:06:11 2026"
      },
      "committer": {
        "name": "v8-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "email": "v8-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Fri Aug 21 14:06:11 2026"
      },
      "message": "[web-power] Disable notifications in WebPowerBenchmark\n\nThe allrecipes benchmark triggers a notification banner, we don\u0027t want these banners on any websites\n\nTAG\u003dagy\nCONV\u003df6f12ef4-6c18-4d90-ad2a-0dccf341dcff\n\nChange-Id: I7b200eb63431734e636ed9bb050582a36d4a1a5f\nReviewed-on: https://chromium-review.googlesource.com/c/crossbench/+/8278031\nReviewed-by: Rasika Navarange \u003crasikan@google.com\u003e\nCommit-Queue: Igor Kraskevich \u003ckraskevich@google.com\u003e\n"
    },
    {
      "commit": "148fbbac3e481409dd3724849ac24ca156ee3056",
      "tree": "639277fe8e4c5d5a9d8fb7f4c48f96cf38d75ec5",
      "parents": [
        "7f82020bd03b0fc62f5bd729ddfdd4187d165fdc"
      ],
      "author": {
        "name": "Igor Kraskevich",
        "email": "kraskevich@google.com",
        "time": "Fri Aug 21 11:51:53 2026"
      },
      "committer": {
        "name": "v8-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "email": "v8-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Fri Aug 21 11:51:53 2026"
      },
      "message": "[web-power] Fix default web-power probe behavior\n\nAfter https://chromium-review.git.corp.google.com/c/crossbench/+/8250368 the default web-power probe stopped working.\n\nE.g. `./cb.py web-power-idle --browser\u003dadb:chrome --site\u003dcnn` stopped trying to record any traces at all.\n\nWith this CL:\n- The command above records the traces and compute the ODPM power as expected\n- `--bits-path` tries to run the bits binary (I don\u0027t have the setup for proper end to end testing for that one).\n\nTAG\u003dagy\nCONV\u003d1f7d6fb9-fab3-4775-8073-fa7c7b9568c5\n\nChange-Id: Ie4624c4ee9722244ac5ed9ea3a6337788c9f9e11\nReviewed-on: https://chromium-review.googlesource.com/c/crossbench/+/8274555\nCommit-Queue: Igor Kraskevich \u003ckraskevich@google.com\u003e\nReviewed-by: Rasika Navarange \u003crasikan@google.com\u003e\n"
    },
    {
      "commit": "7f82020bd03b0fc62f5bd729ddfdd4187d165fdc",
      "tree": "db3b7720668faeae499c1db67753913d4ae87f86",
      "parents": [
        "30b57564430d471e9ea77311cd155a182b11c67e"
      ],
      "author": {
        "name": "Elad Alon",
        "email": "eladalon@google.com",
        "time": "Fri Aug 21 09:56:26 2026"
      },
      "committer": {
        "name": "v8-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "email": "v8-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Fri Aug 21 09:56:26 2026"
      },
      "message": "Add telegraph to non-canonical sites\n\nAdd the `telegraph.co.uk` site configuration and WPR archive recording\nto `_NON_CANONICAL_SITES` in `WebPowerStory`.\n\nChange-Id: Ib9339fc181c6fc645bbc44d9be06faa8c01beb6b\nReviewed-on: https://chromium-review.googlesource.com/c/crossbench/+/8274472\nAuto-Submit: Elad Alon \u003celadalon@chromium.org\u003e\nReviewed-by: Igor Kraskevich \u003ckraskevich@google.com\u003e\nCommit-Queue: Igor Kraskevich \u003ckraskevich@google.com\u003e\n"
    },
    {
      "commit": "30b57564430d471e9ea77311cd155a182b11c67e",
      "tree": "8c7f50db5bf21bbd5ce19dca31ffa8357ee49595",
      "parents": [
        "a0d946f2ea7c9847ff52259b14f2ce648f5703ff"
      ],
      "author": {
        "name": "Elad Alon",
        "email": "eladalon@google.com",
        "time": "Fri Aug 21 09:53:58 2026"
      },
      "committer": {
        "name": "v8-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "email": "v8-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Fri Aug 21 09:53:58 2026"
      },
      "message": "Add allrecipes to non-canonical sites\n\nAdd the `allrecipes.com` site configuration and WPR archive recording\nto `_NON_CANONICAL_SITES` in `WebPowerStory`.\n\nChange-Id: Ia0633cfa1957b86ba180e9a0dcc9e89afa99cc36\nReviewed-on: https://chromium-review.googlesource.com/c/crossbench/+/8274471\nReviewed-by: Igor Kraskevich \u003ckraskevich@google.com\u003e\nCommit-Queue: Igor Kraskevich \u003ckraskevich@google.com\u003e\n"
    },
    {
      "commit": "a0d946f2ea7c9847ff52259b14f2ce648f5703ff",
      "tree": "35ab3471b7f7eddf604ea9c0685bf053fbeaf4b7",
      "parents": [
        "d9f20f0948b977355bedb698f81c7a962d55e7e6"
      ],
      "author": {
        "name": "Elad Alon",
        "email": "eladalon@google.com",
        "time": "Fri Aug 21 09:51:56 2026"
      },
      "committer": {
        "name": "v8-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "email": "v8-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Fri Aug 21 09:51:56 2026"
      },
      "message": "Allow filtering non-canonical stories\n\nPreviously, non-canonical sites (such as `yahoo`) were not recognized\nwhen filtering stories in the Web Power benchmarks. Specifying a\nnon-canonical story (e.g. `--stories\u003didle-yahoo`) caused Crossbench to\nfail to find the story and fall back to fuzzy-matching a close default\nstory (e.g. running `idle-ajnews`).\n\nThis CL enables non-canonical story selection:\n- Non-canonical stories can now be explicitly selected by name\n  (e.g. `--stories\u003didle-yahoo` or `--stories\u003dyahoo`).\n- Default runs (e.g. `./cb.py web-power` or `./cb.py web-power-idle`)\n  and scenario tags (e.g. `--stories\u003d#idle`) continue to select only\n  canonical stories.\n- Site availability is properly scoped to relevant scenarios (e.g.\n  `youtube` remains exclusive to `media-playback`).\n\nChange-Id: Ide3fe50d266103d70a384aa6cfb98a858bc3bf24\nReviewed-on: https://chromium-review.googlesource.com/c/crossbench/+/8274609\nReviewed-by: Igor Kraskevich \u003ckraskevich@google.com\u003e\nAuto-Submit: Elad Alon \u003celadalon@chromium.org\u003e\nCommit-Queue: Igor Kraskevich \u003ckraskevich@google.com\u003e\n"
    },
    {
      "commit": "d9f20f0948b977355bedb698f81c7a962d55e7e6",
      "tree": "472547b1d439fd43c38d644f305c7c68801f8e15",
      "parents": [
        "51fd1b13d2d07233b8269c536a420130d4616261"
      ],
      "author": {
        "name": "Elad Alon",
        "email": "eladalon@google.com",
        "time": "Fri Aug 21 09:43:28 2026"
      },
      "committer": {
        "name": "v8-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "email": "v8-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Fri Aug 21 09:43:28 2026"
      },
      "message": "Alias GCS bucket prefix in WebPowerStory\n\nIntroduce `_WEB_POWER_GCS` in `WebPowerStory` to alias the\n`\"gs://chrome-partner-loadline/power\"` prefix. This avoids awkward line\nbreaks and simplifies archive definitions with longer URLs in later CLs.\n\nChange-Id: If35bdd49b530d1428e4634024e76678cf8398afa\nReviewed-on: https://chromium-review.googlesource.com/c/crossbench/+/8274469\nCommit-Queue: Igor Kraskevich \u003ckraskevich@google.com\u003e\nAuto-Submit: Elad Alon \u003celadalon@chromium.org\u003e\nReviewed-by: Igor Kraskevich \u003ckraskevich@google.com\u003e\n"
    },
    {
      "commit": "51fd1b13d2d07233b8269c536a420130d4616261",
      "tree": "a9d673c46b387915545a6196f7d3e692527ae5dd",
      "parents": [
        "56ea538714cd44e7a2400939a94140ca22a7fe7c"
      ],
      "author": {
        "name": "Elad Alon",
        "email": "eladalon@google.com",
        "time": "Fri Aug 21 09:42:23 2026"
      },
      "committer": {
        "name": "v8-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "email": "v8-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Fri Aug 21 09:42:23 2026"
      },
      "message": "Support optional/empty roles in banner dismisser\n\nPreviously, the banner dismisser required an ARIA role to be specified\nin the WPR metadata line, as with:\n    Dismisser target: \u003ctype\u003e,\u003crole\u003e,\"\u003ctext\u003e\",\u003curl\u003e\n\nIf the role was omitted (e.g. `button,,\"Accept All\",...`), the metadata\nparsing regex failed to match, and `dismisser.js` queried for elements\nmatching `button[role\u003d\"\"]`, missing elements without an explicit `role`\nattribute.\n\nChange-Id: I57acc167b0ef381e00f6117a92a99541d04983b6\nReviewed-on: https://chromium-review.googlesource.com/c/crossbench/+/8268186\nReviewed-by: Igor Kraskevich \u003ckraskevich@google.com\u003e\nAuto-Submit: Elad Alon \u003celadalon@chromium.org\u003e\nCommit-Queue: Igor Kraskevich \u003ckraskevich@google.com\u003e\n"
    },
    {
      "commit": "56ea538714cd44e7a2400939a94140ca22a7fe7c",
      "tree": "ec65fa895f5915f906490c585b9930851411639b",
      "parents": [
        "b5cf903bb767342f5877d4a4de20a9cf1cebe0dc"
      ],
      "author": {
        "name": "Elad Alon",
        "email": "eladalon@google.com",
        "time": "Fri Aug 21 09:39:06 2026"
      },
      "committer": {
        "name": "v8-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "email": "v8-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Fri Aug 21 09:39:06 2026"
      },
      "message": "Validate and resolve results directory argument\n\nPreviously, the `upload-results` subcommand used `PathParser.dir_path`\nto validate its `result_dir` argument. This caused issues when passing\nsymlinks (such as `results/latest`), as tarfile archived only the\nsymlink entry rather than the directory contents. Furthermore, any\narbitrary directory could be passed without validating that it was\nactually a Crossbench benchmark output directory.\n\nThis CL introduces a dedicated `results_uploader.result_dir` validator:\n1. Resolves symlinks (including single-hop and chained symlinks) and\n   guards against resolution failures like cyclical symlink loops.\n2. Ensures the target is an existing directory, rejecting files.\n3. Employs a heuristic check for the presence of `cb.results.json`\n   to ensure the directory is a valid benchmark output folder.\n\nChange-Id: I522ca4bc793ccb671597b64190af37f52483ee39\nReviewed-on: https://chromium-review.googlesource.com/c/crossbench/+/8254191\nAuto-Submit: Elad Alon \u003celadalon@chromium.org\u003e\nReviewed-by: Igor Kraskevich \u003ckraskevich@google.com\u003e\nCommit-Queue: Igor Kraskevich \u003ckraskevich@google.com\u003e\n"
    },
    {
      "commit": "b5cf903bb767342f5877d4a4de20a9cf1cebe0dc",
      "tree": "5d8710da625ad5f135da36b893fc66bccbf6dfed",
      "parents": [
        "611fae44c1842f5e000b357d4bc0d7137765ce7f"
      ],
      "author": {
        "name": "Camillo Bruni",
        "email": "cbruni@chromium.org",
        "time": "Thu Aug 20 15:11:15 2026"
      },
      "committer": {
        "name": "v8-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "email": "v8-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Thu Aug 20 15:11:15 2026"
      },
      "message": "Allow local chromium builds with --browser\u003dchrome\n\nLocal \"chrome\" builds are quite often chromium branded.\n\nFor example, a release build name \"chrome\" on linux:\n  % out/rel/chrome --version\n  Chromium 149.0.7795.0\n\nCONV\u003db655c139-3f2b-48b5-84c0-136a0b4a4447\nTAG\u003dagy\n\nFixed: 391378122\nChange-Id: Ie267fbf08edf6c45ea70043333d57c8d51b95894\nReviewed-on: https://chromium-review.googlesource.com/c/crossbench/+/7865404\nReviewed-by: Patrick Thier \u003cpthier@chromium.org\u003e\nCommit-Queue: Camillo Bruni \u003ccbruni@chromium.org\u003e\n"
    },
    {
      "commit": "611fae44c1842f5e000b357d4bc0d7137765ce7f",
      "tree": "d7034b018ad283b9ca0f90539df6385426344527",
      "parents": [
        "857b2820101fff4be36772fc10e92d436a54bd3e"
      ],
      "author": {
        "name": "Camillo Bruni",
        "email": "cbruni@chromium.org",
        "time": "Thu Aug 20 14:38:32 2026"
      },
      "committer": {
        "name": "v8-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "email": "v8-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Thu Aug 20 14:38:32 2026"
      },
      "message": "Clean up config startup handling\n\n- Use --XXX-config as main config paths and convert them to config\n  objects\n- Use XXXConfig.parse_args more consistently\n- Use default_network_config_path as default for\n  --network-config to simplify argument handling\n- Move argument parsing into the subcommand _run method\n\nChange-Id: Ie3e7b59abe814091ef94d65767b35a7551a1b47b\nReviewed-on: https://chromium-review.googlesource.com/c/crossbench/+/8250368\nReviewed-by: Patrick Thier \u003cpthier@chromium.org\u003e\nCommit-Queue: Camillo Bruni \u003ccbruni@chromium.org\u003e\n"
    },
    {
      "commit": "857b2820101fff4be36772fc10e92d436a54bd3e",
      "tree": "9fccedf222ad835fdf7b887ac55c0574649919c2",
      "parents": [
        "934ad59dd33512146d61881faa5662f77c7d5b60"
      ],
      "author": {
        "name": "Dominik Inführ",
        "email": "dinfuehr@chromium.org",
        "time": "Thu Aug 20 08:27:28 2026"
      },
      "committer": {
        "name": "v8-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "email": "v8-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Thu Aug 20 08:27:28 2026"
      },
      "message": "Add cppgc category to gc-analysis.probe.config.hjson\n\nChange-Id: Ia67bf9acdb520da76ad8cd557cb0952d9724f9a1\nReviewed-on: https://chromium-review.googlesource.com/c/crossbench/+/8261138\nReviewed-by: Camillo Bruni \u003ccbruni@chromium.org\u003e\nAuto-Submit: Dominik Inführ \u003cdinfuehr@chromium.org\u003e\nCommit-Queue: Camillo Bruni \u003ccbruni@chromium.org\u003e\n"
    },
    {
      "commit": "934ad59dd33512146d61881faa5662f77c7d5b60",
      "tree": "27175a7661422a890d16e2f2ab1da7ea64086a24",
      "parents": [
        "d165a9f9a57aaf64e64822daf0aa7424f463bae1"
      ],
      "author": {
        "name": "Sharana K U",
        "email": "sharanak@google.com",
        "time": "Wed Aug 19 18:39:59 2026"
      },
      "committer": {
        "name": "v8-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "email": "v8-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Wed Aug 19 18:39:59 2026"
      },
      "message": "benchmark: Add WebXPRT 5 automated benchmark\n\nIntroduce WebXPRT 5 benchmark support to Crossbench.\n\nBug: b:530579426\nTest: vpython3 cb.py webxprt5\nChange-Id: Ia51fcff8f6f4175bbe15be5bb8114203d409dd1a\nReviewed-on: https://chromium-review.googlesource.com/c/crossbench/+/8120550\nReviewed-by: Camillo Bruni \u003ccbruni@chromium.org\u003e\nCommit-Queue: Elad Alon \u003celadalon@chromium.org\u003e\nReviewed-by: Elad Alon \u003celadalon@chromium.org\u003e\n"
    },
    {
      "commit": "d165a9f9a57aaf64e64822daf0aa7424f463bae1",
      "tree": "15998d748fadbf2c940277fc3eebe3bed92f86da",
      "parents": [
        "6f8b0e943d60ab974b6c6e1faa9015892aa2a189"
      ],
      "author": {
        "name": "Sharana K U",
        "email": "sharanak@google.com",
        "time": "Wed Aug 19 18:38:55 2026"
      },
      "committer": {
        "name": "v8-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "email": "v8-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Wed Aug 19 18:38:55 2026"
      },
      "message": "actions: Add wait_for_url_matches action\n\nAdd wait_for_url_matches action to allow waiting until the browser\u0027s\ncurrent URL matches a regex pattern.\nThis helps handle dynamic page redirects and async navigation states,\nwhile gracefully retrying if querying `current_url` temporarily fails.\n\nBug: b:539335440\nTest: vpython3 -m pytest tests/crossbench/runner/test_actions.py\nChange-Id: I893667c7ceb1491f6b5f35f18130ecf9799beec5\nReviewed-on: https://chromium-review.googlesource.com/c/crossbench/+/8182608\nReviewed-by: Camillo Bruni \u003ccbruni@chromium.org\u003e\nCommit-Queue: Elad Alon \u003celadalon@chromium.org\u003e\nReviewed-by: Elad Alon \u003celadalon@chromium.org\u003e\n"
    },
    {
      "commit": "6f8b0e943d60ab974b6c6e1faa9015892aa2a189",
      "tree": "020b0964b9ab27362e6c415cecbbe492b86aced4",
      "parents": [
        "5a9bf87644be09632990d1b6bcb537b56368fa40"
      ],
      "author": {
        "name": "Camillo Bruni",
        "email": "cbruni@chromium.org",
        "time": "Tue Aug 18 07:37:22 2026"
      },
      "committer": {
        "name": "v8-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "email": "v8-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Tue Aug 18 07:37:22 2026"
      },
      "message": "Use more assertRaisesRegex in unittests\n\nChange-Id: Id4ef4bbc2612c2c4e1d7653cf95a9f0e44b81f76\nReviewed-on: https://chromium-review.googlesource.com/c/crossbench/+/8250820\nReviewed-by: Patrick Thier \u003cpthier@chromium.org\u003e\nCommit-Queue: Patrick Thier \u003cpthier@chromium.org\u003e\nAuto-Submit: Camillo Bruni \u003ccbruni@chromium.org\u003e\n"
    },
    {
      "commit": "5a9bf87644be09632990d1b6bcb537b56368fa40",
      "tree": "d4c6ca06e9efa34fe68a70800e8d26750486de30",
      "parents": [
        "98b5ff69cfec93bbdb98695850e7a15cc82101de"
      ],
      "author": {
        "name": "Elad Alon",
        "email": "eladalon@google.com",
        "time": "Mon Aug 17 20:54:53 2026"
      },
      "committer": {
        "name": "v8-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "email": "v8-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Mon Aug 17 20:54:53 2026"
      },
      "message": "Roll crossbench-internal from 075b19523dcc to 4a1b48bd84bc (1 revision)\n\nhttps://chrome-internal.googlesource.com/crossbench/crossbench-internal.git/+log/075b19523dcc..4a1b48bd84bc\n\n2026-07-24 eladalon@google.com Remove obsolete README file\n\nBug: none\nChange-Id: Ib0870e3da60136ff957d323822b19c5478ce0e66\nReviewed-on: https://chromium-review.googlesource.com/c/crossbench/+/8260991\nAuto-Submit: Elad Alon \u003celadalon@chromium.org\u003e\nReviewed-by: Victor Vianna \u003cvictorvianna@google.com\u003e\nCommit-Queue: Victor Vianna \u003cvictorvianna@google.com\u003e\n"
    },
    {
      "commit": "98b5ff69cfec93bbdb98695850e7a15cc82101de",
      "tree": "60242e7d5ab73a3e9cdeb373a03b40a97e3aac30",
      "parents": [
        "be66f39c6e6d54ffae18a570ad038e7900aebfa8"
      ],
      "author": {
        "name": "John Chen",
        "email": "johnchen@chromium.org",
        "time": "Mon Aug 17 19:13:29 2026"
      },
      "committer": {
        "name": "v8-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "email": "v8-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Mon Aug 17 19:13:29 2026"
      },
      "message": "Remove former perf members from crossbench WATCHLIST\n\nFaridzad and I are no longer working on Chrome perf, so removing us\nfrom crossbench WATCHLIST.\n\nChange-Id: I0bca5a925c15f0251b70f5904c415b375f05c8ad\nReviewed-on: https://chromium-review.googlesource.com/c/crossbench/+/8252836\nCommit-Queue: John Chen \u003cjohnchen@chromium.org\u003e\nReviewed-by: Farid (Mojtaba) Faridzad \u003cfaridzad@google.com\u003e\nAuto-Submit: John Chen \u003cjohnchen@chromium.org\u003e\n"
    },
    {
      "commit": "be66f39c6e6d54ffae18a570ad038e7900aebfa8",
      "tree": "e31b2a18d0fb6b4369c506a71adeba93c0225ba6",
      "parents": [
        "a4e68d8be15e5c895ffce476b555be1caa5d3947"
      ],
      "author": {
        "name": "Camillo Bruni",
        "email": "cbruni@chromium.org",
        "time": "Mon Aug 17 08:08:15 2026"
      },
      "committer": {
        "name": "v8-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "email": "v8-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Mon Aug 17 08:08:15 2026"
      },
      "message": "Support home-dir paths in platform.which by default\n\n- Use expanduser in platform.which and search_binary by default.\n- Ensure we do consistent empty-path checks for search_binary\n  and which helpers\n\nChange-Id: I9671f7d3e723ce3aaffc64e61ecf476f66422b4f\nReviewed-on: https://chromium-review.googlesource.com/c/crossbench/+/8243089\nReviewed-by: Victor Vianna \u003cvictorvianna@google.com\u003e\nAuto-Submit: Camillo Bruni \u003ccbruni@chromium.org\u003e\nCommit-Queue: Camillo Bruni \u003ccbruni@chromium.org\u003e\n"
    },
    {
      "commit": "a4e68d8be15e5c895ffce476b555be1caa5d3947",
      "tree": "b379c3022171f92cfbcfbc3feb2a9c692341e254",
      "parents": [
        "089a8036353e68e8b6d230f6e2f8be39cfbafd7c"
      ],
      "author": {
        "name": "Camillo Bruni",
        "email": "cbruni@chromium.org",
        "time": "Mon Aug 17 08:07:10 2026"
      },
      "committer": {
        "name": "v8-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "email": "v8-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Mon Aug 17 08:07:10 2026"
      },
      "message": "Add chromium paths to Binaries.ADB\n\nChange-Id: Iaa378270d3af7b9923306bbbef07e093f1ec8d3b\nReviewed-on: https://chromium-review.googlesource.com/c/crossbench/+/8232719\nReviewed-by: Victor Vianna \u003cvictorvianna@google.com\u003e\nAuto-Submit: Camillo Bruni \u003ccbruni@chromium.org\u003e\nCommit-Queue: Camillo Bruni \u003ccbruni@chromium.org\u003e\n"
    },
    {
      "commit": "089a8036353e68e8b6d230f6e2f8be39cfbafd7c",
      "tree": "e83ddb25042d1c74f8e9c6758a45a30a80e0ca8f",
      "parents": [
        "8b9e0b56d7552e1fc66fcb7e28b755bb1d90fa89"
      ],
      "author": {
        "name": "Igor Kraskevich",
        "email": "kraskevich@google.com",
        "time": "Thu Aug 13 16:39:58 2026"
      },
      "committer": {
        "name": "v8-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "email": "v8-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Thu Aug 13 16:39:58 2026"
      },
      "message": "web-power: support inline video playback\n\nThis isn\u0027t a part of the official workload so the default behavior doesn\u0027t change. Controlled using `--no-fullscreen`.\n\nChange-Id: Ibc082fc2ca52f2ee3867ef1c575d2e1589f3ac8a\nReviewed-on: https://chromium-review.googlesource.com/c/crossbench/+/8256361\nReviewed-by: Rasika Navarange \u003crasikan@google.com\u003e\nCommit-Queue: Igor Kraskevich \u003ckraskevich@google.com\u003e\n"
    },
    {
      "commit": "8b9e0b56d7552e1fc66fcb7e28b755bb1d90fa89",
      "tree": "65ac7186dabf7c54c5abad7ba3aaf2fe657d0113",
      "parents": [
        "434bf170892860802e36fbe0078e75b1727cbc29"
      ],
      "author": {
        "name": "Eriko Kurimoto",
        "email": "elkurin@chromium.org",
        "time": "Thu Aug 13 08:10:27 2026"
      },
      "committer": {
        "name": "v8-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "email": "v8-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Thu Aug 13 08:10:27 2026"
      },
      "message": "WaaP: Update InitialWebUI flags in browser startup benchmark config\n\nThis updates the command-line flags for the initial_webui benchmark configuration:\n- Adds without_spellcheck and without_translate parameters to InitialWebUI.\n- Disables WebUIReloadButtonDeferBrowserViewShow and enables WebUIReloadButtonPrewarmWebUIPreNavigate.\n- Removes SkipIPCChannelPausingForNonGuests.\n- Enables InitialWebUISurfaceSync, BypassOutdatedSurfaceActivation, and OnlyUseWindowResizeHelperOnResize.\n\nBug: 458578081\nChange-Id: Ic5d3e135bcd949f838c3ebd9521ba4a0dc57abd9\nReviewed-on: https://chromium-review.googlesource.com/c/crossbench/+/8210442\nAuto-Submit: Eriko Kurimoto \u003celkurin@chromium.org\u003e\nReviewed-by: Camillo Bruni \u003ccbruni@chromium.org\u003e\nCommit-Queue: Camillo Bruni \u003ccbruni@chromium.org\u003e\n"
    },
    {
      "commit": "434bf170892860802e36fbe0078e75b1727cbc29",
      "tree": "c98292f59a653367d2271e316e395a81c2df536e",
      "parents": [
        "c23c2c9f6bfdb3204db2cacb50d9df6d7822a0ae"
      ],
      "author": {
        "name": "chromium-autoroll@skia-public.iam.gserviceaccount.com",
        "email": "chromium-autoroll@skia-public.iam.gserviceaccount.com",
        "time": "Thu Aug 13 07:40:28 2026"
      },
      "committer": {
        "name": "v8-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "email": "v8-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Thu Aug 13 07:40:28 2026"
      },
      "message": "Roll Buildtools from bcbce0cf534a to 4277578aa9c4 (1 revision)\n\nhttps://chromium.googlesource.com/chromium/src/buildtools.git/+log/bcbce0cf534a..4277578aa9c4\n\n2026-08-13 ovsienko@google.com Ruff: reformat buildtools.\n\nIf this roll has caused a breakage, revert this CL and stop the roller\nusing the controls here:\nhttps://autoroll.skia.org/r/buildtools-crossbench\nPlease CC cbruni@google.com,crossbench@chromium.org,v8-waterfall-gardener@rotations.google.com on the revert to ensure that a human\nis aware of the problem.\n\nTo file a bug in Crossbench: https://issues.chromium.org/issues/new?component\u003d1456712\n\nTo report a problem with the AutoRoller itself, please file a bug:\nhttps://issues.skia.org/issues/new?component\u003d1389291\u0026template\u003d1850622\n\nDocumentation for the AutoRoller is here:\nhttps://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md\n\nTbr: v8-waterfall-gardener@rotations.google.com\nChange-Id: Ie913f29d90293be1d05c73000a52a38fa974ba66\nReviewed-on: https://chromium-review.googlesource.com/c/crossbench/+/8252941\nCommit-Queue: chromium-autoroll@skia-public.iam.gserviceaccount.com \u003cchromium-autoroll@skia-public.iam.gserviceaccount.com\u003e\nBot-Commit: chromium-autoroll@skia-public.iam.gserviceaccount.com \u003cchromium-autoroll@skia-public.iam.gserviceaccount.com\u003e\n"
    },
    {
      "commit": "c23c2c9f6bfdb3204db2cacb50d9df6d7822a0ae",
      "tree": "08019ee3fea5f1219a300ae4c54023a7a1a0bd0d",
      "parents": [
        "181cd28f95cc91980e5c8012ac01d624969b4903"
      ],
      "author": {
        "name": "Camillo Bruni",
        "email": "cbruni@chromium.org",
        "time": "Wed Aug 12 15:32:19 2026"
      },
      "committer": {
        "name": "v8-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "email": "v8-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Wed Aug 12 15:32:19 2026"
      },
      "message": "Implement NetworkConfig.is_default\n\nUse a singleton/sentinel object for the default \"not-set\" live\nNetwork and use it for implementing an is_default() helper.\n\nThis allows us to remove args.has_explicit_network and drop a few\nmore getattrs on the way.\n\nChange-Id: If91a5d62eaf782958f5c20aa1162886f06a96ce3\nReviewed-on: https://chromium-review.googlesource.com/c/crossbench/+/8070696\nReviewed-by: Elad Alon \u003celadalon@chromium.org\u003e\nCommit-Queue: Camillo Bruni \u003ccbruni@chromium.org\u003e\n"
    },
    {
      "commit": "181cd28f95cc91980e5c8012ac01d624969b4903",
      "tree": "16737fbb30afba241abc5075672bf743ef3ac091",
      "parents": [
        "6a1c27bc27ac52f305081758eed15de8d8327737"
      ],
      "author": {
        "name": "Camillo Bruni",
        "email": "cbruni@chromium.org",
        "time": "Wed Aug 12 13:24:27 2026"
      },
      "committer": {
        "name": "v8-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "email": "v8-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Wed Aug 12 13:24:27 2026"
      },
      "message": "Clean up Platform.crossbench_details\n\n- Only run on local platforms\n- Use platform shell helpers\n- Update tests\n\nChange-Id: I4237c4c983851912cda054a3f6c1005671b72da1\nReviewed-on: https://chromium-review.googlesource.com/c/crossbench/+/8234640\nAuto-Submit: Camillo Bruni \u003ccbruni@chromium.org\u003e\nReviewed-by: Patrick Thier \u003cpthier@chromium.org\u003e\nCommit-Queue: Patrick Thier \u003cpthier@chromium.org\u003e\n"
    },
    {
      "commit": "6a1c27bc27ac52f305081758eed15de8d8327737",
      "tree": "fc5a1942796358bcbdf8bc5823ed3eb36ab23bbe",
      "parents": [
        "93fa4809268f7fb767c27fc0e0f05c20c47c5fc1"
      ],
      "author": {
        "name": "Elad Alon",
        "email": "eladalon@google.com",
        "time": "Tue Aug 11 15:00:08 2026"
      },
      "committer": {
        "name": "v8-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "email": "v8-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Tue Aug 11 15:00:08 2026"
      },
      "message": "Bump Web-Power version to 1.1.4 and update README.md\n\nChange-Id: I4cc48e6ca56419e6ea1d3522356573bc2cb75a90\nReviewed-on: https://chromium-review.googlesource.com/c/crossbench/+/8235083\nReviewed-by: Igor Kraskevich \u003ckraskevich@google.com\u003e\nCommit-Queue: Elad Alon \u003celadalon@chromium.org\u003e\n"
    },
    {
      "commit": "93fa4809268f7fb767c27fc0e0f05c20c47c5fc1",
      "tree": "07ef94b286c7c3bae17e4f74ddba21f1d219d27f",
      "parents": [
        "eb92c0f342c61debaf226617f41bdc7a97689940"
      ],
      "author": {
        "name": "Elad Alon",
        "email": "eladalon@google.com",
        "time": "Tue Aug 11 14:59:04 2026"
      },
      "committer": {
        "name": "v8-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "email": "v8-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Tue Aug 11 14:59:04 2026"
      },
      "message": "Make target_url optional in upload-results\n\nMake the `target_url` argument optional in the `upload-results` CLI\nsubcommand by allowing it to default to the\n`CROSSBENCH_RESULT_UPLOAD_TARGET` environment variable when omitted.\n\nChange-Id: I6515af00771060621dcd95fec25252192a303ecc\nReviewed-on: https://chromium-review.googlesource.com/c/crossbench/+/8233281\nReviewed-by: Igor Kraskevich \u003ckraskevich@google.com\u003e\nCommit-Queue: Elad Alon \u003celadalon@chromium.org\u003e\n"
    },
    {
      "commit": "eb92c0f342c61debaf226617f41bdc7a97689940",
      "tree": "f24a8c1351d7408c26ea47e03a259b1f360d6aba",
      "parents": [
        "86f21c6fa831a6287c778d7c4a62b7ee8e83d680"
      ],
      "author": {
        "name": "Elad Alon",
        "email": "eladalon@google.com",
        "time": "Tue Aug 11 14:51:33 2026"
      },
      "committer": {
        "name": "v8-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "email": "v8-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Tue Aug 11 14:51:33 2026"
      },
      "message": "Offload git patch creation to repo-status probe\n\nOffload repository patch diff (`patch.diff`) generation during runner\nsetup from `Runner._setup` into a dedicated non-configurable internal\nprobe called `repo-status`.\n\nThis introduces `RepoStatusProbe` in `crossbench/probes/repo_status.py`,\nregisters it under `NON_CONFIGURABLE_INTERNAL_PROBES` in\n`crossbench/probes/all.py`, and removes the legacy inline\n`_setup_git_patch` logic from `crossbench/runner/runner.py`.\n\nChange-Id: I5f7d872cb93ce291975afea3d0083d85ea2d72a3\nReviewed-on: https://chromium-review.googlesource.com/c/crossbench/+/8234480\nReviewed-by: Igor Kraskevich \u003ckraskevich@google.com\u003e\nReviewed-by: Camillo Bruni \u003ccbruni@chromium.org\u003e\nCommit-Queue: Elad Alon \u003celadalon@chromium.org\u003e\n"
    },
    {
      "commit": "86f21c6fa831a6287c778d7c4a62b7ee8e83d680",
      "tree": "0ad9a9c3f7bd8cbe24c10d96560c52528731829f",
      "parents": [
        "6d60f5707424e1c6706e877cc886c57a2bf2e4e1"
      ],
      "author": {
        "name": "Elad Alon",
        "email": "eladalon@google.com",
        "time": "Tue Aug 11 14:48:23 2026"
      },
      "committer": {
        "name": "v8-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "email": "v8-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Tue Aug 11 14:48:23 2026"
      },
      "message": "Validate probe name in Runner.has_probe and add tests\n\nValidate that the probe name passed to Runner.has_probe exists in\nall_probes.PROBE_LOOKUP, raising a ValueError for unknown probe names\nto mirror the behavior of Runner.is_probe_disabled.\n\nUpdate internal probe checking in Runner.attach_probe and\nRunner._setup_validate_browser to check `probe.name in self._probes`\ndirectly so that internal non-configurable probes can be attached\nwithout triggering the lookup check.\n\nChange-Id: I8385dd84ff8749665215a06d091565be42d9de02\nReviewed-on: https://chromium-review.googlesource.com/c/crossbench/+/8239411\nAuto-Submit: Elad Alon \u003celadalon@chromium.org\u003e\nReviewed-by: Camillo Bruni \u003ccbruni@chromium.org\u003e\nCommit-Queue: Camillo Bruni \u003ccbruni@chromium.org\u003e\n"
    },
    {
      "commit": "6d60f5707424e1c6706e877cc886c57a2bf2e4e1",
      "tree": "7c32bea0b2fb44e1a19b93ec67681f4d634605c9",
      "parents": [
        "ffd785753daa0fbd252de5b55b4144e68958b101"
      ],
      "author": {
        "name": "chromium-autoroll@skia-public.iam.gserviceaccount.com",
        "email": "chromium-autoroll@skia-public.iam.gserviceaccount.com",
        "time": "Tue Aug 11 12:20:19 2026"
      },
      "committer": {
        "name": "v8-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "email": "v8-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Tue Aug 11 12:20:19 2026"
      },
      "message": "Roll Buildtools from 9e7655f4ee43 to bcbce0cf534a (1 revision)\n\nhttps://chromium.googlesource.com/chromium/src/buildtools.git/+log/9e7655f4ee43..bcbce0cf534a\n\n2026-08-11 liza@chromium.org Reland \"Roll libc++ from b16984ce99c7 to 97b436da4c33 (215 revisions)\"\n\nIf this roll has caused a breakage, revert this CL and stop the roller\nusing the controls here:\nhttps://autoroll.skia.org/r/buildtools-crossbench\nPlease CC cbruni@google.com,crossbench@chromium.org,v8-waterfall-gardener@rotations.google.com on the revert to ensure that a human\nis aware of the problem.\n\nTo file a bug in Crossbench: https://issues.chromium.org/issues/new?component\u003d1456712\n\nTo report a problem with the AutoRoller itself, please file a bug:\nhttps://issues.skia.org/issues/new?component\u003d1389291\u0026template\u003d1850622\n\nDocumentation for the AutoRoller is here:\nhttps://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md\n\nTbr: v8-waterfall-gardener@rotations.google.com\nChange-Id: I65b9d40969da4e5688d048ef040daa56c2f564c1\nReviewed-on: https://chromium-review.googlesource.com/c/crossbench/+/8236536\nCommit-Queue: chromium-autoroll@skia-public.iam.gserviceaccount.com \u003cchromium-autoroll@skia-public.iam.gserviceaccount.com\u003e\nBot-Commit: chromium-autoroll@skia-public.iam.gserviceaccount.com \u003cchromium-autoroll@skia-public.iam.gserviceaccount.com\u003e\n"
    },
    {
      "commit": "ffd785753daa0fbd252de5b55b4144e68958b101",
      "tree": "acdc753b9ec472d07279b5980d205be4633de9d7",
      "parents": [
        "3ad5119a1a8445046927fb0a3d35470626043ce5"
      ],
      "author": {
        "name": "Victor Hugo Vianna Silva",
        "email": "victorvianna@google.com",
        "time": "Tue Aug 11 12:15:10 2026"
      },
      "committer": {
        "name": "v8-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "email": "v8-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Tue Aug 11 12:15:10 2026"
      },
      "message": "Accept more _apk and _bundle\n\nBug: 479547498\nChange-Id: I908242f792bebde23757bfeb830c3f0a0c4ab217\nReviewed-on: https://chromium-review.googlesource.com/c/crossbench/+/8233542\nCommit-Queue: Victor Vianna \u003cvictorvianna@google.com\u003e\nReviewed-by: Camillo Bruni \u003ccbruni@chromium.org\u003e\n"
    },
    {
      "commit": "3ad5119a1a8445046927fb0a3d35470626043ce5",
      "tree": "b0d77b464dd7039211821a2f94c728147c96ed97",
      "parents": [
        "782545b597269b036f151e73e6bbeced4c7279a8"
      ],
      "author": {
        "name": "Elad Alon",
        "email": "eladalon@google.com",
        "time": "Tue Aug 11 10:34:24 2026"
      },
      "committer": {
        "name": "v8-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "email": "v8-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Tue Aug 11 10:34:24 2026"
      },
      "message": "Create patch.diff in results directory during benchmark setup\n\nMove git diff patch generation from the upload phase to benchmark setup\nin Runner._setup().\n\nPreviously, git diff patch generation was performed conditionally\nin-memory during results upload.\n\nThis CL generates patch.diff unconditionally relative to the canonical\nparent hash during initial runner setup, writing a single patch.diff\nfile to the root of the benchmark output directory.\n\nThanks to this change, it is possible to upload results a few days\nafter they are collected, and not risk reporting the wrong set of\nuncommitted changes.\n\nChange-Id: Ia9aa89004f68c6ec841d9110e0c8c4c53b4f5b5e\nReviewed-on: https://chromium-review.googlesource.com/c/crossbench/+/8233099\nReviewed-by: Camillo Bruni \u003ccbruni@chromium.org\u003e\nCommit-Queue: Elad Alon \u003celadalon@chromium.org\u003e\n"
    },
    {
      "commit": "782545b597269b036f151e73e6bbeced4c7279a8",
      "tree": "e7a18424184092f2d5e8e65aae1dccebe7ab73f4",
      "parents": [
        "62acb6e1a2590cbeee39dae2bfb4317774c52606"
      ],
      "author": {
        "name": "Elad Alon",
        "email": "eladalon@google.com",
        "time": "Tue Aug 11 10:19:58 2026"
      },
      "committer": {
        "name": "v8-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "email": "v8-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Tue Aug 11 10:19:58 2026"
      },
      "message": "Add Runner.is_probe_disabled method to check if a probe is disabled\n\nIntroduce `Runner.is_probe_disabled(name)` to query whether a given\nprobe has been explicitly disabled. The method verifies that `name`\ncorresponds to a known probe (raising `ValueError` if unknown) and\nreturns whether it is present in the runner\u0027s disabled probes list.\n\nAlso update existing probe runner tests in\n`tests/crossbench/runner/test_runner_probes.py` to use valid probe\nnames (\"js\", \"perfetto\") and add dedicated unit tests for\n`is_probe_disabled`.\n\nChange-Id: I6e87ab1f9f299c1991f051764d929984820a0883\nReviewed-on: https://chromium-review.googlesource.com/c/crossbench/+/8232799\nReviewed-by: Camillo Bruni \u003ccbruni@chromium.org\u003e\nCommit-Queue: Elad Alon \u003celadalon@chromium.org\u003e\n"
    },
    {
      "commit": "62acb6e1a2590cbeee39dae2bfb4317774c52606",
      "tree": "60d52c6e972e31e65dfd75a091ac78ff4c4160df",
      "parents": [
        "4cbf8e4b85cf4e75e1efdba0c0ea0911387a9beb"
      ],
      "author": {
        "name": "Elad Alon",
        "email": "eladalon@google.com",
        "time": "Tue Aug 11 10:18:54 2026"
      },
      "committer": {
        "name": "v8-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "email": "v8-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Tue Aug 11 10:18:54 2026"
      },
      "message": "Add upload_results standalone script and CLI utility\n\nAdd `upload_results.py`, a standalone script for uploading previously\ncollected benchmark results to a remote storage location (e.g. GCS).\n\nChange-Id: I8447f7ca6b79d7f1b9ef58482c9d0f5f4af20c5e\nReviewed-on: https://chromium-review.googlesource.com/c/crossbench/+/8233178\nCommit-Queue: Elad Alon \u003celadalon@chromium.org\u003e\nReviewed-by: Igor Kraskevich \u003ckraskevich@google.com\u003e\nReviewed-by: Camillo Bruni \u003ccbruni@chromium.org\u003e\n"
    },
    {
      "commit": "4cbf8e4b85cf4e75e1efdba0c0ea0911387a9beb",
      "tree": "667664a580d7b15699f24d41110d304ee1b2ba35",
      "parents": [
        "477fa8890283ecf42e151eb13d406f474245d0bd"
      ],
      "author": {
        "name": "Elad Alon",
        "email": "eladalon@google.com",
        "time": "Tue Aug 11 10:10:04 2026"
      },
      "committer": {
        "name": "v8-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "email": "v8-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Tue Aug 11 10:10:04 2026"
      },
      "message": "Validate DEPS dependencies in RunnerEnv\n\nIn standalone git checkouts, validate via `git status` that submodules\nand DEPS dependencies are up to date during `RunnerEnv.validate()`,\nand prompt to run `gclient sync` when out of sync.\n\nChange-Id: I81addc56b39b556048694c6b20efe777b7311500\nReviewed-on: https://chromium-review.googlesource.com/c/crossbench/+/8202732\nReviewed-by: Camillo Bruni \u003ccbruni@chromium.org\u003e\nCommit-Queue: Elad Alon \u003celadalon@chromium.org\u003e\n"
    },
    {
      "commit": "477fa8890283ecf42e151eb13d406f474245d0bd",
      "tree": "acd3f62d97718bb992735b2f627bdc8584277dac",
      "parents": [
        "ebca76dc61cdd3fd539b2456c589be05940cf75b"
      ],
      "author": {
        "name": "Elad Alon",
        "email": "eladalon@google.com",
        "time": "Mon Aug 10 16:52:15 2026"
      },
      "committer": {
        "name": "v8-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "email": "v8-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Mon Aug 10 16:52:15 2026"
      },
      "message": "Add iOS Simulator support to IOSPlatform and SafariWebdriverIOS\n\nIt\u0027s hard to think of a case when one would genuinely need to run\nbenchmarks on a simulator. But simulators are still often useful\nfor crossbench developer when working on the benchmark themselves,\nas simulators  allow benchmark development when a relevant device\nis not immediately available.\n\nThis CL extends device discovery in ios_devices() to list booted iOS\nsimulators using `xcrun simctl list devices` alongside physical devices\nfrom devicectl. This brings iOS behavior in line with Android, where we\nalready allow running benchmarks on the simulators.\n\nChange-Id: I4a6af6879782d54442637297408e1b77347f9035\nReviewed-on: https://chromium-review.googlesource.com/c/crossbench/+/8221568\nReviewed-by: Camillo Bruni \u003ccbruni@chromium.org\u003e\nCommit-Queue: Elad Alon \u003celadalon@chromium.org\u003e\n"
    },
    {
      "commit": "ebca76dc61cdd3fd539b2456c589be05940cf75b",
      "tree": "aaffba1125ccfe785dc951765f5a3cbb2bb68397",
      "parents": [
        "9a188e8aba7493c790868c78d04b41ec2c52a856"
      ],
      "author": {
        "name": "Elad Alon",
        "email": "eladalon@google.com",
        "time": "Mon Aug 10 15:32:28 2026"
      },
      "committer": {
        "name": "v8-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "email": "v8-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Mon Aug 10 15:32:28 2026"
      },
      "message": "Remove unused `show_all` parameter from `ios_devices`\n\nRemove the `show_all` parameter from `ios_devices()`. The parameter\ndefaulted to `False` and was never overridden or passed by any callers.\n\nChange-Id: I1437c2ac76ddbae08bc0a62f1f1d1f385be9a21e\nReviewed-on: https://chromium-review.googlesource.com/c/crossbench/+/8226927\nAuto-Submit: Elad Alon \u003celadalon@chromium.org\u003e\nReviewed-by: Camillo Bruni \u003ccbruni@chromium.org\u003e\nCommit-Queue: Camillo Bruni \u003ccbruni@chromium.org\u003e\n"
    },
    {
      "commit": "9a188e8aba7493c790868c78d04b41ec2c52a856",
      "tree": "300f22af52baddc526fc2816c5eb0b815b674a62",
      "parents": [
        "e10066e5e3044cc7d27d6d30bf08164ea25d41a2"
      ],
      "author": {
        "name": "Victor Hugo Vianna Silva",
        "email": "victorvianna@google.com",
        "time": "Mon Aug 10 14:03:36 2026"
      },
      "committer": {
        "name": "v8-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "email": "v8-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Mon Aug 10 14:03:36 2026"
      },
      "message": "Remove transitive dependencies from vpython.toml\n\nChange-Id: I9eb0c88dc3ee654601b52191711726ffc7d5d6a6\nReviewed-on: https://chromium-review.googlesource.com/c/crossbench/+/8223265\nReviewed-by: Camillo Bruni \u003ccbruni@chromium.org\u003e\nCommit-Queue: Victor Vianna \u003cvictorvianna@google.com\u003e\n"
    },
    {
      "commit": "e10066e5e3044cc7d27d6d30bf08164ea25d41a2",
      "tree": "2091a817e6eb574bea727483cd1f8dd94a1a8a32",
      "parents": [
        "4b6b619a4bf65ef82bf3218b866d3cb0e997c6f3"
      ],
      "author": {
        "name": "Victor Hugo Vianna Silva",
        "email": "victorvianna@google.com",
        "time": "Mon Aug 10 14:02:31 2026"
      },
      "committer": {
        "name": "v8-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "email": "v8-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Mon Aug 10 14:02:31 2026"
      },
      "message": "vpython: opt in crossbench onto UV vpython.\n\nPerformance gains in synthetic tests:\n\nOld vpython3 cold startup w/o cache (full download): 146 seconds\nNew UV backed Vpython3 cold startup w/o cache (full download): 15\nseconds\n\nIn real life scenarios UV can start up even faster with 5 seconds and under.\n\nBug: 491263752\nChange-Id: I63067d24d56c019b999823dba6087ca829ae99e7\nReviewed-on: https://chromium-review.googlesource.com/c/crossbench/+/8214220\nReviewed-by: Camillo Bruni \u003ccbruni@chromium.org\u003e\nCommit-Queue: Victor Vianna \u003cvictorvianna@google.com\u003e\n"
    },
    {
      "commit": "4b6b619a4bf65ef82bf3218b866d3cb0e997c6f3",
      "tree": "033e84754e7be283fa8007e6b6e77467da60e48a",
      "parents": [
        "f2f302aa8142a4c91869d62dff968548a13e01d6"
      ],
      "author": {
        "name": "Elad Alon",
        "email": "eladalon@google.com",
        "time": "Fri Aug 07 18:41:20 2026"
      },
      "committer": {
        "name": "v8-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "email": "v8-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Fri Aug 07 18:41:20 2026"
      },
      "message": "Bump Web-Power version to 1.1.3 and update README.md\n\nChange-Id: I8d892db1a84a980aae2c4c8feaf2ecba7f425468\nReviewed-on: https://chromium-review.googlesource.com/c/crossbench/+/8226224\nReviewed-by: Igor Kraskevich \u003ckraskevich@google.com\u003e\nCommit-Queue: Elad Alon \u003celadalon@chromium.org\u003e\n"
    },
    {
      "commit": "f2f302aa8142a4c91869d62dff968548a13e01d6",
      "tree": "de2f75a8fb9f4a8377ccfd84db112b08b37d7491",
      "parents": [
        "6423f30d7ced32b24acc63178459aa917778ebc8"
      ],
      "author": {
        "name": "Elad Alon",
        "email": "eladalon@google.com",
        "time": "Fri Aug 07 18:40:16 2026"
      },
      "committer": {
        "name": "v8-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "email": "v8-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Fri Aug 07 18:40:16 2026"
      },
      "message": "Support --upload-results without an explicit value\n\nPreviously, --upload-results required an explicit value (the target).\nTo save people typing and encourage compliance, we now support users\nsetting an environment variable, CROSSBENCH_RESULT_UPLOAD_TARGET;\nif --upload-results is called without a value, we infer\n--upload-results\u003d${CROSSBENCH_RESULT_UPLOAD_TARGET}\n\nPrecedents of this pattern in Crossbench include:\n- ANDROID_ADB_SERVER_PORT\n- NO_COLOR\n\nChange-Id: I1c61656ee9ef34e4b14e151abc8a3b76f3c2516c\nReviewed-on: https://chromium-review.googlesource.com/c/crossbench/+/8222604\nReviewed-by: Igor Kraskevich \u003ckraskevich@google.com\u003e\nCommit-Queue: Elad Alon \u003celadalon@chromium.org\u003e\n"
    },
    {
      "commit": "6423f30d7ced32b24acc63178459aa917778ebc8",
      "tree": "cf076915c827f66be0acec553aa2aa4a75cd15f5",
      "parents": [
        "e4d7f29ba1ded181182afb156396c0a0e6146069"
      ],
      "author": {
        "name": "Elad Alon",
        "email": "eladalon@google.com",
        "time": "Fri Aug 07 14:43:02 2026"
      },
      "committer": {
        "name": "v8-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "email": "v8-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Fri Aug 07 14:43:02 2026"
      },
      "message": "Bump Web-Power version to 1.1.2 and update README.md\n\nChange-Id: I2f8efb25008f32f4a7ddb881776ab22d408adf97\nReviewed-on: https://chromium-review.googlesource.com/c/crossbench/+/8224644\nReviewed-by: Igor Kraskevich \u003ckraskevich@google.com\u003e\nCommit-Queue: Elad Alon \u003celadalon@chromium.org\u003e\n"
    },
    {
      "commit": "e4d7f29ba1ded181182afb156396c0a0e6146069",
      "tree": "bcfab136e7e80cfd15c528e905dfd1536ccd4a99",
      "parents": [
        "2cc590818ec92c663b69169a511c484cdc12ea41"
      ],
      "author": {
        "name": "Elad Alon",
        "email": "eladalon@google.com",
        "time": "Fri Aug 07 14:41:57 2026"
      },
      "committer": {
        "name": "v8-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "email": "v8-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Fri Aug 07 14:41:57 2026"
      },
      "message": "Include local git patch in uploaded benchmark results archive\n\nWhen exporting and uploading benchmark results, embed a diff.patch file\nin the archived results containing any local changes relative to\n`canonical_parent_hash` (reported in cb.system.details.json).\n\nThis allows anyone who receives the exported results to re-run the\nbenchmark on their own setup, mimicking correctly the setup that was\ninitially used, as they can now reproduce the Crossbench state as well.\n\nChange-Id: I8e67cda51bd54501130978b0547667a5c7541f4b\nReviewed-on: https://chromium-review.googlesource.com/c/crossbench/+/8224802\nCommit-Queue: Elad Alon \u003celadalon@chromium.org\u003e\nReviewed-by: Igor Kraskevich \u003ckraskevich@google.com\u003e\n"
    },
    {
      "commit": "2cc590818ec92c663b69169a511c484cdc12ea41",
      "tree": "08ab5c62159b9c81ab6a4ce6029ce20ead37c133",
      "parents": [
        "885170833cef8a43f7c1d8ededd88e197a3436cf"
      ],
      "author": {
        "name": "Elad Alon",
        "email": "eladalon@google.com",
        "time": "Fri Aug 07 14:27:27 2026"
      },
      "committer": {
        "name": "v8-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "email": "v8-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Fri Aug 07 14:27:27 2026"
      },
      "message": "Add --upload-results\n\nThis flag compresses and uploads benchmark results to remote storage.\n\nWe start out with support for Google Cloud Storage. The design is\nextensible to other upload schemes (e.g. Google Drive) through\nsubclassing BaseUploader and implementing a single method, upload().\n\nDuring compression we also fix any symlinks, ensuring they refer\nto relative paths, so that they\u0027d be useful on other devices as well.\n\nChange-Id: I6c6188af862d896a3e278196169045c1ffe58c86\nReviewed-on: https://chromium-review.googlesource.com/c/crossbench/+/8218507\nCommit-Queue: Elad Alon \u003celadalon@chromium.org\u003e\nReviewed-by: Igor Kraskevich \u003ckraskevich@google.com\u003e\n"
    },
    {
      "commit": "885170833cef8a43f7c1d8ededd88e197a3436cf",
      "tree": "e830b9b39faa0e08895462d82ae5f254c5ad3c02",
      "parents": [
        "fa005d587c7d461b3d621d7fb1fa7ef90281e97f"
      ],
      "author": {
        "name": "chromium-autoroll@skia-public.iam.gserviceaccount.com",
        "email": "chromium-autoroll@skia-public.iam.gserviceaccount.com",
        "time": "Thu Aug 06 23:51:38 2026"
      },
      "committer": {
        "name": "v8-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "email": "v8-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Thu Aug 06 23:51:38 2026"
      },
      "message": "Roll Buildtools from ad77ccd2c7a4 to 9e7655f4ee43 (1 revision)\n\nhttps://chromium.googlesource.com/chromium/src/buildtools.git/+log/ad77ccd2c7a4..9e7655f4ee43\n\n2026-08-06 hayato@chromium.org Revert \"Roll libc++ from b16984ce99c7 to 97b436da4c33 (215 revisions)\"\n\nIf this roll has caused a breakage, revert this CL and stop the roller\nusing the controls here:\nhttps://autoroll.skia.org/r/buildtools-crossbench\nPlease CC cbruni@google.com,crossbench@chromium.org,v8-waterfall-gardener@rotations.google.com on the revert to ensure that a human\nis aware of the problem.\n\nTo file a bug in Crossbench: https://issues.chromium.org/issues/new?component\u003d1456712\n\nTo report a problem with the AutoRoller itself, please file a bug:\nhttps://issues.skia.org/issues/new?component\u003d1389291\u0026template\u003d1850622\n\nDocumentation for the AutoRoller is here:\nhttps://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md\n\nTbr: v8-waterfall-gardener@rotations.google.com\nChange-Id: Ibda627bec21b9db1b418f94d3d217eed97721204\nReviewed-on: https://chromium-review.googlesource.com/c/crossbench/+/8212952\nCommit-Queue: chromium-autoroll@skia-public.iam.gserviceaccount.com \u003cchromium-autoroll@skia-public.iam.gserviceaccount.com\u003e\nBot-Commit: chromium-autoroll@skia-public.iam.gserviceaccount.com \u003cchromium-autoroll@skia-public.iam.gserviceaccount.com\u003e\n"
    },
    {
      "commit": "fa005d587c7d461b3d621d7fb1fa7ef90281e97f",
      "tree": "734a5c52c6bbe7950fb3347ee177bf7532b3a825",
      "parents": [
        "8b43bba60a4faa88a1eaacbe6883bf2118f732b3"
      ],
      "author": {
        "name": "Elad Alon",
        "email": "eladalon@google.com",
        "time": "Thu Aug 06 16:17:35 2026"
      },
      "committer": {
        "name": "v8-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "email": "v8-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Thu Aug 06 16:17:35 2026"
      },
      "message": "Bump Web-Power to 1.1.1\n\nThis is following the change to Crossbench that allows us to track when\ncolleagues run on non-canonical Crossbench and/or Web Power versions.\n\nChange-Id: I26ceef4dc7a113670ecb1aac7d2f16ac6177ccce\nReviewed-on: https://chromium-review.googlesource.com/c/crossbench/+/8213941\nAuto-Submit: Elad Alon \u003celadalon@chromium.org\u003e\nCommit-Queue: Elad Alon \u003celadalon@chromium.org\u003e\nReviewed-by: Igor Kraskevich \u003ckraskevich@google.com\u003e\nCommit-Queue: Igor Kraskevich \u003ckraskevich@google.com\u003e\n"
    },
    {
      "commit": "8b43bba60a4faa88a1eaacbe6883bf2118f732b3",
      "tree": "3c17a006d9b06bf9630f44270ba5cfb4b3bb9923",
      "parents": [
        "40dc5502de4492c3c55c5bc5eaceccdba27ae1de"
      ],
      "author": {
        "name": "Elad Alon",
        "email": "eladalon@google.com",
        "time": "Thu Aug 06 15:53:59 2026"
      },
      "committer": {
        "name": "v8-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "email": "v8-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Thu Aug 06 15:53:59 2026"
      },
      "message": "Add crossbench details to Platform.system_details()\n\nInclude Crossbench metadata (version, git current hash, canonical parent\nhash, and uncommitted changes status) in `Platform.system_details()`.\n\nThis ensures that when teams collaborate and share results with each\nother, it is clear whether local changes were made to the benchmark\nand/or Crossbench infrastructure to produce a run. This helps avoid\nmix-ups where results cannot be reproduced because a colleague in\nanother timezone neglected to mention a local \"fix\" they applied.\n\n(By reporting commits rather than a clean/dirty state, we set the stage\nto later work to export the diff between the canonical ancestor and\nthe used revision. This can either be done in Crossbench itself or in\nexternal tools.)\n\nChange-Id: Ic9817a35a64a6a864ad14905a200ffc5772a187e\nReviewed-on: https://chromium-review.googlesource.com/c/crossbench/+/8216807\nCommit-Queue: Elad Alon \u003celadalon@chromium.org\u003e\nReviewed-by: Igor Kraskevich \u003ckraskevich@google.com\u003e\n"
    },
    {
      "commit": "40dc5502de4492c3c55c5bc5eaceccdba27ae1de",
      "tree": "b3f36c7ea02aa70505bdc90379c6a476a9d1bedb",
      "parents": [
        "7cd70792d8c05ea679ebe059af9898f0a549b9aa"
      ],
      "author": {
        "name": "chromium-autoroll@skia-public.iam.gserviceaccount.com",
        "email": "chromium-autoroll@skia-public.iam.gserviceaccount.com",
        "time": "Wed Aug 05 23:23:53 2026"
      },
      "committer": {
        "name": "v8-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "email": "v8-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Wed Aug 05 23:23:53 2026"
      },
      "message": "Roll Buildtools from a22e0a871922 to ad77ccd2c7a4 (1 revision)\n\nhttps://chromium.googlesource.com/chromium/src/buildtools.git/+log/a22e0a871922..ad77ccd2c7a4\n\n2026-08-05 thakis@chromium.org Roll libc++ from b16984ce99c7 to 97b436da4c33 (215 revisions)\n\nIf this roll has caused a breakage, revert this CL and stop the roller\nusing the controls here:\nhttps://autoroll.skia.org/r/buildtools-crossbench\nPlease CC cbruni@google.com,crossbench@chromium.org,v8-waterfall-gardener@rotations.google.com on the revert to ensure that a human\nis aware of the problem.\n\nTo file a bug in Crossbench: https://issues.chromium.org/issues/new?component\u003d1456712\n\nTo report a problem with the AutoRoller itself, please file a bug:\nhttps://issues.skia.org/issues/new?component\u003d1389291\u0026template\u003d1850622\n\nDocumentation for the AutoRoller is here:\nhttps://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md\n\nTbr: v8-waterfall-gardener@rotations.google.com\nChange-Id: I580795752c1536e89ce04e5784981813cfc4acc1\nReviewed-on: https://chromium-review.googlesource.com/c/crossbench/+/8199961\nBot-Commit: chromium-autoroll@skia-public.iam.gserviceaccount.com \u003cchromium-autoroll@skia-public.iam.gserviceaccount.com\u003e\nCommit-Queue: chromium-autoroll@skia-public.iam.gserviceaccount.com \u003cchromium-autoroll@skia-public.iam.gserviceaccount.com\u003e\n"
    },
    {
      "commit": "7cd70792d8c05ea679ebe059af9898f0a549b9aa",
      "tree": "ba5e761c6deef6dd8f68ec9e99cd66c81def04d8",
      "parents": [
        "52a9b4d128d8182d133e32cdafeaa49eb2dfca5f"
      ],
      "author": {
        "name": "Sharana K U",
        "email": "sharanak@google.com",
        "time": "Tue Aug 04 13:12:46 2026"
      },
      "committer": {
        "name": "v8-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "email": "v8-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Tue Aug 04 13:12:46 2026"
      },
      "message": "Fix presubmit error from trace_processor test\n\nThe local presubmit run failed during the CL upload, likely because the\ntrace_processor unit test wasn\u0027t updated following the changes to the\ntrace processor modules path and metrics naming.\n\nTest: git cl presubmit\nChange-Id: Ia4ea6c9bbc6569fb2469ff3c6422a2e85ede432e\nReviewed-on: https://chromium-review.googlesource.com/c/crossbench/+/8058225\nReviewed-by: Kameron Lutes \u003ckalutes@google.com\u003e\nCommit-Queue: Camillo Bruni \u003ccbruni@chromium.org\u003e\nReviewed-by: Camillo Bruni \u003ccbruni@chromium.org\u003e\n"
    },
    {
      "commit": "52a9b4d128d8182d133e32cdafeaa49eb2dfca5f",
      "tree": "a24a466366b815d8d4db6a65ef21588c2e345679",
      "parents": [
        "834e871129f0b4d8b2ec10d0ee12bef1d9b32202"
      ],
      "author": {
        "name": "Mateusz Zbikowski",
        "email": "zbikowski@google.com",
        "time": "Tue Aug 04 09:49:16 2026"
      },
      "committer": {
        "name": "v8-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "email": "v8-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Tue Aug 04 09:49:16 2026"
      },
      "message": "Increase final wait in shell.embedder.crossbench\n\nIncrease wait post-destroy from 5s to 30s to help capture the memory\nreturned by the renderer process.\n\nChange-Id: I00d7a71084760aa8146c349a33e309ec8e1f948c\nReviewed-on: https://chromium-review.googlesource.com/c/crossbench/+/8054366\nCommit-Queue: Mateusz Zbikowski \u003czbikowski@google.com\u003e\nReviewed-by: John Chen \u003cjohnchen@chromium.org\u003e\n"
    },
    {
      "commit": "834e871129f0b4d8b2ec10d0ee12bef1d9b32202",
      "tree": "86c7e9a8ccfed6bdaa0826693c1d162d9941fe9b",
      "parents": [
        "7470bd3666b3e409b8c35e99ea337dbb358306e7"
      ],
      "author": {
        "name": "chromium-autoroll@skia-public.iam.gserviceaccount.com",
        "email": "chromium-autoroll@skia-public.iam.gserviceaccount.com",
        "time": "Mon Aug 03 19:25:50 2026"
      },
      "committer": {
        "name": "v8-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "email": "v8-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Mon Aug 03 19:25:50 2026"
      },
      "message": "Roll Buildtools from 0d8a204ff274 to a22e0a871922 (1 revision)\n\nhttps://chromium.googlesource.com/chromium/src/buildtools.git/+log/0d8a204ff274..a22e0a871922\n\n2026-08-03 thakis@chromium.org build: Remove no-longer-needed _LIBCPP_CONSTINIT define\n\nIf this roll has caused a breakage, revert this CL and stop the roller\nusing the controls here:\nhttps://autoroll.skia.org/r/buildtools-crossbench\nPlease CC cbruni@google.com,crossbench@chromium.org,v8-waterfall-gardener@rotations.google.com on the revert to ensure that a human\nis aware of the problem.\n\nTo file a bug in Crossbench: https://issues.chromium.org/issues/new?component\u003d1456712\n\nTo report a problem with the AutoRoller itself, please file a bug:\nhttps://issues.skia.org/issues/new?component\u003d1389291\u0026template\u003d1850622\n\nDocumentation for the AutoRoller is here:\nhttps://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md\n\nTbr: v8-waterfall-gardener@rotations.google.com\nChange-Id: Iab390f1b857ac88dd63b462e87b81fdaf6eb80a2\nReviewed-on: https://chromium-review.googlesource.com/c/crossbench/+/8186658\nBot-Commit: chromium-autoroll@skia-public.iam.gserviceaccount.com \u003cchromium-autoroll@skia-public.iam.gserviceaccount.com\u003e\nCommit-Queue: chromium-autoroll@skia-public.iam.gserviceaccount.com \u003cchromium-autoroll@skia-public.iam.gserviceaccount.com\u003e\n"
    },
    {
      "commit": "7470bd3666b3e409b8c35e99ea337dbb358306e7",
      "tree": "2097b401346f8807e60b2e62f1c7a282736d1061",
      "parents": [
        "c74f1a28a97c83b396e02154df81ad4f79eb2d80"
      ],
      "author": {
        "name": "Mateusz Zbikowski",
        "email": "zbikowski@google.com",
        "time": "Mon Aug 03 18:28:33 2026"
      },
      "committer": {
        "name": "v8-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "email": "v8-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Mon Aug 03 18:28:33 2026"
      },
      "message": "Add memeater setup and teardown configurations for WOA\n\nThis adds configuration files to start and stop the memeater tool. The\nsetup configuration starts memeater with 4GB of memory, while the\nteardown configuration terminates the process.\n\nChange-Id: I903c22aafce3db93285b6b7b7627f49b44fb540f\nReviewed-on: https://chromium-review.googlesource.com/c/crossbench/+/8154522\nReviewed-by: John Chen \u003cjohnchen@chromium.org\u003e\nAuto-Submit: Mateusz Zbikowski \u003czbikowski@google.com\u003e\nCommit-Queue: John Chen \u003cjohnchen@chromium.org\u003e\n"
    },
    {
      "commit": "c74f1a28a97c83b396e02154df81ad4f79eb2d80",
      "tree": "fb2d3d9111d50417d65398dadb1ef1511dc69fb6",
      "parents": [
        "8d5648ca8e2062af1f15fee89ebbd45fff94c7dd"
      ],
      "author": {
        "name": "Camillo Bruni",
        "email": "cbruni@chromium.org",
        "time": "Mon Aug 03 16:04:28 2026"
      },
      "committer": {
        "name": "v8-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "email": "v8-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Mon Aug 03 16:04:28 2026"
      },
      "message": "Ensure isort presubmit failures results in PresubmitPromptWarning\n\nOtherwise git cl upload will continue with locally changed files.\n\nChange-Id: Idb071ef099ccb5c4794bf278eee2b7cb1192ef4a\nReviewed-on: https://chromium-review.googlesource.com/c/crossbench/+/8138065\nCommit-Queue: Camillo Bruni \u003ccbruni@chromium.org\u003e\nReviewed-by: Elad Alon \u003celadalon@chromium.org\u003e\nAuto-Submit: Camillo Bruni \u003ccbruni@chromium.org\u003e\n"
    },
    {
      "commit": "8d5648ca8e2062af1f15fee89ebbd45fff94c7dd",
      "tree": "1d3a377042949efec952c89e3463c043b4446c3b",
      "parents": [
        "abaf1a43c5806b3e3013006e2e1f2bb2cb293e60"
      ],
      "author": {
        "name": "Camillo Bruni",
        "email": "cbruni@chromium.org",
        "time": "Mon Aug 03 15:32:52 2026"
      },
      "committer": {
        "name": "v8-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "email": "v8-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Mon Aug 03 15:32:52 2026"
      },
      "message": "Force max 10s default timeout for pytests\n\nThis avoids accidental endless hangs for agent triggered broken tests.\nThe timeout applies to individual tests.\n\nChange-Id: I606428b5070e40a7859b2b579079fcc2dd2f59aa\nReviewed-on: https://chromium-review.googlesource.com/c/crossbench/+/8182351\nAuto-Submit: Camillo Bruni \u003ccbruni@chromium.org\u003e\nCommit-Queue: Patrick Thier \u003cpthier@chromium.org\u003e\nReviewed-by: Patrick Thier \u003cpthier@chromium.org\u003e\n"
    },
    {
      "commit": "abaf1a43c5806b3e3013006e2e1f2bb2cb293e60",
      "tree": "a4a7e8e1c9923085d48bfaaf05234e4084e43d6e",
      "parents": [
        "603f7dab591ccede7bbf93400fe035cd59344227"
      ],
      "author": {
        "name": "Victor Hugo Vianna Silva",
        "email": "victorvianna@google.com",
        "time": "Mon Aug 03 09:33:55 2026"
      },
      "committer": {
        "name": "v8-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "email": "v8-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Mon Aug 03 09:33:55 2026"
      },
      "message": "Fix all presubmit warnings\n\nInspired by crrev.com/c/7813439. Fixes:\n- Formatting.\n- Lines too long.\n- Import sorting.\n- Trailing whitespaces.\n\nChange-Id: Ie6c78fbf11b4f018c72b174f225235b973e28943\nReviewed-on: https://chromium-review.googlesource.com/c/crossbench/+/7819820\nCommit-Queue: Camillo Bruni \u003ccbruni@chromium.org\u003e\nAuto-Submit: Victor Vianna \u003cvictorvianna@google.com\u003e\nReviewed-by: Camillo Bruni \u003ccbruni@chromium.org\u003e\n"
    },
    {
      "commit": "603f7dab591ccede7bbf93400fe035cd59344227",
      "tree": "4f5f6acb7fb061acfc4adff43294072ad31e3729",
      "parents": [
        "28dbe37d4db9a16d003e39d143aa321a57e4a331"
      ],
      "author": {
        "name": "chromium-autoroll@skia-public.iam.gserviceaccount.com",
        "email": "chromium-autoroll@skia-public.iam.gserviceaccount.com",
        "time": "Sat Aug 01 05:48:39 2026"
      },
      "committer": {
        "name": "v8-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "email": "v8-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Sat Aug 01 05:48:39 2026"
      },
      "message": "Roll ClangFormat from 6eddfb5ec5f9 to 70510081984c (1 revision)\n\nhttps://chromium.googlesource.com/external/github.com/llvm/llvm-project/clang/tools/clang-format.git/+log/6eddfb5ec5f9..70510081984c\n\n2026-08-01 github@eoinrul.es Add option to format a whole file using git-clang-format (#204336)\n\nIf this roll has caused a breakage, revert this CL and stop the roller\nusing the controls here:\nhttps://autoroll.skia.org/r/clang-format-crossbench\nPlease CC cbruni@google.com,crossbench@chromium.org,v8-waterfall-gardener@rotations.google.com on the revert to ensure that a human\nis aware of the problem.\n\nTo file a bug in Crossbench: https://issues.chromium.org/issues/new?component\u003d1456712\n\nTo report a problem with the AutoRoller itself, please file a bug:\nhttps://issues.skia.org/issues/new?component\u003d1389291\u0026template\u003d1850622\n\nDocumentation for the AutoRoller is here:\nhttps://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md\n\nTbr: v8-waterfall-gardener@rotations.google.com\nChange-Id: I7a16c3f4d96af56a117aebc6e2d6e3f3df1541f4\nReviewed-on: https://chromium-review.googlesource.com/c/crossbench/+/8184406\nBot-Commit: chromium-autoroll@skia-public.iam.gserviceaccount.com \u003cchromium-autoroll@skia-public.iam.gserviceaccount.com\u003e\nCommit-Queue: chromium-autoroll@skia-public.iam.gserviceaccount.com \u003cchromium-autoroll@skia-public.iam.gserviceaccount.com\u003e\n"
    },
    {
      "commit": "28dbe37d4db9a16d003e39d143aa321a57e4a331",
      "tree": "094799ec94ade634fc147591f9428919ba97e9cd",
      "parents": [
        "2d06ae308dad382ba4266b6cf8043c8269a06d24"
      ],
      "author": {
        "name": "Elad Alon",
        "email": "eladalon@google.com",
        "time": "Tue Jul 28 11:58:30 2026"
      },
      "committer": {
        "name": "v8-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "email": "v8-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Tue Jul 28 11:58:30 2026"
      },
      "message": "Improve Web Power guide\n\nChange-Id: I3437d029c7da85a61e8a8fc5b3bfdb807ee5d05b\nReviewed-on: https://chromium-review.googlesource.com/c/crossbench/+/8158720\nReviewed-by: Igor Kraskevich \u003ckraskevich@google.com\u003e\nAuto-Submit: Elad Alon \u003celadalon@chromium.org\u003e\nCommit-Queue: Elad Alon \u003celadalon@chromium.org\u003e\n"
    },
    {
      "commit": "2d06ae308dad382ba4266b6cf8043c8269a06d24",
      "tree": "f0e17a22e9fc1a9ae3eb270ace6ed294f01a9196",
      "parents": [
        "13f6d53fe737705170142248ede2e6ee8950254b"
      ],
      "author": {
        "name": "Elad Alon",
        "email": "eladalon@google.com",
        "time": "Tue Jul 28 11:50:30 2026"
      },
      "committer": {
        "name": "v8-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "email": "v8-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Tue Jul 28 11:50:30 2026"
      },
      "message": "Rename power metric and preserve DataFrame column order in WebPowerProbe\n\nRename `total_power_mw` to `avg_power_mw` across `WebPowerProbe` and\nits tests to reflect the underlying metric. Since the average of a sum\nequals the sum of averages, summing the per-rail `avg_power_mw` yields\nthe total `avg_power_mw`, making it the accurate term to use.\n\nIn addition, update `process_result_dir` to preserve the original\ncolumn order of the input base DataFrame. The resulting DataFrame will\nnow contain the base columns in their exact initial order, followed\nby any newly computed metrics.\n\nChange-Id: I4854061d98e6e4556f8ba4d3d38d823db42dabf3\nReviewed-on: https://chromium-review.googlesource.com/c/crossbench/+/8157140\nAuto-Submit: Elad Alon \u003celadalon@chromium.org\u003e\nCommit-Queue: Elad Alon \u003celadalon@chromium.org\u003e\nReviewed-by: Igor Kraskevich \u003ckraskevich@google.com\u003e\n"
    },
    {
      "commit": "13f6d53fe737705170142248ede2e6ee8950254b",
      "tree": "358a4b21b35f116a3c915dad006cb145b2ee77bf",
      "parents": [
        "da4d5f435323ae4d65ab6aac0915ef6c1a11e89b"
      ],
      "author": {
        "name": "Elad Alon",
        "email": "eladalon@google.com",
        "time": "Tue Jul 28 11:41:45 2026"
      },
      "committer": {
        "name": "v8-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "email": "v8-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Tue Jul 28 11:41:45 2026"
      },
      "message": "Reprocess queries from scratch\n\nWhen using `reprocess.py`, don\u0027t merely rely on the CSV file.\nInstead, run the queries again. This makes the script useful when\nchanging the queries, as previously recorded traces can be used\nto check the new or modified queries.\n\nChange-Id: I596f05ce4038929364cd17f29dd9d02157790853\nReviewed-on: https://chromium-review.googlesource.com/c/crossbench/+/8158719\nAuto-Submit: Elad Alon \u003celadalon@chromium.org\u003e\nCommit-Queue: Igor Kraskevich \u003ckraskevich@google.com\u003e\nReviewed-by: Igor Kraskevich \u003ckraskevich@google.com\u003e\n"
    },
    {
      "commit": "da4d5f435323ae4d65ab6aac0915ef6c1a11e89b",
      "tree": "f7b3b74a4c32e2fe0d7ec5663ec66388e25c9ca5",
      "parents": [
        "eb6e4790f4fc6f2f66a20aba07de9a58985db46b"
      ],
      "author": {
        "name": "Mateusz Zbikowski",
        "email": "zbikowski@google.com",
        "time": "Tue Jul 28 08:55:50 2026"
      },
      "committer": {
        "name": "v8-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "email": "v8-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Tue Jul 28 08:55:50 2026"
      },
      "message": "Go back to reusing UiAutomatorService on Android devices\n\nThis is a non-pure revert of commit\ne8ef493eccddc2e9e968ae3e33714b95b41ff2fc.\n\nThe above-mentioned change regresses benchmarks by scheduling\nunnecessary unregistration work concurrently with the load being\nmeasured. It also introduces extra overhead by needing to initialize the\nservice for every UI action, whose number can be as high as hundreds for\na benchmark run.\n\nThis change reuses the UiAutomatorService whenever possible (e.g.,\nunless adb root is needed and not present), while making sure that the\nservice is cleaned up on exit utilizing atexit handlers (which was the\nmotivation of the original change).\n\nBug: 533325485, 534417758\nChange-Id: Ic2533271bbe0aaef34a96d33bfe79875445b660c\nReviewed-on: https://chromium-review.googlesource.com/c/crossbench/+/8139960\nCommit-Queue: Mateusz Zbikowski \u003czbikowski@google.com\u003e\nReviewed-by: Kameron Lutes \u003ckalutes@google.com\u003e\n"
    },
    {
      "commit": "eb6e4790f4fc6f2f66a20aba07de9a58985db46b",
      "tree": "81502152ea461e9d061aa8b89c2fd0bf1fae6b40",
      "parents": [
        "343d4d60fa73e5a48a8e4a6a038fe377c979d336"
      ],
      "author": {
        "name": "Elad Alon",
        "email": "eladalon@google.com",
        "time": "Mon Jul 27 13:32:41 2026"
      },
      "committer": {
        "name": "v8-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "email": "v8-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Mon Jul 27 13:32:41 2026"
      },
      "message": "Add Web Power guide\n\nChange-Id: Ic6e607214f017416954f06442232b7a03caa826f\nReviewed-on: https://chromium-review.googlesource.com/c/crossbench/+/8143619\nReviewed-by: Igor Kraskevich \u003ckraskevich@google.com\u003e\nAuto-Submit: Elad Alon \u003celadalon@chromium.org\u003e\nCommit-Queue: Elad Alon \u003celadalon@chromium.org\u003e\n"
    },
    {
      "commit": "343d4d60fa73e5a48a8e4a6a038fe377c979d336",
      "tree": "abbe10ef448f1ec4ec51224c58b7ece94a36f05f",
      "parents": [
        "b34cc40908bbfd7eac51eb90df077cfb2a1f63a7"
      ],
      "author": {
        "name": "Elad Alon",
        "email": "eladalon@google.com",
        "time": "Mon Jul 27 12:39:19 2026"
      },
      "committer": {
        "name": "v8-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "email": "v8-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Mon Jul 27 12:39:19 2026"
      },
      "message": "AGENTS.md: Avoid hasattr and getattr\n\nChange-Id: Id6c6d5dda1d204415b2d8fd467020967d2d3548f\nReviewed-on: https://chromium-review.googlesource.com/c/crossbench/+/8131043\nCommit-Queue: Elad Alon \u003celadalon@chromium.org\u003e\nReviewed-by: Camillo Bruni \u003ccbruni@chromium.org\u003e\n"
    },
    {
      "commit": "b34cc40908bbfd7eac51eb90df077cfb2a1f63a7",
      "tree": "34798b9d51173f1b3f5618f17e29d60d05a032a2",
      "parents": [
        "1722348f54fdb008f87191ba6c0401f256405cf6"
      ],
      "author": {
        "name": "Elad Alon",
        "email": "eladalon@google.com",
        "time": "Fri Jul 24 09:24:22 2026"
      },
      "committer": {
        "name": "v8-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "email": "v8-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Fri Jul 24 09:24:22 2026"
      },
      "message": "Drop outlier power measurements when aggregating \u003e\u003d5 runs\n\nTo increase metric stability in the web_power benchmark, this CL\nupdates the logic that averages power scores across multiple runs for\na given browser/story combination. If 5 or more runs are present, the\nabsolute highest and lowest measurements for total_power_mw are now\ndiscarded before calculating the mean. For 4 or fewer runs, the simple\nmean is retained.\n\nChange-Id: I78979398f5d7a2fffde947b2f0cf9f959aa1903d\nReviewed-on: https://chromium-review.googlesource.com/c/crossbench/+/8139843\nReviewed-by: Igor Kraskevich \u003ckraskevich@google.com\u003e\nAuto-Submit: Elad Alon \u003celadalon@chromium.org\u003e\nCommit-Queue: Elad Alon \u003celadalon@chromium.org\u003e\n"
    },
    {
      "commit": "1722348f54fdb008f87191ba6c0401f256405cf6",
      "tree": "fd5884d631b0c875eddb5564070930bfb0b0470b",
      "parents": [
        "d97d3558b81de6c86c3a4f7400d9327c67a98458"
      ],
      "author": {
        "name": "Elad Alon",
        "email": "eladalon@google.com",
        "time": "Thu Jul 23 12:06:37 2026"
      },
      "committer": {
        "name": "v8-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "email": "v8-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Thu Jul 23 12:06:37 2026"
      },
      "message": "Add strict validation for probe names in has_probe_context_by_name\n\nPreviously, has_probe_context_by_name would silently return False if\nan unknown or misspelled probe name was provided. This could mask\nbugs or outdated code if probe names change over time.\n\nThis CL adds strict validation. With this change, the behavior\nis strictly enforced: if Probe1 is attached, checking for\nit returns True. If Probe2 is valid but not attached, it safely\nreturns False. But if an unknown probe name is queried,\nthe manager now correctly raises a ValueError.\n\nChange-Id: I8c31acf446172082073a2541af2ce3343063df8c\nReviewed-on: https://chromium-review.googlesource.com/c/crossbench/+/8118489\nReviewed-by: Camillo Bruni \u003ccbruni@chromium.org\u003e\nAuto-Submit: Elad Alon \u003celadalon@chromium.org\u003e\nCommit-Queue: Elad Alon \u003celadalon@chromium.org\u003e\n"
    },
    {
      "commit": "d97d3558b81de6c86c3a4f7400d9327c67a98458",
      "tree": "488971cee2a80ca592388f54548c6ff4dc552131",
      "parents": [
        "8a81b5b04496ef3a5d8d77bd426d6971a68b8831"
      ],
      "author": {
        "name": "Karthikeyan S",
        "email": "ksubramani@google.com",
        "time": "Thu Jul 23 07:21:38 2026"
      },
      "committer": {
        "name": "v8-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "email": "v8-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Thu Jul 23 07:21:38 2026"
      },
      "message": "Add switch_frame action to support automating elements inside iframes\n\n- Implements a new \u0027switch_frame\u0027 action in the crossbench action runner\n- The action allows switching the webdriver execution context to a child\n  iframe (using CSS or XPath selector) or switching back to the main\n  document context (default content) if the selector is empty\n\nBug: b:534244013\nTest: poetry run pytest \\\ntests/crossbench/benchmarks/loading/test_action.py\n\nChange-Id: I1a35748d01792c20a8aa9d95870f5cb9d5a74e8b\nReviewed-on: https://chromium-review.googlesource.com/c/crossbench/+/8118308\nCommit-Queue: Kameron Lutes \u003ckalutes@google.com\u003e\nReviewed-by: Kameron Lutes \u003ckalutes@google.com\u003e\nReviewed-by: Camillo Bruni \u003ccbruni@chromium.org\u003e\n"
    },
    {
      "commit": "8a81b5b04496ef3a5d8d77bd426d6971a68b8831",
      "tree": "cdc6783d168776104d22bc3585743ea64895009a",
      "parents": [
        "7f9797e93c0fe035b4795e186c1e3a51dc92f62d"
      ],
      "author": {
        "name": "chromium-autoroll@skia-public.iam.gserviceaccount.com",
        "email": "chromium-autoroll@skia-public.iam.gserviceaccount.com",
        "time": "Wed Jul 22 20:33:56 2026"
      },
      "committer": {
        "name": "v8-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "email": "v8-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Wed Jul 22 20:33:56 2026"
      },
      "message": "Roll Buildtools from 6ec9ee03cbc3 to 0d8a204ff274 (1 revision)\n\nhttps://chromium.googlesource.com/chromium/src/buildtools.git/+log/6ec9ee03cbc3..0d8a204ff274\n\n2026-07-21 luci-bisection@appspot.gserviceaccount.com Revert \"Roll libc++ from b16984ce99c7 to 944eeec7c303 (199 revisions)\"\n\nIf this roll has caused a breakage, revert this CL and stop the roller\nusing the controls here:\nhttps://autoroll.skia.org/r/buildtools-crossbench\nPlease CC cbruni@google.com,crossbench@chromium.org,v8-waterfall-gardener@rotations.google.com on the revert to ensure that a human\nis aware of the problem.\n\nTo file a bug in Crossbench: https://issues.chromium.org/issues/new?component\u003d1456712\n\nTo report a problem with the AutoRoller itself, please file a bug:\nhttps://issues.skia.org/issues/new?component\u003d1389291\u0026template\u003d1850622\n\nDocumentation for the AutoRoller is here:\nhttps://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md\n\nTbr: v8-waterfall-gardener@rotations.google.com\nChange-Id: I5f2cc1af382bff979b618731d8236b646ccdbea3\nReviewed-on: https://chromium-review.googlesource.com/c/crossbench/+/8135711\nCommit-Queue: chromium-autoroll@skia-public.iam.gserviceaccount.com \u003cchromium-autoroll@skia-public.iam.gserviceaccount.com\u003e\nBot-Commit: chromium-autoroll@skia-public.iam.gserviceaccount.com \u003cchromium-autoroll@skia-public.iam.gserviceaccount.com\u003e\n"
    },
    {
      "commit": "7f9797e93c0fe035b4795e186c1e3a51dc92f62d",
      "tree": "2031cf8bfa774f6d8cd88d529f1e05779a8e297f",
      "parents": [
        "9295bbf8709efd0eff4e6197fede8a40b0c91287"
      ],
      "author": {
        "name": "Elad Alon",
        "email": "eladalon@google.com",
        "time": "Wed Jul 22 17:47:24 2026"
      },
      "committer": {
        "name": "v8-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "email": "v8-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Wed Jul 22 17:47:24 2026"
      },
      "message": "Gracefully handle missing data during offline reprocessing\n\nUpdate WebPowerProbe.process_result_dir to gracefully handle scenarios\nwhere power_rails.csv is missing during offline reprocessing (e.g. when\nthe trace_processor probe didn\u0027t run). Instead of crashing with a\nValueError, the script now logs a warning and returns the baseline\ndataframe padded with \"No Data\" for total_power_mw.\n\nThis aligns the fallback behavior of the reprocess.py script with the\ngraceful handling already used by _compute_score during normal probe\nexecution.\n\nChange-Id: Ib166df01dfbe7da6c02506c34acf31087e8961ee\nReviewed-on: https://chromium-review.googlesource.com/c/crossbench/+/8127781\nReviewed-by: Mikhail Khokhlov \u003ckhokhlov@google.com\u003e\nCommit-Queue: Mikhail Khokhlov \u003ckhokhlov@google.com\u003e\nCommit-Queue: Elad Alon \u003celadalon@chromium.org\u003e\nAuto-Submit: Elad Alon \u003celadalon@chromium.org\u003e\n"
    },
    {
      "commit": "9295bbf8709efd0eff4e6197fede8a40b0c91287",
      "tree": "25741966278669b1e2283939f266fb3695759181",
      "parents": [
        "04a3eea1330eb1faa446b5074565e2ce52ac7d16"
      ],
      "author": {
        "name": "Elad Alon",
        "email": "eladalon@google.com",
        "time": "Wed Jul 22 17:32:03 2026"
      },
      "committer": {
        "name": "v8-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "email": "v8-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Wed Jul 22 17:32:03 2026"
      },
      "message": "Add cb_reprocess CLI for offline benchmark reprocessing\n\nThis CL introduces a new CLI tool `cb_reprocess` to allow reprocessing\nprior benchmark results. This allows faster iteration when developing\nthe benchmarks and probes, as one can modify the processing logic\nwithout needing to re-run the time-consuming collection logic.\n\nChange-Id: I72cd3bdb7cf9c7e0d4f4b5a548505a3162cea28d\nReviewed-on: https://chromium-review.googlesource.com/c/crossbench/+/8131626\nCommit-Queue: Elad Alon \u003celadalon@chromium.org\u003e\nReviewed-by: Mikhail Khokhlov \u003ckhokhlov@google.com\u003e\n"
    },
    {
      "commit": "04a3eea1330eb1faa446b5074565e2ce52ac7d16",
      "tree": "2e0565d0fd3e3be1e0329b75d27a189ab8f66211",
      "parents": [
        "2db30da271847ab61ba841a9ac79b730f1ea313a"
      ],
      "author": {
        "name": "Elad Alon",
        "email": "eladalon@google.com",
        "time": "Wed Jul 22 16:59:16 2026"
      },
      "committer": {
        "name": "v8-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "email": "v8-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Wed Jul 22 16:59:16 2026"
      },
      "message": "AGENTS.md: Clarify where imports go\n\nDiscourage the agents from nesting import statements in methods.\n\nChange-Id: I1f76a15fe62430c7783618215cc2067474831d1c\nReviewed-on: https://chromium-review.googlesource.com/c/crossbench/+/8131663\nAuto-Submit: Elad Alon \u003celadalon@chromium.org\u003e\nReviewed-by: Camillo Bruni \u003ccbruni@chromium.org\u003e\nCommit-Queue: Elad Alon \u003celadalon@chromium.org\u003e\n"
    },
    {
      "commit": "2db30da271847ab61ba841a9ac79b730f1ea313a",
      "tree": "6f8972f1bf5eaf6e619376b78651bbe3b875ec2d",
      "parents": [
        "738a072d5f25a04acdc8ebfe904a94e3b137c8ed"
      ],
      "author": {
        "name": "Elad Alon",
        "email": "eladalon@google.com",
        "time": "Wed Jul 22 11:41:25 2026"
      },
      "committer": {
        "name": "v8-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "email": "v8-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Wed Jul 22 11:41:25 2026"
      },
      "message": "Fix Web Power probe\u0027s query directory\n\nFix a path issue in the benchmark. Add tests that would catch such\nissues in the future, either with the path or with the content of\nthe queries.\n\nChange-Id: I8a9ff5c43f519d343e723d820ea34a45400f043d\nReviewed-on: https://chromium-review.googlesource.com/c/crossbench/+/8127780\nCommit-Queue: Igor Kraskevich \u003ckraskevich@google.com\u003e\nAuto-Submit: Elad Alon \u003celadalon@chromium.org\u003e\nReviewed-by: Igor Kraskevich \u003ckraskevich@google.com\u003e\n"
    },
    {
      "commit": "738a072d5f25a04acdc8ebfe904a94e3b137c8ed",
      "tree": "31e5c43b31b7827d97f7894f4e6099cecfbfc936",
      "parents": [
        "bfd32b46501b1f7958802aa51ec4f20a5328bc06"
      ],
      "author": {
        "name": "Elad Alon",
        "email": "eladalon@google.com",
        "time": "Wed Jul 22 09:49:48 2026"
      },
      "committer": {
        "name": "v8-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "email": "v8-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Wed Jul 22 09:49:48 2026"
      },
      "message": "Migrate WebPower probe mapping from JSON to HJSON\n\nThis CL updates the device-specific query mapping file format in the\nWebPower probe from JSON to HJSON (`mapping.json` to `mapping.hjson`).\n\nChange-Id: I9d769df08ff57bd987dcee66e3c6ce1eacde9a04\nReviewed-on: https://chromium-review.googlesource.com/c/crossbench/+/8130640\nAuto-Submit: Elad Alon \u003celadalon@chromium.org\u003e\nCommit-Queue: Camillo Bruni \u003ccbruni@chromium.org\u003e\nReviewed-by: Camillo Bruni \u003ccbruni@chromium.org\u003e\n"
    },
    {
      "commit": "bfd32b46501b1f7958802aa51ec4f20a5328bc06",
      "tree": "67efc9172596fe70defe8edc4445a532e497b488",
      "parents": [
        "a3ef20a27bfd398c5d07d13f36ea012682c3c512"
      ],
      "author": {
        "name": "Elad Alon",
        "email": "eladalon@google.com",
        "time": "Wed Jul 22 09:48:38 2026"
      },
      "committer": {
        "name": "v8-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "email": "v8-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Wed Jul 22 09:48:38 2026"
      },
      "message": "Refactor WebPower probe mapping validation to use ObjectParser\n\nChange `_validate_and_resolve_mapping_entry` in the WebPower probe to\nleverage `ObjectParser.regexp` and `PathParser.existing_file_path` for\ncleaner input validation, rather than manual `re` and `is_file` checks.\n\nChange-Id: I521f0629ae9a1d84e51e4f76b47c6436bcb28515\nReviewed-on: https://chromium-review.googlesource.com/c/crossbench/+/8127777\nCommit-Queue: Camillo Bruni \u003ccbruni@chromium.org\u003e\nReviewed-by: Camillo Bruni \u003ccbruni@chromium.org\u003e\nAuto-Submit: Elad Alon \u003celadalon@chromium.org\u003e\n"
    },
    {
      "commit": "a3ef20a27bfd398c5d07d13f36ea012682c3c512",
      "tree": "7e0b65021d5beb84aad5a491c63350f9897b6602",
      "parents": [
        "c0e10176c6bf347198957eeca0083edf859dbc9b"
      ],
      "author": {
        "name": "Elad Alon",
        "email": "eladalon@google.com",
        "time": "Wed Jul 22 09:41:36 2026"
      },
      "committer": {
        "name": "v8-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "email": "v8-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Wed Jul 22 09:41:36 2026"
      },
      "message": "nit: self.assertIsNotNone()\n\nReplace `assert x is not None` with `self.assertIsNotNone(x)`.\n\nChange-Id: I1838a8e6f383db968564ccafd1e60c826476e3d6\nReviewed-on: https://chromium-review.googlesource.com/c/crossbench/+/8126367\nAuto-Submit: Elad Alon \u003celadalon@chromium.org\u003e\nReviewed-by: Camillo Bruni \u003ccbruni@chromium.org\u003e\nCommit-Queue: Elad Alon \u003celadalon@chromium.org\u003e\nCommit-Queue: Camillo Bruni \u003ccbruni@chromium.org\u003e\n"
    },
    {
      "commit": "c0e10176c6bf347198957eeca0083edf859dbc9b",
      "tree": "5119de2386c2dd1dd3b3d3ad2f2c6a3b5021f742",
      "parents": [
        "332fda32e780d5894c419c10d74631796a09cdff"
      ],
      "author": {
        "name": "Mateusz Zbikowski",
        "email": "zbikowski@google.com",
        "time": "Wed Jul 22 08:09:04 2026"
      },
      "committer": {
        "name": "v8-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "email": "v8-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Wed Jul 22 08:09:04 2026"
      },
      "message": "Add empty renderer and browser memory metrics to wv_renderer_memory.sql.\n\nThis change extends the query to include memory metrics (RSS anon, file,\nshmem, swap) for both the WebView renderer and browser processes after\nthe only WebView has been destroyed.\n\nChange-Id: I95c326a2e246caaef89c92bb26f92eeabe47cbd7\nReviewed-on: https://chromium-review.googlesource.com/c/crossbench/+/8038824\nReviewed-by: Mikhail Khokhlov \u003ckhokhlov@google.com\u003e\nCommit-Queue: Mateusz Zbikowski \u003czbikowski@google.com\u003e\n"
    },
    {
      "commit": "332fda32e780d5894c419c10d74631796a09cdff",
      "tree": "6ab653f58399514cf81940b767666f42ad36b078",
      "parents": [
        "95645af07f6806bdd81f02352c081d2760feec9d"
      ],
      "author": {
        "name": "Elad Alon",
        "email": "eladalon@google.com",
        "time": "Wed Jul 22 00:56:22 2026"
      },
      "committer": {
        "name": "v8-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "email": "v8-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Wed Jul 22 00:56:22 2026"
      },
      "message": "Add eladalon@ to OWNERS\n\nChange-Id: I65560ff5dad31b9e0784ab113a3b2d24a18ec6e5\nReviewed-on: https://chromium-review.googlesource.com/c/crossbench/+/8126062\nCommit-Queue: Kameron Lutes \u003ckalutes@google.com\u003e\nAuto-Submit: Elad Alon \u003celadalon@chromium.org\u003e\nReviewed-by: Kameron Lutes \u003ckalutes@google.com\u003e\n"
    },
    {
      "commit": "95645af07f6806bdd81f02352c081d2760feec9d",
      "tree": "5a2083844404cf103f6f9a366cb18ccb5ed7066f",
      "parents": [
        "d963b5cf1d7e7839c2a73fbacdc368824610186d"
      ],
      "author": {
        "name": "chromium-autoroll@skia-public.iam.gserviceaccount.com",
        "email": "chromium-autoroll@skia-public.iam.gserviceaccount.com",
        "time": "Tue Jul 21 20:08:25 2026"
      },
      "committer": {
        "name": "v8-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "email": "v8-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Tue Jul 21 20:08:25 2026"
      },
      "message": "Roll Buildtools from 2a7d4af3d9e3 to 6ec9ee03cbc3 (1 revision)\n\nhttps://chromium.googlesource.com/chromium/src/buildtools.git/+log/2a7d4af3d9e3..6ec9ee03cbc3\n\n2026-07-21 liza@chromium.org Roll libc++ from b16984ce99c7 to 944eeec7c303 (199 revisions)\n\nIf this roll has caused a breakage, revert this CL and stop the roller\nusing the controls here:\nhttps://autoroll.skia.org/r/buildtools-crossbench\nPlease CC cbruni@google.com,crossbench@chromium.org,v8-waterfall-gardener@rotations.google.com on the revert to ensure that a human\nis aware of the problem.\n\nTo file a bug in Crossbench: https://issues.chromium.org/issues/new?component\u003d1456712\n\nTo report a problem with the AutoRoller itself, please file a bug:\nhttps://issues.skia.org/issues/new?component\u003d1389291\u0026template\u003d1850622\n\nDocumentation for the AutoRoller is here:\nhttps://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md\n\nTbr: v8-waterfall-gardener@rotations.google.com\nChange-Id: I0b5de66166732393135b4b211961bf160f8715f3\nReviewed-on: https://chromium-review.googlesource.com/c/crossbench/+/8132919\nCommit-Queue: chromium-autoroll@skia-public.iam.gserviceaccount.com \u003cchromium-autoroll@skia-public.iam.gserviceaccount.com\u003e\nBot-Commit: chromium-autoroll@skia-public.iam.gserviceaccount.com \u003cchromium-autoroll@skia-public.iam.gserviceaccount.com\u003e\n"
    },
    {
      "commit": "d963b5cf1d7e7839c2a73fbacdc368824610186d",
      "tree": "8698a65fc87f26a32ed282f55c59fe334530daa0",
      "parents": [
        "92efb5d812b137acaf9581873955e6e6b46fc6a6"
      ],
      "author": {
        "name": "Elad Alon",
        "email": "eladalon@google.com",
        "time": "Tue Jul 21 16:10:14 2026"
      },
      "committer": {
        "name": "v8-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "email": "v8-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Tue Jul 21 16:10:14 2026"
      },
      "message": "Extract shared logic from web power trace queries\n\nExtracts duplicated `measured_interval` and `per_rail` view definitions\nfrom `power_rails_p9.sql`, `power_rails_p10.sql`, and\n`powerline_cpu_rails.sql` into a new shared Perfetto module\n`ext.web_power_rails`. This reduces redundancy and centralizes the\ncore power measurement logic, leaving only device-specific rail filters\nin the individual query files.\n\nChange-Id: I47cf48dc872f59ad2ee4c7e8d8c77065396e8a37\nReviewed-on: https://chromium-review.googlesource.com/c/crossbench/+/8120354\nCommit-Queue: Elad Alon \u003celadalon@chromium.org\u003e\nAuto-Submit: Elad Alon \u003celadalon@chromium.org\u003e\nReviewed-by: Igor Kraskevich \u003ckraskevich@google.com\u003e\n"
    },
    {
      "commit": "92efb5d812b137acaf9581873955e6e6b46fc6a6",
      "tree": "271cf92e397749b372a147565bc97bcb67968530",
      "parents": [
        "1edf168781c6bbac92d8b602422f57704269aa01"
      ],
      "author": {
        "name": "Elad Alon",
        "email": "eladalon@google.com",
        "time": "Tue Jul 21 12:21:55 2026"
      },
      "committer": {
        "name": "v8-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "email": "v8-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Tue Jul 21 12:21:55 2026"
      },
      "message": "Web Power: Only attach trace_processor if perfetto is active\n\nWhen running the Web Power benchmark with Bits (where the perfetto probe\nis omitted), the WebPowerProbe was unconditionally attaching\nTraceProcessorProbe. This caused runs to crash during teardown because\nthe trace processor attempted to parse non-existent traces.\n\nThis CL fixes this by checking if \u0027perfetto\u0027 is present in the\nrunner\u0027s probes before adding TraceProcessorProbe.\n\nChange-Id: Ib41909514e2c717c31811646a68a2837b385cbdd\nReviewed-on: https://chromium-review.googlesource.com/c/crossbench/+/8125996\nAuto-Submit: Elad Alon \u003celadalon@chromium.org\u003e\nReviewed-by: Igor Kraskevich \u003ckraskevich@google.com\u003e\nCommit-Queue: Elad Alon \u003celadalon@chromium.org\u003e\n"
    },
    {
      "commit": "1edf168781c6bbac92d8b602422f57704269aa01",
      "tree": "356b0196ef122305905ea1fd030b800eb2f955a1",
      "parents": [
        "f81ed385ec5256db8fa1f10585853b2ce79c4097"
      ],
      "author": {
        "name": "Elad Alon",
        "email": "eladalon@google.com",
        "time": "Tue Jul 21 12:20:52 2026"
      },
      "committer": {
        "name": "v8-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "email": "v8-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Tue Jul 21 12:20:52 2026"
      },
      "message": "Validate ambiguous device regex mappings in TraceProcessor probes\n\nUpdate TraceProcessorQueryConfig to evaluate all mapping regexes rather\nthan returning early on the first match. If a device model matches\nmultiple regexes that resolve to conflicting SQL query paths, it now\nraises a ValueError to prevent silent overshadowing.\n\nChange-Id: I81b921ec265b770fd628c05c86822600c4329f70\nReviewed-on: https://chromium-review.googlesource.com/c/crossbench/+/8125717\nReviewed-by: Camillo Bruni \u003ccbruni@chromium.org\u003e\nCommit-Queue: Elad Alon \u003celadalon@chromium.org\u003e\n"
    },
    {
      "commit": "f81ed385ec5256db8fa1f10585853b2ce79c4097",
      "tree": "e9324ac9f13fd2a907a48dbd7858442d01847d28",
      "parents": [
        "6b63ea6167cc48dfacfa97fcaaf6e591fa7db5e8"
      ],
      "author": {
        "name": "Elad Alon",
        "email": "eladalon@google.com",
        "time": "Tue Jul 21 10:33:10 2026"
      },
      "committer": {
        "name": "v8-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "email": "v8-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Tue Jul 21 10:33:10 2026"
      },
      "message": "Add internal mapping support and validation to WebPower probe\n\nUpdate the WebPower probe to automatically load an internal mapping\nconfiguration if the internal queries directory is present, merging it\nwith the public device mappings.\n\nDuring mapping configuration, validation is now performed to ensure\nthat all keys are valid regular expressions and that all mapped SQL\nquery files actually exist on disk, resolving them to absolute paths.\n\nChange-Id: I197dc9f513e7cb62948563eaa8036478227d877f\nReviewed-on: https://chromium-review.googlesource.com/c/crossbench/+/8125716\nReviewed-by: Igor Kraskevich \u003ckraskevich@google.com\u003e\nCommit-Queue: Elad Alon \u003celadalon@chromium.org\u003e\n"
    },
    {
      "commit": "6b63ea6167cc48dfacfa97fcaaf6e591fa7db5e8",
      "tree": "2edb6315b1b46cc345a28a59dc1ae8c440350055",
      "parents": [
        "7e6c3655d978b93befd06ab22c517a99044ea5ca"
      ],
      "author": {
        "name": "Elad Alon",
        "email": "eladalon@google.com",
        "time": "Tue Jul 21 09:03:49 2026"
      },
      "committer": {
        "name": "v8-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "email": "v8-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Tue Jul 21 09:03:49 2026"
      },
      "message": "Gracefully handle unmapped devices in web-power probe\n\nThe WebPowerProbe previously raised a ProbeMissingDataError when the\nTraceProcessor probe yielded no results (e.g., when the device is not\nmapped). This replaces the hard failure with a graceful fallback,\nreturning a base DataFrame padded with NaN scores so that benchmarks\ncan complete even when running on devices where the query has not yet\nbeen specified in Crossbench.\n\nChange-Id: I8b45ad15f9f1713fd2ade2be6d923f3b41f009ce\nReviewed-on: https://chromium-review.googlesource.com/c/crossbench/+/8117451\nReviewed-by: Igor Kraskevich \u003ckraskevich@google.com\u003e\nAuto-Submit: Elad Alon \u003celadalon@chromium.org\u003e\nCommit-Queue: Elad Alon \u003celadalon@chromium.org\u003e\n"
    },
    {
      "commit": "7e6c3655d978b93befd06ab22c517a99044ea5ca",
      "tree": "952fa7737aec206bcdc43c0ef93bf2ff5bf8284c",
      "parents": [
        "b13b5c624af49a11ccb85b399cc6a2b6c348d566"
      ],
      "author": {
        "name": "Elad Alon",
        "email": "eladalon@google.com",
        "time": "Tue Jul 21 08:25:53 2026"
      },
      "committer": {
        "name": "v8-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "email": "v8-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Tue Jul 21 08:25:53 2026"
      },
      "message": "Introduce EmptyProbeContext\n\nAvoid the need to produce multiple empty subclasses of ProbeContext.\n\nChange-Id: Ie6f9ae464be24b68c569ac2b5255019c6a84fb2f\nReviewed-on: https://chromium-review.googlesource.com/c/crossbench/+/8127815\nCommit-Queue: Camillo Bruni \u003ccbruni@chromium.org\u003e\nAuto-Submit: Elad Alon \u003celadalon@chromium.org\u003e\nReviewed-by: Camillo Bruni \u003ccbruni@chromium.org\u003e\n"
    },
    {
      "commit": "b13b5c624af49a11ccb85b399cc6a2b6c348d566",
      "tree": "77272f7e030611fc2804c8d830745773d9e69693",
      "parents": [
        "0cfd89d574be7f32b12b45c630c7f27d1e3bf36a"
      ],
      "author": {
        "name": "Elad Alon",
        "email": "eladalon@google.com",
        "time": "Tue Jul 21 08:19:20 2026"
      },
      "committer": {
        "name": "v8-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "email": "v8-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Tue Jul 21 08:19:20 2026"
      },
      "message": "Add 80-character line limit to Python style guide\n\nExplicitly states the 80 characters per line limit for Python files\nin the AGENTS.md style guide.\n\nChange-Id: I2e64c8058cc42372c4abe104a239b5c8cd39403e\nReviewed-on: https://chromium-review.googlesource.com/c/crossbench/+/8126055\nReviewed-by: Camillo Bruni \u003ccbruni@chromium.org\u003e\nAuto-Submit: Elad Alon \u003celadalon@chromium.org\u003e\nCommit-Queue: Camillo Bruni \u003ccbruni@chromium.org\u003e\n"
    },
    {
      "commit": "0cfd89d574be7f32b12b45c630c7f27d1e3bf36a",
      "tree": "6b82f4d9f04b44f50c1d3787929dd7bf90d4f693",
      "parents": [
        "e5b58c498e53d0ccba4701221cdab16e3489a4ef"
      ],
      "author": {
        "name": "Kameron Lutes",
        "email": "kalutes@google.com",
        "time": "Tue Jul 21 03:47:38 2026"
      },
      "committer": {
        "name": "v8-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "email": "v8-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Tue Jul 21 03:47:38 2026"
      },
      "message": "[crossbench] Prevent Mobly from dropping adb ports during setup\n\nWhen Crossbench uses UIAutomator to maximize the window during browser\nsetup, it initializes a Mobly `AndroidDevice` instance. By default,\nMobly\u0027s `AndroidDevice.__init__` checks if the device is rootable and,\nif so, automatically executes `adb root`.\n\nIf `adbd` is currently running as the `shell` user (e.g., on the very\nfirst run after a full device reboot), calling `adb root` causes the\ndevice to restart the `adbd` service as `root`. This restart silently\nwipes all existing `adb forward` and `adb reverse` ports. Since\nCrossbench and ChromeDriver establish these ports *before*\n`AndroidDevice` is initialized, this behavior drops their connections\nmid-setup, resulting in `invalid session id` errors in ChromeDriver\nand broken reverse proxies.\n\nTo fix this:\n- Introduced a `_CrossbenchAndroidDevice` subclass of Mobly\u0027s\n  `AndroidDevice` to make the auto-root behavior configurable.\n- Added a `root_device` flag to `AdbAdbPlatform.uiautomator_device()`\n  which defaults to `True` to preserve existing behaviors elsewhere.\n- Updated the `maximize_window` call site in `webdriver.py` to pass\n  `root_device\u003dFalse`, successfully preventing Mobly from calling\n  `adb root` and dropping the ports during browser setup.\n\nBug: 533247461\nTest: any crossbench test on android immediately after a fresh boot\nChange-Id: Ib520374d6c403d74994e6d729269d7697fd77b9d\nReviewed-on: https://chromium-review.googlesource.com/c/crossbench/+/8129377\nReviewed-by: Charles Dick \u003ccwd@google.com\u003e\nCommit-Queue: Kameron Lutes \u003ckalutes@google.com\u003e\n"
    },
    {
      "commit": "e5b58c498e53d0ccba4701221cdab16e3489a4ef",
      "tree": "729ca252d40b22a811afc44af4a7e9bd853fed10",
      "parents": [
        "4c0f56e860ae10e118dae0b649b2306ea16e43e2"
      ],
      "author": {
        "name": "Elad Alon",
        "email": "eladalon@google.com",
        "time": "Mon Jul 20 14:06:11 2026"
      },
      "committer": {
        "name": "v8-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "email": "v8-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Mon Jul 20 14:06:11 2026"
      },
      "message": "Update crossbench-internal\n\nChange-Id: I538ed2df7ed50f2c70a258a2399251563160c3ad\nReviewed-on: https://chromium-review.googlesource.com/c/crossbench/+/8118573\nAuto-Submit: Elad Alon \u003celadalon@chromium.org\u003e\nReviewed-by: Mikhail Khokhlov \u003ckhokhlov@google.com\u003e\nCommit-Queue: Elad Alon \u003celadalon@chromium.org\u003e\nCommit-Queue: Mikhail Khokhlov \u003ckhokhlov@google.com\u003e\n"
    },
    {
      "commit": "4c0f56e860ae10e118dae0b649b2306ea16e43e2",
      "tree": "0f1996936285ce959e6d9bbf60e1460dc3ca97df",
      "parents": [
        "68146b541547ca1fd180cbc502694d62abc26801"
      ],
      "author": {
        "name": "Elad Alon",
        "email": "eladalon@google.com",
        "time": "Mon Jul 20 12:37:44 2026"
      },
      "committer": {
        "name": "v8-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "email": "v8-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Mon Jul 20 12:37:44 2026"
      },
      "message": "Gracefully handle missing device data in probes\n\nPreviously, if a device was unmapped for a trace query, the\nTraceProcessor would throw a ValueError, causing the run to abort.\n\nThis change gracefully handles missing data on unmapped devices:\n- TraceProcessorQueryConfig now returns None instead of raising an\n  error for unmapped devices without fallbacks, gracefully skipping\n  query execution for that device.\n- WebPowerProbe uses `combine_first` to explicitly pad missing\n  unmapped browsers with NaN scores in the merged output without\n  aborting the run.\n\nChange-Id: I7e65911d37bcf61eaed54db21ef46f37246bd2c3\nReviewed-on: https://chromium-review.googlesource.com/c/crossbench/+/8120593\nCommit-Queue: Elad Alon \u003celadalon@chromium.org\u003e\nReviewed-by: Camillo Bruni \u003ccbruni@chromium.org\u003e\n"
    },
    {
      "commit": "68146b541547ca1fd180cbc502694d62abc26801",
      "tree": "9a7d2144ec3a4423feab45850ae19e0a3f86c826",
      "parents": [
        "41a5932ec5e6806482f38703397ca3b0efedddc6"
      ],
      "author": {
        "name": "Elad Alon",
        "email": "eladalon@google.com",
        "time": "Mon Jul 20 12:24:46 2026"
      },
      "committer": {
        "name": "v8-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "email": "v8-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Mon Jul 20 12:24:46 2026"
      },
      "message": "Fix manual probe sorting hacks by automatically sorting on attach\n\nCurrently, probes added dynamically after Runner initialization (e.g.\nTraceProcessorProbe) are appended without sorting, causing teardown\norder violations. Downstream benchmarks were forced to bypass\nencapsulation and call the private runner._sort_probes() manually\nto prevent missing data errors.\n\nThis CL moves sorting directly into Runner.attach_probe(), ensuring the\nrunner maintains a correctly priority-sorted probe list intrinsically\nat all times.\n\nChange-Id: I8a1e19c35e666c0a6e008cf705e649d30f584a84\nReviewed-on: https://chromium-review.googlesource.com/c/crossbench/+/8120591\nReviewed-by: Mikhail Khokhlov \u003ckhokhlov@google.com\u003e\nCommit-Queue: Elad Alon \u003celadalon@chromium.org\u003e\n"
    },
    {
      "commit": "41a5932ec5e6806482f38703397ca3b0efedddc6",
      "tree": "667d0f44468f24530f08bbdf6cb18cbde268da26",
      "parents": [
        "f0c8dac57308283e8c54e10a7521fc61ca1a245d"
      ],
      "author": {
        "name": "Elad Alon",
        "email": "eladalon@google.com",
        "time": "Mon Jul 20 11:40:11 2026"
      },
      "committer": {
        "name": "v8-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "email": "v8-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Mon Jul 20 11:40:11 2026"
      },
      "message": "Prevent circular dependency when checking for profiling probe context\n\nTraceProcessorSymbolizingProbeContext needs to know if profiling\ndata was collected to decide whether to run `traceconv symbolize`.\nPreviously, it checked `self.run.has_probe_context(ProfilingProbe)`,\nwhich required directly importing `ProfilingProbe`.\n\nThis direct import is brittle and sets the stage for circular\ndependencies in follow-up CLs. Specifically, if `system_profiling.py`\nor any of its dependencies (such as `profile_helper.py`) were to\nimport `probes.all`, it would immediately create an import cycle:\n(`symbolizing.py` -\u003e `system_profiling.py` -\u003e `profile_helper.py` -\u003e\n`probes.all` -\u003e `trace_processor` -\u003e `symbolizing.py`).\n\nTo prevent this issue and decouple the probes:\n1. Introduced `has_probe_context_by_name(probe_name: str)` to\n   `ProbeContextManager` and `Run`. This allows safely querying\n   for an instantiated probe context by its string name without\n   importing its class.\n2. Updated `TraceProcessorSymbolizingProbeContext` to use\n   `self.run.has_probe_context_by_name(\"profiling\")`, safely\n   removing the need to import `ProfilingProbe`.\n\nChange-Id: I08b091fdf38f12382e6429bb7ad941e40d4e2057\nReviewed-on: https://chromium-review.googlesource.com/c/crossbench/+/8117010\nAuto-Submit: Elad Alon \u003celadalon@chromium.org\u003e\nReviewed-by: Mikhail Khokhlov \u003ckhokhlov@google.com\u003e\nCommit-Queue: Elad Alon \u003celadalon@chromium.org\u003e\n"
    }
  ],
  "next": "f0c8dac57308283e8c54e10a7521fc61ca1a245d"
}
