)]}'
{
  "commit": "a106f55360744cdaf41edc5f3e265dedf7bbf566",
  "tree": "9e867e93e3e7539995b947150618dd0a8f5d4703",
  "parents": [
    "a8528068d581fcd110d0cb4f3c04ad77261abf6d"
  ],
  "author": {
    "name": "Andrew",
    "email": "andybons@golang.org",
    "time": "Wed Nov 20 12:06:51 2019 -0500"
  },
  "committer": {
    "name": "Andrew Bonventre",
    "email": "andybons@golang.org",
    "time": "Thu Nov 21 17:36:20 2019 +0000"
  },
  "message": "[release-branch.go1.12] all: base64-encode binaries that will cause Apple notarization to fail\n\nStarting with macOS 10.15 (Catalina), Apple now requires all software\ndistributed outside of the App Store to be notarized. Any binaries we\ndistribute must abide by a strict set of requirements like code-signing\nand having a minimum target SDK of 10.9 (amongst others).\n\nApple’s notarization service will recursively inspect archives looking to\nfind notarization candidate binaries. If it finds a binary that does not\nmeet the requirements or is unable to decompress an archive, it will\nreject the entire distribution. From cursory testing, it seems that the\nservice uses content sniffing to determine file types, so changing\nthe file extension will not work.\n\nThere are some binaries and archives included in our distribution that\nare being detected by Apple’s service as potential candidates for\nnotarization or decompression. As these are files used by tests and some\nare intentionally invalid, we don’t intend to ever make them compliant.\n\nAs a workaround for this, we base64-encode any binaries or archives that\nApple’s notarization service issues a warning for, as these warnings will\nbecome errors in January 2020.\n\nUpdates #34986\nUpdates #35747\n\nChange-Id: I106fbb6227b61eb221755568f047ee11103c1680\nReviewed-on: https://go-review.googlesource.com/c/go/+/208118\nRun-TryBot: Andrew Bonventre \u003candybons@golang.org\u003e\nTryBot-Result: Gobot Gobot \u003cgobot@golang.org\u003e\nReviewed-by: Brad Fitzpatrick \u003cbradfitz@golang.org\u003e\n(cherry picked from commit 8bbfc51d9ac9ce9472e126cc3654c9a45eceb236)\nReviewed-on: https://go-review.googlesource.com/c/go/+/208220\nReviewed-by: Alexander Rakoczy \u003calex@golang.org\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "6b3f2f33bb4f2c57ed7e15d06d2ef2a936960484",
      "old_mode": 33188,
      "old_path": "src/archive/zip/reader_test.go",
      "new_id": "a53c6026042108f02d1152d53a31825ec73ccc6a",
      "new_mode": 33188,
      "new_path": "src/archive/zip/reader_test.go"
    },
    {
      "type": "delete",
      "old_id": "c3d593f44f988ab96b59549096903a5c7f7a10d2",
      "old_mode": 33188,
      "old_path": "src/archive/zip/testdata/go-no-datadesc-sig.zip",
      "new_id": "0000000000000000000000000000000000000000",
      "new_mode": 0,
      "new_path": "/dev/null"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "1c2c071fbe0e7a528f00215cd3134c1e8c016ecc",
      "new_mode": 33188,
      "new_path": "src/archive/zip/testdata/go-no-datadesc-sig.zip.base64"
    },
    {
      "type": "modify",
      "old_id": "15481dd76239b160fa91c33a7cd1a4142b68163a",
      "old_mode": 33188,
      "old_path": "src/cmd/internal/buildid/buildid_test.go",
      "new_id": "904c2c6f377379f96acf5217796e2847e3b105f9",
      "new_mode": 33188,
      "new_path": "src/cmd/internal/buildid/buildid_test.go"
    },
    {
      "type": "delete",
      "old_id": "f63128921aaee5027de1ae83995b183531c0a70f",
      "old_mode": 33261,
      "old_path": "src/cmd/internal/buildid/testdata/a.elf",
      "new_id": "0000000000000000000000000000000000000000",
      "new_mode": 0,
      "new_path": "/dev/null"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "fa855217358f92134e82dfc99917e7c4c372097e",
      "new_mode": 33188,
      "new_path": "src/cmd/internal/buildid/testdata/a.elf.base64"
    },
    {
      "type": "delete",
      "old_id": "fbbd57c1fe370341514eda23e41eedb66f94c006",
      "old_mode": 33261,
      "old_path": "src/cmd/internal/buildid/testdata/a.macho",
      "new_id": "0000000000000000000000000000000000000000",
      "new_mode": 0,
      "new_path": "/dev/null"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "2e9f6a7dff35e2c75834edc674e30e5c3507309b",
      "new_mode": 33188,
      "new_path": "src/cmd/internal/buildid/testdata/a.macho.base64"
    },
    {
      "type": "delete",
      "old_id": "91202728c3f394c393a5546124f434166bac4ced",
      "old_mode": 33261,
      "old_path": "src/cmd/internal/buildid/testdata/a.pe",
      "new_id": "0000000000000000000000000000000000000000",
      "new_mode": 0,
      "new_path": "/dev/null"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "d3a31a3a627aad50491138f1d48c7c8f93bc6bbc",
      "new_mode": 33188,
      "new_path": "src/cmd/internal/buildid/testdata/a.pe.base64"
    },
    {
      "type": "delete",
      "old_id": "dcc3e76ef8bb353133dd566be6d355697d8c054f",
      "old_mode": 33188,
      "old_path": "src/cmd/internal/buildid/testdata/p.a",
      "new_id": "0000000000000000000000000000000000000000",
      "new_mode": 0,
      "new_path": "/dev/null"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "ba96c10ca50383c0cb139c3c4af686dd879ed9b8",
      "new_mode": 33188,
      "new_path": "src/cmd/internal/buildid/testdata/p.a.base64"
    },
    {
      "type": "modify",
      "old_id": "1b5bd21ad5dc0a8a1fe17e00f4d34ebc168e873a",
      "old_mode": 33188,
      "old_path": "src/cmd/nm/nm_test.go",
      "new_id": "1748a153d0e8a3d63594e2d0bb9b59b369fdf8da",
      "new_mode": 33188,
      "new_path": "src/cmd/nm/nm_test.go"
    },
    {
      "type": "modify",
      "old_id": "fdea0c5d5ff82a81130928061b4f674acf9dd9ba",
      "old_mode": 33188,
      "old_path": "src/compress/gzip/gunzip_test.go",
      "new_id": "1b01404169265d45833eaae183d03c8de4dc1eb8",
      "new_mode": 33188,
      "new_path": "src/compress/gzip/gunzip_test.go"
    },
    {
      "type": "delete",
      "old_id": "82b4af102632c3f97bd4957e71ea519751ea0ea8",
      "old_mode": 33188,
      "old_path": "src/compress/gzip/testdata/issue6550.gz",
      "new_id": "0000000000000000000000000000000000000000",
      "new_mode": 0,
      "new_path": "/dev/null"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "f2509ff5d19760e1243cc64149a63031bc706fe5",
      "new_mode": 33188,
      "new_path": "src/compress/gzip/testdata/issue6550.gz.base64"
    },
    {
      "type": "modify",
      "old_id": "003c14e69b1dcfaa06626dab5d2496d86fa0f42b",
      "old_mode": 33188,
      "old_path": "src/debug/macho/file_test.go",
      "new_id": "cc48d731cb4efb5116d0f57033a15f6978eeac76",
      "new_mode": 33188,
      "new_path": "src/debug/macho/file_test.go"
    },
    {
      "type": "delete",
      "old_id": "a8720feb923693232bce4fa9642988c86a28c372",
      "old_mode": 33188,
      "old_path": "src/debug/macho/testdata/clang-386-darwin-exec-with-rpath",
      "new_id": "0000000000000000000000000000000000000000",
      "new_mode": 0,
      "new_path": "/dev/null"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "64047f1b1e70388d7ca72004303a7ca85bd0af71",
      "new_mode": 33188,
      "new_path": "src/debug/macho/testdata/clang-386-darwin-exec-with-rpath.base64"
    },
    {
      "type": "delete",
      "old_id": "e79dc57a4b48a5c32cb23a93d551f62587981d06",
      "old_mode": 33188,
      "old_path": "src/debug/macho/testdata/clang-386-darwin.obj",
      "new_id": "0000000000000000000000000000000000000000",
      "new_mode": 0,
      "new_path": "/dev/null"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "60a07658c98e4404b9b89b085759cc7d9b7c1975",
      "new_mode": 33188,
      "new_path": "src/debug/macho/testdata/clang-386-darwin.obj.base64"
    },
    {
      "type": "delete",
      "old_id": "191c7688cbf46dedadbe9539b478554abde94701",
      "old_mode": 33188,
      "old_path": "src/debug/macho/testdata/clang-amd64-darwin-exec-with-rpath",
      "new_id": "0000000000000000000000000000000000000000",
      "new_mode": 0,
      "new_path": "/dev/null"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "26821814cfa7831bc8db2d24418f4e50f46bdddb",
      "new_mode": 33188,
      "new_path": "src/debug/macho/testdata/clang-amd64-darwin-exec-with-rpath.base64"
    },
    {
      "type": "delete",
      "old_id": "23cc3c1bcb18a3256f515a1fe69a8bd199a6ef53",
      "old_mode": 33188,
      "old_path": "src/debug/macho/testdata/clang-amd64-darwin.obj",
      "new_id": "0000000000000000000000000000000000000000",
      "new_mode": 0,
      "new_path": "/dev/null"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "b8f1fce9887dd8b9066960205fd6206c77455892",
      "new_mode": 33188,
      "new_path": "src/debug/macho/testdata/clang-amd64-darwin.obj.base64"
    },
    {
      "type": "delete",
      "old_id": "7efd19300b2899328664e0e0314fac011722724b",
      "old_mode": 33188,
      "old_path": "src/debug/macho/testdata/fat-gcc-386-amd64-darwin-exec",
      "new_id": "0000000000000000000000000000000000000000",
      "new_mode": 0,
      "new_path": "/dev/null"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "407d9773c419a1ec70595e6caa6ba03acca2e962",
      "new_mode": 33188,
      "new_path": "src/debug/macho/testdata/fat-gcc-386-amd64-darwin-exec.base64"
    },
    {
      "type": "delete",
      "old_id": "03ba1bafac0a6cba92b72239e51b2a9618668032",
      "old_mode": 33188,
      "old_path": "src/debug/macho/testdata/gcc-386-darwin-exec",
      "new_id": "0000000000000000000000000000000000000000",
      "new_mode": 0,
      "new_path": "/dev/null"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "5e40ed6f0d7192ea8e4b8731aaa696bc1b78e5cb",
      "new_mode": 33188,
      "new_path": "src/debug/macho/testdata/gcc-386-darwin-exec.base64"
    },
    {
      "type": "delete",
      "old_id": "5155a5a26f6a7c0d9cf8720e03630f171713f859",
      "old_mode": 33188,
      "old_path": "src/debug/macho/testdata/gcc-amd64-darwin-exec",
      "new_id": "0000000000000000000000000000000000000000",
      "new_mode": 0,
      "new_path": "/dev/null"
    },
    {
      "type": "delete",
      "old_id": "a47d3aef782a3d69b8d5d3fd4d475ec54cecf006",
      "old_mode": 33188,
      "old_path": "src/debug/macho/testdata/gcc-amd64-darwin-exec-debug",
      "new_id": "0000000000000000000000000000000000000000",
      "new_mode": 0,
      "new_path": "/dev/null"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "8884566a185f1531d34e5a80a1010df574808780",
      "new_mode": 33188,
      "new_path": "src/debug/macho/testdata/gcc-amd64-darwin-exec-debug.base64"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "b48ae5657e19ad84d50ed4aab6a16350daf4c0f3",
      "new_mode": 33188,
      "new_path": "src/debug/macho/testdata/gcc-amd64-darwin-exec.base64"
    },
    {
      "type": "modify",
      "old_id": "2c29a3e6018f7785dee2cc112951e941ed5b483a",
      "old_mode": 33188,
      "old_path": "src/go/build/deps_test.go",
      "new_id": "093f83887ae8024a70681d41ace81aec08aa7feb",
      "new_mode": 33188,
      "new_path": "src/go/build/deps_test.go"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "512f3759b4ca6d605d017dc261d2657611737a3b",
      "new_mode": 33188,
      "new_path": "src/internal/obscuretestdata/obscuretestdata.go"
    }
  ]
}
