)]}'
{
  "commit": "23a5ba1c932e63ec811d6d9095ac80f580dfe102",
  "tree": "56fd4e0044572fb451ca4b7c551df68a3ef656c1",
  "parents": [
    "b949033ae8b22ff77e798a08f4ecc6eaf4cf0d8a"
  ],
  "author": {
    "name": "Gregory P. Smith",
    "email": "68491+gpshead@users.noreply.github.com",
    "time": "Sun Oct 25 05:38:04 2026"
  },
  "committer": {
    "name": "GitHub",
    "email": "noreply@github.com",
    "time": "Sun Oct 25 05:38:04 2026"
  },
  "message": "gh-160549: Fix crash when freeing a busy multi-threaded ZstdCompressor (GH-160550)\n\nZSTD_freeCCtx() frees a dictionary loaded with ZSTD_CCtx_loadDictionary()\nbefore it stops the worker threads.  Make libzstd wait for unfinished\njobs before freeing the compression context of a ZstdCompressor that\nuses worker threads and a ZstdDict.\n\nWorks around https://github.com/facebook/zstd/issues/4862",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "60f41ead76b8670703f6b9e53ee69284c8ca987b",
      "old_mode": 33188,
      "old_path": "Lib/test/test_zstd.py",
      "new_id": "d8208b2c22682b9332d58d5d10bf027a5c7131cf",
      "new_mode": 33188,
      "new_path": "Lib/test/test_zstd.py"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "f2c21f06f8613e650ea1a1024f4a0e899a0dd30f",
      "new_mode": 33188,
      "new_path": "Misc/NEWS.d/next/Library/2026-10-23-23-21-21.gh-issue-160549.q7ZdMt.rst"
    },
    {
      "type": "modify",
      "old_id": "19e12ed4af7479a4144c129c2c0db6673edbe708",
      "old_mode": 33188,
      "old_path": "Modules/_zstd/compressor.c",
      "new_id": "0e3d81bd32c58b2b1decbdc228cdbbe2756bb53d",
      "new_mode": 33188,
      "new_path": "Modules/_zstd/compressor.c"
    }
  ]
}
