)]}'
{
  "log": [
    {
      "commit": "50d20532a748f18e53f7d24ccbe6647132c979a9",
      "tree": "3e12d5f6a8d13e2baaa541bc9f9dc4c16a11e14e",
      "parents": [
        "b61aec4fe60d88dc73ec66355de0fe9d55c7ae7c"
      ],
      "author": {
        "name": "Matt Houglum",
        "email": "houglum@google.com",
        "time": "Fri Sep 07 21:33:19 2018"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Sep 07 21:33:19 2018"
      },
      "message": "Release v4.1.3 and update OAuth2 URIs. Fixes #742. (#743)\n\nRelease v4.1.3 and update OAuth2 URIs. Fixes #742.\r\n"
    },
    {
      "commit": "b61aec4fe60d88dc73ec66355de0fe9d55c7ae7c",
      "tree": "997355172a089e1ab5e7188a218b69c42cf41b92",
      "parents": [
        "0d1c814779c21503307b2f255dabcf24b2a107ac"
      ],
      "author": {
        "name": "Thea Flowers",
        "email": "theaflowers@google.com",
        "time": "Mon Jul 02 19:48:46 2018"
      },
      "committer": {
        "name": "Thea Flowers",
        "email": "theaflowers@google.com",
        "time": "Mon Jul 02 19:48:46 2018"
      },
      "message": "Add Code of Conduct\n"
    },
    {
      "commit": "0d1c814779c21503307b2f255dabcf24b2a107ac",
      "tree": "4ab0db13772617469fccc6e27832e68570a9fcbe",
      "parents": [
        "3071457064f3705bab1b041bd624a10d5a2d2619"
      ],
      "author": {
        "name": "Thea Flowers",
        "email": "theaflowers@google.com",
        "time": "Thu May 24 19:40:23 2018"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu May 24 19:40:23 2018"
      },
      "message": "Add deprecation notice to docs/index.rst"
    },
    {
      "commit": "3071457064f3705bab1b041bd624a10d5a2d2619",
      "tree": "31f5e6bc830b086b765bc3c4e180029d8ef47156",
      "parents": [
        "1c56925cbc83b9dd8a5112a60e62e0aa73a33b5f"
      ],
      "author": {
        "name": "Jay Lee",
        "email": "jay0lee@gmail.com",
        "time": "Fri Oct 06 16:04:35 2017"
      },
      "committer": {
        "name": "Jon Wayne Parrott",
        "email": "jonwayne@google.com",
        "time": "Fri Oct 06 16:04:35 2017"
      },
      "message": "link to oauth2client deprecation explanation. (#728)\n\n"
    },
    {
      "commit": "1c56925cbc83b9dd8a5112a60e62e0aa73a33b5f",
      "tree": "a57ee9423b030486b60c12f30b13ef0ed1ed2c05",
      "parents": [
        "d94570eb39d6901695153adbaf4c5dbccda80471"
      ],
      "author": {
        "name": "Jon Wayne Parrott",
        "email": "jonwayne@google.com",
        "time": "Mon Jul 31 21:41:47 2017"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Jul 31 21:41:47 2017"
      },
      "message": "Escape error reason for oauth2 callback in django_util (#724)\n\n"
    },
    {
      "commit": "d94570eb39d6901695153adbaf4c5dbccda80471",
      "tree": "94ee004c336440a97897a50dc650eda33c356ece",
      "parents": [
        "98c0a1a8c82cf46549bc7337343039c5af941730"
      ],
      "author": {
        "name": "Spyros Trigazis",
        "email": "strigazi@gmail.com",
        "time": "Thu Jun 29 19:08:07 2017"
      },
      "committer": {
        "name": "Jon Wayne Parrott",
        "email": "jonwayne@google.com",
        "time": "Thu Jun 29 19:08:07 2017"
      },
      "message": "Release v4.1.2 (#721)\n\nSigned-off-by: Spyros Trigazis \u003cstrigazi@gmail.com\u003e"
    },
    {
      "commit": "98c0a1a8c82cf46549bc7337343039c5af941730",
      "tree": "5191f19ccfa1a01c2e098b0eb39d466bd50ac8a4",
      "parents": [
        "97320af2733f7bdbe47f067327610e348f953ae1"
      ],
      "author": {
        "name": "Spyros Trigazis",
        "email": "strigazi@gmail.com",
        "time": "Thu Jun 29 16:52:05 2017"
      },
      "committer": {
        "name": "Jon Wayne Parrott",
        "email": "jonwayne@google.com",
        "time": "Thu Jun 29 16:52:05 2017"
      },
      "message": "Exclude test in find_packages (#720)\n\nTo avoid conflicts with projects that have tests in their top-level\r\ndirectory:\r\n\r\n* exlude tests in find_packages\r\n* add include in MANIFEST.in\r\n\r\nCloses: #688\r\n\r\nSigned-off-by: Spyros Trigazis \u003cstrigazi@gmail.com\u003e"
    },
    {
      "commit": "97320af2733f7bdbe47f067327610e348f953ae1",
      "tree": "7445001c6a6eb284512d7fd34fa52c64622b8a68",
      "parents": [
        "a1da72d15c653c7bd5221211c9a2e7ce2e6341a5"
      ],
      "author": {
        "name": "Tomas Reimers",
        "email": "tomasreimers@gmail.com",
        "time": "Tue Jun 06 16:04:26 2017"
      },
      "committer": {
        "name": "Jon Wayne Parrott",
        "email": "jonwayne@google.com",
        "time": "Tue Jun 06 16:04:26 2017"
      },
      "message": "Release v4.1.1 (#718)\n\n"
    },
    {
      "commit": "a1da72d15c653c7bd5221211c9a2e7ce2e6341a5",
      "tree": "03e146e9dbeea2f98eda457130984c9bdd96dc52",
      "parents": [
        "00926f2058e23da7f6772ad6477e64d7506415e5"
      ],
      "author": {
        "name": "Tomas Reimers",
        "email": "tomasreimers@gmail.com",
        "time": "Thu Jun 01 19:28:58 2017"
      },
      "committer": {
        "name": "Jon Wayne Parrott",
        "email": "jonwayne@google.com",
        "time": "Thu Jun 01 19:28:58 2017"
      },
      "message": "Pass prompt\u003d\u0027consent\u0027 from flow_from_clientsecrets (#717)\n\n"
    },
    {
      "commit": "00926f2058e23da7f6772ad6477e64d7506415e5",
      "tree": "546c2882464f8d743201da6dc1d15b3063b76363",
      "parents": [
        "119b90cbc91ed9d892df45413be5b551d90406e2"
      ],
      "author": {
        "name": "Jon Wayne Parrott",
        "email": "jonwayne@google.com",
        "time": "Wed May 10 23:11:19 2017"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed May 10 23:11:19 2017"
      },
      "message": "Release v4.1.0 and deprecate the library (#714)\n\n"
    },
    {
      "commit": "119b90cbc91ed9d892df45413be5b551d90406e2",
      "tree": "78893ebee66e3acdaa2f36f892b31f6a853f80fc",
      "parents": [
        "efe567a8f03739a5a340fa9f6909690db340caf6"
      ],
      "author": {
        "name": "Jon Wayne Parrott",
        "email": "jonwayne@google.com",
        "time": "Tue May 09 21:46:47 2017"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue May 09 21:46:47 2017"
      },
      "message": "Fix system tests (#713)\n\nUpdate user key to fix system tests"
    },
    {
      "commit": "efe567a8f03739a5a340fa9f6909690db340caf6",
      "tree": "0077abb1cb3c675cda1b2a69cfe6dc648680a265",
      "parents": [
        "cf13958d7d66dfa99492ac0cc91d75e276066be1"
      ],
      "author": {
        "name": "Jon Wayne Parrott",
        "email": "jonwayne@google.com",
        "time": "Tue May 09 19:54:17 2017"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue May 09 19:54:17 2017"
      },
      "message": "Fix ci (#712)\n\n* Add missing docs files\r\n\r\n* Fix app engine sdk download command\r\n\r\n* Remove PyPy, as cryptography updates seems to have broken oauth2client support since at least v2.0.0\r\n"
    },
    {
      "commit": "cf13958d7d66dfa99492ac0cc91d75e276066be1",
      "tree": "dde63505da466376219e3d8c6a1f4e60cf4aa162",
      "parents": [
        "feec15f070903069347b9386a24fb73148f97411"
      ],
      "author": {
        "name": "Jon Wayne Parrott",
        "email": "jonwayne@google.com",
        "time": "Tue May 09 19:30:32 2017"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue May 09 19:30:32 2017"
      },
      "message": "Escape callback error code (#710)\n\n"
    },
    {
      "commit": "feec15f070903069347b9386a24fb73148f97411",
      "tree": "f90c1a0a8aeb25024c247763bd55969a45c3560d",
      "parents": [
        "a3cf56b659e067dea8ead933f81e4a6f42d30ed8"
      ],
      "author": {
        "name": "Craig Citro",
        "email": "craigcitro@gmail.com",
        "time": "Mon Mar 27 16:47:44 2017"
      },
      "committer": {
        "name": "Jon Wayne Parrott",
        "email": "jonwayne@google.com",
        "time": "Mon Mar 27 16:47:44 2017"
      },
      "message": "Allow customizing the GCE metadata service address via an env var. (#704)\n\nThe goal here is to make it possible for a user of a binary that depends on\r\nthis library (eg the google cloud SDK) to be able to customize where it looks\r\nfor the GCE metadata service. (An adventurous user can already customize the\r\nGCE metadata service location via the existing global vars in this library.)\r\n\r\nThe only bit of awkwardness here is really the test: since this is a top-level\r\nstatement, reloading is the only way to ensure it works."
    },
    {
      "commit": "a3cf56b659e067dea8ead933f81e4a6f42d30ed8",
      "tree": "d47b704b34b54fb9db38cbab9f2ab4b0cfb5e7e8",
      "parents": [
        "c055e7f7f5b7f7f9fe8ba12bbf7e297fccc2b59b"
      ],
      "author": {
        "name": "Craig Citro",
        "email": "craigcitro@gmail.com",
        "time": "Mon Mar 27 16:39:27 2017"
      },
      "committer": {
        "name": "Jon Wayne Parrott",
        "email": "jonwayne@google.com",
        "time": "Mon Mar 27 16:39:27 2017"
      },
      "message": "Make `tox -e flake8` pass. (#705)\n\nThis library is in maintenance mode, but no reason to leave travis broken. Two\r\ndisables and a better `except` in a test and it\u0027s green again."
    },
    {
      "commit": "c055e7f7f5b7f7f9fe8ba12bbf7e297fccc2b59b",
      "tree": "a4c2d998b5f453784e23bdf3966c27c60bb05374",
      "parents": [
        "cc3e7d13a4f33cb10ce8fe2acfe02b853b1774c3"
      ],
      "author": {
        "name": "Craig Citro",
        "email": "craigcitro@gmail.com",
        "time": "Fri Feb 03 17:39:13 2017"
      },
      "committer": {
        "name": "Jon Wayne Parrott",
        "email": "jonwayne@google.com",
        "time": "Fri Feb 03 17:39:13 2017"
      },
      "message": "Typo fix. (#697)\n\nI normally try to restrain my inner copyeditor, but this one was in a docstring that someone might copy-paste."
    },
    {
      "commit": "cc3e7d13a4f33cb10ce8fe2acfe02b853b1774c3",
      "tree": "00df607b9c34372df5d084a711add1464e514588",
      "parents": [
        "f75203e64cafa2ca63fe383bd99e6a0ac0373dae"
      ],
      "author": {
        "name": "Jon Wayne Parrott",
        "email": "jonwayne@google.com",
        "time": "Tue Jan 17 20:25:11 2017"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Jan 17 20:25:11 2017"
      },
      "message": "Include LICENSE in Manifest.in (#694)\n\n"
    },
    {
      "commit": "f75203e64cafa2ca63fe383bd99e6a0ac0373dae",
      "tree": "d0e19ade998912e1734d1f833d78523cdf5fc9c1",
      "parents": [
        "f7f656d6aa0ac111a6692ded3eaaa7b1caf1fedc"
      ],
      "author": {
        "name": "Brendan McCollam",
        "email": "brendan@mccoll.am",
        "time": "Tue Dec 06 17:42:20 2016"
      },
      "committer": {
        "name": "Jon Wayne Parrott",
        "email": "jonwayne@google.com",
        "time": "Tue Dec 06 17:42:20 2016"
      },
      "message": "Remove b64 padding from PKCE values, per RFC7636 (#683)\n\n"
    },
    {
      "commit": "f7f656d6aa0ac111a6692ded3eaaa7b1caf1fedc",
      "tree": "1bc48780b38f534cd06f37612a12b725e60508e6",
      "parents": [
        "2da8ccde3f74507990cb551fe48f6d25820e6ab3"
      ],
      "author": {
        "name": "Clancy Childs",
        "email": "clancychilds@users.noreply.github.com",
        "time": "Mon Nov 28 19:09:30 2016"
      },
      "committer": {
        "name": "Jon Wayne Parrott",
        "email": "jonwayne@google.com",
        "time": "Mon Nov 28 19:09:30 2016"
      },
      "message": "Store original encoded and signed identity JWT in OAuth2Credentials (#680)\n\n"
    },
    {
      "commit": "2da8ccde3f74507990cb551fe48f6d25820e6ab3",
      "tree": "5ceeec7e4b33691feec295d6536b1a4ba7a3dfc4",
      "parents": [
        "92e4ad332992b91d4674335f3d83a7181e38967d",
        "d0078709c2be1a0ecbcfd2cdceaaf867e7147e45"
      ],
      "author": {
        "name": "Bill Prin",
        "email": "waprin@gmail.com",
        "time": "Thu Nov 17 20:00:05 2016"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Nov 17 20:00:05 2016"
      },
      "message": "Merge pull request #676 from chripede/django-jsonpickle\n\nUse jsonpickle in django contrib"
    },
    {
      "commit": "d0078709c2be1a0ecbcfd2cdceaaf867e7147e45",
      "tree": "5ceeec7e4b33691feec295d6536b1a4ba7a3dfc4",
      "parents": [
        "92e4ad332992b91d4674335f3d83a7181e38967d"
      ],
      "author": {
        "name": "Christian Pedersen",
        "email": "chripede@gmail.com",
        "time": "Wed Nov 16 22:40:43 2016"
      },
      "committer": {
        "name": "Christian Pedersen",
        "email": "hp@etargmedia.dk",
        "time": "Thu Nov 17 07:53:01 2016"
      },
      "message": "Use jsonpickle if possible\n\nFallback to pickle if jsonpickle is not installed\n"
    },
    {
      "commit": "92e4ad332992b91d4674335f3d83a7181e38967d",
      "tree": "72933391626ad4511855f3b2a02dd6a695bddc9d",
      "parents": [
        "a731be362014d61630044c46495c5b750437ab88"
      ],
      "author": {
        "name": "Aditya",
        "email": "code.aditya@gmail.com",
        "time": "Wed Oct 26 15:24:41 2016"
      },
      "committer": {
        "name": "Brian J. Watson",
        "email": "brianwatson@google.com",
        "time": "Wed Oct 26 15:24:41 2016"
      },
      "message": "Fix typo in changelog: aetting --\u003e setting (#668)\n\n"
    },
    {
      "commit": "a731be362014d61630044c46495c5b750437ab88",
      "tree": "5037224d7f66c5b9e5ee825d4b3214638f90e1bc",
      "parents": [
        "3eb691fc469ed6afe6f7a8b7bfe00c95dad46c73"
      ],
      "author": {
        "name": "Jon Wayne Parrott",
        "email": "jonwayne@google.com",
        "time": "Fri Oct 14 17:53:53 2016"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Oct 14 17:53:53 2016"
      },
      "message": "Release v4.0.0 (#666)\n\n"
    },
    {
      "commit": "3eb691fc469ed6afe6f7a8b7bfe00c95dad46c73",
      "tree": "a29fca337917525386e4c5a3994d1da966b0b223",
      "parents": [
        "480c558b7fb962ec61c62ecadca004af0b71fc7a"
      ],
      "author": {
        "name": "Arthur D. Cherba",
        "email": "arthur.cherba@gmail.com",
        "time": "Fri Oct 14 17:44:47 2016"
      },
      "committer": {
        "name": "Jon Wayne Parrott",
        "email": "jonwayne@google.com",
        "time": "Fri Oct 14 17:44:47 2016"
      },
      "message": "Include expanded version of Apache 2.0 license. (#663)\n\n"
    },
    {
      "commit": "480c558b7fb962ec61c62ecadca004af0b71fc7a",
      "tree": "7152e5a1258f954c14261b277fa63157b94f2e97",
      "parents": [
        "999de3ac8bf377b511824f1ec88c651dde5a1d4f"
      ],
      "author": {
        "name": "Adam Chainz",
        "email": "me@adamj.eu",
        "time": "Fri Oct 14 17:08:31 2016"
      },
      "committer": {
        "name": "Jon Wayne Parrott",
        "email": "jonwayne@google.com",
        "time": "Fri Oct 14 17:08:31 2016"
      },
      "message": "Release as a universal wheel (#665)\n\n"
    },
    {
      "commit": "999de3ac8bf377b511824f1ec88c651dde5a1d4f",
      "tree": "b3e235240361323a4ac05074c921d6b7388f308d",
      "parents": [
        "3f9fdbd5a3e590e6e53e42a59ca96d1010c0cec7"
      ],
      "author": {
        "name": "Liran Nuna",
        "email": "liranuna@gmail.com",
        "time": "Thu Oct 06 19:53:16 2016"
      },
      "committer": {
        "name": "Jon Wayne Parrott",
        "email": "jonwayne@google.com",
        "time": "Thu Oct 06 19:53:16 2016"
      },
      "message": "Try to revoke token with POST when getting a 405 (#662)\n\nThe OAuth spec does not specify the HTTP verb explicitly but it does hint that POST is the correct verb.\r\nWhen using the client library with other OAuth services that implement revocation token via a POST, revoking the token will fail.\r\n\r\nThis commit adds the ability to re-try the revocation process if we get a 405 with the POST verb."
    },
    {
      "commit": "3f9fdbd5a3e590e6e53e42a59ca96d1010c0cec7",
      "tree": "32c100ce32f226b9810622913b01f63d60e34140",
      "parents": [
        "8a6e3b2a34561fb575ceecbb0f598347d47786e3"
      ],
      "author": {
        "name": "Bill Prin",
        "email": "waprin@gmail.com",
        "time": "Tue Sep 20 19:28:47 2016"
      },
      "committer": {
        "name": "Jon Wayne Parrott",
        "email": "jonwayne@google.com",
        "time": "Tue Sep 20 19:28:47 2016"
      },
      "message": "Add Django Samples (#636)\n\nContains two sets of samples - one for the “Google auth” system and one for the “Django\r\nuser auth” system."
    },
    {
      "commit": "8a6e3b2a34561fb575ceecbb0f598347d47786e3",
      "tree": "b2b69bcf4b7a7f5e5af13584038b98be2b6eddc8",
      "parents": [
        "9f0618d53481a3afe2d0cf232131ba21dcf583de"
      ],
      "author": {
        "name": "Bill Prin",
        "email": "waprin@gmail.com",
        "time": "Fri Sep 16 22:50:17 2016"
      },
      "committer": {
        "name": "Jon Wayne Parrott",
        "email": "jonwayne@google.com",
        "time": "Fri Sep 16 22:50:16 2016"
      },
      "message": "Fix django authorization redirect by correctly checking validity of credentials (#651)\n\n"
    },
    {
      "commit": "9f0618d53481a3afe2d0cf232131ba21dcf583de",
      "tree": "299387da3fd6270adc0ebc90dcc89a3be081b2c9",
      "parents": [
        "51ae8761eaf5ec044aa5ab221020b05be8fe2a71",
        "5315cd9d4e1bbb418c363614553b6c54aa0575fc"
      ],
      "author": {
        "name": "Nathaniel Manista",
        "email": "nathaniel@google.com",
        "time": "Sat Aug 20 17:59:00 2016"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sat Aug 20 17:59:00 2016"
      },
      "message": "Merge pull request #635 from waprin/django_flake8\n\nFix flake8 error."
    },
    {
      "commit": "5315cd9d4e1bbb418c363614553b6c54aa0575fc",
      "tree": "299387da3fd6270adc0ebc90dcc89a3be081b2c9",
      "parents": [
        "51ae8761eaf5ec044aa5ab221020b05be8fe2a71"
      ],
      "author": {
        "name": "Bill Prin",
        "email": "waprin@google.com",
        "time": "Sat Aug 20 00:07:09 2016"
      },
      "committer": {
        "name": "Bill Prin",
        "email": "waprin@google.com",
        "time": "Sat Aug 20 00:07:09 2016"
      },
      "message": "Fix flake8 error\n"
    },
    {
      "commit": "51ae8761eaf5ec044aa5ab221020b05be8fe2a71",
      "tree": "4bfe3e9c6ccd639ae4a598456daa0ec437e0221c",
      "parents": [
        "4c7b3be5a101454e2c641a9835e652a92d16800e",
        "ebe9ed0bbbe4ce51c1a76de694c795e38906d690"
      ],
      "author": {
        "name": "Danny Hermes",
        "email": "daniel.j.hermes@gmail.com",
        "time": "Wed Aug 17 22:59:57 2016"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Aug 17 22:59:57 2016"
      },
      "message": "Merge pull request #622 from dhermes/allow-repeated-params\n\nCorrect query loss when using parse_qsl to dict"
    },
    {
      "commit": "ebe9ed0bbbe4ce51c1a76de694c795e38906d690",
      "tree": "4bfe3e9c6ccd639ae4a598456daa0ec437e0221c",
      "parents": [
        "4c7b3be5a101454e2c641a9835e652a92d16800e"
      ],
      "author": {
        "name": "Danny Hermes",
        "email": "daniel.j.hermes@gmail.com",
        "time": "Wed Aug 17 22:18:29 2016"
      },
      "committer": {
        "name": "Danny Hermes",
        "email": "daniel.j.hermes@gmail.com",
        "time": "Wed Aug 17 22:56:41 2016"
      },
      "message": "Correct query loss when using parse_qsl to dict\n"
    },
    {
      "commit": "4c7b3be5a101454e2c641a9835e652a92d16800e",
      "tree": "9d9ae2a3d0fc6bfcb900e21e6f8855e529cfd5c3",
      "parents": [
        "547d600c7e370e8190c134867f69f3e9d974d6a8",
        "e332a51cc8cd8eb98ebd54a81a93e573f51ef6d2"
      ],
      "author": {
        "name": "Danny Hermes",
        "email": "daniel.j.hermes@gmail.com",
        "time": "Tue Aug 16 22:25:37 2016"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Aug 16 22:25:37 2016"
      },
      "message": "Merge pull request #612 from dhermes/fix-599\n\nUse transport module for GCE environment check."
    },
    {
      "commit": "e332a51cc8cd8eb98ebd54a81a93e573f51ef6d2",
      "tree": "9d9ae2a3d0fc6bfcb900e21e6f8855e529cfd5c3",
      "parents": [
        "547d600c7e370e8190c134867f69f3e9d974d6a8"
      ],
      "author": {
        "name": "Danny Hermes",
        "email": "daniel.j.hermes@gmail.com",
        "time": "Thu Aug 11 01:43:38 2016"
      },
      "committer": {
        "name": "Danny Hermes",
        "email": "daniel.j.hermes@gmail.com",
        "time": "Tue Aug 16 21:47:14 2016"
      },
      "message": "Use transport module for GCE environment check.\n\nFixes #599.\n"
    },
    {
      "commit": "547d600c7e370e8190c134867f69f3e9d974d6a8",
      "tree": "534fa89947f81fe3997ab9c7b15625356c168384",
      "parents": [
        "687fdbdb86fc2dacf904890debc02a7aeb97514a",
        "a1136db2ebf19243ec43cd4ff6958812ad114ef8"
      ],
      "author": {
        "name": "Nathaniel Manista",
        "email": "nathaniel@google.com",
        "time": "Mon Aug 15 17:48:42 2016"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Aug 15 17:48:42 2016"
      },
      "message": "Merge pull request #627 from jonparrott/no-author\n\nRemove __author__ lines and add contributors.md."
    },
    {
      "commit": "a1136db2ebf19243ec43cd4ff6958812ad114ef8",
      "tree": "7d9dd0b637eb2feace689c2a5ae90086c3736ed3",
      "parents": [
        "c6b30bf420b3e63ed086c1fecad4b7aa2adb5089"
      ],
      "author": {
        "name": "Jon Wayne Parrott",
        "email": "jonwayne@google.com",
        "time": "Thu Aug 11 21:02:10 2016"
      },
      "committer": {
        "name": "Jon Wayne Parrott",
        "email": "jonwayne@google.com",
        "time": "Mon Aug 15 17:26:34 2016"
      },
      "message": "Remove __author__ lines, add contributors.md\n\nResolves #626\n"
    },
    {
      "commit": "687fdbdb86fc2dacf904890debc02a7aeb97514a",
      "tree": "d20a50c4e36df0ee9d28fa6a61f9a8374c06c702",
      "parents": [
        "499375cea4c9c3e462ad09b3fa36554c92f85d91"
      ],
      "author": {
        "name": "Pat Ferate",
        "email": "pferate@users.noreply.github.com",
        "time": "Mon Aug 15 17:16:15 2016"
      },
      "committer": {
        "name": "Jon Wayne Parrott",
        "email": "jonwayne@google.com",
        "time": "Mon Aug 15 17:16:15 2016"
      },
      "message": "Update helper b64 encode/decode tests (#631)\n\n"
    },
    {
      "commit": "499375cea4c9c3e462ad09b3fa36554c92f85d91",
      "tree": "0bc5fb7606536c12c21bd2eb4835e4d637745c50",
      "parents": [
        "9c1ece5ce4655fde6b665aaf2c2abf04a6f0a87d"
      ],
      "author": {
        "name": "Jon Wayne Parrott",
        "email": "jonwayne@google.com",
        "time": "Mon Aug 15 16:56:57 2016"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Aug 15 16:56:57 2016"
      },
      "message": "Enable cover tox env on Travis (#628)\n\nReplace fragile app engine sdk download script with gcprepotools script -\r\nthis ensures the SDK is up-to-date and is a no-op if the SDK is installed\r\nand up-to-date.\r\n\r\nResolves #617"
    },
    {
      "commit": "9c1ece5ce4655fde6b665aaf2c2abf04a6f0a87d",
      "tree": "3e3b471ad0db26756a69958e4cdffa18646801e5",
      "parents": [
        "5137d7e8377266ef4beffe1c59c638c05c82cf10"
      ],
      "author": {
        "name": "Pat Ferate",
        "email": "pferate@users.noreply.github.com",
        "time": "Mon Aug 15 15:55:56 2016"
      },
      "committer": {
        "name": "Jon Wayne Parrott",
        "email": "jonwayne@google.com",
        "time": "Mon Aug 15 15:55:56 2016"
      },
      "message": "Check for `bin` directory before cloning pyenv (#630)\n\nTravis creates cached directories if they are not present, so the pyenv\r\nrepo was never getting cloned if the cache was empty."
    },
    {
      "commit": "5137d7e8377266ef4beffe1c59c638c05c82cf10",
      "tree": "0d3744551ca792253d184e8f65a9721d29e434ec",
      "parents": [
        "c9b4b07525730338f2e560981b3fbe295d2146ab"
      ],
      "author": {
        "name": "Pat Ferate",
        "email": "pferate@users.noreply.github.com",
        "time": "Fri Aug 12 21:15:31 2016"
      },
      "committer": {
        "name": "Jon Wayne Parrott",
        "email": "jonwayne@google.com",
        "time": "Fri Aug 12 21:15:31 2016"
      },
      "message": "Complete branches from partial test coverages (#629)\n\n"
    },
    {
      "commit": "c9b4b07525730338f2e560981b3fbe295d2146ab",
      "tree": "101a05d3eddab66444ad99da8732966b89f1db19",
      "parents": [
        "c6b30bf420b3e63ed086c1fecad4b7aa2adb5089"
      ],
      "author": {
        "name": "Bill Prin",
        "email": "waprin@gmail.com",
        "time": "Fri Aug 12 19:01:08 2016"
      },
      "committer": {
        "name": "Jon Wayne Parrott",
        "email": "jonwayne@google.com",
        "time": "Fri Aug 12 19:01:08 2016"
      },
      "message": "Switch django models from pickle to jsonpickle (#614)\n\n"
    },
    {
      "commit": "c6b30bf420b3e63ed086c1fecad4b7aa2adb5089",
      "tree": "b0ecb30b9ad67faad3fe8a2d8ba3c3bcc3cbbcfe",
      "parents": [
        "e4ad1beeb482016ed6276b4c0c6aee8a6f49b9ef"
      ],
      "author": {
        "name": "Pat Ferate",
        "email": "pferate@users.noreply.github.com",
        "time": "Thu Aug 11 20:25:56 2016"
      },
      "committer": {
        "name": "Jon Wayne Parrott",
        "email": "jonwayne@google.com",
        "time": "Thu Aug 11 20:25:56 2016"
      },
      "message": "Clean up imports (#625)\n\n* Treat `tests` as part of the local package\r\n* Import modules instead of objects\r\n\r\nSome imports that slipped by last time this was cleaned up.\r\n"
    },
    {
      "commit": "e4ad1beeb482016ed6276b4c0c6aee8a6f49b9ef",
      "tree": "176cc1673578f01d4347399af7ff15cf3ba054f1",
      "parents": [
        "3614fd147a51e68548bc48295b63a96239735ac5"
      ],
      "author": {
        "name": "Pat Ferate",
        "email": "pferate@users.noreply.github.com",
        "time": "Thu Aug 11 20:18:21 2016"
      },
      "committer": {
        "name": "Jon Wayne Parrott",
        "email": "jonwayne@google.com",
        "time": "Thu Aug 11 20:18:21 2016"
      },
      "message": "Remove `unittest2` from PKCE test (#624)\n\nThis test snuck by the recent removal of `unittest2`"
    },
    {
      "commit": "3614fd147a51e68548bc48295b63a96239735ac5",
      "tree": "866dfe36a5432c3c08b3c81e762ca46f4a883ed6",
      "parents": [
        "619dff806e12a616683842447fbac90a76d663a0"
      ],
      "author": {
        "name": "Brendan McCollam",
        "email": "brendan@mccoll.am",
        "time": "Thu Aug 11 19:28:19 2016"
      },
      "committer": {
        "name": "Jon Wayne Parrott",
        "email": "jonwayne@google.com",
        "time": "Thu Aug 11 19:28:19 2016"
      },
      "message": "Add support for RFC7636 PKCE (#588)\n\nRFC7636 extends OAuth2 to include a challenge-response protocol\r\ncalled \"Proof Key for Code Exchange\" (PKCE) in order to mitigate\r\nattacks in situations where clients that cannot protect a client\r\nsecret (e.g.installed desktop applications)."
    },
    {
      "commit": "619dff806e12a616683842447fbac90a76d663a0",
      "tree": "6a4726bac8a1216e3369f88a20864920588dc955",
      "parents": [
        "f439dcbef4137d3c5ee6ba1d92b90e7c0ff2d8f5"
      ],
      "author": {
        "name": "Bill Prin",
        "email": "waprin@gmail.com",
        "time": "Thu Aug 11 19:11:33 2016"
      },
      "committer": {
        "name": "Jon Wayne Parrott",
        "email": "jonwayne@google.com",
        "time": "Thu Aug 11 19:11:33 2016"
      },
      "message": "Support new MIDDLEWARE Django 1.10 Setting (#623)\n\n"
    },
    {
      "commit": "f439dcbef4137d3c5ee6ba1d92b90e7c0ff2d8f5",
      "tree": "02f919fefa822be76df7ad0ef18829e27ce99f11",
      "parents": [
        "6a12a1fb58a32603396535cc1ef8789bbde9c49b"
      ],
      "author": {
        "name": "Danny Hermes",
        "email": "daniel.j.hermes@gmail.com",
        "time": "Thu Aug 11 18:16:18 2016"
      },
      "committer": {
        "name": "Jon Wayne Parrott",
        "email": "jonwayne@google.com",
        "time": "Thu Aug 11 18:16:18 2016"
      },
      "message": "Change status access from header to attribute. (#616)\n\nThis is to unify all the times a status is used from the\r\nresponse (containing header info) of an HTTP request."
    },
    {
      "commit": "6a12a1fb58a32603396535cc1ef8789bbde9c49b",
      "tree": "c4d25c9948174ea9b1838d5cfa2760f99fda70d4",
      "parents": [
        "5190fd70bba7d7938b6dd2b020a949fc32141703"
      ],
      "author": {
        "name": "Danny Hermes",
        "email": "daniel.j.hermes@gmail.com",
        "time": "Thu Aug 11 18:14:46 2016"
      },
      "committer": {
        "name": "Jon Wayne Parrott",
        "email": "jonwayne@google.com",
        "time": "Thu Aug 11 18:14:46 2016"
      },
      "message": "Remove usage of os.environ.setdefault (#621)\n\nThis is somewhat misleading, since it doesn\u0027t change the\r\nvalue of the env. var. in the shell."
    },
    {
      "commit": "5190fd70bba7d7938b6dd2b020a949fc32141703",
      "tree": "2512798e220bd645365fdabd88ab3f4e0d50e537",
      "parents": [
        "c6b70bd3b3b5608de82c78978604a0cb7d21126c"
      ],
      "author": {
        "name": "Pat Ferate",
        "email": "pferate@users.noreply.github.com",
        "time": "Thu Aug 11 16:25:09 2016"
      },
      "committer": {
        "name": "Jon Wayne Parrott",
        "email": "jonwayne@google.com",
        "time": "Thu Aug 11 16:25:09 2016"
      },
      "message": "Add branch coverage (#615)\n\nIt was unintentionally dropped during the migration to pytest."
    },
    {
      "commit": "c6b70bd3b3b5608de82c78978604a0cb7d21126c",
      "tree": "471923facc270209d3db2b182d83cc5918d91f0a",
      "parents": [
        "b7f3eca135994d4541a51cd88583562ab2e81069",
        "1a0c4dbf92eddda508164a8578a62147590521ed"
      ],
      "author": {
        "name": "Danny Hermes",
        "email": "daniel.j.hermes@gmail.com",
        "time": "Thu Aug 11 16:08:42 2016"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Aug 11 16:08:42 2016"
      },
      "message": "Merge pull request #607 from dhermes/use-transport-request-in-tests\n\nUse transport.request in tests."
    },
    {
      "commit": "1a0c4dbf92eddda508164a8578a62147590521ed",
      "tree": "471923facc270209d3db2b182d83cc5918d91f0a",
      "parents": [
        "b7f3eca135994d4541a51cd88583562ab2e81069"
      ],
      "author": {
        "name": "Danny Hermes",
        "email": "daniel.j.hermes@gmail.com",
        "time": "Wed Aug 10 23:53:46 2016"
      },
      "committer": {
        "name": "Danny Hermes",
        "email": "daniel.j.hermes@gmail.com",
        "time": "Thu Aug 11 15:43:51 2016"
      },
      "message": "Use transport.request in tests.\n\nIn the process\n\n- \"spring clean\" the modules that were touched\n- use HttpMock when HttpMockSequence not needed\n- add some verifications on new HttpMock\u0027s\n"
    },
    {
      "commit": "b7f3eca135994d4541a51cd88583562ab2e81069",
      "tree": "006a8bdec77d0434df11b4c0342fd45ba52c231d",
      "parents": [
        "5d08ba40a0c6ccb9717102d1fcc3717ec5026203",
        "0f21a3d6ab2ed39a991e02730c64d7b8efc87c5c"
      ],
      "author": {
        "name": "Danny Hermes",
        "email": "daniel.j.hermes@gmail.com",
        "time": "Thu Aug 11 15:21:44 2016"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Aug 11 15:21:44 2016"
      },
      "message": "Merge pull request #610 from dhermes/drop-unittest2\n\nDrop unittest2 dependency"
    },
    {
      "commit": "0f21a3d6ab2ed39a991e02730c64d7b8efc87c5c",
      "tree": "006a8bdec77d0434df11b4c0342fd45ba52c231d",
      "parents": [
        "5d08ba40a0c6ccb9717102d1fcc3717ec5026203"
      ],
      "author": {
        "name": "Danny Hermes",
        "email": "daniel.j.hermes@gmail.com",
        "time": "Thu Aug 11 00:13:50 2016"
      },
      "committer": {
        "name": "Danny Hermes",
        "email": "daniel.j.hermes@gmail.com",
        "time": "Thu Aug 11 15:14:08 2016"
      },
      "message": "Drop unittest2 dependency\n\nNo longer needed since Python 2.6 support has been dropped.\n"
    },
    {
      "commit": "5d08ba40a0c6ccb9717102d1fcc3717ec5026203",
      "tree": "4f35abee6c70f2ab5dcac9676abb132c4d45937e",
      "parents": [
        "380b3e1c0a8b99fcb8a8d48218d0ec0baa9948af",
        "a10eb17fbaf6c092e9f7f9d5fd3f381b848a6d03"
      ],
      "author": {
        "name": "Nathaniel Manista",
        "email": "nathaniel@google.com",
        "time": "Thu Aug 11 00:10:53 2016"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Aug 11 00:10:53 2016"
      },
      "message": "Merge pull request #608 from dhermes/remove-line-continuations\n\nRemove backslash line continuations."
    },
    {
      "commit": "a10eb17fbaf6c092e9f7f9d5fd3f381b848a6d03",
      "tree": "4f35abee6c70f2ab5dcac9676abb132c4d45937e",
      "parents": [
        "380b3e1c0a8b99fcb8a8d48218d0ec0baa9948af"
      ],
      "author": {
        "name": "Danny Hermes",
        "email": "daniel.j.hermes@gmail.com",
        "time": "Thu Aug 11 00:01:11 2016"
      },
      "committer": {
        "name": "Danny Hermes",
        "email": "daniel.j.hermes@gmail.com",
        "time": "Thu Aug 11 00:02:26 2016"
      },
      "message": "Remove backslash line continuations\n"
    },
    {
      "commit": "380b3e1c0a8b99fcb8a8d48218d0ec0baa9948af",
      "tree": "ee2b17414359d6f0ef8e7b461aff264d2622bb7e",
      "parents": [
        "2c442070d526d72972acc3120b4d6f00eeac71bb",
        "e0b2256e3db98c5376258f9b98ca8fe31a24be28"
      ],
      "author": {
        "name": "Danny Hermes",
        "email": "daniel.j.hermes@gmail.com",
        "time": "Wed Aug 10 23:05:29 2016"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Aug 10 23:05:29 2016"
      },
      "message": "Merge pull request #606 from dhermes/fix-up-system-tests-httplib2\n\nUse transport helpers in system tests"
    },
    {
      "commit": "e0b2256e3db98c5376258f9b98ca8fe31a24be28",
      "tree": "ee2b17414359d6f0ef8e7b461aff264d2622bb7e",
      "parents": [
        "2c442070d526d72972acc3120b4d6f00eeac71bb"
      ],
      "author": {
        "name": "Danny Hermes",
        "email": "daniel.j.hermes@gmail.com",
        "time": "Wed Aug 10 22:21:57 2016"
      },
      "committer": {
        "name": "Danny Hermes",
        "email": "daniel.j.hermes@gmail.com",
        "time": "Wed Aug 10 22:23:02 2016"
      },
      "message": "Use transport helpers in system tests\n"
    },
    {
      "commit": "2c442070d526d72972acc3120b4d6f00eeac71bb",
      "tree": "c0a19dee54ddd97479eefef900accf50ae814bcb",
      "parents": [
        "724181f46bbd2d7c5f5bf11d5ab6fe2d801cac17",
        "8299c5867f878c99f51ae593f97b38f0b511ff61"
      ],
      "author": {
        "name": "Danny Hermes",
        "email": "daniel.j.hermes@gmail.com",
        "time": "Wed Aug 10 22:11:59 2016"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Aug 10 22:11:59 2016"
      },
      "message": "Merge pull request #605 from dhermes/unify-http-mocks\n\nClean up usage of HTTP mocks in tests."
    },
    {
      "commit": "8299c5867f878c99f51ae593f97b38f0b511ff61",
      "tree": "c0a19dee54ddd97479eefef900accf50ae814bcb",
      "parents": [
        "724181f46bbd2d7c5f5bf11d5ab6fe2d801cac17"
      ],
      "author": {
        "name": "Danny Hermes",
        "email": "daniel.j.hermes@gmail.com",
        "time": "Wed Aug 10 21:05:16 2016"
      },
      "committer": {
        "name": "Danny Hermes",
        "email": "daniel.j.hermes@gmail.com",
        "time": "Wed Aug 10 21:56:28 2016"
      },
      "message": "Clean up usage of HTTP mocks in tests.\n"
    },
    {
      "commit": "724181f46bbd2d7c5f5bf11d5ab6fe2d801cac17",
      "tree": "cb439fa8e68392ae028fa541000373c6c6e177a5",
      "parents": [
        "1d427333c947a17f88b5f7399c1d2f2bcf865350",
        "7c4acacd414416da142ac64cb2233dcf9546dbbd"
      ],
      "author": {
        "name": "Danny Hermes",
        "email": "daniel.j.hermes@gmail.com",
        "time": "Wed Aug 10 17:54:33 2016"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Aug 10 17:54:33 2016"
      },
      "message": "Merge pull request #598 from dhermes/remove-magic-mock\n\nRemove all uses of MagicMock"
    },
    {
      "commit": "7c4acacd414416da142ac64cb2233dcf9546dbbd",
      "tree": "cb439fa8e68392ae028fa541000373c6c6e177a5",
      "parents": [
        "1d427333c947a17f88b5f7399c1d2f2bcf865350"
      ],
      "author": {
        "name": "Danny Hermes",
        "email": "daniel.j.hermes@gmail.com",
        "time": "Tue Aug 09 23:50:57 2016"
      },
      "committer": {
        "name": "Danny Hermes",
        "email": "daniel.j.hermes@gmail.com",
        "time": "Wed Aug 10 17:47:24 2016"
      },
      "message": "Remove all uses of MagicMock\n\nMagicMock is a version of Mock with extra features for\ntests that need to test usage of magic methods (i.e.\n__nonzero__, __cmp__, etc.).\n\nNone of the oauth2client tests actually need these\nextra features though.\n"
    },
    {
      "commit": "1d427333c947a17f88b5f7399c1d2f2bcf865350",
      "tree": "63bbe3e8bcc7d0f7f01dd8dfc8fd23df6d082ec8",
      "parents": [
        "f774a6660d171c76f168ff5b289825efcf269125",
        "49d565d2deb47bfc51416654c33dbc391b8c06e9"
      ],
      "author": {
        "name": "Danny Hermes",
        "email": "daniel.j.hermes@gmail.com",
        "time": "Wed Aug 10 17:45:57 2016"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Aug 10 17:45:57 2016"
      },
      "message": "Merge pull request #604 from dhermes/drop-33\n\nDrop Python 3.3 support"
    },
    {
      "commit": "49d565d2deb47bfc51416654c33dbc391b8c06e9",
      "tree": "63bbe3e8bcc7d0f7f01dd8dfc8fd23df6d082ec8",
      "parents": [
        "f774a6660d171c76f168ff5b289825efcf269125"
      ],
      "author": {
        "name": "Danny Hermes",
        "email": "daniel.j.hermes@gmail.com",
        "time": "Wed Aug 10 17:12:27 2016"
      },
      "committer": {
        "name": "Danny Hermes",
        "email": "daniel.j.hermes@gmail.com",
        "time": "Wed Aug 10 17:40:08 2016"
      },
      "message": "Drop Python 3.3 support\n\nAlso remove some trailing whitespace in tox.ini and fixing\nup some double quote / single quote mixing in setup.py.\n\nFixes #603.\n"
    },
    {
      "commit": "f774a6660d171c76f168ff5b289825efcf269125",
      "tree": "8e64764186e5aad1a4ca65f56b5cd8dd29be2a23",
      "parents": [
        "f282a9260e858b4f7aecfc69336d18c42f988655",
        "4cac96d1a829e3e4e7b28c58c121db728a4d39c6"
      ],
      "author": {
        "name": "Nathaniel Manista",
        "email": "nathaniel@google.com",
        "time": "Wed Aug 10 02:53:30 2016"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Aug 10 02:53:30 2016"
      },
      "message": "Merge pull request #569 from pferate/pytest_runner\n\nMigrate test runner to py.test."
    },
    {
      "commit": "f282a9260e858b4f7aecfc69336d18c42f988655",
      "tree": "4a62c366efabb2a1c7178474ecfb9ef48ea60f98",
      "parents": [
        "b1a17432731344d2e44b1ef78ab52f2202bee703"
      ],
      "author": {
        "name": "Danny Hermes",
        "email": "daniel.j.hermes@gmail.com",
        "time": "Wed Aug 10 02:49:56 2016"
      },
      "committer": {
        "name": "Nathaniel Manista",
        "email": "nathaniel@google.com",
        "time": "Wed Aug 10 02:49:56 2016"
      },
      "message": "Remove distinction between http and http.request (#602)\n\n"
    },
    {
      "commit": "b1a17432731344d2e44b1ef78ab52f2202bee703",
      "tree": "e33fc782d0cec5629223b9f222bba7e8b79f5254",
      "parents": [
        "0fd8c61d93711e23a31f07c613f042caa0c0b6ee"
      ],
      "author": {
        "name": "Danny Hermes",
        "email": "daniel.j.hermes@gmail.com",
        "time": "Tue Aug 09 23:11:31 2016"
      },
      "committer": {
        "name": "Nathaniel Manista",
        "email": "nathaniel@google.com",
        "time": "Tue Aug 09 23:11:31 2016"
      },
      "message": "Using transport helper for calling http.request() (#586)\n\nThis assumes (for now) that http is an instance of\r\nhttplib.Http."
    },
    {
      "commit": "4cac96d1a829e3e4e7b28c58c121db728a4d39c6",
      "tree": "90680217c51715ca3e8b4a20924aa10b89a58c60",
      "parents": [
        "c359c401e74f26c2b73403f7a756ccb93b571f32"
      ],
      "author": {
        "name": "Jon Wayne Parrott",
        "email": "jonwayne@google.com",
        "time": "Mon Aug 08 21:52:13 2016"
      },
      "committer": {
        "name": "Pat Ferate",
        "email": "pferate+github@gmail.com",
        "time": "Tue Aug 09 21:41:14 2016"
      },
      "message": "Re-configure App engine tests\n\n"
    },
    {
      "commit": "c359c401e74f26c2b73403f7a756ccb93b571f32",
      "tree": "1fb118866cd5e73ad04e7a9d275bd29ffae72c48",
      "parents": [
        "0fd8c61d93711e23a31f07c613f042caa0c0b6ee"
      ],
      "author": {
        "name": "Pat Ferate",
        "email": "pferate+github@gmail.com",
        "time": "Tue Jul 26 16:47:22 2016"
      },
      "committer": {
        "name": "Pat Ferate",
        "email": "pferate+github@gmail.com",
        "time": "Tue Aug 09 21:15:13 2016"
      },
      "message": "Migrate test runner to py.test\n\nMigrating test runner from `unittest2`/`nose` to `pytest`.\nThe pytest runner is also compatible with both unittest and nose tests.\nSome of the benefits of PyTest include:\n    * using plain asserts\n    * function-based fixtures instead of setUp and tearDown\n    * no strange camelCase methods"
    },
    {
      "commit": "0fd8c61d93711e23a31f07c613f042caa0c0b6ee",
      "tree": "1779858d8732ba523cb37826016e4e0ec2c4fa75",
      "parents": [
        "2e8d1bea6464476d4e34801e59695adc95fd6b9e"
      ],
      "author": {
        "name": "Jon Wayne Parrott",
        "email": "jonwayne@google.com",
        "time": "Tue Aug 09 21:09:50 2016"
      },
      "committer": {
        "name": "Nathaniel Manista",
        "email": "nathaniel@google.com",
        "time": "Tue Aug 09 21:09:50 2016"
      },
      "message": "Fix pypy environment in Travis\n\n"
    },
    {
      "commit": "2e8d1bea6464476d4e34801e59695adc95fd6b9e",
      "tree": "9479eff936216092f126658af5ac0c0aa8779b67",
      "parents": [
        "248dc6c58d534f33517f94f048899a9ed5c5732e"
      ],
      "author": {
        "name": "Jon Wayne Parrott",
        "email": "jonwayne@google.com",
        "time": "Tue Aug 09 18:25:31 2016"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Aug 09 18:25:31 2016"
      },
      "message": "Drop support for Python 2.6 (#590)\n\n* Drop support for Python 2.6\r\n* Re-organize Travis matrix"
    },
    {
      "commit": "248dc6c58d534f33517f94f048899a9ed5c5732e",
      "tree": "43b2f5f72197c16f391a8ad26c607a3ef73040ce",
      "parents": [
        "0dc30bc03375f7dd4525b95f4f641417e947f28b",
        "2f5c53b1fa6a2325427da0a3b63d4dc7ddc4261e"
      ],
      "author": {
        "name": "Nathaniel Manista",
        "email": "nathaniel@google.com",
        "time": "Fri Aug 05 16:28:20 2016"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Aug 05 16:28:20 2016"
      },
      "message": "Merge pull request #579 from pferate/refactor_helpers\n\nMerge util.py and _helpers.py."
    },
    {
      "commit": "2f5c53b1fa6a2325427da0a3b63d4dc7ddc4261e",
      "tree": "43b2f5f72197c16f391a8ad26c607a3ef73040ce",
      "parents": [
        "0dc30bc03375f7dd4525b95f4f641417e947f28b"
      ],
      "author": {
        "name": "Pat Ferate",
        "email": "pferate+github@gmail.com",
        "time": "Mon Aug 01 20:17:14 2016"
      },
      "committer": {
        "name": "Pat Ferate",
        "email": "pferate+github@gmail.com",
        "time": "Thu Aug 04 21:11:25 2016"
      },
      "message": "Merge util.py and _helpers.py\n\nA new file, `_helpers.py`, was created without realizing that\n`utils.py` existed for the same purpose.\n\nMoving all to `_helpers.py`."
    },
    {
      "commit": "0dc30bc03375f7dd4525b95f4f641417e947f28b",
      "tree": "933bc3a5a7d6509cc13d63892553b219b8362ca3",
      "parents": [
        "f04d5213d4d864faf9929a43f307f1651da6c481"
      ],
      "author": {
        "name": "Jon Wayne Parrott",
        "email": "jonwayne@google.com",
        "time": "Thu Aug 04 19:24:45 2016"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Aug 04 19:24:45 2016"
      },
      "message": "Remove contrib.multistore_file (#589)\n\nRemove dependent modules as well. Resolves #470."
    },
    {
      "commit": "f04d5213d4d864faf9929a43f307f1651da6c481",
      "tree": "707d948d4fcc237f5f2cba77384ccd34f6b460a1",
      "parents": [
        "c456547a8ad6058a6a3322940c28ecf5398f5ade",
        "ed42b28cbd82bdd0878ca206bbfeb965cd9e3433"
      ],
      "author": {
        "name": "Danny Hermes",
        "email": "daniel.j.hermes@gmail.com",
        "time": "Wed Aug 03 17:13:30 2016"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Aug 03 17:13:30 2016"
      },
      "message": "Merge pull request #585 from dhermes/remove-httplib2-from-unit-tests\n\nRemoves usage of httplib2 in unit tests."
    },
    {
      "commit": "ed42b28cbd82bdd0878ca206bbfeb965cd9e3433",
      "tree": "cdc680a1654afd10eaea62753d99d77a20514f5f",
      "parents": [
        "1a70341761c8201b8da8be30367e1456cbc78f2c"
      ],
      "author": {
        "name": "Danny Hermes",
        "email": "daniel.j.hermes@gmail.com",
        "time": "Wed Aug 03 01:35:05 2016"
      },
      "committer": {
        "name": "Danny Hermes",
        "email": "daniel.j.hermes@gmail.com",
        "time": "Wed Aug 03 01:35:05 2016"
      },
      "message": "Fixing line length. To be squashed.\n"
    },
    {
      "commit": "c456547a8ad6058a6a3322940c28ecf5398f5ade",
      "tree": "0216e251c00250edf7d6653d32ad48708124cff4",
      "parents": [
        "cd825cc561170be36509d32f5fc23fcbeb4c0f12",
        "fa23cc20136a0690040584d4c02c9fd41e50fe3d"
      ],
      "author": {
        "name": "Danny Hermes",
        "email": "daniel.j.hermes@gmail.com",
        "time": "Tue Aug 02 23:45:20 2016"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Aug 02 23:45:20 2016"
      },
      "message": "Merge pull request #584 from dhermes/remove-old-dep-ref\n\nRemove reference to old dependency in LICENSE"
    },
    {
      "commit": "fa23cc20136a0690040584d4c02c9fd41e50fe3d",
      "tree": "0216e251c00250edf7d6653d32ad48708124cff4",
      "parents": [
        "cd825cc561170be36509d32f5fc23fcbeb4c0f12"
      ],
      "author": {
        "name": "Danny Hermes",
        "email": "daniel.j.hermes@gmail.com",
        "time": "Tue Aug 02 22:43:03 2016"
      },
      "committer": {
        "name": "Danny Hermes",
        "email": "daniel.j.hermes@gmail.com",
        "time": "Tue Aug 02 23:39:06 2016"
      },
      "message": "Remove reference to old dependency in LICENSE\n"
    },
    {
      "commit": "1a70341761c8201b8da8be30367e1456cbc78f2c",
      "tree": "6f7b0a5eec364f3851c5d515c40fc483094f6ae6",
      "parents": [
        "256d48dab8918f90701204565acfa0b803e6a0be"
      ],
      "author": {
        "name": "Danny Hermes",
        "email": "daniel.j.hermes@gmail.com",
        "time": "Tue Aug 02 23:36:53 2016"
      },
      "committer": {
        "name": "Danny Hermes",
        "email": "daniel.j.hermes@gmail.com",
        "time": "Tue Aug 02 23:36:53 2016"
      },
      "message": "Address review comments. To be squashed.\n"
    },
    {
      "commit": "256d48dab8918f90701204565acfa0b803e6a0be",
      "tree": "fa734f2bb998836c6441d5e3ac7f2b50eb7bb947",
      "parents": [
        "cd825cc561170be36509d32f5fc23fcbeb4c0f12"
      ],
      "author": {
        "name": "Danny Hermes",
        "email": "daniel.j.hermes@gmail.com",
        "time": "Tue Aug 02 22:51:12 2016"
      },
      "committer": {
        "name": "Danny Hermes",
        "email": "daniel.j.hermes@gmail.com",
        "time": "Tue Aug 02 22:51:12 2016"
      },
      "message": "Removes usage of httplib2 in unit tests.\n\nThe only remaining unit test module utilizing httplib2\nis test_transport since it utilizes httplib2 directly\nat the moment.\n"
    },
    {
      "commit": "cd825cc561170be36509d32f5fc23fcbeb4c0f12",
      "tree": "4a39d91b340a4297a761322ba704bc713a3a6785",
      "parents": [
        "eb019c2dadfbcefccfcaff4d58fc2112ed584825",
        "80fff4bda1be77c479c954cdf5ad8a2ba238cf6d"
      ],
      "author": {
        "name": "Danny Hermes",
        "email": "daniel.j.hermes@gmail.com",
        "time": "Mon Aug 01 22:13:18 2016"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Aug 01 22:13:18 2016"
      },
      "message": "Merge pull request #577 from dhermes/towards-554-part3\n\nRemove httplib2 imports from non-transport modules."
    },
    {
      "commit": "80fff4bda1be77c479c954cdf5ad8a2ba238cf6d",
      "tree": "4a39d91b340a4297a761322ba704bc713a3a6785",
      "parents": [
        "eb019c2dadfbcefccfcaff4d58fc2112ed584825"
      ],
      "author": {
        "name": "Danny Hermes",
        "email": "daniel.j.hermes@gmail.com",
        "time": "Fri Jul 29 18:24:17 2016"
      },
      "committer": {
        "name": "Danny Hermes",
        "email": "daniel.j.hermes@gmail.com",
        "time": "Mon Aug 01 22:08:46 2016"
      },
      "message": "Remove httplib2 imports from non-transport modules.\n\nNow all usage of httplib2 is concentrated in tests and\nin the oauth2client.transport module. This does not yet\ncover all behavior that implicitly relies on httplib2\nin these modules, so there is still work to be done.\n"
    },
    {
      "commit": "eb019c2dadfbcefccfcaff4d58fc2112ed584825",
      "tree": "8d68cc57d33a47c8f73a395fb2562915280b1e3f",
      "parents": [
        "ae73312942d3cf0e98f097dfbb40f136c2a7c463"
      ],
      "author": {
        "name": "Pat Ferate",
        "email": "pferate@users.noreply.github.com",
        "time": "Mon Aug 01 16:49:02 2016"
      },
      "committer": {
        "name": "Jon Wayne Parrott",
        "email": "jonwayne@google.com",
        "time": "Mon Aug 01 16:49:02 2016"
      },
      "message": "Handle missing storage files (#576)\n\n* Move `validate_file` to `oauth2client.util`\r\n* Warn user if storage file is missing\r\n* Raise an `IOError` exception if the given filename is a directory.\r\n* Raise an `IOError` exception if the given filename is a symbolic link.\r\n      (Previously raised `CredentialsFileSymbolicLinkError`)\r\n* (test) Expanding single-letter variables\r\n* (test) `assertEqual(None, \u003cobj\u003e)` -\u003e `assertIsNone(\u003cobj\u003e)`\r\n* (test) `assertNotEqual(None, \u003cobj\u003e)` -\u003e `assertIsNotNone(\u003cobj\u003e)`"
    },
    {
      "commit": "ae73312942d3cf0e98f097dfbb40f136c2a7c463",
      "tree": "5654a61211208c5bedb4b8e32e44f99a7e8d8de1",
      "parents": [
        "7b364c2b5809d4e23a2cc628208bb4977cd395d5",
        "b306c63f2d626a4b564f413818bd5f8afd74d226"
      ],
      "author": {
        "name": "Nathaniel Manista",
        "email": "nathaniel@google.com",
        "time": "Thu Jul 28 18:50:44 2016"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Jul 28 18:50:44 2016"
      },
      "message": "Merge pull request #575 from jonparrott/cut-3.0.0\n\nRelease 3.0.0."
    },
    {
      "commit": "b306c63f2d626a4b564f413818bd5f8afd74d226",
      "tree": "5654a61211208c5bedb4b8e32e44f99a7e8d8de1",
      "parents": [
        "c12eabbe503e1716f55fbfad004aaa14ca1f5ae0"
      ],
      "author": {
        "name": "Jon Wayne Parrott",
        "email": "jonwayne@google.com",
        "time": "Thu Jul 28 17:41:41 2016"
      },
      "committer": {
        "name": "Jon Wayne Parrott",
        "email": "jonwayne@google.com",
        "time": "Thu Jul 28 17:41:41 2016"
      },
      "message": "Update changelog for v3.0.0\n"
    },
    {
      "commit": "c12eabbe503e1716f55fbfad004aaa14ca1f5ae0",
      "tree": "afc5a5a6cd2a89756b8a27aacb0d18f6724ba562",
      "parents": [
        "7b364c2b5809d4e23a2cc628208bb4977cd395d5"
      ],
      "author": {
        "name": "Jon Wayne Parrott",
        "email": "jonwayne@google.com",
        "time": "Thu Jul 28 17:41:24 2016"
      },
      "committer": {
        "name": "Jon Wayne Parrott",
        "email": "jonwayne@google.com",
        "time": "Thu Jul 28 17:41:24 2016"
      },
      "message": "Update version number to v3.0.0\n"
    },
    {
      "commit": "7b364c2b5809d4e23a2cc628208bb4977cd395d5",
      "tree": "13c7c7a8e5392332f2fdeb36cb3ee1fde73322ae",
      "parents": [
        "3ab7bbe63b50292a44fa2754a7fc6d25c2360241",
        "e9bcd2d9d779c462386f523ecc6419477d6fed2c"
      ],
      "author": {
        "name": "Nathaniel Manista",
        "email": "nathaniel@google.com",
        "time": "Wed Jul 27 22:43:22 2016"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Jul 27 22:43:22 2016"
      },
      "message": "Merge pull request #572 from jonparrott/auth-approval-prompt\n\nAdd warnings and helpers for prompt\u003d\u0027consent\u0027."
    },
    {
      "commit": "3ab7bbe63b50292a44fa2754a7fc6d25c2360241",
      "tree": "df1b8cd97149f50db58062381bf21fa224a16604",
      "parents": [
        "1e4a7d6b9527068d67f5f13b08932f9b75dcaea0",
        "6807d7d263118c5db30e5f692c6605cb2a849260"
      ],
      "author": {
        "name": "Nathaniel Manista",
        "email": "nathaniel@google.com",
        "time": "Wed Jul 27 22:42:06 2016"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Jul 27 22:42:06 2016"
      },
      "message": "Merge pull request #574 from jonparrott/warn-about-multistore-file\n\nAdd deprecation warning to multistore_file."
    },
    {
      "commit": "6807d7d263118c5db30e5f692c6605cb2a849260",
      "tree": "df1b8cd97149f50db58062381bf21fa224a16604",
      "parents": [
        "1e4a7d6b9527068d67f5f13b08932f9b75dcaea0"
      ],
      "author": {
        "name": "Jon Wayne Parrott",
        "email": "jonwayne@google.com",
        "time": "Wed Jul 27 22:18:39 2016"
      },
      "committer": {
        "name": "Jon Wayne Parrott",
        "email": "jonwayne@google.com",
        "time": "Wed Jul 27 22:18:39 2016"
      },
      "message": "Add deprecation warning to multistore_file.\n"
    },
    {
      "commit": "1e4a7d6b9527068d67f5f13b08932f9b75dcaea0",
      "tree": "1048f7e95b1fb4292edcfc765cb0976932227344",
      "parents": [
        "323e5fabd4bd7f7963e63bf62864abeae7c60bc4"
      ],
      "author": {
        "name": "Jon Wayne Parrott",
        "email": "jonwayne@google.com",
        "time": "Wed Jul 27 22:09:51 2016"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Jul 27 22:09:51 2016"
      },
      "message": "Fix system test reference to GOOGLE_TOKEN_URI. (#573)\n\n"
    },
    {
      "commit": "e9bcd2d9d779c462386f523ecc6419477d6fed2c",
      "tree": "059f69672be47200d197ff0c7322e339b91193b0",
      "parents": [
        "bb2386ea51b330765b7c44461465bdceb0be09b4"
      ],
      "author": {
        "name": "Jon Wayne Parrott",
        "email": "jonwayne@google.com",
        "time": "Wed Jul 27 21:17:39 2016"
      },
      "committer": {
        "name": "Jon Wayne Parrott",
        "email": "jonwayne@google.com",
        "time": "Wed Jul 27 21:54:17 2016"
      },
      "message": "Add warnings and helpers for prompt\u003d\u0027consent\u0027.\n"
    },
    {
      "commit": "323e5fabd4bd7f7963e63bf62864abeae7c60bc4",
      "tree": "3ea91cdc59b540f30345f64df09c9c51ebd73ba9",
      "parents": [
        "86bd966cf29eef94fe2ecb41ace3122eb539e152",
        "216c7c9407ffdc320a9225cee3b2315d086a2327"
      ],
      "author": {
        "name": "Nathaniel Manista",
        "email": "nathaniel@google.com",
        "time": "Wed Jul 27 21:02:05 2016"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Jul 27 21:02:05 2016"
      },
      "message": "Merge pull request #571 from jonparrott/fix-gce-timeout\n\nAdd configurable timeout for metadata server."
    },
    {
      "commit": "86bd966cf29eef94fe2ecb41ace3122eb539e152",
      "tree": "846e7242e7d0dfd138309ac39ce811c6c9a044d1",
      "parents": [
        "bb2386ea51b330765b7c44461465bdceb0be09b4",
        "2d270b0cf7e3cd9c513d185019edfa2f84503236"
      ],
      "author": {
        "name": "Nathaniel Manista",
        "email": "nathaniel@google.com",
        "time": "Wed Jul 27 20:59:28 2016"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Jul 27 20:59:28 2016"
      },
      "message": "Merge pull request #570 from jonparrott/fix-adc-order\n\nFix Application Default Credentials resolution order."
    },
    {
      "commit": "216c7c9407ffdc320a9225cee3b2315d086a2327",
      "tree": "8b07f136ad4f496caaef5feeeba4d69adbdc789f",
      "parents": [
        "bb2386ea51b330765b7c44461465bdceb0be09b4"
      ],
      "author": {
        "name": "Jon Wayne Parrott",
        "email": "jonwayne@google.com",
        "time": "Wed Jul 27 20:53:27 2016"
      },
      "committer": {
        "name": "Jon Wayne Parrott",
        "email": "jonwayne@google.com",
        "time": "Wed Jul 27 20:53:27 2016"
      },
      "message": "Add configurable timeout for metadata server.\n"
    },
    {
      "commit": "2d270b0cf7e3cd9c513d185019edfa2f84503236",
      "tree": "846e7242e7d0dfd138309ac39ce811c6c9a044d1",
      "parents": [
        "bb2386ea51b330765b7c44461465bdceb0be09b4"
      ],
      "author": {
        "name": "Jon Wayne Parrott",
        "email": "jonwayne@google.com",
        "time": "Wed Jul 27 20:44:02 2016"
      },
      "committer": {
        "name": "Jon Wayne Parrott",
        "email": "jonwayne@google.com",
        "time": "Wed Jul 27 20:44:02 2016"
      },
      "message": "Change Application Default Credentials resolution order.\n"
    },
    {
      "commit": "bb2386ea51b330765b7c44461465bdceb0be09b4",
      "tree": "f0ec338c1f685db7c11f82a78727075384519e46",
      "parents": [
        "25165adbc18101567ac0b75b086a072745b07f41",
        "f31e1e014fa9632fd5d71ccd03d19a14320c95d0"
      ],
      "author": {
        "name": "Nathaniel Manista",
        "email": "nathaniel@google.com",
        "time": "Wed Jul 27 19:12:12 2016"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Jul 27 19:12:12 2016"
      },
      "message": "Merge pull request #562 from pferate/import_refactor\n\nUpdate imports to only packages or modules."
    },
    {
      "commit": "f31e1e014fa9632fd5d71ccd03d19a14320c95d0",
      "tree": "f0ec338c1f685db7c11f82a78727075384519e46",
      "parents": [
        "25165adbc18101567ac0b75b086a072745b07f41"
      ],
      "author": {
        "name": "Pat Ferate",
        "email": "pferate+github@gmail.com",
        "time": "Thu Jul 21 21:42:27 2016"
      },
      "committer": {
        "name": "Pat Ferate",
        "email": "pferate+github@gmail.com",
        "time": "Wed Jul 27 18:41:18 2016"
      },
      "message": "Update imports to only Packages or Modules\n\nAlso cleaned up some nested attribute access."
    },
    {
      "commit": "25165adbc18101567ac0b75b086a072745b07f41",
      "tree": "828e1c431dc068628cc6f0347befe4ffd971fee6",
      "parents": [
        "3ba3c60b3eab5939c78d872362aef4e2052cc8b9"
      ],
      "author": {
        "name": "Bill Prin",
        "email": "waprin@gmail.com",
        "time": "Tue Jul 26 19:04:48 2016"
      },
      "committer": {
        "name": "Jon Wayne Parrott",
        "email": "jonwayne@google.com",
        "time": "Tue Jul 26 19:04:48 2016"
      },
      "message": "Refactor Django helpers (#546)\n\n* Move all Django code into contrib.django_util.\r\n* Add DjangORMStorage. This is backwards compatible with old django_orm storage.\r\n* Add new functionality to decorators and views that integrate with Django ORM-based storage.\r\n* Fix issue where Django storage always creates new Models.\r\n* Move tests into Django package and have them create an actual test app to create test databases etc.\r\n* Remove FlowField."
    },
    {
      "commit": "3ba3c60b3eab5939c78d872362aef4e2052cc8b9",
      "tree": "cc283b5845df240c79d8c5febe485fe2133fbc5e",
      "parents": [
        "a2a7c0f90899044c39dce17837ec929f3bb5ec3d"
      ],
      "author": {
        "name": "Jon Wayne Parrott",
        "email": "jonwayne@google.com",
        "time": "Mon Jul 25 23:58:04 2016"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Jul 25 23:58:04 2016"
      },
      "message": "Silence flask app logger during tests. (#566)\n\n"
    },
    {
      "commit": "a2a7c0f90899044c39dce17837ec929f3bb5ec3d",
      "tree": "19d18df04318d838d56671302a8da226a60b234d",
      "parents": [
        "2cf26816936c87c89692e8541fd08f7f4f33979d"
      ],
      "author": {
        "name": "Jon Wayne Parrott",
        "email": "jonwayne@google.com",
        "time": "Mon Jul 25 17:28:56 2016"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Jul 25 17:28:56 2016"
      },
      "message": "Add unittest2 dependency to gce-system-tests tox env. (#567)\n\n"
    },
    {
      "commit": "2cf26816936c87c89692e8541fd08f7f4f33979d",
      "tree": "1dab3ccf9af5cb525133d7bfc3361d4e5d2cbc73",
      "parents": [
        "9fd860dd4ff1910e9f96f729f1cdd3520e11ed16"
      ],
      "author": {
        "name": "Pat Ferate",
        "email": "pferate@users.noreply.github.com",
        "time": "Mon Jul 25 16:44:43 2016"
      },
      "committer": {
        "name": "Jon Wayne Parrott",
        "email": "jonwayne@google.com",
        "time": "Mon Jul 25 16:44:43 2016"
      },
      "message": "Fix `self.assertTrue(isinstance(` statements (#565)\n\nReplace self.assertTrue(isinstance()) with self.assertIsInstance()"
    },
    {
      "commit": "9fd860dd4ff1910e9f96f729f1cdd3520e11ed16",
      "tree": "c21b2d991d8742225bc010e6696ee38cccd37bc1",
      "parents": [
        "d16816051a864255b00cb00405b2cc871bbf9175"
      ],
      "author": {
        "name": "Pat Ferate",
        "email": "pferate@users.noreply.github.com",
        "time": "Fri Jul 22 20:22:45 2016"
      },
      "committer": {
        "name": "Jon Wayne Parrott",
        "email": "jonwayne@google.com",
        "time": "Fri Jul 22 20:22:45 2016"
      },
      "message": "Add tests to contrib modules to restore coverage to 100%\n\n"
    }
  ],
  "next": "d16816051a864255b00cb00405b2cc871bbf9175"
}
