)]}'
{
  "log": [
    {
      "commit": "b9710a7b0319ace41dd3c4ff5fb1165f53ee538e",
      "tree": "9f022f522fc4bed97358c5b00bcb316e1d6c331a",
      "parents": [
        "f8e7abf9b18766a03fc8d217164b3e07c8716dfa"
      ],
      "author": {
        "name": "legendpei",
        "email": "804141866@qq.com",
        "time": "Tue Jul 28 21:12:26 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Jul 28 21:12:26 2026 +0800"
      },
      "message": "fix(server): handle repeated range predicates correctly (#3122)"
    },
    {
      "commit": "f8e7abf9b18766a03fc8d217164b3e07c8716dfa",
      "tree": "22aa4725733171a9959213c52faed04272a34715",
      "parents": [
        "c10779dc6d8c4537a5bbbeb862b9e09d34004ba8"
      ],
      "author": {
        "name": "legendpei",
        "email": "804141866@qq.com",
        "time": "Mon Jul 27 17:39:54 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Jul 27 17:39:54 2026 +0800"
      },
      "message": "chore(server): remove outdated backends code (#3116)\n\nRemove the backend implementations that have been unsupported since 1.7.0, and\nclean up their related build, distribution, test, release, and documentation\nartifacts.\n\n- retain the server and backend component boxes in the ASCII diagram\n- show HugeGraph-PD and HStore as separate distributed components\n- keep removed legacy backends out of the current topology\n\n---------\n\nCo-authored-by: imbajin \u003cjin@apache.org\u003e"
    },
    {
      "commit": "c10779dc6d8c4537a5bbbeb862b9e09d34004ba8",
      "tree": "a7e4811627a9514b02fe30afc63ed3675c26a422",
      "parents": [
        "e960cc5ec202ab608f8845b4617480fbd672f4a8"
      ],
      "author": {
        "name": "Sean",
        "email": "2579935313@qq.com",
        "time": "Sat Jul 25 13:45:19 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sat Jul 25 13:45:19 2026 +0800"
      },
      "message": "feat(server): support build \u0026 use(RocksDB) on RISC-V (#3102)\n\n- Address the HugeGraph Server + RocksDB `linux/riscv64` build and minimum runtime\n  support tracked by #3099.\n- Keep the change isolated from the existing Docker image design and from the JDK,\n  build, and test paths used by other architectures.\n\n---------\n\nCo-authored-by: Sean \u003csean@SeandeMacBook-Pro.local\u003e"
    },
    {
      "commit": "e960cc5ec202ab608f8845b4617480fbd672f4a8",
      "tree": "f92b0cc6036f1c1b7c18614f56ca1a7fec99112f",
      "parents": [
        "89b648a7f9a7f6c8d202bb199d3c2442d8d511f9"
      ],
      "author": {
        "name": "lokidundun",
        "email": "loki16@qq.com",
        "time": "Thu Jul 23 11:21:24 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Jul 23 11:21:24 2026 +0800"
      },
      "message": "fix(server): skip unsafe count optm for nested predicates (#3100)"
    },
    {
      "commit": "89b648a7f9a7f6c8d202bb199d3c2442d8d511f9",
      "tree": "8399adc74fad26d0fbd018bc8137b98d29ae0cf6",
      "parents": [
        "a80291223cc696ecb8d6696e64fd57fd1c90b9f0"
      ],
      "author": {
        "name": "imbajin",
        "email": "jin@apache.org",
        "time": "Tue Jul 21 14:37:33 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Jul 21 14:37:33 2026 +0800"
      },
      "message": "feat: support secure Hubble monitoring targets (#3096)\n\nProvide the minimum Server/PD compatibility and security boundary needed by Hubble native\nmonitoring and GraphSpace administration. Matching Hubble work:\nhttps://github.com/apache/hugegraph-toolchain/pull/743"
    },
    {
      "commit": "a80291223cc696ecb8d6696e64fd57fd1c90b9f0",
      "tree": "be7383f0f0056007201fdb35866d1ee494597e78",
      "parents": [
        "74e439fbbcd8292951e402e7cec1ef741a1670b4"
      ],
      "author": {
        "name": "imbajin",
        "email": "jin@apache.org",
        "time": "Sun Jul 12 21:36:10 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sun Jul 12 21:36:10 2026 +0800"
      },
      "message": "perf(docker): build Java artifacts natively (#3092)\n\n- bind Maven build stages to BUILDPLATFORM\n- keep all runtime stages target-platform specific\n- avoid emulated Maven builds for ARM images\n- cover PD, Store, standalone, and HStore images"
    },
    {
      "commit": "74e439fbbcd8292951e402e7cec1ef741a1670b4",
      "tree": "a70c72d5119d562df088e9efd52b6fabad365f90",
      "parents": [
        "99936be5f41fccd193f120e01206e3cf3c73a050"
      ],
      "author": {
        "name": "Dev Hingu",
        "email": "dev.hingu.work@gmail.com",
        "time": "Sun Jul 12 17:57:09 2026 +0530"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sun Jul 12 20:27:09 2026 +0800"
      },
      "message": "chore(commons): remove redundant version property (#3089)\n\n* fix(deps): remove redundant hugegraph-commons.version property\n\n* fix(deps): update stale reference of hugegraph-commons.version"
    },
    {
      "commit": "99936be5f41fccd193f120e01206e3cf3c73a050",
      "tree": "a5d4a643d9f5ae10ce3f1c5e6d34218b74b72c91",
      "parents": [
        "2d638042064b28dcbe6fe7cc39176c09d740fe5c"
      ],
      "author": {
        "name": "Yeaury",
        "email": "yeaury@qq.com",
        "time": "Sat Jul 11 02:52:37 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sat Jul 11 02:52:37 2026 +0800"
      },
      "message": "feat(server): adapt Hubble 2.0 \u0026 add graph/role management (#3008)\n\nMain Changes\nGraph management (GraphsAPI.java)\nGraphSpace and default-role APIs (GraphSpaceAPI.java)\nGraphSpace managers (ManagerAPI.java)\nSchema templates (SchemaTemplateAPI.java)\nAuthentication and graph metadata support\n\n---------\n\nCo-authored-by: imbajin \u003cjin@apache.org\u003e"
    },
    {
      "commit": "2d638042064b28dcbe6fe7cc39176c09d740fe5c",
      "tree": "dd9d9ad7c5daca83e14479928698f87f723445d0",
      "parents": [
        "03e6b8e9efbd62f1374fc926edef681ef07a1b4d"
      ],
      "author": {
        "name": "Tsukilc",
        "email": "zbj5816@gmail.com",
        "time": "Wed Jul 08 13:03:56 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Jul 08 13:03:56 2026 +0800"
      },
      "message": "refactor(server): disable legacy master-worker scheduler logic (#3082)\n\nThis PR soft-disables the pre-PD master-worker task scheduling path while keeping old configs and task data upgrade-safe. Scheduler selection is now backend-driven: `hstore` uses `DistributedTaskScheduler`, and other backends use the local `StandardTaskScheduler`.\n\n---------\n\nCo-authored-by: Himanshu Verma \u003chimnshuverma10152006@gmail.com\u003e\nCo-authored-by: imbajin \u003cjin@apache.org\u003e"
    },
    {
      "commit": "03e6b8e9efbd62f1374fc926edef681ef07a1b4d",
      "tree": "002acdd0e134679d0562cad06ca502a5f62f6b60",
      "parents": [
        "86e0a66fd971d6b5a2f49bfdc1b187dded0c5e6b"
      ],
      "author": {
        "name": "legendpei",
        "email": "804141866@qq.com",
        "time": "Mon Jun 29 12:56:27 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Jun 29 12:56:27 2026 +0800"
      },
      "message": "fix(core): keep unsafe range filters local (#3068)"
    },
    {
      "commit": "86e0a66fd971d6b5a2f49bfdc1b187dded0c5e6b",
      "tree": "d9a20c7b1f4c0a2308084080e94cac2576cadf3d",
      "parents": [
        "398a5edc953b6381d9b73001eacbac8e71e38d7e"
      ],
      "author": {
        "name": "contrueCT",
        "email": "contrue_CT@outlook.com",
        "time": "Tue Jun 23 19:44:53 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Jun 23 19:44:53 2026 +0800"
      },
      "message": "chore(ci): add gremlin-console smoke test (#3040)"
    },
    {
      "commit": "398a5edc953b6381d9b73001eacbac8e71e38d7e",
      "tree": "dcb481206e5b0981afe3dbb9e413bb548600b953",
      "parents": [
        "63c97ff93ff83ae005cad0654f961b250aab3cbc"
      ],
      "author": {
        "name": "Davide Polato",
        "email": "dpol1@apache.org",
        "time": "Tue Jun 23 13:43:04 2026 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Jun 23 19:43:04 2026 +0800"
      },
      "message": "  fix(core): self-heal etcd meta watch on transport reconnect (#3062)\n\nEtcdMetaDriver.listen/listenPrefix handed jetcd a bare Consumer\u003cWatchResponse\u003e,\nso a terminal watch error (e.g. after a transport reconnect) was swallowed and\nthe JVM-global schema-cache-clear listener died silently: a node stopped\nreceiving cross-node cache-clear events with no error or warning.\n\nSwitch to the Watch.Listener overload and re-subscribe on onError/onCompleted\nvia a daemon-backed backoff, mirroring the self-heal PdMetaDriver already gets\nfrom KvClient. The driver watch now stays live across reconnects, so\nCachedSchemaTransactionV2\u0027s register-once flag staying true is correct; the\nunused resetMetaListenerForReconnect stopgap and its TODO are removed."
    },
    {
      "commit": "63c97ff93ff83ae005cad0654f961b250aab3cbc",
      "tree": "21472c97626a0da3f8d3e3aca87e15a665a81a69",
      "parents": [
        "c3f56b5e9f26dddab7201da9a14ecd9d8c869eb2"
      ],
      "author": {
        "name": "contrueCT",
        "email": "contrue_CT@outlook.com",
        "time": "Sun Jun 21 20:27:45 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sun Jun 21 20:27:45 2026 +0800"
      },
      "message": "fix(server): avoid loading huge task results for metadata queries (#3060)"
    },
    {
      "commit": "c3f56b5e9f26dddab7201da9a14ecd9d8c869eb2",
      "tree": "dc7480ce82d2e520f947c5f972bf4c4846d89b43",
      "parents": [
        "5ddeb0331cae92e63266de21a4e35552e5b36fa3"
      ],
      "author": {
        "name": "Davide Polato",
        "email": "dpol1@apache.org",
        "time": "Wed Jun 17 06:39:35 2026 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Jun 17 12:39:35 2026 +0800"
      },
      "message": "fix(core): ref-count store event listener to fix owner-first close leak (#3058)\n\nstoreEventListenStatus had the same owner-first-close bug #3017 fixed for\ngraph cache listeners: non-owner close() dropped the entry and skipped\nunlisten() as a no-op, leaking the owner\u0027s listener.\n\nApply CacheListenerHolder ref-count pattern: StoreListenerHolder +\nSTORE_EVENT_LISTENERS in CachedGraphTransaction, acquire/release via\ncompute() with provider-identity guard for close/reopen.\n\nRemoves storeEventListenStatus from GraphTransaction and\nrestoreStoreListenerStatusForKnownTeardownBug workaround from tests.\nCachedSchemaTransaction* unaffected (per-instance, balanced 1:1)."
    },
    {
      "commit": "5ddeb0331cae92e63266de21a4e35552e5b36fa3",
      "tree": "94d473000e0279b6da24ee2751f6e33f68395e4a",
      "parents": [
        "ef5d4e0b4539ec2ace955e473a90787c9c49e691"
      ],
      "author": {
        "name": "legendpei",
        "email": "804141866@qq.com",
        "time": "Mon Jun 15 14:01:10 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Jun 15 14:01:10 2026 +0800"
      },
      "message": "feat(server) : make buffer max capacity configurable (#3049)\n\nMove BytesBuffer.initMaxBufferCapacity() and other process-wide static\nconfig initializations before LockUtil.init() so that validation failures\n(e.g. invalid or conflicting serializer.buffer_max_capacity) cannot leave\norphaned lock groups in LockManager, which would block subsequent graph\nload attempts without a process restart.\n\n🤖 Generated with [Qoder][https://qoder.com]"
    },
    {
      "commit": "ef5d4e0b4539ec2ace955e473a90787c9c49e691",
      "tree": "f15746b39ea64322dedb1c6e60daf450eca69130",
      "parents": [
        "0ecd844d9e0d25163a71439583897fdae580f80b"
      ],
      "author": {
        "name": "KAI",
        "email": "himnshuverma10152006@gmail.com",
        "time": "Tue Jun 09 15:54:21 2026 +0530"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Jun 09 18:24:21 2026 +0800"
      },
      "message": "docs: document -d flag and Docker process supervision model (#3056)\n\n- Add -d true|false option to PD and Store startup options sections\n  (default: true \u003d daemon; false \u003d foreground for Docker/supervisors)\n- Add section to docker/README.md explaining HEALTHCHECK endpoints\n  and the Java process supervision model (replaces old cron monitor)\n\nChunk 10 of #3043."
    },
    {
      "commit": "0ecd844d9e0d25163a71439583897fdae580f80b",
      "tree": "387f55a118522134b53a9a3bf86ba843269b996a",
      "parents": [
        "39dfb2da5c542484e9e7853f04abb3b1a1cb6de6"
      ],
      "author": {
        "name": "KAI",
        "email": "himnshuverma10152006@gmail.com",
        "time": "Tue Jun 09 14:43:02 2026 +0530"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Jun 09 17:13:02 2026 +0800"
      },
      "message": "chore(ci): exit 77 when tools missing to distinguish skip from pass (#3055)\n\nAll three startup test scripts previously exited 0 when required tools\n(lsof, curl, java) were not found. This is indistinguishable from a\npassing test run — CI shows green even though no tests ran.\n\nChange skip exits to 77 (conventional skip code) and update the CI\nworkflow steps to treat exit 77 as a visible skip notice rather than\na failure.\n\nFlagged as non-blocking follow-up in reviews of #3044 and #3047.\nRelated to: #3043"
    },
    {
      "commit": "39dfb2da5c542484e9e7853f04abb3b1a1cb6de6",
      "tree": "51765c7cc2e091bcd7889b086e52d61a2d5731ec",
      "parents": [
        "42c039d695c156c5c9e750d24ac24387a19eaa61"
      ],
      "author": {
        "name": "Vaibhav Joshi",
        "email": "vjoshi@cloudera.com",
        "time": "Mon Jun 08 08:20:48 2026 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Jun 08 14:20:48 2026 +0800"
      },
      "message": "fix: gremlin-console.sh fails on Mac M/ARM CPU #3050\n\n* fix [Bug]: gremlin-console.sh fails on Mac M4 (Apple Silicon)#3031\n\nAdded org.fusesource.jansi:jansi:2.4.0 as a runtime dependency in\n`hugegraph-server/hugegraph-dist/pom.xml` to prevent\nNoClassDefFoundError: org/fusesource/jansi/AnsiConsole when launching gremlin-console."
    },
    {
      "commit": "42c039d695c156c5c9e750d24ac24387a19eaa61",
      "tree": "c1714d1ae111afc042a56b4f3da15dbab639ff04",
      "parents": [
        "fc226637e986d325b2fc6b43c4b8b7895aab8a48"
      ],
      "author": {
        "name": "contrueCT",
        "email": "contrue_CT@outlook.com",
        "time": "Mon Jun 08 12:38:15 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Jun 08 12:38:15 2026 +0800"
      },
      "message": "fix(core): align count strategy connective steps (#3037)"
    },
    {
      "commit": "fc226637e986d325b2fc6b43c4b8b7895aab8a48",
      "tree": "f969c5d567d5303e017041b9418786fb7c6328f6",
      "parents": [
        "817887dcce88395dc04342fb9be3a38cf1f86191"
      ],
      "author": {
        "name": "KAI",
        "email": "himnshuverma10152006@gmail.com",
        "time": "Mon Jun 08 08:46:30 2026 +0530"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Jun 08 11:16:30 2026 +0800"
      },
      "message": "chore(docker): add HEALTHCHECK \u0026 clean Dockerfiles (#3052)\n\nWithout HEALTHCHECK, docker ps always shows \u0027Up\u0027 even when Java has\ncrashed inside the container. Add HEALTHCHECK to all three Dockerfiles:\n- Server: curl http://localhost:8080/versions\n- PD:     curl http://localhost:8620/v1/health\n- Store:  curl http://localhost:8520/v1/health\n\nFallback: if HTTP is not yet up but Java is alive (kill -0 on pid file),\nreport healthy. Avoids false unhealthy during startup.\n\nRemove cron: Docker containers use foreground mode (-d false) after the\nentrypoint fix. The cron-based monitor is for VM/bare-metal only and is\nnever started in Docker — removing it shrinks the image and reduces\nattack surface.\n\nEndpoints match what is already used in docker/docker-compose.yml.\n\nRelated to: #3043"
    },
    {
      "commit": "817887dcce88395dc04342fb9be3a38cf1f86191",
      "tree": "c93dbe32be4f1bddbd4d54873244c81ee96f7ba0",
      "parents": [
        "1f61c4839aaee09063f4a6ee17d831dc542fbe9d"
      ],
      "author": {
        "name": "KAI",
        "email": "himnshuverma10152006@gmail.com",
        "time": "Mon Jun 08 08:44:19 2026 +0530"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Jun 08 11:14:19 2026 +0800"
      },
      "message": "fix(docker): supervise Java process in entrypoints instead of tail -f /dev/null (#3051)\n\nProblem: all three docker-entrypoint.sh files used tail -f /dev/null to\nkeep the container alive. When Java crashed, tail kept running and the\ncontainer stayed up with no Java inside — Docker restart policy never fired.\n\nVerified locally: kill -9 Java inside running container -\u003e container\nexits -\u003e Docker restarts it automatically (tested 3 times for server,\nPD restart loop confirmed for pd)."
    },
    {
      "commit": "1f61c4839aaee09063f4a6ee17d831dc542fbe9d",
      "tree": "8dc29ce4eb5382a7b861183bd8d3eeba16cf1bbb",
      "parents": [
        "16382ccfbd4ea871c8560bc622539060d4661a5e"
      ],
      "author": {
        "name": "lokidundun",
        "email": "loki16@qq.com",
        "time": "Fri Jun 05 11:13:49 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Jun 05 11:13:49 2026 +0800"
      },
      "message": "refactor(server): optimize rockdb batch query perf (#2982)\n\n* optimize: Optimize RocksDB batch query performance\n\n* Refactor getByIds to queryByIds in RocksDBTable\n\n* Modify queryByIds to use super method temporarily\n\nTemporarily use super.queryByIds() instead of getByIds() for batch version support.\n\n---------\n\nCo-authored-by: copilot-swe-agent[bot] \u003c198982749+Copilot@users.noreply.github.com\u003e"
    },
    {
      "commit": "16382ccfbd4ea871c8560bc622539060d4661a5e",
      "tree": "ba292c68d1fe6e69103a8fb02c55ca1322645334",
      "parents": [
        "7f0a44adc0bd8f7445a4ac357633e967955c845c"
      ],
      "author": {
        "name": "KAI",
        "email": "himnshuverma10152006@gmail.com",
        "time": "Thu Jun 04 18:55:42 2026 +0530"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Jun 04 21:25:42 2026 +0800"
      },
      "message": "fix(pd,store): fg mode exit code propagation in startup scripts (#3047)\n\nIn foreground mode (-d false), start-hugegraph-pd.sh had no foreground\nbranch — the script always backgrounded Java with exec ... \u0026, wrote $!\nto the pid file, and exited 0, losing Java\u0027s exit code entirely.\n\nFix: add DAEMON\u003d\"true\" default and -d flag to getopts. In the daemon\nbranch, keep the existing exec ... \u0026 pattern. In the foreground branch,\nwrite $$ to the pid file before exec (exec replaces the shell with Java,\nso $$ \u003d\u003d Java\u0027s PID after exec), then exec java without \u0026 so the process\nblocks and Java\u0027s exit code propagates out directly.\n\nNo trap needed in the foreground branch — exec replaces the shell\nprocess with Java, so signals from Docker/systemd go directly to Java\nwithout a wrapper to forward through.\n\nAdd test-start-hugegraph-pd.sh with 4 tests (daemon regression,\nforeground blocking, exit code propagation on SIGKILL, SIGTERM\nforwarding via exec) — 12 assertions, all pass after the fix.\n\nBaseline on unmodified code: 3 passed, 9 failed.\nAfter fix: 12 passed, 0 failed.\n\nWire test into pd-store-ci.yml for the RocksDB backend.\n\nRelated to: #3043"
    },
    {
      "commit": "7f0a44adc0bd8f7445a4ac357633e967955c845c",
      "tree": "de7856b93c292481877374a959d65b199fa042c9",
      "parents": [
        "d6e62162224234b0ae7ec480bca7159e2a13d1d1"
      ],
      "author": {
        "name": "legendpei",
        "email": "804141866@qq.com",
        "time": "Thu Jun 04 17:50:07 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Jun 04 17:50:07 2026 +0800"
      },
      "message": "fix(server): handle match() in no index case (#3039)"
    },
    {
      "commit": "d6e62162224234b0ae7ec480bca7159e2a13d1d1",
      "tree": "de5c01ea1aa1264486412f936f6b3bf9ca1829cc",
      "parents": [
        "34058328005502b19bce4f541df510da344b3f43"
      ],
      "author": {
        "name": "KAI",
        "email": "himnshuverma10152006@gmail.com",
        "time": "Wed Jun 03 19:12:36 2026 +0530"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Jun 03 21:42:36 2026 +0800"
      },
      "message": "fix(server): fix foreground mode exit code propagation in startup scripts (#3044)\n\nThe previous implementation captured $! after the daemon/foreground\nif/else block. The script blocked at hugegraph-server.sh until Java\nexited, then $! was empty, the pid file got an empty string, and the\nscript exited 0, losing Java\u0027s exit code entirely."
    },
    {
      "commit": "34058328005502b19bce4f541df510da344b3f43",
      "tree": "60e10f309d077b689ae45fcf438d667020faea7a",
      "parents": [
        "a49bf667a9231833b576c4f5dbf6695838446862"
      ],
      "author": {
        "name": "Davide Polato",
        "email": "dpol1@apache.org",
        "time": "Wed Jun 03 09:31:26 2026 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Jun 03 21:31:26 2026 +0800"
      },
      "message": "fix(server): normalize typed DEFAULT_VALUE after JSON reload (#3035)\n\nNormalizes PropertyKey default values to their declared data type upon retrieval. Previously, values stored in userdata could lose their original type during serialization and deserialization (e.g., Date becoming String), leading to type mismatches.\n\nThe `defaultValue()` method now converts deserialized string representations back to their expected runtime types. This change is verified with extensive tests covering schema parsing, vertex property assignment, and both binary and text serializers."
    },
    {
      "commit": "a49bf667a9231833b576c4f5dbf6695838446862",
      "tree": "b7284b6e79418c4c57f723d3a444fb8e2cd55d93",
      "parents": [
        "beb30eee6278d69bb531f532d47508458d797e6b"
      ],
      "author": {
        "name": "Vaibhav Joshi",
        "email": "vjoshi@cloudera.com",
        "time": "Wed Jun 03 15:18:24 2026 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Jun 03 21:18:24 2026 +0800"
      },
      "message": "docs(server): add Docker with HBase validation runbook"
    },
    {
      "commit": "beb30eee6278d69bb531f532d47508458d797e6b",
      "tree": "ce44e641c699d4295cc6f5dfe5659446faba8974",
      "parents": [
        "b9a3dd9d9958df0e10a814573fbe18a0a6838366"
      ],
      "author": {
        "name": "legendpei",
        "email": "804141866@qq.com",
        "time": "Tue Jun 02 12:40:49 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Jun 02 12:40:49 2026 +0800"
      },
      "message": "fix(server): avoid extracting text range filters (#3034)"
    },
    {
      "commit": "b9a3dd9d9958df0e10a814573fbe18a0a6838366",
      "tree": "cccb4964ee6d81aa4d937df395d9aee7dada6a0a",
      "parents": [
        "31e826876046a3c91bc76087c3d21debaa1130a1"
      ],
      "author": {
        "name": "contrueCT",
        "email": "contrue_CT@outlook.com",
        "time": "Wed May 27 18:25:19 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed May 27 18:25:19 2026 +0800"
      },
      "message": "chore(ci): enable hugegraph-struct tests (#3038)"
    },
    {
      "commit": "31e826876046a3c91bc76087c3d21debaa1130a1",
      "tree": "c0de131452ca6a0a6dbc7a87e5f3bf7bb5b6ab5b",
      "parents": [
        "f56462a14dd82944e91b210deb63ec704f768c73"
      ],
      "author": {
        "name": "Vaibhav Joshi",
        "email": "vjoshi@cloudera.com",
        "time": "Wed May 27 15:50:00 2026 +0530"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed May 27 18:20:00 2026 +0800"
      },
      "message": "docs: update \"Build from Source\" instructions in README (#3022)\n\n- Replace exploratory README steps with the actual packaged archive path\n- Use the version placeholder instead of hard-coded 1.7.0\n- Keep the PR focused on the source-build documentation fix\n\n---------\n\nCo-authored-by: imbajin \u003cjin@apache.org\u003e"
    },
    {
      "commit": "f56462a14dd82944e91b210deb63ec704f768c73",
      "tree": "b18bf9d2591d3644f46e9e59f2098ba836a2a2a3",
      "parents": [
        "454dd3d799c70ea899ab158e2153e4fb667cc3ad"
      ],
      "author": {
        "name": "Vaibhav Joshi",
        "email": "vjoshi@cloudera.com",
        "time": "Fri May 22 08:57:05 2026 +0530"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri May 22 11:27:05 2026 +0800"
      },
      "message": "feat(server): use HBase 2.6 to replace hbase-shaded \u0026 support docker-compose way (#3021)\n\n-Added hbase-shaded-client and hbase-endpoint dependencies instead of custom hbase-shaded-endpoint library.\n-Added docker files and HBASE.md containing instructions for HBase backend\n- Updated known-dependencies.txt to reflect the minimal allowlist.\nImproved pom.xml comments to document exclusion rationales and\naddressed automated review feedback regarding dependency management."
    },
    {
      "commit": "454dd3d799c70ea899ab158e2153e4fb667cc3ad",
      "tree": "93854877b2ffd8cdc358360bce13ef72a0935597",
      "parents": [
        "8d095e1d9901208f6cc03d3d5b06c975ec096e55"
      ],
      "author": {
        "name": "Davide Polato",
        "email": "dpol1@apache.org",
        "time": "Tue May 19 11:35:51 2026 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue May 19 17:35:51 2026 +0800"
      },
      "message": "fix(server): keep schema ~create_time as Date after reload (#3026)\n\nNormalize server-side schema ~create_time userdata in SchemaElement so serializer reloads and fromMap paths keep the Date contract.\n\nAdd SchemaElement, TextSerializer, and BinarySerializer coverage.\n\nThe builder accumulates userdata via Userdata.put() before eliminate()\nruns, so `.userdata(CREATE_TIME, \"\").eliminate()` parsed \"\" as a date\nand threw before the key-only removal path. Pass a blank ~create_time\nthrough unchanged; non-empty malformed values still throw on the add\npath, so the existing contract is unchanged."
    },
    {
      "commit": "8d095e1d9901208f6cc03d3d5b06c975ec096e55",
      "tree": "0c7fb824c11ce9b417be8561c02bcab027d83c32",
      "parents": [
        "66e5339e3a2e5d96e4d1e36e6ef0281ec3454625"
      ],
      "author": {
        "name": "KAI",
        "email": "himnshuverma10152006@gmail.com",
        "time": "Mon May 18 10:17:20 2026 +0530"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon May 18 12:47:20 2026 +0800"
      },
      "message": "perf(docker): improve all images build cache efficiency (#3025)\n\n- Fix .gitattribut -\u003e .gitattributes typo in .dockerignore\n- Fix **/*.tar.gz* -\u003e **/*.tar.gz (remove unintended trailing wildcard)\n- Remove **/target/dist/ (redundant, already covered by **/target/)\n- Restore cron to apt-get install in all 4 Dockerfiles to keep the\n  existing start-hugegraph.sh -m true monitor path working"
    },
    {
      "commit": "66e5339e3a2e5d96e4d1e36e6ef0281ec3454625",
      "tree": "a36b8d1ad2402b5dfc061164d9e5a21db0e37b28",
      "parents": [
        "f69ca66cd6c7e1e466cd6f3f28fc843b0ea64409"
      ],
      "author": {
        "name": "Soyaazz",
        "email": "523420504@qq.com",
        "time": "Sun May 17 11:54:28 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sun May 17 11:54:28 2026 +0800"
      },
      "message": "fix(server): different graph name share the same backend (#3027)\n\n## Main Changes\n\nChange `ServerInfoManager.selfNodeId()` which returns \"server-1\" previously to \"{graphname}/server-1\"\n\n## Upgrade impact\n\nThis change namespaces the server id by graph name, so old unfinished tasks in the non-PD local scheduler may still reference the previous bare server id, for example `server-1`.\n\nThose historical tasks can remain visible, but they may not be restored or cancelled by the new namespaced server id after upgrade. The impact is limited to unfinished local-scheduler tasks that already existed before upgrading; newly scheduled tasks use the new namespaced id. To avoid this compatibility edge case, finish or cancel pending local tasks before upgrading."
    },
    {
      "commit": "f69ca66cd6c7e1e466cd6f3f28fc843b0ea64409",
      "tree": "a66c78a42033a1acd1a56df8f3380255dd85397a",
      "parents": [
        "e108076aca60c06735fc1b315a4dd6c15f7562c1"
      ],
      "author": {
        "name": "Davide Polato",
        "email": "dpol1@apache.org",
        "time": "Fri May 15 05:25:33 2026 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri May 15 11:25:33 2026 +0800"
      },
      "message": "fix(server): align cache event actions in legacy EventHub path (#3017)\n\n- Align legacy cache invalidation producers and listeners on ACTION_INVALID and\n  ACTION_CLEAR, removing the obsolete ACTION_INVALIDED/ACTION_CLEARED constants.\n- Add EventHub.notifyExcept(...) so cache transactions and the cache notifier\n  bridge can avoid re-processing their own local listener while still delivering\n  events to other listeners.\n- Track registered graph/schema cache listeners per graph so notifyExcept(...)\n  uses the listener instance actually registered on the EventHub, including\n  multi-transaction cases where later transactions reuse the first listener.\n- Update cache notifier forwarding to prevent local RPC bridge loops after action\n  names are unified.\n- Add regression coverage for notifyExcept semantics, graph/schema action names,\n  listener teardown/re-registration, and notifier no-loop behavior.\n\n- The holder keeps the EventHub listener registered while any transaction for the\n  graph is alive, and unregisters/removes it only when the last transaction\n  releases it. The registry update, ref-count decrement, and hub unlisten now run\n  inside ConcurrentMap.compute() to avoid owner-closes-first invalidation gaps.\n\n  Also add graph/schema regression coverage for owner-first close and last-close\n  cleanup, including graph close/reopen handling for stale EventHub holders."
    },
    {
      "commit": "e108076aca60c06735fc1b315a4dd6c15f7562c1",
      "tree": "9f75643443fdad0c4d9199a54e6150ba361cb45d",
      "parents": [
        "de8781e18255aa05a3385af30e7883e75f5ca18e"
      ],
      "author": {
        "name": "contrueCT",
        "email": "contrue_CT@outlook.com",
        "time": "Sat May 09 15:23:52 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sat May 09 15:23:52 2026 +0800"
      },
      "message": "fix(server): normalize bool range predicates in gremlin filters (#2991)"
    },
    {
      "commit": "de8781e18255aa05a3385af30e7883e75f5ca18e",
      "tree": "cfae177d259dd28dae37dc6581aee66687cdfc5a",
      "parents": [
        "06c52e48d4ff33600ca5369058cb3fb00e2a4057"
      ],
      "author": {
        "name": "contrueCT",
        "email": "contrue_CT@outlook.com",
        "time": "Fri May 08 15:46:33 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri May 08 15:46:33 2026 +0800"
      },
      "message": "chore(ci): optimize rerun workflow and add macOS RocksDB coverage (#3010)\n\n- Resolve Travis helper directory to an absolute path\n- Use the script directory directly for JaCoCo agent lookup\n- Avoid nesting absolute paths under the repository root\n\n---------\n\nCo-authored-by: imbajin \u003cjin@apache.org\u003e"
    },
    {
      "commit": "06c52e48d4ff33600ca5369058cb3fb00e2a4057",
      "tree": "b2d634f77d2c2db8fe10ccc0f2e2721834d1281c",
      "parents": [
        "ee177a0f707ef2e9d4dcc4caf5e90e7ec378ac24"
      ],
      "author": {
        "name": "imbajin",
        "email": "jin@apache.org",
        "time": "Thu May 07 16:32:45 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu May 07 16:32:45 2026 +0800"
      },
      "message": "chore: update project memories with latest codebase state(1.8.0) (#2998)\n\n- Refresh all 8 memories to reflect current code (v1.7.0)\n- Remove all PR number references (derivable from git history)\n- Remove \"Key Recent Changes\" changelog section\n- Remove CI implementation details (rerun delay/count)\n- Describe current behavior as facts, not change events\n- Mark legacy backends as excluded from Serena context\n- Add GraphSpace, Swagger UI, TTL update, bridge networking info"
    },
    {
      "commit": "ee177a0f707ef2e9d4dcc4caf5e90e7ec378ac24",
      "tree": "bfa801cd5d0079a23aa1c4ae55447b2d99a056ac",
      "parents": [
        "836b34832b485df8b4cae02880a489ebc516cf6d"
      ],
      "author": {
        "name": "Davide Polato",
        "email": "davide.polato13@gmail.com",
        "time": "Wed May 06 14:59:36 2026 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed May 06 20:59:36 2026 +0800"
      },
      "message": "fix(server): sync hstore schema cache clears (#3011)\n\nRegister a JVM-wide MetaManager listener on CachedSchemaTransactionV2 so\nremote nodes clear their V2 schema-id/schema-name caches and the array\nattachment on schema add/remove. Events carry a per-JVM source id to skip\nself-echo; \n\nlegacy plain-string payloads still accepted for safe rolling\nupgrades. Status transitions no longer broadcast to avoid notify storms\nfrom background rebuild/remove jobs."
    },
    {
      "commit": "836b34832b485df8b4cae02880a489ebc516cf6d",
      "tree": "e8b765022c707d7c3a98719615e9334f0b622adf",
      "parents": [
        "68dd29b29b30215d47a595309d3d8f96ca4b010e"
      ],
      "author": {
        "name": "Davide Polato",
        "email": "davidepolato05@gmail.com",
        "time": "Sat Apr 25 22:13:06 2026 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sun Apr 26 04:13:06 2026 +0800"
      },
      "message": "fix(server): auto-recover session after Cassandra restart (#2997)\n\n- Reset driver session after each transient failure in executeWithRetry()\n  so retries reopen cleanly via lazy open()\n- Remove redundant finally block in reconnectIfNeeded(); null session\n  directly on DriverException\n- Store retryBaseDelay as field, reuse in open() (removes double-read)\n- One-time LOG.warn via AtomicBoolean for commitAsync() retry gap\n- Tighten defaults: max_delay 60s→10s, max_retries 10→3, interval 5s→1s\n- Wire retry config via HugeConfig in tests; add cross-validator tests"
    },
    {
      "commit": "68dd29b29b30215d47a595309d3d8f96ca4b010e",
      "tree": "aed6fbd1cbee59e5e8dbe1df72c2c964e706e58a",
      "parents": [
        "bcaa5f1ae5655dde3e73137c27cbd9c88e6c542f"
      ],
      "author": {
        "name": "contrueCT",
        "email": "contrue_CT@outlook.com",
        "time": "Sat Apr 25 16:02:49 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sat Apr 25 16:02:49 2026 +0800"
      },
      "message": "refactor(server): add logs for load-based request rejection (#2972)\n\n* fix(filter): enhance load detection logging and memory management\n* fix(api): refine low-memory rejection handling"
    },
    {
      "commit": "bcaa5f1ae5655dde3e73137c27cbd9c88e6c542f",
      "tree": "1e6c8acce97779baf8e615c1cff4fcdf57464109",
      "parents": [
        "7afce9daa2ff99666d2f42d7103b7d60c3f9cfb4"
      ],
      "author": {
        "name": "Himanshu Verma",
        "email": "himnshuverma10152006@gmail.com",
        "time": "Sat Apr 25 12:44:03 2026 +0530"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sat Apr 25 15:14:03 2026 +0800"
      },
      "message": "fix(server): fix check_port port extraction for schemeless URLs (#3005)"
    },
    {
      "commit": "7afce9daa2ff99666d2f42d7103b7d60c3f9cfb4",
      "tree": "38736ab0ba6bbaabd72425fad04f1fa96f602e92",
      "parents": [
        "a8ae76b6171decea781ab1ef0f00b60993e5362a"
      ],
      "author": {
        "name": "Çağlar Eker",
        "email": "ekercaglar@gmail.com",
        "time": "Tue Apr 21 10:27:08 2026 +0300"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Apr 21 15:27:08 2026 +0800"
      },
      "message": "fix(pd): populate memberSize in GET / endpoint response (#3003)\n\n* fix(pd): complete GET / stats fix and add test coverage\n\n- Use pdService.getMembers() for memberSize (consistent with cluster())\n  instead of RaftEngine directly, as suggested in issue #3002 discussion\n- Add dataState field to BriefStatistics: exposes worst partition health\n  state across all graphs, the most useful missing operational indicator\n- Align graphSize to count only user-facing graphs (endsWith(\"/g\")),\n  matching the semantics of cluster() to avoid silent count discrepancy\n- Add testQueryIndexInfo() to both RestApiTest classes to assert state,\n  leader, memberSize \u003e 0, and storeSize \u003e 0 — catches this class of bug\n\n* fix(pd): relax storeSize assertion in PD-only test environment\n\n---------\n\nCo-authored-by: imbajin \u003cjin@apache.org\u003e"
    },
    {
      "commit": "a8ae76b6171decea781ab1ef0f00b60993e5362a",
      "tree": "f8049f4fba031738320e890f2ba34064d4fc0fc3",
      "parents": [
        "6a983f97e6008b581e91589dc8715a1752aa79e2"
      ],
      "author": {
        "name": "imbajin",
        "email": "jin@apache.org",
        "time": "Mon Apr 20 15:09:52 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Apr 20 15:09:52 2026 +0800"
      },
      "message": "fix(docker): skip partition wait for standalone rocksdb mode (#3000)\n\n* fix(docker): skip partition wait for standalone rocksdb mode (#2999)\n\nThe `wait-partition.sh` script was called unconditionally in\n`docker-entrypoint.sh`, causing standalone containers (rocksdb backend)\nto hang for 120s printing \"Waiting for partition assignment...\" since\nthere is no Store service to respond.\n\nNow reads the actual backend from `hugegraph.properties` and only runs\nthe partition wait when `backend\u003dhstore`."
    },
    {
      "commit": "6a983f97e6008b581e91589dc8715a1752aa79e2",
      "tree": "4bedfa05c629464983cde29dafd0f127073a38a5",
      "parents": [
        "9336b5e298511a40c0f23916d86f195cf5f8e2dc"
      ],
      "author": {
        "name": "lokidundun",
        "email": "loki16@qq.com",
        "time": "Sun Apr 19 04:38:48 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sun Apr 19 04:38:48 2026 +0800"
      },
      "message": "fix: enable CI badges displaying normally (#2996)\n\n* fix: fix wrong image address\n\n---------\n\nCo-authored-by: imbajin \u003cjin@apache.org\u003e"
    },
    {
      "commit": "9336b5e298511a40c0f23916d86f195cf5f8e2dc",
      "tree": "52bdc4ed929ceea3315db505cb8e9152dfa60cd3",
      "parents": [
        "470435457daf670cbd90d3ccfbca30721fd83292"
      ],
      "author": {
        "name": "contrueCT",
        "email": "contrue_CT@outlook.com",
        "time": "Fri Apr 17 15:51:02 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Apr 17 15:51:02 2026 +0800"
      },
      "message": "fix(server): guard count strategy on negative bounds (#2993)\n\n* fix(traversal): guard count strategy on negative bounds\n\n* test(traversal): cover repeat count on negative bounds\n\n* test(traversal): cover collection count on negative bounds"
    },
    {
      "commit": "470435457daf670cbd90d3ccfbca30721fd83292",
      "tree": "b112b8a0a29e4bf300ce0716fc47263dcbf191a1",
      "parents": [
        "28c39b65d2af27d1bab20b8aa785f9af8efa6fe4"
      ],
      "author": {
        "name": "contrueCT",
        "email": "contrue_CT@outlook.com",
        "time": "Mon Apr 13 16:12:31 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Apr 13 16:12:31 2026 +0800"
      },
      "message": "fix(query): handle conflicting edge label conditions safely (#2990)\n\nHugeGraph may read LABEL from a ConditionQuery before the query is flattened when optimizing edge traversals. In contradictory label combinations such as inE(\u0027created\u0027).hasLabel(\u0027created\u0027, \u0027look\u0027).hasLabel(\u0027authored\u0027), the previous intersection logic reused an empty set to mean both \u0027not initialized yet\u0027 and \u0027already intersected to empty\u0027. That allowed later IN conditions to repopulate the candidate set and raised an Illegal key \u0027LABEL\u0027 with more than one value error instead of returning an empty result.\n\nTrack whether the intersection has been initialized independently so an empty intersection remains empty. This keeps the existing protection for true multi-value results, while allowing conflicting label predicates to fall back safely and produce no matches.\n\nAdd regression coverage for the low-level ConditionQuery behavior and for the edge traversal scenario from issue #2933, including a match()-based equivalent query to assert consistent zero-count results."
    },
    {
      "commit": "28c39b65d2af27d1bab20b8aa785f9af8efa6fe4",
      "tree": "0632f951374308f465e6ab3514a7f6926f4841a5",
      "parents": [
        "06097c8a2075575fd0e41a0e2f407700e4438b6f"
      ],
      "author": {
        "name": "contrueCT",
        "email": "contrue_CT@outlook.com",
        "time": "Sat Apr 11 23:22:29 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sat Apr 11 23:22:29 2026 +0800"
      },
      "message": "chore(ci): add automatic rerun controller for flaky workflows (#2984)\n\n* ci: increase retry delay for rerun jobs from 60 to 180 seconds"
    },
    {
      "commit": "06097c8a2075575fd0e41a0e2f407700e4438b6f",
      "tree": "9a3db13dd0b3357b95ca377f1955b2b67189abb3",
      "parents": [
        "c0a2b93e455c2bfb4e571256e24571e80de89bd7"
      ],
      "author": {
        "name": "Uğur Tafralı",
        "email": "tafraliugur@gmail.com",
        "time": "Fri Apr 10 12:57:05 2026 +0300"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Apr 10 17:57:05 2026 +0800"
      },
      "message": "refactor(server): allow TinkerPop exceptions in Gremlin resp (#2987)\n\n* fix(api/gremlin): allow TinkerPop exceptions in Gremlin responses\n\n* Address review feedback"
    },
    {
      "commit": "c0a2b93e455c2bfb4e571256e24571e80de89bd7",
      "tree": "642d5301e27d75518cf683ade279bbe99b9a1f94",
      "parents": [
        "9126c80e414c073b60fc074361b211cfb409e0eb"
      ],
      "author": {
        "name": "Himanshu Verma",
        "email": "himnshuverma10152006@gmail.com",
        "time": "Sun Apr 05 07:52:48 2026 +0530"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sun Apr 05 10:22:48 2026 +0800"
      },
      "message": "fix(docker): enable docker logs for pd/store/server containers (#2980)\n\n* fix(docker): wire console appender to AsyncLogger for hugegraph server"
    },
    {
      "commit": "9126c80e414c073b60fc074361b211cfb409e0eb",
      "tree": "449edb346cb66a0a857fbf900ab3ac1f0754a3de",
      "parents": [
        "8d758d5446f0c37582331c978e153c96e87c7d78"
      ],
      "author": {
        "name": "Himanshu Verma",
        "email": "himnshuverma10152006@gmail.com",
        "time": "Mon Mar 23 18:27:55 2026 +0530"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Mar 23 20:57:55 2026 +0800"
      },
      "message": "docs: update Docker deployment docs for bridge networking migration (#2963)\n\n- Create docker/README.md with full setup guide, env var reference,\n  port table, health checks, and troubleshooting\n- Fix hugegraph-store/docs/deployment-guide.md: replace wrong env vars\n  (GRPC_HOST, RAFT_ADDRESS etc.) with correct HG_* names\n- Update K8s manifest in deployment-guide.md to use HG_* env vars\n- Fix 7 files pointing to dead docker/example/ directory\n- Add Docker bridge network notes to PD configuration docs\n- Add distributed cluster section to server Docker README\n\nRelates to: #2952\n\n* docs: clarify temporary entrypoint mount workaround in docker/README.md\n\nThe 3-node and single-node quickstart compose files currently mount\nentrypoint scripts from source as a workaround until updated Docker\nimages are published with the new entrypoints baked in.\n\nAdd a clear note explaining this temporary requirement so users are\nnot confused about needing a full source clone to run the cluster.\n\n---------\n\nCo-authored-by: imbajin \u003cjin@apache.org\u003e"
    },
    {
      "commit": "8d758d5446f0c37582331c978e153c96e87c7d78",
      "tree": "fc498e7f00f3c8bd9e43f3d57a04dc74ce7bd41a",
      "parents": [
        "5f91d8b5c6be1dffc3e6dd8fd84ae561f7fb6b53"
      ],
      "author": {
        "name": "Himanshu Verma",
        "email": "himnshuverma10152006@gmail.com",
        "time": "Sun Mar 22 08:26:17 2026 +0530"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sun Mar 22 10:56:17 2026 +0800"
      },
      "message": "chore(docker): remove tmp volume mounts after image update (#2976)"
    },
    {
      "commit": "5f91d8b5c6be1dffc3e6dd8fd84ae561f7fb6b53",
      "tree": "8153c8ce55018f160b5766c8c45951a9fc52d59d",
      "parents": [
        "0154c06422a97cff6cc97fbecf04331c11e3ad1f"
      ],
      "author": {
        "name": "contrueCT",
        "email": "contrue_CT@outlook.com",
        "time": "Fri Mar 20 16:27:15 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Mar 20 16:27:15 2026 +0800"
      },
      "message": "refactor(server): disable GraphSpaceAPI and ManagerAPI in standalone mode (#2966)\n\n* feat(api): disable GraphSpaceAPI and ManagerAPI in standalone mode\n\n- Add public isUsePD() accessor to GraphManager to expose PD status\n- Add checkPdModeEnabled() helper in API base class\n- Call checkPdModeEnabled() in all public methods of GraphSpaceAPI (list/get/create/manage/delete)\n- Call checkPdModeEnabled() in all public methods of ManagerAPI (createManager/delete/list/checkRole/getRolesInGs)\n- Returns HTTP 400 with message \u0027GraphSpace management is not supported in standalone mode\u0027\n- Add standalone-mode rejection tests in GraphSpaceApiTest and ManagerApiTest\n\n---------\n\nCo-authored-by: Copilot Autofix powered by AI \u003c175728472+Copilot@users.noreply.github.com\u003e\nCo-authored-by: imbajin \u003cjin@apache.org\u003e"
    },
    {
      "commit": "0154c06422a97cff6cc97fbecf04331c11e3ad1f",
      "tree": "2088bc0a1cd76b34c1662fd415b30609da81ae39",
      "parents": [
        "62bcdc5d78db52cc907c669fe0e1cca1638c1980"
      ],
      "author": {
        "name": "Himanshu Verma",
        "email": "himnshuverma10152006@gmail.com",
        "time": "Fri Mar 20 13:51:59 2026 +0530"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Mar 20 16:21:59 2026 +0800"
      },
      "message": "refactor(docker): migrate single-node compose from host to bridge networking (#2952)\n\n* docker: migrate from host to bridge networking\n\nReplace network_mode: host with explicit port mappings and add configuration\nvolumes for PD, Store, and Server services to support macOS/Windows Docker.\n\n- Remove host network mode from all services\n- Add explicit port mappings (8620, 8520, 8080)\n- Add configuration directories with volume mounts\n- Update healthcheck endpoints\n- Add PD peers environment variable"
    },
    {
      "commit": "62bcdc5d78db52cc907c669fe0e1cca1638c1980",
      "tree": "6f564dadf8444a46afda6eb97ebbaa6295b924c7",
      "parents": [
        "ab12b35b6adfaf8895df9b4023cf2a25d23cd215"
      ],
      "author": {
        "name": "PJ Fanning",
        "email": "pjfanning@users.noreply.github.com",
        "time": "Fri Mar 20 09:18:50 2026 +0100"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Mar 20 16:18:50 2026 +0800"
      },
      "message": "fix(dist): use HTTPS for Travis download URLs (#2973)\n\n* Update HBase/Cassandra download address to HTTPS"
    },
    {
      "commit": "ab12b35b6adfaf8895df9b4023cf2a25d23cd215",
      "tree": "ae0d8c25721a953709c5d7709d2d7917a20b0304",
      "parents": [
        "5adf14cb24573254113255ad1dab25fd33bdbab2"
      ],
      "author": {
        "name": "Himanshu Verma",
        "email": "himnshuverma10152006@gmail.com",
        "time": "Fri Mar 20 13:47:42 2026 +0530"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Mar 20 16:17:42 2026 +0800"
      },
      "message": "fix(pd): add timeout and null-safety to getLeaderGrpcAddress() (#2961)\n\n* fix(pd): add timeout and null-safety to getLeaderGrpcAddress()\n\nThe bolt RPC call in getLeaderGrpcAddress() returns null in Docker\nbridge network mode, causing NPE when a follower PD node attempts\nto discover the leader\u0027s gRPC address. This breaks store registration\nand partition distribution when any node other than pd0 wins the\nraft leader election.\n\nAdd a bounded timeout using the configured rpc-timeout, null-check\nthe RPC response, and fall back to deriving the address from the\nraft endpoint IP when the RPC fails.\n\nCloses apache/hugegraph#2959"
    },
    {
      "commit": "5adf14cb24573254113255ad1dab25fd33bdbab2",
      "tree": "bc29874c20d329cdf265ad12849c7de99e1ca255",
      "parents": [
        "1f40f055ae34a53d7013a5ab92f1652e6bae8fc9"
      ],
      "author": {
        "name": "Himanshu Verma",
        "email": "himnshuverma10152006@gmail.com",
        "time": "Tue Mar 17 11:46:34 2026 +0530"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Mar 17 14:16:34 2026 +0800"
      },
      "message": "fix(pd): resolve hostname entries in IpAuthHandler allowlist (#2962)\n\n- Resolve allowlist hostnames to IPs using InetAddress.getAllByName\n- Add refresh() to update resolved IPs when Raft peer list changes\n- Wire refresh into RaftEngine.changePeerList()\n- Add IpAuthHandlerTest covering hostname resolution, refresh behavior, and failure cases"
    },
    {
      "commit": "1f40f055ae34a53d7013a5ab92f1652e6bae8fc9",
      "tree": "e01790512f7a0c7ff57e81aa150a742e6b4b7bf7",
      "parents": [
        "5578b79648c12d92c4bc51ae3e4aed2c979e5881"
      ],
      "author": {
        "name": "imbajin",
        "email": "jin@apache.org",
        "time": "Tue Mar 17 00:53:28 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Mar 17 00:53:28 2026 +0800"
      },
      "message": "doc: add comment for historical package names (#2970)"
    },
    {
      "commit": "5578b79648c12d92c4bc51ae3e4aed2c979e5881",
      "tree": "470caf953ef91c2c6155667d6d485fbdace6171f",
      "parents": [
        "94c03a9aecbbf0f2b91a64278e3254418a7c7ff2"
      ],
      "author": {
        "name": "lokidundun",
        "email": "lokidundun@apache.org",
        "time": "Mon Mar 16 15:31:14 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Mar 16 15:31:14 2026 +0800"
      },
      "message": "refactor: add the desc of the vars in swagger-ui (#2969)"
    },
    {
      "commit": "94c03a9aecbbf0f2b91a64278e3254418a7c7ff2",
      "tree": "067812c7f0d74b908536ba765e5cfc0032f470aa",
      "parents": [
        "050581067ae5aa83c5d5e841b645eab7e2fcf4ca"
      ],
      "author": {
        "name": "imbajin",
        "email": "jin@apache.org",
        "time": "Sat Mar 14 17:41:12 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sat Mar 14 17:41:12 2026 +0800"
      },
      "message": "refactor: remove \u0027incubating\u0027 branding, update docs \u0026 packaging (#2965)\n\n* chore: remove \u0027incubating\u0027 branding, update docs \u0026 packaging\n\nReplace references to \u0027incubator\u0027/\u0027incubating\u0027 across the repo to the final \u0027hugegraph\u0027 branding and packaging names. Updates include: removal of DISCLAIMER, NOTICE year bump, README and docs link/badge fixes, pom final.name changes (remove -incubating suffix),\n\nDockerfile and assembly scripts adjusted to new package paths, numerous docs and tests updated to new URLs/paths, mailing list/contact updates, and minor serena project.yml additions.\n\n---------\n\nCo-authored-by: contrueCT \u003ccontrue_CT@outlook.com\u003e"
    },
    {
      "commit": "050581067ae5aa83c5d5e841b645eab7e2fcf4ca",
      "tree": "40961112019d9b45055481903a86c9687bb96ea2",
      "parents": [
        "ef2db2c9c088c245fc8d608c24285fb4485694ab"
      ],
      "author": {
        "name": "Himanshu Verma",
        "email": "himnshuverma10152006@gmail.com",
        "time": "Sat Feb 14 12:02:16 2026 +0530"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sat Feb 14 14:32:16 2026 +0800"
      },
      "message": "docs: remove references to removed hugegraph-style.xml (#2949)\n\n"
    },
    {
      "commit": "ef2db2c9c088c245fc8d608c24285fb4485694ab",
      "tree": "2c7ae3e40815f5cbe80a63505c37102a1dd2b522",
      "parents": [
        "6ffdd9ccbf63c65e23b64396a2110319a5bff184"
      ],
      "author": {
        "name": "Tsukilc",
        "email": "3168078770@qq.com",
        "time": "Sat Feb 14 14:29:59 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sat Feb 14 14:29:59 2026 +0800"
      },
      "message": "feat(server): add gs profile api (#2950)\n\n"
    },
    {
      "commit": "6ffdd9ccbf63c65e23b64396a2110319a5bff184",
      "tree": "5ca0a35da49a81cb200887507409a8c9b67898cd",
      "parents": [
        "88ad859d3eb204b735f6778195750e8a2cbe8c78"
      ],
      "author": {
        "name": "Himanshu Verma",
        "email": "himnshuverma10152006@gmail.com",
        "time": "Tue Feb 03 12:41:32 2026 +0530"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Feb 03 15:11:32 2026 +0800"
      },
      "message": "refactor(server): unify URL configs when scheme is missing (#2944)\n\n- Add URL normalization support for config options\n- Automatically prefix missing schemes (http://, https://)\n- Log warnings when auto-correcting user-provided values\n- Add comprehensive test coverage for normalization logic\n- Update config files to demonstrate the feature\n\nChanges:\n- ConfigOption: Add withUrlNormalization() builder method\n- ServerOptions: Apply normalization to REST, Gremlin, K8s URLs\n- HugeConfig: Implement lazy cache and normalization logic\n- Add ServerOptionsTest with 5 test cases\n- Simplify URLs in main and Docker config\n\n* repair\n\n---------\n\nCo-authored-by: imbajin \u003cjin@apache.org\u003e"
    },
    {
      "commit": "88ad859d3eb204b735f6778195750e8a2cbe8c78",
      "tree": "ccdafd2162c0f0ea048e080fcee593415f987af5",
      "parents": [
        "9babe493919c01f012a56e7b5fb4d8b9faf64cf5"
      ],
      "author": {
        "name": "imbajin",
        "email": "jin@apache.org",
        "time": "Mon Feb 02 17:31:17 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Feb 02 17:31:17 2026 +0800"
      },
      "message": "doc: update Quick Start \u0026 Architecture in README (#2947)\n\n* doc: TOC, Quick Start, Architecture\n\nOverhaul README to improve developer onboarding and documentation. Adds a Table of Contents, Quick Start (TL;DR + detailed Docker, binary, and build-from-source instructions), verification steps, and a Module Map. Expands Features into bullet points and introduces detailed Architecture sections including ASCII and Mermaid diagrams, a deployment comparison table, and module overview. Adds contributor guidance, community/contact info, and ecosystem links. Also updates .serena/project.yml to set project_name and include placeholders for base/default modes, included optional tools, and fixed_tools to enable per-project Serena configuration.\n"
    },
    {
      "commit": "9babe493919c01f012a56e7b5fb4d8b9faf64cf5",
      "tree": "764f5575ddb548fb6b1e43e2503da865ec7ce031",
      "parents": [
        "fc391a7c661ade3a9cbcf1ba27d947cc6aca56d6"
      ],
      "author": {
        "name": "Soyaazz",
        "email": "523420504@qq.com",
        "time": "Thu Jan 29 16:06:08 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Jan 29 16:06:08 2026 +0800"
      },
      "message": "test(server): enable run single unit test (#2940)\n\n* test(server-test): enable run single unit test\n\n* fix: thread-safe graph() method\n\n* fix: more clear error handling in graph() method"
    },
    {
      "commit": "fc391a7c661ade3a9cbcf1ba27d947cc6aca56d6",
      "tree": "b91bad3d6c2b444df9787ddca563e3053bf11ce3",
      "parents": [
        "99baf2bde2ddc6c0db6a4f811109f9f2c34abdc8"
      ],
      "author": {
        "name": "Himanshu Verma",
        "email": "himnshuverma10152006@gmail.com",
        "time": "Mon Jan 26 12:29:18 2026 +0530"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Jan 26 14:59:18 2026 +0800"
      },
      "message": "fix(server): prevent await deadlock on ContextCallable failure (#2941)\n\nAdd a unit test that explicitly covers the failure scenario described in the PR,\nwhere ContextCallable fails before entering runAndDone().\n\nThe test verifies that Consumers.await() does not hang when the worker task\nfails during ContextCallable execution, relying on safeRun() to always\ndecrement the latch in its finally block.\n\nThis test would deadlock on the previous implementation and passes with the\ncurrent fix, ensuring the issue cannot regress."
    },
    {
      "commit": "99baf2bde2ddc6c0db6a4f811109f9f2c34abdc8",
      "tree": "ca0d60f0318c5b7d6bb177727f98615fa2643c65",
      "parents": [
        "e0f572b54ce2ede420d45133405c4b3224a806ea"
      ],
      "author": {
        "name": "slightsharp",
        "email": "slightsharp@outlook.com",
        "time": "Fri Jan 23 18:55:03 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Jan 23 18:55:03 2026 +0800"
      },
      "message": "docs: fix some typos in comments (#2943)\n\nSigned-off-by: slightsharp \u003cslightsharp@outlook.com\u003e"
    },
    {
      "commit": "e0f572b54ce2ede420d45133405c4b3224a806ea",
      "tree": "0ac290b1527de25a6a5cac26abd5fd2585fcfc7c",
      "parents": [
        "37be6cdde3a2ffb71091453b366f28ae446db882"
      ],
      "author": {
        "name": "imbajin",
        "email": "jin@apache.org",
        "time": "Thu Jan 22 16:38:44 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Jan 22 16:38:44 2026 +0800"
      },
      "message": "refactor(server): support update TTL in labels \u0026 enhance configs (#2938)\n\n"
    },
    {
      "commit": "37be6cdde3a2ffb71091453b366f28ae446db882",
      "tree": "d98fe710048cb4342603822e0361cddef34875d9",
      "parents": [
        "a93cc218d98b85a17eee7eae089d7789ac0b0b4e"
      ],
      "author": {
        "name": "Soyaazz",
        "email": "523420504@qq.com",
        "time": "Tue Jan 06 16:17:35 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Jan 06 16:17:35 2026 +0800"
      },
      "message": "test(cluster-test): bump ct to version 1.7.0 (#2921)\n\n"
    },
    {
      "commit": "a93cc218d98b85a17eee7eae089d7789ac0b0b4e",
      "tree": "f48074d11f6e9c26947cb0a886318f866d083ad0",
      "parents": [
        "d641fdb60672d192f1b121c20fdbf80023d6eda0"
      ],
      "author": {
        "name": "ChoHee",
        "email": "cc5281@126.com",
        "time": "Sun Jan 04 16:28:51 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sun Jan 04 16:28:51 2026 +0800"
      },
      "message": "chore(server): remove outdated ConfigAuthenticator (#2927)\n\n"
    },
    {
      "commit": "d641fdb60672d192f1b121c20fdbf80023d6eda0",
      "tree": "28a1ebdae0553c0c32b203180f76af9b5c9fd886",
      "parents": [
        "423ede07466a0cff73f71fb7f3c8f661be693ce6"
      ],
      "author": {
        "name": "Himanshu Verma",
        "email": "himnshuverma10152006@gmail.com",
        "time": "Sun Jan 04 13:58:30 2026 +0530"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sun Jan 04 16:28:30 2026 +0800"
      },
      "message": "docs: fix Cypher documentation link in README (#2925)\n\n"
    },
    {
      "commit": "423ede07466a0cff73f71fb7f3c8f661be693ce6",
      "tree": "264e1fcc837e70964dbc2c57df3a9d09ac570f1d",
      "parents": [
        "2432603d3178701f2fefadfabb187fe849a711cf"
      ],
      "author": {
        "name": "Ken",
        "email": "157260097+kenssa4eedfd@users.noreply.github.com",
        "time": "Sun Jan 04 16:27:32 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sun Jan 04 16:27:32 2026 +0800"
      },
      "message": "fix: optimize code and update risky deps (#2918)\n\n"
    },
    {
      "commit": "2432603d3178701f2fefadfabb187fe849a711cf",
      "tree": "3031845a3bc6be1db9ec4eb4680108755b43350e",
      "parents": [
        "eec38719d8f087af34cfed8134d0a22e42ffeb6b"
      ],
      "author": {
        "name": "Tsukilc",
        "email": "3168078770@qq.com",
        "time": "Sun Jan 04 16:27:09 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sun Jan 04 16:27:09 2026 +0800"
      },
      "message": "fix(server): fix npe in non-auth mode (#2912)\n\n"
    },
    {
      "commit": "eec38719d8f087af34cfed8134d0a22e42ffeb6b",
      "tree": "46f440697371a64d12bff2d9002715dc8db8de1f",
      "parents": [
        "d28526e141de38f9d54b7113b9964266c1cac66f"
      ],
      "author": {
        "name": "imbajin",
        "email": "jin@apache.org",
        "time": "Sat Dec 27 00:07:51 2025 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Dec 26 10:07:51 2025 -0600"
      },
      "message": "chore: update the status of distributed modules (#2916)\n\n* chore: update the status of distributed modules\n\nEliminated mentions of BETA status from AGENTS.md, README.md, and configuration files for HugeGraph PD and Store. This clarifies the current development status and streamlines documentation for production use.\n\n* docs: update README with requirements and architecture info\n\nAdded sections for Requirements and Architecture, specifying Java and Maven versions and deployment options. Updated Docker command to use version 1.7.0. Included build from source instructions with Maven command.\n\n* Apply suggestions from code review\n\nCo-authored-by: Copilot \u003c175728472+Copilot@users.noreply.github.com\u003e\n\n* Update run-api-test.sh\n\n---------\n\nCo-authored-by: Copilot \u003c175728472+Copilot@users.noreply.github.com\u003e\nCo-authored-by: VGalaxies \u003cvgalaxies@apache.org\u003e"
    },
    {
      "commit": "d28526e141de38f9d54b7113b9964266c1cac66f",
      "tree": "0d2c25174c8001f7827e386fc1a673c63d309d37",
      "parents": [
        "c6d94b47cc5333e969a0a732b1ec3d08b4610ed3"
      ],
      "author": {
        "name": "Soyaazz",
        "email": "523420504@qq.com",
        "time": "Wed Dec 17 16:26:39 2025 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Dec 17 16:26:39 2025 +0800"
      },
      "message": "fix(pd): pd raft-follower failed to get leader address due to npe (#2919)\n\n"
    },
    {
      "commit": "c6d94b47cc5333e969a0a732b1ec3d08b4610ed3",
      "tree": "18b5f53a4249efed7801f1bb78c8cd7763cc06e1",
      "parents": [
        "534c81e5fcab95d0abe7da093add455c1eeb395e"
      ],
      "author": {
        "name": "vaughn",
        "email": "vaughn@apache.org",
        "time": "Wed Dec 17 09:57:23 2025 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Dec 17 09:57:23 2025 +0800"
      },
      "message": "feat: add slack channel (#2920)\n\nCo-authored-by: imbajin \u003cjin@apache.org\u003e"
    },
    {
      "commit": "534c81e5fcab95d0abe7da093add455c1eeb395e",
      "tree": "7f24ef0570644e99f3003a7e329ebd8dbd9385fb",
      "parents": [
        "18569c49cc58362fb808f0b5ec07e51d90087a26"
      ],
      "author": {
        "name": "Peng Junzhi",
        "email": "78788603+Pengzna@users.noreply.github.com",
        "time": "Mon Dec 15 13:35:13 2025 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Dec 15 13:35:13 2025 +0800"
      },
      "message": "fix: use slim docker image (#2903)\n\n"
    },
    {
      "commit": "18569c49cc58362fb808f0b5ec07e51d90087a26",
      "tree": "1e1c7fbc78adfa7c5a094363c494aa77052afe4f",
      "parents": [
        "9a3daf824bb56109a32b8a9839a7ba97b6d571a2"
      ],
      "author": {
        "name": "Peng Junzhi",
        "email": "78788603+Pengzna@users.noreply.github.com",
        "time": "Fri Nov 28 22:10:12 2025 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Nov 28 22:10:12 2025 +0800"
      },
      "message": "docs: migrate 1.5.0 in readme to 1.7.0 (#2914)\n\n"
    },
    {
      "commit": "9a3daf824bb56109a32b8a9839a7ba97b6d571a2",
      "tree": "88c611160dcba4b65f89f8d48f49b3d7ac1e2114",
      "parents": [
        "b12425c2032bf0d21a97b8221f42a18055c2982f"
      ],
      "author": {
        "name": "contrueCT",
        "email": "contrue_CT@outlook.com",
        "time": "Thu Nov 27 13:54:11 2025 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Nov 27 13:54:11 2025 +0800"
      },
      "message": "refactor(store): fix reflection parameter error and extract duplicate methods to RaftReflectionUtil (#2906)\n\n"
    },
    {
      "commit": "b12425c2032bf0d21a97b8221f42a18055c2982f",
      "tree": "beb0df7b266ad441d70e21de67b7888c84e1a223",
      "parents": [
        "41d0dbcd3adc91c87fc14540cf5b08ffa96c4a83"
      ],
      "author": {
        "name": "Peng Junzhi",
        "email": "78788603+Pengzna@users.noreply.github.com",
        "time": "Sun Nov 16 02:07:01 2025 -0600"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sun Nov 16 02:07:01 2025 -0600"
      },
      "message": "fix: add missing license and remove binary license.txt \u0026 fix tinkerpop ci \u0026 remove duplicate module (#2910)\n\n* add missing license and remove binary license.txt\n\n* remove dist in commons\n\n* fix tinkerpop test open graph panic and other bugs\n\n* empty commit to trigger ci"
    },
    {
      "commit": "41d0dbcd3adc91c87fc14540cf5b08ffa96c4a83",
      "tree": "a6f6b36784109390f931ca8c4b7ab3cbe683c71c",
      "parents": [
        "496b15048a115552c195375de078570f0c4e24cd"
      ],
      "author": {
        "name": "Tsukilc",
        "email": "3168078770@qq.com",
        "time": "Wed Nov 12 19:58:52 2025 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Nov 12 19:58:52 2025 +0800"
      },
      "message": "fix(server): fix reflect bug in init-store.sh (#2905)\n\n"
    },
    {
      "commit": "496b15048a115552c195375de078570f0c4e24cd",
      "tree": "c68a8cd076a04ceca2423cf17b6b6c5d84a50b47",
      "parents": [
        "de0360b1184943b17cf329ad5c1250c046741dc8"
      ],
      "author": {
        "name": "imbajin",
        "email": "jin@apache.org",
        "time": "Thu Nov 06 14:22:40 2025 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Nov 06 14:22:40 2025 +0800"
      },
      "message": "feat: init serena memory system \u0026 add memories (#2902)\n\n"
    },
    {
      "commit": "de0360b1184943b17cf329ad5c1250c046741dc8",
      "tree": "547f9fd72a7950d9fdcea3a52e06f58d1a3c97cb",
      "parents": [
        "b7998c1c31f92bb090e5a17295ba06b3ac6b624b"
      ],
      "author": {
        "name": "Peng Junzhi",
        "email": "78788603+Pengzna@users.noreply.github.com",
        "time": "Tue Nov 04 06:50:42 2025 -0600"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Nov 04 06:50:42 2025 -0600"
      },
      "message": "fix: migrate to LTS jdk11 in all Dockerfile (#2901)\n\n"
    },
    {
      "commit": "b7998c1c31f92bb090e5a17295ba06b3ac6b624b",
      "tree": "5366394f41e850cd32a6417bf96e6fa82a2a1f8b",
      "parents": [
        "ca5fc0cb29281f5b0c1002261736acfd6e1b3f9f"
      ],
      "author": {
        "name": "Tsukilc",
        "email": "3168078770@qq.com",
        "time": "Tue Nov 04 19:34:12 2025 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Nov 04 19:34:12 2025 +0800"
      },
      "message": "refactor(server): remove graph param in auth api path (#2899)\n\n"
    },
    {
      "commit": "ca5fc0cb29281f5b0c1002261736acfd6e1b3f9f",
      "tree": "c2e6e4ec87cb226de60dab3fbcf1f78a9cd6d133",
      "parents": [
        "2e0cffe7c4a0f82f3fc6bfb7a2f62de9f6b52d9d"
      ],
      "author": {
        "name": "Tsukilc",
        "email": "3168078770@qq.com",
        "time": "Tue Nov 04 19:33:25 2025 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Nov 04 19:33:25 2025 +0800"
      },
      "message": "fix(server): support GraphAPI for rocksdb \u0026 add tests (#2900)\n\n"
    },
    {
      "commit": "2e0cffe7c4a0f82f3fc6bfb7a2f62de9f6b52d9d",
      "tree": "58be312edb1c0bcee587e56ec9d7f592140c22b0",
      "parents": [
        "00e040be1459c10c938270a6e9d47e21f3a7b3df"
      ],
      "author": {
        "name": "Tsukilc",
        "email": "3168078770@qq.com",
        "time": "Tue Nov 04 19:32:28 2025 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Nov 04 19:32:28 2025 +0800"
      },
      "message": "feat(server): add path filter for graphspace (#2898)\n\n"
    },
    {
      "commit": "00e040be1459c10c938270a6e9d47e21f3a7b3df",
      "tree": "cf99b99d5b9067dc4fb87f67e46ab5763536710c",
      "parents": [
        "d7697f47185607e87877980a90d98fa1df0cdec9"
      ],
      "author": {
        "name": "Soyan",
        "email": "523420504@qq.com",
        "time": "Mon Nov 03 15:23:30 2025 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Nov 03 15:23:30 2025 +0800"
      },
      "message": "fix(store): handle NPE in getVersion for file (#2897)\n\n* fix(store): fix duplicated definition log root"
    },
    {
      "commit": "d7697f47185607e87877980a90d98fa1df0cdec9",
      "tree": "ac8e9e42279028dffef3e137cd22fdea73d843c9",
      "parents": [
        "e66acccfda1a47a6a5cc5bb1f3ad9762c88f7069"
      ],
      "author": {
        "name": "Guangyang Deng",
        "email": "gydeng.cs@gmail.com",
        "time": "Sat Nov 01 04:10:08 2025 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sat Nov 01 04:10:08 2025 +0800"
      },
      "message": "chore(server): bump rocksdb version from 7.2.2 to 8.10.2 (#2896)\n\n"
    },
    {
      "commit": "e66acccfda1a47a6a5cc5bb1f3ad9762c88f7069",
      "tree": "ff05bf2554834820dab981f866a36b84c91897cb",
      "parents": [
        "f92c5a44ee569940b15bd97101d382f6804b8e35"
      ],
      "author": {
        "name": "Soyan",
        "email": "523420504@qq.com",
        "time": "Sat Nov 01 04:08:14 2025 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sat Nov 01 04:08:14 2025 +0800"
      },
      "message": "fix(store): improve some potential lock \u0026 type cast issues (#2895)\n\n* update(store): fix some problem and clean up code\n\n- chore(store): clean some comments\n- chore(store): using Slf4j instead of System.out to print log\n- update(store): update more reasonable timeout setting\n- update(store): add close method for CopyOnWriteCache to avoid potential memory leak\n- update(store): delete duplicated beginTx() statement\n- update(store): extract parameter for compaction thread pool(move to configuration file in the future)\n- update(store): add default logic in AggregationFunctions\n- update(store): fix potential concurrency problem in QueryExecutor\n\n* Update hugegraph-store/hg-store-common/src/main/java/org/apache/hugegraph/store/query/func/AggregationFunctions.java\n\n---------\n\nCo-authored-by: Peng Junzhi \u003c78788603+Pengzna@users.noreply.github.com\u003e"
    },
    {
      "commit": "f92c5a44ee569940b15bd97101d382f6804b8e35",
      "tree": "203f2ff184611cdd551c05f59b39d6181c29746b",
      "parents": [
        "126885d86f84869e45daae23535b2ead1290911e"
      ],
      "author": {
        "name": "koi",
        "email": "koi20000@163.com",
        "time": "Fri Oct 31 22:01:51 2025 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Oct 31 09:01:51 2025 -0500"
      },
      "message": "docs(pd): update test commands and improve documentation clarity (#2893)\n\n* docs(pd): update test commands and improve documentation clarity\n\n* Update README.md\n\n---------\n\nCo-authored-by: imbajin \u003cjin@apache.org\u003e"
    },
    {
      "commit": "126885d86f84869e45daae23535b2ead1290911e",
      "tree": "0736a0364986a82638f87617661e0c7f05881006",
      "parents": [
        "5b3d295d930bad4dc0ae81373a33011478302509"
      ],
      "author": {
        "name": "Soyan",
        "email": "523420504@qq.com",
        "time": "Fri Oct 31 19:03:59 2025 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Oct 31 19:03:59 2025 +0800"
      },
      "message": "docs(store): update guidance for store module (#2894)\n\n"
    },
    {
      "commit": "5b3d295d930bad4dc0ae81373a33011478302509",
      "tree": "62d181c5d5e8d82ae99117cd869bfbcefd254d27",
      "parents": [
        "21ef0bf75554641f0c21ec3b9cf36ed6e7b12512"
      ],
      "author": {
        "name": "imbajin",
        "email": "jin@apache.org",
        "time": "Wed Oct 29 14:41:17 2025 +0800"
      },
      "committer": {
        "name": "imbajin",
        "email": "jin@apache.org",
        "time": "Wed Oct 29 15:58:32 2025 +0800"
      },
      "message": "docs(store): add deployment/practices/development docs\n\nIntroduces three new documentation files: best-practices.md, deployment-guide.md, and development-guide.md for HugeGraph Store. These guides cover production best practices, deployment topologies and steps, and developer environment setup and architecture, improving onboarding and operational clarity.\n"
    },
    {
      "commit": "21ef0bf75554641f0c21ec3b9cf36ed6e7b12512",
      "tree": "22387e037aae388648ea93b473fd9a7370ba841c",
      "parents": [
        "b7758ef178a69275162fec7fe92496b8e16db8e8"
      ],
      "author": {
        "name": "imbajin",
        "email": "jin@apache.org",
        "time": "Wed Oct 29 14:32:38 2025 +0800"
      },
      "committer": {
        "name": "imbajin",
        "email": "jin@apache.org",
        "time": "Wed Oct 29 15:58:32 2025 +0800"
      },
      "message": "docs(store): add comprehensive store design doc\n\nExpanded README.md with detailed overview, architecture, configuration, deployment, integration, and operational guidance for HugeGraph Store.\n\nAdded new documentation files covering distributed architecture, integration guide, operations guide, and query engine to provide in-depth technical reference for users and developers.\n"
    },
    {
      "commit": "b7758ef178a69275162fec7fe92496b8e16db8e8",
      "tree": "7e12f32d4075f28a5086132d19c7c9eca6670d2a",
      "parents": [
        "062771fa56ea304785c84367a2d2b36ec31b2d0e"
      ],
      "author": {
        "name": "koi",
        "email": "koi20000@163.com",
        "time": "Tue Oct 28 23:26:58 2025 +0800"
      },
      "committer": {
        "name": "imbajin",
        "email": "jin@apache.org",
        "time": "Wed Oct 29 15:58:32 2025 +0800"
      },
      "message": "fix(server): handle graph data sync inconsistent problem (#74)\n\n* feat(server): implement dynamic monitoring and management of graph instance\n\n* refactor(server): consolidate authority setting in PdMetaDriver and HugeGraphServer\n\n* refactor(service): enhance comments for clarity and synchronize graph start method"
    },
    {
      "commit": "062771fa56ea304785c84367a2d2b36ec31b2d0e",
      "tree": "d69071b71caca1383c6254155e4f427a2c81f906",
      "parents": [
        "66ff6682dd9e638c68b939e57e1539aad993f0cc"
      ],
      "author": {
        "name": "imbajin",
        "email": "jin@apache.org",
        "time": "Tue Oct 28 21:27:05 2025 +0800"
      },
      "committer": {
        "name": "imbajin",
        "email": "jin@apache.org",
        "time": "Wed Oct 29 15:58:32 2025 +0800"
      },
      "message": "docs(pd): add configuration \u0026 development guides for PD\n\nIntroduces comprehensive documentation for HugeGraph PD, including a configuration guide covering deployment scenarios, parameter tuning, and monitoring, as well as a development guide detailing environment setup, build/test workflows, code style, debugging, and contribution processes.\n"
    },
    {
      "commit": "66ff6682dd9e638c68b939e57e1539aad993f0cc",
      "tree": "574e4db34b5d215f7fa214f29d562826809f0b7d",
      "parents": [
        "053f562e0fc35a8a5cacd5eab12c55fd25c2f0b3"
      ],
      "author": {
        "name": "imbajin",
        "email": "jin@apache.org",
        "time": "Tue Oct 28 21:26:29 2025 +0800"
      },
      "committer": {
        "name": "imbajin",
        "email": "jin@apache.org",
        "time": "Wed Oct 29 15:58:32 2025 +0800"
      },
      "message": "docs(pd): add PD API reference documentation\n\nIntroduces a comprehensive API reference for HugeGraph PD, detailing gRPC services, Protocol Buffers definitions, Java client usage, REST API endpoints, error handling, and best practices for integration and cluster management.\n"
    },
    {
      "commit": "053f562e0fc35a8a5cacd5eab12c55fd25c2f0b3",
      "tree": "958063d7946907f748c104adb41f80b988a0afaf",
      "parents": [
        "af1453402cbd204c41d9c9f632fcc8c3ce7ecdae"
      ],
      "author": {
        "name": "imbajin",
        "email": "jin@apache.org",
        "time": "Tue Oct 28 21:25:19 2025 +0800"
      },
      "committer": {
        "name": "imbajin",
        "email": "jin@apache.org",
        "time": "Wed Oct 29 15:58:32 2025 +0800"
      },
      "message": "docs(pd): add PD architecture documentation\n\nIntroduces a comprehensive architecture overview for HugeGraph PD, detailing system responsibilities, module structure, core components, Raft consensus integration, data flows, and inter-service communication. This document serves as a technical reference for developers and maintainers.\n"
    },
    {
      "commit": "af1453402cbd204c41d9c9f632fcc8c3ce7ecdae",
      "tree": "8daecb27718297bc29bf67d79000367d7361ebb4",
      "parents": [
        "2fb3ced8cc9cab95bd90ae03a80c1ef6c7d4a200"
      ],
      "author": {
        "name": "imbajin",
        "email": "jin@apache.org",
        "time": "Tue Oct 28 21:24:36 2025 +0800"
      },
      "committer": {
        "name": "imbajin",
        "email": "jin@apache.org",
        "time": "Wed Oct 29 15:58:32 2025 +0800"
      },
      "message": "docs(pd): init HugeGraph-PD README file\n\nAdded WARP.md to .gitignore.\n\nThe HugeGraph PD README was significantly expanded with detailed overview, architecture, quick start instructions, configuration examples, API documentation, testing, Docker usage, production notes, and community resources.\n"
    },
    {
      "commit": "2fb3ced8cc9cab95bd90ae03a80c1ef6c7d4a200",
      "tree": "f2672a6363e3c0460b7ca1d1f15ac55f75665e74",
      "parents": [
        "5eeeb9a61247385e472607e541526902588e8fd5"
      ],
      "author": {
        "name": "imbajin",
        "email": "jin@apache.org",
        "time": "Sun Oct 26 14:28:09 2025 +0800"
      },
      "committer": {
        "name": "imbajin",
        "email": "jin@apache.org",
        "time": "Wed Oct 29 15:58:32 2025 +0800"
      },
      "message": "docs: add AGENTS.md with project guidance\n\nIntroduced AGENTS.md files to the root and all major modules to provide AI coding tool guidance, including architecture, build, test, and development workflows for each component.\n\nUpdated .gitignore to exclude various AI prompt files, ensuring only AGENTS.md is kept and others can be soft-linked as needed.\n"
    },
    {
      "commit": "5eeeb9a61247385e472607e541526902588e8fd5",
      "tree": "33a4a726c98dda3f42be335df40bd5731a091d2b",
      "parents": [
        "3c1dd5202ca1888fb8c549e37d203c08aaca597c"
      ],
      "author": {
        "name": "koi",
        "email": "koi20000@163.com",
        "time": "Tue Oct 28 17:19:50 2025 +0800"
      },
      "committer": {
        "name": "imbajin",
        "email": "jin@apache.org",
        "time": "Wed Oct 29 15:58:32 2025 +0800"
      },
      "message": "refactor(auth): simplify rpc-auth logic and clean legacy code (#73)\n\nEnhanced internal authentication logic and documentation in Authentication.java, emphasizing production security best practices. Refactored TokenUtil for clarity and immutability. Improved code formatting in PDPulseTest and SampleRegister, and updated ServiceConstant with stricter external exposure warnings.\n\n---------\n\nCo-authored-by: imbajin \u003cjin@apache.org\u003e"
    }
  ],
  "next": "3c1dd5202ca1888fb8c549e37d203c08aaca597c"
}
