)]}'
{
  "commit": "dfecc367826276cdca1d6dbcf1998357840dcdb9",
  "tree": "1e855f6bd3e069087152dbb64b745d4d3b032873",
  "parents": [
    "612769ef042b0ee0efb7c6e3bf22c65ebec8832b"
  ],
  "author": {
    "name": "Joe Tsai",
    "email": "joetsai@digital-static.net",
    "time": "Mon Mar 18 11:35:00 2019 -0700"
  },
  "committer": {
    "name": "Joe Tsai",
    "email": "thebrokentoaster@gmail.com",
    "time": "Mon Mar 18 20:10:55 2019 +0000"
  },
  "message": "internal/proto: robustify GetProperties for a post-reflection world\n\nOriginally, the approach taken was to re-write GetProperties in terms\nof protobuf reflection to partially support the use of GetProperties\non generated messages not in the open-struct API.\n\nHowever, CL/167918 shows that doing so preserves a significant amount of\ntechnical debt in the v1 repository.\n\nIn discussing this with @dneil, we decided that we should keep GetProperties\nworking for open-struct messages, but to instead ensure that GetProperties\ndoes *not* work for non-open-struct messages.\n\nChanges made:\n* Document the API more, and place warnings on all exported entry points\ndeterring away new users.\n* Always rename unrelated Go struct fields with an XXX_ prefix since this is\na common pattern that users check for.\n* Deliberately fail if the struct does not look like an open-struct API.\n* Minor bug fix for groups getting assigned the wrong wire type.\n\nChange-Id: I404bde0327fea9d83387d19fb50feccfa4608e47\nReviewed-on: https://go-review.googlesource.com/c/protobuf/+/168157\nReviewed-by: Herbie Ong \u003cherbie@google.com\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "eed36441603e9ed6c23e4fa019ea73e29b4fe2a7",
      "old_mode": 33188,
      "old_path": "internal/proto/properties.go",
      "new_id": "3df9e3decbe31db62c6d81355872b98a0c8d61f4",
      "new_mode": 33188,
      "new_path": "internal/proto/properties.go"
    },
    {
      "type": "modify",
      "old_id": "42a27da38cc3d5763d734ee689dfb78ae657a004",
      "old_mode": 33188,
      "old_path": "proto/properties.go",
      "new_id": "5c4d44d8851c95b3739924e2b87b9f0f7a7cd4df",
      "new_mode": 33188,
      "new_path": "proto/properties.go"
    }
  ]
}
