)]}'
{
  "commit": "f72ef0bd8b131216988c3afa8978d301dc83fe88",
  "tree": "feba2412b01f80d306d3d559ab79a7af6e1e4d1f",
  "parents": [
    "f018b73c6d3495c730fac28fd52ebf1d491dcfbb"
  ],
  "author": {
    "name": "bnc",
    "email": "bnc@google.com",
    "time": "Thu Apr 02 06:59:32 2020 -0700"
  },
  "committer": {
    "name": "Copybara-Service",
    "email": "copybara-worker@google.com",
    "time": "Thu Apr 02 07:00:08 2020 -0700"
  },
  "message": "gfe-relnote: Emit H3_SETTINGS_ERROR and H3_MISSING_SETTINGS when appropriate.  Protected by gfe2_reloadable_flag_quic_enable_version_draft_25_v3 and gfe2_reloadable_flag_quic_enable_version_draft_27.\n\nEmit H3_SETTINGS_ERROR when receiving a SETTINGS frame with duplicate setting\nidentifier.  Emit H3_MISSING_SETTINGS when receiving a CANCEL_PUSH, GOAWAY,\nMAX_PUSH_ID, PRIORITY_UPDATE, or unknown frame before a SETTINGS frame on the\ncontrol stream.  Before this CL, H3_FRAME_UNEXPECTED was emitted for duplicate\nSETTINGS or a PRIORITY_UPDATE or unknow frame before a SETTINGS, and no error\nwas signalled for a CANCEL_PUSH, GOAWAY, or MAX_PUSH_ID being the first frame on\nthe control stream.\n\nIf a DATA, HEADERS, or PUSH_PROMISE frame arrives on the control stream, keep\nthe error code H3_FRAME_UNEXPECTED, even if no SETTINGS frame has been received\nyet.  The specification has conflicting MUSTs, so either error code is\nacceptable.\n\nPiperOrigin-RevId: 304391962\nChange-Id: If47b3940761e7955ee645bd59e4969302164a051\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "c1fa96cb1b959b7c08320b2fdd93357a82e2d34a",
      "old_mode": 33188,
      "old_path": "quic/core/http/http_decoder.cc",
      "new_id": "87f9919d29677d5e09c42ebb4ebf7109822262e0",
      "new_mode": 33188,
      "new_path": "quic/core/http/http_decoder.cc"
    },
    {
      "type": "modify",
      "old_id": "d97cbc161d30e0505b3d3ba62d36ed2448b48edc",
      "old_mode": 33188,
      "old_path": "quic/core/http/http_decoder_test.cc",
      "new_id": "2e8885c9dd7771cbc50e85883c0926d073e38765",
      "new_mode": 33188,
      "new_path": "quic/core/http/http_decoder_test.cc"
    },
    {
      "type": "modify",
      "old_id": "4e361f2af70a4aa0c2cca5d3b7c8fc694a634fe0",
      "old_mode": 33188,
      "old_path": "quic/core/http/quic_receive_control_stream.cc",
      "new_id": "17c6ecc55cc09b9c4125b96867ae66bcab96b7b3",
      "new_mode": 33188,
      "new_path": "quic/core/http/quic_receive_control_stream.cc"
    },
    {
      "type": "modify",
      "old_id": "d9583aeb07ce054bfd34b8b5569b154f40e91a8e",
      "old_mode": 33188,
      "old_path": "quic/core/http/quic_receive_control_stream_test.cc",
      "new_id": "2914c92602f141b1cf0cfb545e14e559c8e982d3",
      "new_mode": 33188,
      "new_path": "quic/core/http/quic_receive_control_stream_test.cc"
    },
    {
      "type": "modify",
      "old_id": "164e6a1f9cacc21607cfc764bd06f395448040c6",
      "old_mode": 33188,
      "old_path": "quic/core/http/quic_spdy_session_test.cc",
      "new_id": "20078062e942c644a16a65894c9cdeaf1968038b",
      "new_mode": 33188,
      "new_path": "quic/core/http/quic_spdy_session_test.cc"
    },
    {
      "type": "modify",
      "old_id": "d897aac8490d213cb2ac7beacdee357ce625d324",
      "old_mode": 33188,
      "old_path": "quic/core/quic_error_codes.cc",
      "new_id": "db97d32572d9b72be3c1d7af4267ab5227104d22",
      "new_mode": 33188,
      "new_path": "quic/core/quic_error_codes.cc"
    },
    {
      "type": "modify",
      "old_id": "dc575d3fbe43926697df87ee62deadfaa63ff753",
      "old_mode": 33188,
      "old_path": "quic/core/quic_error_codes.h",
      "new_id": "0548e9b0fe0261dd0973950178e3fc713bcab213",
      "new_mode": 33188,
      "new_path": "quic/core/quic_error_codes.h"
    },
    {
      "type": "modify",
      "old_id": "5d692506c5e64b4c119bdc3e97277f1e93f456fc",
      "old_mode": 33188,
      "old_path": "quic/core/quic_types.cc",
      "new_id": "ce24d57113d18407da2ace610061028b51fe8b40",
      "new_mode": 33188,
      "new_path": "quic/core/quic_types.cc"
    }
  ]
}
