)]}'
{
  "commit": "fdfc67f44913e48d2e3458a3b79edf0a919442de",
  "tree": "f58acc2d450915c4a77671cf255a7bdfc5d0d927",
  "parents": [
    "661aadb7c49519027a8a02793c09cb0a420a4cf7"
  ],
  "author": {
    "name": "Joe Tsai",
    "email": "joetsai@digital-static.net",
    "time": "Mon Jun 08 12:51:42 2026 -0700"
  },
  "committer": {
    "name": "Joseph Tsai",
    "email": "joetsai@digital-static.net",
    "time": "Tue Jun 09 10:01:52 2026 -0700"
  },
  "message": "encoding/json/v2: support format tag via runtime Option\n\nThis is an alternative workaround to CL 773980.\n\nInstead of using a GOEXPERIMENT flag,\nwhich only applies at compile-time,\nuse a special json.Options that enables\nsupport for the `format` tag option at runtime.\n\nThis provides greater flexibility for logic\nthat is functionally already linked into the runtime\nimplementation of the \"json\" package.\n\nThe `format` flag is already widely used (proving its utility),\nbut it is not going to be included in the initial release of\n\"encoding/json/v2\" since we want to implement it\nusing typed struct tags prospectively coming in Go 1.27.\n\nThis runtime option provides a workaround until then.\n\nThis CL fully removes support for JSON object names\nexpressed using the single-quoted string syntax.\nAgain, this is better supported in the future\nwith typed struct tags. Since there are no known usages\nof this pattern, it is okay to remove this without a workaround.\n\nUpdates #79071\n\nChange-Id: Ifb29e35a5e57cfbacc24e8ca2737911d9e654d23\nReviewed-on: https://go-review.googlesource.com/c/go/+/788420\nLUCI-TryBot-Result: golang-scoped@luci-project-accounts.iam.gserviceaccount.com \u003cgolang-scoped@luci-project-accounts.iam.gserviceaccount.com\u003e\nReviewed-by: Michael Pratt \u003cmpratt@google.com\u003e\nReviewed-by: Damien Neil \u003cdneil@google.com\u003e\n",
  "tree_diff": [
    {
      "type": "delete",
      "old_id": "2b81a59ca4284e99e57ec63b8baaa1aeb7e630dc",
      "old_mode": 33188,
      "old_path": "src/encoding/json/internal/exp_jsonformat_off.go",
      "new_id": "0000000000000000000000000000000000000000",
      "new_mode": 0,
      "new_path": "/dev/null"
    },
    {
      "type": "delete",
      "old_id": "b78f02b0eb98406d412327a92d4200bb47640703",
      "old_mode": 33188,
      "old_path": "src/encoding/json/internal/exp_jsonformat_on.go",
      "new_id": "0000000000000000000000000000000000000000",
      "new_mode": 0,
      "new_path": "/dev/null"
    },
    {
      "type": "modify",
      "old_id": "cd7c56805ea4b66abb79c5d72c4e4491e3f2cd2b",
      "old_mode": 33188,
      "old_path": "src/encoding/json/internal/jsonflags/flags.go",
      "new_id": "d6371852b5140c9a7a0fc5cd1ca4e5bf352b96d7",
      "new_mode": 33188,
      "new_path": "src/encoding/json/internal/jsonflags/flags.go"
    },
    {
      "type": "modify",
      "old_id": "692d1a374a25c5fc6ada6ec42e1f5850a2ba445e",
      "old_mode": 33188,
      "old_path": "src/encoding/json/internal/jsonopts/options.go",
      "new_id": "20901e6f30aa1ab64d93bb8da2ed287ecb2443cb",
      "new_mode": 33188,
      "new_path": "src/encoding/json/internal/jsonopts/options.go"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "4a5b759daad32ce3b24577572677f8a5bc2319d7",
      "new_mode": 33188,
      "new_path": "src/encoding/json/internal/jsonopts/options_format.go"
    },
    {
      "type": "modify",
      "old_id": "439cd65fb4f8f5c24d237c743d80cd8d9aea077f",
      "old_mode": 33188,
      "old_path": "src/encoding/json/internal/jsonopts/options_test.go",
      "new_id": "c2cf6ac1cc03dae7126fcd327f89934b9abe9099",
      "new_mode": 33188,
      "new_path": "src/encoding/json/internal/jsonopts/options_test.go"
    },
    {
      "type": "modify",
      "old_id": "4499aaba7e706ad728004821653259f73e41f4a9",
      "old_mode": 33188,
      "old_path": "src/encoding/json/v2/arshal_default.go",
      "new_id": "4385a069fc81430519b540c4ba13f3fc37bcc82f",
      "new_mode": 33188,
      "new_path": "src/encoding/json/v2/arshal_default.go"
    },
    {
      "type": "modify",
      "old_id": "cbc6909dc2b118ad75c1c2d64a07b3b14dcd96db",
      "old_mode": 33188,
      "old_path": "src/encoding/json/v2/arshal_test.go",
      "new_id": "d344287367d3d869db05da7a34c88315efa28165",
      "new_mode": 33188,
      "new_path": "src/encoding/json/v2/arshal_test.go"
    },
    {
      "type": "modify",
      "old_id": "298f25e69c42ed8eb71eec82588d6ce36c419a72",
      "old_mode": 33188,
      "old_path": "src/encoding/json/v2/arshal_time.go",
      "new_id": "d9790c70d308140a6ee989be292fe66050b87887",
      "new_mode": 33188,
      "new_path": "src/encoding/json/v2/arshal_time.go"
    },
    {
      "type": "delete",
      "old_id": "bec6d2e0bf0ea5079dd789045267aa1b2520f551",
      "old_mode": 33188,
      "old_path": "src/encoding/json/v2/doc_format.go",
      "new_id": "0000000000000000000000000000000000000000",
      "new_mode": 0,
      "new_path": "/dev/null"
    },
    {
      "type": "delete",
      "old_id": "3facfd4699b1e516f71e5780166b0874f3f9c4e6",
      "old_mode": 33188,
      "old_path": "src/encoding/json/v2/example_format_test.go",
      "new_id": "0000000000000000000000000000000000000000",
      "new_mode": 0,
      "new_path": "/dev/null"
    },
    {
      "type": "modify",
      "old_id": "62ff073caf9b980e79703a678d0f49c1cc6f664a",
      "old_mode": 33188,
      "old_path": "src/encoding/json/v2/fields.go",
      "new_id": "74162daee5751799b46f77aff38ee70bb195458b",
      "new_mode": 33188,
      "new_path": "src/encoding/json/v2/fields.go"
    },
    {
      "type": "modify",
      "old_id": "39493969475433877397df853b959a1541d4ee19",
      "old_mode": 33188,
      "old_path": "src/encoding/json/v2/fields_test.go",
      "new_id": "b3bf678125da7dcdbb9219c106e66d8256be0980",
      "new_mode": 33188,
      "new_path": "src/encoding/json/v2/fields_test.go"
    },
    {
      "type": "delete",
      "old_id": "43896ab090ea5c717dc2759a4991e9e83af0df24",
      "old_mode": 33188,
      "old_path": "src/internal/goexperiment/exp_jsonformat_off.go",
      "new_id": "0000000000000000000000000000000000000000",
      "new_mode": 0,
      "new_path": "/dev/null"
    },
    {
      "type": "delete",
      "old_id": "8ff2e9ba15033b05dfd4780b6d69d9ade1eadc7b",
      "old_mode": 33188,
      "old_path": "src/internal/goexperiment/exp_jsonformat_on.go",
      "new_id": "0000000000000000000000000000000000000000",
      "new_mode": 0,
      "new_path": "/dev/null"
    },
    {
      "type": "modify",
      "old_id": "17fe15270aba605044dc46d09c5cdd8685227f9c",
      "old_mode": 33188,
      "old_path": "src/internal/goexperiment/flags.go",
      "new_id": "75cf68a752348112cd75fbed659417069e7e4f61",
      "new_mode": 33188,
      "new_path": "src/internal/goexperiment/flags.go"
    }
  ]
}
