)]}'
{
  "log": [
    {
      "commit": "5ec99f83aff198f5fbd629d6c8d8eb38a04218ca",
      "tree": "f8247faf1331c8e1d85ec587d7898d3b5b4e0e63",
      "parents": [
        "9bdfabe68543c54f90421aeb9a60ef8061b5b544"
      ],
      "author": {
        "name": "Bryan C. Mills",
        "email": "bcmills@google.com",
        "time": "Tue Aug 04 14:02:15 2020 -0400"
      },
      "committer": {
        "name": "Bryan C. Mills",
        "email": "bcmills@google.com",
        "time": "Tue Aug 04 18:41:01 2020 +0000"
      },
      "message": "xerrors: avoid infinite loop in test (detailed).Error method\n\nFixes golang/go#40536\n\nChange-Id: I5daaec48301cdedb2efcfadaf1dcd41cb8e96b01\nReviewed-on: https://go-review.googlesource.com/c/xerrors/+/246640\nRun-TryBot: Bryan C. Mills \u003cbcmills@google.com\u003e\nTryBot-Result: Gobot Gobot \u003cgobot@golang.org\u003e\nReviewed-by: Alexander Rakoczy \u003calex@golang.org\u003e\n"
    },
    {
      "commit": "9bdfabe68543c54f90421aeb9a60ef8061b5b544",
      "tree": "5c7baf6778c38fbd781a617c22fbc9bd73822f84",
      "parents": [
        "1b5146add8981d58be77b16229c0ff0f8bebd8c1"
      ],
      "author": {
        "name": "Jonathan Amsterdam",
        "email": "jba@google.com",
        "time": "Fri Jul 19 15:12:34 2019 -0400"
      },
      "committer": {
        "name": "Jonathan Amsterdam",
        "email": "jba@google.com",
        "time": "Wed Dec 04 19:05:36 2019 +0000"
      },
      "message": "Errorf: support %w anywhere in the format string\n\nAllow a single %w to appear anywhere in the format string, matched\nby an operand that satisfies the error interface.\n\nThis is complicated by a few things:\n\n- We don\u0027t want to do full-fledged printf verb parsing. We approximate,\n  and do not handle argument indexes on %w like \"%[3]w\".\n\n- There is a messy interaction with the xerrors formatting system (not\n  adopted in Go 1.13).  When the %w is at the end we can control the\n  error string so that the wrapped error\u0027s message is formatted\n  properly, after the wrapping errors\u0027 message. With a %w in the\n  middle, we can\u0027t do that. In this CL, we print the wrapped error\u0027s\n  message twice: once in its place in the format string, and then\n  again because it\u0027s wrapped.\n\nFixes #go/33143.\n\nChange-Id: I6192096521664476e82d5a54b80e352e47397cfe\nReviewed-on: https://go-review.googlesource.com/c/xerrors/+/186957\nReviewed-by: Damien Neil \u003cdneil@google.com\u003e\n"
    },
    {
      "commit": "1b5146add8981d58be77b16229c0ff0f8bebd8c1",
      "tree": "751c9e980224863c8ff5fb898dbac14b95aa9e69",
      "parents": [
        "a985d3407aa71f30cf86696ee0a2f409709f22e1"
      ],
      "author": {
        "name": "Jonathan Amsterdam",
        "email": "jba@google.com",
        "time": "Sat Oct 05 08:30:33 2019 -0400"
      },
      "committer": {
        "name": "Jonathan Amsterdam",
        "email": "jba@google.com",
        "time": "Fri Oct 11 14:14:10 2019 +0000"
      },
      "message": "doc.go: update to current state\n\nSince Go 1.13 is out, we can state precisely what is in it.\n\nFixes #34349.\n\nChange-Id: I71718fad98298d9b4c2300836c9fa2a01386b51b\nReviewed-on: https://go-review.googlesource.com/c/xerrors/+/199317\nReviewed-by: Damien Neil \u003cdneil@google.com\u003e\nRun-TryBot: Jonathan Amsterdam \u003cjba@google.com\u003e\nTryBot-Result: Gobot Gobot \u003cgobot@golang.org\u003e\n"
    },
    {
      "commit": "a985d3407aa71f30cf86696ee0a2f409709f22e1",
      "tree": "335ff9674d735978747370aee1af54300f463d18",
      "parents": [
        "3ee3066db522c6628d440a3a91c4abdd7f5ef22f"
      ],
      "author": {
        "name": "Koichi Shiraishi",
        "email": "zchee.io@gmail.com",
        "time": "Fri May 17 02:31:01 2019 +0900"
      },
      "committer": {
        "name": "Damien Neil",
        "email": "dneil@google.com",
        "time": "Wed Jul 17 18:51:22 2019 +0000"
      },
      "message": "xerrors: Revert \"xerrors: redirect to go1.13 primitives for 1.13\"\n\nThis reverts CL 167577\n\nReason for revert:\nerrors.Frame and errors.Formatter were removed in CL 176997\n\nFixes golang/go#32246\n\nChange-Id: I521cc1176311721a18aaf76d4966e945c8453e9d\nReviewed-on: https://go-review.googlesource.com/c/xerrors/+/177379\nRun-TryBot: Agniva De Sarker \u003cagniva.quicksilver@gmail.com\u003e\nTryBot-Result: Gobot Gobot \u003cgobot@golang.org\u003e\nReviewed-by: Matt Joiner \u003canacrolix@gmail.com\u003e\nReviewed-by: Damien Neil \u003cdneil@google.com\u003e\n"
    },
    {
      "commit": "3ee3066db522c6628d440a3a91c4abdd7f5ef22f",
      "tree": "94a732822bd73fb85002d312225de900a8fe4d0d",
      "parents": [
        "5403a72a6aaf016134256e3e9dda18e3f8779905"
      ],
      "author": {
        "name": "LE Manh Cuong",
        "email": "cuong.manhle.vn@gmail.com",
        "time": "Fri May 10 15:40:05 2019 +0700"
      },
      "committer": {
        "name": "Andrew Bonventre",
        "email": "andybons@golang.org",
        "time": "Mon May 13 16:35:51 2019 +0000"
      },
      "message": "xerrors: remove useless condition checking in Is\n\nAnalogous change to golang.org/cl/176497\n\nChange-Id: I9296af11c53f1573f550f88ec14b55ed6ded3128\nReviewed-on: https://go-review.googlesource.com/c/xerrors/+/176517\nReviewed-by: Andrew Bonventre \u003candybons@golang.org\u003e\n"
    },
    {
      "commit": "5403a72a6aaf016134256e3e9dda18e3f8779905",
      "tree": "f7da4d907d4098899fc72b0cb68592f6da8cd96c",
      "parents": [
        "385005612d73f6925de56cb1886917aeaf90e3c5"
      ],
      "author": {
        "name": "Russ Cox",
        "email": "rsc@golang.org",
        "time": "Fri May 10 09:13:39 2019 -0400"
      },
      "committer": {
        "name": "Russ Cox",
        "email": "rsc@golang.org",
        "time": "Fri May 10 15:00:13 2019 +0000"
      },
      "message": "codereview.cfg: add\n\nMissed this when creating the repo.\n\nChange-Id: Ib30ae8c06a0afc8bb0d67a68d4dc716e66f3dbc8\nReviewed-on: https://go-review.googlesource.com/c/xerrors/+/176458\nRun-TryBot: Russ Cox \u003crsc@golang.org\u003e\nTryBot-Result: Gobot Gobot \u003cgobot@golang.org\u003e\nReviewed-by: Brad Fitzpatrick \u003cbradfitz@golang.org\u003e\n"
    },
    {
      "commit": "385005612d73f6925de56cb1886917aeaf90e3c5",
      "tree": "cc8f14d70132ff0a213d4f400a5f3b46a3267b8b",
      "parents": [
        "1f06c39b43733b74392b1972507822714ced3242"
      ],
      "author": {
        "name": "LE Manh Cuong",
        "email": "cuong.manhle.vn@gmail.com",
        "time": "Sun May 05 23:16:02 2019 +0700"
      },
      "committer": {
        "name": "Damien Neil",
        "email": "dneil@google.com",
        "time": "Mon May 06 18:03:16 2019 +0000"
      },
      "message": "xerrors: fix Is panics if target is uncomparable\n\nAnalogous change to golang.org/cl/175260\n\nFixes golang/go#31841\n\nChange-Id: I93bf093e8d5c13269fe7164a3a1b6956450998e5\nReviewed-on: https://go-review.googlesource.com/c/xerrors/+/174980\nReviewed-by: Brad Fitzpatrick \u003cbradfitz@golang.org\u003e\nReviewed-by: Damien Neil \u003cdneil@google.com\u003e\nRun-TryBot: Brad Fitzpatrick \u003cbradfitz@golang.org\u003e\nTryBot-Result: Gobot Gobot \u003cgobot@golang.org\u003e\n"
    },
    {
      "commit": "1f06c39b43733b74392b1972507822714ced3242",
      "tree": "45ba325703a8b315468c1f12ba80afa5f74a7852",
      "parents": [
        "d61658bd2e18010be0e21349cc92b1b706e35146"
      ],
      "author": {
        "name": "Marcel van Lohuizen",
        "email": "mpvl@golang.org",
        "time": "Tue Apr 09 22:51:57 2019 +0200"
      },
      "committer": {
        "name": "Marcel van Lohuizen",
        "email": "mpvl@golang.org",
        "time": "Wed Apr 10 15:52:17 2019 +0000"
      },
      "message": "xerrors: fix crash in As\n\nAnalogous change to CL 168598\n\nFixes golang/go#30970.\n\nChange-Id: I1810418a9d7cf92a35ca0f4a6d1b2bad560ab671\nReviewed-on: https://go-review.googlesource.com/c/xerrors/+/170960\nReviewed-by: Damien Neil \u003cdneil@google.com\u003e\nRun-TryBot: Marcel van Lohuizen \u003cmpvl@golang.org\u003e\nTryBot-Result: Gobot Gobot \u003cgobot@golang.org\u003e\n"
    },
    {
      "commit": "d61658bd2e18010be0e21349cc92b1b706e35146",
      "tree": "410fbf211fe32d5348302b0607aec1e329e848c1",
      "parents": [
        "a5947ffaace3e882f334c1750858b4a6a7e52422"
      ],
      "author": {
        "name": "Marcel van Lohuizen",
        "email": "mpvl@golang.org",
        "time": "Thu Jan 31 23:44:01 2019 +0100"
      },
      "committer": {
        "name": "Marcel van Lohuizen",
        "email": "mpvl@golang.org",
        "time": "Fri Mar 15 15:13:31 2019 +0000"
      },
      "message": "xerrors: redirect to go1.13 primitives for 1.13\n\nFor interoperability it is especially important that the\nPrinter type is redirected. Otherwise the FormatError method\nwould not be of the same signature and there would be\nno interoperability.\n\nSome of the more bulky code is now also redirected to use\n1.13.\n\nTests are verified to pass for both go1.12 and go1.13.\n\nChange-Id: Ia5776252aa4774d900c53661659d9a8b61793015\nReviewed-on: https://go-review.googlesource.com/c/xerrors/+/167577\nRun-TryBot: Marcel van Lohuizen \u003cmpvl@golang.org\u003e\nTryBot-Result: Gobot Gobot \u003cgobot@golang.org\u003e\nReviewed-by: Damien Neil \u003cdneil@google.com\u003e\n"
    },
    {
      "commit": "a5947ffaace3e882f334c1750858b4a6a7e52422",
      "tree": "47dee3ec9d679e8277173c904fc6751b7711b96d",
      "parents": [
        "334af843aad9338bfe085366e06c8b69717cd8b4"
      ],
      "author": {
        "name": "Damien Neil",
        "email": "dneil@google.com",
        "time": "Mon Feb 11 10:45:09 2019 -0800"
      },
      "committer": {
        "name": "Damien Neil",
        "email": "dneil@google.com",
        "time": "Tue Feb 12 16:23:55 2019 +0000"
      },
      "message": "xerrors: require that error be type assertable to As\u0027s target\n\nDocument As(err, target) as panicking when *target is not of interface\ntype and does not implement the error interface. While this prevents\nsome clever tricks, it permits catching (at runtime or statically\nvia vet) type errors equivalent to the ones that can be detected\nby type assertions.\n\n  if e :\u003d os.PathError{}; errors.As(err, \u0026e) {  // error, os.PathError does not implement error\n  if e :\u003d \u0026os.PathError{}; errors.As(err, e) {  // error, os.PathError does not implement error\n  if e :\u003d \u0026os.PathError{}; errors.As(err, \u0026e) { // ok\n\n  var e interface{ Timeout() bool }\n  if errors.As(\u0026e) \u0026\u0026 e.Timeout() { // ok\n\nChange-Id: I3607ac62fbe8aebef3c1aeec3fb414fb41afcdda\nReviewed-on: https://go-review.googlesource.com/c/161899\nReviewed-by: Jonathan Amsterdam \u003cjba@google.com\u003e\n"
    },
    {
      "commit": "334af843aad9338bfe085366e06c8b69717cd8b4",
      "tree": "26781befbffec556975a142564b82a16c3bb4ea0",
      "parents": [
        "4e09f5a7a913efc0eb0cd0887138548b9b6fe013"
      ],
      "author": {
        "name": "Damien Neil",
        "email": "dneil@google.com",
        "time": "Thu Feb 07 13:45:09 2019 -0800"
      },
      "committer": {
        "name": "Damien Neil",
        "email": "dneil@google.com",
        "time": "Fri Feb 08 16:00:01 2019 +0000"
      },
      "message": "xerrors: check for nil pointers in As\u0027s target\n\nAs already checks for a nil or non-pointer target; check for nil pointers\nas well. Produces a better error message and catches incorrect target\nparameters even when the target doesn\u0027t match the error.\n\nChange-Id: I06efb4b78f640b17076f002519d275b328b42557\nReviewed-on: https://go-review.googlesource.com/c/161657\nReviewed-by: Marcel van Lohuizen \u003cmpvl@golang.org\u003e\n"
    },
    {
      "commit": "4e09f5a7a913efc0eb0cd0887138548b9b6fe013",
      "tree": "c908820a0200f9cbe2cbe838b15b0ab7b61007e9",
      "parents": [
        "d6e390be1d76dca4eaa2235cda2e434142e03229"
      ],
      "author": {
        "name": "Damien Neil",
        "email": "dneil@google.com",
        "time": "Mon Feb 04 07:44:09 2019 -0800"
      },
      "committer": {
        "name": "Damien Neil",
        "email": "dneil@google.com",
        "time": "Thu Feb 07 20:32:29 2019 +0000"
      },
      "message": "xerrors: make As match on assignability\n\nChange As to consider assignability rather than type equivalence, allowing\nit to convert an error to an interface type. e.g.,\n\n\tvar to interface{ Timeout() bool }\n\tif errors.As(err, \u0026to) \u0026\u0026 to.Timeout() { ... }j\n\nChange-Id: Ia3ecaefb6c27f878f81f1d467b07b69fee9db976\nReviewed-on: https://go-review.googlesource.com/c/161017\nReviewed-by: Marcel van Lohuizen \u003cmpvl@golang.org\u003e\n"
    },
    {
      "commit": "d6e390be1d76dca4eaa2235cda2e434142e03229",
      "tree": "83cce3eb0605d2f1195f5be6f102347222bafa48",
      "parents": [
        "10f3629cc1596c42a864475e3f2d2e1e251b84e7"
      ],
      "author": {
        "name": "Marcel van Lohuizen",
        "email": "mpvl@golang.org",
        "time": "Thu Jan 31 23:16:42 2019 +0100"
      },
      "committer": {
        "name": "Marcel van Lohuizen",
        "email": "mpvl@golang.org",
        "time": "Fri Feb 01 09:12:25 2019 +0000"
      },
      "message": "xerrors: gobble colon and newline in edge cases\n\nWe gobble newlines at the start of a detailed\nsection, at end before a new message, but not\nat the end of a message. This CL add that.\n\nAlso, we should not print the colon after the last\nnon-detailed message if the detailed message\nconsists solely of newlines that are gobbled.\n\nChange-Id: I9888253e600fa1d7a05dd61f2cc49cda4275ceb1\nReviewed-on: https://go-review.googlesource.com/c/160717\nReviewed-by: Damien Neil \u003cdneil@google.com\u003e\nRun-TryBot: Marcel van Lohuizen \u003cmpvl@golang.org\u003e\n"
    },
    {
      "commit": "10f3629cc1596c42a864475e3f2d2e1e251b84e7",
      "tree": "2a1b00f81c45d588c7b0fc4ce8bb87e41ef859d9",
      "parents": [
        "31580a53e1393accda8c53290d6e045a6e894713"
      ],
      "author": {
        "name": "Damien Neil",
        "email": "dneil@google.com",
        "time": "Thu Jan 31 12:58:24 2019 -0800"
      },
      "committer": {
        "name": "Damien Neil",
        "email": "dneil@google.com",
        "time": "Thu Jan 31 21:35:33 2019 +0000"
      },
      "message": "xerrors: add Format method to errorString\n\nFixes #30036.\n\nChange-Id: I8155e94f3a4bbda77170ebbecb24c27d9e26860b\nReviewed-on: https://go-review.googlesource.com/c/160658\nReviewed-by: Brad Fitzpatrick \u003cbradfitz@golang.org\u003e\n"
    },
    {
      "commit": "31580a53e1393accda8c53290d6e045a6e894713",
      "tree": "07bfc1a0286bedfd55331964ba24def79b49b9bc",
      "parents": [
        "037a18697516929621873400daebf9e27c5e85e5"
      ],
      "author": {
        "name": "Damien Neil",
        "email": "dneil@google.com",
        "time": "Thu Jan 31 12:44:51 2019 -0800"
      },
      "committer": {
        "name": "Damien Neil",
        "email": "dneil@google.com",
        "time": "Thu Jan 31 21:35:13 2019 +0000"
      },
      "message": "xerrors: remove dependency on local path\n\nDon\u0027t assume the test is located in a path ending in /golang.org/x/xerrors.\n\nChange-Id: Ic16ba4447fc34b9f958fcae9870f331568b0fab8\nReviewed-on: https://go-review.googlesource.com/c/160697\nReviewed-by: Brad Fitzpatrick \u003cbradfitz@golang.org\u003e\n"
    },
    {
      "commit": "037a18697516929621873400daebf9e27c5e85e5",
      "tree": "f9dd4acde9bdea485d74e092a67ceb3db8effbb9",
      "parents": [
        "e62e30f692361e4ae274470879ef78ad391ebad5"
      ],
      "author": {
        "name": "Damien Neil",
        "email": "dneil@google.com",
        "time": "Thu Jan 31 13:06:07 2019 -0800"
      },
      "committer": {
        "name": "Damien Neil",
        "email": "dneil@google.com",
        "time": "Thu Jan 31 21:34:51 2019 +0000"
      },
      "message": "xerrors: add Go version to go.mod\n\nGo 1.12 really wants to add a version (i.e., every time you run \"go test\").\n\nChange-Id: I1355f7267269e94cdac71f7e979dcacf26d5514a\nReviewed-on: https://go-review.googlesource.com/c/160659\nReviewed-by: Brad Fitzpatrick \u003cbradfitz@golang.org\u003e\n"
    },
    {
      "commit": "e62e30f692361e4ae274470879ef78ad391ebad5",
      "tree": "8127c84e8aee1d722446f38823e94e619691294f",
      "parents": [
        "20feca13ea86192bf708515a6870b19c1a691262"
      ],
      "author": {
        "name": "Damien Neil",
        "email": "dneil@google.com",
        "time": "Tue Jan 29 11:18:40 2019 -0800"
      },
      "committer": {
        "name": "Damien Neil",
        "email": "dneil@google.com",
        "time": "Tue Jan 29 21:24:17 2019 +0000"
      },
      "message": "xerrors: update dates in LICENSE\n\nChange-Id: Ie73aa07954d378de165855fa5cd8313f36e2369f\nReviewed-on: https://go-review.googlesource.com/c/160217\nReviewed-by: Ian Lance Taylor \u003ciant@golang.org\u003e\n"
    },
    {
      "commit": "20feca13ea86192bf708515a6870b19c1a691262",
      "tree": "554ef9ff3cefd9a8b8c6836d0813ad4f5bf06af2",
      "parents": [
        "faf7c54ef72d32c421cbc7af48875e156ece3ebc"
      ],
      "author": {
        "name": "Marcel van Lohuizen",
        "email": "mpvl@golang.org",
        "time": "Sat Jan 26 23:43:21 2019 +0100"
      },
      "committer": {
        "name": "Damien Neil",
        "email": "dneil@google.com",
        "time": "Tue Jan 29 16:25:28 2019 +0000"
      },
      "message": "xerrors: copied files from x/exp/errors\n\nchanged paths and removed experimental notice\n\nAlso made panic test pass: the output differed\nfor different Go versions.\n\nChange-Id: Iadd367fb253459d288c3ec7e3aaafce9af939983\nReviewed-on: https://go-review.googlesource.com/c/159777\nRun-TryBot: Marcel van Lohuizen \u003cmpvl@golang.org\u003e\nTryBot-Result: Gobot Gobot \u003cgobot@golang.org\u003e\nReviewed-by: Damien Neil \u003cdneil@google.com\u003e\n"
    },
    {
      "commit": "faf7c54ef72d32c421cbc7af48875e156ece3ebc",
      "tree": "e1aabd4975ed8ef14810bc4c1ff274cb087b934a",
      "parents": [],
      "author": {
        "name": "Russ Cox",
        "email": "rsc@golang.org",
        "time": "Fri Jan 25 14:56:19 2019 -0500"
      },
      "committer": {
        "name": "Russ Cox",
        "email": "rsc@golang.org",
        "time": "Fri Jan 25 14:56:19 2019 -0500"
      },
      "message": "xerrors: initial boilerplate\n"
    }
  ]
}
