)]}'
{
  "commit": "c02cfcd1990eb6c2a5547e17014b245abe434faa",
  "tree": "0a3c41ca4a6a7861541c697ce7035fb94b99004d",
  "parents": [
    "4d751bb6e37cf0da5fd57a86b880f76791307adf"
  ],
  "author": {
    "name": "Brad Fitzpatrick",
    "email": "bradfitz@tailscale.com",
    "time": "Thu Apr 23 21:58:45 2026"
  },
  "committer": {
    "name": "Brad Fitzpatrick",
    "email": "bradfitz@tailscale.com",
    "time": "Sun Jul 12 19:00:21 2026"
  },
  "message": "memcache: add pipelining, modernize some of the Go\n\nAlso:\n\n* add synctest tests, which requires newer Go, so build tag those\n  out. We need to bump go.mod to get working synctest, so:\n* ... also add a CI check that we keep building with Go 1.18 for now,\n  not using Go language/API changes newer than Go 1.18.\n* few more config knobs\n\nFixes #160\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "9288fefcb7fdc2168b41166cdbe94db7d6d101bf",
      "old_mode": 33188,
      "old_path": ".github/workflows/test.yml",
      "new_id": "1ef8c99ebc9e324da7003d2aff980e6ae9ab46a8",
      "new_mode": 33188,
      "new_path": ".github/workflows/test.yml"
    },
    {
      "type": "modify",
      "old_id": "1bf1615a126519f41a78d1bfcea107d187762f8d",
      "old_mode": 33188,
      "old_path": "go.mod",
      "new_id": "7d81911f15dd804c27e8ee1226fe2d386bac98d9",
      "new_mode": 33188,
      "new_path": "go.mod"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "32f722325b3d92906a5c31b60953f3e43b161e4a",
      "new_mode": 33188,
      "new_path": "memcache/fakenet_test.go"
    },
    {
      "type": "modify",
      "old_id": "6f48caac9666cced27c2d43be3b5a35ed9b76bcf",
      "old_mode": 33188,
      "old_path": "memcache/memcache.go",
      "new_id": "805af943bb58ccf5365e400c15fe7017153d7b8b",
      "new_mode": 33188,
      "new_path": "memcache/memcache.go"
    },
    {
      "type": "modify",
      "old_id": "a0fa746d4645da8f13b5e3b29f02edb354091484",
      "old_mode": 33188,
      "old_path": "memcache/memcache_test.go",
      "new_id": "98ac8cf0ffce04c0efd616564fa167ad1daae996",
      "new_mode": 33188,
      "new_path": "memcache/memcache_test.go"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "5b293f45f89e95ea97aca1b262f8fc036cb4e853",
      "new_mode": 33188,
      "new_path": "memcache/pipeline.go"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "f6736b1001c3c9da04070e49c0f968da023f3559",
      "new_mode": 33188,
      "new_path": "memcache/pipeline_bench_test.go"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "accc2f19376dc62d3ecef5726d769fbbd3f124bd",
      "new_mode": 33188,
      "new_path": "memcache/pipeline_test.go"
    },
    {
      "type": "modify",
      "old_id": "964dbdb6a2e9f2e11dc123a44d9063bc3740881b",
      "old_mode": 33188,
      "old_path": "memcache/selector.go",
      "new_id": "849ddc3339408a2bd2ae0a0296cc196365fc6d06",
      "new_mode": 33188,
      "new_path": "memcache/selector.go"
    }
  ]
}
