)]}'
{
  "commit": "d55da91947da4a8036e35c8ed452e95b01028a09",
  "tree": "7f94d6837d20c5abdd9dad59dc0b7cbca6557676",
  "parents": [
    "a55e214b0cd6b1d44f06170698a32599ac1efe62"
  ],
  "author": {
    "name": "Dev-iL",
    "email": "6509619+Dev-iL@users.noreply.github.com",
    "time": "Wed Aug 19 07:31:34 2026 +0300"
  },
  "committer": {
    "name": "GitHub",
    "email": "noreply@github.com",
    "time": "Wed Aug 19 14:31:34 2026 +1000"
  },
  "message": "Switch the fingerprint algo to xxh3_128 (#1630)\n\n* Standardize fingerprint hashing on xxh3_128\n\nSwap the single `_hash_bytes` chokepoint from md5 to the\nnon-cryptographic `xxhash.xxh3_128`. xxh3_128 produces a 16-byte digest\n(24 base64url chars, identical width to the md5 it replaces), so digest\nwidth and collision resistance are preserved while throughput on\nbuffer-bound paths rises substantially.\n\nDeclare `xxhash\u003e\u003d0.8.0` as a core runtime dependency (xxh3_128 was added\nin 0.8.0); fingerprinting is imported eagerly via the caching adapter, so\nit must be a hard dependency rather than an optional extra. Add the\nxxhash BSD-2-Clause attribution to LICENSE.\n\nRecompute the portable literal-digest pins (primitives, sequences,\nmappings, sets, numpy) against xxh3_128. This is a fingerprint-changing\nrelease: prior cached fingerprints no longer match and will be recomputed.\n\nCo-Authored-By: Claude Opus 4.8 \u003cnoreply@anthropic.com\u003e\n\n* Move xxhash to the \"performance\" extra\n\n* Remove the xxhash section from the top-level LICENCE\n\n---------\n\nCo-authored-by: Claude Opus 4.8 \u003cnoreply@anthropic.com\u003e",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "33aa6b645248e5be5895f51964dbd6cbfaac5d33",
      "old_mode": 33188,
      "old_path": "docs/concepts/caching.rst",
      "new_id": "2a2d4c6b2c38635c41d1760330c0763191eb3543",
      "new_mode": 33188,
      "new_path": "docs/concepts/caching.rst"
    },
    {
      "type": "modify",
      "old_id": "df488b28109859a8d3eddcfe55a3498d5ab4dcc4",
      "old_mode": 33188,
      "old_path": "hamilton/caching/fingerprinting.py",
      "new_id": "8e30437abd2380e4344c7482d9efa20e915b9f36",
      "new_mode": 33188,
      "new_path": "hamilton/caching/fingerprinting.py"
    },
    {
      "type": "modify",
      "old_id": "74ad5d58699d9a77014d70408169ae766de294d4",
      "old_mode": 33188,
      "old_path": "pyproject.toml",
      "new_id": "df3c465f7a7b1d67aeccfbe6cb89a181a34bec8e",
      "new_mode": 33188,
      "new_path": "pyproject.toml"
    },
    {
      "type": "modify",
      "old_id": "9c00e072e34809c779da48ffbf14f64fd3436d23",
      "old_mode": 33188,
      "old_path": "tests/caching/test_fingerprinting.py",
      "new_id": "c1593035bcaa2ccd4dc3553661edd5da16b16019",
      "new_mode": 33188,
      "new_path": "tests/caching/test_fingerprinting.py"
    }
  ]
}
