)]}'
{
  "log": [
    {
      "commit": "1e5fa4b9b35ad6bfeb238d19897ace7826eda057",
      "tree": "49f9633dd88fcfce78d7e05eb1da9a661c1cd416",
      "parents": [
        "59fc4113e6b6527cd95c3346d49a1197af673e77"
      ],
      "author": {
        "name": "Jens Geyer",
        "email": "jnsg@apache.org",
        "time": "Fri Mar 27 00:01:45 2026 +0100"
      },
      "committer": {
        "name": "Jens Geyer",
        "email": "Jens-G@users.noreply.github.com",
        "time": "Sat Mar 28 00:05:42 2026 +0100"
      },
      "message": "THRIFT-5939: Replace GUID generation with stable UUID algorithm\n\nReplace the Windows-only random CoCreateGuid() GUID generation with\ndeterministic UUIDv8 (RFC 9562) derived from SHA-256 over a namespace\nhierarchy (DNS → thrift.apache.org → program → interface metadata).\n\nUses SHA-256 implementation by Brad Conte (brad AT bradconte.com),\nwhich is explicitly public domain (no copyright claimed).\nSource: https://github.com/B-Con/crypto-algorithms\n\n- sha256.h: Brad Conte\u0027s algorithm verbatim, inlined to a header-only file,\n  macros prefixed THRIFT_SHA256_ to avoid collisions\n- Add generate_guid_v8() for services and structs using a canonical\n  string covering: program namespace UUID, entity name, parent service\n  hash (for inheritance), and function/field signatures with Thrift\n  IDL type names\n- Add type_name_for_guid(), canonical_service_string(),\n  canonical_struct_string(), program_namespace_uuid() helpers\n- Add guid_v4 generator option to fall back to legacy random GUIDs\n  (Windows only, for migration compatibility)\n- GUIDs are now emitted on all platforms, not just Windows\n- Add UuidV8Test.thrift fixture and CI step that validates\n  determinism, UUIDv8 format, field-order sensitivity, and\n  parent-service hash inclusion\n- LICENSE: add attribution section for the third-party public-domain code,\n  following the existing pattern in the file\n\nCo-Authored-By: Claude Sonnet 4.6 \u003cnoreply@anthropic.com\u003e\n"
    }
  ]
}
