)]}'
{
  "commit": "76cd15c8d4eddde2b5628ccf7470b9a2d4bdfb0c",
  "tree": "7a69692f7bb6c62af341e8a890763ad46d00eff7",
  "parents": [
    "d3562f11d9ef100b273e8375e0778c09077795fb"
  ],
  "author": {
    "name": "Carbo",
    "email": "BYVoid@users.noreply.github.com",
    "time": "Thu Aug 27 04:44:34 2026 -0700"
  },
  "committer": {
    "name": "GitHub",
    "email": "noreply@github.com",
    "time": "Thu Aug 27 11:44:34 2026 +0000"
  },
  "message": "libsais@2.10.4 (#10241)\n\nAdd [libsais](https://github.com/IlyaGrebnov/libsais) 2.10.4 — a library\nfor fast linear-time construction of suffix arrays, LCP arrays, BWT and\ninverse BWT.\n\nThe upstream project is CMake-based, so this module ships an overlay\n`BUILD.bazel` and `MODULE.bazel`. Each of the four upstream sources gets\nits own target, matching the four variants of the API (8/16-bit symbols\n× 32/64-bit indices):\n\n- `@libsais//:libsais` — `uint8_t` input, `int32_t` suffix array\n- `@libsais//:libsais16` — `uint16_t` input, `int32_t` suffix array\n- `@libsais//:libsais64` — `uint8_t` input, `int64_t` suffix array\n(depends on `:libsais`, which it delegates to for inputs below\n`INT32_MAX`)\n- `@libsais//:libsais16x64` — `uint16_t` input, `int64_t` suffix array\n(depends on `:libsais16` for the same reason)\n\nOpenMP support is not enabled.\n\nUpstream ships no tests, so the overlay adds one `cc_test` per target\nunder `test/`, each linking only its own library and checking the suffix\narray of `\"banana\"`. They run in presubmit via `test_targets:\n\"@libsais//:all\"`, and pass locally along with `tools/bcr_validation.py\n--check libsais@2.10.4`, which reports no issues other than the unstable\nURL below.\n\nUpstream publishes no release archive assets for `v2.10.4`, only the\nauto-generated tag tarball, so the URL stability check cannot be\nsatisfied.\n\n@bazel-io skip_check unstable_url",
  "tree_diff": [
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "53519b814b61b34cdfe8e2dfdcc48d8e5a05c478",
      "new_mode": 33188,
      "new_path": "modules/libsais/2.10.4/MODULE.bazel"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "4fae0efa60cf33ae05c4c52d4b0bb6ea441be1cc",
      "new_mode": 33188,
      "new_path": "modules/libsais/2.10.4/overlay/BUILD.bazel"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "53519b814b61b34cdfe8e2dfdcc48d8e5a05c478",
      "new_mode": 33188,
      "new_path": "modules/libsais/2.10.4/overlay/MODULE.bazel"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "6cf2b61d702230b9f5dce3bf8c40e16bb81d655f",
      "new_mode": 33188,
      "new_path": "modules/libsais/2.10.4/overlay/test/libsais16_test.c"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "4935f0c4436128d84143c6e43651571f802ff841",
      "new_mode": 33188,
      "new_path": "modules/libsais/2.10.4/overlay/test/libsais16x64_test.c"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "245a19bf3f5ed1e90bf692dca2530cb68ba2e7a9",
      "new_mode": 33188,
      "new_path": "modules/libsais/2.10.4/overlay/test/libsais64_test.c"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "f2b0c8746532345ed61aa989727c50b602cb1121",
      "new_mode": 33188,
      "new_path": "modules/libsais/2.10.4/overlay/test/libsais_test.c"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "afae1b8c72f9e4e977fd8d299926d31ba6e856bb",
      "new_mode": 33188,
      "new_path": "modules/libsais/2.10.4/presubmit.yml"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "bb77f25f56cb5168e82410441217b775abd96a89",
      "new_mode": 33188,
      "new_path": "modules/libsais/2.10.4/source.json"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "1cdf32d5dbdf4c4663ca82623b26725306a6848b",
      "new_mode": 33188,
      "new_path": "modules/libsais/metadata.json"
    }
  ]
}
