)]}'
{
  "commit": "b2c39269d3977e21b47cdfa69d0f9a0bec8f6482",
  "tree": "9a955752e54c9cf52ff0fef6fab7a39cfe0838da",
  "parents": [
    "998e22e68b3cc775b1cfd337ab9bad0550dab2cb"
  ],
  "author": {
    "name": "Richard Levasseur",
    "email": "richardlev@gmail.com",
    "time": "Mon Jul 07 07:04:43 2025 -0700"
  },
  "committer": {
    "name": "GitHub",
    "email": "noreply@github.com",
    "time": "Mon Jul 07 14:04:43 2025 +0000"
  },
  "message": "fix: parsing local version with digit followed by non-digits (#3032)\n\nWhen parsing the local identifier segment of `\u003cdigit\u003e\u003cletter\u003e` the\nparser would\ngive an error saying the letter was unexpected.\n\nWhat was happening was `accept_digits()` consumed up to the first\nnon-digit, and\nconsidered this success, which prevented calling `accept_alnum()` to\nfinish\nthe parsing.\n\nTo fix, only call `accept_alnum()`, then post-process the value to\nnormalize\nan all-digit segment.\n\nI\u0027m guessing `accept_digits()` stopping at the first non-digit is WAI\nbecause\nit expects to parse e.g. \"3.14b\", where the caller handles subsequent\ncharacters.\n\nAlong the way, some minor doc improvements to the parser code.\n\nFixes https://github.com/bazel-contrib/rules_python/issues/3030",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "f98165d391e0192c8dfe5804121619b80b016024",
      "old_mode": 33188,
      "old_path": "python/private/version.bzl",
      "new_id": "8b5fef7b2a30a5eff52865078e3fea6433feab4f",
      "new_mode": 33188,
      "new_path": "python/private/version.bzl"
    },
    {
      "type": "modify",
      "old_id": "589f9ac05de48e07237282571232d507b840da0a",
      "old_mode": 33188,
      "old_path": "tests/version/version_test.bzl",
      "new_id": "7ddb6cc851c096e03e95c862ede684073787451a",
      "new_mode": 33188,
      "new_path": "tests/version/version_test.bzl"
    }
  ]
}
