)]}'
{
  "log": [
    {
      "commit": "1158716f086944af9a36c49cddf3c098516fbb0c",
      "tree": "3e2dd51236ca86e98f2a100b0855e8f816134d4e",
      "parents": [
        "612ffb229748276037067eb8a915f8bb55a7e8a0"
      ],
      "author": {
        "name": "Jaideep Pyne",
        "email": "jaideeppyne1997@gmail.com",
        "time": "Fri Sep 18 14:28:20 2026 +0530"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Sep 18 08:58:20 2026 +0000"
      },
      "message": "fix(tdigest): preserve min/max when merging digests (#279)\n\nCo-authored-by: jaideeppyne \u003cjaideeppyne@users.noreply.github.com\u003e"
    },
    {
      "commit": "612ffb229748276037067eb8a915f8bb55a7e8a0",
      "tree": "cdbb6815ea8d525276b2294849c471da17ef9686",
      "parents": [
        "e85b5888989f9329e375bc3410aa619d9881a53d"
      ],
      "author": {
        "name": "tison",
        "email": "wander4096@gmail.com",
        "time": "Wed Sep 16 12:45:19 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Sep 16 04:45:19 2026 +0000"
      },
      "message": "feat(bloom): replace invert with a set difference operation (#278)"
    },
    {
      "commit": "e85b5888989f9329e375bc3410aa619d9881a53d",
      "tree": "42520fa423ede2400718260d3f22f5e832b38362",
      "parents": [
        "caa60a187c0f888aabcef6d356c80787a113a7b2"
      ],
      "author": {
        "name": "tison",
        "email": "wander4096@gmail.com",
        "time": "Fri Sep 04 17:36:00 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Sep 04 09:36:00 2026 +0000"
      },
      "message": "chore: Confirm 0.5.0 release date (#274)"
    },
    {
      "commit": "caa60a187c0f888aabcef6d356c80787a113a7b2",
      "tree": "bd993213e839d0fb6b69a86e12606088b3389452",
      "parents": [
        "3db8a5f1ebbb2df7ebe98c491b315341ab6643f6"
      ],
      "author": {
        "name": "tison",
        "email": "wander4096@gmail.com",
        "time": "Thu Sep 03 16:01:29 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Sep 03 16:01:29 2026 +0800"
      },
      "message": "build: drop the rust-toolchain.toml pin (#272)"
    },
    {
      "commit": "3db8a5f1ebbb2df7ebe98c491b315341ab6643f6",
      "tree": "ea988eab063258b0bde123194326256fa9e94556",
      "parents": [
        "bb6bbeca5fcb92730c5bd677dd64dfbe5bc0bb1a"
      ],
      "author": {
        "name": "Jeff Chung",
        "email": "78428519+jeffoodchain@users.noreply.github.com",
        "time": "Wed Sep 02 21:59:21 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Sep 02 13:59:21 2026 +0000"
      },
      "message": "refactor: remove the rand runtime dependency and add common random bit function (#264)\n\nCo-authored-by: tison \u003cwander4096@gmail.com\u003e"
    },
    {
      "commit": "bb6bbeca5fcb92730c5bd677dd64dfbe5bc0bb1a",
      "tree": "b77e72e35ccc462b74219983f43fdfb211f31825",
      "parents": [
        "3d8b6640085ce87198325d5ba76fd5dc7217709f"
      ],
      "author": {
        "name": "tison",
        "email": "wander4096@gmail.com",
        "time": "Wed Sep 02 21:11:25 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Sep 02 21:11:25 2026 +0800"
      },
      "message": "perf: streamline sketch update paths (#267)"
    },
    {
      "commit": "3d8b6640085ce87198325d5ba76fd5dc7217709f",
      "tree": "3870268a2abf1d49b259184474c8b4b0f40cd895",
      "parents": [
        "98cbdc08f6df7383b9ea8221f0dd494dae9e8529"
      ],
      "author": {
        "name": "tison",
        "email": "wander4096@gmail.com",
        "time": "Wed Sep 02 20:46:49 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Sep 02 20:46:49 2026 +0800"
      },
      "message": "perf: reduce sketch hashing overhead (#265)"
    },
    {
      "commit": "98cbdc08f6df7383b9ea8221f0dd494dae9e8529",
      "tree": "72b2ee042c4e4be0d2e890e4046a08346d3a7061",
      "parents": [
        "285ae24dfa778cf614fe002ce0caa700e203a635"
      ],
      "author": {
        "name": "tison",
        "email": "wander4096@gmail.com",
        "time": "Wed Sep 02 15:33:24 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Sep 02 07:33:24 2026 +0000"
      },
      "message": "refactor: tighten KLL API and query performance (#263)\n\nCo-authored-by: tison \u003cwander4096@gmail.com\u003e"
    },
    {
      "commit": "285ae24dfa778cf614fe002ce0caa700e203a635",
      "tree": "0042a5a626efb30c17568e26ced61d61d99aeaa9",
      "parents": [
        "02b13a648fbe560e97a4675ee95521da64ac2dc5"
      ],
      "author": {
        "name": "tison",
        "email": "wander4096@gmail.com",
        "time": "Wed Sep 02 12:11:18 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Sep 02 04:11:18 2026 +0000"
      },
      "message": "fix(tdigest): validate deserialized state invariants (#262)"
    },
    {
      "commit": "02b13a648fbe560e97a4675ee95521da64ac2dc5",
      "tree": "c9127afac9bc2f159bf11593a925a1cd57b23aff",
      "parents": [
        "2e685a0863aacc9059f36f0b298d14c93bca727f"
      ],
      "author": {
        "name": "Jeff Chung",
        "email": "78428519+jeffoodchain@users.noreply.github.com",
        "time": "Wed Sep 02 11:59:40 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Sep 02 11:59:40 2026 +0800"
      },
      "message": "feat: Implement KLLSketch (#248)\n\nCo-authored-by: Chojan Shang \u003cpsiace@apache.org\u003e\nCo-authored-by: tison \u003cwander4096@gmail.com\u003e"
    },
    {
      "commit": "2e685a0863aacc9059f36f0b298d14c93bca727f",
      "tree": "ca9d57ac5ae4960f49659413d0b4969581bc80be",
      "parents": [
        "16ae85e6d9163c396cdcbbcb48941b8ea67d614a"
      ],
      "author": {
        "name": "tison",
        "email": "wander4096@gmail.com",
        "time": "Wed Sep 02 00:56:26 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Sep 01 16:56:26 2026 +0000"
      },
      "message": "test: update TCK snapshot revision (#260)"
    },
    {
      "commit": "16ae85e6d9163c396cdcbbcb48941b8ea67d614a",
      "tree": "0dfd071b103283bc61987a85bf587b7e22447af9",
      "parents": [
        "77f5652016b3859c23b60c5b8b9e94578ef484f0"
      ],
      "author": {
        "name": "tison",
        "email": "wander4096@gmail.com",
        "time": "Tue Sep 01 10:06:05 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Sep 01 10:06:05 2026 +0800"
      },
      "message": "docs: clarify release communication checkpoints (#259)"
    },
    {
      "commit": "77f5652016b3859c23b60c5b8b9e94578ef484f0",
      "tree": "3b988a57e3e9ea4420763559d98d5dc595be865f",
      "parents": [
        "c752a9bed172806fc0aea79ad07220c46da87df1"
      ],
      "author": {
        "name": "tison",
        "email": "wander4096@gmail.com",
        "time": "Tue Sep 01 09:43:39 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Sep 01 09:43:39 2026 +0800"
      },
      "message": "docs: fix the release changelog verification (#258)"
    },
    {
      "commit": "c752a9bed172806fc0aea79ad07220c46da87df1",
      "tree": "934e172ce8a7a3d472e62f56f73ba7033cef3c8e",
      "parents": [
        "2b0692e0d3b818c7f2d5dfcc1a4a1915f213ef42"
      ],
      "author": {
        "name": "tison",
        "email": "wander4096@gmail.com",
        "time": "Tue Sep 01 09:25:07 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Sep 01 09:25:07 2026 +0800"
      },
      "message": "chore: prepare the 0.5.0 release (#257)"
    },
    {
      "commit": "2b0692e0d3b818c7f2d5dfcc1a4a1915f213ef42",
      "tree": "3db6715209832ce92b9b770cc59143afe334a2ed",
      "parents": [
        "1d31bd9c102f9aac24eef2bf31b0f5c0a6cb05a2"
      ],
      "author": {
        "name": "tison",
        "email": "wander4096@gmail.com",
        "time": "Tue Sep 01 09:06:26 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Sep 01 01:06:26 2026 +0000"
      },
      "message": "refactor: polish release-facing APIs before 0.5.0 (#256)"
    },
    {
      "commit": "1d31bd9c102f9aac24eef2bf31b0f5c0a6cb05a2",
      "tree": "ba07fe52955a30f0d42b8de6e893f37171aafdd7",
      "parents": [
        "292000dd636be3074cb73700539910b30cee26b1"
      ],
      "author": {
        "name": "Jaideep Pyne",
        "email": "jaideeppyne1997@gmail.com",
        "time": "Mon Aug 31 23:29:00 2026 +0530"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Sep 01 01:59:00 2026 +0800"
      },
      "message": "fix(theta,tuple): canonicalize empty sampled sketch state (#254)\n\nCo-authored-by: tison \u003cwander4096@gmail.com\u003e"
    },
    {
      "commit": "292000dd636be3074cb73700539910b30cee26b1",
      "tree": "bf38a2fb4af770e6b3500660b15b527b3bb89850",
      "parents": [
        "7025bf6f0b36cd054ab82a88629a9d57ede713f8"
      ],
      "author": {
        "name": "tison",
        "email": "wander4096@gmail.com",
        "time": "Mon Aug 31 20:08:33 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Aug 31 12:08:33 2026 +0000"
      },
      "message": "refactor: harden library usability before 0.5.0 (#253)"
    },
    {
      "commit": "7025bf6f0b36cd054ab82a88629a9d57ede713f8",
      "tree": "be14e9a45d98ce21e6372d36d9fe674fa8d8f38b",
      "parents": [
        "524115071046b48011365571fab4cd21b6bacc01"
      ],
      "author": {
        "name": "Jaideep Pyne",
        "email": "jaideeppyne1997@gmail.com",
        "time": "Mon Aug 31 15:40:44 2026 +0530"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Aug 31 10:10:44 2026 +0000"
      },
      "message": "fix(tdigest): interpolate quantiles toward the nearer centroid and normalize the left tail (#250)\n\nCo-authored-by: jaideeppyne \u003cedvance.tech07@gmail.com\u003e\nCo-authored-by: tison \u003cwander4096@gmail.com\u003e"
    },
    {
      "commit": "524115071046b48011365571fab4cd21b6bacc01",
      "tree": "8d5b4abf4673464c100a2788d7a35adbc61d5c5f",
      "parents": [
        "ff020a0c375df48d89950f10db1b0fceb3309734"
      ],
      "author": {
        "name": "Patrick McGleenon",
        "email": "pmcgleenon@users.noreply.github.com",
        "time": "Mon Aug 31 10:19:31 2026 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Aug 31 08:19:31 2026 +0000"
      },
      "message": "test(req): add REQ sketch benchmarks (#251)"
    },
    {
      "commit": "ff020a0c375df48d89950f10db1b0fceb3309734",
      "tree": "541641d81f4da7fe0444caf0e303628a22db42a5",
      "parents": [
        "f33bca53787a41a6c4ac2461298d6613f11a2a94"
      ],
      "author": {
        "name": "tison",
        "email": "wander4096@gmail.com",
        "time": "Mon Aug 31 01:30:44 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Aug 31 01:30:44 2026 +0800"
      },
      "message": "refactor(tuple): return named entries from iterators (#249)"
    },
    {
      "commit": "f33bca53787a41a6c4ac2461298d6613f11a2a94",
      "tree": "990e0273d7c4608b854021eb403c053e5c155ebe",
      "parents": [
        "aaf17331a1b342b3fcdc088410910d2f76348e4e"
      ],
      "author": {
        "name": "Jaideep Pyne",
        "email": "jaideeppyne1997@gmail.com",
        "time": "Sun Aug 30 22:39:42 2026 +0530"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Aug 31 01:09:42 2026 +0800"
      },
      "message": "fix(theta,tuple): treat equal-theta sketches with no retained entries as identical (#246)\n\nCo-authored-by: jaideeppyne \u003cedvance.tech07@gmail.com\u003e\nCo-authored-by: Claude Opus 4.8 \u003cnoreply@anthropic.com\u003e"
    },
    {
      "commit": "aaf17331a1b342b3fcdc088410910d2f76348e4e",
      "tree": "88bc49681b692d4a87316ec471266a0aa6062dc3",
      "parents": [
        "c8b20c8238a19cad15dd78196dbfff510e944773"
      ],
      "author": {
        "name": "tison",
        "email": "wander4096@gmail.com",
        "time": "Sun Aug 30 23:49:15 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sun Aug 30 15:49:15 2026 +0000"
      },
      "message": "refactor: harden public APIs and library usability (#247)\n\nSigned-off-by: tison \u003cwander4096@gmail.com\u003e\nCo-authored-by: Copilot Autofix powered by AI \u003c175728472+Copilot@users.noreply.github.com\u003e"
    },
    {
      "commit": "c8b20c8238a19cad15dd78196dbfff510e944773",
      "tree": "87d4cfbe7d1ae598daa2fbe0feb1b7c19279dade",
      "parents": [
        "04b143174a92ea78d378731840207d243ac0ba03"
      ],
      "author": {
        "name": "tison",
        "email": "wander4096@gmail.com",
        "time": "Sat Aug 29 16:07:29 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sat Aug 29 16:07:29 2026 +0800"
      },
      "message": "refactor: align internal symbol visibility (#245)"
    },
    {
      "commit": "04b143174a92ea78d378731840207d243ac0ba03",
      "tree": "c616d98acea2ca8fa10f98e2e70924bd76c8d673",
      "parents": [
        "22a766d20e46b704e669d210af174791c25be3a2"
      ],
      "author": {
        "name": "Jaideep Pyne",
        "email": "jaideeppyne1997@gmail.com",
        "time": "Sat Aug 29 13:21:22 2026 +0530"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sat Aug 29 07:51:22 2026 +0000"
      },
      "message": "fix(hll): preserve estimator state across union transformations (#239)\n\nCo-authored-by: Claude Opus 4.8 \u003cnoreply@anthropic.com\u003e\nCo-authored-by: tison \u003cwander4096@gmail.com\u003e"
    },
    {
      "commit": "22a766d20e46b704e669d210af174791c25be3a2",
      "tree": "35df4cbbb95c1b15801df88b1efdd6dfd3ff2cb3",
      "parents": [
        "6f3f09bb199484f31ee2599b41da6e29a99fb413"
      ],
      "author": {
        "name": "tison",
        "email": "wander4096@gmail.com",
        "time": "Sat Aug 29 13:39:09 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sat Aug 29 13:39:09 2026 +0800"
      },
      "message": "refactor(req): model items as totally ordered values (#244)"
    },
    {
      "commit": "6f3f09bb199484f31ee2599b41da6e29a99fb413",
      "tree": "7c12bd5e465dfe789d9cee61e762f619c973a454",
      "parents": [
        "3b555c70b0ba56598ccac814aaee50e64d67ae5a"
      ],
      "author": {
        "name": "tison",
        "email": "wander4096@gmail.com",
        "time": "Sat Aug 29 10:02:31 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sat Aug 29 10:02:31 2026 +0800"
      },
      "message": "refactor(req): clarify value comparison contract (#243)"
    },
    {
      "commit": "3b555c70b0ba56598ccac814aaee50e64d67ae5a",
      "tree": "b06c06c541ddfc9e95d6250c74ef0a21ec072baf",
      "parents": [
        "25ce9e4a070dc88f2c7f626c1d2470c71b29665a"
      ],
      "author": {
        "name": "tison",
        "email": "wander4096@gmail.com",
        "time": "Sat Aug 29 08:00:02 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sat Aug 29 08:00:02 2026 +0800"
      },
      "message": "refactor(req): remove ReqUnion (#242)"
    },
    {
      "commit": "25ce9e4a070dc88f2c7f626c1d2470c71b29665a",
      "tree": "3ba130b498399a743c9e7dbe4cf89b17b8a555a2",
      "parents": [
        "dd81c8041bd8ef991a6f83aa010a895715b90e7b"
      ],
      "author": {
        "name": "tison",
        "email": "wander4096@gmail.com",
        "time": "Fri Aug 28 23:05:32 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Aug 28 15:05:32 2026 +0000"
      },
      "message": "refactor: keep sketch configuration constants private (#241)"
    },
    {
      "commit": "dd81c8041bd8ef991a6f83aa010a895715b90e7b",
      "tree": "c0dfc9a9fe87744781f36efcd4e152397e1c7ad1",
      "parents": [
        "c25f55115ec67f28c4a1d5a03d10124956bb0327"
      ],
      "author": {
        "name": "Jaideep Pyne",
        "email": "jaideeppyne1997@gmail.com",
        "time": "Fri Aug 28 15:55:27 2026 +0530"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Aug 28 10:25:27 2026 +0000"
      },
      "message": "fix(hll): clamp the HLL-mode lower bound to the non-zero register count (#237)\n\nCo-authored-by: Claude Opus 4.8 \u003cnoreply@anthropic.com\u003e\nCo-authored-by: tison \u003cwander4096@gmail.com\u003e"
    },
    {
      "commit": "c25f55115ec67f28c4a1d5a03d10124956bb0327",
      "tree": "6f0824c96a6dc01a1d402b7810f2b7808610621a",
      "parents": [
        "47f012d59506fea734dac1995784aca75b4f4a60"
      ],
      "author": {
        "name": "tison",
        "email": "wander4096@gmail.com",
        "time": "Fri Aug 28 18:02:14 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Aug 28 18:02:14 2026 +0800"
      },
      "message": "refactor: unify fallible construction APIs (#238)"
    },
    {
      "commit": "47f012d59506fea734dac1995784aca75b4f4a60",
      "tree": "930a9427fce42c796298fdb81c9e0d9ba0e51452",
      "parents": [
        "f3df4b4e9e44a8ee4792bacbfec88979500578e7"
      ],
      "author": {
        "name": "tison",
        "email": "wander4096@gmail.com",
        "time": "Fri Aug 28 15:55:22 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Aug 28 15:55:22 2026 +0800"
      },
      "message": "refactor: make sketch builders fallible (#236)\n\nSigned-off-by: tison \u003cwander4096@gmail.com\u003e"
    },
    {
      "commit": "f3df4b4e9e44a8ee4792bacbfec88979500578e7",
      "tree": "8692eab9a92896e0e8a584ec0628f31ffab39e49",
      "parents": [
        "c3c08f9b5ce0a537b5a1c77b4ea11db8e3b5f2cb"
      ],
      "author": {
        "name": "Xuanwo",
        "email": "github@xuanwo.io",
        "time": "Fri Aug 28 14:49:37 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Aug 28 14:49:37 2026 +0800"
      },
      "message": "refactor(req): consolidate fallible constructors (#223)\n\nCo-authored-by: tison \u003cwander4096@gmail.com\u003e"
    },
    {
      "commit": "c3c08f9b5ce0a537b5a1c77b4ea11db8e3b5f2cb",
      "tree": "b055ec3e7733dd689a92dd2a511e53a233797238",
      "parents": [
        "8f58d09789bc5f666e8fcdf2f052d9ae9b7b0565"
      ],
      "author": {
        "name": "tison",
        "email": "wander4096@gmail.com",
        "time": "Thu Aug 27 17:31:05 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Aug 27 17:31:05 2026 +0800"
      },
      "message": "perf(tdigest): optimize partial aggregate compute path (#231)"
    },
    {
      "commit": "8f58d09789bc5f666e8fcdf2f052d9ae9b7b0565",
      "tree": "8084a237d99836822750e1946fc207a412ea69a2",
      "parents": [
        "34f3041e669737a3aeb7169985050b4a0097d9ab"
      ],
      "author": {
        "name": "tison",
        "email": "wander4096@gmail.com",
        "time": "Wed Aug 26 18:32:25 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Aug 26 18:32:25 2026 +0800"
      },
      "message": "test: organize benchmarks and integration tests as workspace crates (#230)\n\n* test: move integration tests into workspace crate\n\n* bench: organize benchmarks by sketch workload"
    },
    {
      "commit": "34f3041e669737a3aeb7169985050b4a0097d9ab",
      "tree": "66cf987a20d56c0431a05bb3fa41c57ab18e7cdc",
      "parents": [
        "8d9a36ac54f592f242ad208bfc85818fa3ac04c6"
      ],
      "author": {
        "name": "tison",
        "email": "wander4096@gmail.com",
        "time": "Wed Aug 26 18:07:50 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Aug 26 18:07:50 2026 +0800"
      },
      "message": "perf(cpc): encode and decode payloads without intermediate states (#229)"
    },
    {
      "commit": "8d9a36ac54f592f242ad208bfc85818fa3ac04c6",
      "tree": "912dbe7ffcc66422bb08a1127abf767c8ae25c6f",
      "parents": [
        "1841bf1f9af259640d60036de21782eff33af285"
      ],
      "author": {
        "name": "tison",
        "email": "wander4096@gmail.com",
        "time": "Wed Aug 26 17:14:22 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Aug 26 09:14:22 2026 +0000"
      },
      "message": "test: streamline deserialization regressions (#228)"
    },
    {
      "commit": "1841bf1f9af259640d60036de21782eff33af285",
      "tree": "2cd384e5523b6a7b930756b575f8578aa0af8309",
      "parents": [
        "934df697dc0a975af8cb6986984b657aac058774"
      ],
      "author": {
        "name": "tison",
        "email": "wander4096@gmail.com",
        "time": "Wed Aug 26 16:54:16 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Aug 26 16:54:16 2026 +0800"
      },
      "message": "fix: simplify and harden sketch deserialization (#227)\n\nCo-authored-by: Jaideep Pyne \u003cjaideeppyne1997@gmail.com\u003e"
    },
    {
      "commit": "934df697dc0a975af8cb6986984b657aac058774",
      "tree": "54b23cb1751a6b0fa1c8a4e1ad533741d301c45d",
      "parents": [
        "a580881430192db1ae93367a6dbd3a74dfa10507"
      ],
      "author": {
        "name": "Jaideep Pyne",
        "email": "jaideeppyne1997@gmail.com",
        "time": "Tue Aug 25 21:48:59 2026 +0530"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Aug 25 16:18:59 2026 +0000"
      },
      "message": "fix(frequencies): reject out-of-range map-size fields on deserialize (#224)\n\nCo-authored-by: tison \u003cwander4096@gmail.com\u003e"
    },
    {
      "commit": "a580881430192db1ae93367a6dbd3a74dfa10507",
      "tree": "8117de289514e467e089d8bb211a9a3d6d5e452c",
      "parents": [
        "e02c693e627d348b5772709b635c354c43e449c6"
      ],
      "author": {
        "name": "tison",
        "email": "wander4096@gmail.com",
        "time": "Tue Aug 25 23:31:14 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Aug 25 15:31:14 2026 +0000"
      },
      "message": "refactor: replace super-qualified module paths (#225)"
    },
    {
      "commit": "e02c693e627d348b5772709b635c354c43e449c6",
      "tree": "d229df70d4f540a4e070814be0de9bf9b82d1219",
      "parents": [
        "162f2bcd5018d020aba3efbddcf5b225e5c465d1"
      ],
      "author": {
        "name": "Cestercian",
        "email": "yashafaid@gmail.com",
        "time": "Tue Aug 25 08:15:17 2026 -0700"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Aug 25 23:15:17 2026 +0800"
      },
      "message": "fix: reject invalid REQ compactor states on deserialize (#221)\n\nCo-authored-by: Cursor Agent \u003ccursoragent@cursor.com\u003e\nCo-authored-by: tison \u003cwander4096@gmail.com\u003e"
    },
    {
      "commit": "162f2bcd5018d020aba3efbddcf5b225e5c465d1",
      "tree": "920162b10009d984ca12a92bec4094ebe0a86c64",
      "parents": [
        "771e6183eb5a2af293c5de5bf35a0131c1ea8d38"
      ],
      "author": {
        "name": "tison",
        "email": "wander4096@gmail.com",
        "time": "Tue Aug 25 17:31:10 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Aug 25 17:31:10 2026 +0800"
      },
      "message": "perf(req): avoid cloning sorted compactor items (#222)"
    },
    {
      "commit": "771e6183eb5a2af293c5de5bf35a0131c1ea8d38",
      "tree": "926a04fc832bd1a20d731ffd115c3e914850b867",
      "parents": [
        "bcb83e629ae86eb8619bb7eb0a372a172c94b79c"
      ],
      "author": {
        "name": "Jeff Chung",
        "email": "78428519+jeffoodchain@users.noreply.github.com",
        "time": "Tue Aug 25 17:19:13 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Aug 25 17:19:13 2026 +0800"
      },
      "message": "fix(req): compactor merge (#220)"
    },
    {
      "commit": "bcb83e629ae86eb8619bb7eb0a372a172c94b79c",
      "tree": "a730ef4af07a243b1a3dbcbd7e1997b5bf92b1df",
      "parents": [
        "d803d66eed35b1c9d5c5cea745606b77640b9fe9"
      ],
      "author": {
        "name": "tison",
        "email": "wander4096@gmail.com",
        "time": "Tue Aug 25 10:45:48 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Aug 25 10:45:48 2026 +0800"
      },
      "message": "chore(deps): upgrade rand to 0.10 and use quickcheck (#215)\n\nSigned-off-by: tison \u003cwander4096@gmail.com\u003e"
    },
    {
      "commit": "d803d66eed35b1c9d5c5cea745606b77640b9fe9",
      "tree": "7618bd284a69f2a4ee4d92ba3ebff06517f79313",
      "parents": [
        "f876679307ff11a6a431c88e678ba0aaacb11218"
      ],
      "author": {
        "name": "tison",
        "email": "wander4096@gmail.com",
        "time": "Tue Aug 25 10:20:58 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Aug 25 10:20:58 2026 +0800"
      },
      "message": "docs: add REQ sketch to README (#216)"
    },
    {
      "commit": "f876679307ff11a6a431c88e678ba0aaacb11218",
      "tree": "1cdf76a9016fd261399acfba5784c2ca5e6da394",
      "parents": [
        "4a097594ddf7d4a38d6bb511e4d587ee4cef86f0"
      ],
      "author": {
        "name": "tison",
        "email": "wander4096@gmail.com",
        "time": "Tue Aug 25 09:55:18 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Aug 25 09:55:18 2026 +0800"
      },
      "message": "test: standardize assertions with googletest matchers (#213)"
    },
    {
      "commit": "4a097594ddf7d4a38d6bb511e4d587ee4cef86f0",
      "tree": "e84bc4eb37d244d2096666cae8054bae09d64ffc",
      "parents": [
        "9b695cb701f5df233569ead1112ad650ae3885ad"
      ],
      "author": {
        "name": "tison",
        "email": "wander4096@gmail.com",
        "time": "Tue Aug 25 09:46:43 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Aug 25 09:46:43 2026 +0800"
      },
      "message": "docs: update changelog guidance (#214)"
    },
    {
      "commit": "9b695cb701f5df233569ead1112ad650ae3885ad",
      "tree": "99aa91d8b77c79843a89e8204453ef3a3ac40881",
      "parents": [
        "974a6e9b03d2f417398f5a135cda86a5bb90fe42"
      ],
      "author": {
        "name": "Vedant Madane",
        "email": "6527493+VedantMadane@users.noreply.github.com",
        "time": "Tue Aug 25 07:03:48 2026 +0530"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Aug 25 09:33:48 2026 +0800"
      },
      "message": "feat: return Option from intersection to_sketch before first update (#211)\n\nSigned-off-by: Vedant Madane \u003c6527493+VedantMadane@users.noreply.github.com\u003e\nCo-authored-by: tison \u003cwander4096@gmail.com\u003e"
    },
    {
      "commit": "974a6e9b03d2f417398f5a135cda86a5bb90fe42",
      "tree": "692d77c65e8ba721ac9c7def5f8ea1ada72d4248",
      "parents": [
        "caee2a3741156c47ca0825848f113101c6f2df8d"
      ],
      "author": {
        "name": "Yijun Zhao",
        "email": "ariesdevil77@gmail.com",
        "time": "Tue Aug 25 09:13:25 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Aug 25 09:13:25 2026 +0800"
      },
      "message": "perf(tdigest): single centroid buffer (#210)\n\nCo-authored-by: tison \u003cwander4096@gmail.com\u003e"
    },
    {
      "commit": "caee2a3741156c47ca0825848f113101c6f2df8d",
      "tree": "4996417d4f6752d4fab1b0421709289f4aeccdfc",
      "parents": [
        "7e578e70e2c63fbcb2933a97c8ece6ffe604d0f8"
      ],
      "author": {
        "name": "Patrick McGleenon",
        "email": "pmcgleenon@users.noreply.github.com",
        "time": "Tue Aug 25 03:03:20 2026 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Aug 25 01:03:20 2026 +0000"
      },
      "message": "feat(req): port of reqsketch-rs  (#204)\n\nCo-authored-by: tison \u003cwander4096@gmail.com\u003e"
    },
    {
      "commit": "7e578e70e2c63fbcb2933a97c8ece6ffe604d0f8",
      "tree": "042ddb26a17ca5893606a91ce6556e208985763a",
      "parents": [
        "5cb468015b31a147c9b957943e052b175884f9cd"
      ],
      "author": {
        "name": "tison",
        "email": "wander4096@gmail.com",
        "time": "Mon Aug 24 15:16:54 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Aug 24 15:16:54 2026 +0800"
      },
      "message": "perf(tdigest): reduce allocation overhead during compression (#209)"
    },
    {
      "commit": "5cb468015b31a147c9b957943e052b175884f9cd",
      "tree": "73651bcb2d009d7c2203173853008f160f4bc2ca",
      "parents": [
        "1e139915981a410b3000d7227728f0496d3ee1e7"
      ],
      "author": {
        "name": "tison",
        "email": "wander4096@gmail.com",
        "time": "Sat Aug 22 20:40:11 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sat Aug 22 20:40:11 2026 +0800"
      },
      "message": "chore: migrate HawkEye to v7 (#207)"
    },
    {
      "commit": "1e139915981a410b3000d7227728f0496d3ee1e7",
      "tree": "7bc362a7bb337266cf342de2e4ebc064f1372d90",
      "parents": [
        "30860a6c679bc918012712f33ed8a374f32508f4"
      ],
      "author": {
        "name": "tison",
        "email": "wander4096@gmail.com",
        "time": "Thu Aug 20 00:49:31 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Aug 20 00:49:31 2026 +0800"
      },
      "message": "test(hll): cover union rebuild regressions (#206)"
    },
    {
      "commit": "30860a6c679bc918012712f33ed8a374f32508f4",
      "tree": "041b0eca44c87dda1b29b38bd8595aa1965956a4",
      "parents": [
        "21f1d9dd5a6c45966f5a4680e8383bf2eeb51126"
      ],
      "author": {
        "name": "tison",
        "email": "wander4096@gmail.com",
        "time": "Wed Aug 19 00:38:16 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Aug 18 16:38:16 2026 +0000"
      },
      "message": "docs: date the 0.4.0 changelog (#205)\n\nSigned-off-by: tison \u003cwander4096@gmail.com\u003e"
    },
    {
      "commit": "21f1d9dd5a6c45966f5a4680e8383bf2eeb51126",
      "tree": "6de9fe8aaf938ee3dccb253cc54ba36ba6e987e2",
      "parents": [
        "541e3458fe32662ab52f736ccb71f43eaae4b066"
      ],
      "author": {
        "name": "Renkai Ge",
        "email": "gaelookair@gmail.com",
        "time": "Sun Aug 16 13:59:12 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sun Aug 16 13:59:12 2026 +0800"
      },
      "message": "docs: clarify BloomFilter contract after invert (#202)\n\nCo-authored-by: tison \u003cwander4096@gmail.com\u003e"
    },
    {
      "commit": "541e3458fe32662ab52f736ccb71f43eaae4b066",
      "tree": "535a11ba3fbe5d5feea3583e31591791f450b584",
      "parents": [
        "595516eca9ed320d14cb9815d8d87ebb79197edb"
      ],
      "author": {
        "name": "tison",
        "email": "wander4096@gmail.com",
        "time": "Thu Aug 13 22:16:52 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Aug 13 22:16:52 2026 +0800"
      },
      "message": "docs: correct release verification workflow (#201)"
    },
    {
      "commit": "595516eca9ed320d14cb9815d8d87ebb79197edb",
      "tree": "78afe883c8d36845180518e4de58d7ebddae7c47",
      "parents": [
        "8aeecb90abdaa970db4656d46f7389de02abe4b4"
      ],
      "author": {
        "name": "tison",
        "email": "wander4096@gmail.com",
        "time": "Thu Aug 13 20:57:31 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Aug 13 20:57:31 2026 +0800"
      },
      "message": "chore: prepare 0.4.0 release (#200)"
    },
    {
      "commit": "8aeecb90abdaa970db4656d46f7389de02abe4b4",
      "tree": "7c0eb7a46154a919cb6e59c2c9ca52df3b2f55bb",
      "parents": [
        "035c9771ff342e8391c5275ef78693e1875de846"
      ],
      "author": {
        "name": "tison",
        "email": "wander4096@gmail.com",
        "time": "Wed Aug 12 09:33:32 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Aug 12 09:33:32 2026 +0800"
      },
      "message": "docs: expand README and prepare 0.4.0 changelog (#199)"
    },
    {
      "commit": "035c9771ff342e8391c5275ef78693e1875de846",
      "tree": "6ff06bb835b07191aa7cedf17cddd42cc82b4480",
      "parents": [
        "1fdf964a30b00578dfb0b385711b3e4661cbeab7"
      ],
      "author": {
        "name": "tison",
        "email": "wander4096@gmail.com",
        "time": "Tue Aug 11 15:32:53 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Aug 11 15:32:53 2026 +0800"
      },
      "message": "docs: standardize public API documentation style (#197)"
    },
    {
      "commit": "1fdf964a30b00578dfb0b385711b3e4661cbeab7",
      "tree": "f30c8bc22d3598ec25043c5f48cd76bfbd782cca",
      "parents": [
        "d695039cf151680258dd08822bb21b8c9af014a4"
      ],
      "author": {
        "name": "tison",
        "email": "wander4096@gmail.com",
        "time": "Tue Aug 11 10:32:04 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Aug 11 10:32:04 2026 +0800"
      },
      "message": "docs: correct public sketch semantics (#196)"
    },
    {
      "commit": "d695039cf151680258dd08822bb21b8c9af014a4",
      "tree": "d6588bd743c68dc6d40258b6ded60372d665d706",
      "parents": [
        "fbe4e938e3adf61e7cd134fca9cb0d735ec54599"
      ],
      "author": {
        "name": "tison",
        "email": "wander4096@gmail.com",
        "time": "Tue Aug 11 09:46:18 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Aug 11 09:46:18 2026 +0800"
      },
      "message": "fix: classify CPC image errors and clarify intersection naming (#195)\n\n* fix(cpc): classify malformed image fields as invalid data\n\n* refactor: clarify internal intersection result naming"
    },
    {
      "commit": "fbe4e938e3adf61e7cd134fca9cb0d735ec54599",
      "tree": "91b05bcce73da183dc7fdc57a126d1f34114ec25",
      "parents": [
        "db0a20e30837fa872e78bc27fcf8a061cf13bc98"
      ],
      "author": {
        "name": "tison",
        "email": "wander4096@gmail.com",
        "time": "Tue Aug 11 07:06:10 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Aug 11 07:06:10 2026 +0800"
      },
      "message": "fix: preserve purged Frequencies state (#191)\n\n* fix: preserve purged frequencies state\n\n* fix: tighten Frequencies initial-state check"
    },
    {
      "commit": "db0a20e30837fa872e78bc27fcf8a061cf13bc98",
      "tree": "464fd88441f4cf33cdf84368dba3adc7f069c8eb",
      "parents": [
        "5a1ab56cbd68240fe8c10c0263f2238abddb75ce"
      ],
      "author": {
        "name": "tison",
        "email": "wander4096@gmail.com",
        "time": "Tue Aug 11 07:04:30 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Aug 11 07:04:30 2026 +0800"
      },
      "message": "fix: validate Bloom bit counts during deserialization (#190)\n\n* fix: validate bloom bit counts during deserialization\n\n* perf: count Bloom bits while deserializing"
    },
    {
      "commit": "5a1ab56cbd68240fe8c10c0263f2238abddb75ce",
      "tree": "6fb5b37847fcaee81e652f6e79a14f43097490f5",
      "parents": [
        "4266ad9cad21e0660c2ae9506174e01665bd100d"
      ],
      "author": {
        "name": "tison",
        "email": "wander4096@gmail.com",
        "time": "Mon Aug 10 02:39:06 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Aug 10 02:39:06 2026 +0800"
      },
      "message": "fix: preserve non-empty theta v2 exact sketches (#189)"
    },
    {
      "commit": "4266ad9cad21e0660c2ae9506174e01665bd100d",
      "tree": "b3a0b9700256cec9d82c08bc4238883c93d636f5",
      "parents": [
        "5f2e8095f8f3d013cf99136aafa571be823ba31f"
      ],
      "author": {
        "name": "tison",
        "email": "wander4096@gmail.com",
        "time": "Sun Aug 09 22:48:51 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sun Aug 09 22:48:51 2026 +0800"
      },
      "message": "refactor: replace theta family sketch traits with concrete views (#185)"
    },
    {
      "commit": "5f2e8095f8f3d013cf99136aafa571be823ba31f",
      "tree": "f9fd4401b2eaf5500f12297f369ee9964f24e14e",
      "parents": [
        "7d433d88394f8ed28a7409bebf3199c54e7ca44f"
      ],
      "author": {
        "name": "tison",
        "email": "wander4096@gmail.com",
        "time": "Thu Aug 06 12:00:03 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Aug 06 12:00:03 2026 +0800"
      },
      "message": "chore: fine tune code and settings (#184)\n\nSigned-off-by: tison \u003cwander4096@gmail.com\u003e"
    },
    {
      "commit": "7d433d88394f8ed28a7409bebf3199c54e7ca44f",
      "tree": "d1002de76fc48ed1e4d4ba6adb46bcb2fcb65986",
      "parents": [
        "dc260373911c9362514f4c0f710e4c74f24fab59"
      ],
      "author": {
        "name": "Jaideep Pyne",
        "email": "jaideeppyne1997@gmail.com",
        "time": "Thu Aug 06 08:33:47 2026 +0530"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Aug 06 03:03:47 2026 +0000"
      },
      "message": "refactor: centralize seed hash validation (#183)\n\nCo-authored-by: Jaideep Pyne \u003cjaideeppyne@users.noreply.github.com\u003e\nCo-authored-by: tison \u003cwander4096@gmail.com\u003e"
    },
    {
      "commit": "dc260373911c9362514f4c0f710e4c74f24fab59",
      "tree": "b7027c7c26abae08c6205f2c6a1f84546139b5a9",
      "parents": [
        "715df99fb289600f0def1805d52fd565a18493d1"
      ],
      "author": {
        "name": "Weizhen Wang",
        "email": "hawking.rei@gmail.com",
        "time": "Wed Aug 05 15:13:15 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Aug 05 07:13:15 2026 +0000"
      },
      "message": "feat: add exact equality for Jaccard sketches (#181)"
    },
    {
      "commit": "715df99fb289600f0def1805d52fd565a18493d1",
      "tree": "3177745db7da0225fd4db22fbd95a0d612d9f149",
      "parents": [
        "ea5ec018befa416767df9b98910b312a36164942"
      ],
      "author": {
        "name": "Renkai Ge",
        "email": "gaelookair@gmail.com",
        "time": "Tue Aug 04 22:32:26 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Aug 04 22:32:26 2026 +0800"
      },
      "message": "feat: expose estimated_size for stateful set operations (#177)\n\nSigned-off-by: Renkai Ge \u003cgaelookair@gmail.com\u003e"
    },
    {
      "commit": "ea5ec018befa416767df9b98910b312a36164942",
      "tree": "b996669794331933133ef1c2d641a599752bc7db",
      "parents": [
        "5433a8e29b097ccafa485adfb3c22a5fbb9cd9ad"
      ],
      "author": {
        "name": "tison",
        "email": "wander4096@gmail.com",
        "time": "Mon Aug 03 03:54:02 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Aug 03 03:54:02 2026 +0800"
      },
      "message": "refactor: simplify hash and theta module layout (#179)\n\nSigned-off-by: tison \u003cwander4096@gmail.com\u003e"
    },
    {
      "commit": "5433a8e29b097ccafa485adfb3c22a5fbb9cd9ad",
      "tree": "f8e28fa2f63486ab2126f9b6a0019ccadd5197af",
      "parents": [
        "196763c2f8df8e94f928c4de7865ade9ca8055e5"
      ],
      "author": {
        "name": "Yijun Zhao",
        "email": "ariesdevil77@gmail.com",
        "time": "Mon Aug 03 00:35:01 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Aug 03 00:35:01 2026 +0800"
      },
      "message": "refactor: reorganize theta family mods and add key-only sketch views (#178)"
    },
    {
      "commit": "196763c2f8df8e94f928c4de7865ade9ca8055e5",
      "tree": "147e9d6c5d8ac161e49a20f57d973874ab520a7b",
      "parents": [
        "9b7fdbdafaa51dae7b8e2dda6d78cf07789254dc"
      ],
      "author": {
        "name": "Weizhen Wang",
        "email": "hawking.rei@gmail.com",
        "time": "Sun Aug 02 17:05:10 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sun Aug 02 09:05:10 2026 +0000"
      },
      "message": "feat(theta): Support JaccardSimilarity (#142)\n\nCo-authored-by: tison \u003cwander4096@gmail.com\u003e"
    },
    {
      "commit": "9b7fdbdafaa51dae7b8e2dda6d78cf07789254dc",
      "tree": "d265d9af98da1d5c10641e84bea0cffe64442bd9",
      "parents": [
        "fa704e25002b60cf44500e85aa717d3b94c6d6a2"
      ],
      "author": {
        "name": "tison",
        "email": "wander4096@gmail.com",
        "time": "Sat Aug 01 15:55:33 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sat Aug 01 15:55:33 2026 +0800"
      },
      "message": "test: cover Go serialization snapshots (#175)\n\nSigned-off-by: tison \u003cwander4096@gmail.com\u003e"
    },
    {
      "commit": "fa704e25002b60cf44500e85aa717d3b94c6d6a2",
      "tree": "478a44ee349bd281e1132d3b9de4746aa0c5bcb8",
      "parents": [
        "ee261aadce0921a62684587db795cbd65d80d718"
      ],
      "author": {
        "name": "Renkai Ge",
        "email": "gaelookair@gmail.com",
        "time": "Sat Aug 01 14:28:21 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sat Aug 01 06:28:21 2026 +0000"
      },
      "message": "feat: expose estimated_size for countmin and frequencies sketches (#174)\n\nCo-authored-by: tison \u003cwander4096@gmail.com\u003e"
    },
    {
      "commit": "ee261aadce0921a62684587db795cbd65d80d718",
      "tree": "071b805b82efc9677078d987351a90a3226a2154",
      "parents": [
        "14eeb30ee75d0303a4a48ff0e3d5d6a6f6830724"
      ],
      "author": {
        "name": "tison",
        "email": "wander4096@gmail.com",
        "time": "Thu Jul 30 14:08:19 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Jul 30 14:08:19 2026 +0800"
      },
      "message": "fix(tdigest): handle extreme values and invalid state (#173)\n\nSigned-off-by: tison \u003cwander4096@gmail.com\u003e"
    },
    {
      "commit": "14eeb30ee75d0303a4a48ff0e3d5d6a6f6830724",
      "tree": "3ecc3a42ad2eec61e919e586a7fa662d11ccdcbd",
      "parents": [
        "5b7762e3f9b1224a7ce4d70f4ed1dbe82ec9c6c6"
      ],
      "author": {
        "name": "tison",
        "email": "wander4096@gmail.com",
        "time": "Wed Jul 29 11:10:38 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Jul 29 11:10:38 2026 +0800"
      },
      "message": "test: add cross-language regression coverage (#172)\n\n* test(theta): cover lower-theta a-not-b regression\n\n* test(hll): cover merge order regression\n\n* test(cpc): verify updates after deserialization\n\n* test(hll): restore explicit union commutativity\n\n* fixup\n\nSigned-off-by: tison \u003cwander4096@gmail.com\u003e\n\n* fixup\n\nSigned-off-by: tison \u003cwander4096@gmail.com\u003e\n\n* fixup\n\nSigned-off-by: tison \u003cwander4096@gmail.com\u003e\n\n---------\n\nSigned-off-by: tison \u003cwander4096@gmail.com\u003e"
    },
    {
      "commit": "5b7762e3f9b1224a7ce4d70f4ed1dbe82ec9c6c6",
      "tree": "44905303d27139a4eb2fb0c109c9efcf5386d3ce",
      "parents": [
        "d6cc6d8f6f45456ae975fe5af4883c595e0021d2"
      ],
      "author": {
        "name": "tison",
        "email": "wander4096@gmail.com",
        "time": "Wed Jul 29 00:33:46 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Jul 29 00:33:46 2026 +0800"
      },
      "message": "chore: Update CI badge URLs in README.md (#171)"
    },
    {
      "commit": "d6cc6d8f6f45456ae975fe5af4883c595e0021d2",
      "tree": "34ea32709a37f25b09f1f47e6b8e3e387a817420",
      "parents": [
        "3789978401e7f61711b744c67e70ec53061dab29"
      ],
      "author": {
        "name": "Chojan Shang",
        "email": "psiace@apache.org",
        "time": "Tue Jul 28 22:17:21 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Jul 28 14:17:21 2026 +0000"
      },
      "message": "test: move test data preparation into xtask (#169)\n\nCo-authored-by: tison \u003cwander4096@gmail.com\u003e"
    },
    {
      "commit": "3789978401e7f61711b744c67e70ec53061dab29",
      "tree": "e7cdd083416dd6867c41e8f08259d5272392951b",
      "parents": [
        "36888d5302c5df7be3180517dfd8a64cf9f563cb"
      ],
      "author": {
        "name": "tison",
        "email": "wander4096@gmail.com",
        "time": "Tue Jul 28 19:06:27 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Jul 28 19:06:27 2026 +0800"
      },
      "message": "test: go through crate tests (#168)"
    },
    {
      "commit": "36888d5302c5df7be3180517dfd8a64cf9f563cb",
      "tree": "01838c02c57ce918ddbf6734db8a20a5ed01b654",
      "parents": [
        "0b8ec82d7725f50b0ecc885e223ec95e616deb82"
      ],
      "author": {
        "name": "tison",
        "email": "wander4096@gmail.com",
        "time": "Tue Jul 28 10:55:41 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Jul 28 10:55:41 2026 +0800"
      },
      "message": "test: rework integration tests (#167)\n\nSigned-off-by: tison \u003cwander4096@gmail.com\u003e"
    },
    {
      "commit": "0b8ec82d7725f50b0ecc885e223ec95e616deb82",
      "tree": "04ea7141a718e9368d7c8dec88f424699826e54e",
      "parents": [
        "c17f9c05b5169d7ef42077dc00f41cf705094f54"
      ],
      "author": {
        "name": "tison",
        "email": "wander4096@gmail.com",
        "time": "Mon Jul 27 20:06:23 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Jul 27 20:06:23 2026 +0800"
      },
      "message": "refactor: align theta view and coupon naming (#165)"
    },
    {
      "commit": "c17f9c05b5169d7ef42077dc00f41cf705094f54",
      "tree": "5062f68fe6d264109be5f63659072ec696f07d37",
      "parents": [
        "63c51bde50a45bce1e79d7c49baf5eed8c92e460"
      ],
      "author": {
        "name": "Yijun Zhao",
        "email": "ariesdevil77@gmail.com",
        "time": "Sun Jul 26 20:54:33 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sun Jul 26 20:54:33 2026 +0800"
      },
      "message": "refactor: clarify shared traits with associated entries (#166)"
    },
    {
      "commit": "63c51bde50a45bce1e79d7c49baf5eed8c92e460",
      "tree": "a6e824262ef22fdb7ba4d7b7bc358825770360a5",
      "parents": [
        "39471a903ab7f635fc3d5006cfa2bedea0dcb8f9"
      ],
      "author": {
        "name": "tison",
        "email": "wander4096@gmail.com",
        "time": "Sat Jul 25 22:26:45 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sat Jul 25 22:26:45 2026 +0800"
      },
      "message": "refactor: align seed and internal naming (#164)\n\nSigned-off-by: tison \u003cwander4096@gmail.com\u003e"
    },
    {
      "commit": "39471a903ab7f635fc3d5006cfa2bedea0dcb8f9",
      "tree": "85433c3293a2bf0151df56bbd6cf9eb0d64c4979",
      "parents": [
        "87e9e84133dc2ba6ff5a94e164adf430507d82c0"
      ],
      "author": {
        "name": "tison",
        "email": "wander4096@gmail.com",
        "time": "Sat Jul 25 21:24:40 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sat Jul 25 21:24:40 2026 +0800"
      },
      "message": "chore: simplify test support code (#163)\n\nSigned-off-by: tison \u003cwander4096@gmail.com\u003e"
    },
    {
      "commit": "87e9e84133dc2ba6ff5a94e164adf430507d82c0",
      "tree": "75985c121fb8450968e0fe673918d92f06100a9a",
      "parents": [
        "7c800a94196c41558223cbe62f3eda30425674f1"
      ],
      "author": {
        "name": "Yijun Zhao",
        "email": "ariesdevil77@gmail.com",
        "time": "Sat Jul 25 17:11:49 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sat Jul 25 17:11:49 2026 +0800"
      },
      "message": "feat: add theta and tuple a-not-B operation (#155)"
    },
    {
      "commit": "7c800a94196c41558223cbe62f3eda30425674f1",
      "tree": "2ceca0dd06e0e34bb3ecf6d92b50843bb4486274",
      "parents": [
        "9a409c8df6c439617267b10436d8bb7a7038b7aa"
      ],
      "author": {
        "name": "tison",
        "email": "wander4096@gmail.com",
        "time": "Sat Jul 25 09:59:01 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sat Jul 25 09:59:01 2026 +0800"
      },
      "message": "chore: upgrade dev dependencies and fine tune scripts (#162)\n\nSigned-off-by: tison \u003cwander4096@gmail.com\u003e\nCo-authored-by: Copilot Autofix powered by AI \u003c175728472+Copilot@users.noreply.github.com\u003e"
    },
    {
      "commit": "9a409c8df6c439617267b10436d8bb7a7038b7aa",
      "tree": "94e51145019d16d664ad3eaa559aa3b9d64c9cd9",
      "parents": [
        "97260210b354a86bf6af6772045588d25a067f1f"
      ],
      "author": {
        "name": "Yijun Zhao",
        "email": "ariesdevil77@gmail.com",
        "time": "Sat Jul 25 07:33:31 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Jul 24 23:33:31 2026 +0000"
      },
      "message": "feat: support tuple intersection (#154)\n\nCo-authored-by: tison \u003cwander4096@gmail.com\u003e"
    },
    {
      "commit": "97260210b354a86bf6af6772045588d25a067f1f",
      "tree": "1bce0618ef95b5d08026a1f626c8defa983b3adc",
      "parents": [
        "4dec1541c3387a2975487e7ee88d84f5e47b9857"
      ],
      "author": {
        "name": "tison",
        "email": "wander4096@gmail.com",
        "time": "Fri Jul 24 23:40:55 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Jul 24 23:40:55 2026 +0800"
      },
      "message": "chore: code tidy and script tidy (#161)\n\nSigned-off-by: tison \u003cwander4096@gmail.com\u003e"
    },
    {
      "commit": "4dec1541c3387a2975487e7ee88d84f5e47b9857",
      "tree": "e4dd6931d40b35dedaad668a88635841b45bde18",
      "parents": [
        "390a01b4c7d6b9ab55ac3bb6f36b563e5ac44a1e"
      ],
      "author": {
        "name": "Phoenix",
        "email": "Phoenix500526@163.com",
        "time": "Fri Jul 24 23:09:11 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Jul 24 23:09:11 2026 +0800"
      },
      "message": "ci: download snapshots from apache/dataSketches-tck (#160)\n\nSigned-off-by: Jiawei Zhao \u003cPhoenix500526@163.com\u003e\nCo-authored-by: tison \u003cwander4096@gmail.com\u003e"
    },
    {
      "commit": "390a01b4c7d6b9ab55ac3bb6f36b563e5ac44a1e",
      "tree": "1fb02b70083702cedec400492d25a54b56b3a238",
      "parents": [
        "3668658f3d0a415f4ee157cf769c8db024364603"
      ],
      "author": {
        "name": "Yijun Zhao",
        "email": "ariesdevil77@gmail.com",
        "time": "Fri Jul 24 22:51:36 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Jul 24 22:51:36 2026 +0800"
      },
      "message": "feat(tuple): add tuple union operation (#153)"
    },
    {
      "commit": "3668658f3d0a415f4ee157cf769c8db024364603",
      "tree": "473b6665b479f8ecac6d575c03b31e2e9169f0f1",
      "parents": [
        "7f35b0510029740a38338ccaf587a07ab4426ee3"
      ],
      "author": {
        "name": "Phoenix",
        "email": "Phoenix500526@163.com",
        "time": "Thu Jul 23 21:46:42 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Jul 23 21:46:42 2026 +0800"
      },
      "message": "refactor(common): compute inverse powers inline (#159)\n\nCloses #157\n\nSigned-off-by: Jiawei Zhao \u003cPhoenix500526@163.com\u003e\nCo-authored-by: tison \u003cwander4096@gmail.com\u003e"
    },
    {
      "commit": "7f35b0510029740a38338ccaf587a07ab4426ee3",
      "tree": "f2f928558905ee88fa1c3e7de1ea7345abd84f5e",
      "parents": [
        "81ec1cb181c9ba043e4998c0bad44fd0d8a00899"
      ],
      "author": {
        "name": "tison",
        "email": "wander4096@gmail.com",
        "time": "Thu Jul 23 20:39:44 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Jul 23 20:39:44 2026 +0800"
      },
      "message": "refactor: simplify builders interface and rework tuple summary policy (#158)\n\nSigned-off-by: tison \u003cwander4096@gmail.com\u003e"
    },
    {
      "commit": "81ec1cb181c9ba043e4998c0bad44fd0d8a00899",
      "tree": "980636a694e16e96276d9fbfb45a74637cbae980",
      "parents": [
        "ee6e1cc432555c3562274ec36fc2dd6419b96701"
      ],
      "author": {
        "name": "Yijun Zhao",
        "email": "ariesdevil77@gmail.com",
        "time": "Thu Jul 23 15:43:27 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Jul 23 07:43:27 2026 +0000"
      },
      "message": "feat: add tuple sketch implementation (#152)\n\nCo-authored-by: tison \u003cwander4096@gmail.com\u003e"
    },
    {
      "commit": "ee6e1cc432555c3562274ec36fc2dd6419b96701",
      "tree": "d9c326c563eee7cf0d26819d2e1c8b052d8bfae9",
      "parents": [
        "eefe0656449620f2d23bcb8391f6aaf8a3e99396"
      ],
      "author": {
        "name": "ZENOTME",
        "email": "st810918843@gmail.com",
        "time": "Sat Jul 18 17:11:13 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sat Jul 18 09:11:13 2026 +0000"
      },
      "message": "feat(theta): add theta union (#145)\n\nCo-authored-by: tison \u003cwander4096@gmail.com\u003e"
    },
    {
      "commit": "eefe0656449620f2d23bcb8391f6aaf8a3e99396",
      "tree": "e3168e3fbe024fdda36f9bbea1c2131916433461",
      "parents": [
        "1402037b7f1ade76e600a1a66315788f52e02df1"
      ],
      "author": {
        "name": "tison",
        "email": "wander4096@gmail.com",
        "time": "Sun Jul 12 17:11:56 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sun Jul 12 17:11:56 2026 +0800"
      },
      "message": "chore: internal code tidy (#149)\n\nSigned-off-by: tison \u003cwander4096@gmail.com\u003e"
    },
    {
      "commit": "1402037b7f1ade76e600a1a66315788f52e02df1",
      "tree": "1c216be9abf62edc4f130e06187087da75f01b8b",
      "parents": [
        "8c1514fe79b1140ed10958a8942eb031c84c5bea"
      ],
      "author": {
        "name": "tison",
        "email": "wander4096@gmail.com",
        "time": "Sun Jul 12 06:03:49 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sun Jul 12 06:03:49 2026 +0800"
      },
      "message": "refactor(hll): reuse the inverse powers lookup table (#148)\n\nSigned-off-by: tison \u003cwander4096@gmail.com\u003e"
    },
    {
      "commit": "8c1514fe79b1140ed10958a8942eb031c84c5bea",
      "tree": "499076a7657433fe7737cc4513929acba3a2bcbe",
      "parents": [
        "e4609c63048138cd26b54b55dbac5c6f12b2fb2d"
      ],
      "author": {
        "name": "Yijun Zhao",
        "email": "ariesdevil77@gmail.com",
        "time": "Fri Jul 10 21:10:20 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Jul 10 13:10:20 2026 +0000"
      },
      "message": "refactor(theta): theta hash table into raw table, preparing for tuple reuse (#146)"
    },
    {
      "commit": "e4609c63048138cd26b54b55dbac5c6f12b2fb2d",
      "tree": "4d8370c620ce53e448cb98f4982b2182aea86b08",
      "parents": [
        "cafebaae65286bb46df579f0d2425f911184f39e"
      ],
      "author": {
        "name": "tison",
        "email": "wander4096@gmail.com",
        "time": "Sun Jul 05 07:39:30 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sun Jul 05 07:39:30 2026 +0800"
      },
      "message": "perf: avoid clone on serialize frequency items (#144)\n\nSigned-off-by: tison \u003cwander4096@gmail.com\u003e"
    },
    {
      "commit": "cafebaae65286bb46df579f0d2425f911184f39e",
      "tree": "0be8b3822555f5e32ec834231b866808f09f8230",
      "parents": [
        "8a6884b62d7073e4be0346b60aa07555c5d0f11d"
      ],
      "author": {
        "name": "kedom",
        "email": "kedom@vmcall.net",
        "time": "Fri Jul 03 19:15:59 2026 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sat Jul 04 01:15:59 2026 +0800"
      },
      "message": "fix(frequencies): write the full empty preamble long in serialize (#143)\n\nAn empty FrequentItemsSketch serialized to 6 bytes: the preamble\ndeclares one 8-byte preamble long, but serialization stopped after the\nflags byte. Deserialization (in Rust as well as the Java and C++\nreaders) consumes the full 8-byte preamble, so a serialized empty\nsketch failed to deserialize with an insufficient-data error.\n\nEmptiness is reachable from non-trivial streams: a map saturated with\ncount-1 items purges every counter, so pipelines that persist sketches\ncan hit the failure on real data.\n\nWrite the two unused padding bytes so the empty encoding is one full\npreamble long, matching the Java and C++ implementations.\n\nCo-authored-by: Claude Fable 5 \u003cnoreply@anthropic.com\u003e"
    },
    {
      "commit": "8a6884b62d7073e4be0346b60aa07555c5d0f11d",
      "tree": "f641f15373e23fee4c47b23b2545ae9145f4b7ca",
      "parents": [
        "e8b881c50a3b8b3ae9e0798afeec230ce72172e7"
      ],
      "author": {
        "name": "tison",
        "email": "wander4096@gmail.com",
        "time": "Thu Jul 02 11:21:49 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Jul 02 03:21:49 2026 +0000"
      },
      "message": "chore: add changelog and update ci actions (#141)\n\nSigned-off-by: tison \u003cwander4096@gmail.com\u003e"
    },
    {
      "commit": "e8b881c50a3b8b3ae9e0798afeec230ce72172e7",
      "tree": "de36e9ec4c328ae3511e306b3944c3c4acab1f55",
      "parents": [
        "cb6b7e26334c8c60f68e9c537a5150ee5b78bd94"
      ],
      "author": {
        "name": "kedom",
        "email": "kedom@vmcall.net",
        "time": "Thu Jul 02 04:50:36 2026 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Jul 02 02:50:36 2026 +0000"
      },
      "message": "feat(frequencies): add borrowed-key update methods to the frequent items sketch (#140)\n\nSigned-off-by: kedom \u003ckedom@vmcall.net\u003e\nSigned-off-by: tison \u003cwander4096@gmail.com\u003e\nCo-authored-by: Claude Opus 4.8 (1M context) \u003cnoreply@anthropic.com\u003e\nCo-authored-by: tison \u003cwander4096@gmail.com\u003e"
    }
  ],
  "next": "cb6b7e26334c8c60f68e9c537a5150ee5b78bd94"
}
