)]}'
{
  "log": [
    {
      "commit": "fb481d243d902e4f995a14bd6bb1137c79045b6c",
      "tree": "674df7839cd972f4a0bd81d574b12a6bcdb6b77c",
      "parents": [
        "4cab8113e610ad65ca8405fccf819cf88db20b9e",
        "a7e7df694563cb2e219945471198550b2e24d0a3"
      ],
      "author": {
        "name": "Michele Sciabarra",
        "email": "30654959+sciabarracom@users.noreply.github.com",
        "time": "Thu Oct 22 12:56:38 2026 +0100"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Oct 22 12:56:38 2026 +0100"
      },
      "message": "Merge pull request #149 from apache/0.9.0\n\nUse Merge NOT Squash!"
    },
    {
      "commit": "a7e7df694563cb2e219945471198550b2e24d0a3",
      "tree": "674df7839cd972f4a0bd81d574b12a6bcdb6b77c",
      "parents": [
        "49194507b2d80e14f60bc878f66480883418a180",
        "4cab8113e610ad65ca8405fccf819cf88db20b9e"
      ],
      "author": {
        "name": "Michele Sciabarra",
        "email": "30654959+sciabarracom@users.noreply.github.com",
        "time": "Thu Oct 22 12:28:50 2026 +0100"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Oct 22 12:28:50 2026 +0100"
      },
      "message": "Merge branch \u0027main\u0027 into 0.9.0"
    },
    {
      "commit": "49194507b2d80e14f60bc878f66480883418a180",
      "tree": "cd3550f6e8adc9013f119b3a86946efb7c8a1c10",
      "parents": [
        "8d71e8edd0634f3fecb381fe3fccc71a20f8ccee"
      ],
      "author": {
        "name": "miki3421",
        "email": "42601846+miki3421@users.noreply.github.com",
        "time": "Thu Oct 22 12:39:50 2026 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Oct 22 11:39:50 2026 +0100"
      },
      "message": "Remove inaccurate Gradle attribution from operator licensing (#147)"
    },
    {
      "commit": "8d71e8edd0634f3fecb381fe3fccc71a20f8ccee",
      "tree": "c39306c88365ea7d5571b702b5a8a1334cc25492",
      "parents": [
        "bd24b2bb6f593a95fa71aebfb70dc8387e7e8959"
      ],
      "author": {
        "name": "miki3421",
        "email": "42601846+miki3421@users.noreply.github.com",
        "time": "Thu Oct 22 12:04:21 2026 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Oct 22 11:04:21 2026 +0100"
      },
      "message": "Exclude all branch names from image publication workflow (#148)"
    },
    {
      "commit": "bd24b2bb6f593a95fa71aebfb70dc8387e7e8959",
      "tree": "219df5d384f4d6534378dc1c504fa69bde4bf591",
      "parents": [
        "14e7a309c770b1f6e3bc79b60d2fdd65e711faf2"
      ],
      "author": {
        "name": "miki3421",
        "email": "42601846+miki3421@users.noreply.github.com",
        "time": "Thu Oct 22 10:43:51 2026 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Oct 22 09:43:51 2026 +0100"
      },
      "message": "Fix FerretDB tenant provisioning on 0.9.0 (#142)\n\n* Fix FerretDB provisioning with valid namespace prefixes and primary selection\n\n* Verify FerretDB login grants while preserving existing database ownership\n\n* Restrict baseline CI exceptions to unchanged integration test scripts\n\n* Validate FerretDB namespaces before PostgreSQL rendering\n\n* Keep FerretDB regressions compatible with protected SQL files\n\n---------\n\nCo-authored-by: Codex \u003ccodex@openai.com\u003e"
    },
    {
      "commit": "14e7a309c770b1f6e3bc79b60d2fdd65e711faf2",
      "tree": "df9feaf05da00925199c07f19696167a53d89cc6",
      "parents": [
        "245032c9ee085402580f7094ef3db5b66226b831"
      ],
      "author": {
        "name": "miki3421",
        "email": "42601846+miki3421@users.noreply.github.com",
        "time": "Thu Oct 22 10:42:06 2026 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Oct 22 09:42:06 2026 +0100"
      },
      "message": "fix: isolate malformed cron annotations between tenants (#144)"
    },
    {
      "commit": "245032c9ee085402580f7094ef3db5b66226b831",
      "tree": "ef00db8dc264105664b252299d25a46c5ba553b4",
      "parents": [
        "e26b21b53c87b67d5b58911a492d72b2f5405ac8"
      ],
      "author": {
        "name": "miki3421",
        "email": "42601846+miki3421@users.noreply.github.com",
        "time": "Thu Oct 22 10:41:21 2026 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Oct 22 09:41:21 2026 +0100"
      },
      "message": "Isolate Kafka and ZooKeeper from tenant action pods on 0.9.0 (#145)\n\n* Isolate Kafka and ZooKeeper from tenant action pods on 0.9.0\n\n* Release unused Kind ingress NodePorts before integration tests\n\n---------\n\nCo-authored-by: Codex \u003ccodex@openai.com\u003e"
    },
    {
      "commit": "4cab8113e610ad65ca8405fccf819cf88db20b9e",
      "tree": "223a7d660100bf11ae891141d77c7c2cdfabf5d9",
      "parents": [
        "26768bde42ac2758341e7c7d9a8ff9f5f80cbc3b"
      ],
      "author": {
        "name": "dependabot[bot]",
        "email": "49699333+dependabot[bot]@users.noreply.github.com",
        "time": "Tue Oct 20 13:55:15 2026 +0100"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Oct 20 13:55:15 2026 +0100"
      },
      "message": "chore(deps): bump idna from 3.10 to 3.15 (#100)\n\nBumps [idna](https://github.com/kjd/idna) from 3.10 to 3.15.\n- [Release notes](https://github.com/kjd/idna/releases)\n- [Changelog](https://github.com/kjd/idna/blob/master/HISTORY.md)\n- [Commits](https://github.com/kjd/idna/compare/v3.10...v3.15)\n\n---\nupdated-dependencies:\n- dependency-name: idna\n  dependency-version: \u00273.15\u0027\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\nCo-authored-by: Michele Sciabarra \u003c30654959+sciabarracom@users.noreply.github.com\u003e"
    },
    {
      "commit": "26768bde42ac2758341e7c7d9a8ff9f5f80cbc3b",
      "tree": "353a3235d9200b5525599ec68bd0beb05b75b233",
      "parents": [
        "c3fce6a883f6b2cb4afb6a103d16d98979a6273e"
      ],
      "author": {
        "name": "dependabot[bot]",
        "email": "49699333+dependabot[bot]@users.noreply.github.com",
        "time": "Tue Oct 20 13:54:37 2026 +0100"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Oct 20 13:54:37 2026 +0100"
      },
      "message": "build(deps-dev): bump pygments from 2.19.1 to 2.20.0 (#129)\n\nBumps [pygments](https://github.com/pygments/pygments) from 2.19.1 to 2.20.0.\n- [Release notes](https://github.com/pygments/pygments/releases)\n- [Changelog](https://github.com/pygments/pygments/blob/master/CHANGES)\n- [Commits](https://github.com/pygments/pygments/compare/2.19.1...2.20.0)\n\n---\nupdated-dependencies:\n- dependency-name: pygments\n  dependency-version: 2.20.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\nCo-authored-by: Michele Sciabarra \u003c30654959+sciabarracom@users.noreply.github.com\u003e"
    },
    {
      "commit": "c3fce6a883f6b2cb4afb6a103d16d98979a6273e",
      "tree": "6f7981735d00b886a1ba91a4f2eca176ae547a1b",
      "parents": [
        "cb50ba4bb82703510dcddd56d18c7c640fe9f21f"
      ],
      "author": {
        "name": "dependabot[bot]",
        "email": "49699333+dependabot[bot]@users.noreply.github.com",
        "time": "Tue Oct 20 13:54:06 2026 +0100"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Oct 20 13:54:06 2026 +0100"
      },
      "message": "build(deps): bump requests from 2.32.4 to 2.33.0 (#128)\n\nBumps [requests](https://github.com/psf/requests) from 2.32.4 to 2.33.0.\n- [Release notes](https://github.com/psf/requests/releases)\n- [Changelog](https://github.com/psf/requests/blob/main/HISTORY.md)\n- [Commits](https://github.com/psf/requests/compare/v2.32.4...v2.33.0)\n\n---\nupdated-dependencies:\n- dependency-name: requests\n  dependency-version: 2.33.0\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\nCo-authored-by: Michele Sciabarra \u003c30654959+sciabarracom@users.noreply.github.com\u003e"
    },
    {
      "commit": "cb50ba4bb82703510dcddd56d18c7c640fe9f21f",
      "tree": "272fe9675f99c51c5407a68546ec173a4c926e5e",
      "parents": [
        "7ac30de981be453d695a822fd6de8a79ff165714"
      ],
      "author": {
        "name": "dependabot[bot]",
        "email": "49699333+dependabot[bot]@users.noreply.github.com",
        "time": "Tue Oct 20 13:53:05 2026 +0100"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Oct 20 13:53:05 2026 +0100"
      },
      "message": "build(deps): bump urllib3 from 2.3.0 to 2.8.0 (#135)\n\nBumps [urllib3](https://github.com/urllib3/urllib3) from 2.3.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.3.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": "7ac30de981be453d695a822fd6de8a79ff165714",
      "tree": "b10570d44304621f9dbe3b5e4e01dc01fd57aa27",
      "parents": [
        "149fad473ec72f839c8af004165b47019f2fb437"
      ],
      "author": {
        "name": "dependabot[bot]",
        "email": "49699333+dependabot[bot]@users.noreply.github.com",
        "time": "Tue Oct 20 13:52:53 2026 +0100"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Oct 20 13:52:53 2026 +0100"
      },
      "message": "build(deps): bump oauthlib from 3.2.2 to 4.0.0 (#136)\n\nBumps [oauthlib](https://github.com/oauthlib/oauthlib) from 3.2.2 to 4.0.0.\n- [Release notes](https://github.com/oauthlib/oauthlib/releases)\n- [Changelog](https://github.com/oauthlib/oauthlib/blob/master/CHANGELOG.rst)\n- [Commits](https://github.com/oauthlib/oauthlib/compare/v3.2.2...v4.0.0)\n\n---\nupdated-dependencies:\n- dependency-name: oauthlib\n  dependency-version: 4.0.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": "e26b21b53c87b67d5b58911a492d72b2f5405ac8",
      "tree": "236e4ee080cedce809e43ccb781eed58ce657757",
      "parents": [
        "68b8497ee2d9746a48da05641003e8edb56d3f1f"
      ],
      "author": {
        "name": "miki3421",
        "email": "42601846+miki3421@users.noreply.github.com",
        "time": "Tue Oct 20 14:43:35 2026 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Oct 20 13:43:35 2026 +0100"
      },
      "message": "Isolate etcd and Milvus credentials and management endpoints on 0.9.0 (#141)\n\n* Isolate etcd and Milvus credentials and management endpoints on 0.9.0\n\n* Run the shared security regression suite in PR checks\n\n* Use private tunnels for external etcd and Milvus integration tests\n\n---------\n\nCo-authored-by: Codex \u003ccodex@openai.com\u003e"
    },
    {
      "commit": "68b8497ee2d9746a48da05641003e8edb56d3f1f",
      "tree": "143ca033b7d2c2ce2230f8fa2ca9cc27ef32fe4a",
      "parents": [
        "3ee0a7955329d51f4b7291f5bd1c903c74c88512"
      ],
      "author": {
        "name": "miki3421",
        "email": "42601846+miki3421@users.noreply.github.com",
        "time": "Tue Oct 20 14:42:30 2026 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Oct 20 13:42:30 2026 +0100"
      },
      "message": "Restrict Redis tenant ACLs while preserving Lua on 0.9.0 (#140)\n\n* Restrict Redis tenant ACLs while preserving Lua on 0.9.0\n\n* Run the shared security regression suite in PR checks\n\n* Support private Redis administration from external test runners\n\n* Preserve Redis module imports under the legacy doctest runner\n\n* Load Kopf handlers by module to preserve the Redis driver\n\n---------\n\nCo-authored-by: Codex \u003ccodex@openai.com\u003e"
    },
    {
      "commit": "3ee0a7955329d51f4b7291f5bd1c903c74c88512",
      "tree": "6772a8068660a4af9d0f0a32a9cf77b22cfa0623",
      "parents": [
        "a340bdd9ca065637c138bf51d8f234c95fde58e2"
      ],
      "author": {
        "name": "Michele Sciabarra",
        "email": "michele@sciabarra.com",
        "time": "Fri Oct 16 12:26:00 2026 +0100"
      },
      "committer": {
        "name": "Michele Sciabarra",
        "email": "michele@sciabarra.com",
        "time": "Fri Oct 16 12:26:00 2026 +0100"
      },
      "message": "update sha\n"
    },
    {
      "commit": "a340bdd9ca065637c138bf51d8f234c95fde58e2",
      "tree": "e0f54153949460f88f4aa24a1272b52aa206d755",
      "parents": [
        "92b31bd5c556fae8fde82c6a38df7d727b89ddf3"
      ],
      "author": {
        "name": "miki3421",
        "email": "42601846+miki3421@users.noreply.github.com",
        "time": "Thu Oct 15 11:08:13 2026 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Oct 15 10:08:13 2026 +0100"
      },
      "message": "Fix RC7 operator image build and Alertmanager defaults (#137)\n\n* Provide valid Alertmanager routing without notification destinations\n\n* Disable inherited workflows on RC7 lab branch\n\n* fix: correct operator image build permissions\n\n* chore: restore Apache workflow paths on PR branch\n\n---------\n\nCo-authored-by: Codex \u003ccodex@openai.com\u003e"
    },
    {
      "commit": "92b31bd5c556fae8fde82c6a38df7d727b89ddf3",
      "tree": "238b6e37604ff52135bf666df7402794802b2c59",
      "parents": [
        "e159b099410a248f35e6bae2e981cf60f937b1dd"
      ],
      "author": {
        "name": "miki3421",
        "email": "42601846+miki3421@users.noreply.github.com",
        "time": "Thu Oct 15 11:07:47 2026 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Oct 15 10:07:47 2026 +0100"
      },
      "message": "Restrict CouchDB user metadata access on 0.9.0 (#138)\n\nCo-authored-by: Codex \u003ccodex@openai.com\u003e"
    },
    {
      "commit": "e159b099410a248f35e6bae2e981cf60f937b1dd",
      "tree": "e08553a28dce396264550dc875eff84f2a3441cd",
      "parents": [
        "5d509e30b1fca7c5ad6e558ceecadb8ac909f89b"
      ],
      "author": {
        "name": "miki3421",
        "email": "42601846+miki3421@users.noreply.github.com",
        "time": "Thu Oct 15 11:07:25 2026 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Oct 15 10:07:25 2026 +0100"
      },
      "message": "Restrict anonymous S3 access to web buckets on 0.9.0 (#139)\n\nCo-authored-by: Codex \u003ccodex@openai.com\u003e"
    },
    {
      "commit": "5d509e30b1fca7c5ad6e558ceecadb8ac909f89b",
      "tree": "981dcfea8fcd5a821f94235c7a7571f4777d68b0",
      "parents": [
        "6fc92c508fba21703e0b72736fdbe333e9d41692"
      ],
      "author": {
        "name": "Build OpenServerless",
        "email": "noreply@example.com",
        "time": "Mon Sep 21 22:24:21 2026 +0000"
      },
      "committer": {
        "name": "Build OpenServerless",
        "email": "noreply@example.com",
        "time": "Mon Sep 21 22:24:21 2026 +0000"
      },
      "message": "updated LICENSE\n"
    },
    {
      "commit": "6fc92c508fba21703e0b72736fdbe333e9d41692",
      "tree": "a6e9e995d8c5d6cfcb794d6862523eef86f1a5a4",
      "parents": [
        "8e37b349c3db7938a0c8f2a3dbf4d24004735f72"
      ],
      "author": {
        "name": "Build OpenServerless",
        "email": "noreply@example.com",
        "time": "Mon Sep 21 20:44:59 2026 +0000"
      },
      "committer": {
        "name": "Build OpenServerless",
        "email": "noreply@example.com",
        "time": "Mon Sep 21 20:44:59 2026 +0000"
      },
      "message": "fixed docker file for extra compomnents\n"
    },
    {
      "commit": "8e37b349c3db7938a0c8f2a3dbf4d24004735f72",
      "tree": "803cc4012c68d8cf7f5ed52760619b4a853c4b71",
      "parents": [
        "96138ab645d4396dbf08d8aedea80593e04673b9"
      ],
      "author": {
        "name": "Build OpenServerless",
        "email": "noreply@example.com",
        "time": "Sun Sep 20 19:45:34 2026 +0000"
      },
      "committer": {
        "name": "Build OpenServerless",
        "email": "noreply@example.com",
        "time": "Sun Sep 20 19:45:34 2026 +0000"
      },
      "message": "removed removal.md\n"
    },
    {
      "commit": "96138ab645d4396dbf08d8aedea80593e04673b9",
      "tree": "ed0bac477419c669f271d02bb186bd532ddc2721",
      "parents": [
        "ade386a03c66bf1dfaac8d8a84e597bfdb90012b"
      ],
      "author": {
        "name": "Build OpenServerless",
        "email": "noreply@example.com",
        "time": "Sun Sep 20 19:20:38 2026 +0000"
      },
      "committer": {
        "name": "Build OpenServerless",
        "email": "noreply@example.com",
        "time": "Sun Sep 20 19:20:38 2026 +0000"
      },
      "message": "removed mongodb remnants\n"
    },
    {
      "commit": "ade386a03c66bf1dfaac8d8a84e597bfdb90012b",
      "tree": "decba19d360dc468191eaa3dfe5beb65828d408c",
      "parents": [
        "5095b2fbce52bde633bb57385bf0bb25faf4d1ee",
        "d5a230bfc3fc90b8e7758279c7268bc8c6c514c6"
      ],
      "author": {
        "name": "Build OpenServerless",
        "email": "noreply@example.com",
        "time": "Sun Sep 20 19:04:38 2026 +0000"
      },
      "committer": {
        "name": "Build OpenServerless",
        "email": "noreply@example.com",
        "time": "Sun Sep 20 19:04:38 2026 +0000"
      },
      "message": "Merge remote-tracking branch \u0027franz/issue/ops-252\u0027 into 0.9.0\n"
    },
    {
      "commit": "d5a230bfc3fc90b8e7758279c7268bc8c6c514c6",
      "tree": "aad19e1ad7ce2ee99a66b6732bd20281bf5ea731",
      "parents": [
        "149fad473ec72f839c8af004165b47019f2fb437"
      ],
      "author": {
        "name": "Francesco Timperi Tiberi",
        "email": "francesco.timperi@gmail.com",
        "time": "Sun Sep 20 17:21:30 2026 +0200"
      },
      "committer": {
        "name": "Francesco Timperi Tiberi",
        "email": "francesco.timperi@gmail.com",
        "time": "Sun Sep 20 17:21:30 2026 +0200"
      },
      "message": "Removal of MinIO server, integrated SEAWEEDFS management\n\nDrops the MinIO server component in favour of SeaweedFS as the sole\nS3/object-storage backend. The MinIO Python SDK is retained as the S3\nclient; the MinIO server, its ingress, deploy manifests, action and all\nrelated test fixtures are removed.\n\nOperator:\n- delete openserverless/minio_deploy.py, minio_ingress.py, minio_util.py,\n  openserverless/policies/minio_rw_policy_tpl.json and the\n  deploy/minio/* and templates/00/01/02-minio-*.yaml manifests\n- remove the spec.minio and components.minio schema from the Whisk CRD\n  (plus the Minio printer column) and update whisk-user-crd object-storage\n  descriptions to S3/SEAWEEDFS\n- main.py: no longer create/delete the minio component nor reject a\n  minio+seaweedfs combination; storage validation is seaweedfs only\n- user_handlers.py / storage_static.py: S3 user storage and static\n  endpoints are provisioned/deleted through seaweedfs_deploy only\n- milvus_standalone.py: drop create/delete_minio_milvus_account; milvus\n  bucket/credentials are managed via SeaweedfsClient\n- util.py: remove get_minio_config_data; patcher.py: remove check helper\n- registry_deploy.py / issuer.py: log and docstring cleanups\n\nDeploy:\n- deploy/minio/* removed; milvus and milvus-slim configmaps/secrets now\n  point at the seaweedfs service (milvus-cfg-*-base.yaml, milvus-s3-secret);\n  drop the unused openserverless-milvus-minio mc-init ConfigMap (slim\n  milvus-cfg-deps.yaml removed as it only contained it)\n- Dockerfile no longer copies deploy/minio; whisk-system.sh builds the\n  s3 (was minio) action, deploy/whisk-system/s3.zip, actions devel/s3\n- delete stale deploy/demos/reference/milvus_manifest.yaml and the\n  duplicate deploy/demos/devel/minio_*.json\n\nActions / tests:\n- actions common/minio_util.py -\u003e s3_util.py (all copies), devel/minio -\u003e\n  devel/s3 (command/s3.py, class S3 reading S3_* user metadata); devel\n  upload/download read S3_HOST/PORT/ACCESS_KEY/SECRET_KEY\n- tests/minio.js -\u003e s3.js, tests/minio-nuv.js -\u003e s3-nuv.js (s3_* params)\n- minio_test.ipy / minio_quota_test.ipy removed; minio_util_test.ipy -\u003e\n  seaweedfs_util_test.ipy and minio_static_test.ipy -\u003e storage_static_test.ipy\n  rewritten against seaweedfs/SeaweedfsClient; milvus_standalone tests kept\n  seaweedfs-only\n- all 31 whisk test manifests: components.minio -\u003e components.seaweedfs,\n  spec.minio -\u003e spec.seaweedfs (admin dropped, root-user/root-password -\u003e\n  user/password)\n\nChores:\n- Taskfiles: minio/s minio2 tasks -\u003e s3/s3-nuv, MINIO_* env -\u003e S3_*\n  (defaults openserverless / zuf+tfteSlswRu7BJ86wekitnifILbZam1KYY3TG);\n  drop unused MINIO_API_HOST; root all: uses s3\n- docs (OPERATOR.md, deploy/milvus-operator/README.md) updated;\n  minio pip SDK dependency and BINARY-WARNINGS/licensing entries retained\n"
    },
    {
      "commit": "5095b2fbce52bde633bb57385bf0bb25faf4d1ee",
      "tree": "a3a385209ad4c0c471397ca9883e9a91b12b4372",
      "parents": [
        "c4f811e6a4aba552ac6530515bca197599f10bc5",
        "149fad473ec72f839c8af004165b47019f2fb437"
      ],
      "author": {
        "name": "Michele Sciabarra",
        "email": "michele@sciabarra.com",
        "time": "Tue Sep 15 11:03:46 2026 +0100"
      },
      "committer": {
        "name": "Michele Sciabarra",
        "email": "michele@sciabarra.com",
        "time": "Tue Sep 15 11:03:46 2026 +0100"
      },
      "message": "Merge remote-tracking branch \u0027origin/main\u0027 into 0.9.0\n"
    },
    {
      "commit": "c4f811e6a4aba552ac6530515bca197599f10bc5",
      "tree": "a3a385209ad4c0c471397ca9883e9a91b12b4372",
      "parents": [
        "022af91fa3d7d09330bb1662a706d17beb12a38f"
      ],
      "author": {
        "name": "Michele Sciabarra",
        "email": "michele@sciabarra.com",
        "time": "Sun Sep 13 16:01:35 2026 +0200"
      },
      "committer": {
        "name": "Michele Sciabarra",
        "email": "michele@sciabarra.com",
        "time": "Sun Sep 13 16:01:35 2026 +0200"
      },
      "message": "addedd license in jinja2 comments -a\n"
    },
    {
      "commit": "022af91fa3d7d09330bb1662a706d17beb12a38f",
      "tree": "51bff7e2cef936e2a80abf32e68b4f2cede39949",
      "parents": [
        "aeadc698ba362553af3115dcea4a1ab0a7a16f32"
      ],
      "author": {
        "name": "Michele Sciabarra",
        "email": "michele@sciabarra.com",
        "time": "Sun Sep 13 06:42:39 2026 +0200"
      },
      "committer": {
        "name": "Michele Sciabarra",
        "email": "michele@sciabarra.com",
        "time": "Sun Sep 13 06:42:39 2026 +0200"
      },
      "message": "license, notice and headers\n"
    },
    {
      "commit": "aeadc698ba362553af3115dcea4a1ab0a7a16f32",
      "tree": "0b3b93b121f30718631517bbac34214efb4160ec",
      "parents": [
        "7d7031b0ed0ae3d6067a8012d55d0f0cee1c5acb"
      ],
      "author": {
        "name": "Michele Sciabarra",
        "email": "michele@sciabarra.com",
        "time": "Fri Sep 11 21:20:01 2026 +0200"
      },
      "committer": {
        "name": "Michele Sciabarra",
        "email": "michele@sciabarra.com",
        "time": "Fri Sep 11 21:20:01 2026 +0200"
      },
      "message": "fix the kind version\n"
    },
    {
      "commit": "7d7031b0ed0ae3d6067a8012d55d0f0cee1c5acb",
      "tree": "656a918cc3cffecc777b4e648be27cdd1764cb1a",
      "parents": [
        "3496915c5b0c2d2a8f39f8590ab0e46eee67249a"
      ],
      "author": {
        "name": "Michele Sciabarra",
        "email": "michele@sciabarra.com",
        "time": "Fri Sep 11 21:13:56 2026 +0200"
      },
      "committer": {
        "name": "Michele Sciabarra",
        "email": "michele@sciabarra.com",
        "time": "Fri Sep 11 21:13:56 2026 +0200"
      },
      "message": "removed mc from build\n"
    },
    {
      "commit": "3496915c5b0c2d2a8f39f8590ab0e46eee67249a",
      "tree": "f696e1f6f86a25be8ca2edbd5d1c1c9897ae7256",
      "parents": [
        "5df76feda569b374276f4e2c72a46d3a980a4b77"
      ],
      "author": {
        "name": "Michele Sciabarra",
        "email": "michele@sciabarra.com",
        "time": "Fri Sep 11 20:50:28 2026 +0200"
      },
      "committer": {
        "name": "Michele Sciabarra",
        "email": "michele@sciabarra.com",
        "time": "Fri Sep 11 20:50:28 2026 +0200"
      },
      "message": "fixing image_tag behaviour\n"
    },
    {
      "commit": "5df76feda569b374276f4e2c72a46d3a980a4b77",
      "tree": "e57a9b591f366cf48ec1277414902c792017bee9",
      "parents": [
        "9a74639a10d136a2d9689ebe13ae5ff445d167c7"
      ],
      "author": {
        "name": "Michele Sciabarra",
        "email": "michele@sciabarra.com",
        "time": "Thu Sep 10 11:09:48 2026 +0200"
      },
      "committer": {
        "name": "Michele Sciabarra",
        "email": "michele@sciabarra.com",
        "time": "Thu Sep 10 11:09:48 2026 +0200"
      },
      "message": "changed the default index.html\n"
    },
    {
      "commit": "149fad473ec72f839c8af004165b47019f2fb437",
      "tree": "0b0ed662d2b9281637c33dd0940fee3eaba89d22",
      "parents": [
        "ef176c66d75574e2dbbf59276da7e9dbebb1f0c3"
      ],
      "author": {
        "name": "Michele Sciabarra",
        "email": "30654959+sciabarracom@users.noreply.github.com",
        "time": "Tue Sep 08 09:30:26 2026 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Sep 08 09:30:26 2026 +0200"
      },
      "message": "0.9.0 (#130)\n\n* fix: fix absolute path in run.sh\n\nstarting the operator locally gave error \"No such file or directory task: Failed to run task \"run\": task: Failed to run task \"d:run\": exit status 127\", because of an absolute path inside run.sh\n\n* fix: path to check for db ready\n\nchanged the path for wait_db_ready. The path without the final / led to a 301 and not a 200\n\n* fix: invoker and operator image from env\n\nremoved hardcoded values for cfg.get operator.image / operator.tag and invoker.image and invoker.tag. Config now check env vars and defaults to old images\n\n* fix(test): milvus tests\n\nfixed tests for minio / seaweedfs .\n\n* chore(docs): taskfile\n\nadded desc to taskfile tasks\n\n* fix: namespace validation\n\nadded namespace validation in user creation\n\n* do not use a fixed offset to nuvolaris.io (#119)\n\n* do not use a fixed offset to nuvolaris.io\n\n* removed talos\n\n---------\n\nCo-authored-by: Trustable User \u003cnoreply@example.com\u003e\n\n* remove reference to nuvolaris logo (#120)\n\nCo-authored-by: Trustable User \u003cnoreply@example.com\u003e\n\n* fix: validate database and bucket names in user provisioning (#121)\n\nFollow-up to #109, which validated spec.namespace but left two other\ntenant controlled WhiskUser fields flowing unsanitized into shell\ncommands executed inside the data pods via kubectl exec.\n\n* spec.postgres.database reached `bash -c \"... psql --dbname {db_name}\"`\n  in exec_psql_command_in_db. Unlike the namespace field it never\n  becomes a filename, so it was not even constrained to path safe\n  characters.\n* spec.object-storage.{data,route}.bucket reached\n  `sh -c \"echo \u0027{command}\u0027 | weed shell\"` in the seaweedfs client,\n  where a quote breaks out of the single quoted string.\n\nAdds util.validate_database_name and util.validate_bucket_name next to\nthe existing validate_namespace and applies them at the call sites and\nat the shell sinks, plus matching CEL rules on the CRD so the API server\nrejects the payload before the operator sees it. The regexes and the CEL\nrules were cross checked to accept exactly the same inputs.\n\nAlso:\n* guards the latent render_kvrocks_script / exec_kvrocks_command pair,\n  which repeats the same pattern but is not currently wired into the\n  user path\n* makes validate_namespace return False for non string input instead of\n  raising TypeError\n* corrects a copy pasted error message referring to exec_mongosh_command\n  inside exec_psql_command\n\nCo-authored-by: Claude Opus 5 (1M context) \u003cnoreply@anthropic.com\u003e\n\n* rebranding (#122)\n\nCo-authored-by: Michele Sciabarra \u003cmichele@sciabarra.com\u003e\n\n* update naming\n\n* operator build updated\n\n* 0.9.0 (#124)\n\n* updating distro in dockerfile\n\n---------\n\nCo-authored-by: Bruno Salzano \u003cd4rkstar@gmail.com\u003e\nCo-authored-by: Trustable User \u003cnoreply@example.com\u003e\nCo-authored-by: Claude Opus 5 (1M context) \u003cnoreply@anthropic.com\u003e\nCo-authored-by: Michele Sciabarra \u003cmichele@sciabarra.com\u003e\nCo-authored-by: miki3421 \u003c42601846+miki3421@users.noreply.github.com\u003e"
    },
    {
      "commit": "9a74639a10d136a2d9689ebe13ae5ff445d167c7",
      "tree": "0b0ed662d2b9281637c33dd0940fee3eaba89d22",
      "parents": [
        "b90faa77d8764da7963d3cdda4dbe9aa104aa46f",
        "ef176c66d75574e2dbbf59276da7e9dbebb1f0c3"
      ],
      "author": {
        "name": "Michele Sciabarra",
        "email": "michele@sciabarra.com",
        "time": "Tue Sep 08 09:20:27 2026 +0200"
      },
      "committer": {
        "name": "Michele Sciabarra",
        "email": "michele@sciabarra.com",
        "time": "Tue Sep 08 09:20:27 2026 +0200"
      },
      "message": "Merge branch \u0027main\u0027 into 0.9.0\n"
    },
    {
      "commit": "ef176c66d75574e2dbbf59276da7e9dbebb1f0c3",
      "tree": "0b0ed662d2b9281637c33dd0940fee3eaba89d22",
      "parents": [
        "7e47d2513f01cb11a19c276fb7fb2a9590256833"
      ],
      "author": {
        "name": "Michele Sciabarra",
        "email": "30654959+sciabarracom@users.noreply.github.com",
        "time": "Tue Sep 08 09:06:49 2026 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Sep 08 09:06:49 2026 +0200"
      },
      "message": "aligning .asf (#127)\n\n* fix: fix absolute path in run.sh\n\nstarting the operator locally gave error \"No such file or directory task: Failed to run task \"run\": task: Failed to run task \"d:run\": exit status 127\", because of an absolute path inside run.sh\n\n* fix: path to check for db ready\n\nchanged the path for wait_db_ready. The path without the final / led to a 301 and not a 200\n\n* fix: invoker and operator image from env\n\nremoved hardcoded values for cfg.get operator.image / operator.tag and invoker.image and invoker.tag. Config now check env vars and defaults to old images\n\n* fix(test): milvus tests\n\nfixed tests for minio / seaweedfs .\n\n* chore(docs): taskfile\n\nadded desc to taskfile tasks\n\n* fix: namespace validation\n\nadded namespace validation in user creation\n\n* do not use a fixed offset to nuvolaris.io (#119)\n\n* do not use a fixed offset to nuvolaris.io\n\n* removed talos\n\n---------\n\nCo-authored-by: Trustable User \u003cnoreply@example.com\u003e\n\n* remove reference to nuvolaris logo (#120)\n\nCo-authored-by: Trustable User \u003cnoreply@example.com\u003e\n\n* fix: validate database and bucket names in user provisioning (#121)\n\nFollow-up to #109, which validated spec.namespace but left two other\ntenant controlled WhiskUser fields flowing unsanitized into shell\ncommands executed inside the data pods via kubectl exec.\n\n* spec.postgres.database reached `bash -c \"... psql --dbname {db_name}\"`\n  in exec_psql_command_in_db. Unlike the namespace field it never\n  becomes a filename, so it was not even constrained to path safe\n  characters.\n* spec.object-storage.{data,route}.bucket reached\n  `sh -c \"echo \u0027{command}\u0027 | weed shell\"` in the seaweedfs client,\n  where a quote breaks out of the single quoted string.\n\nAdds util.validate_database_name and util.validate_bucket_name next to\nthe existing validate_namespace and applies them at the call sites and\nat the shell sinks, plus matching CEL rules on the CRD so the API server\nrejects the payload before the operator sees it. The regexes and the CEL\nrules were cross checked to accept exactly the same inputs.\n\nAlso:\n* guards the latent render_kvrocks_script / exec_kvrocks_command pair,\n  which repeats the same pattern but is not currently wired into the\n  user path\n* makes validate_namespace return False for non string input instead of\n  raising TypeError\n* corrects a copy pasted error message referring to exec_mongosh_command\n  inside exec_psql_command\n\nCo-authored-by: Claude Opus 5 (1M context) \u003cnoreply@anthropic.com\u003e\n\n* rebranding (#122)\n\nCo-authored-by: Michele Sciabarra \u003cmichele@sciabarra.com\u003e\n\n* update naming\n\n* operator build updated\n\n* 0.9.0 (#124)\n\n* updating distro in dockerfile\n\n---------\n\nCo-authored-by: Bruno Salzano \u003cd4rkstar@gmail.com\u003e\nCo-authored-by: Trustable User \u003cnoreply@example.com\u003e\nCo-authored-by: Claude Opus 5 (1M context) \u003cnoreply@anthropic.com\u003e\nCo-authored-by: Michele Sciabarra \u003cmichele@sciabarra.com\u003e\nCo-authored-by: miki3421 \u003c42601846+miki3421@users.noreply.github.com\u003e"
    },
    {
      "commit": "7e47d2513f01cb11a19c276fb7fb2a9590256833",
      "tree": "059ce9967d96f8908a55597b56de9ccc0f6f7012",
      "parents": [
        "9a9c625fc9817e53cce954d42e767a474833aa23"
      ],
      "author": {
        "name": "Michele Sciabarra",
        "email": "30654959+sciabarracom@users.noreply.github.com",
        "time": "Tue Sep 08 07:22:45 2026 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Sep 08 07:22:45 2026 +0200"
      },
      "message": "aligning workflow (#126)\n\nCo-authored-by: Michele Sciabarra \u003cmichele@sciabarra.com\u003e"
    },
    {
      "commit": "b90faa77d8764da7963d3cdda4dbe9aa104aa46f",
      "tree": "0b0ed662d2b9281637c33dd0940fee3eaba89d22",
      "parents": [
        "37b105ff150bcd6f332d517eaefc8f4b626be015"
      ],
      "author": {
        "name": "Michele Sciabarra",
        "email": "michele@sciabarra.com",
        "time": "Tue Sep 08 06:06:36 2026 +0200"
      },
      "committer": {
        "name": "Michele Sciabarra",
        "email": "michele@sciabarra.com",
        "time": "Tue Sep 08 06:06:36 2026 +0200"
      },
      "message": "updating distro in dockerfile\n"
    },
    {
      "commit": "37b105ff150bcd6f332d517eaefc8f4b626be015",
      "tree": "dbfd5b5dfc1d71d46de8fd3e1927384d25192cab",
      "parents": [
        "f7a56ef8d95fed06e4768e0e14b4c1d49e39f760",
        "9a9c625fc9817e53cce954d42e767a474833aa23"
      ],
      "author": {
        "name": "Michele Sciabarra",
        "email": "michele@sciabarra.com",
        "time": "Mon Sep 07 23:56:03 2026 +0200"
      },
      "committer": {
        "name": "Michele Sciabarra",
        "email": "michele@sciabarra.com",
        "time": "Mon Sep 07 23:56:03 2026 +0200"
      },
      "message": "Merge branch \u0027main\u0027 into 0.9.0\n"
    },
    {
      "commit": "f7a56ef8d95fed06e4768e0e14b4c1d49e39f760",
      "tree": "dbfd5b5dfc1d71d46de8fd3e1927384d25192cab",
      "parents": [
        "3c41379082143dfef1f6fbbac5ff31cbacf857f8"
      ],
      "author": {
        "name": "Michele Sciabarra",
        "email": "30654959+sciabarracom@users.noreply.github.com",
        "time": "Mon Sep 07 23:49:46 2026 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Sep 07 23:49:46 2026 +0200"
      },
      "message": "0.9.0 (#124)"
    },
    {
      "commit": "3c41379082143dfef1f6fbbac5ff31cbacf857f8",
      "tree": "6cfcf6f798eff9f2565dda6968a7a75806d62b3f",
      "parents": [
        "4710c0110dec6b9adc160a770e45b51ce9e1a90a",
        "925898a4506d040a8d18b3667c454459c4c7b32c"
      ],
      "author": {
        "name": "miki3421",
        "email": "42601846+miki3421@users.noreply.github.com",
        "time": "Thu Sep 03 06:02:44 2026 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Sep 03 06:02:44 2026 +0200"
      },
      "message": "Merge pull request #123 from sciabarracom/0.9.0\n\nupdate naming"
    },
    {
      "commit": "925898a4506d040a8d18b3667c454459c4c7b32c",
      "tree": "6cfcf6f798eff9f2565dda6968a7a75806d62b3f",
      "parents": [
        "82662a9146b4e97a7d17641fc4b96e35a668b0d0"
      ],
      "author": {
        "name": "Michele Sciabarra",
        "email": "michele@sciabarra.com",
        "time": "Thu Sep 03 00:13:47 2026 +0200"
      },
      "committer": {
        "name": "Michele Sciabarra",
        "email": "michele@sciabarra.com",
        "time": "Thu Sep 03 00:13:47 2026 +0200"
      },
      "message": "operator build updated\n"
    },
    {
      "commit": "82662a9146b4e97a7d17641fc4b96e35a668b0d0",
      "tree": "e89995bb45354b8c39f52844489a77b57a54db0a",
      "parents": [
        "4710c0110dec6b9adc160a770e45b51ce9e1a90a"
      ],
      "author": {
        "name": "Michele Sciabarra",
        "email": "michele@sciabarra.com",
        "time": "Thu Sep 03 00:03:26 2026 +0200"
      },
      "committer": {
        "name": "Michele Sciabarra",
        "email": "michele@sciabarra.com",
        "time": "Thu Sep 03 00:03:26 2026 +0200"
      },
      "message": "update naming\n"
    },
    {
      "commit": "4710c0110dec6b9adc160a770e45b51ce9e1a90a",
      "tree": "48ecff25a455f97b49eeca78785b1a6fc6bd0817",
      "parents": [
        "6b99ae83b37d5fc599fb367c37b47d87ce602aa2"
      ],
      "author": {
        "name": "Michele Sciabarra",
        "email": "30654959+sciabarracom@users.noreply.github.com",
        "time": "Tue Sep 01 21:12:39 2026 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Sep 01 21:12:39 2026 +0200"
      },
      "message": "rebranding (#122)\n\nCo-authored-by: Michele Sciabarra \u003cmichele@sciabarra.com\u003e"
    },
    {
      "commit": "6b99ae83b37d5fc599fb367c37b47d87ce602aa2",
      "tree": "2e19fa69c07cf87eb7e7d9c9a3f25db00c5a8546",
      "parents": [
        "579fddbfc1953169812e8c66d605417bbfe204e5"
      ],
      "author": {
        "name": "Michele Sciabarra",
        "email": "30654959+sciabarracom@users.noreply.github.com",
        "time": "Sat Aug 29 17:23:18 2026 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sat Aug 29 17:23:18 2026 +0200"
      },
      "message": "fix: validate database and bucket names in user provisioning (#121)\n\nFollow-up to #109, which validated spec.namespace but left two other\ntenant controlled WhiskUser fields flowing unsanitized into shell\ncommands executed inside the data pods via kubectl exec.\n\n* spec.postgres.database reached `bash -c \"... psql --dbname {db_name}\"`\n  in exec_psql_command_in_db. Unlike the namespace field it never\n  becomes a filename, so it was not even constrained to path safe\n  characters.\n* spec.object-storage.{data,route}.bucket reached\n  `sh -c \"echo \u0027{command}\u0027 | weed shell\"` in the seaweedfs client,\n  where a quote breaks out of the single quoted string.\n\nAdds util.validate_database_name and util.validate_bucket_name next to\nthe existing validate_namespace and applies them at the call sites and\nat the shell sinks, plus matching CEL rules on the CRD so the API server\nrejects the payload before the operator sees it. The regexes and the CEL\nrules were cross checked to accept exactly the same inputs.\n\nAlso:\n* guards the latent render_kvrocks_script / exec_kvrocks_command pair,\n  which repeats the same pattern but is not currently wired into the\n  user path\n* makes validate_namespace return False for non string input instead of\n  raising TypeError\n* corrects a copy pasted error message referring to exec_mongosh_command\n  inside exec_psql_command\n\nCo-authored-by: Claude Opus 5 (1M context) \u003cnoreply@anthropic.com\u003e"
    },
    {
      "commit": "579fddbfc1953169812e8c66d605417bbfe204e5",
      "tree": "f2cab15a4f0cb8a557f5fb9862e626bfeba83bf5",
      "parents": [
        "c28d8f60f62bd38f4d68fc600b63c20c3db87197"
      ],
      "author": {
        "name": "Michele Sciabarra",
        "email": "30654959+sciabarracom@users.noreply.github.com",
        "time": "Tue Aug 25 21:21:25 2026 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Aug 25 21:21:25 2026 +0200"
      },
      "message": "remove reference to nuvolaris logo (#120)\n\nCo-authored-by: Trustable User \u003cnoreply@example.com\u003e"
    },
    {
      "commit": "9a9c625fc9817e53cce954d42e767a474833aa23",
      "tree": "a3b19a98d2b0edb2586b2980dab8156dabd4cdc0",
      "parents": [
        "95eef447cfbd8dd48d93eac979162ed6e5c2e5bb"
      ],
      "author": {
        "name": "Bruno Salzano",
        "email": "d4rkstar@gmail.com",
        "time": "Tue Aug 25 19:51:12 2026 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Aug 25 19:51:12 2026 +0200"
      },
      "message": "0.9.1 (#117)\n\n* fix: fix absolute path in run.sh\n\nstarting the operator locally gave error \"No such file or directory task: Failed to run task \"run\": task: Failed to run task \"d:run\": exit status 127\", because of an absolute path inside run.sh\n\n* fix: path to check for db ready\n\nchanged the path for wait_db_ready. The path without the final / led to a 301 and not a 200\n\n* fix: invoker and operator image from env\n\nremoved hardcoded values for cfg.get operator.image / operator.tag and invoker.image and invoker.tag. Config now check env vars and defaults to old images\n\n* fix(test): milvus tests\n\nfixed tests for minio / seaweedfs .\n\n* chore(docs): taskfile\n\nadded desc to taskfile tasks\n\n* fix: namespace validation\n\nadded namespace validation in user creation\n\n* chore(deps): bump urllib3 from 2.3.0 to 2.7.0\n\n* fix: kube type detection (#114)\n\n* Update Docker actions to latest versions\n\n* chore: workflow/image alignment\n\n* build: unify build-and-load task with kube type detection (#116)\n\nMerge the kind/k3s build-and-load tasks into a single task that detects\nthe cluster type via `ops debug kube detect` and adds microk8s support.\nRename microk8s.yml\u0027s KUBECONFIG var to MIK_KUBECONFIG to avoid clashing\nwith the KUBECONFIG env var.\n\n* chore: changed detect from ops to ./detect.sh script (#118)\n\nremoved ops command from kube detection to avoid ops cli depenency in github actions\n\n* using straight apache secrets\n\n---------\n\nCo-authored-by: Michele Sciabarra \u003c30654959+sciabarracom@users.noreply.github.com\u003e\nCo-authored-by: Trustable User \u003cnoreply@example.com\u003e"
    },
    {
      "commit": "c28d8f60f62bd38f4d68fc600b63c20c3db87197",
      "tree": "eb7f714d417ee4b46139a55c7b69e0ab38b5b248",
      "parents": [
        "424ca16060edba3bb332f515a2c4735e938e2b89"
      ],
      "author": {
        "name": "Michele Sciabarra",
        "email": "30654959+sciabarracom@users.noreply.github.com",
        "time": "Tue Aug 25 19:36:59 2026 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Aug 25 19:36:59 2026 +0200"
      },
      "message": "do not use a fixed offset to nuvolaris.io (#119)\n\n* do not use a fixed offset to nuvolaris.io\n\n* removed talos\n\n---------\n\nCo-authored-by: Trustable User \u003cnoreply@example.com\u003e"
    },
    {
      "commit": "95eef447cfbd8dd48d93eac979162ed6e5c2e5bb",
      "tree": "8190bee47789722bc2fa817da50252e372aca1b9",
      "parents": [
        "e90a7a9d51d98f77ecd7a9d0e38b837244e7b285"
      ],
      "author": {
        "name": "Bruno Salzano",
        "email": "d4rkstar@gmail.com",
        "time": "Sat Aug 22 13:44:25 2026 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sat Aug 22 13:44:25 2026 +0200"
      },
      "message": "0.9.1 (#115)\n\n* fix: fix absolute path in run.sh\n\nstarting the operator locally gave error \"No such file or directory task: Failed to run task \"run\": task: Failed to run task \"d:run\": exit status 127\", because of an absolute path inside run.sh\n\n* fix: path to check for db ready\n\nchanged the path for wait_db_ready. The path without the final / led to a 301 and not a 200\n\n* fix: invoker and operator image from env\n\nremoved hardcoded values for cfg.get operator.image / operator.tag and invoker.image and invoker.tag. Config now check env vars and defaults to old images\n\n* fix(test): milvus tests\n\nfixed tests for minio / seaweedfs .\n\n* chore(docs): taskfile\n\nadded desc to taskfile tasks\n\n* fix: namespace validation\n\nadded namespace validation in user creation\n\n* chore(deps): bump urllib3 from 2.3.0 to 2.7.0\n\n* fix: kube type detection (#114)\n\n* Update Docker actions to latest versions\n\n* chore: workflow/image alignment\n\n---------\n\nCo-authored-by: Michele Sciabarra \u003c30654959+sciabarracom@users.noreply.github.com\u003e"
    },
    {
      "commit": "e90a7a9d51d98f77ecd7a9d0e38b837244e7b285",
      "tree": "080d4a0fbd98f2243b80c131e1ddfbcfc64a6ddd",
      "parents": [
        "3d198eb98a2af2bf3b7485e9729de00b1bb4db45"
      ],
      "author": {
        "name": "Bruno Salzano",
        "email": "d4rkstar@gmail.com",
        "time": "Thu Aug 20 19:36:40 2026 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Aug 20 19:36:40 2026 +0200"
      },
      "message": "0.9.1 (#113)\n\n* fix: fix absolute path in run.sh\n\nstarting the operator locally gave error \"No such file or directory task: Failed to run task \"run\": task: Failed to run task \"d:run\": exit status 127\", because of an absolute path inside run.sh\n\n* fix: path to check for db ready\n\nchanged the path for wait_db_ready. The path without the final / led to a 301 and not a 200\n\n* fix: invoker and operator image from env\n\nremoved hardcoded values for cfg.get operator.image / operator.tag and invoker.image and invoker.tag. Config now check env vars and defaults to old images\n\n* fix(test): milvus tests\n\nfixed tests for minio / seaweedfs .\n\n* chore(docs): taskfile\n\nadded desc to taskfile tasks\n\n* fix: namespace validation\n\nadded namespace validation in user creation\n\n* chore(deps): bump urllib3 from 2.3.0 to 2.7.0\n\n---------\n\nCo-authored-by: Michele Sciabarra \u003c30654959+sciabarracom@users.noreply.github.com\u003e"
    },
    {
      "commit": "3d198eb98a2af2bf3b7485e9729de00b1bb4db45",
      "tree": "3c85f32f639f6aaea81eafde7f0d6a8d7fcb883f",
      "parents": [
        "05094b06cd06adc684fce996fbde576d9bbe7984"
      ],
      "author": {
        "name": "Bruno Salzano",
        "email": "d4rkstar@gmail.com",
        "time": "Tue Aug 18 23:01:53 2026 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Aug 18 23:01:53 2026 +0200"
      },
      "message": "chore(deps): bump urllib3 from 2.3.0 to 2.7.0 (#111)"
    },
    {
      "commit": "05094b06cd06adc684fce996fbde576d9bbe7984",
      "tree": "ce75712287ea9148be8312833638223cc38e517c",
      "parents": [
        "df1734f73aeec561e2f2b25c363e04b897747ac3"
      ],
      "author": {
        "name": "Bruno Salzano",
        "email": "d4rkstar@gmail.com",
        "time": "Tue Aug 18 20:08:22 2026 +0000"
      },
      "committer": {
        "name": "Bruno Salzano",
        "email": "d4rkstar@gmail.com",
        "time": "Tue Aug 18 20:08:22 2026 +0000"
      },
      "message": "chore(asf.yaml): protected branches\n\nprotected branches main and 0.9.0\n"
    },
    {
      "commit": "424ca16060edba3bb332f515a2c4735e938e2b89",
      "tree": "71cf98698f611bf56a71882a3bc36ee911b90a09",
      "parents": [
        "a21591da79daa1da6950b05bf241e96d34ecf41a",
        "6621e93c1c3f94791eb119f64cc50a685eeb81a4"
      ],
      "author": {
        "name": "Michele Sciabarra",
        "email": "30654959+sciabarracom@users.noreply.github.com",
        "time": "Tue Jul 28 13:26:05 2026 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Jul 28 13:26:05 2026 +0200"
      },
      "message": "Merge pull request #109 from d4rkstar/0.9.0\n\nfix: namespace validation"
    },
    {
      "commit": "6621e93c1c3f94791eb119f64cc50a685eeb81a4",
      "tree": "71cf98698f611bf56a71882a3bc36ee911b90a09",
      "parents": [
        "7403d5c71817ea75626abf623bfbfad73d5f52bd"
      ],
      "author": {
        "name": "Bruno Salzano",
        "email": "d4rkstar@gmail.com",
        "time": "Mon Jul 27 11:52:17 2026 +0000"
      },
      "committer": {
        "name": "Bruno Salzano",
        "email": "d4rkstar@gmail.com",
        "time": "Mon Jul 27 11:52:30 2026 +0000"
      },
      "message": "fix: namespace validation\n\nadded namespace validation in user creation\n"
    },
    {
      "commit": "a21591da79daa1da6950b05bf241e96d34ecf41a",
      "tree": "940dcaf2e4a2b8af7fbc8bd265a7f5d5f997263f",
      "parents": [
        "7337d43fa7d4f16aff81c712c701805f758aa8e0",
        "7403d5c71817ea75626abf623bfbfad73d5f52bd"
      ],
      "author": {
        "name": "Michele Sciabarra",
        "email": "30654959+sciabarracom@users.noreply.github.com",
        "time": "Sun Jul 19 15:04:39 2026 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sun Jul 19 15:04:39 2026 +0200"
      },
      "message": "Merge pull request #107 from d4rkstar/0.9.0\n\nfixed tests"
    },
    {
      "commit": "7403d5c71817ea75626abf623bfbfad73d5f52bd",
      "tree": "940dcaf2e4a2b8af7fbc8bd265a7f5d5f997263f",
      "parents": [
        "6728fe8ebc27bfb56435726e7335d666edf2628c"
      ],
      "author": {
        "name": "Bruno Salzano",
        "email": "d4rkstar@gmail.com",
        "time": "Sun Jul 19 12:51:31 2026 +0000"
      },
      "committer": {
        "name": "Bruno Salzano",
        "email": "d4rkstar@gmail.com",
        "time": "Sun Jul 19 13:01:23 2026 +0000"
      },
      "message": "chore(docs): taskfile\n\nadded desc to taskfile tasks\n"
    },
    {
      "commit": "6728fe8ebc27bfb56435726e7335d666edf2628c",
      "tree": "ba7d60af4a835bd3bd813cbdf4d30a1370df0a36",
      "parents": [
        "7337d43fa7d4f16aff81c712c701805f758aa8e0"
      ],
      "author": {
        "name": "Bruno Salzano",
        "email": "d4rkstar@gmail.com",
        "time": "Sun Jul 19 12:51:15 2026 +0000"
      },
      "committer": {
        "name": "Bruno Salzano",
        "email": "d4rkstar@gmail.com",
        "time": "Sun Jul 19 13:01:15 2026 +0000"
      },
      "message": "fix(test): milvus tests\n\nfixed tests for minio / seaweedfs .\n"
    },
    {
      "commit": "7337d43fa7d4f16aff81c712c701805f758aa8e0",
      "tree": "a6bdaa88392df577cd238b0cb63bc433da773428",
      "parents": [
        "df1734f73aeec561e2f2b25c363e04b897747ac3",
        "506e4bc0df4ecbcba5e2be238240f40f4e7f3597"
      ],
      "author": {
        "name": "Michele Sciabarra",
        "email": "30654959+sciabarracom@users.noreply.github.com",
        "time": "Sun Jul 12 22:27:53 2026 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sun Jul 12 22:27:53 2026 +0200"
      },
      "message": "Merge pull request #105 from d4rkstar/0.9.0\n\ninvoker and operator image from env"
    },
    {
      "commit": "506e4bc0df4ecbcba5e2be238240f40f4e7f3597",
      "tree": "a6bdaa88392df577cd238b0cb63bc433da773428",
      "parents": [
        "df3cb4bf4e167da932ade08de8cab39c9f0b125a"
      ],
      "author": {
        "name": "Bruno Salzano",
        "email": "d4rkstar@gmail.com",
        "time": "Sun Jul 12 20:14:08 2026 +0000"
      },
      "committer": {
        "name": "Bruno Salzano",
        "email": "d4rkstar@gmail.com",
        "time": "Sun Jul 12 20:14:08 2026 +0000"
      },
      "message": "fix: invoker and operator image from env\n\nremoved hardcoded values for cfg.get operator.image / operator.tag and invoker.image and invoker.tag. Config now check env vars and defaults to old images\n"
    },
    {
      "commit": "df3cb4bf4e167da932ade08de8cab39c9f0b125a",
      "tree": "af4da9f33bebf696158d1ea108f149054cec3b5e",
      "parents": [
        "8c48a16777c509569a50972f0b4d8918ce5a0426"
      ],
      "author": {
        "name": "Bruno Salzano",
        "email": "d4rkstar@gmail.com",
        "time": "Sun Jul 12 20:09:45 2026 +0000"
      },
      "committer": {
        "name": "Bruno Salzano",
        "email": "d4rkstar@gmail.com",
        "time": "Sun Jul 12 20:09:45 2026 +0000"
      },
      "message": "fix: path to check for db ready\n\nchanged the path for wait_db_ready. The path without the final / led to a 301 and not a 200\n"
    },
    {
      "commit": "8c48a16777c509569a50972f0b4d8918ce5a0426",
      "tree": "689dbd7bde2599d3f9a871378947f1e87b42843d",
      "parents": [
        "df1734f73aeec561e2f2b25c363e04b897747ac3"
      ],
      "author": {
        "name": "Bruno Salzano",
        "email": "d4rkstar@gmail.com",
        "time": "Sun Jul 12 20:07:04 2026 +0000"
      },
      "committer": {
        "name": "Bruno Salzano",
        "email": "d4rkstar@gmail.com",
        "time": "Sun Jul 12 20:07:04 2026 +0000"
      },
      "message": "fix: fix absolute path in run.sh\n\nstarting the operator locally gave error \"No such file or directory task: Failed to run task \"run\": task: Failed to run task \"d:run\": exit status 127\", because of an absolute path inside run.sh\n"
    },
    {
      "commit": "df1734f73aeec561e2f2b25c363e04b897747ac3",
      "tree": "2abf0d61c9a54febdb08b45294e9aafeb8f0c717",
      "parents": [
        "b6e694b2756a88b82761173a60eb1c7bf77518c8"
      ],
      "author": {
        "name": "Michele Sciabarra",
        "email": "msciabarra@apache.org",
        "time": "Wed Jul 08 07:23:37 2026 +0000"
      },
      "committer": {
        "name": "Michele Sciabarra",
        "email": "msciabarra@apache.org",
        "time": "Wed Jul 08 07:23:37 2026 +0000"
      },
      "message": "fixed licenses and attributes\n"
    },
    {
      "commit": "b6e694b2756a88b82761173a60eb1c7bf77518c8",
      "tree": "2aa887c1d0b8ec1388c695cc4c32f7e5a347b84a",
      "parents": [
        "0045691d1d8526c3b17593345f642fb31cf2198c"
      ],
      "author": {
        "name": "Michele Sciabarra",
        "email": "michele@sciabarra.com",
        "time": "Tue Jul 07 16:30:04 2026 +0200"
      },
      "committer": {
        "name": "Michele Sciabarra",
        "email": "michele@sciabarra.com",
        "time": "Tue Jul 07 16:30:04 2026 +0200"
      },
      "message": "kustomize: quote newTag string to avoid all-digit tag misparse\n\nWhen git rev-parse --short HEAD produces an all-digit SHA (e.g. 0045691),\nkustomize\u0027s Go JSON decoder unmarshals it as a number and fails with:\n  json: cannot unmarshal number into Go struct field Image.images.newTag of type string\nQuoting the value forces YAML to treat it as a string in all cases.\n\nCo-Authored-By: Claude Opus 4.7 (1M context) \u003cnoreply@anthropic.com\u003e\n"
    },
    {
      "commit": "0045691d1d8526c3b17593345f642fb31cf2198c",
      "tree": "49b04407b59b6d3c05149015e595ad8fab083bfd",
      "parents": [
        "8e09c2f3a85921f1e3f616dbaed51a35336ad8b9"
      ],
      "author": {
        "name": "Michele Sciabarra",
        "email": "michele@sciabarra.com",
        "time": "Mon Jul 06 23:28:53 2026 +0200"
      },
      "committer": {
        "name": "Michele Sciabarra",
        "email": "michele@sciabarra.com",
        "time": "Mon Jul 06 23:28:53 2026 +0200"
      },
      "message": "fix couchdb boot: ulimit -n 1048576 + readiness probe\n\nWrap couchdb entrypoint with ulimit -n 1048576 to avoid erl_child_setup\nspinning on 2^31 fds when running under docker daemons that default to\nunlimited nofile (systemd default, WSL2 native docker, etc.). Add tcp\nreadiness probe on 5984 so the pod doesn\u0027t advertise as ready before\nCouchDB actually accepts connections.\n\nCo-Authored-By: Claude Opus 4.7 (1M context) \u003cnoreply@anthropic.com\u003e\n"
    },
    {
      "commit": "8e09c2f3a85921f1e3f616dbaed51a35336ad8b9",
      "tree": "65525eb8119d402a7e66ef60449caebe27fd1212",
      "parents": [
        "b849e6ba1bcd82d5282d03bf92aa8a6126a7bdee"
      ],
      "author": {
        "name": "Trustable User",
        "email": "noreply@example.com",
        "time": "Sun Jul 05 17:41:47 2026 +0200"
      },
      "committer": {
        "name": "Trustable User",
        "email": "noreply@example.com",
        "time": "Sun Jul 05 17:41:47 2026 +0200"
      },
      "message": "gitattributes\n"
    },
    {
      "commit": "b849e6ba1bcd82d5282d03bf92aa8a6126a7bdee",
      "tree": "6738cb419f3364741f989ed5ed4a2277d2ea684e",
      "parents": [
        "84e48da96c5253120f19b5d03f7400fdbeca94bf"
      ],
      "author": {
        "name": "Michele Sciabarra",
        "email": "michele@nuvolaris.io",
        "time": "Sat Jul 04 23:13:53 2026 +0000"
      },
      "committer": {
        "name": "Michele Sciabarra",
        "email": "michele@nuvolaris.io",
        "time": "Sat Jul 04 23:13:53 2026 +0000"
      },
      "message": "db fixes\n"
    },
    {
      "commit": "84e48da96c5253120f19b5d03f7400fdbeca94bf",
      "tree": "edcbf94f8d1a64a43330a96342ab005a6abf4e35",
      "parents": [
        "b9d951ffd400821b3d453bed4d691e19eb5cce8e"
      ],
      "author": {
        "name": "Michele Sciabarra",
        "email": "michele@sciabarra.com",
        "time": "Sun Jun 07 08:49:35 2026 +0000"
      },
      "committer": {
        "name": "Michele Sciabarra",
        "email": "michele@sciabarra.com",
        "time": "Sun Jun 07 08:49:35 2026 +0000"
      },
      "message": "fix base image\n"
    },
    {
      "commit": "b9d951ffd400821b3d453bed4d691e19eb5cce8e",
      "tree": "23f606100c7c2c13b695dcc94cf178c480e0e3dd",
      "parents": [
        "f57d7bbe577810ffb0f635078d6d96dd3c1bff9a",
        "534ec61a394f4287b79eeb265f57e7a21953be9c"
      ],
      "author": {
        "name": "Michele Sciabarra",
        "email": "30654959+sciabarracom@users.noreply.github.com",
        "time": "Sat May 16 22:21:01 2026 +0100"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sat May 16 22:21:01 2026 +0100"
      },
      "message": "Merge pull request #99 from apache/infrastructure-ruleset-bot/default-branch-protection\n\n[INFRA] Set up default rulesets for default and release branches"
    },
    {
      "commit": "534ec61a394f4287b79eeb265f57e7a21953be9c",
      "tree": "23f606100c7c2c13b695dcc94cf178c480e0e3dd",
      "parents": [
        "f57d7bbe577810ffb0f635078d6d96dd3c1bff9a"
      ],
      "author": {
        "name": "The Apache Software Foundation",
        "email": "root-asf-gitbox-commits@apache.org",
        "time": "Fri May 15 17:34:15 2026 -0500"
      },
      "committer": {
        "name": "The Apache Software Foundation",
        "email": "root-asf-gitbox-commits@apache.org",
        "time": "Fri May 15 17:34:15 2026 -0500"
      },
      "message": "Set up default protection ruleset for default and release branches"
    },
    {
      "commit": "f57d7bbe577810ffb0f635078d6d96dd3c1bff9a",
      "tree": "949621788bffbb4d576ae0094dc2ffaa10c1bde4",
      "parents": [
        "49f516899f326a0e38fcb33eab163b402e615801"
      ],
      "author": {
        "name": "Michele Sciabarra",
        "email": "msciabarra@apache.org",
        "time": "Thu Apr 09 13:51:58 2026 +0100"
      },
      "committer": {
        "name": "Michele Sciabarra",
        "email": "msciabarra@apache.org",
        "time": "Thu Apr 09 13:51:58 2026 +0100"
      },
      "message": "updated action\n"
    },
    {
      "commit": "49f516899f326a0e38fcb33eab163b402e615801",
      "tree": "11304e505c2549549fa3486c5086a7fe574f19cd",
      "parents": [
        "e27b916c7a371d2e22d4c7f293a2994e3aa600fe",
        "567fef8fe324ea679086beb8602a0f92795e5e89"
      ],
      "author": {
        "name": "Michele Sciabarra",
        "email": "30654959+sciabarracom@users.noreply.github.com",
        "time": "Thu Apr 09 11:52:40 2026 +0100"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Apr 09 11:52:40 2026 +0100"
      },
      "message": "Merge pull request #97 from nuvolaris/main\n\nTraefik Ingress Fix"
    },
    {
      "commit": "567fef8fe324ea679086beb8602a0f92795e5e89",
      "tree": "11304e505c2549549fa3486c5086a7fe574f19cd",
      "parents": [
        "e27b916c7a371d2e22d4c7f293a2994e3aa600fe",
        "2fb33a901b16a5dd0a6b0f371e2131f02507ac2c"
      ],
      "author": {
        "name": "Michele Sciabarra",
        "email": "30654959+sciabarracom@users.noreply.github.com",
        "time": "Wed Apr 08 12:01:01 2026 +0100"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Apr 08 12:01:01 2026 +0100"
      },
      "message": "Merge pull request #10 from nuvolaris/fix/pykube-ng-kopf-runtime\n\nSupport Traefik middleware compatibility across API groups"
    },
    {
      "commit": "2fb33a901b16a5dd0a6b0f371e2131f02507ac2c",
      "tree": "ae67488178acfaef964988be4fb695f3eaff55be",
      "parents": [
        "368f5575cfb4a64bbce60c76fb6b43cf34bc93db"
      ],
      "author": {
        "name": "miki3421",
        "email": "miki3421@gmail.com",
        "time": "Wed Apr 08 12:25:21 2026 +0200"
      },
      "committer": {
        "name": "miki3421",
        "email": "miki3421@gmail.com",
        "time": "Wed Apr 08 12:25:21 2026 +0200"
      },
      "message": "Add Apache license header to auth notebook test\n"
    },
    {
      "commit": "368f5575cfb4a64bbce60c76fb6b43cf34bc93db",
      "tree": "34a303944f12121a43637883eac41dcb1c4ea991",
      "parents": [
        "50a2bfeb7bef69ef4373157641e22fc50a266394"
      ],
      "author": {
        "name": "miki3421",
        "email": "miki3421@gmail.com",
        "time": "Wed Apr 08 11:52:13 2026 +0200"
      },
      "committer": {
        "name": "miki3421",
        "email": "miki3421@gmail.com",
        "time": "Wed Apr 08 11:52:13 2026 +0200"
      },
      "message": "Support Traefik middleware compatibility across API groups\n"
    },
    {
      "commit": "e27b916c7a371d2e22d4c7f293a2994e3aa600fe",
      "tree": "824c472896b7b91289768685cb0316bed18c9fff",
      "parents": [
        "8d688885fa56e97829e9afa448f87ace30c0a7fc"
      ],
      "author": {
        "name": "Trustable User",
        "email": "noreply@example.com",
        "time": "Mon Apr 06 20:56:55 2026 +0100"
      },
      "committer": {
        "name": "Trustable User",
        "email": "noreply@example.com",
        "time": "Mon Apr 06 20:56:55 2026 +0100"
      },
      "message": "sha fix\n"
    },
    {
      "commit": "8d688885fa56e97829e9afa448f87ace30c0a7fc",
      "tree": "06835406738a19808482354ea2394318920c3371",
      "parents": [
        "eea534a35a6d1334644b6c11fc6cbbd1322d4ec9",
        "50a2bfeb7bef69ef4373157641e22fc50a266394"
      ],
      "author": {
        "name": "Michele Sciabarra",
        "email": "30654959+sciabarracom@users.noreply.github.com",
        "time": "Mon Apr 06 16:42:38 2026 +0100"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Apr 06 16:42:38 2026 +0100"
      },
      "message": "Merge pull request #95 from nuvolaris/fix/pykube-ng-kopf-runtime\n\nFix/pykube ng kopf runtime"
    },
    {
      "commit": "50a2bfeb7bef69ef4373157641e22fc50a266394",
      "tree": "06835406738a19808482354ea2394318920c3371",
      "parents": [
        "4c0bed7abb159fb87a7e4db487729767af8b7fb9"
      ],
      "author": {
        "name": "miki3421",
        "email": "miki3421@gmail.com",
        "time": "Sat Apr 04 22:27:39 2026 +0200"
      },
      "committer": {
        "name": "miki3421",
        "email": "miki3421@gmail.com",
        "time": "Sat Apr 04 22:27:39 2026 +0200"
      },
      "message": "Fix FerretDB PVC permissions on Hetzner\n"
    },
    {
      "commit": "4c0bed7abb159fb87a7e4db487729767af8b7fb9",
      "tree": "bba1e612246b99d1b125f0e1856617edd80a03e0",
      "parents": [
        "fe97ffa4ce1291399e8e76047c4b5710e424190e"
      ],
      "author": {
        "name": "miki3421",
        "email": "miki3421@gmail.com",
        "time": "Sat Apr 04 22:22:21 2026 +0200"
      },
      "committer": {
        "name": "miki3421",
        "email": "miki3421@gmail.com",
        "time": "Sat Apr 04 22:22:21 2026 +0200"
      },
      "message": "Auto-detect ingress class on k3s clusters\n"
    },
    {
      "commit": "fe97ffa4ce1291399e8e76047c4b5710e424190e",
      "tree": "a12ba47221115981095a500b5bc4c8bc1bcb7365",
      "parents": [
        "f243af688cc18aa24709482f82d0e7e46ade45c5"
      ],
      "author": {
        "name": "miki3421",
        "email": "miki3421@gmail.com",
        "time": "Sat Apr 04 22:04:14 2026 +0200"
      },
      "committer": {
        "name": "miki3421",
        "email": "miki3421@gmail.com",
        "time": "Sat Apr 04 22:04:14 2026 +0200"
      },
      "message": "Fix operator in-cluster auth with pykube-ng\n"
    },
    {
      "commit": "f243af688cc18aa24709482f82d0e7e46ade45c5",
      "tree": "cf0fa395b0ff1875b8d5fa58f9e11adc65b70edd",
      "parents": [
        "2c0f9b74c8d3fd07f57968299e6ebb00022f4d71",
        "120adea98dfed5ce4c4f5ec90fa697c2de0cd052"
      ],
      "author": {
        "name": "miki3421",
        "email": "42601846+miki3421@users.noreply.github.com",
        "time": "Fri Mar 20 10:33:42 2026 +0100"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Mar 20 10:33:42 2026 +0100"
      },
      "message": "Merge pull request #6 from nuvolaris/test/e2e-k3s-hash-trigger\n\nDocument PR test label format"
    },
    {
      "commit": "120adea98dfed5ce4c4f5ec90fa697c2de0cd052",
      "tree": "cf0fa395b0ff1875b8d5fa58f9e11adc65b70edd",
      "parents": [
        "f71d0548a8c6cf7b492516f94639660bce1ff321"
      ],
      "author": {
        "name": "miki3421",
        "email": "miki3421@gmail.com",
        "time": "Fri Mar 20 10:33:15 2026 +0100"
      },
      "committer": {
        "name": "miki3421",
        "email": "miki3421@gmail.com",
        "time": "Fri Mar 20 10:33:15 2026 +0100"
      },
      "message": "Align operator PR trigger with \u003ctest\u003e-\u003chash\u003e labels\n"
    },
    {
      "commit": "f71d0548a8c6cf7b492516f94639660bce1ff321",
      "tree": "2837c825d754306fa636f9e148a434471c08abc8",
      "parents": [
        "2c0f9b74c8d3fd07f57968299e6ebb00022f4d71"
      ],
      "author": {
        "name": "miki3421",
        "email": "miki3421@gmail.com",
        "time": "Fri Mar 20 10:30:46 2026 +0100"
      },
      "committer": {
        "name": "miki3421",
        "email": "miki3421@gmail.com",
        "time": "Fri Mar 20 10:30:46 2026 +0100"
      },
      "message": "Document PR test label format\n"
    },
    {
      "commit": "2c0f9b74c8d3fd07f57968299e6ebb00022f4d71",
      "tree": "15d16a7b073502fc81bf0040196cd5cb53ada484",
      "parents": [
        "4bf8d790e784fe7d7166a8ed5e6bb138db1ace51"
      ],
      "author": {
        "name": "Michele Sciabarra",
        "email": "“msciabarra@apache.org”",
        "time": "Thu Mar 19 22:26:50 2026 +0000"
      },
      "committer": {
        "name": "Michele Sciabarra",
        "email": "“msciabarra@apache.org”",
        "time": "Thu Mar 19 22:26:50 2026 +0000"
      },
      "message": "fixd the MY_OPERATOR_IMAGE  name\n"
    },
    {
      "commit": "4bf8d790e784fe7d7166a8ed5e6bb138db1ace51",
      "tree": "14f5feedec3544c16fb736ed2df2598933a54162",
      "parents": [
        "a0d97b3f44057af8dce07a2ed78184627f40c720"
      ],
      "author": {
        "name": "Michele Sciabarra",
        "email": "“msciabarra@apache.org”",
        "time": "Thu Mar 19 21:32:21 2026 +0000"
      },
      "committer": {
        "name": "Michele Sciabarra",
        "email": "“msciabarra@apache.org”",
        "time": "Thu Mar 19 21:32:21 2026 +0000"
      },
      "message": "build local image\n"
    },
    {
      "commit": "a0d97b3f44057af8dce07a2ed78184627f40c720",
      "tree": "bdb61574ffffae7cc6e9c1de5047dbb7379589b1",
      "parents": [
        "f0b7ab3fe6a7b993174c83b7ae2754808aabcdfe",
        "5c5daa09492092e87dc697ed9e25c295c1913bb3"
      ],
      "author": {
        "name": "Michele Sciabarra",
        "email": "30654959+sciabarracom@users.noreply.github.com",
        "time": "Thu Mar 19 21:19:18 2026 +0000"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Mar 19 21:19:18 2026 +0000"
      },
      "message": "Merge pull request #5 from nuvolaris/test/k3s-traefik-crd\n\nUpdate Traefik API version"
    },
    {
      "commit": "5c5daa09492092e87dc697ed9e25c295c1913bb3",
      "tree": "bdb61574ffffae7cc6e9c1de5047dbb7379589b1",
      "parents": [
        "58608a8dd749789860a33fcfc4684d475f204cd1"
      ],
      "author": {
        "name": "miki3421",
        "email": "miki3421@gmail.com",
        "time": "Thu Mar 19 21:56:15 2026 +0100"
      },
      "committer": {
        "name": "miki3421",
        "email": "miki3421@gmail.com",
        "time": "Thu Mar 19 22:16:24 2026 +0100"
      },
      "message": "Harden in-cluster operator authentication\n"
    },
    {
      "commit": "58608a8dd749789860a33fcfc4684d475f204cd1",
      "tree": "45ac3de035910272347124740f4534eb2d1950d7",
      "parents": [
        "0218fd82ec2566804ce35a3b1ae0ecea7c77277d"
      ],
      "author": {
        "name": "miki3421",
        "email": "miki3421@gmail.com",
        "time": "Thu Mar 19 21:24:11 2026 +0100"
      },
      "committer": {
        "name": "miki3421",
        "email": "miki3421@gmail.com",
        "time": "Thu Mar 19 22:16:24 2026 +0100"
      },
      "message": "Rerun with k3s slim profile suite\n"
    },
    {
      "commit": "0218fd82ec2566804ce35a3b1ae0ecea7c77277d",
      "tree": "45ac3de035910272347124740f4534eb2d1950d7",
      "parents": [
        "7030060d78fe9f24fc1e8bf0c17e5714e4709631"
      ],
      "author": {
        "name": "miki3421",
        "email": "miki3421@gmail.com",
        "time": "Thu Mar 19 21:02:09 2026 +0100"
      },
      "committer": {
        "name": "miki3421",
        "email": "miki3421@gmail.com",
        "time": "Thu Mar 19 22:16:24 2026 +0100"
      },
      "message": "Update k3s cluster RBAC for Traefik middleware API\n"
    },
    {
      "commit": "7030060d78fe9f24fc1e8bf0c17e5714e4709631",
      "tree": "e3d9b525729e7bddb91f55bd3bc1831a3b0590eb",
      "parents": [
        "34a166fc518d0a4929badf22d67157112f37a324"
      ],
      "author": {
        "name": "miki3421",
        "email": "miki3421@gmail.com",
        "time": "Thu Mar 19 20:49:48 2026 +0100"
      },
      "committer": {
        "name": "miki3421",
        "email": "miki3421@gmail.com",
        "time": "Thu Mar 19 22:16:24 2026 +0100"
      },
      "message": "Rerun with slim k3s setup\n"
    },
    {
      "commit": "34a166fc518d0a4929badf22d67157112f37a324",
      "tree": "e3d9b525729e7bddb91f55bd3bc1831a3b0590eb",
      "parents": [
        "ed67cbbd482b5fd8bbd2758f67344e35a361e046"
      ],
      "author": {
        "name": "miki3421",
        "email": "miki3421@gmail.com",
        "time": "Thu Mar 19 19:24:04 2026 +0100"
      },
      "committer": {
        "name": "miki3421",
        "email": "miki3421@gmail.com",
        "time": "Thu Mar 19 22:16:24 2026 +0100"
      },
      "message": "Rerun with corrected k3s flow\n"
    },
    {
      "commit": "ed67cbbd482b5fd8bbd2758f67344e35a361e046",
      "tree": "e3d9b525729e7bddb91f55bd3bc1831a3b0590eb",
      "parents": [
        "c8b4648612a2039db8f8aa3d89af2d3333778d75"
      ],
      "author": {
        "name": "miki3421",
        "email": "miki3421@gmail.com",
        "time": "Thu Mar 19 19:07:08 2026 +0100"
      },
      "committer": {
        "name": "miki3421",
        "email": "miki3421@gmail.com",
        "time": "Thu Mar 19 22:16:24 2026 +0100"
      },
      "message": "Rerun with ops trace logging\n"
    },
    {
      "commit": "c8b4648612a2039db8f8aa3d89af2d3333778d75",
      "tree": "e3d9b525729e7bddb91f55bd3bc1831a3b0590eb",
      "parents": [
        "8212d1f28cdcb74948022c690c9f90e2987de2e4"
      ],
      "author": {
        "name": "miki3421",
        "email": "miki3421@gmail.com",
        "time": "Thu Mar 19 18:55:25 2026 +0100"
      },
      "committer": {
        "name": "miki3421",
        "email": "miki3421@gmail.com",
        "time": "Thu Mar 19 22:16:24 2026 +0100"
      },
      "message": "Use PR operator image for runtime jobs\n"
    },
    {
      "commit": "8212d1f28cdcb74948022c690c9f90e2987de2e4",
      "tree": "ca0b8f51ce06e0c4409b888ebedcf258affb93f0",
      "parents": [
        "c3861a95d64e3877fdb9c3611460e15095fd68c4"
      ],
      "author": {
        "name": "miki3421",
        "email": "msciabarra@apache.org",
        "time": "Thu Mar 19 18:36:32 2026 +0100"
      },
      "committer": {
        "name": "miki3421",
        "email": "miki3421@gmail.com",
        "time": "Thu Mar 19 22:16:24 2026 +0100"
      },
      "message": "Rerun after GitHub test runner fix\n"
    },
    {
      "commit": "c3861a95d64e3877fdb9c3611460e15095fd68c4",
      "tree": "ca0b8f51ce06e0c4409b888ebedcf258affb93f0",
      "parents": [
        "8800ddb220265c289dfc93edefa6933bc667409b"
      ],
      "author": {
        "name": "miki3421",
        "email": "msciabarra@apache.org",
        "time": "Thu Mar 19 18:22:01 2026 +0100"
      },
      "committer": {
        "name": "miki3421",
        "email": "miki3421@gmail.com",
        "time": "Thu Mar 19 22:16:24 2026 +0100"
      },
      "message": "Rerun k3s-amd tests\n"
    },
    {
      "commit": "8800ddb220265c289dfc93edefa6933bc667409b",
      "tree": "ca0b8f51ce06e0c4409b888ebedcf258affb93f0",
      "parents": [
        "35d999e1ab9bd434eb5b9d5755c098ad93f7bd6d"
      ],
      "author": {
        "name": "miki3421",
        "email": "msciabarra@apache.org",
        "time": "Thu Mar 19 17:33:32 2026 +0100"
      },
      "committer": {
        "name": "miki3421",
        "email": "miki3421@gmail.com",
        "time": "Thu Mar 19 22:16:24 2026 +0100"
      },
      "message": "Use tunnel-capable task submodule for k3s tests\n"
    },
    {
      "commit": "35d999e1ab9bd434eb5b9d5755c098ad93f7bd6d",
      "tree": "8a4ebad0bfdcd9edfd327733eb660cdcae42c6b2",
      "parents": [
        "f0b7ab3fe6a7b993174c83b7ae2754808aabcdfe"
      ],
      "author": {
        "name": "miki3421",
        "email": "msciabarra@apache.org",
        "time": "Wed Mar 18 22:02:20 2026 +0100"
      },
      "committer": {
        "name": "miki3421",
        "email": "miki3421@gmail.com",
        "time": "Thu Mar 19 22:16:24 2026 +0100"
      },
      "message": "Update Traefik API version\n\nThe previous API version has been deprecated. Update the manifests with the new version.\n"
    },
    {
      "commit": "f0b7ab3fe6a7b993174c83b7ae2754808aabcdfe",
      "tree": "5d5a2615be0461377829c1d12656edaed4f2b891",
      "parents": [
        "ddd68efd973bca422f240e27ec458f9a89c2f5fc",
        "eea534a35a6d1334644b6c11fc6cbbd1322d4ec9"
      ],
      "author": {
        "name": "Michele Sciabarra",
        "email": "30654959+sciabarracom@users.noreply.github.com",
        "time": "Thu Mar 19 21:02:38 2026 +0000"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Mar 19 21:02:38 2026 +0000"
      },
      "message": "Merge branch \u0027apache:main\u0027 into main\n"
    },
    {
      "commit": "eea534a35a6d1334644b6c11fc6cbbd1322d4ec9",
      "tree": "dc8ed14044fd6d27c1a8d8c75e2a37962f5320b7",
      "parents": [
        "baf6d9755c0e706ba8a3c492842745f27ba1912a",
        "fa6d75646b83b1a330f58936bee777d8a6f8d262"
      ],
      "author": {
        "name": "Michele Sciabarra",
        "email": "30654959+sciabarracom@users.noreply.github.com",
        "time": "Wed Mar 18 21:19:24 2026 +0000"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Mar 18 21:19:24 2026 +0000"
      },
      "message": "Merge pull request #93 from miki3421/release/apache-kube-rbac-proxy-registry\n\nUse registry.k8s.io kube-rbac-proxy image"
    },
    {
      "commit": "fa6d75646b83b1a330f58936bee777d8a6f8d262",
      "tree": "dc8ed14044fd6d27c1a8d8c75e2a37962f5320b7",
      "parents": [
        "baf6d9755c0e706ba8a3c492842745f27ba1912a"
      ],
      "author": {
        "name": "miki3421",
        "email": "msciabarra@apache.org",
        "time": "Wed Mar 18 21:16:42 2026 +0100"
      },
      "committer": {
        "name": "miki3421",
        "email": "msciabarra@apache.org",
        "time": "Wed Mar 18 21:16:42 2026 +0100"
      },
      "message": "Use registry.k8s.io kube-rbac-proxy image\n"
    },
    {
      "commit": "ddd68efd973bca422f240e27ec458f9a89c2f5fc",
      "tree": "5d5a2615be0461377829c1d12656edaed4f2b891",
      "parents": [
        "23c57ab4755f3c095d9411656313d8d85c36e5c0",
        "721f1286811a3bfde58fdf9847f855be0a1e6006"
      ],
      "author": {
        "name": "miki3421",
        "email": "42601846+miki3421@users.noreply.github.com",
        "time": "Wed Mar 18 21:15:20 2026 +0100"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Mar 18 21:15:20 2026 +0100"
      },
      "message": "Merge pull request #4 from nuvolaris/test/kind-amd-kube-rbac-proxy-registry\n\nUse registry.k8s.io kube-rbac-proxy image"
    },
    {
      "commit": "721f1286811a3bfde58fdf9847f855be0a1e6006",
      "tree": "5d5a2615be0461377829c1d12656edaed4f2b891",
      "parents": [
        "23c57ab4755f3c095d9411656313d8d85c36e5c0"
      ],
      "author": {
        "name": "miki3421",
        "email": "miki3421@gmail.com",
        "time": "Wed Mar 18 18:05:17 2026 +0100"
      },
      "committer": {
        "name": "miki3421",
        "email": "miki3421@gmail.com",
        "time": "Wed Mar 18 18:05:17 2026 +0100"
      },
      "message": "Use registry.k8s.io kube-rbac-proxy image\n"
    },
    {
      "commit": "23c57ab4755f3c095d9411656313d8d85c36e5c0",
      "tree": "aebbde80072cedb6f7119bba7fdae92071a12b4f",
      "parents": [
        "baf6d9755c0e706ba8a3c492842745f27ba1912a",
        "aea19dd4a141ea6af7e60b5e40ea6f30fe4fa160"
      ],
      "author": {
        "name": "miki3421",
        "email": "miki3421@gmail.com",
        "time": "Wed Mar 18 17:43:22 2026 +0100"
      },
      "committer": {
        "name": "miki3421",
        "email": "miki3421@gmail.com",
        "time": "Wed Mar 18 17:43:22 2026 +0100"
      },
      "message": "Merge branch \u0027feat/pr-tag-platform-arch-testing\u0027\n"
    }
  ],
  "next": "aea19dd4a141ea6af7e60b5e40ea6f30fe4fa160"
}
