)]}'
{
  "log": [
    {
      "commit": "f80e5568dc476f7e0bd56c73c88a0b46bf8018ca",
      "tree": "d24717075bdaedf862fcd8a5bb398f449a06bdb6",
      "parents": [
        "bdaee49fcc97486d64ae27a036de5077f49151eb"
      ],
      "author": {
        "name": "jerry",
        "email": "jinglining0@gmail.com",
        "time": "Fri Oct 09 16:11:50 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Oct 09 16:11:50 2026 +0800"
      },
      "message": "Support high-dimensional DiskANN vectors (#114)"
    },
    {
      "commit": "bdaee49fcc97486d64ae27a036de5077f49151eb",
      "tree": "038d32e297686f1971a51d9bf99e69fbc8140de6",
      "parents": [
        "47971a458654366135c6252352f9c35b50a0ffa5"
      ],
      "author": {
        "name": "Daoyuan Wang",
        "email": "daoyuan.wdy@alibaba-inc.com",
        "time": "Fri Oct 09 16:07:06 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Oct 09 16:07:06 2026 +0800"
      },
      "message": "fix: avoid 4-bit IVF-PQ accumulator overflow (#111)"
    },
    {
      "commit": "47971a458654366135c6252352f9c35b50a0ffa5",
      "tree": "f44d28bfe9ad595b92ea076da51a844c652f58c0",
      "parents": [
        "17b1941402649a971d93a3383ab1e3fc49eaaa92"
      ],
      "author": {
        "name": "Daoyuan Wang",
        "email": "me@daoyuan.wang",
        "time": "Fri Oct 09 15:14:38 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Oct 09 15:14:38 2026 +0800"
      },
      "message": "fix: align Python buffers before native calls (#113)"
    },
    {
      "commit": "17b1941402649a971d93a3383ab1e3fc49eaaa92",
      "tree": "41ce6d3a6e0f6ae3b490ba126673fb40ceed6135",
      "parents": [
        "0e25175f3c8be993a6e31c0c1e95d4ee600e2213"
      ],
      "author": {
        "name": "Junrui Lee",
        "email": "jrlee.ljr@gmail.com",
        "time": "Tue Sep 22 13:45:17 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Sep 22 13:45:17 2026 +0800"
      },
      "message": "feat: add range search across language bindings (#110)"
    },
    {
      "commit": "0e25175f3c8be993a6e31c0c1e95d4ee600e2213",
      "tree": "023c08479505f93aaad1087047cbbaec9587a4c0",
      "parents": [
        "4de0737ab88a98d728eecfb689a3eccb6ccabacc"
      ],
      "author": {
        "name": "Junrui Lee",
        "email": "jrlee.ljr@gmail.com",
        "time": "Mon Sep 21 10:34:04 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Sep 21 10:34:04 2026 +0800"
      },
      "message": "feat: add cosine and inner-product range search for IVF indexes (#108)"
    },
    {
      "commit": "4de0737ab88a98d728eecfb689a3eccb6ccabacc",
      "tree": "0ebd50a38cb80bd9b045829e4ea7ae0bbef06fe2",
      "parents": [
        "a36bb9719d3eae2eb258b117e9e937006ac836a5"
      ],
      "author": {
        "name": "jerry",
        "email": "jinglining0@gmail.com",
        "time": "Sun Sep 20 13:28:42 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sun Sep 20 13:28:42 2026 +0800"
      },
      "message": "docs: publish vector index 0.5.0 release notes (#109)"
    },
    {
      "commit": "a36bb9719d3eae2eb258b117e9e937006ac836a5",
      "tree": "8eaad118763d1fe6709a3ae5e91140311a64ca34",
      "parents": [
        "643b4edb24a90ce3f2b60d0f600029b9f4a93479"
      ],
      "author": {
        "name": "Junrui Lee",
        "email": "jrlee.ljr@gmail.com",
        "time": "Sun Sep 20 09:51:54 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sun Sep 20 09:51:54 2026 +0800"
      },
      "message": "feat: add IVF-PQ L2 distance range search (#107)"
    },
    {
      "commit": "643b4edb24a90ce3f2b60d0f600029b9f4a93479",
      "tree": "5f065e3d2d7dbd662d596837e623d441996f1d88",
      "parents": [
        "c2d9436c667d13e843ba66ed7151e8f691098f95"
      ],
      "author": {
        "name": "Junrui Lee",
        "email": "jrlee.ljr@gmail.com",
        "time": "Thu Sep 17 15:24:11 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Sep 17 15:24:11 2026 +0800"
      },
      "message": "feat: add IVF-SQ L2 distance range search (#106)"
    },
    {
      "commit": "c2d9436c667d13e843ba66ed7151e8f691098f95",
      "tree": "3eb4409dd40ee9201baae483d06af3958c5fb172",
      "parents": [
        "54d0eaa752341e4cd585655502cacd3e62fb50ee"
      ],
      "author": {
        "name": "Junrui Lee",
        "email": "jrlee.ljr@gmail.com",
        "time": "Wed Sep 16 13:57:47 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Sep 16 13:57:47 2026 +0800"
      },
      "message": "feat: add IVF-RQ distance range search (#104)"
    },
    {
      "commit": "54d0eaa752341e4cd585655502cacd3e62fb50ee",
      "tree": "d40e4e2efa3eba51a3e0beaf02cdca88e7440b27",
      "parents": [
        "75e391d6a5da24d5489f5c5e2a842851f8967805"
      ],
      "author": {
        "name": "jerry",
        "email": "jinglining0@gmail.com",
        "time": "Tue Sep 15 17:24:39 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Sep 15 17:24:39 2026 +0800"
      },
      "message": "fix: upgrade crossbeam-epoch to address RUSTSEC-2026-0204 (#105)"
    },
    {
      "commit": "75e391d6a5da24d5489f5c5e2a842851f8967805",
      "tree": "7d2719be91fca1e849170c37089a71e21915d81b",
      "parents": [
        "8fc9cbdbb601a98d39418c5c3cf4cea7144d890b"
      ],
      "author": {
        "name": "Junrui Lee",
        "email": "jrlee.ljr@gmail.com",
        "time": "Tue Sep 15 11:17:25 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Sep 15 11:17:25 2026 +0800"
      },
      "message": "feat: distance range search for IVF-Flat (#99)"
    },
    {
      "commit": "8fc9cbdbb601a98d39418c5c3cf4cea7144d890b",
      "tree": "a979b3e68bbcc30c10918ffa85d27970871d2dca",
      "parents": [
        "e4e322e5b5e582bf37dd31882674d0ad71182426"
      ],
      "author": {
        "name": "yantian",
        "email": "lining.jln@alibaba-inc.com",
        "time": "Mon Sep 14 17:08:59 2026 +0800"
      },
      "committer": {
        "name": "yantian",
        "email": "lining.jln@alibaba-inc.com",
        "time": "Mon Sep 14 17:08:59 2026 +0800"
      },
      "message": "fix license in dependencies.py\n"
    },
    {
      "commit": "e4e322e5b5e582bf37dd31882674d0ad71182426",
      "tree": "631cfe14cb47d549820ae8b164020098112748ce",
      "parents": [
        "d184608ca527dfe2b25e5d76769e777f16be1f89"
      ],
      "author": {
        "name": "jerry",
        "email": "jinglining0@gmail.com",
        "time": "Mon Sep 14 17:06:46 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Sep 14 17:06:46 2026 +0800"
      },
      "message": "Update version to 0.6.0-SNAPSHOT (#103)"
    },
    {
      "commit": "d184608ca527dfe2b25e5d76769e777f16be1f89",
      "tree": "f8a29f7ff83cdabd831f0d1ee697b4c489adc0a8",
      "parents": [
        "9464181434ab5d8bf73301c8b2d2924d7db8db16"
      ],
      "author": {
        "name": "jerry",
        "email": "jinglining0@gmail.com",
        "time": "Thu Sep 10 15:09:12 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Sep 10 15:09:12 2026 +0800"
      },
      "message": "feat: add configurable IVF and PQ training sample limits (#98)"
    },
    {
      "commit": "9464181434ab5d8bf73301c8b2d2924d7db8db16",
      "tree": "4f9ddd7996daa4ba9ca8242ce8273a55b9f4e43b",
      "parents": [
        "27af94dbd120da97a457d2b196b47e23912dbaa5"
      ],
      "author": {
        "name": "jerry",
        "email": "jinglining0@gmail.com",
        "time": "Wed Sep 09 11:19:40 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Sep 09 11:19:40 2026 +0800"
      },
      "message": "perf(pq): add transposed SIMD encoder with SGEMM fallback (#90)"
    },
    {
      "commit": "27af94dbd120da97a457d2b196b47e23912dbaa5",
      "tree": "ad502bb5543d8a8a22daa9870b9d1146601bd4df",
      "parents": [
        "8dcabf208c99707eab3938af0bcc40530fdb4cad"
      ],
      "author": {
        "name": "Jingsong Lee",
        "email": "jingsonglee0@gmail.com",
        "time": "Sun Sep 06 20:45:47 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sun Sep 06 20:45:47 2026 +0800"
      },
      "message": "perf: improve IVF-SQ training, encoding, and reader reuse (#91)"
    },
    {
      "commit": "8dcabf208c99707eab3938af0bcc40530fdb4cad",
      "tree": "493ebf7111baf47c9d2306d74c6687af22e0b692",
      "parents": [
        "2c88a3a0d4a9f9c5d62d7639832328a620a50533"
      ],
      "author": {
        "name": "jerry",
        "email": "jinglining0@gmail.com",
        "time": "Wed Sep 02 17:30:42 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Sep 02 17:30:42 2026 +0800"
      },
      "message": "perf: accelerate IVF builds with Vamana coarse assignment (#85)"
    },
    {
      "commit": "2c88a3a0d4a9f9c5d62d7639832328a620a50533",
      "tree": "5384b4c3df8179ff7dbb6cf76561c8f964299365",
      "parents": [
        "5400ab57c4d1aa09a791e038ff315e261658fa01"
      ],
      "author": {
        "name": "jerry",
        "email": "jinglining0@gmail.com",
        "time": "Wed Sep 02 15:33:13 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Sep 02 15:33:13 2026 +0800"
      },
      "message": "perf: batch IVF-PQ encoding with blocked SGEMM (#82)"
    },
    {
      "commit": "5400ab57c4d1aa09a791e038ff315e261658fa01",
      "tree": "4a97259d49b7437d2782bd57822dd61eab9ed510",
      "parents": [
        "aea6e082d8a9d707a85ac35f91d4280d13ba8f55"
      ],
      "author": {
        "name": "shyjsarah",
        "email": "44659226+shyjsarah@users.noreply.github.com",
        "time": "Fri Aug 21 18:35:51 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Aug 21 18:35:51 2026 +0800"
      },
      "message": "fix: include LICENSE and NOTICE in Rust crate (#84)\n\nCo-authored-by: shaoyijie \u003cshaoyijie.syj@alibaba-inc.com\u003e"
    },
    {
      "commit": "aea6e082d8a9d707a85ac35f91d4280d13ba8f55",
      "tree": "ee8820d9a778e2f6df686c0829450210c6bc2e5a",
      "parents": [
        "759149688be9f3f8217c185439c45978c3295be1"
      ],
      "author": {
        "name": "shyjsarah",
        "email": "44659226+shyjsarah@users.noreply.github.com",
        "time": "Fri Aug 21 15:52:03 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Aug 21 15:52:03 2026 +0800"
      },
      "message": "docs: publish 0.4.0 release links (#83)"
    },
    {
      "commit": "759149688be9f3f8217c185439c45978c3295be1",
      "tree": "31d584b6ad7760d90c5f766733ded20f1b929184",
      "parents": [
        "84d1a40840b5286fcf1ade88bf32e33586505528"
      ],
      "author": {
        "name": "shyjsarah",
        "email": "44659226+shyjsarah@users.noreply.github.com",
        "time": "Mon Aug 17 15:53:05 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Aug 17 15:53:05 2026 +0800"
      },
      "message": "chore: start 0.5.0 development (#80)\n\nCo-authored-by: shyjsara \u003cshaoyijie.syj@alibaba-inc.com\u003e"
    },
    {
      "commit": "84d1a40840b5286fcf1ade88bf32e33586505528",
      "tree": "fd849cbf0ba57da326acbef753497f2fad37b6ee",
      "parents": [
        "b5b4a77f2a6a980c7602a7fc532472fb32ae117e"
      ],
      "author": {
        "name": "shyjsarah",
        "email": "44659226+shyjsarah@users.noreply.github.com",
        "time": "Mon Aug 17 14:37:49 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Aug 17 14:37:49 2026 +0800"
      },
      "message": "chore: prepare release 0.4.0 (#79)\n\nCo-authored-by: shyjsarah \u003cshaoyijie.syj@alibaba-inc.com\u003e"
    },
    {
      "commit": "b5b4a77f2a6a980c7602a7fc532472fb32ae117e",
      "tree": "9c81aaf5c414a06c515d34a6a05240c54af4f648",
      "parents": [
        "f3e031b6206e27789636eb2a0463ba0e4802aed9"
      ],
      "author": {
        "name": "jerry",
        "email": "jinglining0@gmail.com",
        "time": "Thu Aug 13 17:49:50 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Aug 13 17:49:50 2026 +0800"
      },
      "message": "fix: bound IVF-Flat serialization allocations (#77)"
    },
    {
      "commit": "f3e031b6206e27789636eb2a0463ba0e4802aed9",
      "tree": "5375141be584244b7c9c0c41a8797a63d17bf892",
      "parents": [
        "f41224ac56151521a689c74dcd0f565aec59e815"
      ],
      "author": {
        "name": "jerry",
        "email": "jinglining0@gmail.com",
        "time": "Thu Aug 13 16:27:15 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Aug 13 16:27:15 2026 +0800"
      },
      "message": "[infra] Configure GitHub discussions notifications (#78)"
    },
    {
      "commit": "f41224ac56151521a689c74dcd0f565aec59e815",
      "tree": "cb87bd4ac922d9aec0d792bb1bf6db976c1d0b2e",
      "parents": [
        "ee17bfde5028e5d46aacc72192d078daab7eceae"
      ],
      "author": {
        "name": "jerry",
        "email": "jinglining0@gmail.com",
        "time": "Thu Aug 13 15:45:19 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Aug 13 15:45:19 2026 +0800"
      },
      "message": "perf(ivfpq): speed up transposed PQ8 scans (#76)"
    },
    {
      "commit": "ee17bfde5028e5d46aacc72192d078daab7eceae",
      "tree": "407c241d11326dc7f2b79f039ec16a8f478e0f3a",
      "parents": [
        "cf0506dac7fc1700d5a9898c00a41cc42a7c4868"
      ],
      "author": {
        "name": "jerry",
        "email": "jinglining0@gmail.com",
        "time": "Thu Aug 13 09:38:58 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Aug 13 09:38:58 2026 +0800"
      },
      "message": "feat(logging): bridge native IVF-PQ diagnostics to SLF4J (#75)"
    },
    {
      "commit": "cf0506dac7fc1700d5a9898c00a41cc42a7c4868",
      "tree": "ff57277979dbd6f4057f35e071e2e2dc32b8df4d",
      "parents": [
        "b36f8a9c926c4556a595f407de44e4a65939af6c"
      ],
      "author": {
        "name": "shyjsarah",
        "email": "44659226+shyjsarah@users.noreply.github.com",
        "time": "Wed Aug 12 15:44:15 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Aug 12 15:44:15 2026 +0800"
      },
      "message": "ivf: incrementally scan expanded batch probe ranges (#73)\n\nCo-authored-by: shaoyijie \u003cshaoyijie.syj@alibaba-inc.com\u003e"
    },
    {
      "commit": "b36f8a9c926c4556a595f407de44e4a65939af6c",
      "tree": "af28996890c05e83e3a8d7365320cebdccd6302b",
      "parents": [
        "fd3fd3b504aec6049b18cf40e8fcf75ab5bc9bc3"
      ],
      "author": {
        "name": "shyjsarah",
        "email": "44659226+shyjsarah@users.noreply.github.com",
        "time": "Wed Aug 12 11:44:35 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Aug 12 11:44:35 2026 +0800"
      },
      "message": "ivf: Retry only incomplete queries in automatic batch search (#72)\n\nCo-authored-by: shaoyijie \u003cshaoyijie.syj@alibaba-inc.com\u003e"
    },
    {
      "commit": "fd3fd3b504aec6049b18cf40e8fcf75ab5bc9bc3",
      "tree": "83ad34d151757b67a0040bb4bcaa3b079e028df3",
      "parents": [
        "d5efa3f31116c347108e4c74dac804a75f169abb"
      ],
      "author": {
        "name": "jerry",
        "email": "jinglining0@gmail.com",
        "time": "Fri Aug 07 15:21:30 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Aug 07 15:21:30 2026 +0800"
      },
      "message": "fix: stabilize IVF-PQ k-means training (#71)"
    },
    {
      "commit": "d5efa3f31116c347108e4c74dac804a75f169abb",
      "tree": "5dfb761c2cfebd87b9d34d4df66e8812b3f275a1",
      "parents": [
        "6374d05c6226a0495c621c81d9207cdeb2186051"
      ],
      "author": {
        "name": "shyjsarah",
        "email": "44659226+shyjsarah@users.noreply.github.com",
        "time": "Fri Aug 07 10:32:41 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Aug 07 10:32:41 2026 +0800"
      },
      "message": "ffi: Add extensible C search parameters (#70)\n\nCo-authored-by: shaoyijie \u003cshaoyijie.syj@alibaba-inc.com\u003e"
    },
    {
      "commit": "6374d05c6226a0495c621c81d9207cdeb2186051",
      "tree": "f2b4ab1392a313b4742f2841466994ba7b709ef1",
      "parents": [
        "ba41a5f730397553a10806e72074031298464bf5"
      ],
      "author": {
        "name": "jerry",
        "email": "jinglining0@gmail.com",
        "time": "Wed Aug 05 10:12:32 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Aug 05 10:12:32 2026 +0800"
      },
      "message": "fix: satisfy collapsible else-if lint (#69)"
    },
    {
      "commit": "ba41a5f730397553a10806e72074031298464bf5",
      "tree": "7aedf1b11068e1a484cbba7976e015b0a89bd79a",
      "parents": [
        "2a8d88ac67b40944c9728195a3ecbc298afe06cc"
      ],
      "author": {
        "name": "shyjsarah",
        "email": "44659226+shyjsarah@users.noreply.github.com",
        "time": "Tue Aug 04 11:26:19 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Aug 04 11:26:19 2026 +0800"
      },
      "message": "feat: make initial IVF filter expansion configurable (#68)"
    },
    {
      "commit": "2a8d88ac67b40944c9728195a3ecbc298afe06cc",
      "tree": "593dae8990def39335fedd4220de515c0f835738",
      "parents": [
        "4529c2996a73915b97369c6790cd2e42672b30a6"
      ],
      "author": {
        "name": "jerry",
        "email": "jinglining0@gmail.com",
        "time": "Mon Aug 03 21:40:15 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Aug 03 21:40:15 2026 +0800"
      },
      "message": "ivfpq: Reuse query distance tables across IVF lists (#67)"
    },
    {
      "commit": "4529c2996a73915b97369c6790cd2e42672b30a6",
      "tree": "55c4a96f779909d7ec5b146bbc0470e3e7b562af",
      "parents": [
        "517c06ab0ad2caa8e8b0df9007728ee9a699ceb9"
      ],
      "author": {
        "name": "Jingsong Lee",
        "email": "jingsonglee0@gmail.com",
        "time": "Thu Jul 30 15:46:39 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Jul 30 15:46:39 2026 +0800"
      },
      "message": "Optimize IVF-RQ scan and diagnostics (#66)"
    },
    {
      "commit": "517c06ab0ad2caa8e8b0df9007728ee9a699ceb9",
      "tree": "26153bc2567986a1e71a4c632482a50dc431f16f",
      "parents": [
        "a722d213b95a923157292bd8595b324ed2cbad65"
      ],
      "author": {
        "name": "shyjsarah",
        "email": "44659226+shyjsarah@users.noreply.github.com",
        "time": "Thu Jul 30 13:26:02 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Jul 30 13:26:02 2026 +0800"
      },
      "message": "ivfpq: Reuse list tables in batch search (#65)"
    },
    {
      "commit": "a722d213b95a923157292bd8595b324ed2cbad65",
      "tree": "3d818f398de748664fd46386e2c165813fb1c98a",
      "parents": [
        "6f64337f9f5d75cda5d8bd292d8c9d6eddfb58b0"
      ],
      "author": {
        "name": "shyjsarah",
        "email": "44659226+shyjsarah@users.noreply.github.com",
        "time": "Wed Jul 29 22:12:53 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Jul 29 22:12:53 2026 +0800"
      },
      "message": "ivfpq: Push down row filters for 8-bit batch scans (#64)"
    },
    {
      "commit": "6f64337f9f5d75cda5d8bd292d8c9d6eddfb58b0",
      "tree": "f17d63ef9377543cf417932ed41755d5b013ddf9",
      "parents": [
        "1435943a9d45b887d5de7a03330f9dd78acda6e1"
      ],
      "author": {
        "name": "JingsongLi",
        "email": "jingsonglee0@gmail.com",
        "time": "Wed Jul 29 11:43:40 2026 +0800"
      },
      "committer": {
        "name": "JingsongLi",
        "email": "jingsonglee0@gmail.com",
        "time": "Wed Jul 29 11:43:40 2026 +0800"
      },
      "message": "change notice 2025 to 2026\n"
    },
    {
      "commit": "1435943a9d45b887d5de7a03330f9dd78acda6e1",
      "tree": "b61cec898a10eb38e8e8e017f4bbd9c77fe3b9be",
      "parents": [
        "0b4ac9a3247b1eae0e83ab4452cfe3bed83e4a9e"
      ],
      "author": {
        "name": "JingsongLi",
        "email": "jingsonglee0@gmail.com",
        "time": "Sun Jul 26 21:00:30 2026 +0800"
      },
      "committer": {
        "name": "JingsongLi",
        "email": "jingsonglee0@gmail.com",
        "time": "Sun Jul 26 21:00:43 2026 +0800"
      },
      "message": "fix: support macOS release staging script\n\nSigned-off-by: JingsongLi \u003cjingsonglee0@gmail.com\u003e\n"
    },
    {
      "commit": "0b4ac9a3247b1eae0e83ab4452cfe3bed83e4a9e",
      "tree": "4ddcceafcac5e3df774bf2afdcb7364f17af1ed0",
      "parents": [
        "48aff2f0bcaaf43b8506d06003fafc03d3d4763b"
      ],
      "author": {
        "name": "JingsongLi",
        "email": "jingsonglee0@gmail.com",
        "time": "Sun Jul 26 20:48:48 2026 +0800"
      },
      "committer": {
        "name": "JingsongLi",
        "email": "jingsonglee0@gmail.com",
        "time": "Sun Jul 26 20:49:02 2026 +0800"
      },
      "message": "build: keep release legal files byte-stable\n\nSigned-off-by: JingsongLi \u003cjingsonglee0@gmail.com\u003e\n"
    },
    {
      "commit": "48aff2f0bcaaf43b8506d06003fafc03d3d4763b",
      "tree": "6393f94bbeb0cd58a8fc872c4e5850176a807a04",
      "parents": [
        "01d6f5809371e3f2351aba50dd5d1c52710b3dd1"
      ],
      "author": {
        "name": "JingsongLi",
        "email": "jingsonglee0@gmail.com",
        "time": "Sun Jul 26 20:38:43 2026 +0800"
      },
      "committer": {
        "name": "JingsongLi",
        "email": "jingsonglee0@gmail.com",
        "time": "Sun Jul 26 20:38:55 2026 +0800"
      },
      "message": "ci: use available JDK for macOS release smoke\n\nSigned-off-by: JingsongLi \u003cjingsonglee0@gmail.com\u003e\n"
    },
    {
      "commit": "01d6f5809371e3f2351aba50dd5d1c52710b3dd1",
      "tree": "796cbf135309a8a4febe1bc9fc9daa1dd3e55442",
      "parents": [
        "b378b7b7bdd37a52371b06a8e203005a7562ad70"
      ],
      "author": {
        "name": "JingsongLi",
        "email": "jingsonglee0@gmail.com",
        "time": "Sun Jul 26 20:01:48 2026 +0800"
      },
      "committer": {
        "name": "JingsongLi",
        "email": "jingsonglee0@gmail.com",
        "time": "Sun Jul 26 20:03:51 2026 +0800"
      },
      "message": "fix: harden release binary artifacts\n"
    },
    {
      "commit": "b378b7b7bdd37a52371b06a8e203005a7562ad70",
      "tree": "53aa243e6afc6cbbedb46a6b4e299e9568f00347",
      "parents": [
        "706b6c6fb4de90a6680fffa556cd8c41b539c177"
      ],
      "author": {
        "name": "JingsongLi",
        "email": "jingsonglee0@gmail.com",
        "time": "Sun Jul 26 15:06:42 2026 +0800"
      },
      "committer": {
        "name": "JingsongLi",
        "email": "jingsonglee0@gmail.com",
        "time": "Sun Jul 26 15:47:17 2026 +0800"
      },
      "message": "fix: support license checks in source archives\n"
    },
    {
      "commit": "706b6c6fb4de90a6680fffa556cd8c41b539c177",
      "tree": "01d29034909941a9d41dde79b2eccb4cca6711cc",
      "parents": [
        "b921fe8a68fd1b2f9ffc90c11b5d9daff6e8a93f"
      ],
      "author": {
        "name": "JingsongLi",
        "email": "jingsonglee0@gmail.com",
        "time": "Sun Jul 26 14:56:12 2026 +0800"
      },
      "committer": {
        "name": "JingsongLi",
        "email": "jingsonglee0@gmail.com",
        "time": "Sun Jul 26 14:56:12 2026 +0800"
      },
      "message": "fix: exempt generated dependency reports from license check\n"
    },
    {
      "commit": "b921fe8a68fd1b2f9ffc90c11b5d9daff6e8a93f",
      "tree": "e61a0d91583770d291a242e21b9f2c41e94522cd",
      "parents": [
        "4088f3926a552e35a9239531184dfeb714e353ca"
      ],
      "author": {
        "name": "JingsongLi",
        "email": "jingsonglee0@gmail.com",
        "time": "Sun Jul 26 14:44:06 2026 +0800"
      },
      "committer": {
        "name": "JingsongLi",
        "email": "jingsonglee0@gmail.com",
        "time": "Sun Jul 26 14:44:06 2026 +0800"
      },
      "message": "fix: align main workspace dependencies with 0.4.0\n"
    },
    {
      "commit": "4088f3926a552e35a9239531184dfeb714e353ca",
      "tree": "c663865dc8e3e8c268e3fb2d525d536a37c66508",
      "parents": [
        "f41f0e0c9645546b06eb54a9540a5eb95226b974"
      ],
      "author": {
        "name": "JingsongLi",
        "email": "jingsonglee0@gmail.com",
        "time": "Sun Jul 26 14:43:33 2026 +0800"
      },
      "committer": {
        "name": "JingsongLi",
        "email": "jingsonglee0@gmail.com",
        "time": "Sun Jul 26 14:43:33 2026 +0800"
      },
      "message": "Update version to 0.4.0-SNAPSHOT\n"
    },
    {
      "commit": "f41f0e0c9645546b06eb54a9540a5eb95226b974",
      "tree": "c953004ca8cb073844a9125cd88e7ab61694b785",
      "parents": [
        "facb7e0ab79341ac3242397b733a8de3f7000eec"
      ],
      "author": {
        "name": "JingsongLi",
        "email": "jingsonglee0@gmail.com",
        "time": "Sun Jul 26 14:39:01 2026 +0800"
      },
      "committer": {
        "name": "JingsongLi",
        "email": "jingsonglee0@gmail.com",
        "time": "Sun Jul 26 14:39:01 2026 +0800"
      },
      "message": "chore: update dependency list for release 0.3.0\n"
    },
    {
      "commit": "facb7e0ab79341ac3242397b733a8de3f7000eec",
      "tree": "7e1c000e3483462b317ef1ca5434b6e2e46078c4",
      "parents": [
        "ddf9f9751d38e624853ac2f42bfda96cd144b9d0"
      ],
      "author": {
        "name": "Jingsong Lee",
        "email": "jingsonglee0@gmail.com",
        "time": "Sun Jul 26 14:28:09 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sun Jul 26 14:28:09 2026 +0800"
      },
      "message": "docs: add release and candidate verification guides (#63)"
    },
    {
      "commit": "ddf9f9751d38e624853ac2f42bfda96cd144b9d0",
      "tree": "b4b9bf59f4a119889a5ff688b6240215ad185242",
      "parents": [
        "3e43efb7ec3b18bc3d5b495219fdfc17b5743ac1"
      ],
      "author": {
        "name": "Jingsong Lee",
        "email": "jingsonglee0@gmail.com",
        "time": "Sun Jul 26 13:56:34 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sun Jul 26 13:56:34 2026 +0800"
      },
      "message": "feat: add native DiskANN and adaptive IVF indexes (#62)"
    },
    {
      "commit": "3e43efb7ec3b18bc3d5b495219fdfc17b5743ac1",
      "tree": "ab17ec59782f9dbdca32bd14ac1c3c8ec59a0dc5",
      "parents": [
        "1499263aeadfb3f3d94111c2718e8a22bc7dc443"
      ],
      "author": {
        "name": "Jingsong Lee",
        "email": "jingsonglee0@gmail.com",
        "time": "Wed Jul 22 20:24:26 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Jul 22 20:24:26 2026 +0800"
      },
      "message": "docs: add vector index selection and API guide (#61)"
    },
    {
      "commit": "1499263aeadfb3f3d94111c2718e8a22bc7dc443",
      "tree": "640a3bacb6f0713b7fbb5ea8503065ea53ccbde3",
      "parents": [
        "e46ce05189946c74daf94785417f41e120f2ac79"
      ],
      "author": {
        "name": "Jingsong Lee",
        "email": "jingsonglee0@gmail.com",
        "time": "Wed Jul 22 15:51:27 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Jul 22 15:51:27 2026 +0800"
      },
      "message": "Batch positional reads across C and Python (#60)"
    },
    {
      "commit": "e46ce05189946c74daf94785417f41e120f2ac79",
      "tree": "0de16f4b0a6731124d63ee24e6c1d7233b263e6d",
      "parents": [
        "2cebf02e68d145ba60e55bce4d37732c3b8f221c"
      ],
      "author": {
        "name": "jianguotian",
        "email": "841604084@qq.com",
        "time": "Wed Jul 22 11:13:47 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Jul 22 11:13:47 2026 +0800"
      },
      "message": "ci: move Java staging deploy to local release script (#54)"
    },
    {
      "commit": "2cebf02e68d145ba60e55bce4d37732c3b8f221c",
      "tree": "cb0f85dac17df4c89347e902ad50fb8e41441a0c",
      "parents": [
        "26044a3d371f81aaad534e188280f1493610eb6b"
      ],
      "author": {
        "name": "jianguotian",
        "email": "841604084@qq.com",
        "time": "Wed Jul 22 11:13:39 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Jul 22 11:13:39 2026 +0800"
      },
      "message": "Add ASF license header check (#55)"
    },
    {
      "commit": "26044a3d371f81aaad534e188280f1493610eb6b",
      "tree": "c469c883e790cd1791c0b3514fa9deb7bab3b968",
      "parents": [
        "93753f7dc8fea0402f7a5c8ee9f080168b553219"
      ],
      "author": {
        "name": "Jingsong Lee",
        "email": "jingsonglee0@gmail.com",
        "time": "Fri Jul 10 10:20:01 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Jul 10 10:20:01 2026 +0800"
      },
      "message": "Optimize IVF-RQ search hot paths (#57)"
    },
    {
      "commit": "93753f7dc8fea0402f7a5c8ee9f080168b553219",
      "tree": "224896ceec7f1f0ebc7f39713badc41cf80472e6",
      "parents": [
        "6e5fb91e28d66a332b1e6e9a8ff035f7c3d3ff8a"
      ],
      "author": {
        "name": "Jingsong Lee",
        "email": "jingsonglee0@gmail.com",
        "time": "Thu Jul 09 19:39:43 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Jul 09 19:39:43 2026 +0800"
      },
      "message": "Add IVF_RQ query bits and format reservations (#56)"
    },
    {
      "commit": "6e5fb91e28d66a332b1e6e9a8ff035f7c3d3ff8a",
      "tree": "389b12ee58cc06cce8338d23754f889690c98d4b",
      "parents": [
        "35c461e15fab82312b709b60ce2fce3e4e55ac84",
        "76ccb19d36d0170866448c5f1fbe2493eacb3800"
      ],
      "author": {
        "name": "jerry",
        "email": "jinglining0@gmail.com",
        "time": "Tue Jun 30 11:13:50 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Jun 30 11:13:50 2026 +0800"
      },
      "message": "Merge pull request #53 from XiaoHongbo-Hope/bump-java-snapshot-0.2.0\n\n[java] Bump snapshot version to 0.2.0"
    },
    {
      "commit": "76ccb19d36d0170866448c5f1fbe2493eacb3800",
      "tree": "389b12ee58cc06cce8338d23754f889690c98d4b",
      "parents": [
        "5cb54e1f122817fa75e4c1ad378fa00aceee94d6"
      ],
      "author": {
        "name": "Hongbo Xiao",
        "email": "hope@apache.org",
        "time": "Mon Jun 29 20:10:07 2026 -0700"
      },
      "committer": {
        "name": "Hongbo Xiao",
        "email": "hope@apache.org",
        "time": "Mon Jun 29 20:10:07 2026 -0700"
      },
      "message": "Bump Rust and Python versions to 0.2.0\n"
    },
    {
      "commit": "5cb54e1f122817fa75e4c1ad378fa00aceee94d6",
      "tree": "6cc41f4b3aef63ef514c084adfe1d0fe16f6645f",
      "parents": [
        "35c461e15fab82312b709b60ce2fce3e4e55ac84"
      ],
      "author": {
        "name": "Hongbo Xiao",
        "email": "hope@apache.org",
        "time": "Mon Jun 29 20:00:16 2026 -0700"
      },
      "committer": {
        "name": "Hongbo Xiao",
        "email": "hope@apache.org",
        "time": "Mon Jun 29 20:00:16 2026 -0700"
      },
      "message": "[java] Bump snapshot version to 0.2.0\n"
    },
    {
      "commit": "35c461e15fab82312b709b60ce2fce3e4e55ac84",
      "tree": "9c70f2bab788021536e777d8d31ad5ac9fa6f5b3",
      "parents": [
        "ef2cd40b616ecd00f7e6a95ff7e0e8a86be5eeb6"
      ],
      "author": {
        "name": "jerry",
        "email": "jinglining0@gmail.com",
        "time": "Tue Jun 30 10:43:00 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Jun 30 10:43:00 2026 +0800"
      },
      "message": "Convert API to batched vector index training (#52)"
    },
    {
      "commit": "ef2cd40b616ecd00f7e6a95ff7e0e8a86be5eeb6",
      "tree": "774192c1ab1f5038301c7a48627438d4efcbda16",
      "parents": [
        "6c86ade48588325e0ace3aa532ed9a2cec09fc55"
      ],
      "author": {
        "name": "XiaoHongbo",
        "email": "hope@apache.org",
        "time": "Fri Jun 19 22:25:26 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Jun 19 22:25:26 2026 +0800"
      },
      "message": "[java] Exclude native libraries from sources jar (#50)\n\nThe release build downloads the platform native libraries into\njava/src/main/resources/native/ before packaging, and Maven places\nthem into the binary jar as intended. However maven-source-plugin\nincludes resource directories by default, so the -sources.jar also\nbundled the native .so/.dylib/.dll binaries, making it nearly the\nsame size as the binary jar (~29MB) and shipping platform binaries\nin a sources artifact."
    },
    {
      "commit": "6c86ade48588325e0ace3aa532ed9a2cec09fc55",
      "tree": "2eb87abda02cdc6f7fe7d77b17210d194d4f0bba",
      "parents": [
        "a20342329b2de550fb1948784a784673835119dd"
      ],
      "author": {
        "name": "jianguotian",
        "email": "841604084@qq.com",
        "time": "Fri Jun 19 15:11:33 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Jun 19 15:11:33 2026 +0800"
      },
      "message": "build(crates): add description to core and jni crates (#49)\n\n* build(crates): add description to core and jni crates\n\ncrates.io rejects publish without a description field; core and jni were\nmissing it (ffi already had one), failing the final-tag rust release. RC\nonly runs cargo publish --dry-run, which skips the server-side metadata\ncheck, so this surfaced only on the v0.1.0 publish.\n\n* build(crates): pin core version on ffi/jni path deps\n\ncargo publish rejects path deps without a version requirement. ffi/jni\ndepend on core via path-only, so they cannot be published. Pin version\u003d0.1.0\nalongside the path so the publish keeps the path for local builds and the\nversion for crates.io.\n\n---------\n\nCo-authored-by: jianguotian \u003cjianguotian2010@gmail.com\u003e"
    },
    {
      "commit": "a20342329b2de550fb1948784a784673835119dd",
      "tree": "dff3ac1a21bcea5f5320f7c9032bcf10b8d1b7ae",
      "parents": [
        "d815d0e5effe3dd7ac8e4977dc9868287f1141f3"
      ],
      "author": {
        "name": "jianguotian",
        "email": "841604084@qq.com",
        "time": "Mon Jun 15 16:55:41 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Jun 15 16:55:41 2026 +0800"
      },
      "message": "ci: bump cibuildwheel to v4.1.0 (allowlisted SHA) (#48)\n\nThe pinned v3.3.1 SHA fell off the ASF Actions allowlist, causing Release\nstartup_failure on rc tags. Bump to v4.1.0, a current allowlisted SHA.\n\nCo-authored-by: mingfeng \u003ctjg281622@antgroup.com\u003e\nCo-authored-by: Claude Opus 4.8 \u003cnoreply@anthropic.com\u003e"
    },
    {
      "commit": "d815d0e5effe3dd7ac8e4977dc9868287f1141f3",
      "tree": "6d73899f6808eeacd5f20c2e6023f28a254fdd99",
      "parents": [
        "22e4990182467401a2f12b4917b0f0ee1e311fbe",
        "dfee3516fcf9998b181459bebd3a00ce7655116f"
      ],
      "author": {
        "name": "XiaoHongbo",
        "email": "hope@apache.org",
        "time": "Sat Jun 13 20:42:08 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sat Jun 13 20:42:08 2026 +0800"
      },
      "message": "Merge pull request #46 from jianguotian/fix-bench-asf-header\n\n[core] Add ASF license header to core/benches files"
    },
    {
      "commit": "dfee3516fcf9998b181459bebd3a00ce7655116f",
      "tree": "6d73899f6808eeacd5f20c2e6023f28a254fdd99",
      "parents": [
        "22e4990182467401a2f12b4917b0f0ee1e311fbe"
      ],
      "author": {
        "name": "jianguotian",
        "email": "jianguotian2010@gmail.com",
        "time": "Sat Jun 13 04:20:58 2026 -0700"
      },
      "committer": {
        "name": "jianguotian",
        "email": "jianguotian2010@gmail.com",
        "time": "Sat Jun 13 04:20:58 2026 -0700"
      },
      "message": "Add ASF license header to core/benches files\n\nThe four benchmark sources under core/benches/ are shipped in the\nsource release tarball but were missing the ASF license header,\nwhich fails the Apache RAT license check. Add the standard header.\n"
    },
    {
      "commit": "22e4990182467401a2f12b4917b0f0ee1e311fbe",
      "tree": "63599704d4d3b7d1f9231e12c1b9d01d508e7175",
      "parents": [
        "d3d3565d714a511e90db536f1cb15f3a1aedcd2e"
      ],
      "author": {
        "name": "XiaoHongbo",
        "email": "hope@apache.org",
        "time": "Sat Jun 13 15:04:48 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sat Jun 13 15:04:48 2026 +0800"
      },
      "message": "ci: deploy Java staging only for RC tags (#45)"
    },
    {
      "commit": "d3d3565d714a511e90db536f1cb15f3a1aedcd2e",
      "tree": "f6e5b2ca31a5aa58954f34bb1e62b570c857ec5e",
      "parents": [
        "acedeb99760c581e663dca16bd29231ff70f5650"
      ],
      "author": {
        "name": "XiaoHongbo",
        "email": "1346652787@qq.com",
        "time": "Sat Jun 13 13:29:14 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sat Jun 13 13:29:14 2026 +0800"
      },
      "message": "ci: fix staging repo description for Java release (#44)"
    },
    {
      "commit": "acedeb99760c581e663dca16bd29231ff70f5650",
      "tree": "d8cd3e88f468dddec775f0bdfb3c2a2c4b3bb0db",
      "parents": [
        "b974335df10db1b49d2175e727b8762c6a1e51b1"
      ],
      "author": {
        "name": "jianguotian",
        "email": "841604084@qq.com",
        "time": "Fri Jun 12 19:35:32 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Jun 12 19:35:32 2026 +0800"
      },
      "message": "ci: gate PyPI publish on rust+java success (#42)"
    },
    {
      "commit": "b974335df10db1b49d2175e727b8762c6a1e51b1",
      "tree": "ae6f7673329f424ac5ad1369c1009e468a0f5c43",
      "parents": [
        "054d7369114195d21d5a3abcb1b3f2d5ded6e26a"
      ],
      "author": {
        "name": "Jingsong Lee",
        "email": "jingsonglee0@gmail.com",
        "time": "Fri Jun 12 19:15:34 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Jun 12 19:15:34 2026 +0800"
      },
      "message": "Optimize SIMD hot paths in vector indexes (#43)"
    },
    {
      "commit": "054d7369114195d21d5a3abcb1b3f2d5ded6e26a",
      "tree": "79634d11dd33a6e1d36c64d34eb78af061e02335",
      "parents": [
        "81f5f8d1cb0053eae55eef337cd0689564775a09"
      ],
      "author": {
        "name": "jianguotian",
        "email": "841604084@qq.com",
        "time": "Fri Jun 12 14:49:25 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Jun 12 14:49:25 2026 +0800"
      },
      "message": "Add CI release infrastructure for Java/Rust/Python (#39)"
    },
    {
      "commit": "81f5f8d1cb0053eae55eef337cd0689564775a09",
      "tree": "d6271fc2449fa5d3232cdce68e324b47a0efc676",
      "parents": [
        "554b12143f2e8de1c3975eaabd778dcc86b81e98"
      ],
      "author": {
        "name": "Jingsong Lee",
        "email": "jingsonglee0@gmail.com",
        "time": "Fri Jun 12 11:36:00 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Jun 12 11:36:00 2026 +0800"
      },
      "message": "Expand release test coverage (#41)"
    },
    {
      "commit": "554b12143f2e8de1c3975eaabd778dcc86b81e98",
      "tree": "c5aec9b337019b4df4f62e57802daf6f14484a6f",
      "parents": [
        "b4b6a571f71baed313893282226bf169f0da757a"
      ],
      "author": {
        "name": "Jingsong Lee",
        "email": "jingsonglee0@gmail.com",
        "time": "Fri Jun 12 10:19:14 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Jun 12 10:19:14 2026 +0800"
      },
      "message": "Expose optimize for search API (#40)"
    },
    {
      "commit": "b4b6a571f71baed313893282226bf169f0da757a",
      "tree": "ead04235d2d7190429ab1c1a93ac0044c221bb10",
      "parents": [
        "dbf1d222f73a134270ed41636a79cc8232703e66"
      ],
      "author": {
        "name": "Jingsong Lee",
        "email": "jingsonglee0@gmail.com",
        "time": "Thu Jun 11 15:58:56 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Jun 11 15:58:56 2026 +0800"
      },
      "message": "Add C FFI and ctypes Python bindings (#38)"
    },
    {
      "commit": "dbf1d222f73a134270ed41636a79cc8232703e66",
      "tree": "b313ea828c9b1e294146a4f15f4c933992714124",
      "parents": [
        "711a715508c8783efad51a83d9ca8fd04050557e"
      ],
      "author": {
        "name": "Jingsong Lee",
        "email": "jingsonglee0@gmail.com",
        "time": "Thu Jun 11 13:07:46 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Jun 11 13:07:46 2026 +0800"
      },
      "message": "Reject non-zero v1 reserved bytes (#36)"
    },
    {
      "commit": "711a715508c8783efad51a83d9ca8fd04050557e",
      "tree": "9e42cc3e8ca40309fe99a23b671c03b79b15349a",
      "parents": [
        "9b7afc1fae91a46fafb86763ce290a779a4d3bd1"
      ],
      "author": {
        "name": "Jingsong Lee",
        "email": "jingsonglee0@gmail.com",
        "time": "Thu Jun 11 11:13:54 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Jun 11 11:13:54 2026 +0800"
      },
      "message": "Tighten HNSW v1 storage metadata (#35)"
    },
    {
      "commit": "9b7afc1fae91a46fafb86763ce290a779a4d3bd1",
      "tree": "aaaf4b80d4ea44523ac425349df79a2dec47e0f5",
      "parents": [
        "e97896e25c76c2998d745db9045dc41a372ba419"
      ],
      "author": {
        "name": "QuakeWang",
        "email": "45645138+QuakeWang@users.noreply.github.com",
        "time": "Thu Jun 11 11:06:09 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Jun 11 11:06:09 2026 +0800"
      },
      "message": "Reject non-finite vector inputs (#33)"
    },
    {
      "commit": "e97896e25c76c2998d745db9045dc41a372ba419",
      "tree": "a4a8f03c224909f263c09b41b84079ab65e963bf",
      "parents": [
        "9a6e09d6587ef7d2b6336a425e8425ac5da2e15a"
      ],
      "author": {
        "name": "Jingsong Lee",
        "email": "jingsonglee0@gmail.com",
        "time": "Thu Jun 11 09:34:18 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Jun 11 09:34:18 2026 +0800"
      },
      "message": "Expose metadata types as strings in bindings (#34)"
    },
    {
      "commit": "9a6e09d6587ef7d2b6336a425e8425ac5da2e15a",
      "tree": "bdc22e85d2e2f9708425980f473a25b7af62b68c",
      "parents": [
        "516fe27e08be8ab9e0fb6c86bc66311c1062a076"
      ],
      "author": {
        "name": "Jingsong Lee",
        "email": "jingsonglee0@gmail.com",
        "time": "Wed Jun 10 23:31:24 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Jun 10 23:31:24 2026 +0800"
      },
      "message": "Rename Java vector index package (#32)"
    },
    {
      "commit": "516fe27e08be8ab9e0fb6c86bc66311c1062a076",
      "tree": "c0c90a18b65d2d414143a582a85f96d3b64e2839",
      "parents": [
        "a95b6793e2df94948eb3dd22d322543e167d5ca8"
      ],
      "author": {
        "name": "Jingsong Lee",
        "email": "jingsonglee0@gmail.com",
        "time": "Wed Jun 10 22:59:10 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Jun 10 22:59:10 2026 +0800"
      },
      "message": "Simplify vector index options API (#31)"
    },
    {
      "commit": "a95b6793e2df94948eb3dd22d322543e167d5ca8",
      "tree": "18f130bfdb47c3f51ee2cf780addacb5d2bd8ff6",
      "parents": [
        "efb5e63286ca5f1cfdca00c71869c5faa931be2d"
      ],
      "author": {
        "name": "QuakeWang",
        "email": "45645138+QuakeWang@users.noreply.github.com",
        "time": "Wed Jun 10 17:57:32 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Jun 10 17:57:32 2026 +0800"
      },
      "message": "Guard JNI native handle lifecycle (#27)"
    },
    {
      "commit": "efb5e63286ca5f1cfdca00c71869c5faa931be2d",
      "tree": "96bf1e0623dff8df081106c137951cbef5f7d01d",
      "parents": [
        "f920f85dfe5c763336854c83dea19f2aecf5f822"
      ],
      "author": {
        "name": "Jingsong Lee",
        "email": "jingsonglee0@gmail.com",
        "time": "Wed Jun 10 17:40:09 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Jun 10 17:40:09 2026 +0800"
      },
      "message": "Add v1 storage format fixtures (#30)"
    },
    {
      "commit": "f920f85dfe5c763336854c83dea19f2aecf5f822",
      "tree": "fd6ed0fd7d3390fbff24482f73171eacfff17134",
      "parents": [
        "6eb0b374d80c5c0398e20eb326a8d36862ad6cdd"
      ],
      "author": {
        "name": "Jingsong Lee",
        "email": "jingsonglee0@gmail.com",
        "time": "Wed Jun 10 16:16:34 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Jun 10 16:16:34 2026 +0800"
      },
      "message": "Tighten v1 vector index format validation (#29)"
    },
    {
      "commit": "6eb0b374d80c5c0398e20eb326a8d36862ad6cdd",
      "tree": "4a018c96a8f1cc35617a37dba7a57a10d6e4e2a9",
      "parents": [
        "19dad70e4cafb0009cd32b467aaaf718488eae5b"
      ],
      "author": {
        "name": "Jingsong Lee",
        "email": "jingsonglee0@gmail.com",
        "time": "Wed Jun 10 15:31:19 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Jun 10 15:31:19 2026 +0800"
      },
      "message": "Update README for multiple vector indexes (#28)"
    },
    {
      "commit": "19dad70e4cafb0009cd32b467aaaf718488eae5b",
      "tree": "0cc07f6f46c260aed6c6ff2d1ae0c80be0206165",
      "parents": [
        "9299ff7b65ba5b4b375af5474d9db05dfd72c6bf"
      ],
      "author": {
        "name": "Jingsong Lee",
        "email": "jingsonglee0@gmail.com",
        "time": "Wed Jun 10 14:55:30 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Jun 10 14:55:30 2026 +0800"
      },
      "message": "Optimize vector index reads with batched pread (#26)"
    },
    {
      "commit": "9299ff7b65ba5b4b375af5474d9db05dfd72c6bf",
      "tree": "1fb7d7effcd8f1cb05c5c047848a77aad0d65ca3",
      "parents": [
        "fe773694fbb8adbbbb5f27ce4ad82ae40e75c69a"
      ],
      "author": {
        "name": "Jingsong Lee",
        "email": "jingsonglee0@gmail.com",
        "time": "Tue Jun 09 23:43:49 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Jun 09 23:43:49 2026 +0800"
      },
      "message": "Add ANN benchmark for vector indexes (#25)"
    },
    {
      "commit": "fe773694fbb8adbbbb5f27ce4ad82ae40e75c69a",
      "tree": "42110b3581b4fb63359f36135cd96204ad02d408",
      "parents": [
        "ac63164cb5c2071fbae415c7c499e2ad30ac8f5c"
      ],
      "author": {
        "name": "Jingsong Lee",
        "email": "jingsonglee0@gmail.com",
        "time": "Tue Jun 09 22:13:05 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Jun 09 22:13:05 2026 +0800"
      },
      "message": "Unify vector index APIs (#23)"
    },
    {
      "commit": "ac63164cb5c2071fbae415c7c499e2ad30ac8f5c",
      "tree": "c6b2ccff3d835ac9a7370574e3fee7feba495f99",
      "parents": [
        "a18e446f8a64aaa1fdd117dcbc12e02d1748b453"
      ],
      "author": {
        "name": "Jingsong Lee",
        "email": "jingsonglee0@gmail.com",
        "time": "Tue Jun 09 21:58:02 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Jun 09 21:58:02 2026 +0800"
      },
      "message": "Optimize HNSW index build performance (#24)"
    },
    {
      "commit": "a18e446f8a64aaa1fdd117dcbc12e02d1748b453",
      "tree": "4d3fa3de185cdafaac8e6c43b6117dc82ff364ac",
      "parents": [
        "1de37a0c30e17d5d96a2654cbe51fbb6236a1246"
      ],
      "author": {
        "name": "QuakeWang",
        "email": "45645138+QuakeWang@users.noreply.github.com",
        "time": "Tue Jun 09 21:38:07 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Jun 09 21:38:07 2026 +0800"
      },
      "message": "Guard JNI native calls against Rust panics (#21)"
    },
    {
      "commit": "1de37a0c30e17d5d96a2654cbe51fbb6236a1246",
      "tree": "7d8c1202ff924ad4f5237d245a4914e503b9a215",
      "parents": [
        "8bc5cfebc5a3151efefdcc4a76cad374be4a66df"
      ],
      "author": {
        "name": "Jingsong Lee",
        "email": "jingsonglee0@gmail.com",
        "time": "Tue Jun 09 16:51:16 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Jun 09 16:51:16 2026 +0800"
      },
      "message": "Improve IVF HNSW SQ quantization (#22)"
    },
    {
      "commit": "8bc5cfebc5a3151efefdcc4a76cad374be4a66df",
      "tree": "c07d49e32439b3332d49f57833aec4bf0064b7d4",
      "parents": [
        "8e170e772625be0dae2eba7418589928f7cc8641"
      ],
      "author": {
        "name": "Jingsong Lee",
        "email": "jingsonglee0@gmail.com",
        "time": "Tue Jun 09 15:19:40 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Jun 09 15:19:40 2026 +0800"
      },
      "message": "Add IVF HNSW SQ index (#20)"
    },
    {
      "commit": "8e170e772625be0dae2eba7418589928f7cc8641",
      "tree": "7f77b9520e8b935c8c28669c16c4cdec28cced56",
      "parents": [
        "f72c9b02ea4aa4533c46a153a1309a0666b01545"
      ],
      "author": {
        "name": "Jingsong Lee",
        "email": "jingsonglee0@gmail.com",
        "time": "Tue Jun 09 14:06:04 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Jun 09 14:06:04 2026 +0800"
      },
      "message": "Add IVF_HNSW_FLAT index and disk reader (#19)"
    },
    {
      "commit": "f72c9b02ea4aa4533c46a153a1309a0666b01545",
      "tree": "336e2f7f06d940467fe20832073645a520581f5c",
      "parents": [
        "9612a724b195b3918411b91154f3f3ed59a2c6bb"
      ],
      "author": {
        "name": "QuakeWang",
        "email": "45645138+QuakeWang@users.noreply.github.com",
        "time": "Tue Jun 09 12:01:21 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Jun 09 12:01:21 2026 +0800"
      },
      "message": "Guard IVFPQ index merge compatibility (#17)"
    },
    {
      "commit": "9612a724b195b3918411b91154f3f3ed59a2c6bb",
      "tree": "0b5d718e166abde5e47460ea0641f1f89a6c39e9",
      "parents": [
        "81963db3d39aaa83efc2c1eb52f04d7e5738548d"
      ],
      "author": {
        "name": "Jingsong Lee",
        "email": "jingsonglee0@gmail.com",
        "time": "Tue Jun 09 12:00:42 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Jun 09 12:00:42 2026 +0800"
      },
      "message": "Add IVF_FLAT vector index (#18)"
    },
    {
      "commit": "81963db3d39aaa83efc2c1eb52f04d7e5738548d",
      "tree": "2e4667017e4710e98445d82a3d0ed756325efc94",
      "parents": [
        "e78df42082e3f1a4b8aa02b5bdb97b3731f221bd"
      ],
      "author": {
        "name": "Jingsong Lee",
        "email": "jingsonglee0@gmail.com",
        "time": "Mon Jun 08 22:16:06 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Jun 08 22:16:06 2026 +0800"
      },
      "message": "Add Java and Python vector index APIs (#16)"
    },
    {
      "commit": "e78df42082e3f1a4b8aa02b5bdb97b3731f221bd",
      "tree": "e87f4eee7a8e150cf4ca0307b902115c70cb16ae",
      "parents": [
        "eddf3d4a8addfce1ade2b200e8ec451fdb47164b"
      ],
      "author": {
        "name": "JingsongLi",
        "email": "jingsonglee0@gmail.com",
        "time": "Mon Jun 08 20:26:56 2026 +0800"
      },
      "committer": {
        "name": "JingsongLi",
        "email": "jingsonglee0@gmail.com",
        "time": "Mon Jun 08 20:26:56 2026 +0800"
      },
      "message": "Add python/target/ to .gitignore\n"
    },
    {
      "commit": "eddf3d4a8addfce1ade2b200e8ec451fdb47164b",
      "tree": "923414935b354d1995efb5cc721a2275b532d1e1",
      "parents": [
        "3473e6056954b40a820555befe98eeb90293be26"
      ],
      "author": {
        "name": "Jingsong Lee",
        "email": "jingsonglee0@gmail.com",
        "time": "Mon Jun 08 20:25:54 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Jun 08 20:25:54 2026 +0800"
      },
      "message": "Add Roaring bitmap filter pushdown (#15)"
    },
    {
      "commit": "3473e6056954b40a820555befe98eeb90293be26",
      "tree": "78111e1a606c793225fc9c4e7f8aa4fc2ab36240",
      "parents": [
        "3d078cd7065dedf4472fe635be8b08e829c90bb6"
      ],
      "author": {
        "name": "Jingsong Lee",
        "email": "jingsonglee0@gmail.com",
        "time": "Mon Jun 08 19:20:27 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Jun 08 19:20:27 2026 +0800"
      },
      "message": "Reuse batch reader probed lists (#14)"
    },
    {
      "commit": "3d078cd7065dedf4472fe635be8b08e829c90bb6",
      "tree": "91a9e070fce502a1cc95bb8e33dbbee1becff897",
      "parents": [
        "cf73d26a6c326d9997716304c197bb295d758077"
      ],
      "author": {
        "name": "Jingsong Lee",
        "email": "jingsonglee0@gmail.com",
        "time": "Mon Jun 08 19:08:58 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Jun 08 19:08:58 2026 +0800"
      },
      "message": "Validate batch reader search inputs (#13)"
    },
    {
      "commit": "cf73d26a6c326d9997716304c197bb295d758077",
      "tree": "b25568ababa84f5fc01af2eb5907a1c3b7a59961",
      "parents": [
        "379b0e041c4110fc32934f1031ef7e7d8711b8b1"
      ],
      "author": {
        "name": "Jingsong Lee",
        "email": "jingsonglee0@gmail.com",
        "time": "Mon Jun 08 18:59:20 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Jun 08 18:59:20 2026 +0800"
      },
      "message": "Stream reader search for non-concurrent pread (#12)"
    },
    {
      "commit": "379b0e041c4110fc32934f1031ef7e7d8711b8b1",
      "tree": "7fd0f2065c72b10974a7eb79c5c64abab237282f",
      "parents": [
        "74eddafba46f45265ddcb9dd082757007527d8e2"
      ],
      "author": {
        "name": "Jingsong Lee",
        "email": "jingsonglee0@gmail.com",
        "time": "Mon Jun 08 17:40:24 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Jun 08 17:40:24 2026 +0800"
      },
      "message": "Reduce delta inverted list preads (#11)"
    },
    {
      "commit": "74eddafba46f45265ddcb9dd082757007527d8e2",
      "tree": "1b0b724bd08c7a33aa809568e00e489040068438",
      "parents": [
        "8b72bcda4cbf9e5f8d709ad83b8e5b5b3bd791bd"
      ],
      "author": {
        "name": "Jingsong Lee",
        "email": "jingsonglee0@gmail.com",
        "time": "Mon Jun 08 16:38:53 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Jun 08 16:38:53 2026 +0800"
      },
      "message": "Index disk shuffler partitions for direct reads (#10)"
    },
    {
      "commit": "8b72bcda4cbf9e5f8d709ad83b8e5b5b3bd791bd",
      "tree": "a7305f05837e60c1b09f79ee94513be646469947",
      "parents": [
        "16df93c442042b70c25a623d9a9b557242cc03fa"
      ],
      "author": {
        "name": "Jingsong Lee",
        "email": "jingsonglee0@gmail.com",
        "time": "Mon Jun 08 15:56:24 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Jun 08 15:56:24 2026 +0800"
      },
      "message": "Improve reader I/O for batch vector search (#9)"
    }
  ],
  "next": "16df93c442042b70c25a623d9a9b557242cc03fa"
}
