)]}'
{
  "log": [
    {
      "commit": "b57aae9defbc3e3ce7daed74b0c4d7a57550c933",
      "tree": "42d5dfeddbc29d357da462981414e13157426733",
      "parents": [
        "a5526f012912f9297c3613ccd0364d5c5668e000"
      ],
      "author": {
        "name": "Joe Tsai",
        "email": "joetsai@digital-static.net",
        "time": "Wed Apr 22 13:49:10 2020 -0700"
      },
      "committer": {
        "name": "Joe Tsai",
        "email": "thebrokentoaster@gmail.com",
        "time": "Thu Apr 23 06:01:13 2020 +0000"
      },
      "message": "all: improve extension validation\n\nChanges made:\n* Ensure protoreflect.ExtensionType.IsValidInterface never panics,\nespecially if given a nil interface value.\n* Have protoreflect.ExtensionType.IsValid{Interface,Value} only\nperform type-checks. It does not do value checks (i.e., whether the\nvalue itself is valid). Value validity is left to when an actual\nprotoreflect.Message.Set operation is performed.\n* Add special-casing on proto.SetExtension to treat an invalid\nmessage or list as functionally equivalent to Clear. This is to\nbe more consistent with the legacy SetExtension implementation\nwhich never panicked when given such values.\n* Add special-casing on proto.HasExtension to treat a mismatched\nextension descriptor as simply not being present in the message.\nThis is also to be more consistent with the legacy HasExtension\nimplementation which did the same thing.\n\nChange-Id: Idf0419abf27b9f85d9b92bd2ff8088e25b7990cc\nReviewed-on: https://go-review.googlesource.com/c/protobuf/+/229558\nReviewed-by: Damien Neil \u003cdneil@google.com\u003e\n"
    },
    {
      "commit": "a5526f012912f9297c3613ccd0364d5c5668e000",
      "tree": "edd83ff56e6a6acc5f49d1d5719a09fb3ebd3ee3",
      "parents": [
        "98f56d1bd543eca52eff2c76e7c5364a939c91fd"
      ],
      "author": {
        "name": "Damien Neil",
        "email": "dneil@google.com",
        "time": "Tue Apr 21 13:56:02 2020 -0700"
      },
      "committer": {
        "name": "Damien Neil",
        "email": "dneil@google.com",
        "time": "Tue Apr 21 21:23:04 2020 +0000"
      },
      "message": "internal/impl: fix off-by-one error in message initialization\n\nThis particular off-by-one can never happen in practice. We will crash\nif a field has a number one greater than the maximum field number in the\ndense array, but if field number N is in the array we will always put\nN+1 in it as well.\n\nFix the off-by-one anyway.\n\nChange-Id: I8c1304f2fc0d7b91036bde3f7ddb7115c21781ca\nReviewed-on: https://go-review.googlesource.com/c/protobuf/+/229278\nReviewed-by: Joe Tsai \u003cjoetsai@google.com\u003e\n"
    },
    {
      "commit": "98f56d1bd543eca52eff2c76e7c5364a939c91fd",
      "tree": "ef5903186af3ae7d042036eaa303349b1f11322f",
      "parents": [
        "33f8c03eac3bcac50665225612f3443d13ce7704"
      ],
      "author": {
        "name": "Damien Neil",
        "email": "dneil@google.com",
        "time": "Tue Apr 21 10:46:11 2020 -0700"
      },
      "committer": {
        "name": "Damien Neil",
        "email": "dneil@google.com",
        "time": "Tue Apr 21 21:03:31 2020 +0000"
      },
      "message": "internal/impl: inline coderInfoFields for better cache locality\n\nMicrobenchmarks are inconclusive/noisy, but shows a small but noticeable\nimprovement on internal benchmarks.\n\nChange-Id: Ic46c6aac8a42c4dc749c4f3583d8c8c95e9548b7\nReviewed-on: https://go-review.googlesource.com/c/protobuf/+/229277\nReviewed-by: Joe Tsai \u003cjoetsai@google.com\u003e\n"
    },
    {
      "commit": "33f8c03eac3bcac50665225612f3443d13ce7704",
      "tree": "9fcf4beee991e35012a1f9ffa221d9c9b385d2fc",
      "parents": [
        "d824637fdfbf2939bffbc9a35c617670c5e15bcf"
      ],
      "author": {
        "name": "Joe Tsai",
        "email": "joetsai@digital-static.net",
        "time": "Mon Apr 20 17:08:19 2020 -0700"
      },
      "committer": {
        "name": "Joe Tsai",
        "email": "joetsai@digital-static.net",
        "time": "Tue Apr 21 00:46:21 2020 +0000"
      },
      "message": "proto: add RangeExtensions and adjust HasExtension and GetExtension\n\nTwo changes:\n* Add RangeExtensions as a more suitable replacement for legacy\nproto.ClearExtensions and proto.ExtensionDescs functions.\n* Make HasExtension and GetExtension treat nil message interface\nas an empty message to more consistently match legacy behavior.\n\nChange-Id: I8eb1887a33d0737f2f80a2b80358cc296087ba3b\nReviewed-on: https://go-review.googlesource.com/c/protobuf/+/229157\nReviewed-by: Damien Neil \u003cdneil@google.com\u003e\n"
    },
    {
      "commit": "d824637fdfbf2939bffbc9a35c617670c5e15bcf",
      "tree": "7f009d51ecab0728bf7379daed4783fce6e7fdaa",
      "parents": [
        "7650ca0905876ee840c43b4932d842f6fde7fd18"
      ],
      "author": {
        "name": "Joe Tsai",
        "email": "joetsai@digital-static.net",
        "time": "Sat Feb 29 15:52:47 2020 -0800"
      },
      "committer": {
        "name": "Joe Tsai",
        "email": "thebrokentoaster@gmail.com",
        "time": "Tue Apr 21 00:35:05 2020 +0000"
      },
      "message": "reflect/protoreflect: mention bidirectional conversion of protodesc\n\nExpand the mention of the protodesc package to indicate that it can\nconstruct protoreflect.Descriptors from the descriptor messages, but\nalso convert a protoreflect.Descriptor back to the message form.\n\nChange-Id: I9f3d75c6050fff603655ee0a4e8e29d0a2c0cf84\nReviewed-on: https://go-review.googlesource.com/c/protobuf/+/221611\nReviewed-by: Damien Neil \u003cdneil@google.com\u003e\n"
    },
    {
      "commit": "7650ca0905876ee840c43b4932d842f6fde7fd18",
      "tree": "aaffd635eb28f772a9b9f69e98d9e6d574268584",
      "parents": [
        "a732b3c77a6936de8c8f5c525a4893edc0c87d42"
      ],
      "author": {
        "name": "Joe Tsai",
        "email": "joetsai@digital-static.net",
        "time": "Thu Apr 09 19:10:10 2020 -0700"
      },
      "committer": {
        "name": "Joe Tsai",
        "email": "thebrokentoaster@gmail.com",
        "time": "Tue Apr 21 00:34:41 2020 +0000"
      },
      "message": "reflect/protoreflect: cleanup wording on Message.NewField\n\nChange-Id: Id2200e335fb5caf8e7e1574524081fed36aab268\nReviewed-on: https://go-review.googlesource.com/c/protobuf/+/227817\nReviewed-by: Damien Neil \u003cdneil@google.com\u003e\n"
    },
    {
      "commit": "a732b3c77a6936de8c8f5c525a4893edc0c87d42",
      "tree": "f2dbf070c5f9053fec5459933962ef34c6387cf4",
      "parents": [
        "8cfc14f022f558728049bb7799b69309db55ce84"
      ],
      "author": {
        "name": "Joe Tsai",
        "email": "joetsai@digital-static.net",
        "time": "Fri Apr 17 11:08:53 2020 -0700"
      },
      "committer": {
        "name": "Joe Tsai",
        "email": "joetsai@digital-static.net",
        "time": "Mon Apr 20 23:39:16 2020 +0000"
      },
      "message": "proto: never return nil []byte from Marshal when successful\n\nIt is a sufficiently common pattern to do something like the following:\n\tm.Proto2BytesField, ... \u003d proto.Marshal(m2)\n\nwhere the user is relying on Marshal to never return a nil byte slice,\notherwise it subtly changes the semantics of how the generated API\nhandles whether a proto2 \"optional bytes\" fields is populated or not.\n\nChange-Id: Ie7508dbcdcc5f3295885609a91907c6eb4f04c1e\nReviewed-on: https://go-review.googlesource.com/c/protobuf/+/228838\nReviewed-by: Damien Neil \u003cdneil@google.com\u003e\n"
    },
    {
      "commit": "8cfc14f022f558728049bb7799b69309db55ce84",
      "tree": "fca635edc0de11e6c28212926a91b0f128e0d1e1",
      "parents": [
        "d8bc21f7e13fa476be55b17983bd5d43ad8c7121"
      ],
      "author": {
        "name": "Joe Tsai",
        "email": "joetsai@digital-static.net",
        "time": "Fri Apr 17 10:55:19 2020 -0700"
      },
      "committer": {
        "name": "Joe Tsai",
        "email": "joetsai@digital-static.net",
        "time": "Mon Apr 20 23:12:56 2020 +0000"
      },
      "message": "all: consistently treat nil message interface as an empty read-only message\n\nTo assist users in migrating from github.com/golang/protobuf\nto google.golang.org/protobuf, make it such that functiionality like\nproto.Marshal doesn\u0027t panic on nil interfaces.\n\nSimilar to how the new implementation treats a typed nil message\nas an empty message, we treat a nil interface as being equivalent\nto an \"untyped\" empty message.\n\nChange-Id: Ic037f386f855b122f732b34d370e524b7c0d76f1\nReviewed-on: https://go-review.googlesource.com/c/protobuf/+/228837\nReviewed-by: Damien Neil \u003cdneil@google.com\u003e\n"
    },
    {
      "commit": "d8bc21f7e13fa476be55b17983bd5d43ad8c7121",
      "tree": "61df99afe8ae35ef80ba3659b43de8be3d57a331",
      "parents": [
        "5e85542f16c96b08ecc9a90cf23a2737b0a1f528"
      ],
      "author": {
        "name": "Damien Neil",
        "email": "dneil@google.com",
        "time": "Tue Apr 14 15:46:43 2020 -0700"
      },
      "committer": {
        "name": "Damien Neil",
        "email": "dneil@google.com",
        "time": "Wed Apr 15 01:18:53 2020 +0000"
      },
      "message": "internal/fuzz: update to use native go-fuzz\n\nFixes golang/protobuf#1084.\n\nChange-Id: I2c71e9f58d09345d13f461ec78ee4e39c3a7f06d\nReviewed-on: https://go-review.googlesource.com/c/protobuf/+/228277\nReviewed-by: Joe Tsai \u003cjoetsai@google.com\u003e\n"
    },
    {
      "commit": "5e85542f16c96b08ecc9a90cf23a2737b0a1f528",
      "tree": "30e93a4c2d39483dc47d2bb735c19cf62b44d033",
      "parents": [
        "ba9d210a5c3bb2d5981039eb994789d4575112ac"
      ],
      "author": {
        "name": "Joe Tsai",
        "email": "joetsai@digital-static.net",
        "time": "Mon Apr 13 12:48:54 2020 -0700"
      },
      "committer": {
        "name": "Joe Tsai",
        "email": "joetsai@digital-static.net",
        "time": "Mon Apr 13 20:03:07 2020 +0000"
      },
      "message": "all: upgrade weak dependency to github.com/golang/protobuf@v1.4.0\n\nChange-Id: I7e04b4fe0ef174dddc8c4938f8d6f2109581d883\nReviewed-on: https://go-review.googlesource.com/c/protobuf/+/228179\nReviewed-by: Damien Neil \u003cdneil@google.com\u003e\n"
    },
    {
      "commit": "ba9d210a5c3bb2d5981039eb994789d4575112ac",
      "tree": "9d1a4be9e8e1eb37b80df1863f9dfaca4fb84b9f",
      "parents": [
        "3b9eee12916ce611400f93d6c2fed2fc2911b0ad"
      ],
      "author": {
        "name": "Joe Tsai",
        "email": "joetsai@digital-static.net",
        "time": "Mon Apr 13 11:06:33 2020 -0700"
      },
      "committer": {
        "name": "Joe Tsai",
        "email": "thebrokentoaster@gmail.com",
        "time": "Mon Apr 13 18:57:37 2020 +0000"
      },
      "message": "all: start v1.21.0-devel\n\nChange-Id: Ib9df04de7a3f46f3a3b512e92cc7694ec0f4f927\nReviewed-on: https://go-review.googlesource.com/c/protobuf/+/228178\nReviewed-by: Damien Neil \u003cdneil@google.com\u003e\n"
    },
    {
      "commit": "3b9eee12916ce611400f93d6c2fed2fc2911b0ad",
      "tree": "e3ed648d01bf687a281acca0d09589d35fe2402f",
      "parents": [
        "7dfcffe5a74a46c36b079a6e074cee6f821d85e6"
      ],
      "author": {
        "name": "Joe Tsai",
        "email": "joetsai@digital-static.net",
        "time": "Mon Apr 13 11:05:38 2020 -0700"
      },
      "committer": {
        "name": "Joe Tsai",
        "email": "thebrokentoaster@gmail.com",
        "time": "Mon Apr 13 18:57:02 2020 +0000"
      },
      "message": "all: release v1.21.0\n\nChange-Id: I6a91f3efd45ab0a446b220fddc8bd03aec93b388\nReviewed-on: https://go-review.googlesource.com/c/protobuf/+/228177\nReviewed-by: Damien Neil \u003cdneil@google.com\u003e\n"
    },
    {
      "commit": "7dfcffe5a74a46c36b079a6e074cee6f821d85e6",
      "tree": "52071111f700d9ed9c833cffc9543911fa17e75f",
      "parents": [
        "a75c9146b72afd5b18b817fdfda7fb1d974db9c5"
      ],
      "author": {
        "name": "Joe Tsai",
        "email": "joetsai@digital-static.net",
        "time": "Thu Apr 02 10:31:06 2020 -0700"
      },
      "committer": {
        "name": "Joe Tsai",
        "email": "joetsai@digital-static.net",
        "time": "Thu Apr 02 21:12:23 2020 +0000"
      },
      "message": "internal/impl: handle extremely old messages\n\nAt some point in time, protoc-gen-go actually emitted an XXX_OneofFuncs\nwith a different signature. Adjust the logic for handling XXX_OneofFuncs\nto not assume that the return arguments are in a specific order.\n\nChange-Id: Idd9c09231c4129c655d4a635bb1ae094896a1ff4\nReviewed-on: https://go-review.googlesource.com/c/protobuf/+/226980\nReviewed-by: Damien Neil \u003cdneil@google.com\u003e\n"
    },
    {
      "commit": "a75c9146b72afd5b18b817fdfda7fb1d974db9c5",
      "tree": "3efe8c0eaf64d03d8c99321d0f947ad06eb507e5",
      "parents": [
        "188e702e78695b3d266293dfd68869593eb80e8b"
      ],
      "author": {
        "name": "Joe Tsai",
        "email": "joetsai@digital-static.net",
        "time": "Wed Apr 01 11:47:49 2020 -0700"
      },
      "committer": {
        "name": "Joe Tsai",
        "email": "joetsai@digital-static.net",
        "time": "Thu Apr 02 00:23:08 2020 +0000"
      },
      "message": "internal/impl: minor refactoring\n\nChange-Id: I1a5f4ca31fec72a39ba6690af06f4ae8576408cc\nReviewed-on: https://go-review.googlesource.com/c/protobuf/+/226897\nReviewed-by: Damien Neil \u003cdneil@google.com\u003e\n"
    },
    {
      "commit": "188e702e78695b3d266293dfd68869593eb80e8b",
      "tree": "00cd7b5360dac461672961bf78da45346e218dcd",
      "parents": [
        "d037755d51bc456237589295f966da868ee6dd35"
      ],
      "author": {
        "name": "Damien Neil",
        "email": "dneil@google.com",
        "time": "Fri Mar 27 15:27:16 2020 -0700"
      },
      "committer": {
        "name": "Damien Neil",
        "email": "dneil@google.com",
        "time": "Tue Mar 31 19:56:16 2020 +0000"
      },
      "message": "reflect/protodesc: add NewFiles\n\nAdd a function that takes a protoreflect.FileDescriptorSet and returns\na protoregistry.Files.\n\nUpdates golang/protobuf##1065.\n\nChange-Id: I2715d042053ef7d3f1bfcee1866c20cac423e327\nReviewed-on: https://go-review.googlesource.com/c/protobuf/+/226237\nReviewed-by: Joe Tsai \u003cthebrokentoaster@gmail.com\u003e\n"
    },
    {
      "commit": "d037755d51bc456237589295f966da868ee6dd35",
      "tree": "e0bf7c2e08102aa067c28b982ecdbbe9cd8a3c72",
      "parents": [
        "f8d77f810aefefea0c1cc40f86ce5da90dbb5aaa"
      ],
      "author": {
        "name": "Joe Tsai",
        "email": "joetsai@digital-static.net",
        "time": "Tue Mar 24 11:46:34 2020 -0700"
      },
      "committer": {
        "name": "Joe Tsai",
        "email": "joetsai@digital-static.net",
        "time": "Tue Mar 24 23:06:32 2020 +0000"
      },
      "message": "internal/detectknown: add helper package to identify well-known types\n\nChange-Id: Id54621b4b44522a350e6994074962852690b5d66\nReviewed-on: https://go-review.googlesource.com/c/protobuf/+/225257\nReviewed-by: Herbie Ong \u003cherbie@google.com\u003e\n"
    },
    {
      "commit": "f8d77f810aefefea0c1cc40f86ce5da90dbb5aaa",
      "tree": "a3f362a652ee09b5f1edf10292877d857103edad",
      "parents": [
        "28cb1e4f28d3699bcc01ed92817dc120c7715dd7"
      ],
      "author": {
        "name": "Joe Tsai",
        "email": "joetsai@digital-static.net",
        "time": "Tue Mar 24 11:58:15 2020 -0700"
      },
      "committer": {
        "name": "Joe Tsai",
        "email": "joetsai@digital-static.net",
        "time": "Tue Mar 24 22:58:47 2020 +0000"
      },
      "message": "internal/msgfmt: simply time formatting logic\n\nThe msgfmt formatter is intended to only for debugging purposes.\nRemove unnecesary logic to detect out-of-range timestamps and durations.\n\nChange-Id: I060149ed71aa892bbe4fdb2508b1d0b9df4b5f37\nReviewed-on: https://go-review.googlesource.com/c/protobuf/+/225258\nReviewed-by: Damien Neil \u003cdneil@google.com\u003e\n"
    },
    {
      "commit": "28cb1e4f28d3699bcc01ed92817dc120c7715dd7",
      "tree": "45301134252d59a56eff8a551c84450b8a13e04c",
      "parents": [
        "8cbef3ff2d38e5e5952ff4a07365ef43692f1058"
      ],
      "author": {
        "name": "Joe Tsai",
        "email": "joetsai@digital-static.net",
        "time": "Fri Mar 20 16:42:25 2020 -0700"
      },
      "committer": {
        "name": "Joe Tsai",
        "email": "joetsai@digital-static.net",
        "time": "Mon Mar 23 18:37:32 2020 +0000"
      },
      "message": "internal/impl: remove deprecated ExtensionField methods\n\nThese were originally needed by the legacy implementation,\nbut not anymore now that it fully wraps the new implementation.\n\nChange-Id: I950958ebfcb7883fc4b72128d22eaba2da5cc62f\nReviewed-on: https://go-review.googlesource.com/c/protobuf/+/224583\nReviewed-by: Damien Neil \u003cdneil@google.com\u003e\n"
    },
    {
      "commit": "8cbef3ff2d38e5e5952ff4a07365ef43692f1058",
      "tree": "7ed1002c5c7cf0f799272e997dd2fff953fba1c4",
      "parents": [
        "4e847add50e0f9e5247e62f10edcac7150104fbe"
      ],
      "author": {
        "name": "Joe Tsai",
        "email": "joetsai@digital-static.net",
        "time": "Fri Mar 20 16:34:59 2020 -0700"
      },
      "committer": {
        "name": "Joe Tsai",
        "email": "joetsai@digital-static.net",
        "time": "Sat Mar 21 00:04:20 2020 +0000"
      },
      "message": "all: fix golint violations\n\nChange-Id: I35d9f6842ec2e9b36c14672a05c4381441bda87a\nReviewed-on: https://go-review.googlesource.com/c/protobuf/+/224582\nReviewed-by: Herbie Ong \u003cherbie@google.com\u003e\n"
    },
    {
      "commit": "4e847add50e0f9e5247e62f10edcac7150104fbe",
      "tree": "45a8afc4646778a81b3e596cb9467f1401f64fa6",
      "parents": [
        "88baf0ae0c72c8042a6c2a7c8d438f933a11c446"
      ],
      "author": {
        "name": "Joe Tsai",
        "email": "joetsai@digital-static.net",
        "time": "Fri Mar 20 15:06:29 2020 -0700"
      },
      "committer": {
        "name": "Joe Tsai",
        "email": "thebrokentoaster@gmail.com",
        "time": "Fri Mar 20 22:19:18 2020 +0000"
      },
      "message": "README.md: mention protowire and protopack in the index\n\nChange-Id: Ie817c2317838695010e4e225a1223ca6cc12ff73\nReviewed-on: https://go-review.googlesource.com/c/protobuf/+/224579\nReviewed-by: Damien Neil \u003cdneil@google.com\u003e\n"
    },
    {
      "commit": "88baf0ae0c72c8042a6c2a7c8d438f933a11c446",
      "tree": "78a0e20970adf5ca5d6410d35c117ecf48a02195",
      "parents": [
        "c92333953e06a141a045ba4b4633a5932837628c"
      ],
      "author": {
        "name": "Joe Tsai",
        "email": "joetsai@digital-static.net",
        "time": "Fri Mar 20 15:09:47 2020 -0700"
      },
      "committer": {
        "name": "Joe Tsai",
        "email": "thebrokentoaster@gmail.com",
        "time": "Fri Mar 20 22:16:06 2020 +0000"
      },
      "message": "testing/protocmp: remove format.go\n\nThis is dead code as the logic has been moved to internal/msgfmt.\n\nChange-Id: If65f443c9672f5fdfbb91c7cc64fb6f12a93c374\nReviewed-on: https://go-review.googlesource.com/c/protobuf/+/224658\nReviewed-by: Damien Neil \u003cdneil@google.com\u003e\n"
    },
    {
      "commit": "c92333953e06a141a045ba4b4633a5932837628c",
      "tree": "6287ae8d03731debe1a2aa52e5a7a3ef4b0cbab5",
      "parents": [
        "ffbc5fdf5a2a1220b58e51cecf8b7b8bf94956cf"
      ],
      "author": {
        "name": "Damien Neil",
        "email": "dneil@google.com",
        "time": "Fri Mar 06 14:23:55 2020 -0800"
      },
      "committer": {
        "name": "Damien Neil",
        "email": "dneil@google.com",
        "time": "Fri Mar 20 21:35:56 2020 +0000"
      },
      "message": "internal/cmd/generate-protos: use module\u003d generator option\n\nNow we\u0027ll get a generator error if a file is missing a go_package\noption.\n\nChange-Id: I89eec716f86956e6c164a61f5531c140b74bc099\nReviewed-on: https://go-review.googlesource.com/c/protobuf/+/222378\nReviewed-by: Joe Tsai \u003cthebrokentoaster@gmail.com\u003e\n"
    },
    {
      "commit": "ffbc5fdf5a2a1220b58e51cecf8b7b8bf94956cf",
      "tree": "526ee932993a4d1670762cb9fa6055b7534be87c",
      "parents": [
        "9d397869d89256dc80a9a803c85ea7a8e9aba758"
      ],
      "author": {
        "name": "Damien Neil",
        "email": "dneil@google.com",
        "time": "Wed Feb 12 23:38:30 2020 -0800"
      },
      "committer": {
        "name": "Damien Neil",
        "email": "dneil@google.com",
        "time": "Fri Mar 20 21:22:12 2020 +0000"
      },
      "message": "compiler/protogen: add module\u003d generator option\n\nAdd a generator option that strips a prefix from the generated\nfilenames.\n\nConsider this case: We have google/protobuf/empty.proto, with a\ngo_package option of \"google.golang.org/protobuf/types/known/emptypb\".\nWe want to generate the code for this file, placing it into the\nappropriate directory of our repository.\n\nIn the default mode used by the code generator (paths\u003dimport),\nthe generator outputs the file:\n\n\tgoogle.golang.org/protobuf/types/known/emptypb/empty.pb.go\n\nThis is close to what we want, but has an unnecessary\n\"google.golang.org/protobuf/\" prefix. In the GOPATH world, we could pass\n--go_out\u003d$GOPATH to protoc and get a generated file in the desired\nlocation, but this path is not useful in the modules world.\n\nThe \u0027module\u0027 option allows us to strip off the module prefix, generating\nthe desired filename (types/known/emptypb/empty.pb.go):\n\n\tprotoc --go_out\u003d. --go_opt\u003dmodule\u003dgoogle.golang.org/protobuf google/protobuf/empty.proto\n\nThe module name must be an exact, character-for-character match. This\nmatches protoc\u0027s file handling in general.\n\nDefault to and require the paths\u003dimport option when module\u003d is\nspecified, since it only makes sense when combined with it.\n\nUpdates golang/protobuf#992.\n\nChange-Id: Idbfe4826b6c0ece30d64dbc577131a4f16391936\nReviewed-on: https://go-review.googlesource.com/c/protobuf/+/219298\nReviewed-by: Joe Tsai \u003cthebrokentoaster@gmail.com\u003e\n"
    },
    {
      "commit": "9d397869d89256dc80a9a803c85ea7a8e9aba758",
      "tree": "848e69ab26a0e64ad61ee22953e968e5d5e7d511",
      "parents": [
        "2ce1ca9e3f0b7c33ff0ef039078809db509710f8"
      ],
      "author": {
        "name": "Edward McFarlane",
        "email": "emcfarlane000@gmail.com",
        "time": "Tue Mar 17 23:54:49 2020 +0000"
      },
      "committer": {
        "name": "Joe Tsai",
        "email": "thebrokentoaster@gmail.com",
        "time": "Fri Mar 20 19:41:50 2020 +0000"
      },
      "message": "types/dynamicpb: fix message Zero return type to read-only\n\nChanges the message Zero return type to be read-only by omitting internal known map.\n\nChange-Id: I1c1191a125df74251be3d8bb70f4b06c1ff57070\nReviewed-on: https://go-review.googlesource.com/c/protobuf/+/223857\nReviewed-by: Joe Tsai \u003cthebrokentoaster@gmail.com\u003e\n"
    },
    {
      "commit": "2ce1ca9e3f0b7c33ff0ef039078809db509710f8",
      "tree": "ed050b947cac50e0b8b88aa51b207fa14ddb0b9d",
      "parents": [
        "cfd80493c530afb96ac94dbfbf69fb99d71236ce"
      ],
      "author": {
        "name": "Joe Tsai",
        "email": "joetsai@digital-static.net",
        "time": "Fri Feb 28 18:37:16 2020 -0800"
      },
      "committer": {
        "name": "Joe Tsai",
        "email": "joetsai@digital-static.net",
        "time": "Fri Mar 20 19:25:02 2020 +0000"
      },
      "message": "internal/msgfmt: use msgfmt package to format messages\n\nPort message formatting logic in testing/protocmp to internal/msgfmt\nand improve upon its output.\n\nThis formatter is optimized for humanly readable output.\nIt takes the best parts of both the JSON and proto text formats.\n\nThe good of prototext:\n\t* It supports emitting unknown fields (useful for debugging).\n\t* It is relatively concise in the common-case since keys do not\n\tneed to be represented as quoted strings (e.g., \"key\" vs key).\n\nThe bad of prototext:\n\t* Requires relatively large dependency on encoding/prototext.\n\t* Our implementation lacks support for serializing packed lists.\n\t* Lacks support for readable maps.\n\t* Lacks support for readable Timestamp and Duration.\n\nThe good of protojson:\n\t* First-class support for readable maps.\n\t* First-class support for readable Timestamp and Duration.\n\nThe bad of protojson:\n\t* Requires relatively large dependency on encoding/protojson.\n\t* Lacks support for emitting unknown fields.\n\t* More verbose in the common-case as keys are quoted strings.\n\nThe msgfmt package has the benefits of both protojson and prototext,\nbut none of the detriments. It is a relatively simple implementation.\n\nThis output is only intended for human consumption with no associated\ndeserialization implementation.\nTo avoid any illusion that this is identical to either the proto text\nor JSON formats, this always emits surrounding \"{}\" for\ntop-level messages and the keys are not quoted strings.\n\nThis CL does not use this format for generated Message.String methods\nas there is concerns about being inconsistent with the String methods\nas implemented in other languages. Having it be a seperate package makes\nit trivial to switch over to this if desired.\n\nChange-Id: I8b3581904d1624e84bf1b1954d2f01e5774b7f87\nReviewed-on: https://go-review.googlesource.com/c/protobuf/+/223752\nReviewed-by: Damien Neil \u003cdneil@google.com\u003e\n"
    },
    {
      "commit": "cfd80493c530afb96ac94dbfbf69fb99d71236ce",
      "tree": "7c763cd0ffea832d5ab7a1e0b545f9d500e7f08b",
      "parents": [
        "cd108d00a8df3bba55927ef35ca07438b895d7aa"
      ],
      "author": {
        "name": "Joe Tsai",
        "email": "joetsai@digital-static.net",
        "time": "Fri Feb 14 18:13:14 2020 -0800"
      },
      "committer": {
        "name": "Joe Tsai",
        "email": "joetsai@digital-static.net",
        "time": "Fri Mar 20 18:05:51 2020 +0000"
      },
      "message": "testing/protopack: make package publicly available\n\nChange-Id: I342ed27df17867f18c58e60880bcac5a31a3096b\nReviewed-on: https://go-review.googlesource.com/c/protobuf/+/219837\nReviewed-by: Damien Neil \u003cdneil@google.com\u003e\n"
    },
    {
      "commit": "cd108d00a8df3bba55927ef35ca07438b895d7aa",
      "tree": "9d4bd52f85fe838b8110727861a79e97de9aa3a9",
      "parents": [
        "b738ac9285905d332a6a153d4a7fda06eb3d269b"
      ],
      "author": {
        "name": "Joe Tsai",
        "email": "joetsai@digital-static.net",
        "time": "Fri Feb 14 18:08:02 2020 -0800"
      },
      "committer": {
        "name": "Joe Tsai",
        "email": "joetsai@digital-static.net",
        "time": "Fri Mar 20 07:42:18 2020 +0000"
      },
      "message": "encoding/protowire: make package publicly available\n\nChange-Id: I95e293c208e787a91d50e29817620535dfeaa7f2\nReviewed-on: https://go-review.googlesource.com/c/protobuf/+/219838\nReviewed-by: Damien Neil \u003cdneil@google.com\u003e\n"
    },
    {
      "commit": "b738ac9285905d332a6a153d4a7fda06eb3d269b",
      "tree": "042713957ef649fb33742a7556521dee1cee6919",
      "parents": [
        "6ad8e63055f34e2e16260f3c7974f99f39279a64"
      ],
      "author": {
        "name": "Joe Tsai",
        "email": "joetsai@digital-static.net",
        "time": "Mon Mar 16 00:37:30 2020 -0700"
      },
      "committer": {
        "name": "Joe Tsai",
        "email": "joetsai@digital-static.net",
        "time": "Wed Mar 18 20:17:11 2020 +0000"
      },
      "message": "all: regenerate remote .proto files\n\nThis fixes the conformance test failures which occur because the\nconformance protos have not been regenerated.\nThe generator script has been modified with a sanity check that\nfiles do not exist outside the expected sub-tree.\n\nChange-Id: I473efec4a016f6bc96ddf7e20d54bcf5ff9b55fe\nReviewed-on: https://go-review.googlesource.com/c/protobuf/+/223538\nReviewed-by: Damien Neil \u003cdneil@google.com\u003e\n"
    },
    {
      "commit": "6ad8e63055f34e2e16260f3c7974f99f39279a64",
      "tree": "7dae4980b5f44e2bde4b0387893ddc6c554f001a",
      "parents": [
        "d3874051d7711ebf2557447119a825a2b6ea13e3"
      ],
      "author": {
        "name": "Joe Tsai",
        "email": "joetsai@digital-static.net",
        "time": "Wed Mar 18 00:59:09 2020 -0700"
      },
      "committer": {
        "name": "Joe Tsai",
        "email": "joetsai@digital-static.net",
        "time": "Wed Mar 18 20:10:33 2020 +0000"
      },
      "message": "compiler/protogen: allow specifying the package name with M flags\n\nWhen using the M flags (which is functionally a mapping of\nfilenames to Go package paths), provide the user the ability to also\nspecify the package name by delimiting the package path with a \";\".\n\nExample usage:\n\tMpath/to/foo.proto\u003dpath/to/foo_go_proto;foopb\n\nThis uses the exact same syntax as the go_package option where a\n\";\" delimiter can be used to specify a package name.\nIt brings the M flags and the go_package option closer in behavior.\n\nChange-Id: I98e1fbb66ec2f1b70b4143b305355e5ab35ea198\nReviewed-on: https://go-review.googlesource.com/c/protobuf/+/223819\nReviewed-by: Damien Neil \u003cdneil@google.com\u003e\n"
    },
    {
      "commit": "d3874051d7711ebf2557447119a825a2b6ea13e3",
      "tree": "2ae208654659bbf5803637f65223b2b79e26ae3b",
      "parents": [
        "29677a9c119abeb49579e132b0482ced314018e9"
      ],
      "author": {
        "name": "Damien Neil",
        "email": "dneil@google.com",
        "time": "Tue Mar 17 16:49:25 2020 -0700"
      },
      "committer": {
        "name": "Damien Neil",
        "email": "dneil@google.com",
        "time": "Wed Mar 18 05:27:34 2020 +0000"
      },
      "message": "internal/encoding/messageset: don\u0027t modify input data when unmarshaling\n\nWhen combining multiple message fields in a MessageSet item (a case\nwhich should never happen in practice), unmarshal could modify the input\ndata. Fix it to not do so. Add a general check to ensure that unmarshal\noperations don\u0027t modify the input.\n\nChange-Id: Idde46e6132a1dc96c374f9146efff81783c3bef3\nReviewed-on: https://go-review.googlesource.com/c/protobuf/+/223818\nReviewed-by: Joe Tsai \u003cjoetsai@google.com\u003e\n"
    },
    {
      "commit": "29677a9c119abeb49579e132b0482ced314018e9",
      "tree": "83015710303916615edd6f9b128218f1c0fcfc75",
      "parents": [
        "b4c73aa919b07ae9d9da21699c8c696f9c2d6f47"
      ],
      "author": {
        "name": "Joe Tsai",
        "email": "joetsai@digital-static.net",
        "time": "Tue Mar 17 14:22:06 2020 -0700"
      },
      "committer": {
        "name": "Joe Tsai",
        "email": "joetsai@digital-static.net",
        "time": "Tue Mar 17 23:08:45 2020 +0000"
      },
      "message": "types/dynamic: make Message implement legacy message interface\n\nIt\u0027s annoying for some users that they can\u0027t directly pass\n*dynamicpb.Message to APIs that expect the legacy message interfaces.\nThe proto.MessageV1 wrappers work, but is somewhat suspect since they\nwere originally designed to wrap legacy generated messages.\n\nChange-Id: I0f9900dcd1c9865c754551f8763680c9bb904813\nReviewed-on: https://go-review.googlesource.com/c/protobuf/+/223817\nReviewed-by: Damien Neil \u003cdneil@google.com\u003e\n"
    },
    {
      "commit": "b4c73aa919b07ae9d9da21699c8c696f9c2d6f47",
      "tree": "a0226739d3b7f2a7d8cdfe449b57c3e3b0667e86",
      "parents": [
        "aadba562d322ba61eac73d39ad31281c3287c83d"
      ],
      "author": {
        "name": "Joe Tsai",
        "email": "joetsai@digital-static.net",
        "time": "Thu Feb 27 19:07:40 2020 -0800"
      },
      "committer": {
        "name": "Joe Tsai",
        "email": "joetsai@digital-static.net",
        "time": "Tue Mar 17 22:58:48 2020 +0000"
      },
      "message": "testing/protocmp: add SortRepeated and SortRepeatedFields\n\nSortRepeated is similar to cmpopts.SortSlice where it accepts a\nuser-provided sort function, but only operates on repeated fields.\nIt pattern matches based on sort element type.\n\nSortRepeatedFields is similar to SortRepeated, but chooses an\narbitrary sort order for the specified (by name) repeated fields.\nIt pattern matches based on message field name.\n\nChange-Id: Ib6ef282e5394cf7b22522161d524f22e1b76677a\nReviewed-on: https://go-review.googlesource.com/c/protobuf/+/221432\nReviewed-by: Damien Neil \u003cdneil@google.com\u003e\n"
    },
    {
      "commit": "aadba562d322ba61eac73d39ad31281c3287c83d",
      "tree": "7b748e2bea744a8d656a5e26f6e9f263b8855a3a",
      "parents": [
        "92af527de946dd7d428026ee8a41f4103ea6f588"
      ],
      "author": {
        "name": "Damien Neil",
        "email": "dneil@google.com",
        "time": "Sat Feb 15 14:28:51 2020 -0800"
      },
      "committer": {
        "name": "Damien Neil",
        "email": "dneil@google.com",
        "time": "Mon Mar 16 20:43:34 2020 +0000"
      },
      "message": "compiler/protogen: make paths\u003dimport work with M overrides\n\nIn the default .pb.go filename generation mode, we generate the filename\nfrom the import path when a file has a go_package option and the source\n.proto filename otherwise.\n\nChange filename generation when an explicit mode of paths\u003dimport is\nspecified to always use the import path, no matter how it was\ndetermiend. The practical effect is that you can override the import\npath of a file with Mx.proto\u003dimport/path and have this behave\nidentically to setting a go_package option in the file.\n\nChange-Id: I954b3f9d5fd17d08896629bfc77945dea1732bd6\nReviewed-on: https://go-review.googlesource.com/c/protobuf/+/219597\nReviewed-by: Joe Tsai \u003cthebrokentoaster@gmail.com\u003e\n"
    },
    {
      "commit": "92af527de946dd7d428026ee8a41f4103ea6f588",
      "tree": "7e3226ae0ab4b5d9ac87811718f709bdf899da90",
      "parents": [
        "4ab2bc9bb7af1082e93ede2bd251d7fc528f566a"
      ],
      "author": {
        "name": "Joe Tsai",
        "email": "joetsai@digital-static.net",
        "time": "Thu Mar 12 17:31:17 2020 -0700"
      },
      "committer": {
        "name": "Joe Tsai",
        "email": "joetsai@digital-static.net",
        "time": "Fri Mar 13 23:34:19 2020 +0000"
      },
      "message": "internal/impl: remove Export.ExtensionDescFromType\n\nThis is no longer needed by the old implementation.\n\nChange-Id: I3ba02d37f35f599ec790ec4e627258273883a308\nReviewed-on: https://go-review.googlesource.com/c/protobuf/+/223279\nReviewed-by: Damien Neil \u003cdneil@google.com\u003e\n"
    },
    {
      "commit": "4ab2bc9bb7af1082e93ede2bd251d7fc528f566a",
      "tree": "0e35e55125ba2ed69a656360a6464c16df084d01",
      "parents": [
        "f92988f90090c8fe8d58dc381c7919e215b57e65"
      ],
      "author": {
        "name": "Joe Tsai",
        "email": "joetsai@digital-static.net",
        "time": "Tue Mar 10 17:38:07 2020 -0700"
      },
      "committer": {
        "name": "Joe Tsai",
        "email": "joetsai@digital-static.net",
        "time": "Fri Mar 13 19:57:50 2020 +0000"
      },
      "message": "internal/version: move version information to internal package\n\nChange-Id: I947876de5d290cf783d9ba798871725e77e16517\nReviewed-on: https://go-review.googlesource.com/c/protobuf/+/223277\nReviewed-by: Damien Neil \u003cdneil@google.com\u003e\n"
    },
    {
      "commit": "f92988f90090c8fe8d58dc381c7919e215b57e65",
      "tree": "8b21215a51edd1dad95822e8bbb443dc4cebfebc",
      "parents": [
        "f75a338d9c5bda7f2a17025c3485eb9b74fea5f5"
      ],
      "author": {
        "name": "Joe Tsai",
        "email": "joetsai@digital-static.net",
        "time": "Sun Mar 01 03:01:46 2020 -0800"
      },
      "committer": {
        "name": "Joe Tsai",
        "email": "joetsai@digital-static.net",
        "time": "Fri Mar 13 19:49:20 2020 +0000"
      },
      "message": "all: upgrade protobuf to v3.11.4\n\nThis introduces some conformance test failures,\nwhich occur not because our implementation changed behavior,\nbut because new cases were added.\n\nFuture work will be to investigate these failuress.\n\nChange-Id: Ifb17465883c417acd46865744572f8cd0c858383\nReviewed-on: https://go-review.googlesource.com/c/protobuf/+/222857\nReviewed-by: Damien Neil \u003cdneil@google.com\u003e\n"
    },
    {
      "commit": "f75a338d9c5bda7f2a17025c3485eb9b74fea5f5",
      "tree": "b1a420a82be0079fa153430cb9bcb58f1cf9c7cb",
      "parents": [
        "a56bd81046f2eb6f7cb535ebdf657edf7bb48cab"
      ],
      "author": {
        "name": "Joe Tsai",
        "email": "joetsai@digital-static.net",
        "time": "Thu Dec 19 17:42:41 2019 -0800"
      },
      "committer": {
        "name": "Joe Tsai",
        "email": "thebrokentoaster@gmail.com",
        "time": "Wed Mar 11 02:07:34 2020 +0000"
      },
      "message": "test.bash: update Go to v1.12.17, v1.13.8, and v1.14\n\nChange-Id: I5c8627290f02c4506e7ea07f5dce903bfbfef00e\nReviewed-on: https://go-review.googlesource.com/c/protobuf/+/212221\nReviewed-by: Damien Neil \u003cdneil@google.com\u003e\n"
    },
    {
      "commit": "a56bd81046f2eb6f7cb535ebdf657edf7bb48cab",
      "tree": "e37d4b37b7de7143779e30f5b4a48f34059236d7",
      "parents": [
        "290f718d07c82b5c09142084df1385a8dce8b4f6"
      ],
      "author": {
        "name": "Joe Tsai",
        "email": "joetsai@digital-static.net",
        "time": "Mon Mar 09 13:33:39 2020 -0700"
      },
      "committer": {
        "name": "Joe Tsai",
        "email": "thebrokentoaster@gmail.com",
        "time": "Mon Mar 09 21:07:39 2020 +0000"
      },
      "message": "all: start v1.20.1-devel\n\nChange-Id: Ie2940cd41fd3c449b2233e1bc3b6ba5ba91038f2\nReviewed-on: https://go-review.googlesource.com/c/protobuf/+/222699\nReviewed-by: Damien Neil \u003cdneil@google.com\u003e\n"
    },
    {
      "commit": "290f718d07c82b5c09142084df1385a8dce8b4f6",
      "tree": "f5416f3c9a243482d5fc606697e8472050aac68e",
      "parents": [
        "676bcfb6fd3d33a50b2b44c295a5e3be1e78f643"
      ],
      "author": {
        "name": "Joe Tsai",
        "email": "joetsai@digital-static.net",
        "time": "Mon Mar 09 13:31:24 2020 -0700"
      },
      "committer": {
        "name": "Joe Tsai",
        "email": "thebrokentoaster@gmail.com",
        "time": "Mon Mar 09 21:07:25 2020 +0000"
      },
      "message": "all: release v1.20.1\n\nChange-Id: I77c61b55d3c6aa540103ffe82c9dd226959bb753\nReviewed-on: https://go-review.googlesource.com/c/protobuf/+/222698\nReviewed-by: Damien Neil \u003cdneil@google.com\u003e\n"
    },
    {
      "commit": "676bcfb6fd3d33a50b2b44c295a5e3be1e78f643",
      "tree": "3599b03aeb2f9b70755949c4ba83490a9a1cebc8",
      "parents": [
        "1718d82dda2a196ade96102e6e6774b91a2fe899"
      ],
      "author": {
        "name": "Joe Tsai",
        "email": "joetsai@digital-static.net",
        "time": "Mon Mar 09 12:12:12 2020 -0700"
      },
      "committer": {
        "name": "Joe Tsai",
        "email": "thebrokentoaster@gmail.com",
        "time": "Mon Mar 09 21:03:34 2020 +0000"
      },
      "message": "all: use github.com/golang/protobuf@v1.4.0-rc.4\n\nChange-Id: Ic5f0bd644b4234204d90fa747b780409abf7917d\nReviewed-on: https://go-review.googlesource.com/c/protobuf/+/222680\nReviewed-by: Damien Neil \u003cdneil@google.com\u003e\n"
    },
    {
      "commit": "1718d82dda2a196ade96102e6e6774b91a2fe899",
      "tree": "22f00a99219697e946ee522ff239aa7b523a4092",
      "parents": [
        "e05f789c09678a21d72233703c0027e1958343e7"
      ],
      "author": {
        "name": "Joe Tsai",
        "email": "joetsai@digital-static.net",
        "time": "Mon Mar 09 13:06:25 2020 -0700"
      },
      "committer": {
        "name": "Joe Tsai",
        "email": "thebrokentoaster@gmail.com",
        "time": "Mon Mar 09 20:40:04 2020 +0000"
      },
      "message": "README.md: add link to blog announcement\n\nChange-Id: Ibeddd40f2a11bfb4ec60f917341513349e788f56\nReviewed-on: https://go-review.googlesource.com/c/protobuf/+/222697\nReviewed-by: Damien Neil \u003cdneil@google.com\u003e\n"
    },
    {
      "commit": "e05f789c09678a21d72233703c0027e1958343e7",
      "tree": "80d0c763492bf0058641d50f781016bc2d96448d",
      "parents": [
        "ea6e3da5ef806be0b247b9fb3e8d0ceca6262a5c"
      ],
      "author": {
        "name": "Joe Tsai",
        "email": "joetsai@digital-static.net",
        "time": "Mon Mar 09 12:01:52 2020 -0700"
      },
      "committer": {
        "name": "Joe Tsai",
        "email": "thebrokentoaster@gmail.com",
        "time": "Mon Mar 09 20:02:17 2020 +0000"
      },
      "message": "proto: fix signature of UnmarshalState and MarshalState\n\nThe pseudo-internal MarshalState and UnmarshalState method should\nnot have a seperate Message argument since it is passed in through\nthe extensible MarshalInput and UnmarshalInput values.\n\nChange-Id: I838aadaee30e91cdf888ab024e65348c73c1cd7e\nReviewed-on: https://go-review.googlesource.com/c/protobuf/+/222678\nReviewed-by: Damien Neil \u003cdneil@google.com\u003e\n"
    },
    {
      "commit": "ea6e3da5ef806be0b247b9fb3e8d0ceca6262a5c",
      "tree": "c1d45897b480a202f6e3f87e085c3f5053ea5047",
      "parents": [
        "e358d430e7ff8437491e82ab41e4665400644c9f"
      ],
      "author": {
        "name": "Joe Tsai",
        "email": "joetsai@digital-static.net",
        "time": "Mon Mar 09 12:07:42 2020 -0700"
      },
      "committer": {
        "name": "Joe Tsai",
        "email": "thebrokentoaster@gmail.com",
        "time": "Mon Mar 09 19:39:04 2020 +0000"
      },
      "message": "internal/testprotos/legacy: avoid direct dependency on github.com/golang/protobuf\n\nChange-Id: I42b17ae672a76d91ecbeeb2c12949002d7720524\nReviewed-on: https://go-review.googlesource.com/c/protobuf/+/222677\nReviewed-by: Damien Neil \u003cdneil@google.com\u003e\n"
    },
    {
      "commit": "e358d430e7ff8437491e82ab41e4665400644c9f",
      "tree": "2fb9e444f1303b7d44287ff1afa48501890d9bdb",
      "parents": [
        "a30b571f93edc9b3bd5df1dd61ceaeb17aa7f7c5"
      ],
      "author": {
        "name": "Damien Neil",
        "email": "dneil@google.com",
        "time": "Fri Mar 06 13:58:41 2020 -0800"
      },
      "committer": {
        "name": "Damien Neil",
        "email": "dneil@google.com",
        "time": "Mon Mar 09 17:16:35 2020 +0000"
      },
      "message": "compiler/protogen: disable warnings in tests\n\nChange-Id: I80ff3c31dc1039a833e6c962d5f3fc6e0aa46f6a\nReviewed-on: https://go-review.googlesource.com/c/protobuf/+/222377\nReviewed-by: Joe Tsai \u003cthebrokentoaster@gmail.com\u003e\nReviewed-by: Herbie Ong \u003cherbie@google.com\u003e\n"
    },
    {
      "commit": "a30b571f93edc9b3bd5df1dd61ceaeb17aa7f7c5",
      "tree": "b030d95a9461d8ae426c3edc0cb8760e8cc18284",
      "parents": [
        "13e7f145cc5761dc68252f725d240d04b641b01d"
      ],
      "author": {
        "name": "renthraysk",
        "email": "renthraysk@gmail.com",
        "time": "Tue Mar 03 13:58:32 2020 +0000"
      },
      "committer": {
        "name": "Damien Neil",
        "email": "dneil@google.com",
        "time": "Fri Mar 06 15:28:51 2020 +0000"
      },
      "message": "protobuf-go/internal/encoding/wire: SizeVarint optimisation\n\nReplace division by 7 in SizeVarint(). The previous method was optimised by the compiler to use a 64bit multiplication.\nThis uses 9/64 as 1/7 and unsigned 32bit multiplication (which compiler can optimise further using scaling address modes, lea (ax,ax*8),ax)) and a shift.)\n\nprotobuf-go/internal/benchmarks/micro benchmark\n\nname                            old time/op  new time/op  delta\nEmptyMessage/Wire/Marshal-4     40.0ns ± 1%  39.9ns ± 5%    ~     (p\u003d0.683 n\u003d5+5)\nEmptyMessage/Wire/Unmarshal-4   20.5ns ± 2%  20.3ns ± 2%    ~     (p\u003d0.317 n\u003d5+5)\nEmptyMessage/Wire/Validate-4    21.5ns ± 0%  21.5ns ± 1%    ~     (p\u003d0.825 n\u003d4+5)\nEmptyMessage/Clone-4             135ns ± 2%   136ns ± 1%    ~     (p\u003d0.365 n\u003d5+5)\nRepeatedInt32/Wire/Marshal-4    4.06µs ± 1%  3.69µs ± 1%  -9.05%  (p\u003d0.008 n\u003d5+5)\nRepeatedInt32/Wire/Unmarshal-4  4.72µs ± 0%  4.55µs ± 2%  -3.74%  (p\u003d0.008 n\u003d5+5)\nRepeatedInt32/Wire/Validate-4   3.08µs ± 2%  2.94µs ± 0%  -4.69%  (p\u003d0.008 n\u003d5+5)\nRepeatedInt32/Clone-4           1.09µs ± 1%  1.09µs ± 0%    ~     (p\u003d0.810 n\u003d5+5)\nRequired/Wire/Marshal-4          296ns ± 1%   293ns ± 0%  -0.95%  (p\u003d0.000 n\u003d5+4)\nRequired/Wire/Unmarshal-4        147ns ± 1%   135ns ± 1%  -8.17%  (p\u003d0.008 n\u003d5+5)\nRequired/Wire/Validate-4         127ns ± 2%   123ns ± 0%  -3.15%  (p\u003d0.000 n\u003d5+4)\nRequired/Clone-4                 393ns ± 1%   391ns ± 2%    ~     (p\u003d0.238 n\u003d5+5)\n\nChange-Id: Idfe75a9cd80b2bddaf13a8e879403c0c94ebc419\nReviewed-on: https://go-review.googlesource.com/c/protobuf/+/221803\nReviewed-by: Damien Neil \u003cdneil@google.com\u003e\n"
    },
    {
      "commit": "13e7f145cc5761dc68252f725d240d04b641b01d",
      "tree": "019953c8ec7c5384582571ad9ada68907a9df725",
      "parents": [
        "e1c61a307e316a986776f22bf96de97e825e2d05"
      ],
      "author": {
        "name": "Damien Neil",
        "email": "dneil@google.com",
        "time": "Fri Nov 01 14:27:43 2019 -0700"
      },
      "committer": {
        "name": "Damien Neil",
        "email": "dneil@google.com",
        "time": "Thu Mar 05 17:35:16 2020 +0000"
      },
      "message": "reflect/protoregistry: avoid deadlock in registration\n\nUnder some rare circumstances registration can deadlock\nwhen lazy descriptor initialization consults the registry.\n\nMove the call triggering the lazy init out of the critical section.\n\nFixes golang/protobuf#1052.\n\nChange-Id: Ic266e06b0db99fea65e797b879ce53e5342fff95\nReviewed-on: https://go-review.googlesource.com/c/protobuf/+/204804\nReviewed-by: Joe Tsai \u003cthebrokentoaster@gmail.com\u003e\n"
    },
    {
      "commit": "e1c61a307e316a986776f22bf96de97e825e2d05",
      "tree": "936ac93944b2ab053bea46c7c6adebb0016b1fdf",
      "parents": [
        "969537aa2934b8cb2a418f5822326381fda1f679"
      ],
      "author": {
        "name": "Damien Neil",
        "email": "dneil@google.com",
        "time": "Tue Mar 03 15:28:04 2020 -0800"
      },
      "committer": {
        "name": "Damien Neil",
        "email": "dneil@google.com",
        "time": "Wed Mar 04 02:12:26 2020 +0000"
      },
      "message": "internal/encoding/messageset: fix decoding of some invalid data\n\nFor historical reasons, MessageSets items are allowed to have field\nnumbers outside the usual valid range. Detect the case where the field\nnumber cannot fit in an int32 and report an error. Also check for\na field number of 0 (always invalid).\n\nHandle the case where a MessageSet item includes an unknown field.\nWe have no place to put the contents of the field, so drop it. This is,\nI believe, consistent with other implementations.\n\nChange-Id: Ic403427e1c276cbfa232ca577e7a799cce706bc7\nReviewed-on: https://go-review.googlesource.com/c/protobuf/+/221939\nReviewed-by: Herbie Ong \u003cherbie@google.com\u003e\n"
    },
    {
      "commit": "969537aa2934b8cb2a418f5822326381fda1f679",
      "tree": "fc35ba9ff531b8ede03a3a8be121b4168d268ca0",
      "parents": [
        "aa81c065132f57f5c30f42dc3fe7eb756dfcad5e"
      ],
      "author": {
        "name": "Damien Neil",
        "email": "dneil@google.com",
        "time": "Mon Mar 02 10:05:38 2020 -0800"
      },
      "committer": {
        "name": "Damien Neil",
        "email": "dneil@google.com",
        "time": "Mon Mar 02 19:36:27 2020 +0000"
      },
      "message": "all: start post-v1.20.0 devel\n\nChange-Id: I811fab64a8a22288760beef04021ded63bc4ea9b\nReviewed-on: https://go-review.googlesource.com/c/protobuf/+/221784\nReviewed-by: Herbie Ong \u003cherbie@google.com\u003e\n"
    },
    {
      "commit": "aa81c065132f57f5c30f42dc3fe7eb756dfcad5e",
      "tree": "1ee5d7059c13bdf8983fc4e955b458b826435770",
      "parents": [
        "0f2b33b67a999cce789526fb7c4a977eb70f8715"
      ],
      "author": {
        "name": "Damien Neil",
        "email": "dneil@google.com",
        "time": "Mon Mar 02 09:47:47 2020 -0800"
      },
      "committer": {
        "name": "Damien Neil",
        "email": "dneil@google.com",
        "time": "Mon Mar 02 18:51:28 2020 +0000"
      },
      "message": "all: release v1.20.0\n\nChange-Id: I3bc9d46f836535393059b9a73e8364211eee9e38\nReviewed-on: https://go-review.googlesource.com/c/protobuf/+/221783\nReviewed-by: Herbie Ong \u003cherbie@google.com\u003e\n"
    },
    {
      "commit": "0f2b33b67a999cce789526fb7c4a977eb70f8715",
      "tree": "3a3ac786aec500e5aed0a149ac87d7114091790a",
      "parents": [
        "fea7d5276df5de05497d1076aac7ce332b91fece"
      ],
      "author": {
        "name": "Damien Neil",
        "email": "dneil@google.com",
        "time": "Mon Mar 02 09:43:12 2020 -0800"
      },
      "committer": {
        "name": "Damien Neil",
        "email": "dneil@google.com",
        "time": "Mon Mar 02 18:04:46 2020 +0000"
      },
      "message": "reflect/protoregistry: add link to namespace conflict FAQ\n\nUpdates golang/protobuf#1039.\n\nChange-Id: Ia9f80da5dab1e6cd3cf9ad512b78b63b32065c31\nReviewed-on: https://go-review.googlesource.com/c/protobuf/+/221782\nReviewed-by: Herbie Ong \u003cherbie@google.com\u003e\n"
    },
    {
      "commit": "fea7d5276df5de05497d1076aac7ce332b91fece",
      "tree": "3dfecb9831aba4300c8d338bf4f9035b3a5bd2c8",
      "parents": [
        "a6bf928d5706d646e511bf9b52d5f6f47bac0b29"
      ],
      "author": {
        "name": "Joe Tsai",
        "email": "joetsai@digital-static.net",
        "time": "Fri Feb 28 18:38:09 2020 -0800"
      },
      "committer": {
        "name": "Joe Tsai",
        "email": "thebrokentoaster@gmail.com",
        "time": "Sat Feb 29 07:48:10 2020 +0000"
      },
      "message": "all: start v1.20.0-rc.1.devel\n\nChange-Id: I7a88cf90c9b2ee61d6eae5019829362a7dce164f\nReviewed-on: https://go-review.googlesource.com/c/protobuf/+/221598\nReviewed-by: Damien Neil \u003cdneil@google.com\u003e\n"
    },
    {
      "commit": "a6bf928d5706d646e511bf9b52d5f6f47bac0b29",
      "tree": "60f7b09ff4b66a0b066aed0bcf0020dd7d0776ab",
      "parents": [
        "65466b8cf4193002bc270ac3d4fcd34f2788d298"
      ],
      "author": {
        "name": "Joe Tsai",
        "email": "joetsai@digital-static.net",
        "time": "Fri Feb 28 18:37:54 2020 -0800"
      },
      "committer": {
        "name": "Joe Tsai",
        "email": "thebrokentoaster@gmail.com",
        "time": "Sat Feb 29 07:47:16 2020 +0000"
      },
      "message": "all: release v1.20.0-rc.1\n\nChange-Id: I383cd3e94788f80b95f3ef7f1b86922fc0ea1db3\nReviewed-on: https://go-review.googlesource.com/c/protobuf/+/221597\nReviewed-by: Damien Neil \u003cdneil@google.com\u003e\n"
    },
    {
      "commit": "65466b8cf4193002bc270ac3d4fcd34f2788d298",
      "tree": "9e9fc5d7b72ea9f349eca3e94500fb1030d6b56e",
      "parents": [
        "6e36304a32642d3c28cdb3b1df71091ec09e53f0"
      ],
      "author": {
        "name": "Joe Tsai",
        "email": "joetsai@digital-static.net",
        "time": "Fri Feb 28 16:27:47 2020 -0800"
      },
      "committer": {
        "name": "Joe Tsai",
        "email": "joetsai@google.com",
        "time": "Sat Feb 29 02:36:55 2020 +0000"
      },
      "message": "all: update weak dependency to github.com/golang/protobuf@v1.4.0-rc.2\n\nChange-Id: I1af402a44c8d113ce50e60523e4c6d8397dbb520\nReviewed-on: https://go-review.googlesource.com/c/protobuf/+/221434\nReviewed-by: Damien Neil \u003cdneil@google.com\u003e\n"
    },
    {
      "commit": "6e36304a32642d3c28cdb3b1df71091ec09e53f0",
      "tree": "35ef67682b46774e848d543b06a6046bf301ab7d",
      "parents": [
        "ab0ca4ff8a60eb84ec53793ee6cfb4e7c0c67d17"
      ],
      "author": {
        "name": "Damien Neil",
        "email": "dneil@google.com",
        "time": "Fri Feb 28 15:27:22 2020 -0800"
      },
      "committer": {
        "name": "Damien Neil",
        "email": "dneil@google.com",
        "time": "Fri Feb 28 23:53:49 2020 +0000"
      },
      "message": "reflect/protoreflect: ExtensionRangeOptions never returns nil\n\nDocumentation only change.\n\nChange-Id: Ib620efc99bdaab90eeb5404554ae442f345d6f47\nReviewed-on: https://go-review.googlesource.com/c/protobuf/+/221560\nReviewed-by: Joe Tsai \u003cjoetsai@google.com\u003e\n"
    },
    {
      "commit": "ab0ca4ff8a60eb84ec53793ee6cfb4e7c0c67d17",
      "tree": "453e42ba20402c4e3e6ce3a8286bc1cd9cd5ddc6",
      "parents": [
        "c14e7899f99b33f5b7d161c20842d48b22571443"
      ],
      "author": {
        "name": "Joe Tsai",
        "email": "joetsai@digital-static.net",
        "time": "Thu Feb 27 14:47:29 2020 -0800"
      },
      "committer": {
        "name": "Joe Tsai",
        "email": "joetsai@google.com",
        "time": "Fri Feb 28 23:03:10 2020 +0000"
      },
      "message": "compiler/protogen: use consistent options pattern\n\nThroughout the module options usually expressed as a struct where the\nacting function is a method hanging off the options type.\nUse this pattern for protogen as well.\n\nChange-Id: I533a61387cb74971e4efc9313d400b66b8aac451\nReviewed-on: https://go-review.googlesource.com/c/protobuf/+/221424\nReviewed-by: Damien Neil \u003cdneil@google.com\u003e\n"
    },
    {
      "commit": "c14e7899f99b33f5b7d161c20842d48b22571443",
      "tree": "3931283ae8fa4b11b087b579f80085b54e92db5c",
      "parents": [
        "a56742be04801a254c7077f22cae3874fd86d22e"
      ],
      "author": {
        "name": "Joe Tsai",
        "email": "joetsai@digital-static.net",
        "time": "Thu Feb 27 15:52:36 2020 -0800"
      },
      "committer": {
        "name": "Joe Tsai",
        "email": "thebrokentoaster@gmail.com",
        "time": "Fri Feb 28 21:49:08 2020 +0000"
      },
      "message": "testing/protocmp: fix reflection handling of extensions\n\nExtensions should be checked based on ContainingMessage,\nrather than the Parent. Add tests to ensure this works.\n\nChange-Id: Iaf257f65197fb8d332039bc77a192753f8c4159f\nReviewed-on: https://go-review.googlesource.com/c/protobuf/+/221426\nReviewed-by: Damien Neil \u003cdneil@google.com\u003e\n"
    },
    {
      "commit": "a56742be04801a254c7077f22cae3874fd86d22e",
      "tree": "1fba5712c6266ea3d771e3655764380bf44d6859",
      "parents": [
        "ca0b25e48ff647e285827e8af0be93f82fa144a6"
      ],
      "author": {
        "name": "Joe Tsai",
        "email": "joetsai@digital-static.net",
        "time": "Wed Feb 26 14:16:54 2020 -0800"
      },
      "committer": {
        "name": "Joe Tsai",
        "email": "thebrokentoaster@gmail.com",
        "time": "Fri Feb 28 21:47:40 2020 +0000"
      },
      "message": "all: update README.md\n\nChange-Id: I11f37f0563b1b15184da2fd4a5325231519aa03f\nReviewed-on: https://go-review.googlesource.com/c/protobuf/+/221238\nReviewed-by: Damien Neil \u003cdneil@google.com\u003e\n"
    },
    {
      "commit": "ca0b25e48ff647e285827e8af0be93f82fa144a6",
      "tree": "013ea06ba2abae35df2e35cea8b4a7358701aa25",
      "parents": [
        "a89afdc06f438fbe14047c2b6383db764d53d0ae"
      ],
      "author": {
        "name": "Joe Tsai",
        "email": "joetsai@digital-static.net",
        "time": "Thu Feb 27 14:27:08 2020 -0800"
      },
      "committer": {
        "name": "Joe Tsai",
        "email": "thebrokentoaster@gmail.com",
        "time": "Thu Feb 27 23:42:48 2020 +0000"
      },
      "message": "testing/protocmp: automatically promote message values\n\nFor user convenience, automatically transform message values by\nshallow copying them if necessary. Storing messages as values is\nfrowned upon, but is sometimes done by APIs that a user does not own.\n\nChange-Id: I7e927d1a1e050bf4cea1aa889f56d23e99355f26\nReviewed-on: https://go-review.googlesource.com/c/protobuf/+/221423\nReviewed-by: Damien Neil \u003cdneil@google.com\u003e\n"
    },
    {
      "commit": "a89afdc06f438fbe14047c2b6383db764d53d0ae",
      "tree": "12427aadc701d3b64a60e1ceecbe246290dc0c2d",
      "parents": [
        "781d6f396b336f994a696b3f5cbf706bbe8292c3"
      ],
      "author": {
        "name": "Joe Tsai",
        "email": "joetsai@digital-static.net",
        "time": "Thu Feb 27 14:21:08 2020 -0800"
      },
      "committer": {
        "name": "Joe Tsai",
        "email": "thebrokentoaster@gmail.com",
        "time": "Thu Feb 27 23:32:22 2020 +0000"
      },
      "message": "testing/protocmp: make Message implement proto.Message\n\nBy having the Message type implement proto.Message, it can be passed\nto other general-purpose protobuf functions such as proto.Merge.\nThis provides a convenient way to convert the Message back into a\nconcrete form that may be easier to work with.\n\nA minor consequence of this change is that invalid messages are\nconverted to an invalid Message that preserves type information.\nPreviously, they were simply transformed to a nil Message.\n\nChange-Id: I6fca8a0879408c7f44a99d52734613302fa23f70\nReviewed-on: https://go-review.googlesource.com/c/protobuf/+/221422\nReviewed-by: Damien Neil \u003cdneil@google.com\u003e\n"
    },
    {
      "commit": "781d6f396b336f994a696b3f5cbf706bbe8292c3",
      "tree": "0787f354606398b9878df2f9512003112bf3e3da",
      "parents": [
        "075e0741aa752994f9706c54273f29dbb9ab7f06"
      ],
      "author": {
        "name": "Joe Tsai",
        "email": "joetsai@digital-static.net",
        "time": "Thu Nov 14 03:00:42 2019 -0800"
      },
      "committer": {
        "name": "Joe Tsai",
        "email": "thebrokentoaster@gmail.com",
        "time": "Thu Feb 27 23:16:30 2020 +0000"
      },
      "message": "testing/protocmp: add Filter options\n\nThis CL adds the following helper options:\n\tfunc FilterEnum(protoreflect.Enum, cmp.Option) cmp.Option\n\tfunc FilterMessage(proto.Message, cmp.Option) cmp.Option\n\tfunc FilterField(proto.Message, protoreflect.Name, cmp.Option) cmp.Option\n\tfunc FilterOneof(proto.Message, protoreflect.Name, cmp.Option) cmp.Option\n\tfunc FilterDescriptor(protoreflect.Descriptor, cmp.Option) cmp.Option\n\nThere is primarily exposing pre-existing functionality that the Ignore options\nwere already depending on to operate.\n\nChange-Id: I44edf2ffa07de980a9ad3284525bfe3b45428d74\nReviewed-on: https://go-review.googlesource.com/c/protobuf/+/207177\nReviewed-by: Damien Neil \u003cdneil@google.com\u003e\n"
    },
    {
      "commit": "075e0741aa752994f9706c54273f29dbb9ab7f06",
      "tree": "d18741b6bf3079f93e46ec985ffa782ebb92c627",
      "parents": [
        "a786db3a49ac0ed6fdb304ce3b0045b26cbd8c67"
      ],
      "author": {
        "name": "Damien Neil",
        "email": "dneil@google.com",
        "time": "Thu Feb 27 12:33:08 2020 -0800"
      },
      "committer": {
        "name": "Damien Neil",
        "email": "dneil@google.com",
        "time": "Thu Feb 27 20:50:32 2020 +0000"
      },
      "message": "internal/impl: fix non-atomic access of MessageState.mi\n\nMessageState\u0027s mi field must only be accessed via atomic operations.\nRename the field to \u0027atomicMessageInfo\u0027 to make it incorrect access\nobvious. Fix one incorrect non-atomic access.\n\nChange-Id: If80343fb1b82186416f007ca5b340a4926b1cd3c\nReviewed-on: https://go-review.googlesource.com/c/protobuf/+/221419\nReviewed-by: Joe Tsai \u003cjoetsai@google.com\u003e\n"
    },
    {
      "commit": "a786db3a49ac0ed6fdb304ce3b0045b26cbd8c67",
      "tree": "4fd1c527cbfcac863ed83b6570afa7767923ca76",
      "parents": [
        "5698f90d86145f1cc6880ce317f9c1f3eb10e52c"
      ],
      "author": {
        "name": "Joe Tsai",
        "email": "joetsai@digital-static.net",
        "time": "Wed Feb 26 11:24:01 2020 -0800"
      },
      "committer": {
        "name": "Joe Tsai",
        "email": "thebrokentoaster@gmail.com",
        "time": "Wed Feb 26 19:42:08 2020 +0000"
      },
      "message": ".gitignore: cleanup\n\nRemove the entry for fuzz-fuzz.zip which lives in a directory\nthat no longer exists.\n\nAdd a trailing slash to directories.\n\nChange-Id: I23e0649a2326bc995f3bda41202b73270a1df4fc\nReviewed-on: https://go-review.googlesource.com/c/protobuf/+/221024\nReviewed-by: Damien Neil \u003cdneil@google.com\u003e\n"
    },
    {
      "commit": "5698f90d86145f1cc6880ce317f9c1f3eb10e52c",
      "tree": "9eba73259c6ed3fc8d45788ce93a3af996ef77d8",
      "parents": [
        "e0daf31d849f305c513a1e41b4df36433cf51f05"
      ],
      "author": {
        "name": "Damien Neil",
        "email": "dneil@google.com",
        "time": "Wed Feb 26 08:35:54 2020 -0800"
      },
      "committer": {
        "name": "Damien Neil",
        "email": "dneil@google.com",
        "time": "Wed Feb 26 18:56:34 2020 +0000"
      },
      "message": "internal/impl: fix messageset validation bug\n\nThe validator was not ensuring the the MessageInfo for messageset\nitems was initialized. Fixed.\n\nOne or more of the existing messageset tests fail when run in isolation\ndue to this bug, but running all of them in sequence passes due to an\nearlier test initializing the MessageInfo first.\n\nChange-Id: Ifa7bd525c6d1cef9d1bed7bf761b0380907e35ee\nReviewed-on: https://go-review.googlesource.com/c/protobuf/+/221023\nReviewed-by: Joe Tsai \u003cjoetsai@google.com\u003e\n"
    },
    {
      "commit": "e0daf31d849f305c513a1e41b4df36433cf51f05",
      "tree": "8f500bfc341c5692b37a2a97017e67bf7ae2515b",
      "parents": [
        "ee3cfcba3f6e62f36a51950c8ef2ed3347e8f2c5"
      ],
      "author": {
        "name": "Joe Tsai",
        "email": "joetsai@digital-static.net",
        "time": "Tue Feb 25 12:51:10 2020 -0800"
      },
      "committer": {
        "name": "Joe Tsai",
        "email": "thebrokentoaster@gmail.com",
        "time": "Tue Feb 25 21:59:54 2020 +0000"
      },
      "message": "all: trivial formatting changes\n\nChanges:\n* import grouping for third-party dependencies\n* import grouping for generated protobufs\n* blank space removal\n\nChange-Id: I2950b0606bb2064046d79a23a78b05c23147cbfe\nReviewed-on: https://go-review.googlesource.com/c/protobuf/+/221017\nReviewed-by: Damien Neil \u003cdneil@google.com\u003e\n"
    },
    {
      "commit": "ee3cfcba3f6e62f36a51950c8ef2ed3347e8f2c5",
      "tree": "b433d6607024262eaccf941f6d56b02a4887ed2b",
      "parents": [
        "f6cf4925a90ea4d1b27a665dbad47289990de912"
      ],
      "author": {
        "name": "Joe Tsai",
        "email": "joetsai@digital-static.net",
        "time": "Tue Feb 25 13:05:26 2020 -0800"
      },
      "committer": {
        "name": "Joe Tsai",
        "email": "thebrokentoaster@gmail.com",
        "time": "Tue Feb 25 21:50:06 2020 +0000"
      },
      "message": "encoding: remove unused benchV1 flag\n\nChange-Id: Ib86ab31ffa38f85cbb218c114f0e6697e3df61d8\nReviewed-on: https://go-review.googlesource.com/c/protobuf/+/221018\nReviewed-by: Damien Neil \u003cdneil@google.com\u003e\n"
    },
    {
      "commit": "f6cf4925a90ea4d1b27a665dbad47289990de912",
      "tree": "8c5b5fa226c5693e1f409d563749ee2d53256f83",
      "parents": [
        "49f8611134952406c268a4064aadc0b95f83bf3f"
      ],
      "author": {
        "name": "Joe Tsai",
        "email": "joetsai@digital-static.net",
        "time": "Tue Feb 25 11:55:52 2020 -0800"
      },
      "committer": {
        "name": "Joe Tsai",
        "email": "thebrokentoaster@gmail.com",
        "time": "Tue Feb 25 20:33:07 2020 +0000"
      },
      "message": "proto: add TestNil test\n\nTestNil checks for panic behavior for all top-level functions that\naccept messages to ensure that we can detect when behavior changes\nwhether accidentally or deliberately.\n\nThis test discovered that the pure protobuf reflect behavior\ndiffers with the fast-path implementation for a few cases.\n\nFor the protobuf reflection implementation, we explicitly check\nfor invalid messages in Merge and Reset. Previously, these would\nnot panic if the message was already empty (i.e., had no need to\nactually set/clear any fields in the receiver message).\n\nChange-Id: I571c0a819366bae993ce7c99b05fb4707e55cd3e\nReviewed-on: https://go-review.googlesource.com/c/protobuf/+/220958\nReviewed-by: Damien Neil \u003cdneil@google.com\u003e\n"
    },
    {
      "commit": "49f8611134952406c268a4064aadc0b95f83bf3f",
      "tree": "a6e851894fa464d499a21fe8a9b5f0c758490597",
      "parents": [
        "ec552f691de57a3937cb2c62abfb8f5e6ad9a535"
      ],
      "author": {
        "name": "Joe Tsai",
        "email": "joetsai@digital-static.net",
        "time": "Thu Feb 20 12:28:37 2020 -0800"
      },
      "committer": {
        "name": "Joe Tsai",
        "email": "thebrokentoaster@gmail.com",
        "time": "Tue Feb 25 19:13:35 2020 +0000"
      },
      "message": "proto: allow nil with Clone\n\nThe v1 behavior of Clone returned nil as is.\nReplicate this behavior in v2 for easier migration.\n\nChange-Id: I79d93f15dd9913604027e31e5d9ff309e0c2da61\nReviewed-on: https://go-review.googlesource.com/c/protobuf/+/220437\nReviewed-by: Damien Neil \u003cdneil@google.com\u003e\n"
    },
    {
      "commit": "ec552f691de57a3937cb2c62abfb8f5e6ad9a535",
      "tree": "36a6a46aa034a9e5368f2e2fdbca7f0c0cac1e9a",
      "parents": [
        "2dabbe471100effc745571e4e6f7f53fb2170ca3"
      ],
      "author": {
        "name": "Joe Tsai",
        "email": "joetsai@digital-static.net",
        "time": "Mon Feb 24 20:33:34 2020 -0800"
      },
      "committer": {
        "name": "Joe Tsai",
        "email": "thebrokentoaster@gmail.com",
        "time": "Tue Feb 25 10:28:07 2020 +0000"
      },
      "message": "runtime/protoiface: trivial change to Size\n\nRemove named input argument to be consistent with other methods.\n\nChange-Id: I22c48abf76e007a1319bfb037bbb2b7bfb66cee7\nReviewed-on: https://go-review.googlesource.com/c/protobuf/+/220688\nReviewed-by: Brad Fitzpatrick \u003cbradfitz@golang.org\u003e\n"
    },
    {
      "commit": "2dabbe471100effc745571e4e6f7f53fb2170ca3",
      "tree": "b93d175cdec5c51ed72bdc92d69c846d4fa8adde",
      "parents": [
        "bb941fe881ef3c8bec7654f92d8327656e9601ac"
      ],
      "author": {
        "name": "Joe Tsai",
        "email": "joetsai@digital-static.net",
        "time": "Thu Feb 20 12:18:43 2020 -0800"
      },
      "committer": {
        "name": "Joe Tsai",
        "email": "joetsai@google.com",
        "time": "Mon Feb 24 22:37:49 2020 +0000"
      },
      "message": "proto: remove IsInitialized\n\nChange-Id: I919286f2c0d564aaca792025bb29264884c4c81f\nReviewed-on: https://go-review.googlesource.com/c/protobuf/+/220348\nReviewed-by: Damien Neil \u003cdneil@google.com\u003e\n"
    },
    {
      "commit": "bb941fe881ef3c8bec7654f92d8327656e9601ac",
      "tree": "e76a4cafabff9bca1a1ed84fee9b097eab88ea98",
      "parents": [
        "9118b11cd82108bfb90c6a31cfd11e8d8d38f50f"
      ],
      "author": {
        "name": "Joe Tsai",
        "email": "joetsai@digital-static.net",
        "time": "Fri Feb 21 17:21:09 2020 -0800"
      },
      "committer": {
        "name": "Joe Tsai",
        "email": "joetsai@google.com",
        "time": "Mon Feb 24 22:15:38 2020 +0000"
      },
      "message": "cmd/protoc-gen-go/testdata: remove go.mod file\n\nIn the distant past this was necessary because:\n1) the generated code depended on github.com/golang/protobuf,\nbut now it doesn\u0027t.\n2) protoc-gen-go-grpc had a dependency on google.golang.org/grpc,\nand the seperate go.mod file allowed us to isolate the dependency,\nbut that binary doesn\u0027t exist here anymore.\n\nDrop the go.mod file for cmd/protoc-gen-go/testdata.\n\nChange-Id: I7341d78dc346bd82e5c68ed48cee3275b6296249\nReviewed-on: https://go-review.googlesource.com/c/protobuf/+/220502\nReviewed-by: Damien Neil \u003cdneil@google.com\u003e\n"
    },
    {
      "commit": "9118b11cd82108bfb90c6a31cfd11e8d8d38f50f",
      "tree": "cf56cd6ce56830ce4dc32c3f08864b70bfb36f01",
      "parents": [
        "764a9d16a64a5b5b2cf2f267e376e4c17ffe4612"
      ],
      "author": {
        "name": "Joe Tsai",
        "email": "joetsai@digital-static.net",
        "time": "Mon Feb 24 13:30:24 2020 -0800"
      },
      "committer": {
        "name": "Joe Tsai",
        "email": "joetsai@google.com",
        "time": "Mon Feb 24 22:15:07 2020 +0000"
      },
      "message": "all: update contributing documentation\n\nChange-Id: I2815e570696fd5ffc765c42ffc26060fc4aa5a2b\nReviewed-on: https://go-review.googlesource.com/c/protobuf/+/220677\nReviewed-by: Damien Neil \u003cdneil@google.com\u003e\n"
    },
    {
      "commit": "764a9d16a64a5b5b2cf2f267e376e4c17ffe4612",
      "tree": "1f87a2efb0dfb3cd37dcf986fc496fc0b31ddf5f",
      "parents": [
        "222a0006a64638c7700ad6841745d2b8d869ae63"
      ],
      "author": {
        "name": "Joe Tsai",
        "email": "joetsai@digital-static.net",
        "time": "Mon Feb 24 13:25:08 2020 -0800"
      },
      "committer": {
        "name": "Joe Tsai",
        "email": "joetsai@google.com",
        "time": "Mon Feb 24 22:13:41 2020 +0000"
      },
      "message": "cmd/protoc-gen-go: add link to devsite for protoc-gen-go\n\nChange-Id: I67a0897df42e177782ec76bb307ea2334f86975e\nReviewed-on: https://go-review.googlesource.com/c/protobuf/+/220596\nReviewed-by: Damien Neil \u003cdneil@google.com\u003e\n"
    },
    {
      "commit": "222a0006a64638c7700ad6841745d2b8d869ae63",
      "tree": "2b6fff535af9f0373b713cc34036cc7814fd5c6e",
      "parents": [
        "37cbbeb5589d7180d7af27ac4948cd1a70654adf"
      ],
      "author": {
        "name": "Joe Tsai",
        "email": "joetsai@digital-static.net",
        "time": "Mon Feb 24 11:21:30 2020 -0800"
      },
      "committer": {
        "name": "Joe Tsai",
        "email": "thebrokentoaster@gmail.com",
        "time": "Mon Feb 24 20:14:07 2020 +0000"
      },
      "message": "compiler/protogen: add devsite URL to protogen warnings\n\nChange-Id: Ida47b31a4f62d00d9f756da6da98cd852f36bb69\nReviewed-on: https://go-review.googlesource.com/c/protobuf/+/220594\nReviewed-by: Damien Neil \u003cdneil@google.com\u003e\n"
    },
    {
      "commit": "37cbbeb5589d7180d7af27ac4948cd1a70654adf",
      "tree": "711528e35158b00afe276c15b20927f31febb183",
      "parents": [
        "a88c3c4068d554c4a60c5f75c873d1069a14b496"
      ],
      "author": {
        "name": "Damien Neil",
        "email": "dneil@google.com",
        "time": "Mon Feb 24 11:10:10 2020 -0800"
      },
      "committer": {
        "name": "Damien Neil",
        "email": "dneil@google.com",
        "time": "Mon Feb 24 20:12:47 2020 +0000"
      },
      "message": "internal/impl: check for size cache overflow\n\nThe size cache is an int32. Store a -1 in it if the message size\noverflows, and fall back to recomputing the size if the value is\nnegative. This means lamentable O(N^2) costs in marshaling,\nbut that\u0027s better than silently producing invalid output.\n\nAlso considered: Return an error. Avoids O(N^2) behavior, but gives the\nuser no good choices if they don\u0027t care the output being slow. Encoding\ncosts of messages this large are likely to be dominated by copying the\nbytes rather than the size operation anyway, so slow-but-correct seems\nlike the most generally useful option.\n\nWe could store valid values for the range (0x7fffffff,0xfffffffe)\nreserving only 0xffffffff as the overflow sentinel, but optimizing this\ncase seems less important than the code being obviously correct.\n\nFixes golang/protobuf#970.\n\nChange-Id: I44f59ff81fdfbc8672dd5aec959d5153a081aab9\nReviewed-on: https://go-review.googlesource.com/c/protobuf/+/220593\nReviewed-by: Joe Tsai \u003cthebrokentoaster@gmail.com\u003e\n"
    },
    {
      "commit": "a88c3c4068d554c4a60c5f75c873d1069a14b496",
      "tree": "e9d8d19bc7dcb87ec6dfdd11a282c630c634eaff",
      "parents": [
        "4d8936d0db64b6e6de56ba714c942542cca031fb"
      ],
      "author": {
        "name": "Joe Tsai",
        "email": "joetsai@digital-static.net",
        "time": "Fri Feb 21 15:54:42 2020 -0800"
      },
      "committer": {
        "name": "Joe Tsai",
        "email": "thebrokentoaster@gmail.com",
        "time": "Sat Feb 22 01:19:34 2020 +0000"
      },
      "message": "all: remove reliance on --compact-summary\n\nThis flag is recently added to git. Avoid it for now.\n\nChange-Id: I007f3cc12ec6ef37bc6d70ddc346b7af7983879e\nReviewed-on: https://go-review.googlesource.com/c/protobuf/+/220501\nReviewed-by: Damien Neil \u003cdneil@google.com\u003e\n"
    },
    {
      "commit": "4d8936d0db64b6e6de56ba714c942542cca031fb",
      "tree": "37a9240a61472f8de95bef01ec839d0a1085cd37",
      "parents": [
        "3a18560b88b0566f99a88f23cf98bdc83335c6c2"
      ],
      "author": {
        "name": "Damien Neil",
        "email": "dneil@google.com",
        "time": "Fri Feb 21 10:32:56 2020 -0800"
      },
      "committer": {
        "name": "Damien Neil",
        "email": "dneil@google.com",
        "time": "Fri Feb 21 19:16:35 2020 +0000"
      },
      "message": "all: fail faster on dirty working tree\n\nIt\u0027s annoying to get through all the tests for five different language\nversions to discover at the end that you\u0027ve got an uncommitted file\nsitting around in your working tree, or you forgot to run\nregenerate.bash.\n\nReport uncommitted changes at the start of tests (so you can ^C and\nfix the problem right off if you didn\u0027t know about it), but hold off on\nfailing the test until the end so you can still run tests on uncommitted\nchanges.\n\nFail immediately if generated files are out of date.\n\nChange-Id: I12feaecaa3c5038ac0a4cca9cc9ff3447b57a08a\nReviewed-on: https://go-review.googlesource.com/c/protobuf/+/220517\nReviewed-by: Joe Tsai \u003cjoetsai@google.com\u003e\n"
    },
    {
      "commit": "3a18560b88b0566f99a88f23cf98bdc83335c6c2",
      "tree": "e3a6bfc55ec13c963d1bdbcabaca2ae67f71bb8b",
      "parents": [
        "2a63c7aa61039cae4814b57144a766f01072f76e"
      ],
      "author": {
        "name": "Damien Neil",
        "email": "dneil@google.com",
        "time": "Fri Feb 21 09:16:19 2020 -0800"
      },
      "committer": {
        "name": "Damien Neil",
        "email": "dneil@google.com",
        "time": "Fri Feb 21 18:41:46 2020 +0000"
      },
      "message": "all: add a test for copyright headers\n\nFix a few files with no or unusual copyright headers.\n\nManually add copyright headers to the legacy testprotos, which will\n(probably) never be regenerated.\n\nChange-Id: Ifb52fa0eb59bf9d2de40b8df7e581a3c9731c883\nReviewed-on: https://go-review.googlesource.com/c/protobuf/+/220498\nReviewed-by: Joe Tsai \u003cjoetsai@google.com\u003e\n"
    },
    {
      "commit": "2a63c7aa61039cae4814b57144a766f01072f76e",
      "tree": "36bbebed33c746c51e76bf39f7354a570aecd16e",
      "parents": [
        "befd2dd2d41c76abd84fb6f33301b6a41cb9d287"
      ],
      "author": {
        "name": "Damien Neil",
        "email": "dneil@google.com",
        "time": "Fri Feb 21 09:49:47 2020 -0800"
      },
      "committer": {
        "name": "Damien Neil",
        "email": "dneil@google.com",
        "time": "Fri Feb 21 17:59:52 2020 +0000"
      },
      "message": "internal/cmd: print generated filename only when contents change\n\nPrinting the filenames of regenerated files only when the contents\nchange makes it easier to tell when a change has produced the expected\nresult in the generated file output.\n\nChange-Id: I74d0020be1de3d287bb8400ba290131008859bf1\nReviewed-on: https://go-review.googlesource.com/c/protobuf/+/220356\nReviewed-by: Joe Tsai \u003cjoetsai@google.com\u003e\n"
    },
    {
      "commit": "befd2dd2d41c76abd84fb6f33301b6a41cb9d287",
      "tree": "970287a47ea3a93e03f8213f412ab3d6fd5eaafb",
      "parents": [
        "56786dc5df1020c892aeb2ecb2e1595a7dbe3957"
      ],
      "author": {
        "name": "Damien Neil",
        "email": "dneil@google.com",
        "time": "Thu Feb 20 17:22:44 2020 -0800"
      },
      "committer": {
        "name": "Damien Neil",
        "email": "dneil@google.com",
        "time": "Fri Feb 21 17:30:00 2020 +0000"
      },
      "message": "cmd/protoc-gen-go-grpc: remove\n\nChange-Id: I8bc67d71a6431807f0a6975dfc416cca56a28c7f\nReviewed-on: https://go-review.googlesource.com/c/protobuf/+/220355\nReviewed-by: Joe Tsai \u003cthebrokentoaster@gmail.com\u003e\n"
    },
    {
      "commit": "56786dc5df1020c892aeb2ecb2e1595a7dbe3957",
      "tree": "e0c002adbd330fe1e697210055e1a0693aa62d97",
      "parents": [
        "fb5fde41cd41d9fdd7185cb7e807ed94726b1a7b"
      ],
      "author": {
        "name": "Damien Neil",
        "email": "dneil@google.com",
        "time": "Tue Feb 11 16:43:13 2020 -0800"
      },
      "committer": {
        "name": "Damien Neil",
        "email": "dneil@google.com",
        "time": "Thu Feb 20 22:47:27 2020 +0000"
      },
      "message": "testing/prototest: refactor prototest API\n\nFor consistency with other options types in the protobuf module, make\nthe test function a method of the options.\n\nDrop the ExtensionTypes option and just look up the extension types to\ntest with in the provided resolver.\n\nChange-Id: I7918bd10b7c003e4af56d27521d30218653d5b4d\nReviewed-on: https://go-review.googlesource.com/c/protobuf/+/219142\nReviewed-by: Joe Tsai \u003cthebrokentoaster@gmail.com\u003e\n"
    },
    {
      "commit": "fb5fde41cd41d9fdd7185cb7e807ed94726b1a7b",
      "tree": "f463265ffe3592623730cfb2f0baddcfcabf4641",
      "parents": [
        "929c287d2bc08479a35e0232ff354e67a7151b18"
      ],
      "author": {
        "name": "Joe Tsai",
        "email": "joetsai@digital-static.net",
        "time": "Thu Feb 20 11:00:10 2020 -0800"
      },
      "committer": {
        "name": "Joe Tsai",
        "email": "thebrokentoaster@gmail.com",
        "time": "Thu Feb 20 22:43:06 2020 +0000"
      },
      "message": "internal/impl: remove blocking TODO\n\nThis TODO doesn\u0027t need to be addressed for v2 release.\nAddressing this now would probably need to go through global testing,\nwhich is not worth the effort now.\n\nChange-Id: I44bf45e077c00e9a6462905193efb0bce41e9dd2\nReviewed-on: https://go-review.googlesource.com/c/protobuf/+/220345\nReviewed-by: Damien Neil \u003cdneil@google.com\u003e\n"
    },
    {
      "commit": "929c287d2bc08479a35e0232ff354e67a7151b18",
      "tree": "f489bd9fceb6bf5320826844ee4e00afb4434fe0",
      "parents": [
        "f26a9e7e3071086d03259fcc86d3be90a33d32cc"
      ],
      "author": {
        "name": "Damien Neil",
        "email": "dneil@google.com",
        "time": "Thu Feb 20 14:14:15 2020 -0800"
      },
      "committer": {
        "name": "Damien Neil",
        "email": "dneil@google.com",
        "time": "Thu Feb 20 22:40:12 2020 +0000"
      },
      "message": "internal/testprotos: add a missing Copyright header line\n\nChange-Id: Idb92e34af7c5342e4c4478707eb99fcb824d7606\nReviewed-on: https://go-review.googlesource.com/c/protobuf/+/220350\nReviewed-by: Joe Tsai \u003cjoetsai@google.com\u003e\n"
    },
    {
      "commit": "f26a9e7e3071086d03259fcc86d3be90a33d32cc",
      "tree": "f3acedf78ecabb39da35a30f43679750905ad547",
      "parents": [
        "5e75048cc115b151510981c10357f13b95bbd027"
      ],
      "author": {
        "name": "Joe Tsai",
        "email": "joetsai@digital-static.net",
        "time": "Thu Feb 20 10:05:37 2020 -0800"
      },
      "committer": {
        "name": "Joe Tsai",
        "email": "thebrokentoaster@gmail.com",
        "time": "Thu Feb 20 20:45:40 2020 +0000"
      },
      "message": "all: rename IsInitialized as CheckInitialized\n\nAn Is prefix implies it returns a boolean.\nA Check prefix better suggests that it could return an error.\n\nChange-Id: I6ffcb32099a944c656c07654c294a0980efb2d0e\nReviewed-on: https://go-review.googlesource.com/c/protobuf/+/220338\nReviewed-by: Damien Neil \u003cdneil@google.com\u003e\n"
    },
    {
      "commit": "5e75048cc115b151510981c10357f13b95bbd027",
      "tree": "0d61b94ddbda3faa3638f4538d1fd6911c846713",
      "parents": [
        "3df87a0b613e1058db450fc56e0556cb864bf252"
      ],
      "author": {
        "name": "Joe Tsai",
        "email": "joetsai@digital-static.net",
        "time": "Thu Feb 20 12:14:02 2020 -0800"
      },
      "committer": {
        "name": "Joe Tsai",
        "email": "thebrokentoaster@gmail.com",
        "time": "Thu Feb 20 20:27:29 2020 +0000"
      },
      "message": "all: fix license header\n\nChange-Id: Ied2d1b07b90891c916a877e39ec9cdf49ff6b0be\nReviewed-on: https://go-review.googlesource.com/c/protobuf/+/220347\nReviewed-by: Damien Neil \u003cdneil@google.com\u003e\n"
    },
    {
      "commit": "3df87a0b613e1058db450fc56e0556cb864bf252",
      "tree": "28cf243eb9ebe3977e497b320d824a462832b0bb",
      "parents": [
        "52ee491c59497b22524fb53c360097d7843c3f32"
      ],
      "author": {
        "name": "Joe Tsai",
        "email": "joetsai@digital-static.net",
        "time": "Thu Feb 20 10:24:36 2020 -0800"
      },
      "committer": {
        "name": "Joe Tsai",
        "email": "thebrokentoaster@gmail.com",
        "time": "Thu Feb 20 19:26:44 2020 +0000"
      },
      "message": "runtime/protoiface: remove IsInitializedOutputFlags and IsInitialized\n\nThe IsInitialized flag is unused and unnecessary as the error returned\ninherently reports whether a message is uninitialized if it is non-nil.\n\nAlso cleanup the documentation in protoiface of stale references.\n\nChange-Id: Id75772f4f75f8d7a2a9fbe772d57f7d69ae9fb9d\nReviewed-on: https://go-review.googlesource.com/c/protobuf/+/220337\nReviewed-by: Damien Neil \u003cdneil@google.com\u003e\n"
    },
    {
      "commit": "52ee491c59497b22524fb53c360097d7843c3f32",
      "tree": "96ceefc79b219d29fc113f2d09fb7663ee663650",
      "parents": [
        "6af2cee096f2798146c667c207ae6ff1ff2b4217"
      ],
      "author": {
        "name": "Joe Tsai",
        "email": "joetsai@digital-static.net",
        "time": "Thu Feb 20 10:44:56 2020 -0800"
      },
      "committer": {
        "name": "Joe Tsai",
        "email": "thebrokentoaster@gmail.com",
        "time": "Thu Feb 20 19:07:56 2020 +0000"
      },
      "message": "reflect/protoreflect: improve documentation\n\nChange-Id: I3942f9790be2d1d84578154645384018a5e1546e\nReviewed-on: https://go-review.googlesource.com/c/protobuf/+/220342\nReviewed-by: Damien Neil \u003cdneil@google.com\u003e\n"
    },
    {
      "commit": "6af2cee096f2798146c667c207ae6ff1ff2b4217",
      "tree": "654c965d14bad613b455821304c9330847168b3c",
      "parents": [
        "04f03cb0383ebf1caa3262f5200fe7b2b0c7d11d"
      ],
      "author": {
        "name": "Joe Tsai",
        "email": "joetsai@digital-static.net",
        "time": "Thu Feb 20 10:50:33 2020 -0800"
      },
      "committer": {
        "name": "Joe Tsai",
        "email": "thebrokentoaster@gmail.com",
        "time": "Thu Feb 20 19:04:51 2020 +0000"
      },
      "message": "reflect/protodesc: improve documentation\n\nChange-Id: Id1c0e0e702a7b0eb011c71de23cd5be76345d741\nReviewed-on: https://go-review.googlesource.com/c/protobuf/+/220341\nReviewed-by: Damien Neil \u003cdneil@google.com\u003e\n"
    },
    {
      "commit": "04f03cb0383ebf1caa3262f5200fe7b2b0c7d11d",
      "tree": "a3ed61e266fac33fc66c5b526da130e2e84341ab",
      "parents": [
        "0232edc1d77867cb7425954dfc6759c90e552d97"
      ],
      "author": {
        "name": "Joe Tsai",
        "email": "joetsai@digital-static.net",
        "time": "Fri Feb 14 12:40:48 2020 -0800"
      },
      "committer": {
        "name": "Joe Tsai",
        "email": "thebrokentoaster@gmail.com",
        "time": "Thu Feb 20 19:04:19 2020 +0000"
      },
      "message": "compiler/protogen: improve documentation\n\nChange-Id: I68e918d297716178bc1d9f459edb1cd1678d4159\nReviewed-on: https://go-review.googlesource.com/c/protobuf/+/220340\nReviewed-by: Damien Neil \u003cdneil@google.com\u003e\n"
    },
    {
      "commit": "0232edc1d77867cb7425954dfc6759c90e552d97",
      "tree": "5f325c02781e9d8b94993ff5cacd2bda3aa81755",
      "parents": [
        "466dd772882fa8c3609a31b1665b63040dd084b8"
      ],
      "author": {
        "name": "Damien Neil",
        "email": "dneil@google.com",
        "time": "Thu Feb 20 10:30:38 2020 -0800"
      },
      "committer": {
        "name": "Damien Neil",
        "email": "dneil@google.com",
        "time": "Thu Feb 20 18:54:38 2020 +0000"
      },
      "message": "all: remove stray \".\" from license headers\n\nRemove a stray bit of punctuation that crept into one of the license\nheaders and got copied around everywhere.\n\nChange-Id: Iebe4e882650ab6dab28f132b5e324e2ab0b99a73\nReviewed-on: https://go-review.googlesource.com/c/protobuf/+/220339\nReviewed-by: Joe Tsai \u003cthebrokentoaster@gmail.com\u003e\n"
    },
    {
      "commit": "466dd772882fa8c3609a31b1665b63040dd084b8",
      "tree": "931ce6e1b90059c91910bc4f9c70feee71eee109",
      "parents": [
        "3dbd95a5581ce2fdd5d2da9f12b0e21c321612a6"
      ],
      "author": {
        "name": "Damien Neil",
        "email": "dneil@google.com",
        "time": "Fri Feb 14 14:49:35 2020 -0800"
      },
      "committer": {
        "name": "Damien Neil",
        "email": "dneil@google.com",
        "time": "Wed Feb 19 22:01:50 2020 +0000"
      },
      "message": "all: fast-path method refactoring\n\nMove all fast-path inputs and outputs into the Input/Output structs.\nCollapse all booleans into bitfields.\n\nChange-Id: I79ebfbac9cd1d8ef5ec17c4f955311db007391ca\nReviewed-on: https://go-review.googlesource.com/c/protobuf/+/219505\nReviewed-by: Joe Tsai \u003cjoetsai@google.com\u003e\n"
    },
    {
      "commit": "3dbd95a5581ce2fdd5d2da9f12b0e21c321612a6",
      "tree": "bf4e7be907df63e7b0c0686f22d492c11e8c2ea1",
      "parents": [
        "c4051cd4ec0a2615a1d35d72f6191989a53d8de7"
      ],
      "author": {
        "name": "Damien Neil",
        "email": "dneil@google.com",
        "time": "Wed Feb 19 10:48:36 2020 -0800"
      },
      "committer": {
        "name": "Damien Neil",
        "email": "dneil@google.com",
        "time": "Wed Feb 19 20:35:39 2020 +0000"
      },
      "message": "reflect/protoreflect: add List.AppendMutable and Map.Mutable\n\nAdd methods to add a new, mutable message to a list or map, matching the\nexisting Message.Mutable.\n\nThese methods are purely a convenience, as each can be implemented in\nterms of the existing interface.\n\nChange-Id: I889c20fe37ea0f2a566555212e99e6378fb9fe1d\nReviewed-on: https://go-review.googlesource.com/c/protobuf/+/220117\nReviewed-by: Joe Tsai \u003cjoetsai@google.com\u003e\n"
    },
    {
      "commit": "c4051cd4ec0a2615a1d35d72f6191989a53d8de7",
      "tree": "90efcc85431a4d511def84482aff8c1d37e43383",
      "parents": [
        "725bfeaf400d629ea98057ca4b6f11587944acfe"
      ],
      "author": {
        "name": "Damien Neil",
        "email": "dneil@google.com",
        "time": "Sat Feb 15 14:33:14 2020 -0800"
      },
      "committer": {
        "name": "Damien Neil",
        "email": "dneil@google.com",
        "time": "Tue Feb 18 22:04:05 2020 +0000"
      },
      "message": "types/known: remove packages present in genproto\n\nRemove the generated proto packages that already exist in\ngoogle.golang.org/genproto. We want to eventually move these\npackages here, but it doesn\u0027t need to happen yet.\n\nAdd a local copy of fieldmaskpb for use in tests.\n\nRefactor proto generation to override import paths using the\nM\u003csource\u003e\u003d\u003cimport_path\u003e compiler option instead of by patching the\nsource files.\n\nChange-Id: I8d31f67e931d70140182f19f3e0106111f71c4b4\nReviewed-on: https://go-review.googlesource.com/c/protobuf/+/219598\nReviewed-by: Joe Tsai \u003cjoetsai@google.com\u003e\n"
    },
    {
      "commit": "725bfeaf400d629ea98057ca4b6f11587944acfe",
      "tree": "a0f5299e43e49e567b32ed358ef1dbbcebb8455a",
      "parents": [
        "91b2604634a35b1a566b42e432c235d9e83cf3cb"
      ],
      "author": {
        "name": "Damien Neil",
        "email": "dneil@google.com",
        "time": "Fri Feb 14 16:48:37 2020 -0800"
      },
      "committer": {
        "name": "Damien Neil",
        "email": "dneil@google.com",
        "time": "Tue Feb 18 17:00:39 2020 +0000"
      },
      "message": "internal/impl: support legacy Merger interface\n\nChange-Id: I796be0bb1bb40605073228446364f3a2f1073ef1\nReviewed-on: https://go-review.googlesource.com/c/protobuf/+/219557\nReviewed-by: Joe Tsai \u003cjoetsai@google.com\u003e\n"
    },
    {
      "commit": "91b2604634a35b1a566b42e432c235d9e83cf3cb",
      "tree": "7329f22044d488b9917466472dbf3ae23a02f29c",
      "parents": [
        "5b335f7203acd0d523c9b130df6bf0b5599d169d"
      ],
      "author": {
        "name": "Joe Tsai",
        "email": "joetsai@digital-static.net",
        "time": "Fri Feb 14 10:51:41 2020 -0800"
      },
      "committer": {
        "name": "Joe Tsai",
        "email": "thebrokentoaster@gmail.com",
        "time": "Sat Feb 15 00:27:14 2020 +0000"
      },
      "message": "encoding: re-arrange options\n\nMove Multiline and Indent to the top so that there is a separation\nbetween options with semantic significance and those that are merely\nfor aesthetic purposes.\n\nChange-Id: Icd5ee94ec010db8139a5e720f5b9842274fb3755\nReviewed-on: https://go-review.googlesource.com/c/protobuf/+/219500\nReviewed-by: Damien Neil \u003cdneil@google.com\u003e\n"
    },
    {
      "commit": "5b335f7203acd0d523c9b130df6bf0b5599d169d",
      "tree": "fd7843787b34d1249c8f7a4ea2965e5b152c4a3f",
      "parents": [
        "e8e8875f940670046700d644ebe7d055724ab761"
      ],
      "author": {
        "name": "Joe Tsai",
        "email": "joetsai@digital-static.net",
        "time": "Fri Feb 14 12:33:12 2020 -0800"
      },
      "committer": {
        "name": "Joe Tsai",
        "email": "thebrokentoaster@gmail.com",
        "time": "Sat Feb 15 00:23:47 2020 +0000"
      },
      "message": "reflect/protoreflect: update documentation\n\nThere were a few stale references due to renamed identifiers.\n\nChange-Id: I0ac7eda93c46143292799c3806214dc89f1e80cd\nReviewed-on: https://go-review.googlesource.com/c/protobuf/+/219504\nReviewed-by: Damien Neil \u003cdneil@google.com\u003e\n"
    },
    {
      "commit": "e8e8875f940670046700d644ebe7d055724ab761",
      "tree": "b2b6aa6c6c549f0506e17d390bbdd385d748396e",
      "parents": [
        "7059483cfdd60e17f54504b0a985b9f7e9b71ad7"
      ],
      "author": {
        "name": "Damien Neil",
        "email": "dneil@google.com",
        "time": "Tue Feb 11 11:25:16 2020 -0800"
      },
      "committer": {
        "name": "Damien Neil",
        "email": "dneil@google.com",
        "time": "Fri Feb 14 21:47:10 2020 +0000"
      },
      "message": "proto, runtime/protoiface, internal/impl: add fast-path Merge\n\nComparing -tags\u003dprotoreflect to fast-path:\n\nname                              old time/op    new time/op    delta\npkg:google.golang.org/protobuf/internal/benchmarks goos:linux goarch:amd64\n/Clone/google_message1_proto2-12    1.70µs ± 1%    0.30µs ± 1%  -82.64%  (p\u003d0.001 n\u003d7+7)\n/Clone/google_message1_proto3-12    1.01µs ± 1%    0.19µs ± 1%  -80.77%  (p\u003d0.000 n\u003d7+8)\n/Clone/google_message2-12            818µs ± 8%     141µs ± 6%  -82.78%  (p\u003d0.000 n\u003d8+8)\npkg:google.golang.org/protobuf/internal/benchmarks/micro goos:linux goarch:amd64\nEmptyMessage/Clone-12               51.1ns ± 1%    39.3ns ± 3%  -23.03%  (p\u003d0.000 n\u003d7+8)\nRepeatedInt32/Clone-12              24.5µs ± 1%     1.1µs ± 3%  -95.64%  (p\u003d0.000 n\u003d8+8)\nRequired/Clone-12                    978ns ± 1%     132ns ± 2%  -86.46%  (p\u003d0.000 n\u003d8+8)\n\nname                              old alloc/op   new alloc/op   delta\npkg:google.golang.org/protobuf/internal/benchmarks goos:linux goarch:amd64\n/Clone/google_message1_proto2-12    1.08kB ± 0%    0.74kB ± 0%  -31.85%  (p\u003d0.000 n\u003d8+8)\n/Clone/google_message1_proto3-12      872B ± 0%      544B ± 0%  -37.61%  (p\u003d0.000 n\u003d8+8)\n/Clone/google_message2-12            602kB ± 0%     411kB ± 0%  -31.65%  (p\u003d0.000 n\u003d8+8)\npkg:google.golang.org/protobuf/internal/benchmarks/micro goos:linux goarch:amd64\nEmptyMessage/Clone-12                96.0B ± 0%     64.0B ± 0%  -33.33%  (p\u003d0.000 n\u003d8+8)\nRepeatedInt32/Clone-12              25.4kB ± 0%     3.2kB ± 0%  -87.33%  (p\u003d0.000 n\u003d8+8)\nRequired/Clone-12                     416B ± 0%      256B ± 0%  -38.46%  (p\u003d0.000 n\u003d8+8)\n\nname                              old allocs/op  new allocs/op  delta\npkg:google.golang.org/protobuf/internal/benchmarks goos:linux goarch:amd64\n/Clone/google_message1_proto2-12      52.0 ± 0%      21.0 ± 0%  -59.62%  (p\u003d0.000 n\u003d8+8)\n/Clone/google_message1_proto3-12      33.0 ± 0%       3.0 ± 0%  -90.91%  (p\u003d0.000 n\u003d8+8)\n/Clone/google_message2-12            22.3k ± 0%      7.5k ± 0%  -66.41%  (p\u003d0.000 n\u003d8+8)\npkg:google.golang.org/protobuf/internal/benchmarks/micro goos:linux goarch:amd64\nEmptyMessage/Clone-12                 3.00 ± 0%      2.00 ± 0%  -33.33%  (p\u003d0.000 n\u003d8+8)\nRepeatedInt32/Clone-12               1.51k ± 0%     0.00k ± 0%  -99.80%  (p\u003d0.000 n\u003d8+8)\nRequired/Clone-12                     51.0 ± 0%      18.0 ± 0%  -64.71%  (p\u003d0.000 n\u003d8+8)\n\nChange-Id: Ife9018097c34cb025dc9c4fdd9a61b2f947853c6\nReviewed-on: https://go-review.googlesource.com/c/protobuf/+/219147\nReviewed-by: Joe Tsai \u003cthebrokentoaster@gmail.com\u003e\n"
    },
    {
      "commit": "7059483cfdd60e17f54504b0a985b9f7e9b71ad7",
      "tree": "fe74112d41d93505263da77b573d372808a9aa51",
      "parents": [
        "06e51b76b48e871f46db99a22166af58da41222c"
      ],
      "author": {
        "name": "Damien Neil",
        "email": "dneil@google.com",
        "time": "Thu Feb 13 16:31:37 2020 -0800"
      },
      "committer": {
        "name": "Damien Neil",
        "email": "dneil@google.com",
        "time": "Fri Feb 14 21:20:35 2020 +0000"
      },
      "message": "all: update go.mod in submodules\n\nChange-Id: Ibeabaecd3ba55b03dea554fc9fd28f647e9c66fd\nReviewed-on: https://go-review.googlesource.com/c/protobuf/+/219398\nReviewed-by: Joe Tsai \u003cthebrokentoaster@gmail.com\u003e\n"
    },
    {
      "commit": "06e51b76b48e871f46db99a22166af58da41222c",
      "tree": "165a1d276f8b83152ed75f2f7c09442c4309b4e5",
      "parents": [
        "5ca8f849d36bf85cbf114a0b1aa64c6dbaa467e3"
      ],
      "author": {
        "name": "Damien Neil",
        "email": "dneil@google.com",
        "time": "Fri Feb 14 09:12:50 2020 -0800"
      },
      "committer": {
        "name": "Damien Neil",
        "email": "dneil@google.com",
        "time": "Fri Feb 14 21:08:34 2020 +0000"
      },
      "message": "internal/weakdeps: put APIv1 weak dependency behind a build constraint\n\nBy using a build constraint that is never satisfied, we can add a weak\ndependency on a module. If the module is part of a build, our go.mod\nenforces a minimum version on it, but we never add it to the build\ndependencies ourselves.\n\nThis is the same trick used for tool dependencies:\nhttps://github.com/golang/go/wiki/Modules#how-can-i-track-tool-dependencies-for-a-module\n\nDropped the TODO to remove the APIv1 dependency, since I think this\nremoves any need to do so.\n\nChange-Id: I45b1a3f45535bcdc9abf34fb562d2869f1712bb6\nReviewed-on: https://go-review.googlesource.com/c/protobuf/+/219499\nReviewed-by: Joe Tsai \u003cthebrokentoaster@gmail.com\u003e\n"
    },
    {
      "commit": "5ca8f849d36bf85cbf114a0b1aa64c6dbaa467e3",
      "tree": "c8fad6d00b78f57ea204d31f5e6e6ae31d04bc8e",
      "parents": [
        "b08bc6ee84ab8c0d66b033d20e814446278c11e8"
      ],
      "author": {
        "name": "Joe Tsai",
        "email": "joetsai@digital-static.net",
        "time": "Fri Feb 14 11:47:10 2020 -0800"
      },
      "committer": {
        "name": "Joe Tsai",
        "email": "thebrokentoaster@gmail.com",
        "time": "Fri Feb 14 20:45:52 2020 +0000"
      },
      "message": "reflect/protoregistry: minor doc change\n\nClarify what the return bool of the Range callback does.\n\nChange-Id: Ib584e48df9fa1c8053652cd4105b343316729719\nReviewed-on: https://go-review.googlesource.com/c/protobuf/+/219503\nReviewed-by: Damien Neil \u003cdneil@google.com\u003e\n"
    },
    {
      "commit": "b08bc6ee84ab8c0d66b033d20e814446278c11e8",
      "tree": "5f984653669111b28751bd74c64e878b638cdda1",
      "parents": [
        "6320bdfa7e23d2bc50133edda4cabb566b9055e6"
      ],
      "author": {
        "name": "Joe Tsai",
        "email": "joetsai@digital-static.net",
        "time": "Fri Feb 14 11:11:07 2020 -0800"
      },
      "committer": {
        "name": "Joe Tsai",
        "email": "thebrokentoaster@gmail.com",
        "time": "Fri Feb 14 20:44:53 2020 +0000"
      },
      "message": "proto: minor doc changes\n\nChange-Id: I9e74b6b68a0bfe96381f224df7c56e49795d17d6\nReviewed-on: https://go-review.googlesource.com/c/protobuf/+/219501\nReviewed-by: Damien Neil \u003cdneil@google.com\u003e\n"
    }
  ],
  "next": "6320bdfa7e23d2bc50133edda4cabb566b9055e6"
}
