)]}'
{
  "commit": "9d497df196d66553ae844c22a53fb86cd422e80c",
  "tree": "9891f8a656b6cf3cadd9e7e34d65ab13b8cf8fb1",
  "parents": [
    "afa9b66ac081d3b239d8c1a226b5e884c8435185"
  ],
  "author": {
    "name": "Damien Neil",
    "email": "dneil@google.com",
    "time": "Tue Nov 04 17:00:33 2025 -0800"
  },
  "committer": {
    "name": "Gopher Robot",
    "email": "gobot@golang.org",
    "time": "Thu Jan 15 10:15:01 2026 -0800"
  },
  "message": "[release-branch.go1.25] archive/zip: reduce CPU usage in index construction\n\nConstructing the zip index (which is done once when first opening\na file in an archive) can consume large amounts of CPU when\nprocessing deeply-nested directory paths.\n\nSwitch to a less inefficient algorithm.\n\nThanks to Jakub Ciolek for reporting this issue.\n\n\tgoos: darwin\n\tgoarch: arm64\n\tpkg: archive/zip\n\tcpu: Apple M4 Pro\n\t                          │  /tmp/bench.0  │            /tmp/bench.1            │\n\t                          │     sec/op     │   sec/op     vs base               │\n\tReaderOneDeepDir-14         25983.62m ± 2%   46.01m ± 2%  -99.82% (p\u003d0.000 n\u003d8)\n\tReaderManyDeepDirs-14          16.221 ± 1%    2.763 ± 6%  -82.96% (p\u003d0.000 n\u003d8)\n\tReaderManyShallowFiles-14      130.3m ± 1%   128.8m ± 2%   -1.20% (p\u003d0.003 n\u003d8)\n\tgeomean                         3.801        253.9m       -93.32%\n\nFixes #77102\nFixes CVE-2025-61728\n\nChange-Id: I2c9c864be01b2a2769eb67fbab1b250aeb8f6c42\nReviewed-on: https://go-internal-review.googlesource.com/c/go/+/3060\nReviewed-by: Nicholas Husin \u003chusin@google.com\u003e\nReviewed-by: Neal Patel \u003cnealpatel@google.com\u003e\nReviewed-on: https://go-internal-review.googlesource.com/c/go/+/3327\nReviewed-by: Damien Neil \u003cdneil@google.com\u003e\nReviewed-on: https://go-review.googlesource.com/c/go/+/736724\nTryBot-Bypass: Michael Pratt \u003cmpratt@google.com\u003e\nReviewed-by: Junyang Shao \u003cshaojunyang@google.com\u003e\nAuto-Submit: Michael Pratt \u003cmpratt@google.com\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "6b57f767fc849d7cd47428fb566f5a922a874aab",
      "old_mode": 33188,
      "old_path": "src/archive/zip/reader.go",
      "new_id": "b2a4ed6042d5d579bd819093662144d6b13ab6d5",
      "new_mode": 33188,
      "new_path": "src/archive/zip/reader.go"
    },
    {
      "type": "modify",
      "old_id": "410b2d037e44d5671fdb6b35de9a3e1fa61cfbc8",
      "old_mode": 33188,
      "old_path": "src/archive/zip/reader_test.go",
      "new_id": "4b1122269e007d7ab67c4b8de82db2af51c0310b",
      "new_mode": 33188,
      "new_path": "src/archive/zip/reader_test.go"
    }
  ]
}
