)]}'
{
  "commit": "c9aef117f53e16ed3a6cc3d93cd357dbf2005065",
  "tree": "92a34dd571d23515eb3368d562a80cb997c78bc5",
  "parents": [
    "e84a34b1eedf81a90fb4f502d02d64ad365ef937"
  ],
  "author": {
    "name": "Adam Langley",
    "email": "agl@golang.org",
    "time": "Wed Apr 13 16:20:34 2016 -0700"
  },
  "committer": {
    "name": "Adam Langley",
    "email": "agl@golang.org",
    "time": "Mon Apr 25 23:11:06 2016 +0000"
  },
  "message": "x/crypto/ed25519: add package.\n\nThis change “graduates” the Ed25519 package from my personal GitHub\naccount to x/crypto. At this point, the code and algorithm seems\nsufficiently mature that it warrants more general exposure. (There seem\nto be about 110 packages importing it from my GitHub repo:\nhttps://godoc.org/github.com/agl/ed25519?importers)\n\nTwo people made changes to the code while it was living in my GitHub.\nBoth have signed the CLA and both have confirmed that they intended\ntheir changes to be covered by it. (Recorded internally in b/28166583.)\n\nThe significant change from GitHub to x/crypto is that the types of\npublic keys, private keys and signatures have been changed from pointers\nto arrays into []byte and that support for crypto.Signer has been added.\n\nUpdates golang/go#8581\n\nChange-Id: Ia8632d2153e289363b50d76fd0662d1a7fed00f6\nReviewed-on: https://go-review.googlesource.com/22030\nReviewed-by: Brad Fitzpatrick \u003cbradfitz@golang.org\u003e\nReviewed-by: Martin Garton \u003cgarton@gmail.com\u003e\nReviewed-by: Adam Langley \u003cagl@golang.org\u003e\nRun-TryBot: Adam Langley \u003cagl@golang.org\u003e\nTryBot-Result: Gobot Gobot \u003cgobot@golang.org\u003e\n",
  "tree_diff": [
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "f1d95674ac3f7562ee613705d0ff281ac97e9772",
      "new_mode": 33188,
      "new_path": "ed25519/ed25519.go"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "638e5255d3f2f0946080388497bba14fbbdf9fed",
      "new_mode": 33188,
      "new_path": "ed25519/ed25519_test.go"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "e39f086c1d87dbedcb0cd0ccb4d302bae2c04dbc",
      "new_mode": 33188,
      "new_path": "ed25519/internal/edwards25519/const.go"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "5f8b9947872716c50edb0392432670240973ce3b",
      "new_mode": 33188,
      "new_path": "ed25519/internal/edwards25519/edwards25519.go"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "41030690c0db39a0279304a46f002a625caa9080",
      "new_mode": 33188,
      "new_path": "ed25519/testdata/sign.input.gz"
    }
  ]
}
