)]}'
{
  "log": [
    {
      "commit": "00b01c867aaad820940c4f0458c7f846f1938f42",
      "tree": "7c6c0858c58c072b3e8728ca4b4724f5095df1a0",
      "parents": [
        "366c7b52043a78e9f6e8f38766d03971a26360d8"
      ],
      "author": {
        "name": "Syed Ahnaf Raza",
        "email": "119487797+syahra712@users.noreply.github.com",
        "time": "Tue Oct 20 15:27:37 2026 +0500"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Oct 20 12:27:37 2026 +0200"
      },
      "message": "Add a make licenses target that generates THIRD_PARTY.md (#133)\n\n* Add a make licenses target that lists runtime dependency licenses\n* Add THIRD_PARTY.md generated by make licenses"
    },
    {
      "commit": "366c7b52043a78e9f6e8f38766d03971a26360d8",
      "tree": "951b609e7f490e1a39392f74cd2ad7cc21dfd4ed",
      "parents": [
        "74c1a50790b1997590579fc8ae088b10233d5e68"
      ],
      "author": {
        "name": "Syed Ahnaf Raza",
        "email": "119487797+syahra712@users.noreply.github.com",
        "time": "Tue Oct 20 13:31:52 2026 +0500"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Oct 20 10:31:52 2026 +0200"
      },
      "message": "Create ClusterEnvironmentInfo so --telemetry cluster-environment-info works (#135)\n\nThe device is listed by \u0027solr-orbit list telemetry\u0027 and documented, but\n_create_solr_telemetry_devices never built it, so enabling it did nothing.\n\nFixes #134"
    },
    {
      "commit": "74c1a50790b1997590579fc8ae088b10233d5e68",
      "tree": "a1c8c51ce649fe2f495901c12426227d97cc67d5",
      "parents": [
        "dcdeb21eb9d41d6ea52e1ef91a60708825c2063e"
      ],
      "author": {
        "name": "Syed Ahnaf Raza",
        "email": "119487797+syahra712@users.noreply.github.com",
        "time": "Sat Oct 17 04:29:41 2026 +0500"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sat Oct 17 01:29:41 2026 +0200"
      },
      "message": "Restore metrics.metrics_store_class so solr-orbit stop works again (#124)\n\n* Test that solr-orbit stop can open the metrics store\n\nbuilder.stop() and the builder actor call metrics.metrics_store_class(), which no longer exists, so stopping a node fails with an AttributeError (#123).\n\n* Restore metrics.metrics_store_class so solr-orbit stop works again\n\nThe builder still selects the metrics store class through this helper, which went away when metrics_store() started picking the class inline. Bring it back and let metrics_store() use it, so both paths pick the same store.\n\nFixes #123"
    },
    {
      "commit": "dcdeb21eb9d41d6ea52e1ef91a60708825c2063e",
      "tree": "5be03ea453b39296cc83fca3b8c085ce9e3ce4f6",
      "parents": [
        "d0a93b0b4838a5ffbfb15d5d5911aab4744f0dbc"
      ],
      "author": {
        "name": "Syed Ahnaf Raza",
        "email": "119487797+syahra712@users.noreply.github.com",
        "time": "Sat Oct 17 04:29:08 2026 +0500"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sat Oct 17 01:29:08 2026 +0200"
      },
      "message": "Page through collections with SolrClient.search in create-workload (#125)\n\n* Test the create-workload cursor scan against SolrClient\n\n_cursor_scan() calls _get_session(), base_url and timeout, which only SolrAdminClient has, so it fails on the SolrClient that create-workload passes in (#122).\n\n* Page through collections with SolrClient.search in create-workload\n\n_cursor_scan() reached for SolrAdminClient internals on the SolrClient it is given. Use the data client\u0027s search() instead, which goes through pysolr with the client\u0027s host, auth, TLS and timeout, and read the cursor from the Results.\n\nFixes #122"
    },
    {
      "commit": "d0a93b0b4838a5ffbfb15d5d5911aab4744f0dbc",
      "tree": "7927d0280ebaf303766f443f644f45b3a7bd8a7c",
      "parents": [
        "5ab3e85b105a0c1e994712d3fd0f3bc648030e18"
      ],
      "author": {
        "name": "Syed Ahnaf Raza",
        "email": "119487797+syahra712@users.noreply.github.com",
        "time": "Sat Oct 17 04:28:33 2026 +0500"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sat Oct 17 01:28:33 2026 +0200"
      },
      "message": "Build the Docker image on Python 3.13, inside requires-python (#126)\n\n* Build the Docker image on Python 3.13, inside requires-python\n* Stop Dependabot bumping the base image past requires-python"
    },
    {
      "commit": "5ab3e85b105a0c1e994712d3fd0f3bc648030e18",
      "tree": "378d55fcca2db0250854fd3c94c2e554886c4bb9",
      "parents": [
        "c156d4d9fdbf5d286824d589de76ef4ecdc95aee"
      ],
      "author": {
        "name": "Jan Høydahl",
        "email": "janhoy@apache.org",
        "time": "Fri Oct 16 16:52:58 2026 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Oct 16 16:52:58 2026 +0200"
      },
      "message": "Do not let an empty IT_DISTRIBUTIONS silently empty the list (#121)"
    },
    {
      "commit": "c156d4d9fdbf5d286824d589de76ef4ecdc95aee",
      "tree": "4aef116fcbf77181156cd8d8e5fcce55e4b28aa9",
      "parents": [
        "041625c3fe326b049483932a4f169c188298d381"
      ],
      "author": {
        "name": "Mohamed Laghdaf Dadda",
        "email": "30777718+med9110@users.noreply.github.com",
        "time": "Fri Oct 16 15:37:55 2026 +0100"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Oct 16 16:37:55 2026 +0200"
      },
      "message": "fix: prevent caching incomplete Solr downloads (#113)\n\n* fix: prevent caching incomplete Solr downloads\n\nDownload Solr archives to temporary files in the cache directory\nand atomically publish them only after successful retrieval.\n\nClean up temporary files on failure or interruption while preserving\nmirror fallback behavior and propagating local filesystem errors.\n\nAdd regression tests for interrupted downloads, cache reuse,\nmirror fallback, exhausted mirrors, and publication failures.\n\nFixes #104\n\n* fix: preserve Solr download cache file permissions"
    },
    {
      "commit": "041625c3fe326b049483932a4f169c188298d381",
      "tree": "7ceb5744a5056ed2fe97b35a90acd1cbfbd3eca3",
      "parents": [
        "5b8d58ff10bf08d45659cb3c8d7a66937bd1a86b"
      ],
      "author": {
        "name": "Jan Høydahl",
        "email": "janhoy@apache.org",
        "time": "Fri Oct 16 16:34:48 2026 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Oct 16 16:34:48 2026 +0200"
      },
      "message": "Find Docker Compose under either of its names (#120)"
    },
    {
      "commit": "5b8d58ff10bf08d45659cb3c8d7a66937bd1a86b",
      "tree": "8f87fd788964e6210f388c236f2c60c96b35e631",
      "parents": [
        "f966dabd7c77c368971d62e0151473efab542084"
      ],
      "author": {
        "name": "Jan Høydahl",
        "email": "janhoy@apache.org",
        "time": "Fri Oct 16 16:08:00 2026 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Oct 16 16:08:00 2026 +0200"
      },
      "message": "Repair the integration test suite and make the Solr port configurable (#105)"
    },
    {
      "commit": "f966dabd7c77c368971d62e0151473efab542084",
      "tree": "bc19ad48fc25486ed4bfd52c9cfb7348e5b511e4",
      "parents": [
        "870e7019e7e5a46e8f054e49e4f52a2f18d64e30"
      ],
      "author": {
        "name": "Jan Høydahl",
        "email": "janhoy@apache.org",
        "time": "Fri Oct 16 15:41:13 2026 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Oct 16 15:41:13 2026 +0200"
      },
      "message": "Pass the configured timeout to the data client (#117)"
    },
    {
      "commit": "870e7019e7e5a46e8f054e49e4f52a2f18d64e30",
      "tree": "53e7e6ad64b7e35b4b4d9bcb05c0bb26ae202720",
      "parents": [
        "d8788eff2516df0acfa15a37e90fc56740c0deab"
      ],
      "author": {
        "name": "Jan Høydahl",
        "email": "janhoy@apache.org",
        "time": "Fri Oct 16 15:40:43 2026 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Oct 16 15:40:43 2026 +0200"
      },
      "message": "optimize: follow Solr\u0027s merge policy by default (#115)"
    },
    {
      "commit": "d8788eff2516df0acfa15a37e90fc56740c0deab",
      "tree": "fa24f1a0fea0ab75646e573adc6b22de3a100364",
      "parents": [
        "ed357fd7f0637be1a9b1032044745cf50e1f8065"
      ],
      "author": {
        "name": "Jan Høydahl",
        "email": "janhoy@apache.org",
        "time": "Fri Oct 16 09:21:44 2026 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Oct 16 09:21:44 2026 +0200"
      },
      "message": "Ask Solr which create-collection payload it takes (#112)"
    },
    {
      "commit": "ed357fd7f0637be1a9b1032044745cf50e1f8065",
      "tree": "354233185041be9fed686fec24be41bdec4476d7",
      "parents": [
        "e132cbbdc8216a4a6c04892940bc32b6c078757a"
      ],
      "author": {
        "name": "Jan Høydahl",
        "email": "janhoy@apache.org",
        "time": "Thu Oct 15 08:18:18 2026 +0100"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Oct 15 09:18:18 2026 +0200"
      },
      "message": "Fix --test-iterations\u003d1 silently running nothing (#102)"
    },
    {
      "commit": "e132cbbdc8216a4a6c04892940bc32b6c078757a",
      "tree": "b884fc82789d75d044c63931b996236a53f34af9",
      "parents": [
        "d2dd1dc6b41136bf9f1ab7bf8886461164b4502a"
      ],
      "author": {
        "name": "Serhiy Bzhezytskyy",
        "email": "me@serhiy-bzhezytskyy.com",
        "time": "Thu Oct 15 10:16:17 2026 +0300"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Oct 15 09:16:17 2026 +0200"
      },
      "message": "Convert OpenSearch\u0027s index-stats merge wait to Solr\u0027s wait-for-merges (#80)"
    },
    {
      "commit": "d2dd1dc6b41136bf9f1ab7bf8886461164b4502a",
      "tree": "f3819715d21f1817925e4dd413c7db02af927f18",
      "parents": [
        "138e47d59462158db59bdf8a07384a8b1f9ccf37"
      ],
      "author": {
        "name": "Jan Høydahl",
        "email": "janhoy@apache.org",
        "time": "Thu Oct 15 08:14:24 2026 +0100"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Oct 15 09:14:24 2026 +0200"
      },
      "message": "Fix packaging so a wheel install can run a benchmark (#100)"
    },
    {
      "commit": "138e47d59462158db59bdf8a07384a8b1f9ccf37",
      "tree": "e73652a36bfc89d20021aa27ecad59159e8aceb1",
      "parents": [
        "8cebe1a81618aadb8a76a02cd051adafbe02b94f"
      ],
      "author": {
        "name": "dependabot[bot]",
        "email": "49699333+dependabot[bot]@users.noreply.github.com",
        "time": "Sun Oct 04 09:45:00 2026 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sun Oct 04 09:45:00 2026 -0400"
      },
      "message": "Bump the github-actions-dependencies group with 3 updates (#92)\n\nBumps the github-actions-dependencies group with 3 updates: [docker/setup-buildx-action](https://github.com/docker/setup-buildx-action), [ruby/setup-ruby](https://github.com/ruby/setup-ruby) and [astral-sh/setup-uv](https://github.com/astral-sh/setup-uv).\n\n\nUpdates `docker/setup-buildx-action` from 4.3.0 to 4.4.1\n- [Release notes](https://github.com/docker/setup-buildx-action/releases)\n- [Commits](https://github.com/docker/setup-buildx-action/compare/37fe631027851001ddb9b187196cc803df7f5f0e...f87e5991a6d7451dcb8d9637bfbc97413f497069)\n\nUpdates `ruby/setup-ruby` from 1.323.0 to 1.327.0\n- [Release notes](https://github.com/ruby/setup-ruby/releases)\n- [Changelog](https://github.com/ruby/setup-ruby/blob/master/release.rb)\n- [Commits](https://github.com/ruby/setup-ruby/compare/984c0c890880bbf811283d6f09c4607c62d210a4...14594264cd68ce8a2345dd349bc3d138a4ef85c8)\n\nUpdates `astral-sh/setup-uv` from 10.1.0 to 10.2.0\n- [Release notes](https://github.com/astral-sh/setup-uv/releases)\n- [Commits](https://github.com/astral-sh/setup-uv/compare/bec219d24cd3e171d82865faccec33120bb574f4...c18668ad3cf93ea998bef934396af7bb5c839dc7)\n\n---\nupdated-dependencies:\n- dependency-name: docker/setup-buildx-action\n  dependency-version: 4.4.1\n  dependency-type: direct:production\n  update-type: version-update:semver-minor\n  dependency-group: github-actions-dependencies\n- dependency-name: ruby/setup-ruby\n  dependency-version: 1.327.0\n  dependency-type: direct:production\n  update-type: version-update:semver-minor\n  dependency-group: github-actions-dependencies\n- dependency-name: astral-sh/setup-uv\n  dependency-version: 10.2.0\n  dependency-type: direct:production\n  update-type: version-update:semver-minor\n  dependency-group: github-actions-dependencies\n...\n\nSigned-off-by: dependabot[bot] \u003csupport@github.com\u003e\nCo-authored-by: dependabot[bot] \u003c49699333+dependabot[bot]@users.noreply.github.com\u003e"
    },
    {
      "commit": "8cebe1a81618aadb8a76a02cd051adafbe02b94f",
      "tree": "010df16741f0eb8efe4d5d82c642bac36827a5b1",
      "parents": [
        "69e80c3e745a1691e92ef0adee220e6e575eba34"
      ],
      "author": {
        "name": "dependabot[bot]",
        "email": "49699333+dependabot[bot]@users.noreply.github.com",
        "time": "Sun Oct 04 09:44:39 2026 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sun Oct 04 09:44:39 2026 -0400"
      },
      "message": "Bump the python-dependencies group with 8 updates (#93)\n\nBumps the python-dependencies group with 8 updates:\n\n| Package | From | To |\n| --- | --- | --- |\n| [google-auth](https://github.com/googleapis/google-cloud-python) | `2.58.0` | `2.58.1` |\n| [boto3](https://github.com/boto/boto3) | `1.43.94` | `1.43.103` |\n| [pandas](https://github.com/pandas-dev/pandas) | `3.0.5` | `3.0.6` |\n| [mimesis](https://github.com/lk-geimfari/mimesis) | `21.0.0` | `22.2.0` |\n| [pydantic-core](https://github.com/pydantic/pydantic) | `2.46.5` | `2.49.0` |\n| [tox](https://github.com/tox-dev/tox) | `4.61.4` | `4.64.4` |\n| [coverage](https://github.com/coveragepy/coveragepy) | `7.16.1` | `7.16.2` |\n| [ruff](https://github.com/astral-sh/ruff) | `0.16.7` | `0.16.9` |\n\n\nUpdates `google-auth` from 2.58.0 to 2.58.1\n- [Release notes](https://github.com/googleapis/google-cloud-python/releases)\n- [Changelog](https://github.com/googleapis/google-cloud-python/blob/main/packages/google-cloud-documentai/CHANGELOG.md)\n- [Commits](https://github.com/googleapis/google-cloud-python/compare/google-auth-v2.58.0...google-auth-v2.58.1)\n\nUpdates `boto3` from 1.43.94 to 1.43.103\n- [Release notes](https://github.com/boto/boto3/releases)\n- [Commits](https://github.com/boto/boto3/compare/1.43.94...1.43.103)\n\nUpdates `pandas` from 3.0.5 to 3.0.6\n- [Release notes](https://github.com/pandas-dev/pandas/releases)\n- [Commits](https://github.com/pandas-dev/pandas/compare/v3.0.5...v3.0.6)\n\nUpdates `mimesis` from 21.0.0 to 22.2.0\n- [Release notes](https://github.com/lk-geimfari/mimesis/releases)\n- [Changelog](https://github.com/lk-geimfari/mimesis/blob/master/CHANGELOG.rst)\n- [Commits](https://github.com/lk-geimfari/mimesis/compare/v21.0.0...v22.2.0)\n\nUpdates `pydantic-core` from 2.46.5 to 2.49.0\n- [Release notes](https://github.com/pydantic/pydantic/releases)\n- [Changelog](https://github.com/pydantic/pydantic/blob/main/HISTORY.md)\n- [Commits](https://github.com/pydantic/pydantic/commits)\n\nUpdates `tox` from 4.61.4 to 4.64.4\n- [Release notes](https://github.com/tox-dev/tox/releases)\n- [Changelog](https://github.com/tox-dev/tox/blob/main/docs/changelog.rst)\n- [Commits](https://github.com/tox-dev/tox/compare/4.61.4...4.64.4)\n\nUpdates `coverage` from 7.16.1 to 7.16.2\n- [Release notes](https://github.com/coveragepy/coveragepy/releases)\n- [Changelog](https://github.com/coveragepy/coveragepy/blob/main/CHANGES.rst)\n- [Commits](https://github.com/coveragepy/coveragepy/compare/7.16.1...7.16.2)\n\nUpdates `ruff` from 0.16.7 to 0.16.9\n- [Release notes](https://github.com/astral-sh/ruff/releases)\n- [Changelog](https://github.com/astral-sh/ruff/blob/main/CHANGELOG.md)\n- [Commits](https://github.com/astral-sh/ruff/compare/0.16.7...0.16.9)\n\n---\nupdated-dependencies:\n- dependency-name: google-auth\n  dependency-version: 2.58.1\n  dependency-type: direct:production\n  update-type: version-update:semver-patch\n  dependency-group: python-dependencies\n- dependency-name: boto3\n  dependency-version: 1.43.103\n  dependency-type: direct:production\n  update-type: version-update:semver-patch\n  dependency-group: python-dependencies\n- dependency-name: pandas\n  dependency-version: 3.0.6\n  dependency-type: direct:production\n  update-type: version-update:semver-patch\n  dependency-group: python-dependencies\n- dependency-name: mimesis\n  dependency-version: 22.2.0\n  dependency-type: direct:production\n  update-type: version-update:semver-major\n  dependency-group: python-dependencies\n- dependency-name: pydantic-core\n  dependency-version: 2.49.0\n  dependency-type: direct:production\n  update-type: version-update:semver-minor\n  dependency-group: python-dependencies\n- dependency-name: tox\n  dependency-version: 4.64.4\n  dependency-type: direct:production\n  update-type: version-update:semver-minor\n  dependency-group: python-dependencies\n- dependency-name: coverage\n  dependency-version: 7.16.2\n  dependency-type: direct:production\n  update-type: version-update:semver-patch\n  dependency-group: python-dependencies\n- dependency-name: ruff\n  dependency-version: 0.16.9\n  dependency-type: direct:production\n  update-type: version-update:semver-patch\n  dependency-group: python-dependencies\n...\n\nSigned-off-by: dependabot[bot] \u003csupport@github.com\u003e\nCo-authored-by: dependabot[bot] \u003c49699333+dependabot[bot]@users.noreply.github.com\u003e"
    },
    {
      "commit": "69e80c3e745a1691e92ef0adee220e6e575eba34",
      "tree": "1c72b39132f44ebdbcce2e6f1b5eb9d969a53718",
      "parents": [
        "86417f50f67baf042b839d782f8b8584035b2ab2"
      ],
      "author": {
        "name": "dependabot[bot]",
        "email": "49699333+dependabot[bot]@users.noreply.github.com",
        "time": "Sun Oct 04 09:44:19 2026 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sun Oct 04 09:44:19 2026 -0400"
      },
      "message": "Bump pyjwt from 2.13.0 to 2.15.0 (#94)\n\nBumps [pyjwt](https://github.com/jpadilla/pyjwt) from 2.13.0 to 2.15.0.\n- [Release notes](https://github.com/jpadilla/pyjwt/releases)\n- [Changelog](https://github.com/jpadilla/pyjwt/blob/master/CHANGELOG.rst)\n- [Commits](https://github.com/jpadilla/pyjwt/compare/2.13.0...2.15.0)\n\n---\nupdated-dependencies:\n- dependency-name: pyjwt\n  dependency-version: 2.15.0\n  dependency-type: indirect\n...\n\nSigned-off-by: dependabot[bot] \u003csupport@github.com\u003e\nCo-authored-by: dependabot[bot] \u003c49699333+dependabot[bot]@users.noreply.github.com\u003e"
    },
    {
      "commit": "86417f50f67baf042b839d782f8b8584035b2ab2",
      "tree": "d792835d6234d00ddd2115f81254efbdf636fc94",
      "parents": [
        "3a8321ce3f7ee751264ab8b1d091ce1a996a324a"
      ],
      "author": {
        "name": "dependabot[bot]",
        "email": "49699333+dependabot[bot]@users.noreply.github.com",
        "time": "Sun Oct 04 09:44:07 2026 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sun Oct 04 09:44:07 2026 -0400"
      },
      "message": "Bump virtualenv from 21.5.1 to 21.7.13 (#95)\n\nBumps [virtualenv](https://github.com/pypa/virtualenv) from 21.5.1 to 21.7.13.\n- [Release notes](https://github.com/pypa/virtualenv/releases)\n- [Changelog](https://github.com/pypa/virtualenv/blob/main/docs/changelog.rst)\n- [Commits](https://github.com/pypa/virtualenv/compare/21.5.1...21.7.13)\n\n---\nupdated-dependencies:\n- dependency-name: virtualenv\n  dependency-version: 21.7.13\n  dependency-type: indirect\n...\n\nSigned-off-by: dependabot[bot] \u003csupport@github.com\u003e\nCo-authored-by: dependabot[bot] \u003c49699333+dependabot[bot]@users.noreply.github.com\u003e"
    },
    {
      "commit": "3a8321ce3f7ee751264ab8b1d091ce1a996a324a",
      "tree": "7e89617872a1e623436c161d498f783189d9ba1f",
      "parents": [
        "ba6602c86e387a3f2cb626e1603a731745610108"
      ],
      "author": {
        "name": "dependabot[bot]",
        "email": "49699333+dependabot[bot]@users.noreply.github.com",
        "time": "Sun Oct 04 09:43:54 2026 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sun Oct 04 09:43:54 2026 -0400"
      },
      "message": "Bump urllib3 from 2.7.0 to 2.8.0 (#96)\n\nBumps [urllib3](https://github.com/urllib3/urllib3) from 2.7.0 to 2.8.0.\n- [Release notes](https://github.com/urllib3/urllib3/releases)\n- [Changelog](https://github.com/urllib3/urllib3/blob/main/CHANGES.rst)\n- [Commits](https://github.com/urllib3/urllib3/compare/2.7.0...2.8.0)\n\n---\nupdated-dependencies:\n- dependency-name: urllib3\n  dependency-version: 2.8.0\n  dependency-type: indirect\n...\n\nSigned-off-by: dependabot[bot] \u003csupport@github.com\u003e\nCo-authored-by: dependabot[bot] \u003c49699333+dependabot[bot]@users.noreply.github.com\u003e"
    },
    {
      "commit": "ba6602c86e387a3f2cb626e1603a731745610108",
      "tree": "9ae22a3535d7d725e7c0d67eb5e443194573bc50",
      "parents": [
        "b3ab6cf54968633221791e34951cb82490d63bab"
      ],
      "author": {
        "name": "dependabot[bot]",
        "email": "49699333+dependabot[bot]@users.noreply.github.com",
        "time": "Sun Oct 04 09:43:44 2026 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sun Oct 04 09:43:44 2026 -0400"
      },
      "message": "Bump tornado from 6.5.7 to 6.5.9 (#97)\n\nBumps [tornado](https://github.com/tornadoweb/tornado) from 6.5.7 to 6.5.9.\n- [Changelog](https://github.com/tornadoweb/tornado/blob/master/docs/releases.rst)\n- [Commits](https://github.com/tornadoweb/tornado/compare/v6.5.7...v6.5.9)\n\n---\nupdated-dependencies:\n- dependency-name: tornado\n  dependency-version: 6.5.9\n  dependency-type: indirect\n...\n\nSigned-off-by: dependabot[bot] \u003csupport@github.com\u003e\nCo-authored-by: dependabot[bot] \u003c49699333+dependabot[bot]@users.noreply.github.com\u003e"
    },
    {
      "commit": "b3ab6cf54968633221791e34951cb82490d63bab",
      "tree": "53d5b06fff995803ebd2dcd8c0a49a3c19f7470a",
      "parents": [
        "3e76f195178ac44aa2694c5899ce2bd84e7fab8d"
      ],
      "author": {
        "name": "dependabot[bot]",
        "email": "49699333+dependabot[bot]@users.noreply.github.com",
        "time": "Fri Sep 18 16:20:23 2026 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Sep 18 16:20:23 2026 +0200"
      },
      "message": "Bump the github-actions-dependencies group across 1 directory with 3 updates (#89)"
    },
    {
      "commit": "3e76f195178ac44aa2694c5899ce2bd84e7fab8d",
      "tree": "93238145d31d6176910ba59316800fc6651eaef1",
      "parents": [
        "6191c7bc3867300443e631221e766aaaf5a7727f"
      ],
      "author": {
        "name": "dependabot[bot]",
        "email": "49699333+dependabot[bot]@users.noreply.github.com",
        "time": "Fri Sep 18 15:05:13 2026 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Sep 18 15:05:13 2026 +0200"
      },
      "message": "Bump python from 3.12-slim to 3.14-slim in /docker (#81)\n\nBumps python from 3.12-slim to 3.14-slim.\n\n---\nupdated-dependencies:\n- dependency-name: python\n  dependency-version: 3.14-slim\n  dependency-type: direct:production\n...\n\nSigned-off-by: dependabot[bot] \u003csupport@github.com\u003e\nCo-authored-by: dependabot[bot] \u003c49699333+dependabot[bot]@users.noreply.github.com\u003e"
    },
    {
      "commit": "6191c7bc3867300443e631221e766aaaf5a7727f",
      "tree": "56865ccda68d7141dd4b46171efe9960259dd248",
      "parents": [
        "ccfd758739c7b7ca3afbb277a39909fc93dcbd03"
      ],
      "author": {
        "name": "dependabot[bot]",
        "email": "49699333+dependabot[bot]@users.noreply.github.com",
        "time": "Fri Sep 18 15:02:11 2026 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Sep 18 15:02:11 2026 +0200"
      },
      "message": "Bump the python-dependencies group with 16 updates (#90)"
    },
    {
      "commit": "ccfd758739c7b7ca3afbb277a39909fc93dcbd03",
      "tree": "5e6bf3332e81c79ebea7470cea4b437ab9a19078",
      "parents": [
        "6d6f079d1be6bdccc3be46dfe2f9a0d01f1d2da6"
      ],
      "author": {
        "name": "Jan Høydahl",
        "email": "janhoy@apache.org",
        "time": "Fri Sep 18 14:47:04 2026 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Sep 18 14:47:04 2026 +0200"
      },
      "message": "CI: auto-cancel superseded PR runs (#91)\n\nNone of the workflows declared a concurrency group, so pushing twice to a PR\nleft both runs going to completion. Add a per-workflow, per-PR concurrency\ngroup with cancel-in-progress limited to pull_request events, so pushes to\nmain and manual dispatches still always run to completion."
    },
    {
      "commit": "6d6f079d1be6bdccc3be46dfe2f9a0d01f1d2da6",
      "tree": "44fff24c8ead0881082970251c4934dabdbc00af",
      "parents": [
        "3ebb85ea2078f11da4f40b4cceabc5a237a22326"
      ],
      "author": {
        "name": "Jan Høydahl",
        "email": "janhoy@apache.org",
        "time": "Fri Sep 18 14:31:06 2026 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Sep 18 14:31:06 2026 +0200"
      },
      "message": "Dependabot: use uv ecosystem for Python deps instead of pip (#88)\n\n* Dependabot: use uv ecosystem for Python deps instead of pip\n* CI: skip code workflows for docs-only and config-only PRs\n\nSplit Docs-Lint out of unit-test.yml into docs-lint.yml so docs changes\nvalidate the Jekyll site without running the Python test matrix.\n\nAdd paths-ignore deny-lists to unit-test.yml and docker-build.yml so\nmarkdown, .gitignore, dependabot.yml, issue templates, .asf.yaml, .fossa.yml,\nLICENSE and NOTICE no longer trigger them. Deny-lists (not allow-lists) keep\nnew source directories covered by default.\n\nNarrow check-actions-usage.yml to .github/workflows and .github/actions, and\ndockerfile-lint.yml to the Dockerfiles hadolint actually reads."
    },
    {
      "commit": "3ebb85ea2078f11da4f40b4cceabc5a237a22326",
      "tree": "a97b052b4107a0806d3c7edb2435eae15e7d9415",
      "parents": [
        "8264a65fc33b6c4498a19fa17a7681d11b056554"
      ],
      "author": {
        "name": "dependabot[bot]",
        "email": "49699333+dependabot[bot]@users.noreply.github.com",
        "time": "Fri Sep 18 14:17:39 2026 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Sep 18 14:17:39 2026 +0200"
      },
      "message": "Bump the python-dependencies group with 3 updates (#87)"
    },
    {
      "commit": "8264a65fc33b6c4498a19fa17a7681d11b056554",
      "tree": "e8f583ef0d1ca37de7b5adb57ec544e13bf87841",
      "parents": [
        "e88406281390eed07f8dc67fea0fe9f07d754dc8"
      ],
      "author": {
        "name": "Eric Pugh",
        "email": "epugh@opensourceconnections.com",
        "time": "Thu Sep 17 16:19:46 2026 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Sep 17 22:19:46 2026 +0200"
      },
      "message": "adopt UV instead of pip (#50)"
    },
    {
      "commit": "e88406281390eed07f8dc67fea0fe9f07d754dc8",
      "tree": "00bf7aed9f8586e0e8652057c5905e71f047e94b",
      "parents": [
        "55b263e77b5e724615904c00a46e32cf4c3a6ee4"
      ],
      "author": {
        "name": "Serhiy Bzhezytskyy",
        "email": "me@serhiy-bzhezytskyy.com",
        "time": "Thu Sep 17 23:11:54 2026 +0300"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Sep 17 22:11:54 2026 +0200"
      },
      "message": "Convert date_histogram fixed_interval instead of defaulting to +1MONTH (#77)"
    },
    {
      "commit": "55b263e77b5e724615904c00a46e32cf4c3a6ee4",
      "tree": "2ec3ec745714ca81418c19bb2211f49de925f18a",
      "parents": [
        "ec305c7ca8959c56ebfebfc6485f434521bcafe3"
      ],
      "author": {
        "name": "Serhiy Bzhezytskyy",
        "email": "me@serhiy-bzhezytskyy.com",
        "time": "Thu Sep 17 23:11:10 2026 +0300"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Sep 17 22:11:10 2026 +0200"
      },
      "message": "Randomize range bounds in Solr\u0027s string queries (#76)\n\nCo-authored-by: Claude Opus 5 \u003cnoreply@anthropic.com\u003e"
    },
    {
      "commit": "ec305c7ca8959c56ebfebfc6485f434521bcafe3",
      "tree": "a8b3a18531268a7cc0547f4113cbee7925c22bf1",
      "parents": [
        "f088380700320b43a70c331cf4d56dfa78d3c032"
      ],
      "author": {
        "name": "Serhiy Bzhezytskyy",
        "email": "me@serhiy-bzhezytskyy.com",
        "time": "Thu Sep 17 22:54:54 2026 +0300"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Sep 17 21:54:54 2026 +0200"
      },
      "message": "Convert date bounds correctly: space separator, and whole-day rounding (#74)"
    },
    {
      "commit": "f088380700320b43a70c331cf4d56dfa78d3c032",
      "tree": "dc8d20f9acff168e191219fb0efc95200c91603a",
      "parents": [
        "741b8501b0f33c5b0a68cca4b03403e932cf6516"
      ],
      "author": {
        "name": "Serhiy Bzhezytskyy",
        "email": "me@serhiy-bzhezytskyy.com",
        "time": "Thu Sep 03 20:35:00 2026 +0300"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Sep 03 19:35:00 2026 +0200"
      },
      "message": "Read the cluster\u0027s distribution version instead of returning a constant (#72)"
    },
    {
      "commit": "741b8501b0f33c5b0a68cca4b03403e932cf6516",
      "tree": "b8ade1dd882d7a050ea31cd019e249fac93256da",
      "parents": [
        "8150d44426ba944adf07248f81562d984e1163c9"
      ],
      "author": {
        "name": "Serhiy Bzhezytskyy",
        "email": "me@serhiy-bzhezytskyy.com",
        "time": "Thu Sep 03 20:34:43 2026 +0300"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Sep 03 19:34:43 2026 +0200"
      },
      "message": "Preserve range bound inclusivity when translating to Solr (#69)"
    },
    {
      "commit": "8150d44426ba944adf07248f81562d984e1163c9",
      "tree": "64a071570c1c05c4a32ba2803d54a4334c25c68d",
      "parents": [
        "4f984e819b9422bbff6e223f408002871b34e707"
      ],
      "author": {
        "name": "dependabot[bot]",
        "email": "49699333+dependabot[bot]@users.noreply.github.com",
        "time": "Wed Sep 02 22:32:33 2026 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Sep 02 22:32:33 2026 +0200"
      },
      "message": "Bump the python-dependencies group across 1 directory with 3 updates (#67)\n\nUpdates `numpy` to 2.5.2\nUpdates `coverage` from 7.15.2 to 7.16.0\nUpdates `ruff` from 0.16.0 to 0.16.5\n\nSigned-off-by: dependabot[bot] \u003csupport@github.com\u003e\nCo-authored-by: dependabot[bot] \u003c49699333+dependabot[bot]@users.noreply.github.com\u003e"
    },
    {
      "commit": "4f984e819b9422bbff6e223f408002871b34e707",
      "tree": "4bf5cc386c2b9b9c3fd2c36cbf4add7e248f5c08",
      "parents": [
        "dab0165d5a95421d7ce8193e3b9be88ce2c9048c"
      ],
      "author": {
        "name": "dependabot[bot]",
        "email": "49699333+dependabot[bot]@users.noreply.github.com",
        "time": "Wed Sep 02 22:31:41 2026 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Sep 02 22:31:41 2026 +0200"
      },
      "message": "Bump the github-actions-dependencies group across 1 directory with 2 updates (#66)\n\nUpdates `docker/setup-buildx-action` from 4.2.0 to 4.3.0\nUpdates `hadolint/hadolint-action` from 3.3.0 to 3.5.0\n\nSigned-off-by: dependabot[bot] \u003csupport@github.com\u003e\nCo-authored-by: dependabot[bot] \u003c49699333+dependabot[bot]@users.noreply.github.com\u003e"
    },
    {
      "commit": "dab0165d5a95421d7ce8193e3b9be88ce2c9048c",
      "tree": "3219c6caa3d0918c0b78c40906e5aeebf06b6c6b",
      "parents": [
        "81bbcab5f0006b31164c269c4524dd05e304e6c0"
      ],
      "author": {
        "name": "Jan Høydahl",
        "email": "janhoy@apache.org",
        "time": "Wed Sep 02 22:15:01 2026 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Sep 02 22:15:01 2026 +0200"
      },
      "message": "Fix launcher test failure: give MockPopen an args attribute (#71)"
    },
    {
      "commit": "81bbcab5f0006b31164c269c4524dd05e304e6c0",
      "tree": "af7032ef8c3bf5eb528d47c5f0bfa2f71dea381f",
      "parents": [
        "4cb9254b0e99ee7e22212cd4c4fd9beecc8d5335"
      ],
      "author": {
        "name": "dependabot[bot]",
        "email": "49699333+dependabot[bot]@users.noreply.github.com",
        "time": "Mon Aug 03 13:50:55 2026 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Aug 03 13:50:55 2026 +0200"
      },
      "message": "Bump the python-dependencies group with 5 updates (#65)\n\nUpdates the requirements on [numpy](https://github.com/numpy/numpy), [mimesis](https://github.com/lk-geimfari/mimesis), [coverage](https://github.com/coveragepy/coveragepy), [twine](https://github.com/pypa/twine) and [ruff](https://github.com/astral-sh/ruff) to permit the latest version.\n\n\nSigned-off-by: dependabot[bot] \u003csupport@github.com\u003e\nCo-authored-by: dependabot[bot] \u003c49699333+dependabot[bot]@users.noreply.github.com\u003e"
    },
    {
      "commit": "4cb9254b0e99ee7e22212cd4c4fd9beecc8d5335",
      "tree": "8d0ceba79c159f0aab84a58cfa19209c9ce81ae8",
      "parents": [
        "5f3ece032111893e3278fdb8a2710ff8d9c3c02e"
      ],
      "author": {
        "name": "dependabot[bot]",
        "email": "49699333+dependabot[bot]@users.noreply.github.com",
        "time": "Mon Aug 03 13:50:27 2026 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Aug 03 13:50:27 2026 +0200"
      },
      "message": "Bump the github-actions-dependencies group with 4 updates (#64)\n\nBumps the github-actions-dependencies group with 4 updates: [actions/checkout](https://github.com/actions/checkout), [docker/setup-qemu-action](https://github.com/docker/setup-qemu-action), [docker/setup-buildx-action](https://github.com/docker/setup-buildx-action) and [ruby/setup-ruby](https://github.com/ruby/setup-ruby).\n\nSigned-off-by: dependabot[bot] \u003csupport@github.com\u003e\nCo-authored-by: dependabot[bot] \u003c49699333+dependabot[bot]@users.noreply.github.com\u003e"
    },
    {
      "commit": "5f3ece032111893e3278fdb8a2710ff8d9c3c02e",
      "tree": "70b43abfcdaa1b9a0ddf9896eb5df309b24e903b",
      "parents": [
        "d4fc9b57704b9c3c32edc7e7a235652a65fcf3b5"
      ],
      "author": {
        "name": "Jan Høydahl",
        "email": "janhoy@apache.org",
        "time": "Fri Jul 31 12:44:07 2026 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Jul 31 12:44:07 2026 +0200"
      },
      "message": "Fix flaky test worker_coordinator_test.py (#63)"
    },
    {
      "commit": "d4fc9b57704b9c3c32edc7e7a235652a65fcf3b5",
      "tree": "ae04a8e2acf2780ea30d72a74bc57412d7cd6e08",
      "parents": [
        "05f15a4321c6399fe4240fa231747886f8e34249"
      ],
      "author": {
        "name": "Serhiy Bzhezytskyy",
        "email": "me@serhiy-bzhezytskyy.com",
        "time": "Thu Jul 30 19:10:18 2026 +0300"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Jul 30 18:10:18 2026 +0200"
      },
      "message": "Add --workload-path to aggregate, for parity with run (#60)"
    },
    {
      "commit": "05f15a4321c6399fe4240fa231747886f8e34249",
      "tree": "3351c367680b47df1802594027b60db639867f62",
      "parents": [
        "80b187c0a40830cb3d60cd477c46a218462f1503"
      ],
      "author": {
        "name": "Serhiy Bzhezytskyy",
        "email": "me@serhiy-bzhezytskyy.com",
        "time": "Thu Jul 30 02:19:41 2026 +0300"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Jul 30 01:19:41 2026 +0200"
      },
      "message": "Fix: aggregate crashes when an operation reports null metrics (#58)"
    },
    {
      "commit": "80b187c0a40830cb3d60cd477c46a218462f1503",
      "tree": "dd1aa27911ebcbc944cee12fbc7bcc3d4354807f",
      "parents": [
        "a63d1531fcde7f2c7fc8adda561cd50a262000e7"
      ],
      "author": {
        "name": "dependabot[bot]",
        "email": "49699333+dependabot[bot]@users.noreply.github.com",
        "time": "Wed Jul 29 23:55:09 2026 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Jul 29 23:55:09 2026 +0200"
      },
      "message": "Bump the github-actions-dependencies group across 1 directory with 3 updates (#53)\n\nUpdates `actions/checkout` from 6.0.2 to 7.0.0\nUpdates `docker/setup-qemu-action` from 4.0.0 to 4.1.0\nUpdates `ruby/setup-ruby` from 1.310.0 to 1.315.0\n\nSigned-off-by: dependabot[bot] \u003csupport@github.com\u003e\nCo-authored-by: dependabot[bot] \u003c49699333+dependabot[bot]@users.noreply.github.com\u003e"
    },
    {
      "commit": "a63d1531fcde7f2c7fc8adda561cd50a262000e7",
      "tree": "0b72c6643a2a3121533cf575b84b5869211d3cad",
      "parents": [
        "1230db4d22593116906cf6301c05302910029231"
      ],
      "author": {
        "name": "Jan Høydahl",
        "email": "janhoy@apache.org",
        "time": "Wed Jul 29 23:52:25 2026 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Jul 29 23:52:25 2026 +0200"
      },
      "message": "Only document workloads we have (#62)"
    },
    {
      "commit": "1230db4d22593116906cf6301c05302910029231",
      "tree": "2a6e445f497c0418694b7219a2f4dd5a065cbd6f",
      "parents": [
        "5ed01716017a1ed42e2b9f04fbe7567b6cf99b2a"
      ],
      "author": {
        "name": "Serhiy Bzhezytskyy",
        "email": "me@serhiy-bzhezytskyy.com",
        "time": "Mon Jul 27 22:19:51 2026 +0300"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Jul 27 21:19:51 2026 +0200"
      },
      "message": "Fix: aggregate reads a test run attribute that does not exist (#59)\n\nupdate_config_object read test_run.cluster_config_instance_params, which no\ntest run has, so aggregate always failed with\n\n    Cannot aggregate. \u0027TestRun\u0027 object has no attribute \u0027cluster_config_instance_params\u0027.\n\nRegression from commits 2c85d505 and e10342d1"
    },
    {
      "commit": "5ed01716017a1ed42e2b9f04fbe7567b6cf99b2a",
      "tree": "c235b3a693a670da0094441cc60adfaa2f917f30",
      "parents": [
        "edb3d03e3e546a2891b6559be7ced3976f39af68"
      ],
      "author": {
        "name": "dependabot[bot]",
        "email": "49699333+dependabot[bot]@users.noreply.github.com",
        "time": "Sun Jul 26 08:17:04 2026 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sun Jul 26 08:17:04 2026 -0400"
      },
      "message": "Bump the python-dependencies group with 4 updates (#54)\n\nUpdates the requirements on [numpy](https://github.com/numpy/numpy), [pytest](https://github.com/pytest-dev/pytest), [coverage](https://github.com/coveragepy/coveragepy) and [ruff](https://github.com/astral-sh/ruff) to permit the latest version.\n\nUpdates `numpy` to 2.5.0\n- [Release notes](https://github.com/numpy/numpy/releases)\n- [Changelog](https://github.com/numpy/numpy/blob/main/doc/RELEASE_WALKTHROUGH.rst)\n- [Commits](https://github.com/numpy/numpy/compare/v1.24.2...v2.5.0)\n\nUpdates `pytest` from 9.0.3 to 9.1.1\n- [Release notes](https://github.com/pytest-dev/pytest/releases)\n- [Changelog](https://github.com/pytest-dev/pytest/blob/main/CHANGELOG.rst)\n- [Commits](https://github.com/pytest-dev/pytest/compare/9.0.3...9.1.1)\n\nUpdates `coverage` from 7.14.1 to 7.14.3\n- [Release notes](https://github.com/coveragepy/coveragepy/releases)\n- [Changelog](https://github.com/coveragepy/coveragepy/blob/main/CHANGES.rst)\n- [Commits](https://github.com/coveragepy/coveragepy/compare/7.14.1...7.14.3)\n\nUpdates `ruff` from 0.15.15 to 0.15.20\n- [Release notes](https://github.com/astral-sh/ruff/releases)\n- [Changelog](https://github.com/astral-sh/ruff/blob/main/CHANGELOG.md)\n- [Commits](https://github.com/astral-sh/ruff/compare/0.15.15...0.15.20)\n\n---\nupdated-dependencies:\n- dependency-name: numpy\n  dependency-version: 2.5.0\n  dependency-type: direct:production\n  dependency-group: python-dependencies\n- dependency-name: pytest\n  dependency-version: 9.1.1\n  dependency-type: direct:development\n  update-type: version-update:semver-minor\n  dependency-group: python-dependencies\n- dependency-name: coverage\n  dependency-version: 7.14.3\n  dependency-type: direct:development\n  update-type: version-update:semver-patch\n  dependency-group: python-dependencies\n- dependency-name: ruff\n  dependency-version: 0.15.20\n  dependency-type: direct:development\n  update-type: version-update:semver-patch\n  dependency-group: python-dependencies\n...\n\nSigned-off-by: dependabot[bot] \u003csupport@github.com\u003e\nCo-authored-by: dependabot[bot] \u003c49699333+dependabot[bot]@users.noreply.github.com\u003e"
    },
    {
      "commit": "edb3d03e3e546a2891b6559be7ced3976f39af68",
      "tree": "1c02d4d5963a1297132f3870fc528cbff9781a38",
      "parents": [
        "ce834dca95549f06f293c32fdf4e25cc2218ce53"
      ],
      "author": {
        "name": "Eric Pugh",
        "email": "epugh@opensourceconnections.com",
        "time": "Sun Jun 21 17:24:07 2026 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sun Jun 21 17:24:07 2026 -0400"
      },
      "message": "Fix: restore --allow-unsupported-user-managed argparse argument (#52)"
    },
    {
      "commit": "ce834dca95549f06f293c32fdf4e25cc2218ce53",
      "tree": "def829879d2072b1ac7e2f64e88e54128d1191c5",
      "parents": [
        "5ba6498fc7522284e17a8f5b7e4d1c2b987c7e6d"
      ],
      "author": {
        "name": "Eric Pugh",
        "email": "epugh@opensourceconnections.com",
        "time": "Sun Jun 21 17:01:04 2026 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sun Jun 21 17:01:04 2026 -0400"
      },
      "message": "I am using the option name as the variable name everywhere to avoid magic mapping. (#51)"
    },
    {
      "commit": "5ba6498fc7522284e17a8f5b7e4d1c2b987c7e6d",
      "tree": "953dbe4a0f6f3383cc7c254146d349f0d5a0a098",
      "parents": [
        "e34a7eac95cb2820991621f038234ae386a623a4"
      ],
      "author": {
        "name": "Eric Pugh",
        "email": "epugh@opensourceconnections.com",
        "time": "Sun Jun 21 16:29:43 2026 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sun Jun 21 16:29:43 2026 -0400"
      },
      "message": "Add --allow-unsuported-user-managed (modeled on bin/solr start --user-managed) param (#49)"
    },
    {
      "commit": "e34a7eac95cb2820991621f038234ae386a623a4",
      "tree": "6fe078bfbae6dc50a1faf3f5b9cc0ce09ff27cac",
      "parents": [
        "7596a6dcd35dfceb143421297d7ebe27d45a223a"
      ],
      "author": {
        "name": "Jan Høydahl",
        "email": "janhoy@apache.org",
        "time": "Sat May 30 23:11:15 2026 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sat May 30 23:11:15 2026 +0200"
      },
      "message": "Require SolrCloud mode: enforce at runtime and document clearly (#43)"
    },
    {
      "commit": "7596a6dcd35dfceb143421297d7ebe27d45a223a",
      "tree": "d000e03878001fd6405e8d03e708afc60b0e9700",
      "parents": [
        "06b726c0db3b3238174603379162593634af0c7a"
      ],
      "author": {
        "name": "Jan Høydahl",
        "email": "janhoy@apache.org",
        "time": "Sat May 30 01:11:12 2026 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sat May 30 01:11:12 2026 +0200"
      },
      "message": "Replace pylint with ruff (#44)"
    },
    {
      "commit": "06b726c0db3b3238174603379162593634af0c7a",
      "tree": "88ce934cdbf577b90f910891a7c44d92f4b52192",
      "parents": [
        "afd7524cfe53be27691e634b836386464819cbde"
      ],
      "author": {
        "name": "Jan Høydahl",
        "email": "janhoy@apache.org",
        "time": "Fri May 29 21:49:51 2026 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri May 29 21:49:51 2026 +0200"
      },
      "message": "Rename osbenchmark/ → solrorbit/, remove other unused folders (#42)\n\n* Rename osbenchmark/ → solrorbit/, remove solrbenchmark/ shim and jenkins/\n\nCloses #14.\n\n- Rename core Python package osbenchmark/ to solrorbit/ (git mv preserves history)\n- Update all imports, entry points, logging config, and script references\n- Remove solrbenchmark/ compatibility shim (no longer needed)\n- Remove jenkins/ folder inherited from OpenSearch Benchmark (unused)\n\n* Fix BINARY_NAME in benchmark script: solrorbit → solr-orbit\n\nrun.sh resolves ${USER_BASE}/bin/${BINARY_NAME} to find the installed\nbinary. pyproject.toml registers the console script as \u0027solr-orbit\u0027, so\nthe name must match.\n\n* Fix BINARY_NAME in benchmarkd script: solrorbitd → solr-orbitd\n\npyproject.toml registers the daemon console script as \u0027solr-orbitd\u0027;\nthe BINARY_NAME must match for run.sh to find the installed binary.\n\n* Fix non-existent migrate_workload command in CREATE_WORKLOAD_GUIDE.md\n\nsolrorbit/tools/ contains only __init__.py — the migrate_workload module\nnever existed (not even at the OSB fork point). The actual conversion\nsubcommand is \u0027solr-orbit convert-workload\u0027.\n\n* Replace stale ASB references in benchmarkd.py and run.sh\n\n- benchmarkd.py: replace \"ASB daemon\" with \"Solr Orbit daemon\" in all\n  argparse help strings and description\n- run.sh: align Thespian actor log path with paths.logs() — change\n  ~/.benchmark/logs/ to ~/.solr-orbit/logs/\n\n* Replace stale \"ASB\" abbreviation with \"Solr Orbit\" throughout\n\n\"ASB\" (Apache Solr Benchmark) was an interim name that predates the\ncurrent project identity. Replace all 59 occurrences in docstrings,\ncomments, log/error messages, workload schema descriptions, and docs.\n\nAlso rename local variables asb_ver/asb_rev → orbit_ver/orbit_rev in\nbenchmark_report_renderer.py."
    },
    {
      "commit": "afd7524cfe53be27691e634b836386464819cbde",
      "tree": "d86e46f8dbef67b942dd723058f7d8ae442e25e4",
      "parents": [
        "4a2985eab34b1ebbe48c08ae7af54ceb8003b587"
      ],
      "author": {
        "name": "Jan Høydahl",
        "email": "janhoy@apache.org",
        "time": "Fri May 29 11:44:31 2026 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri May 29 11:44:31 2026 +0200"
      },
      "message": "Fix/test procedure clarification (#40)\n\n* Explain test-procedures.\n* Attempt to fix site search."
    },
    {
      "commit": "4a2985eab34b1ebbe48c08ae7af54ceb8003b587",
      "tree": "5701f94378e0420dc443f82265f598edeedb8667",
      "parents": [
        "7127005e835782b647b6d8252ac1f9c4d9222c8f"
      ],
      "author": {
        "name": "Jan Høydahl",
        "email": "janhoy@apache.org",
        "time": "Fri May 29 11:40:29 2026 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri May 29 11:40:29 2026 +0200"
      },
      "message": "Fix/dont mention opensearch too much in docs (#41)\n\n* Don\u0027t assume users come from Opensearch. Reference OS only in About and attribution"
    },
    {
      "commit": "7127005e835782b647b6d8252ac1f9c4d9222c8f",
      "tree": "93c862c5f566e34b8205e5f3ceb3664e6b1813f8",
      "parents": [
        "199fc9cd2faafc6643d4b8f1cba548209fb270f1"
      ],
      "author": {
        "name": "Eric Pugh",
        "email": "epugh@opensourceconnections.com",
        "time": "Thu May 28 18:22:45 2026 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu May 28 18:22:45 2026 -0400"
      },
      "message": "Fix the order of loading properties to properly support the --workload-params setting (#39)\n\nPick and chose who get merged as certain parameters we want the original value to come through."
    },
    {
      "commit": "199fc9cd2faafc6643d4b8f1cba548209fb270f1",
      "tree": "0f0c81356c423ac25c7438b79a9565db0507735f",
      "parents": [
        "a2b2bf90b1b23920e3fb088285529be5273c4d61"
      ],
      "author": {
        "name": "dependabot[bot]",
        "email": "49699333+dependabot[bot]@users.noreply.github.com",
        "time": "Wed May 27 19:10:06 2026 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed May 27 19:10:06 2026 +0200"
      },
      "message": "Bump the python-dependencies group with 8 updates (#32)"
    },
    {
      "commit": "a2b2bf90b1b23920e3fb088285529be5273c4d61",
      "tree": "6c9856c8d63d6543462d70c1711970c500921054",
      "parents": [
        "38a5260311b9dab9168ef000ddb98c117f6534bd"
      ],
      "author": {
        "name": "dependabot[bot]",
        "email": "49699333+dependabot[bot]@users.noreply.github.com",
        "time": "Wed May 27 19:06:03 2026 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed May 27 19:06:03 2026 +0200"
      },
      "message": "Bump the github-actions-dependencies group with 3 updates (#31)\n\nBumps the github-actions-dependencies group with 3 updates: [actions/checkout](https://github.com/actions/checkout), [docker/setup-qemu-action](https://github.com/docker/setup-qemu-action) and [docker/setup-buildx-action](https://github.com/docker/setup-buildx-action)."
    },
    {
      "commit": "38a5260311b9dab9168ef000ddb98c117f6534bd",
      "tree": "ed10c85e5ae62aefad82b4059364133992b9b63e",
      "parents": [
        "9a36ea13506ef3eee269003bb338ed20fa8aad64"
      ],
      "author": {
        "name": "Jan Høydahl",
        "email": "janhoy@apache.org",
        "time": "Tue May 26 15:33:11 2026 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue May 26 15:33:11 2026 +0200"
      },
      "message": "Fix invalid check-actions-usage.yml (#30)"
    },
    {
      "commit": "9a36ea13506ef3eee269003bb338ed20fa8aad64",
      "tree": "42d645b95cc2f00d98ca371abe4ef2292f9bc26a",
      "parents": [
        "e9d11258645a8f746b7df381bb081f83f6bcab4e"
      ],
      "author": {
        "name": "dependabot[bot]",
        "email": "49699333+dependabot[bot]@users.noreply.github.com",
        "time": "Tue May 26 15:03:33 2026 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue May 26 15:03:33 2026 +0200"
      },
      "message": "Bump pytest from 7.2.2 to 9.0.3 (#27)"
    },
    {
      "commit": "e9d11258645a8f746b7df381bb081f83f6bcab4e",
      "tree": "7b16c02b38eb160553d6da30de68d524c337702c",
      "parents": [
        "993633b540c4dcfbf0f381111baf456582e4ecf6"
      ],
      "author": {
        "name": "Jan Høydahl",
        "email": "janhoy@apache.org",
        "time": "Tue May 26 12:23:01 2026 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue May 26 12:23:01 2026 +0200"
      },
      "message": "Add Dependabot for automated dependency updates (#20)\n\n* Montly check, one PR for all python updates"
    },
    {
      "commit": "993633b540c4dcfbf0f381111baf456582e4ecf6",
      "tree": "be5fbd83c4706249eaf563843795d5eb565461a9",
      "parents": [
        "7d7455fd14f631924348bd4c287de002eb235462"
      ],
      "author": {
        "name": "Jan Høydahl",
        "email": "janhoy@apache.org",
        "time": "Tue May 26 11:37:09 2026 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue May 26 11:37:09 2026 +0200"
      },
      "message": "Remove DCO chapter from CONTRIBUTING.md (#29)"
    },
    {
      "commit": "7d7455fd14f631924348bd4c287de002eb235462",
      "tree": "274a12d670c20d0168fac6e4cdcd5409c07d817b",
      "parents": [
        "9b1199b3942224baa7ca90a07fe40926d8bb2fe9"
      ],
      "author": {
        "name": "Jan Høydahl",
        "email": "janhoy@apache.org",
        "time": "Tue May 26 00:30:08 2026 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue May 26 00:30:08 2026 +0200"
      },
      "message": "Migrate packaging from setup.py to pyproject.toml (#22)"
    },
    {
      "commit": "9b1199b3942224baa7ca90a07fe40926d8bb2fe9",
      "tree": "ed38cd56d8c6618bec00cef40955807f0a6b8872",
      "parents": [
        "3d58f5d7ae8196e7aab73c2dff5da5b1c3c9b5bf"
      ],
      "author": {
        "name": "Jan Høydahl",
        "email": "janhoy@apache.org",
        "time": "Tue May 26 00:07:47 2026 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue May 26 00:07:47 2026 +0200"
      },
      "message": "Remove OpenSearch-specific cloud_provider module (#15) (#26)"
    },
    {
      "commit": "3d58f5d7ae8196e7aab73c2dff5da5b1c3c9b5bf",
      "tree": "438ff936b258690b97b7d38092b9e2016a1542de",
      "parents": [
        "d9a005e6218204c6d551cb5673c4ad1c0a335cb5"
      ],
      "author": {
        "name": "Jan Høydahl",
        "email": "janhoy@apache.org",
        "time": "Mon May 25 23:59:07 2026 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon May 25 23:59:07 2026 +0200"
      },
      "message": "Pin GitHub Actions to commit SHAs for ASF policy compliance (#21)\n\n* Pin GitHub Actions to commit SHAs for ASF policy compliance\n* Update Dockerfile to Python 3.12 to match pyproject.toml requirement\n* Fix hadolint lint warnings in Dockerfile\n* Use WORKDIR instead of cd in Dockerfile build stage (DL3003, SC2164)"
    },
    {
      "commit": "d9a005e6218204c6d551cb5673c4ad1c0a335cb5",
      "tree": "574fee9fb0dcd4c033051842031a81b2d4504734",
      "parents": [
        "8dc68fab64f89cdd87ee4b0e64151a3cc31a5ad5"
      ],
      "author": {
        "name": "Jan Høydahl",
        "email": "janhoy@apache.org",
        "time": "Mon May 25 01:52:05 2026 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon May 25 01:52:05 2026 +0200"
      },
      "message": "Replace just-the-docs with custom Solr-branded Jekyll theme (#25)\n\nEnables GitHub Pages via .asf.yaml ghp_branch/ghp_path, eliminating\nthe need for a GitHub Actions docs workflow."
    },
    {
      "commit": "8dc68fab64f89cdd87ee4b0e64151a3cc31a5ad5",
      "tree": "d988c20ad07ee12e7422528d994f1bca716c7af8",
      "parents": [
        "63e1eb55f4aee151f447cf8ec93070e5cd2e9fb4"
      ],
      "author": {
        "name": "Jan Høydahl",
        "email": "janhoy@apache.org",
        "time": "Mon May 25 00:32:25 2026 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon May 25 00:32:25 2026 +0200"
      },
      "message": "Enable github pages build (#23)"
    },
    {
      "commit": "63e1eb55f4aee151f447cf8ec93070e5cd2e9fb4",
      "tree": "82f04c6d8d5e6d398f67e5918f9f6bc34e11e914",
      "parents": [
        "a98ff8e61e32e15066d5b137c156af529a6eba20"
      ],
      "author": {
        "name": "Jan Høydahl",
        "email": "janhoy@apache.org",
        "time": "Sun May 24 01:38:03 2026 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sun May 24 01:38:03 2026 +0200"
      },
      "message": "Require Python 3.12+ (#18)"
    },
    {
      "commit": "a98ff8e61e32e15066d5b137c156af529a6eba20",
      "tree": "c1021aa8006bc106beb06e4b1ec45b1c46e60cd9",
      "parents": [
        "de994fd9d4de94fdb9dd5654cdd073dcc3c3ab33"
      ],
      "author": {
        "name": "Jan Høydahl",
        "email": "janhoy@apache.org",
        "time": "Sun May 24 00:39:51 2026 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sun May 24 00:39:51 2026 +0200"
      },
      "message": "SOLR-18262 Re-brand to Solr Orbit (#4)"
    },
    {
      "commit": "de994fd9d4de94fdb9dd5654cdd073dcc3c3ab33",
      "tree": "5969e74a622627ca7fb426675b006ae7f4541557",
      "parents": [
        "890db6836641b848cb5e88c2b0e3e8bdb4b0eb25"
      ],
      "author": {
        "name": "Jan Høydahl",
        "email": "jan.git@cominvent.com",
        "time": "Fri May 22 09:16:05 2026 +0200"
      },
      "committer": {
        "name": "Jan Høydahl",
        "email": "jan.git@cominvent.com",
        "time": "Fri May 22 09:22:42 2026 +0200"
      },
      "message": "Improve .asf.yaml\n"
    },
    {
      "commit": "890db6836641b848cb5e88c2b0e3e8bdb4b0eb25",
      "tree": "9a7447ff44b68b283aa283887adac8b71022fc44",
      "parents": [
        "57387ed4130f0395e14ea89213c6b8a96f9ee260"
      ],
      "author": {
        "name": "Jan Høydahl",
        "email": "jan.git@cominvent.com",
        "time": "Fri May 22 08:46:32 2026 +0200"
      },
      "committer": {
        "name": "Jan Høydahl",
        "email": "jan.git@cominvent.com",
        "time": "Fri May 22 08:46:32 2026 +0200"
      },
      "message": "Use ruleset instead of protected_branches\nEnable gh pages\n"
    },
    {
      "commit": "57387ed4130f0395e14ea89213c6b8a96f9ee260",
      "tree": "6f03bbac6748a19331599c231abc3ad1905df98d",
      "parents": [
        "9710ec39106573d259912f2965b72950ec8a3650"
      ],
      "author": {
        "name": "Jan Høydahl",
        "email": "jan.git@cominvent.com",
        "time": "Fri May 22 01:12:17 2026 +0200"
      },
      "committer": {
        "name": "Jan Høydahl",
        "email": "jh@cominvent.com",
        "time": "Fri May 22 02:53:17 2026 +0200"
      },
      "message": "Port core benchmark framework from OpenSearch to Apache Solr\n\nThis is the main functional change of the Solr port, touching all layers of the\nbenchmark tool. This commit wires the previous five together.\n\n**setup.py / entry points:**\n- Remove opensearch-py, opensearch-protobufs, aiokafka dependencies\n- Add requests for Solr HTTP communication\n- Rename entry points: opensearch-benchmark→solr-benchmark, osb→sb (pending ASF acceptance)\n\n**osbenchmark/client.py — complete rewrite:**\nReplace the opensearch-py async client with a synchronous requests-based Solr\nHTTP client. Supports collection management, document indexing, and query\nexecution against a Solr cluster.\n\n**osbenchmark/telemetry.py:**\nReplace OpenSearch-specific telemetry devices (JVM heap, GC, hot threads, etc.)\nwith Solr equivalents using the Solr Metrics API and node stats endpoints.\n\n**osbenchmark/worker_coordinator/runner.py:**\nAdapt operation runners for Solr: bulk indexing via /update, queries via /select,\ncollection admin operations. Remove OpenSearch-specific operations (snapshot,\nshrink, force-merge semantics, etc.).\n\n**osbenchmark/builder/ — OSB→Solr naming cleanup:**\n- Rename opensearch_distribution_downloader.py → distribution_downloader.py\n- Rename opensearch_source_downloader.py → source_downloader.py\n- Rename opensearch_distribution_repository_provider.py → distribution_repository_provider.py\n- Delete opensearch_preparer.py (replaced by solr_preparer.py in PR 5)\n- Delete core_plugin_source_downloader.py, external_plugin_source_downloader.py,\n  plugin_distribution_downloader.py (OSB plugin infrastructure, not needed for Solr)\n- Update builder.py, provisioner.py, supplier.py to use the new Solr provisioner\n\n**osbenchmark/config.py, context.py, benchmark.py, benchmarkd.py:**\nUpdate configuration keys, context variables, and CLI help text for Solr.\nRemove OpenSearch-specific commands and flags; add Solr cluster URL handling.\n\n**osbenchmark/workload/ and osbenchmark/workload_generator/:**\nAdapt workload loading and workload generation for Solr collection schema.\n\n**osbenchmark/metrics.py, publisher.py:**\nUpdate metric names and summary report labels from OpenSearch to Solr terminology.\n\n**osbenchmark/resources/ — cluster config cleanup:**\nRemove resources/cluster_configs/1.0/ entirely (OpenSearch 1.x configs).\nSimplify resources/cluster_configs/main/ to Solr-relevant entries.\nUpdate benchmark.ini default configuration.\n\n**Integration and unit tests:**\nUpdate all existing tests to match new API shapes. Delete tests for removed\nfunctionality (telemetry_test.py replaced by tests/unit/test_telemetry.py,\nworkload_generator corpus/index tests removed as workload_generator was refactored).\n\nPart of #3\n"
    },
    {
      "commit": "9710ec39106573d259912f2965b72950ec8a3650",
      "tree": "1511bd834627f9556871ac5686036117427a7852",
      "parents": [
        "e9b673e87f87db9e2238e2f445cf26c9575dafd6"
      ],
      "author": {
        "name": "Jan Høydahl",
        "email": "jan.git@cominvent.com",
        "time": "Fri May 22 00:55:50 2026 +0200"
      },
      "committer": {
        "name": "Jan Høydahl",
        "email": "jh@cominvent.com",
        "time": "Fri May 22 02:53:17 2026 +0200"
      },
      "message": "Add new Solr-specific modules: conversion, provisioner, result writer\n\nAll files in this commit are net-new — no existing code is modified.\n\n**osbenchmark/conversion/ — OpenSearch→Solr workload converter:**\n- detector.py: identify whether a workload targets OpenSearch or Solr\n- field.py: field name normalization rules\n- schema.py: translate OpenSearch index mappings to Solr schema XML\n- query.py: translate OpenSearch Query DSL operations to Solr query syntax\n- workload_converter.py: orchestrate full workload directory conversion\nTests: tests/unit/solr/conversion/ and tests/unit/solr/test_workload_converter.py\n\n**osbenchmark/builder/solr_provisioner.py:**\nProvision and configure a Solr cluster (collection creation, configset upload,\nschema application) as a drop-in replacement for the OpenSearch provisioner.\nTest: tests/unit/solr/test_provisioner.py\n\n**osbenchmark/builder/installers/preparers/solr_preparer.py:**\nPrepare a Solr node installation (derived from opensearch_preparer.py, adapted\nfor Solr directory layout and startup options).\nTest: tests/builder/installers/preparers/solr_preparer_test.py\n\n**osbenchmark/result_writer.py:**\nWrite benchmark results to filesystem in JSON/CSV formats for Solr runs.\nTest: tests/unit/solr/test_result_writer.py\n\n**solrbenchmark/ package:**\nThin top-level package and entry point (solr-benchmark CLI) that will replace\nopensearch-benchmark once the project is accepted into ASF.\n\n**tests/unit/solr/:** Full unit test suite for all new Solr modules.\ntests/unit/test_telemetry.py: new telemetry test replacing the old telemetry_test.py.\n\nNone of these modules are wired into the main CLI yet; that happens in the\nnext commit.\n\nPart of #3\n"
    },
    {
      "commit": "e9b673e87f87db9e2238e2f445cf26c9575dafd6",
      "tree": "50baaf54d25051d8631c4996a4c714aa7557f010",
      "parents": [
        "abff1eb365019508f82141f14e300fe701346b12"
      ],
      "author": {
        "name": "Jan Høydahl",
        "email": "jan.git@cominvent.com",
        "time": "Fri May 22 00:55:18 2026 +0200"
      },
      "committer": {
        "name": "Jan Høydahl",
        "email": "jh@cominvent.com",
        "time": "Fri May 22 02:53:17 2026 +0200"
      },
      "message": "Remove OSB-specific dead code, binaries, and infrastructure\n\nClean out everything that has no place in a Solr benchmark tool:\n\n**Kafka / async HTTP / gRPC:**\n- Remove kafka_client.py (Kafka producer for OpenSearch metrics streaming)\n- Remove async_connection.py (OpenSearch async HTTP connection layer)\n- Remove worker_coordinator/proto_helpers/ (gRPC bulk/query helpers)\n- Remove osbenchmark/data_streaming/ package (Kafka data pipeline)\n- Remove all corresponding unit tests\n\n**Bundled binaries:**\n- Remove osbenchmark/decompressors/pbzip2-{Darwin,Linux}-{arm64,x86_64,aarch64}\n- Remove scripts/pbzip2\n  These binaries are not redistributable in an ASF project; decompression will\n  use the system pbzip2 or fallback to Python\u0027s bz2 module.\n\n**OpenSearch-specific infrastructure:**\n- Remove scripts/terraform/ (Terraform cluster provisioning for OpenSearch on AWS)\n- Remove samples/ccr/ (OpenSearch cross-cluster replication sample)\n- Remove tests for all of the above\n\nPart of #3\n"
    },
    {
      "commit": "abff1eb365019508f82141f14e300fe701346b12",
      "tree": "dfa57b653e12381f0009cc2eb33bb5f1859f5181",
      "parents": [
        "8cb315530c1dc17eabc6cd62802366c0fffd111e"
      ],
      "author": {
        "name": "Jan Høydahl",
        "email": "jan.git@cominvent.com",
        "time": "Fri May 22 00:54:56 2026 +0200"
      },
      "committer": {
        "name": "Jan Høydahl",
        "email": "jh@cominvent.com",
        "time": "Fri May 22 02:53:17 2026 +0200"
      },
      "message": "Add documentation site\n\nComplete documentation overhaul for the Solr port:\n- Replace OpenSearch-focused Jekyll docs site with Solr-specific content covering\n  installation, configuration, running benchmarks, workload creation, and the\n  new OpenSearch→Solr converter\n- Remove legacy docs/api/ (OpenSearch API reference) and docs/user-guides/\n  in favor of the new docs/user-guide/ and docs/reference/ structure\n- Update README.md, DEVELOPER_GUIDE.md, PYTHON_SUPPORT_GUIDE.md,\n  CREATE_WORKLOAD_GUIDE.md to use Solr terminology and solr-benchmark CLI\n- Add TODO.md: incubation checklist and known remaining work\n- Add it/README.md: integration test setup instructions\n- Remove opensearch_benchmark.png splash image\n\nPart of #3\n"
    },
    {
      "commit": "8cb315530c1dc17eabc6cd62802366c0fffd111e",
      "tree": "426cedfd301c0fbf2519216b3fb9482677f9ae2b",
      "parents": [
        "c5ba79a7e582cd2f069b624129b1c009fab9a048"
      ],
      "author": {
        "name": "Jan Høydahl",
        "email": "jan.git@cominvent.com",
        "time": "Fri May 22 00:53:47 2026 +0200"
      },
      "committer": {
        "name": "Jan Høydahl",
        "email": "jh@cominvent.com",
        "time": "Fri May 22 02:53:17 2026 +0200"
      },
      "message": "Update GitHub/CI infrastructure for Apache Solr Benchmark\n\nAdapt CI/CD and project metadata for the Solr port:\n- Remove workflows that depended on OpenSearch infrastructure (backport, add-untriaged,\n  integ-test, publish-release, docker-push-release) — these will be rebuilt once the\n  project has its own ASF infrastructure\n- Add docs.yml workflow (commented out pending docs host decision)\n- Simplify unit-test and docker-build workflows to remove OpenSearch-specific steps\n- Update .ci/build.sh and check_deprecated_terms.py for Solr naming\n- Remove CODEOWNERS and issue templates tied to the old team structure\n- Add AGENTS.md: guidance for AI coding assistants working in this repo\n- Refresh Makefile, tox.ini, .pylintrc, .gitignore for the new project shape\n\nPart of #3\n"
    },
    {
      "commit": "c5ba79a7e582cd2f069b624129b1c009fab9a048",
      "tree": "86ba1eee35a843eb4f38ea11d2d2261318200d3c",
      "parents": [
        "a44f5797e4524945afce5643aae547da761bef92"
      ],
      "author": {
        "name": "Jan Høydahl",
        "email": "jan.git@cominvent.com",
        "time": "Fri May 22 00:53:31 2026 +0200"
      },
      "committer": {
        "name": "Jan Høydahl",
        "email": "jh@cominvent.com",
        "time": "Fri May 22 02:53:17 2026 +0200"
      },
      "message": "Establish ASF legal and governance files for Apache Solr Benchmark\n\nReplace OpenSearch-specific project governance with ASF-compatible equivalents:\nadd NOTICE and create-notice.sh for ASF IP compliance, bump version to 0.1.0\nto signal the fresh start, update CONTRIBUTING.md for Solr context, remove\nMAINTAINERS/RELEASE/TRIAGE files that don\u0027t apply to an ASF incubating project\n(those processes are defined by the ASF), drop .whitesource/.fossa.yml OSS-scanning\nconfigs that were tied to the OpenSearch project infrastructure.\n\nPart of #3\n"
    },
    {
      "commit": "a44f5797e4524945afce5643aae547da761bef92",
      "tree": "6afdd30d4edc2b3d87fda04aa8fa10af510c00d5",
      "parents": [
        "92982c56fa212ab6287225fb5a9bff7b96f7041b"
      ],
      "author": {
        "name": "Jan Høydahl",
        "email": "jh@cominvent.com",
        "time": "Fri May 22 00:26:56 2026 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri May 22 00:26:56 2026 +0200"
      },
      "message": "Add .asf.yml (#2)"
    },
    {
      "commit": "92982c56fa212ab6287225fb5a9bff7b96f7041b",
      "tree": "ddf30e97e86261513d393877515a56c322182b3c",
      "parents": [
        "94f93db367b5b7246aeaa3fb4d6031d030ed982b"
      ],
      "author": {
        "name": "Rishabh Singh",
        "email": "sngri@amazon.com",
        "time": "Tue Feb 17 17:58:48 2026 -0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Feb 17 17:58:48 2026 -0800"
      },
      "message": "added ramp down feature (#1012)\n\nSigned-off-by: Rishabh Singh \u003csngri@amazon.com\u003e"
    },
    {
      "commit": "94f93db367b5b7246aeaa3fb4d6031d030ed982b",
      "tree": "fcfcc3af18fbdf17e67cb5fc72206707ba2e4faa",
      "parents": [
        "232afd3d7ce9b53ad121184b951e4ba3db51fc2a"
      ],
      "author": {
        "name": "Michael Oviedo",
        "email": "mikeovi@amazon.com",
        "time": "Tue Feb 10 11:16:25 2026 -0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Feb 10 11:16:25 2026 -0800"
      },
      "message": "only append success message if file format is not CSV (#1003)\n\nSigned-off-by: Michael Oviedo \u003cmikeovi@amazon.com\u003e"
    },
    {
      "commit": "232afd3d7ce9b53ad121184b951e4ba3db51fc2a",
      "tree": "42f038247d0654ae03d31a6f250d34239fb09e1a",
      "parents": [
        "6aef2873b56d20fdb1b317e8699e02fa3f000f8e"
      ],
      "author": {
        "name": "Anthony Leong",
        "email": "aj.leong623@gmail.com",
        "time": "Thu Jan 08 09:54:57 2026 -0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Jan 08 09:54:57 2026 -0800"
      },
      "message": "Add Terraform files for provisioning OpenSearch clusters (#965)\n\nSigned-off-by: Anthony Leong \u003caj.leong623@gmail.com\u003e"
    },
    {
      "commit": "6aef2873b56d20fdb1b317e8699e02fa3f000f8e",
      "tree": "d10a2491d8cf765fae61004c08b391ac61f328fd",
      "parents": [
        "ff9fb8c7243e0c25f1279cedd77e2c45ba57bdc7"
      ],
      "author": {
        "name": "Rishabh Singh",
        "email": "sngri@amazon.com",
        "time": "Thu Nov 20 14:02:39 2025 -0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Nov 20 14:02:39 2025 -0800"
      },
      "message": "add os memory stats in node-stats telemetry call (#989)\n\nSigned-off-by: Rishabh Singh \u003csngri@amazon.com\u003e"
    },
    {
      "commit": "ff9fb8c7243e0c25f1279cedd77e2c45ba57bdc7",
      "tree": "cd202baf4f50aa0d61ce682383decc6134bcb474",
      "parents": [
        "30cf83d5dedd8a0086ad90300ec401c03c8d7af2"
      ],
      "author": {
        "name": "Ian Hoang",
        "email": "51065478+IanHoang@users.noreply.github.com",
        "time": "Thu Nov 06 12:47:29 2025 -0600"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Nov 06 10:47:29 2025 -0800"
      },
      "message": "Bump minor version to 2.2.0 prior to 2.2.0 release (#985)\n\n"
    },
    {
      "commit": "30cf83d5dedd8a0086ad90300ec401c03c8d7af2",
      "tree": "93601f675e41e675c5d2b1383cfc0478b16c27c7",
      "parents": [
        "7512238f26ece11f9d58e0c398f4e7d55b88fb76"
      ],
      "author": {
        "name": "Ian Hoang",
        "email": "ianhoang16@gmail.com",
        "time": "Wed Oct 22 14:28:22 2025 -0500"
      },
      "committer": {
        "name": "Ian Hoang",
        "email": "51065478+IanHoang@users.noreply.github.com",
        "time": "Wed Nov 05 16:17:05 2025 -0600"
      },
      "message": "Add support for dense and sparse vectors in synthetic data generation.\n\nSigned-off-by: Ian Hoang \u003cianhoang16@gmail.com\u003e\n"
    },
    {
      "commit": "7512238f26ece11f9d58e0c398f4e7d55b88fb76",
      "tree": "fdd698e926401885e88566a69a7068f77bfbec9c",
      "parents": [
        "87bf938f45c9dd88c44f0a051810ee20d57158a3"
      ],
      "author": {
        "name": "Ian Hoang",
        "email": "ianhoang16@gmail.com",
        "time": "Tue Nov 04 15:42:38 2025 -0600"
      },
      "committer": {
        "name": "Ian Hoang",
        "email": "51065478+IanHoang@users.noreply.github.com",
        "time": "Wed Nov 05 10:46:09 2025 -0600"
      },
      "message": "Address pylint\n\nSigned-off-by: Ian Hoang \u003cianhoang16@gmail.com\u003e\n"
    },
    {
      "commit": "87bf938f45c9dd88c44f0a051810ee20d57158a3",
      "tree": "47fb0bf836eb041e588808a078821cd6136ca2af",
      "parents": [
        "7ee69dbc166e973dfa58869b132d71dd8e744229"
      ],
      "author": {
        "name": "Ian Hoang",
        "email": "ianhoang16@gmail.com",
        "time": "Tue Nov 04 15:08:20 2025 -0600"
      },
      "committer": {
        "name": "Ian Hoang",
        "email": "51065478+IanHoang@users.noreply.github.com",
        "time": "Wed Nov 05 10:46:09 2025 -0600"
      },
      "message": "Address Govind comments\n\nSigned-off-by: Ian Hoang \u003cianhoang16@gmail.com\u003e\n"
    },
    {
      "commit": "7ee69dbc166e973dfa58869b132d71dd8e744229",
      "tree": "596f5abf547a2cc1aa76315ca9deee9c913e13db",
      "parents": [
        "3220c9d1c1f7e7fcb65d5bf72aa39295fb6f7d0c"
      ],
      "author": {
        "name": "Ian Hoang",
        "email": "ianhoang16@gmail.com",
        "time": "Tue Sep 23 16:15:45 2025 -0500"
      },
      "committer": {
        "name": "Ian Hoang",
        "email": "51065478+IanHoang@users.noreply.github.com",
        "time": "Wed Nov 05 10:46:09 2025 -0600"
      },
      "message": "Remove unnecessary break\n\nSigned-off-by: Ian Hoang \u003cianhoang16@gmail.com\u003e\n"
    },
    {
      "commit": "3220c9d1c1f7e7fcb65d5bf72aa39295fb6f7d0c",
      "tree": "366b8e4350ce2ca6af0ac264d97bd970a886f328",
      "parents": [
        "f31ed0279ae8fed152c227656ed9231b3087ea72"
      ],
      "author": {
        "name": "Ian Hoang",
        "email": "ianhoang16@gmail.com",
        "time": "Tue Sep 23 16:09:47 2025 -0500"
      },
      "committer": {
        "name": "Ian Hoang",
        "email": "51065478+IanHoang@users.noreply.github.com",
        "time": "Wed Nov 05 10:46:09 2025 -0600"
      },
      "message": "Address pylint errors\n\nSigned-off-by: Ian Hoang \u003cianhoang16@gmail.com\u003e\n"
    },
    {
      "commit": "f31ed0279ae8fed152c227656ed9231b3087ea72",
      "tree": "6eeebb135d81dbbc09357274af120630c4b19dff",
      "parents": [
        "037b9d7c853b99cffa48be8f6d5cc173acc81dbc"
      ],
      "author": {
        "name": "Ian Hoang",
        "email": "ianhoang16@gmail.com",
        "time": "Fri Aug 01 10:51:30 2025 -0500"
      },
      "committer": {
        "name": "Ian Hoang",
        "email": "51065478+IanHoang@users.noreply.github.com",
        "time": "Wed Nov 05 10:46:09 2025 -0600"
      },
      "message": "Update timeseries implementation with new 2.0.\n\nAdd Pydantic Model for TimeSeries settings, update TimeSeries Partitioner, update Mapping SDG to use timeseries data, and add params to basic generators in Mapping SDG\n\nPylint fixes\n\nSigned-off-by: Ian Hoang \u003cianhoang16@gmail.com\u003e\n"
    },
    {
      "commit": "037b9d7c853b99cffa48be8f6d5cc173acc81dbc",
      "tree": "7326a5bd42530712445a31a09ef55ef27f4c18fc",
      "parents": [
        "519289c6be04d27255cbda6ebc9288e3290d0b1c"
      ],
      "author": {
        "name": "Govind Kamat",
        "email": "govkamat@amazon.com",
        "time": "Tue Nov 04 23:57:25 2025 -0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Nov 04 23:57:25 2025 -0800"
      },
      "message": "Catch failing integration tests in GitHub workflows (#975)\n\n"
    },
    {
      "commit": "519289c6be04d27255cbda6ebc9288e3290d0b1c",
      "tree": "aa1ba2fd064b5c788d60abff92fed791c65dc807",
      "parents": [
        "1f1303342b2621285fda58df7759de295a431fbb"
      ],
      "author": {
        "name": "Govind Kamat",
        "email": "govkamat@amazon.com",
        "time": "Tue Nov 04 19:18:30 2025 -0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Nov 04 19:18:30 2025 -0800"
      },
      "message": "Changes to aid integration between SDG and Streaming ingestion (#978)\n\n"
    },
    {
      "commit": "1f1303342b2621285fda58df7759de295a431fbb",
      "tree": "323f33930f88c04bc42e44babc44ad785b9cf8cc",
      "parents": [
        "ed5d2c572a095ff6dd9988b4872d31b302b68202"
      ],
      "author": {
        "name": "Bo Zhang",
        "email": "bzhangam@amazon.com",
        "time": "Tue Oct 07 13:22:20 2025 -0700"
      },
      "committer": {
        "name": "Ian Hoang",
        "email": "51065478+IanHoang@users.noreply.github.com",
        "time": "Tue Nov 04 13:29:20 2025 -0600"
      },
      "message": "Add how to fix stale config issue to DEVELOPER_GUIDE\n\nSigned-off-by: Bo Zhang \u003cbzhangam@amazon.com\u003e\n"
    },
    {
      "commit": "ed5d2c572a095ff6dd9988b4872d31b302b68202",
      "tree": "96aac0758cc0226b2d47897f53653442337659d9",
      "parents": [
        "cf093f61166907f8b410a9663d14c8d8b48cbdb1"
      ],
      "author": {
        "name": "Govind Kamat",
        "email": "govkamat@amazon.com",
        "time": "Tue Oct 14 04:51:34 2025 +0000"
      },
      "committer": {
        "name": "Ian Hoang",
        "email": "51065478+IanHoang@users.noreply.github.com",
        "time": "Thu Oct 30 14:16:31 2025 -0500"
      },
      "message": "Streaming ingestion enhancements: glob support, path separators, etc.\n\nSigned-off-by: Govind Kamat \u003cgovkamat@amazon.com\u003e\n"
    },
    {
      "commit": "cf093f61166907f8b410a9663d14c8d8b48cbdb1",
      "tree": "8b4c22e39d3db2f1a369516cae5beee929729ad6",
      "parents": [
        "dc942448951004f102ee01de149917886ebc0044"
      ],
      "author": {
        "name": "Finn",
        "email": "carrofin@amazon.com",
        "time": "Thu Oct 23 13:23:02 2025 -0700"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Oct 23 13:23:02 2025 -0700"
      },
      "message": "Bugfix - Protobuf stored fields parsed as character strings (#972)\n\nSigned-off-by: Finn Carroll \u003ccarrofin@amazon.com\u003e"
    },
    {
      "commit": "dc942448951004f102ee01de149917886ebc0044",
      "tree": "c60d611b3e80658f416df7fb766e06aa658f1929",
      "parents": [
        "0522e68f577d2e99de76a516321932eef53313e5"
      ],
      "author": {
        "name": "Finn",
        "email": "finnegancarroll94@gmail.com",
        "time": "Mon Oct 20 12:21:06 2025 -0700"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Oct 20 12:21:06 2025 -0700"
      },
      "message": "Add support for gRPC transport (#938)\n\n"
    },
    {
      "commit": "0522e68f577d2e99de76a516321932eef53313e5",
      "tree": "663aa1fc8bd972e47661146c70b95a7f22038566",
      "parents": [
        "b380ddd3b3665b457ac96d4986d3515811c0250a"
      ],
      "author": {
        "name": "Rishabh Singh",
        "email": "sngri@amazon.com",
        "time": "Sun Oct 19 16:44:29 2025 -0700"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sun Oct 19 16:44:29 2025 -0700"
      },
      "message": "Add looped mode support for bulk ingestion operation.  (#968)\n\nSigned-off-by: Rishabh Singh \u003csngri@amazon.com\u003e"
    },
    {
      "commit": "b380ddd3b3665b457ac96d4986d3515811c0250a",
      "tree": "24bc59df0f8b979ffac9be40e0346d2eddfe7066",
      "parents": [
        "bccf6a52a9bcd66bbd60d3ca72bcbe4b40d95d67"
      ],
      "author": {
        "name": "Ian Hoang",
        "email": "ianhoang16@gmail.com",
        "time": "Wed Sep 24 12:31:04 2025 -0500"
      },
      "committer": {
        "name": "Ian Hoang",
        "email": "51065478+IanHoang@users.noreply.github.com",
        "time": "Thu Sep 25 13:07:23 2025 -0500"
      },
      "message": "Typos\n\nSigned-off-by: Ian Hoang \u003cianhoang16@gmail.com\u003e\n"
    },
    {
      "commit": "bccf6a52a9bcd66bbd60d3ca72bcbe4b40d95d67",
      "tree": "f76ec828803ffa4dcbf2280773d696652145d00e",
      "parents": [
        "7ed9834fdb17e34fc7310bd98d16c59f9b1c7fce"
      ],
      "author": {
        "name": "Ian Hoang",
        "email": "ianhoang16@gmail.com",
        "time": "Wed Sep 24 12:30:29 2025 -0500"
      },
      "committer": {
        "name": "Ian Hoang",
        "email": "51065478+IanHoang@users.noreply.github.com",
        "time": "Thu Sep 25 13:07:23 2025 -0500"
      },
      "message": "Typos\n\nSigned-off-by: Ian Hoang \u003cianhoang16@gmail.com\u003e\n"
    },
    {
      "commit": "7ed9834fdb17e34fc7310bd98d16c59f9b1c7fce",
      "tree": "a3776fe7335014b99a46036c1c81ab1377ff9d15",
      "parents": [
        "eb7c3d1d224c71b55ccfcd31446d4b3f5bbe0a6e"
      ],
      "author": {
        "name": "Ian Hoang",
        "email": "ianhoang16@gmail.com",
        "time": "Wed Sep 24 12:29:50 2025 -0500"
      },
      "committer": {
        "name": "Ian Hoang",
        "email": "51065478+IanHoang@users.noreply.github.com",
        "time": "Thu Sep 25 13:07:23 2025 -0500"
      },
      "message": "Typos\n\nSigned-off-by: Ian Hoang \u003cianhoang16@gmail.com\u003e\n"
    },
    {
      "commit": "eb7c3d1d224c71b55ccfcd31446d4b3f5bbe0a6e",
      "tree": "afaab1d2000d6a6045ec0408e5baa4f1f1af22b2",
      "parents": [
        "afbece7e4189300f2ea6e29a6dde880b19e6a50a"
      ],
      "author": {
        "name": "Ian Hoang",
        "email": "ianhoang16@gmail.com",
        "time": "Wed Sep 24 12:29:01 2025 -0500"
      },
      "committer": {
        "name": "Ian Hoang",
        "email": "51065478+IanHoang@users.noreply.github.com",
        "time": "Thu Sep 25 13:07:23 2025 -0500"
      },
      "message": "Address typos\n\nSigned-off-by: Ian Hoang \u003cianhoang16@gmail.com\u003e\n"
    },
    {
      "commit": "afbece7e4189300f2ea6e29a6dde880b19e6a50a",
      "tree": "9569da1273b5ecfddadf6517ca212d9698b10d3d",
      "parents": [
        "6dc944c8dbef95c2e1505cb44712dcad84719ba0"
      ],
      "author": {
        "name": "Ian Hoang",
        "email": "ianhoang16@gmail.com",
        "time": "Wed Sep 24 12:27:55 2025 -0500"
      },
      "committer": {
        "name": "Ian Hoang",
        "email": "51065478+IanHoang@users.noreply.github.com",
        "time": "Thu Sep 25 13:07:23 2025 -0500"
      },
      "message": "Revise guide\n\nSigned-off-by: Ian Hoang \u003cianhoang16@gmail.com\u003e\n"
    },
    {
      "commit": "6dc944c8dbef95c2e1505cb44712dcad84719ba0",
      "tree": "7ff3a217b137913f415d94836e34bd05db660d86",
      "parents": [
        "a3a5e590b854c55fbb4e13be7063ddfd9f097711"
      ],
      "author": {
        "name": "Ian Hoang",
        "email": "ianhoang16@gmail.com",
        "time": "Wed Sep 24 12:07:29 2025 -0500"
      },
      "committer": {
        "name": "Ian Hoang",
        "email": "51065478+IanHoang@users.noreply.github.com",
        "time": "Thu Sep 25 13:07:23 2025 -0500"
      },
      "message": "Spelling and format errors\n\nSigned-off-by: Ian Hoang \u003cianhoang16@gmail.com\u003e\n"
    }
  ],
  "next": "a3a5e590b854c55fbb4e13be7063ddfd9f097711"
}
