)]}'
{
  "commit": "1eb64d4bc0cde6da1bb8ebc7f178bb577508e5d0",
  "tree": "411416b039a1b27eb7fb05ca22942c9072abb9e3",
  "parents": [
    "5071ed6a9f1617117556b66384f765c934de3698"
  ],
  "author": {
    "name": "Zain Youssef",
    "email": "zain.19dj@gmail.com",
    "time": "Wed Jul 01 12:40:22 2026 +0000"
  },
  "committer": {
    "name": "Gopher Robot",
    "email": "gobot@golang.org",
    "time": "Wed Jul 01 10:29:34 2026 -0700"
  },
  "message": "semaphore: panic on negative weights\n\nThe semaphore.Weighted API accepts int64 for weights. If a negative\nweight is passed, it mathematically corrupts the internal state tracker\n(s.cur) and bypasses the package\u0027s existing safety checks.\n\nThis adds strict boundary validation to panic immediately if a negative\nweight is provided.\n\nFixes golang/go#80183\n\nChange-Id: I7e74bad404a8b99aef7e3d2189dda43f8ea644c2\nGitHub-Last-Rev: ee6289c356f4626ebca52dbe86d856cc713d7be0\nGitHub-Pull-Request: golang/sync#31\nReviewed-on: https://go-review.googlesource.com/c/sync/+/796080\nReviewed-by: Damien Neil \u003cdneil@google.com\u003e\nReviewed-by: Zain Yousef \u003czain.19dj@gmail.com\u003e\nReviewed-by: Alan Donovan \u003cadonovan@google.com\u003e\nLUCI-TryBot-Result: golang-scoped@luci-project-accounts.iam.gserviceaccount.com \u003cgolang-scoped@luci-project-accounts.iam.gserviceaccount.com\u003e\nAuto-Submit: Alan Donovan \u003cadonovan@google.com\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "040c5bc50917b8401019d6da985b67dfa08497b4",
      "old_mode": 33188,
      "old_path": "semaphore/semaphore.go",
      "new_id": "96a035aedeb6ab08012af26ccdba9801de66c4d5",
      "new_mode": 33188,
      "new_path": "semaphore/semaphore.go"
    },
    {
      "type": "modify",
      "old_id": "0fa08a9cbe55e3e3e845d8c4688b38e74cc82b96",
      "old_mode": 33188,
      "old_path": "semaphore/semaphore_test.go",
      "new_id": "1a2eb7a4bda1daffbb020a046b6dca8d1e51f4ad",
      "new_mode": 33188,
      "new_path": "semaphore/semaphore_test.go"
    }
  ]
}
