)]}'
{
  "commit": "a4ab9ec5de4f205e5aa1809eae63857f1e655c78",
  "tree": "8e07631c9725db5efd75db4a4dfe5847c6124ac0",
  "parents": [
    "7cc19b78d562895b13596ddce7aafb59dd789318"
  ],
  "author": {
    "name": "matloob@google.com",
    "email": "matloob@golang.org",
    "time": "Thu May 19 15:37:11 2016 -0400"
  },
  "committer": {
    "name": "matloob@google.com",
    "email": "matloob@golang.org",
    "time": "Thu May 19 15:37:11 2016 -0400"
  },
  "message": "proto: clean up proto API for extensions\n\nMethods that manipulate protos with extensions will now take\nproto.Message instead of the internal extendableProto interface.\n\nA ClearExtensions method is added to clear all extensions on protos.\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "054f4f1df78872e3e9a5ec2ad41a937e463631f5",
      "old_mode": 33188,
      "old_path": "proto/extensions.go",
      "new_id": "0de0b424f837e0bea8d3e0239c6dfba2d4addb63",
      "new_mode": 33188,
      "new_path": "proto/extensions.go"
    },
    {
      "type": "modify",
      "old_id": "80122108bebdba179f3280e8bade1db00a8414df",
      "old_mode": 33188,
      "old_path": "proto/extensions_test.go",
      "new_id": "ed6a27d76652d1b3e38d65e7185a9cb13b58e30f",
      "new_mode": 33188,
      "new_path": "proto/extensions_test.go"
    }
  ]
}
