)]}'
{
  "commit": "b83b385ed4e83f2ab0ef880d30af8facf5ecb05e",
  "tree": "861b49216f2ffae4bcf7961161035cdd3eddea9f",
  "parents": [
    "f2976165849843f51d9e6364f803de3ff41adf58"
  ],
  "author": {
    "name": "yhirose",
    "email": "yuji.hirose.bug@gmail.com",
    "time": "Thu Oct 22 00:37:09 2026 -0400"
  },
  "committer": {
    "name": "yhirose",
    "email": "yuji.hirose.bug@gmail.com",
    "time": "Thu Oct 22 00:37:09 2026 -0400"
  },
  "message": "Match trusted proxies as IP addresses\n\nset_trusted_proxies() compared addresses as strings, so a proxy listed\nas 10.0.0.2 was not trusted when a server listening on both IPv4 and\nIPv6 saw it as ::ffff:10.0.0.2, and two spellings of one IPv6 address\ndid not match either. The listed addresses are now put in one spelling\nwhen they are set, and so are the connection peer and each\nX-Forwarded-For hop before they are looked up; an IPv4-mapped IPv6\naddress becomes its IPv4 address. The README now documents the setter.\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "bf1958f89e0c4e709ebb7c0efcadd652cd6dc8c9",
      "old_mode": 33188,
      "old_path": "README.md",
      "new_id": "e1b63296688049baeec3b554d1088e20506762ef",
      "new_mode": 33188,
      "new_path": "README.md"
    },
    {
      "type": "modify",
      "old_id": "17bcb21de4ba3579e72fa7c29bb378d397c5a08e",
      "old_mode": 33188,
      "old_path": "httplib.h",
      "new_id": "3118c568960732fec499d849fd9c881199a7d711",
      "new_mode": 33188,
      "new_path": "httplib.h"
    },
    {
      "type": "modify",
      "old_id": "f63c42c8f75e187b2350468b7e4351a3c3756148",
      "old_mode": 33188,
      "old_path": "test/test.cc",
      "new_id": "755e05cbb0b00828b646afef243803880fe128a4",
      "new_mode": 33188,
      "new_path": "test/test.cc"
    }
  ]
}
