)]}'
{
  "commit": "2c31595783c74564c1299a5401dc6e606f379cc7",
  "tree": "00f479235d398ab9d265c343597e1a6b0a4338cc",
  "parents": [
    "e077557cfb885f95c7587a6051b72a54cf961c81"
  ],
  "author": {
    "name": "Brad Fitzpatrick",
    "email": "bradfitz@golang.org",
    "time": "Thu Sep 03 04:21:21 2026 +0000"
  },
  "committer": {
    "name": "Gopher Robot",
    "email": "gobot@golang.org",
    "time": "Thu Sep 03 11:40:30 2026 -0700"
  },
  "message": "net/http/internal/http2: don\u0027t shrink HPACK decoder table before SETTINGS ack\n\nA server configured with a MaxDecoderHeaderTableSize below the initial\n4096 bytes (RFC 7540, section 6.5.2) applied it to its HPACK decoder at\nconnection start. But the server doesn\u0027t know when the client has\nreceived and applied a SETTINGS value until the client acknowledges the\nSETTINGS frame (RFC 7540, section 6.5.3), and the client\u0027s encoder\nsignals a table size reduction with a dynamic table size update at the\nbeginning of the first header block following the settings\nacknowledgment (RFC 7541, section 4.2). Until then, the client may keep\nusing the initial 4096-byte table. A spec-compliant client (including\nGo\u0027s own http2 client) that sent a header block referencing a dynamic\ntable entry in the first RTT was rejected with a connection-fatal\nCOMPRESSION_ERROR.\n\nInstead, start the decoder at the initial table size and apply the\nconfigured smaller size once the client acks our SETTINGS. All header\nblocks after the ack were encoded by a client that has processed the\nsetting, and a compliant encoder begins its next header block with a\ndynamic table size update. Memory during the window is bounded by the\nsame 4096 bytes as today\u0027s default.\n\nChange-Id: Idecd25a1e0473c3cff314922ddc97ace14cb2e5e\nReviewed-on: https://go-review.googlesource.com/c/go/+/827024\nReviewed-by: Nicholas Husin \u003chusin@google.com\u003e\nLUCI-TryBot-Result: golang-scoped@luci-project-accounts.iam.gserviceaccount.com \u003cgolang-scoped@luci-project-accounts.iam.gserviceaccount.com\u003e\nReviewed-by: Damien Neil \u003cdneil@google.com\u003e\nReviewed-by: Nicholas Husin \u003cnsh@golang.org\u003e\nAuto-Submit: Brad Fitzpatrick \u003cbradfitz@golang.org\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "addfc1dd24ffa3519fc2905eaf27c735902e2e1c",
      "old_mode": 33188,
      "old_path": "src/net/http/internal/http2/server.go",
      "new_id": "463ebba48add0ec363c1fbb66d4d33a938dcba8d",
      "new_mode": 33188,
      "new_path": "src/net/http/internal/http2/server.go"
    },
    {
      "type": "modify",
      "old_id": "727ab192ccf2142b84af9e69ef86ecb44d3731f8",
      "old_mode": 33188,
      "old_path": "src/net/http/internal/http2/server_test.go",
      "new_id": "304badaa8f3500f9b1c29816f5ac69ff29ad6005",
      "new_mode": 33188,
      "new_path": "src/net/http/internal/http2/server_test.go"
    }
  ]
}
