)]}'
{
  "log": [
    {
      "commit": "010b4e399c04a199e7ca25995286f3db0337500d",
      "tree": "565f345158ad6e81fd977c10714cd4cb8d15a59d",
      "parents": [
        "e7f6e622047107e701ee70e7ec586717d97b0cbb"
      ],
      "author": {
        "name": "Joe Gregorio",
        "email": "joe@bitworking.org",
        "time": "Mon Apr 11 15:20:14 2016"
      },
      "committer": {
        "name": "Joe Gregorio",
        "email": "joe@bitworking.org",
        "time": "Mon Apr 11 15:20:14 2016"
      },
      "message": "Update README.md"
    },
    {
      "commit": "e7f6e622047107e701ee70e7ec586717d97b0cbb",
      "tree": "fbd75e88f8c41562bc08a855aa9755a9c1927495",
      "parents": [
        "eb7468561714a5b700d5a3d8fa1a8794de02b9ef"
      ],
      "author": {
        "name": "Joe Gregorio",
        "email": "jcgregorio@google.com",
        "time": "Tue Jan 26 20:13:27 2016"
      },
      "committer": {
        "name": "Joe Gregorio",
        "email": "jcgregorio@google.com",
        "time": "Tue Jan 26 20:13:27 2016"
      },
      "message": "stray raise\n"
    },
    {
      "commit": "eb7468561714a5b700d5a3d8fa1a8794de02b9ef",
      "tree": "cc01d59649b049b2f790e784110d1f815e6e1bf0",
      "parents": [
        "37060d2d3250622452cd6bec3614dfa70d730a75"
      ],
      "author": {
        "name": "Joe Gregorio",
        "email": "jcgregorio@google.com",
        "time": "Tue Jan 26 19:32:20 2016"
      },
      "committer": {
        "name": "Joe Gregorio",
        "email": "jcgregorio@google.com",
        "time": "Tue Jan 26 19:32:20 2016"
      },
      "message": "Restore a branch that was erroneously removed in a previous patch.\n"
    },
    {
      "commit": "37060d2d3250622452cd6bec3614dfa70d730a75",
      "tree": "3d663f3a2fbf35c474673a67f9bc34c5943ccd95",
      "parents": [
        "cf631a73e2f3f43897b65206127ced82382d35f5",
        "7fafaf244cf0a0ac8f56775f252138a97e84a940"
      ],
      "author": {
        "name": "Joe Gregorio",
        "email": "joe@bitworking.org",
        "time": "Tue Jan 05 12:38:46 2016"
      },
      "committer": {
        "name": "Joe Gregorio",
        "email": "joe@bitworking.org",
        "time": "Tue Jan 05 12:38:46 2016"
      },
      "message": "Merge pull request #322 from stephenR/master\n\nRemove VeriSign Class 3 CA from trusted certs"
    },
    {
      "commit": "7fafaf244cf0a0ac8f56775f252138a97e84a940",
      "tree": "3d663f3a2fbf35c474673a67f9bc34c5943ccd95",
      "parents": [
        "cf631a73e2f3f43897b65206127ced82382d35f5"
      ],
      "author": {
        "name": "Stephen Röttger",
        "email": "sroettger@google.com",
        "time": "Tue Jan 05 12:34:04 2016"
      },
      "committer": {
        "name": "Stephen Röttger",
        "email": "sroettger@google.com",
        "time": "Tue Jan 05 12:34:04 2016"
      },
      "message": "Remove VeriSign Class 3 CA from trusted certs\n\nRemoving the VeriSign Class 3 Public Primary Certification Authority\ncertificate since as of December 1, 2015, Symantec has decided that this\nroot will no longer comply with the CAB baseline requirements.\nFor more information, see:\nhttps://googleonlinesecurity.blogspot.com/2015/12/proactive-measures-in-digital.html\n"
    },
    {
      "commit": "cf631a73e2f3f43897b65206127ced82382d35f5",
      "tree": "9f567603a242b3cdd2988a092098a3ae649c8b77",
      "parents": [
        "d86146d57ba65a36700f14201fe724f320504a4e"
      ],
      "author": {
        "name": "Joe Gregorio",
        "email": "jcgregorio@google.com",
        "time": "Mon Sep 28 13:49:57 2015"
      },
      "committer": {
        "name": "Joe Gregorio",
        "email": "jcgregorio@google.com",
        "time": "Mon Sep 28 13:49:57 2015"
      },
      "message": "Release 0.9.2\n"
    },
    {
      "commit": "d86146d57ba65a36700f14201fe724f320504a4e",
      "tree": "6a958c8617769a02c87be748649af60d0f008690",
      "parents": [
        "f69fe23a71ac58bde912af87dabf3057c4cd3c76",
        "7ebbd4334d0a78b6b869729b7cbf19fd7ce98037"
      ],
      "author": {
        "name": "Joe Gregorio",
        "email": "joe@bitworking.org",
        "time": "Mon Sep 21 17:35:36 2015"
      },
      "committer": {
        "name": "Joe Gregorio",
        "email": "joe@bitworking.org",
        "time": "Mon Sep 21 17:35:36 2015"
      },
      "message": "Merge pull request #313 from ccstolley/master\n\nFix incorrect ResponseNotReady exceptions, retry on transient errors."
    },
    {
      "commit": "7ebbd4334d0a78b6b869729b7cbf19fd7ce98037",
      "tree": "6a958c8617769a02c87be748649af60d0f008690",
      "parents": [
        "f69fe23a71ac58bde912af87dabf3057c4cd3c76"
      ],
      "author": {
        "name": "Colin Stolley",
        "email": "colin@sproutsocial.com",
        "time": "Fri Sep 18 16:11:21 2015"
      },
      "committer": {
        "name": "Colin Stolley",
        "email": "colin@sproutsocial.com",
        "time": "Fri Sep 18 16:19:52 2015"
      },
      "message": "Fix incorrect ResponseNotReady exceptions, retry on transient errors.\n\nFor socket errors besides Connection Refused, the code will swallow the\nerror and fall through to a misleading \"ResponseNotReady\" exception. This\nis both incorrect and unhelpful. The code also does not retry on errors that\nare potentially transient, ie, Network Unreachable or Address Not Available.\n\nThis patch addresses both concerns by raising the socket error so\nthat application code can handle it appropriately, or retrying if\nthe socket error is transient.\n\nThis likely resolves Issue #284 .\n"
    },
    {
      "commit": "f69fe23a71ac58bde912af87dabf3057c4cd3c76",
      "tree": "400c754cd465e84640ccfabf45779f352feb7908",
      "parents": [
        "f9f797223d075874b0031aea832152688ec23fef",
        "8eac7f9e45fd05e81f8398de9a80d7b3e04a7d77"
      ],
      "author": {
        "name": "Joe Gregorio",
        "email": "joe@bitworking.org",
        "time": "Fri Jul 03 14:30:06 2015"
      },
      "committer": {
        "name": "Joe Gregorio",
        "email": "joe@bitworking.org",
        "time": "Fri Jul 03 14:30:06 2015"
      },
      "message": "Merge pull request #304 from davidsansome/readme-indentation\n\nMinor fixes to indentation in the README"
    },
    {
      "commit": "8eac7f9e45fd05e81f8398de9a80d7b3e04a7d77",
      "tree": "400c754cd465e84640ccfabf45779f352feb7908",
      "parents": [
        "f9f797223d075874b0031aea832152688ec23fef"
      ],
      "author": {
        "name": "David Sansome",
        "email": "me@davidsansome.com",
        "time": "Wed Jun 24 04:27:33 2015"
      },
      "committer": {
        "name": "David Sansome",
        "email": "me@davidsansome.com",
        "time": "Wed Jun 24 04:27:33 2015"
      },
      "message": "Minor fixes to indentation in the README\n"
    },
    {
      "commit": "f9f797223d075874b0031aea832152688ec23fef",
      "tree": "c9b70a4847fbc3283ac2efbabc150638d391d3dd",
      "parents": [
        "1af76a6fedf1eee462ac9b2bedfe44662f70f74e"
      ],
      "author": {
        "name": "Joe Gregorio",
        "email": "jcgregorio@google.com",
        "time": "Sat Apr 11 13:50:15 2015"
      },
      "committer": {
        "name": "Joe Gregorio",
        "email": "jcgregorio@google.com",
        "time": "Sat Apr 11 13:50:15 2015"
      },
      "message": "0.9.1 Release changes.\n"
    },
    {
      "commit": "1af76a6fedf1eee462ac9b2bedfe44662f70f74e",
      "tree": "0132eb60e214a87866f13a2ba48f0184369f465f",
      "parents": [
        "71a3b7b206395564c1923e24f9da4b200b30d44e"
      ],
      "author": {
        "name": "Joe Gregorio",
        "email": "jcgregorio@google.com",
        "time": "Thu Apr 09 14:10:39 2015"
      },
      "committer": {
        "name": "Joe Gregorio",
        "email": "jcgregorio@google.com",
        "time": "Thu Apr 09 14:10:39 2015"
      },
      "message": "Update CHANGELOG for 0.9.1 release\n"
    },
    {
      "commit": "71a3b7b206395564c1923e24f9da4b200b30d44e",
      "tree": "7fcc9bd1a86db18b81645657585f01606edb388a",
      "parents": [
        "df1cca48b204fc20fde1e49d7ad763394b01d931",
        "1cf37bd8f5ddc8ac629b07031f7c5341840b5b7e"
      ],
      "author": {
        "name": "Joe Gregorio",
        "email": "joe@bitworking.org",
        "time": "Tue Mar 03 13:15:04 2015"
      },
      "committer": {
        "name": "Joe Gregorio",
        "email": "joe@bitworking.org",
        "time": "Tue Mar 03 13:15:04 2015"
      },
      "message": "Merge pull request #296 from cganterh/master\n\nThere was a problem with headers when a binary string is passed (like b\u0027Authorization\u0027)."
    },
    {
      "commit": "1cf37bd8f5ddc8ac629b07031f7c5341840b5b7e",
      "tree": "7fcc9bd1a86db18b81645657585f01606edb388a",
      "parents": [
        "93ba12c7d7483af5374ba5f0e62a46ddc5e1ffe2"
      ],
      "author": {
        "name": "Cristobal",
        "email": "cganterh@gmail.com",
        "time": "Tue Mar 03 00:00:03 2015"
      },
      "committer": {
        "name": "Cristobal",
        "email": "cganterh@gmail.com",
        "time": "Tue Mar 03 00:00:03 2015"
      },
      "message": "Added unit test for _convert_byte_str in python3/httplib2test.py.\n"
    },
    {
      "commit": "93ba12c7d7483af5374ba5f0e62a46ddc5e1ffe2",
      "tree": "6c3a1b950eeb7354bffe47310cb74f7e2b6aca7b",
      "parents": [
        "df1cca48b204fc20fde1e49d7ad763394b01d931"
      ],
      "author": {
        "name": "i026e",
        "email": "klev.paul@gmail.com",
        "time": "Wed Dec 17 08:25:07 2014"
      },
      "committer": {
        "name": "i026e",
        "email": "klev.paul@gmail.com",
        "time": "Wed Dec 17 08:25:07 2014"
      },
      "message": "Update __init__.py\n\nThere is a problem with headers when a binary string is passed (like b\u0027Authorization\u0027)\r\nI\u0027ve added a function to decode such strings.\r\nIt is not an elegant solution, but it works for me"
    },
    {
      "commit": "df1cca48b204fc20fde1e49d7ad763394b01d931",
      "tree": "1147e1330f7d432ac7e7ac018b83147acb85ad45",
      "parents": [
        "7d1b88a3cf34774242bf4c0578c09c0092bb05d8",
        "e79528290bb60929f0b6a662c5832e9bd59c0dfb"
      ],
      "author": {
        "name": "Joe Gregorio",
        "email": "joe@bitworking.org",
        "time": "Mon Jul 14 11:45:43 2014"
      },
      "committer": {
        "name": "Joe Gregorio",
        "email": "joe@bitworking.org",
        "time": "Mon Jul 14 11:45:43 2014"
      },
      "message": "Merge pull request #276 from micolous/master\n\nDefault to doing DNS resolution through a proxy server if present."
    },
    {
      "commit": "e79528290bb60929f0b6a662c5832e9bd59c0dfb",
      "tree": "1147e1330f7d432ac7e7ac018b83147acb85ad45",
      "parents": [
        "7d1b88a3cf34774242bf4c0578c09c0092bb05d8"
      ],
      "author": {
        "name": "Michael Farrell",
        "email": "micolous@gmail.com",
        "time": "Mon Jul 14 01:54:19 2014"
      },
      "committer": {
        "name": "Michael Farrell",
        "email": "micolous@gmail.com",
        "time": "Mon Jul 14 01:57:20 2014"
      },
      "message": "Default to doing DNS resolution through a proxy server if present.\n\n- Resolve an issue where proxy information by default was not resolving DNS\n  through a proxy server (unlike the `socks` library), so users getting\n  proxy information from an environment variable (HTTP_PROXY/HTTPS_PROXY)\n  with no external DNS could not connect to hosts with DNS names.\n\n- Resolve a potential issue where if the proxy server was a different\n  address family to the destination host and there was functional DNS, may\n  not work.  For example, using a IPv4-only proxy server to connect to an\n  IPv6-only host via an IPv4-only internal network.\n\n- Improved documentation of the ProxyInfo class.\n"
    },
    {
      "commit": "7d1b88a3cf34774242bf4c0578c09c0092bb05d8",
      "tree": "3344e8f5b546f1b1bb37e839e08003ad4174c563",
      "parents": [
        "058a1f9448d5c27c23772796f83a596caf9188e6"
      ],
      "author": {
        "name": "Joe Gregorio",
        "email": "joe@bitworking.org",
        "time": "Sat May 03 13:27:54 2014"
      },
      "committer": {
        "name": "Joe Gregorio",
        "email": "joe@bitworking.org",
        "time": "Sat May 03 13:27:54 2014"
      },
      "message": "Create LICENSE"
    },
    {
      "commit": "058a1f9448d5c27c23772796f83a596caf9188e6",
      "tree": "07d0d4d3c5d33e357682721def07014e24e730ff",
      "parents": [
        "dfb0d4af883df6deb9e8fb707f688d11c43b07d9",
        "c7656eb1158e87ea97e536fb19efeaef6e6e2bbe"
      ],
      "author": {
        "name": "Joe Gregorio",
        "email": "joe@bitworking.org",
        "time": "Tue Apr 15 12:53:06 2014"
      },
      "committer": {
        "name": "Joe Gregorio",
        "email": "joe@bitworking.org",
        "time": "Tue Apr 15 12:53:06 2014"
      },
      "message": "Merge pull request #267 from jone/master\n\nsetup.py: remove download URL, update project URL"
    },
    {
      "commit": "c7656eb1158e87ea97e536fb19efeaef6e6e2bbe",
      "tree": "07d0d4d3c5d33e357682721def07014e24e730ff",
      "parents": [
        "dfb0d4af883df6deb9e8fb707f688d11c43b07d9"
      ],
      "author": {
        "name": "Jonas Baumann",
        "email": "jone@jone.ch",
        "time": "Tue Apr 15 12:02:03 2014"
      },
      "committer": {
        "name": "Jonas Baumann",
        "email": "jone@jone.ch",
        "time": "Tue Apr 15 12:02:03 2014"
      },
      "message": "setup.py: remove download URL, update project URL\n\nThe project was moved from googlecode to github.\r\nBecause of the move the downloads are now longer available, thus the download_url is invalid."
    },
    {
      "commit": "dfb0d4af883df6deb9e8fb707f688d11c43b07d9",
      "tree": "c2aa270260df1b7a4244f847ffc6aa809d1b8752",
      "parents": [
        "84fd089eecc8a5db1ce5f19b6e6dbc24f1b62b6d"
      ],
      "author": {
        "name": "Joe Gregorio",
        "email": "jcgregorio@google.com",
        "time": "Mon Apr 14 14:13:02 2014"
      },
      "committer": {
        "name": "Joe Gregorio",
        "email": "jcgregorio@google.com",
        "time": "Mon Apr 14 14:13:02 2014"
      },
      "message": "Fix Makefile for rename of README to README.md\n"
    },
    {
      "commit": "84fd089eecc8a5db1ce5f19b6e6dbc24f1b62b6d",
      "tree": "f08bb95e16e7e69a19099be927c5d4003a256755",
      "parents": [
        "0197ec868a4fc638c08358b94200ffd6ddb1bf50"
      ],
      "author": {
        "name": "Joe Gregorio",
        "email": "jcgregorio@google.com",
        "time": "Mon Apr 14 12:51:31 2014"
      },
      "committer": {
        "name": "Joe Gregorio",
        "email": "jcgregorio@google.com",
        "time": "Mon Apr 14 12:51:31 2014"
      },
      "message": "Release 0.9. The heartbleed release.\n"
    },
    {
      "commit": "0197ec868a4fc638c08358b94200ffd6ddb1bf50",
      "tree": "f7ef2a96317f70d2182994e1be9e99637efa10a0",
      "parents": [
        "f3d6c01faa5b05b5528ee973208b39b8ca12bc41"
      ],
      "author": {
        "name": "Joe Gregorio",
        "email": "jcgregorio@google.com",
        "time": "Thu Mar 06 19:56:29 2014"
      },
      "committer": {
        "name": "Joe Gregorio",
        "email": "jcgregorio@google.com",
        "time": "Thu Mar 06 19:56:29 2014"
      },
      "message": "Add an updated cacerts.txt file and fix some tests.\nTurns out nginx doesn\u0027t support etags on gzip\u0027d content.\n"
    },
    {
      "commit": "f3d6c01faa5b05b5528ee973208b39b8ca12bc41",
      "tree": "d6f4c6045e85a95145b29e9e8d17f4bbb0c2f459",
      "parents": [
        "f09a96284e1f522022a6b4758ad67d566bc0d671",
        "9e1c4e5e56009e4c08ff446b30ec3f6b55fd4a03"
      ],
      "author": {
        "name": "Joe Gregorio",
        "email": "joe@bitworking.org",
        "time": "Fri Feb 14 15:24:29 2014"
      },
      "committer": {
        "name": "Joe Gregorio",
        "email": "joe@bitworking.org",
        "time": "Fri Feb 14 15:24:29 2014"
      },
      "message": "Merge pull request #259 from snarfed/master\n\nUse socket.getdefaulttimeout() on App Engine as well as off, take 2: set the timeout for clients that passed deadline\u003dNone explicitly."
    },
    {
      "commit": "9e1c4e5e56009e4c08ff446b30ec3f6b55fd4a03",
      "tree": "d6f4c6045e85a95145b29e9e8d17f4bbb0c2f459",
      "parents": [
        "3118243f371f56ba5b6cf9d7dfcea09c98daa573"
      ],
      "author": {
        "name": "Ryan Barrett",
        "email": "git@ryanb.org",
        "time": "Thu Feb 13 06:50:38 2014"
      },
      "committer": {
        "name": "Ryan Barrett",
        "email": "git@ryanb.org",
        "time": "Thu Feb 13 06:50:38 2014"
      },
      "message": "use socket.getdefaulttimeout() on App Engine as well as off, take 2\n\nthe first attempt (3118243f371f56ba5b6cf9d7dfcea09c98daa573) wouldn\u0027t set the timeout for clients that passed deadline\u003dNone explicitly, which App Engine\u0027s httplib often does. this fixes that.\n"
    },
    {
      "commit": "f09a96284e1f522022a6b4758ad67d566bc0d671",
      "tree": "c1b121e979181c7c8b1cfb1bf1744bac1c50ced5",
      "parents": [
        "1c31470b54162320ba2628fc45ff9dd9f9738df1",
        "3118243f371f56ba5b6cf9d7dfcea09c98daa573"
      ],
      "author": {
        "name": "Joe Gregorio",
        "email": "joe@bitworking.org",
        "time": "Wed Feb 12 19:32:39 2014"
      },
      "committer": {
        "name": "Joe Gregorio",
        "email": "joe@bitworking.org",
        "time": "Wed Feb 12 19:32:39 2014"
      },
      "message": "Merge pull request #258 from snarfed/master\n\nUse socket.getdefaulttimeout() on App Engine also."
    },
    {
      "commit": "3118243f371f56ba5b6cf9d7dfcea09c98daa573",
      "tree": "c1b121e979181c7c8b1cfb1bf1744bac1c50ced5",
      "parents": [
        "1c31470b54162320ba2628fc45ff9dd9f9738df1"
      ],
      "author": {
        "name": "Ryan Barrett",
        "email": "git@ryanb.org",
        "time": "Wed Feb 12 08:07:46 2014"
      },
      "committer": {
        "name": "Ryan Barrett",
        "email": "git@ryanb.org",
        "time": "Wed Feb 12 08:07:46 2014"
      },
      "message": "use socket.getdefaulttimeout() on App Engine as well as off\n"
    },
    {
      "commit": "1c31470b54162320ba2628fc45ff9dd9f9738df1",
      "tree": "68e4007eabe6330173862e313fdc40a8c10a7102",
      "parents": [
        "5277a0e650abc6d9640fedc300f7c58007edb050"
      ],
      "author": {
        "name": "Joe Gregorio",
        "email": "joe@bitworking.org",
        "time": "Thu Feb 06 16:04:16 2014"
      },
      "committer": {
        "name": "Joe Gregorio",
        "email": "joe@bitworking.org",
        "time": "Thu Feb 06 16:04:16 2014"
      },
      "message": "Update README.md"
    },
    {
      "commit": "5277a0e650abc6d9640fedc300f7c58007edb050",
      "tree": "42b7f2e9ee0cd8e65b0eed1e873787b00bb6df05",
      "parents": [
        "a461c21f22a45c30feceaba28cfdb38947031480"
      ],
      "author": {
        "name": "Joe Gregorio",
        "email": "jcgregorio@google.com",
        "time": "Thu Feb 06 15:58:29 2014"
      },
      "committer": {
        "name": "Joe Gregorio",
        "email": "jcgregorio@google.com",
        "time": "Thu Feb 06 15:58:29 2014"
      },
      "message": "whitespace fix\n"
    },
    {
      "commit": "a461c21f22a45c30feceaba28cfdb38947031480",
      "tree": "904d43dd451918388208b9c196a403f84aba6a66",
      "parents": [
        "54ce6178b49faf25f903abafdc8e1b84385e09a9"
      ],
      "author": {
        "name": "Joe Gregorio",
        "email": "jcgregorio@google.com",
        "time": "Thu Feb 06 15:53:45 2014"
      },
      "committer": {
        "name": "Joe Gregorio",
        "email": "jcgregorio@google.com",
        "time": "Thu Feb 06 15:53:45 2014"
      },
      "message": "Remove redundant README\n"
    },
    {
      "commit": "54ce6178b49faf25f903abafdc8e1b84385e09a9",
      "tree": "e82c6e2c787d01bd17f6b686ec33a989782c9188",
      "parents": [
        "13988a8207e1e7cefd98a75bd1946016c3744604"
      ],
      "author": {
        "name": "Joe Gregorio",
        "email": "jcgregorio@google.com",
        "time": "Thu Feb 06 15:53:01 2014"
      },
      "committer": {
        "name": "Joe Gregorio",
        "email": "jcgregorio@google.com",
        "time": "Thu Feb 06 15:53:01 2014"
      },
      "message": "Remove unused files.\n"
    },
    {
      "commit": "13988a8207e1e7cefd98a75bd1946016c3744604",
      "tree": "a51f106021e3c0ba8e49415af6dc2d2a3016d7d3",
      "parents": [
        "cf958f3cf3f52c752dbc4fe343127df249b66093"
      ],
      "author": {
        "name": "Joe Gregorio",
        "email": "joe@bitworking.org",
        "time": "Thu Feb 06 15:51:32 2014"
      },
      "committer": {
        "name": "Joe Gregorio",
        "email": "joe@bitworking.org",
        "time": "Thu Feb 06 15:51:32 2014"
      },
      "message": "Update README.md"
    },
    {
      "commit": "cf958f3cf3f52c752dbc4fe343127df249b66093",
      "tree": "65d2a4241f8480ca0fa2577d6d73f04e01263d59",
      "parents": [
        "eabfa54b223efb06881c2268bd68776ee286a47e",
        "aca2be6e1b387e9720ad960ef1f2bb3b5f5d745c"
      ],
      "author": {
        "name": "Joe Gregorio",
        "email": "jcgregorio@google.com",
        "time": "Wed Feb 05 21:07:15 2014"
      },
      "committer": {
        "name": "Joe Gregorio",
        "email": "jcgregorio@google.com",
        "time": "Wed Feb 05 21:07:15 2014"
      },
      "message": "Merge ../httplib2.current\n\nMerge to HEAD of the mercurial tree hopefully for the last time.\n"
    },
    {
      "commit": "eabfa54b223efb06881c2268bd68776ee286a47e",
      "tree": "0ca4be2327aba74a1ebab2358200e4feece8c9a5",
      "parents": [
        "09d237e2782d6b5462f9989acda96ab75b48789b"
      ],
      "author": {
        "name": "Joe Gregorio",
        "email": "joe@bitworking.org",
        "time": "Sun Oct 13 01:40:09 2013"
      },
      "committer": {
        "name": "Joe Gregorio",
        "email": "joe@bitworking.org",
        "time": "Sun Oct 13 01:40:09 2013"
      },
      "message": "Update README.md"
    },
    {
      "commit": "09d237e2782d6b5462f9989acda96ab75b48789b",
      "tree": "6447a32360bca1ad53cf5a18495ada6c22cec714",
      "parents": [
        "01c687f847ec51ad9c0948905c23060ac605f0d8"
      ],
      "author": {
        "name": "Joe Gregorio",
        "email": "joe@bitworking.org",
        "time": "Sun Oct 13 01:39:30 2013"
      },
      "committer": {
        "name": "Joe Gregorio",
        "email": "joe@bitworking.org",
        "time": "Sun Oct 13 01:39:30 2013"
      },
      "message": "Last fixed for markdown."
    },
    {
      "commit": "01c687f847ec51ad9c0948905c23060ac605f0d8",
      "tree": "a7dcc6ee7a2fa285cc451fb1850a5f94d7e009c8",
      "parents": [
        "21839518b961a1b8f0525032178e785f6662b9f3"
      ],
      "author": {
        "name": "Joe Gregorio",
        "email": "joe@bitworking.org",
        "time": "Sun Oct 13 01:35:06 2013"
      },
      "committer": {
        "name": "Joe Gregorio",
        "email": "joe@bitworking.org",
        "time": "Sun Oct 13 01:35:06 2013"
      },
      "message": "Update README.md"
    },
    {
      "commit": "21839518b961a1b8f0525032178e785f6662b9f3",
      "tree": "9799e2ed0bc247eb2efc0e3c0f5d6c207f9826ff",
      "parents": [
        "c4a85f679a48057fff30918710959bb4718e214f"
      ],
      "author": {
        "name": "Joe Gregorio",
        "email": "joe@bitworking.org",
        "time": "Sun Oct 13 01:34:33 2013"
      },
      "committer": {
        "name": "Joe Gregorio",
        "email": "joe@bitworking.org",
        "time": "Sun Oct 13 01:34:33 2013"
      },
      "message": "Markdown fixes."
    },
    {
      "commit": "c4a85f679a48057fff30918710959bb4718e214f",
      "tree": "12ac77cf0fbf6a48a123ac760a35e5b30f53ce2f",
      "parents": [
        "df8bfce22cc07127164235da2850c3c5b0caae3f"
      ],
      "author": {
        "name": "Joe Gregorio",
        "email": "joe@bitworking.org",
        "time": "Sun Oct 13 01:33:50 2013"
      },
      "committer": {
        "name": "Joe Gregorio",
        "email": "joe@bitworking.org",
        "time": "Sun Oct 13 01:33:50 2013"
      },
      "message": "Moving README over to README.md"
    },
    {
      "commit": "aca2be6e1b387e9720ad960ef1f2bb3b5f5d745c",
      "tree": "8c2ecfeb1e3823429ff80167e5e153caf0c1f95e",
      "parents": [
        "1d3a7099b0e8b9a2dc62e59bf9c3deac55087ac6"
      ],
      "author": {
        "name": "Joe Gregorio",
        "email": "jcgregorio@google.com",
        "time": "Tue Mar 26 18:17:48 2013"
      },
      "committer": {
        "name": "Joe Gregorio",
        "email": "jcgregorio@google.com",
        "time": "Tue Mar 26 18:17:48 2013"
      },
      "message": "Pass method by name, not positionally.\nFixes issue #252.\nReviewed in https://codereview.appspot.com/7987046/.\n"
    },
    {
      "commit": "1d3a7099b0e8b9a2dc62e59bf9c3deac55087ac6",
      "tree": "0ba55d7e7aa7e064edf1b75487c5645ff669a93d",
      "parents": [
        "fdfd04a15a6d1ef9212df009cd252d49cf41e94e"
      ],
      "author": {
        "name": "Joe Gregorio",
        "email": "jcgregorio@google.com",
        "time": "Fri Mar 08 19:14:56 2013"
      },
      "committer": {
        "name": "Joe Gregorio",
        "email": "jcgregorio@google.com",
        "time": "Fri Mar 08 19:14:56 2013"
      },
      "message": "Fix handling of BadStatusLine.\nFixes issue #250.\nReview in https://codereview.appspot.com/7529045/.\n"
    },
    {
      "commit": "fdfd04a15a6d1ef9212df009cd252d49cf41e94e",
      "tree": "7c7ce1e2df043d8cae365b05ed19225cb9d5b178",
      "parents": [
        "9e2e0a2513cbfd092fc01b6667975113eeca2874"
      ],
      "author": {
        "name": "Joe Gregorio",
        "email": "jcgregorio@google.com",
        "time": "Wed Mar 06 20:36:48 2013"
      },
      "committer": {
        "name": "Joe Gregorio",
        "email": "jcgregorio@google.com",
        "time": "Wed Mar 06 20:36:48 2013"
      },
      "message": "Clean up tags\n"
    },
    {
      "commit": "9e2e0a2513cbfd092fc01b6667975113eeca2874",
      "tree": "7c7ce1e2df043d8cae365b05ed19225cb9d5b178",
      "parents": [
        "ee9ee3c700748e98f6d473f4c9a1da8fd55fc099"
      ],
      "author": {
        "name": "Joe Gregorio",
        "email": "jcgregorio@google.com",
        "time": "Wed Mar 06 20:31:22 2013"
      },
      "committer": {
        "name": "Joe Gregorio",
        "email": "jcgregorio@google.com",
        "time": "Wed Mar 06 20:31:22 2013"
      },
      "message": "Added tag 0.8 for changeset 427a4ff7b7e4\n"
    },
    {
      "commit": "ee9ee3c700748e98f6d473f4c9a1da8fd55fc099",
      "tree": "7c7ce1e2df043d8cae365b05ed19225cb9d5b178",
      "parents": [
        "85cbb404f5813ed64cda9849305412fed078f45e"
      ],
      "author": {
        "name": "Joe Gregorio",
        "email": "jcgregorio@google.com",
        "time": "Wed Mar 06 20:31:15 2013"
      },
      "committer": {
        "name": "Joe Gregorio",
        "email": "jcgregorio@google.com",
        "time": "Wed Mar 06 20:31:15 2013"
      },
      "message": "0.8 release\n"
    },
    {
      "commit": "85cbb404f5813ed64cda9849305412fed078f45e",
      "tree": "30d380b412467b6f94ad2d72d085669bca1507aa",
      "parents": [
        "4eed8a16d8fb223e355f209b70e741c40e94868a"
      ],
      "author": {
        "name": "Joe Gregorio",
        "email": "jcgregorio@google.com",
        "time": "Wed Mar 06 20:30:12 2013"
      },
      "committer": {
        "name": "Joe Gregorio",
        "email": "jcgregorio@google.com",
        "time": "Wed Mar 06 20:30:12 2013"
      },
      "message": "Added tag 0.8 for changeset a645d22abfd0\n"
    },
    {
      "commit": "4eed8a16d8fb223e355f209b70e741c40e94868a",
      "tree": "30d380b412467b6f94ad2d72d085669bca1507aa",
      "parents": [
        "7f66933e8852c062175d1b4f871206d642e9db72"
      ],
      "author": {
        "name": "Joe Gregorio",
        "email": "jcgregorio@google.com",
        "time": "Mon Mar 04 01:29:45 2013"
      },
      "committer": {
        "name": "Joe Gregorio",
        "email": "jcgregorio@google.com",
        "time": "Mon Mar 04 01:29:45 2013"
      },
      "message": "Catch an edge case in imports.\n\nReviewed in https://codereview.appspot.com/7454047/.\n"
    },
    {
      "commit": "7f66933e8852c062175d1b4f871206d642e9db72",
      "tree": "34a78adc9a6dedcdc3b8e3bcaa37da473c21dd5c",
      "parents": [
        "d071e945eba513a2860b55bd6787359fbdb0db79"
      ],
      "author": {
        "name": "Joe Gregorio",
        "email": "jcgregorio@google.com",
        "time": "Wed Feb 27 18:40:12 2013"
      },
      "committer": {
        "name": "Joe Gregorio",
        "email": "jcgregorio@google.com",
        "time": "Wed Feb 27 18:40:12 2013"
      },
      "message": "Fix App Engine headers.\nReviewed in https://codereview.appspot.com/7402063/.\n"
    },
    {
      "commit": "df8bfce22cc07127164235da2850c3c5b0caae3f",
      "tree": "d2b3ccc2bed7f92f2c25f23ba0d60b55a8188f82",
      "parents": [
        "b77740e9e1d59c22320234c0bb71db5521e13ffb"
      ],
      "author": {
        "name": "Joe Gregorio",
        "email": "joe.gregorio@gmail.com",
        "time": "Wed Feb 27 03:26:07 2013"
      },
      "committer": {
        "name": "Joe Gregorio",
        "email": "joe.gregorio@gmail.com",
        "time": "Wed Feb 27 03:26:07 2013"
      },
      "message": "Have git and mercurial ignore each others files.\n"
    },
    {
      "commit": "d071e945eba513a2860b55bd6787359fbdb0db79",
      "tree": "1ff56d67d460b3c0817379ad265e9f47aeea7724",
      "parents": [
        "f7ed34ee0babe65b152f5672d2c4b56dbb14d180"
      ],
      "author": {
        "name": "Joe Gregorio",
        "email": "jcgregorio@google.com",
        "time": "Mon Feb 25 21:21:24 2013"
      },
      "committer": {
        "name": "Joe Gregorio",
        "email": "jcgregorio@google.com",
        "time": "Mon Feb 25 21:21:24 2013"
      },
      "message": "Make code slightly more portable.\nRevewed in https://codereview.appspot.com/7406049/.\n"
    },
    {
      "commit": "b77740e9e1d59c22320234c0bb71db5521e13ffb",
      "tree": "1ff56d67d460b3c0817379ad265e9f47aeea7724",
      "parents": [
        "c67ce1bce4c45ba9c780a9ce05a598549af03b2a"
      ],
      "author": {
        "name": "Joe Gregorio",
        "email": "jcgregorio@google.com",
        "time": "Mon Feb 25 21:21:24 2013"
      },
      "committer": {
        "name": "Joe Gregorio",
        "email": "jcgregorio@google.com",
        "time": "Mon Feb 25 21:21:24 2013"
      },
      "message": "Make code slightly more portable.\nRevewed in https://codereview.appspot.com/7406049/.\n"
    },
    {
      "commit": "f7ed34ee0babe65b152f5672d2c4b56dbb14d180",
      "tree": "6d930a54c02fd14b99bd807336515802fe6e2141",
      "parents": [
        "c5eeb4ba895fa22d6cf189beec99a0cd40fed2e3"
      ],
      "author": {
        "name": "Joe Gregorio",
        "email": "jcgregorio@google.com",
        "time": "Mon Feb 25 16:08:24 2013"
      },
      "committer": {
        "name": "Joe Gregorio",
        "email": "jcgregorio@google.com",
        "time": "Mon Feb 25 16:08:24 2013"
      },
      "message": "Make indents consistent with PEP8.\n\nReviewed in https://codereview.appspot.com/7314118/.\n"
    },
    {
      "commit": "c67ce1bce4c45ba9c780a9ce05a598549af03b2a",
      "tree": "6d930a54c02fd14b99bd807336515802fe6e2141",
      "parents": [
        "a6ef65ed93cedb2208e172b10f309b864ca013e6"
      ],
      "author": {
        "name": "Joe Gregorio",
        "email": "jcgregorio@google.com",
        "time": "Mon Feb 25 16:08:24 2013"
      },
      "committer": {
        "name": "Joe Gregorio",
        "email": "jcgregorio@google.com",
        "time": "Mon Feb 25 16:08:24 2013"
      },
      "message": "Make indents consistent with PEP8.\n\nReviewed in https://codereview.appspot.com/7314118/.\n"
    },
    {
      "commit": "c5eeb4ba895fa22d6cf189beec99a0cd40fed2e3",
      "tree": "6f76bcece961ef56a2820351d03f69517cde509e",
      "parents": [
        "ffc3d54f917aa2c07bdb0fcd2e51e217c6dbfbcb"
      ],
      "author": {
        "name": "Joe Gregorio",
        "email": "jcgregorio@google.com",
        "time": "Mon Feb 25 15:16:08 2013"
      },
      "committer": {
        "name": "Joe Gregorio",
        "email": "jcgregorio@google.com",
        "time": "Mon Feb 25 15:16:08 2013"
      },
      "message": "Add missing conn.close().\n\nReviewed in https://codereview.appspot.com/7384055/.\n"
    },
    {
      "commit": "a6ef65ed93cedb2208e172b10f309b864ca013e6",
      "tree": "6f76bcece961ef56a2820351d03f69517cde509e",
      "parents": [
        "2676371c9effe05169ed590d92f4692b712bd2a4"
      ],
      "author": {
        "name": "Joe Gregorio",
        "email": "jcgregorio@google.com",
        "time": "Mon Feb 25 15:16:08 2013"
      },
      "committer": {
        "name": "Joe Gregorio",
        "email": "jcgregorio@google.com",
        "time": "Mon Feb 25 15:16:08 2013"
      },
      "message": "Add missing conn.close().\n\nReviewed in https://codereview.appspot.com/7384055/.\n"
    },
    {
      "commit": "ffc3d54f917aa2c07bdb0fcd2e51e217c6dbfbcb",
      "tree": "d92b53f7bcd8d286416a41c73c40448a28d67693",
      "parents": [
        "f35aafc453b09e9331d2d12fc982a7cbed35727d"
      ],
      "author": {
        "name": "Joe Gregorio",
        "email": "jcgregorio@google.com",
        "time": "Tue Feb 19 20:57:37 2013"
      },
      "committer": {
        "name": "Joe Gregorio",
        "email": "jcgregorio@google.com",
        "time": "Tue Feb 19 20:57:37 2013"
      },
      "message": "Fix all whitespace issues. Patch from dhermes@google.com.\n"
    },
    {
      "commit": "2676371c9effe05169ed590d92f4692b712bd2a4",
      "tree": "d92b53f7bcd8d286416a41c73c40448a28d67693",
      "parents": [
        "fe22a15a355f502ecdae302f428685eb4708bda4"
      ],
      "author": {
        "name": "Joe Gregorio",
        "email": "jcgregorio@google.com",
        "time": "Tue Feb 19 20:57:37 2013"
      },
      "committer": {
        "name": "Joe Gregorio",
        "email": "jcgregorio@google.com",
        "time": "Tue Feb 19 20:57:37 2013"
      },
      "message": "Fix all whitespace issues. Patch from dhermes@google.com.\n"
    },
    {
      "commit": "f35aafc453b09e9331d2d12fc982a7cbed35727d",
      "tree": "e1776db4e938b4c42fbe3d8482378a8bbff356a1",
      "parents": [
        "7642017bce45fe9273ca715b77ae1220b6e9c89f"
      ],
      "author": {
        "name": "Joe Gregorio",
        "email": "jcgregorio@google.com",
        "time": "Wed Dec 26 13:57:14 2012"
      },
      "committer": {
        "name": "Joe Gregorio",
        "email": "jcgregorio@google.com",
        "time": "Wed Dec 26 13:57:14 2012"
      },
      "message": "Change the App Engine specific connection objects to be subclasses\nof the httplib ones, which gives better behavior on App Engine.\n"
    },
    {
      "commit": "fe22a15a355f502ecdae302f428685eb4708bda4",
      "tree": "e1776db4e938b4c42fbe3d8482378a8bbff356a1",
      "parents": [
        "21fef11a21151bb39832906a9c05ed8514d14a61"
      ],
      "author": {
        "name": "Joe Gregorio",
        "email": "jcgregorio@google.com",
        "time": "Wed Dec 26 13:57:14 2012"
      },
      "committer": {
        "name": "Joe Gregorio",
        "email": "jcgregorio@google.com",
        "time": "Wed Dec 26 13:57:14 2012"
      },
      "message": "Change the App Engine specific connection objects to be subclasses\nof the httplib ones, which gives better behavior on App Engine.\n"
    },
    {
      "commit": "7642017bce45fe9273ca715b77ae1220b6e9c89f",
      "tree": "5b1fa99910b038b11a279dfd379233b4c7ca20dc",
      "parents": [
        "da3c9d5770904b592680dc49c9dd6f7c0e86e763"
      ],
      "author": {
        "name": "Joe Gregorio",
        "email": "jcgregorio@google.com",
        "time": "Mon Nov 12 19:02:58 2012"
      },
      "committer": {
        "name": "Joe Gregorio",
        "email": "jcgregorio@google.com",
        "time": "Mon Nov 12 19:02:58 2012"
      },
      "message": "Update for 0.7.7 release.\n"
    },
    {
      "commit": "21fef11a21151bb39832906a9c05ed8514d14a61",
      "tree": "5b1fa99910b038b11a279dfd379233b4c7ca20dc",
      "parents": [
        "80be21fa1bc39285c82b6bf44623c59c50051e4a"
      ],
      "author": {
        "name": "Joe Gregorio",
        "email": "jcgregorio@google.com",
        "time": "Mon Nov 12 19:02:58 2012"
      },
      "committer": {
        "name": "Joe Gregorio",
        "email": "jcgregorio@google.com",
        "time": "Mon Nov 12 19:02:58 2012"
      },
      "message": "Update for 0.7.7 release.\n"
    },
    {
      "commit": "da3c9d5770904b592680dc49c9dd6f7c0e86e763",
      "tree": "2f3e83667efb2c8fed86549f0a1be5890ff2d61d",
      "parents": [
        "fe1ab3438ec90b2bfce779cfa868f9fa6cb116a7"
      ],
      "author": {
        "name": "Joe Gregorio",
        "email": "jcgregorio@google.com",
        "time": "Mon Nov 12 19:02:42 2012"
      },
      "committer": {
        "name": "Joe Gregorio",
        "email": "jcgregorio@google.com",
        "time": "Mon Nov 12 19:02:42 2012"
      },
      "message": "Added tag 0.7.7 for changeset e78fbc336997\n"
    },
    {
      "commit": "80be21fa1bc39285c82b6bf44623c59c50051e4a",
      "tree": "2f3e83667efb2c8fed86549f0a1be5890ff2d61d",
      "parents": [
        "63e74cf9653be5d84cdf0b920157157eb924e8e9"
      ],
      "author": {
        "name": "Joe Gregorio",
        "email": "jcgregorio@google.com",
        "time": "Mon Nov 12 19:02:42 2012"
      },
      "committer": {
        "name": "Joe Gregorio",
        "email": "jcgregorio@google.com",
        "time": "Mon Nov 12 19:02:42 2012"
      },
      "message": "Added tag 0.7.7 for changeset e78fbc336997\n"
    },
    {
      "commit": "fe1ab3438ec90b2bfce779cfa868f9fa6cb116a7",
      "tree": "2f3e83667efb2c8fed86549f0a1be5890ff2d61d",
      "parents": [
        "20846977d470fc623dda0a08712954dbe4a34c7d"
      ],
      "author": {
        "name": "Joe Gregorio",
        "email": "jcgregorio@google.com",
        "time": "Mon Nov 12 18:53:06 2012"
      },
      "committer": {
        "name": "Joe Gregorio",
        "email": "jcgregorio@google.com",
        "time": "Mon Nov 12 18:53:06 2012"
      },
      "message": "Stop swallowing App Engine specific errors.\nFixes issue 230. Fixes issue 231.\n"
    },
    {
      "commit": "63e74cf9653be5d84cdf0b920157157eb924e8e9",
      "tree": "2f3e83667efb2c8fed86549f0a1be5890ff2d61d",
      "parents": [
        "1124805499bfea57cbf529cac208bd2776b61458"
      ],
      "author": {
        "name": "Joe Gregorio",
        "email": "jcgregorio@google.com",
        "time": "Mon Nov 12 18:53:06 2012"
      },
      "committer": {
        "name": "Joe Gregorio",
        "email": "jcgregorio@google.com",
        "time": "Mon Nov 12 18:53:06 2012"
      },
      "message": "Stop swallowing App Engine specific errors.\nFixes issue 230. Fixes issue 231.\n"
    },
    {
      "commit": "20846977d470fc623dda0a08712954dbe4a34c7d",
      "tree": "1a56107a20b4703b4a0fb24ce6be5d4a6e6ea760",
      "parents": [
        "74b1d4a85cbf10e84b364bc17927f5420ae5d187"
      ],
      "author": {
        "name": "Joe Gregorio",
        "email": "jcgregorio@google.com",
        "time": "Mon Nov 12 18:08:04 2012"
      },
      "committer": {
        "name": "Joe Gregorio",
        "email": "jcgregorio@google.com",
        "time": "Mon Nov 12 18:08:04 2012"
      },
      "message": "Fix Python3 dup header handling.\nFixes isse #229.\n"
    },
    {
      "commit": "1124805499bfea57cbf529cac208bd2776b61458",
      "tree": "1a56107a20b4703b4a0fb24ce6be5d4a6e6ea760",
      "parents": [
        "4fba20cc7b11994e1871d7f3fb39ba9c50c7fd78"
      ],
      "author": {
        "name": "Joe Gregorio",
        "email": "jcgregorio@google.com",
        "time": "Mon Nov 12 18:08:04 2012"
      },
      "committer": {
        "name": "Joe Gregorio",
        "email": "jcgregorio@google.com",
        "time": "Mon Nov 12 18:08:04 2012"
      },
      "message": "Fix Python3 dup header handling.\nFixes isse #229.\n"
    },
    {
      "commit": "74b1d4a85cbf10e84b364bc17927f5420ae5d187",
      "tree": "b2c5ca22399423c4469dc722885bc58dec1d9013",
      "parents": [
        "53f169c2a4bbd00256d956f2a5b163caccd58f7c"
      ],
      "author": {
        "name": "Joe Gregorio",
        "email": "jcgregorio@google.com",
        "time": "Thu Oct 25 18:05:49 2012"
      },
      "committer": {
        "name": "Joe Gregorio",
        "email": "jcgregorio@google.com",
        "time": "Thu Oct 25 18:05:49 2012"
      },
      "message": "Adding proxy_info_from_* methods to Python3.\n\nReviewed in https://codereview.appspot.com/6588078/.\n"
    },
    {
      "commit": "4fba20cc7b11994e1871d7f3fb39ba9c50c7fd78",
      "tree": "b2c5ca22399423c4469dc722885bc58dec1d9013",
      "parents": [
        "e078b6bd6205bfa78409528fac625b027007a38a"
      ],
      "author": {
        "name": "Joe Gregorio",
        "email": "jcgregorio@google.com",
        "time": "Thu Oct 25 18:05:49 2012"
      },
      "committer": {
        "name": "Joe Gregorio",
        "email": "jcgregorio@google.com",
        "time": "Thu Oct 25 18:05:49 2012"
      },
      "message": "Adding proxy_info_from_* methods to Python3.\n\nReviewed in https://codereview.appspot.com/6588078/.\n"
    },
    {
      "commit": "53f169c2a4bbd00256d956f2a5b163caccd58f7c",
      "tree": "890ce75ab0e26339d1d0fae465d27c22561fdbb5",
      "parents": [
        "46546a654e98355e76f1adb271400a0ca290e56c"
      ],
      "author": {
        "name": "Joe Gregorio",
        "email": "jcgregorio@google.com",
        "time": "Wed Oct 24 19:01:24 2012"
      },
      "committer": {
        "name": "Joe Gregorio",
        "email": "jcgregorio@google.com",
        "time": "Wed Oct 24 19:01:24 2012"
      },
      "message": "Added GeoTrust cert\n"
    },
    {
      "commit": "e078b6bd6205bfa78409528fac625b027007a38a",
      "tree": "890ce75ab0e26339d1d0fae465d27c22561fdbb5",
      "parents": [
        "69820755e18a2f376698a503ac956fe857b5a0c8"
      ],
      "author": {
        "name": "Joe Gregorio",
        "email": "jcgregorio@google.com",
        "time": "Wed Oct 24 19:01:24 2012"
      },
      "committer": {
        "name": "Joe Gregorio",
        "email": "jcgregorio@google.com",
        "time": "Wed Oct 24 19:01:24 2012"
      },
      "message": "Added GeoTrust cert\n"
    },
    {
      "commit": "46546a654e98355e76f1adb271400a0ca290e56c",
      "tree": "289f342a25a89c10ddd08bd91ebb956f022f67ea",
      "parents": [
        "a97ff7f4dc5234dffff80f9da7eda58677170f7a"
      ],
      "author": {
        "name": "Joe Gregorio",
        "email": "jcgregorio@google.com",
        "time": "Wed Oct 03 18:31:10 2012"
      },
      "committer": {
        "name": "Joe Gregorio",
        "email": "jcgregorio@google.com",
        "time": "Wed Oct 03 18:31:10 2012"
      },
      "message": "Make httplib2.Http() instances pickleable.\n\nReviewed in https://codereview.appspot.com/6506074/\n"
    },
    {
      "commit": "69820755e18a2f376698a503ac956fe857b5a0c8",
      "tree": "289f342a25a89c10ddd08bd91ebb956f022f67ea",
      "parents": [
        "2f5763a0fb9d147ef71cbf6104ca29fa62d7495f"
      ],
      "author": {
        "name": "Joe Gregorio",
        "email": "jcgregorio@google.com",
        "time": "Wed Oct 03 18:31:10 2012"
      },
      "committer": {
        "name": "Joe Gregorio",
        "email": "jcgregorio@google.com",
        "time": "Wed Oct 03 18:31:10 2012"
      },
      "message": "Make httplib2.Http() instances pickleable.\n\nReviewed in https://codereview.appspot.com/6506074/\n"
    },
    {
      "commit": "a97ff7f4dc5234dffff80f9da7eda58677170f7a",
      "tree": "cbcce5bfdea80660fb17991f19f55a7e06b28979",
      "parents": [
        "a91406d630ea7cbbdef29af069207df4a72da77d"
      ],
      "author": {
        "name": "Joe Gregorio",
        "email": "jcgregorio@google.com",
        "time": "Tue Sep 11 17:20:50 2012"
      },
      "committer": {
        "name": "Joe Gregorio",
        "email": "jcgregorio@google.com",
        "time": "Tue Sep 11 17:20:50 2012"
      },
      "message": "Added tag 0.7.6 for changeset 28bf49dc86c3\n"
    },
    {
      "commit": "2f5763a0fb9d147ef71cbf6104ca29fa62d7495f",
      "tree": "cbcce5bfdea80660fb17991f19f55a7e06b28979",
      "parents": [
        "06c11c0083473a1a4e47157c025c05708721728b"
      ],
      "author": {
        "name": "Joe Gregorio",
        "email": "jcgregorio@google.com",
        "time": "Tue Sep 11 17:20:50 2012"
      },
      "committer": {
        "name": "Joe Gregorio",
        "email": "jcgregorio@google.com",
        "time": "Tue Sep 11 17:20:50 2012"
      },
      "message": "Added tag 0.7.6 for changeset 28bf49dc86c3\n"
    },
    {
      "commit": "a91406d630ea7cbbdef29af069207df4a72da77d",
      "tree": "cbcce5bfdea80660fb17991f19f55a7e06b28979",
      "parents": [
        "c920442918a895e5564b496f0f8d0f58973075a0"
      ],
      "author": {
        "name": "Joe Gregorio",
        "email": "jcgregorio@google.com",
        "time": "Tue Sep 11 17:20:44 2012"
      },
      "committer": {
        "name": "Joe Gregorio",
        "email": "jcgregorio@google.com",
        "time": "Tue Sep 11 17:20:44 2012"
      },
      "message": "Version 0.7.6\n"
    },
    {
      "commit": "06c11c0083473a1a4e47157c025c05708721728b",
      "tree": "cbcce5bfdea80660fb17991f19f55a7e06b28979",
      "parents": [
        "b3e06e26c7186754edba43ce570c87ccf79dd116"
      ],
      "author": {
        "name": "Joe Gregorio",
        "email": "jcgregorio@google.com",
        "time": "Tue Sep 11 17:20:44 2012"
      },
      "committer": {
        "name": "Joe Gregorio",
        "email": "jcgregorio@google.com",
        "time": "Tue Sep 11 17:20:44 2012"
      },
      "message": "Version 0.7.6\n"
    },
    {
      "commit": "c920442918a895e5564b496f0f8d0f58973075a0",
      "tree": "f0d5611f6c3ea2e375a9d82ad89e6c511bf4870a",
      "parents": [
        "8a8cbad51eb77505681c406db73a97596fd7f4eb"
      ],
      "author": {
        "name": "Joe Gregorio",
        "email": "jcgregorio@google.com",
        "time": "Tue Sep 11 17:11:11 2012"
      },
      "committer": {
        "name": "Joe Gregorio",
        "email": "jcgregorio@google.com",
        "time": "Tue Sep 11 17:11:11 2012"
      },
      "message": "On Python App Engine 2.7 a body can be passed in that is actually a stream. Do\na full read of the contents of that stream before proceeding.\n"
    },
    {
      "commit": "b3e06e26c7186754edba43ce570c87ccf79dd116",
      "tree": "f0d5611f6c3ea2e375a9d82ad89e6c511bf4870a",
      "parents": [
        "2dd5a4a47d2774e0e61b8333495ea1a520a461d7"
      ],
      "author": {
        "name": "Joe Gregorio",
        "email": "jcgregorio@google.com",
        "time": "Tue Sep 11 17:11:11 2012"
      },
      "committer": {
        "name": "Joe Gregorio",
        "email": "jcgregorio@google.com",
        "time": "Tue Sep 11 17:11:11 2012"
      },
      "message": "On Python App Engine 2.7 a body can be passed in that is actually a stream. Do\na full read of the contents of that stream before proceeding.\n"
    },
    {
      "commit": "8a8cbad51eb77505681c406db73a97596fd7f4eb",
      "tree": "561e0d6e4fa9d0a939b08065624a5ef3d599137b",
      "parents": [
        "7d21bd2a2b14e021ff6f3c73bc8195b435a52862"
      ],
      "author": {
        "name": "Joe Gregorio",
        "email": "jcgregorio@google.com",
        "time": "Tue Aug 28 17:05:06 2012"
      },
      "committer": {
        "name": "Joe Gregorio",
        "email": "jcgregorio@google.com",
        "time": "Tue Aug 28 17:05:06 2012"
      },
      "message": "Fix app engine\n"
    },
    {
      "commit": "2dd5a4a47d2774e0e61b8333495ea1a520a461d7",
      "tree": "561e0d6e4fa9d0a939b08065624a5ef3d599137b",
      "parents": [
        "4a292547b8056e1b900c7de21e073927a88418fa"
      ],
      "author": {
        "name": "Joe Gregorio",
        "email": "jcgregorio@google.com",
        "time": "Tue Aug 28 17:05:06 2012"
      },
      "committer": {
        "name": "Joe Gregorio",
        "email": "jcgregorio@google.com",
        "time": "Tue Aug 28 17:05:06 2012"
      },
      "message": "Fix app engine\n"
    },
    {
      "commit": "7d21bd2a2b14e021ff6f3c73bc8195b435a52862",
      "tree": "83edd1fe1b9056d0beadbde50459d48c2e93aba9",
      "parents": [
        "1b849a7257e9543fe76935277ae6df2cf3f5b86e"
      ],
      "author": {
        "name": "Joe Gregorio",
        "email": "jcgregorio@google.com",
        "time": "Tue Aug 28 17:04:58 2012"
      },
      "committer": {
        "name": "Joe Gregorio",
        "email": "jcgregorio@google.com",
        "time": "Tue Aug 28 17:04:58 2012"
      },
      "message": "Added tag 0.7.5 for changeset 403deb2f51e7\n"
    },
    {
      "commit": "4a292547b8056e1b900c7de21e073927a88418fa",
      "tree": "83edd1fe1b9056d0beadbde50459d48c2e93aba9",
      "parents": [
        "8270c14bef9ab4a023cc1a77827cdfc64f7ad83f"
      ],
      "author": {
        "name": "Joe Gregorio",
        "email": "jcgregorio@google.com",
        "time": "Tue Aug 28 17:04:58 2012"
      },
      "committer": {
        "name": "Joe Gregorio",
        "email": "jcgregorio@google.com",
        "time": "Tue Aug 28 17:04:58 2012"
      },
      "message": "Added tag 0.7.5 for changeset 403deb2f51e7\n"
    },
    {
      "commit": "1b849a7257e9543fe76935277ae6df2cf3f5b86e",
      "tree": "83edd1fe1b9056d0beadbde50459d48c2e93aba9",
      "parents": [
        "a0e2b2a5020aa96b8c818d3584300da82c87d824"
      ],
      "author": {
        "name": "Joe Gregorio",
        "email": "joe.gregorio@gmail.com",
        "time": "Tue Aug 28 16:45:44 2012"
      },
      "committer": {
        "name": "Joe Gregorio",
        "email": "joe.gregorio@gmail.com",
        "time": "Tue Aug 28 16:45:44 2012"
      },
      "message": "Fix some tests.\n"
    },
    {
      "commit": "8270c14bef9ab4a023cc1a77827cdfc64f7ad83f",
      "tree": "83edd1fe1b9056d0beadbde50459d48c2e93aba9",
      "parents": [
        "5352702623e937c1238d6a5d9064cb8cf890e97d"
      ],
      "author": {
        "name": "Joe Gregorio",
        "email": "joe.gregorio@gmail.com",
        "time": "Tue Aug 28 16:45:44 2012"
      },
      "committer": {
        "name": "Joe Gregorio",
        "email": "joe.gregorio@gmail.com",
        "time": "Tue Aug 28 16:45:44 2012"
      },
      "message": "Fix some tests.\n"
    },
    {
      "commit": "a0e2b2a5020aa96b8c818d3584300da82c87d824",
      "tree": "6706a4f163b4e9732e4c140c55e7c8d0d4bde505",
      "parents": [
        "ed72cba49248fa51f5787d4a2c19f36297a9ee5f"
      ],
      "author": {
        "name": "jcgregorio",
        "email": "jcgregorio@web82.webfaction.com",
        "time": "Tue May 24 17:49:48 2011"
      },
      "committer": {
        "name": "jcgregorio",
        "email": "jcgregorio@web82.webfaction.com",
        "time": "Tue May 24 17:49:48 2011"
      },
      "message": "Updating tests\n"
    },
    {
      "commit": "ed72cba49248fa51f5787d4a2c19f36297a9ee5f",
      "tree": "77b14c2d9f0eb3446f9f2018208012239e340fba",
      "parents": [
        "5a16772caf5ff75722794406143c24ced4e4164d"
      ],
      "author": {
        "name": "Joe Gregorio",
        "email": "jcgregorio@google.com",
        "time": "Tue Aug 28 16:19:28 2012"
      },
      "committer": {
        "name": "Joe Gregorio",
        "email": "jcgregorio@google.com",
        "time": "Tue Aug 28 16:19:28 2012"
      },
      "message": "Fixes issue #212. Fixes issue #210. Fixes issue #214. Fixes issue #223. Fixes issue #222.\n"
    },
    {
      "commit": "5a16772caf5ff75722794406143c24ced4e4164d",
      "tree": "211f1db0a9c327c3eb3a336a52f6f0351e528bbb",
      "parents": [
        "de10acac69daee57bb9dca25bf96f3f368fb411a"
      ],
      "author": {
        "name": "Joe Gregorio",
        "email": "jcgregorio@google.com",
        "time": "Tue Aug 28 16:11:59 2012"
      },
      "committer": {
        "name": "Joe Gregorio",
        "email": "jcgregorio@google.com",
        "time": "Tue Aug 28 16:11:59 2012"
      },
      "message": "Added tag 0.7.5 for changeset c17f3cf9129c\n"
    },
    {
      "commit": "de10acac69daee57bb9dca25bf96f3f368fb411a",
      "tree": "211f1db0a9c327c3eb3a336a52f6f0351e528bbb",
      "parents": [
        "b30ed37f0c2209a7f2397c8e7b8d4d252fa16262"
      ],
      "author": {
        "name": "Joe Gregorio",
        "email": "jcgregorio@google.com",
        "time": "Sun Jul 29 03:59:37 2012"
      },
      "committer": {
        "name": "Joe Gregorio",
        "email": "jcgregorio@google.com",
        "time": "Sun Jul 29 03:59:37 2012"
      },
      "message": "Keys are lowercase in a Response object, regardless of how Response object is constructed.\n"
    },
    {
      "commit": "b30ed37f0c2209a7f2397c8e7b8d4d252fa16262",
      "tree": "011c79385c9d239d8927a6c8295ff215e9ecf85d",
      "parents": [
        "9f1f9ede0faf3f36b8f463f781b9860d8c56009a"
      ],
      "author": {
        "name": "Joe Gregorio",
        "email": "jcgregorio@google.com",
        "time": "Mon Jul 23 18:45:17 2012"
      },
      "committer": {
        "name": "Joe Gregorio",
        "email": "jcgregorio@google.com",
        "time": "Mon Jul 23 18:45:17 2012"
      },
      "message": "Add control so that Authorization: headers aren\u0027t forwarded on a 3xx response by default.\n"
    },
    {
      "commit": "9f1f9ede0faf3f36b8f463f781b9860d8c56009a",
      "tree": "37d52417530853fd0f489eb6f8816c5dc7847f1d",
      "parents": [
        "f1a27dab071a4140ba9a853b7298a84443cfc8a3"
      ],
      "author": {
        "name": "Joe Gregorio",
        "email": "jcgregorio@google.com",
        "time": "Mon Jul 23 16:18:53 2012"
      },
      "committer": {
        "name": "Joe Gregorio",
        "email": "jcgregorio@google.com",
        "time": "Mon Jul 23 16:18:53 2012"
      },
      "message": "Set the reason correctly when running on App Engine.\n\nPatch from Alain Vongsouvanh.\n\nReviewed in http://codereview.appspot.com/6422051/\n"
    },
    {
      "commit": "f1a27dab071a4140ba9a853b7298a84443cfc8a3",
      "tree": "f13daa02b5e12733852df2ac278178cb09deee02",
      "parents": [
        "4860c4f39a90daf1d1c642184b3bf8161756a670"
      ],
      "author": {
        "name": "Joe Gregorio",
        "email": "jcgregorio@google.com",
        "time": "Tue Apr 17 20:32:14 2012"
      },
      "committer": {
        "name": "Joe Gregorio",
        "email": "jcgregorio@google.com",
        "time": "Tue Apr 17 20:32:14 2012"
      },
      "message": "Fix proxy socks for SSL connections. Fixes issue #199.\n"
    },
    {
      "commit": "4860c4f39a90daf1d1c642184b3bf8161756a670",
      "tree": "41b1b62c097c8b28a5fea98a6f2d35f01fa3bc64",
      "parents": [
        "8e63343d6462ba113b3addc8e0b7ca24455626e7"
      ],
      "author": {
        "name": "Joe Gregorio",
        "email": "jcgregorio@google.com",
        "time": "Tue Apr 17 16:40:39 2012"
      },
      "committer": {
        "name": "Joe Gregorio",
        "email": "jcgregorio@google.com",
        "time": "Tue Apr 17 16:40:39 2012"
      },
      "message": "Add a parameter to control the number of retries.\n"
    },
    {
      "commit": "8e63343d6462ba113b3addc8e0b7ca24455626e7",
      "tree": "7d409a3cd7adebc07ff3be72e84075b756780ae0",
      "parents": [
        "e5332f53aa354de9e7dcf96cb6e09a01a56a87a6"
      ],
      "author": {
        "name": "Joe Gregorio",
        "email": "jcgregorio@google.com",
        "time": "Fri Mar 02 22:13:55 2012"
      },
      "committer": {
        "name": "Joe Gregorio",
        "email": "jcgregorio@google.com",
        "time": "Fri Mar 02 22:13:55 2012"
      },
      "message": "Fix wrong link in description.\n"
    },
    {
      "commit": "e5332f53aa354de9e7dcf96cb6e09a01a56a87a6",
      "tree": "52fca53d596e3c68de235da426f4e58e15d91382",
      "parents": [
        "ca6a0a2552d824154c151e5d6f95ceae59c3212c"
      ],
      "author": {
        "name": "Joe Gregorio",
        "email": "jcgregorio@google.com",
        "time": "Fri Mar 02 20:12:08 2012"
      },
      "committer": {
        "name": "Joe Gregorio",
        "email": "jcgregorio@google.com",
        "time": "Fri Mar 02 20:12:08 2012"
      },
      "message": "0.7.4 fix for missing cacerts\n"
    },
    {
      "commit": "ca6a0a2552d824154c151e5d6f95ceae59c3212c",
      "tree": "563dad1bfca8cd50cf6d452a849f97e55e5724d1",
      "parents": [
        "b850bd03087e9656f22cb1afbd894088ae8f6114"
      ],
      "author": {
        "name": "Joe Gregorio",
        "email": "jcgregorio@google.com",
        "time": "Fri Mar 02 20:11:56 2012"
      },
      "committer": {
        "name": "Joe Gregorio",
        "email": "jcgregorio@google.com",
        "time": "Fri Mar 02 20:11:56 2012"
      },
      "message": "Added tag 0.7.4 for changeset d4a0fa4d3700\n"
    },
    {
      "commit": "b850bd03087e9656f22cb1afbd894088ae8f6114",
      "tree": "563dad1bfca8cd50cf6d452a849f97e55e5724d1",
      "parents": [
        "16ac18be2c70a44612906c0e02f07d7065b3e8d8"
      ],
      "author": {
        "name": "Joe Gregorio",
        "email": "jcgregorio@google.com",
        "time": "Fri Mar 02 16:37:22 2012"
      },
      "committer": {
        "name": "Joe Gregorio",
        "email": "jcgregorio@google.com",
        "time": "Fri Mar 02 16:37:22 2012"
      },
      "message": "release notes\n"
    },
    {
      "commit": "16ac18be2c70a44612906c0e02f07d7065b3e8d8",
      "tree": "6a8f8810f1fcba579e931123136ab54a5b02988d",
      "parents": [
        "3e5631304eb3eeb86bbfc89301d06bd68bf8a69b"
      ],
      "author": {
        "name": "Joe Gregorio",
        "email": "jcgregorio@google.com",
        "time": "Fri Mar 02 16:10:44 2012"
      },
      "committer": {
        "name": "Joe Gregorio",
        "email": "jcgregorio@google.com",
        "time": "Fri Mar 02 16:10:44 2012"
      },
      "message": "0.7.3 tagged release\n"
    },
    {
      "commit": "3e5631304eb3eeb86bbfc89301d06bd68bf8a69b",
      "tree": "05cc7aced4473c16764a826fa75f1eb7f174988d",
      "parents": [
        "40e25c7eb9cc846773d4668c284e17245f8802c4"
      ],
      "author": {
        "name": "Joe Gregorio",
        "email": "jcgregorio@google.com",
        "time": "Fri Mar 02 15:52:45 2012"
      },
      "committer": {
        "name": "Joe Gregorio",
        "email": "jcgregorio@google.com",
        "time": "Fri Mar 02 15:52:45 2012"
      },
      "message": "Changing version numbers for 0.7.3 release\n"
    },
    {
      "commit": "40e25c7eb9cc846773d4668c284e17245f8802c4",
      "tree": "61ab37fbdf823aba6899f3c4d9b24cd6b55bf256",
      "parents": [
        "16f48c454ebe035c65274fc6bbf902f41f1ccec3"
      ],
      "author": {
        "name": "Joe Gregorio",
        "email": "jcgregorio@google.com",
        "time": "Mon Jan 09 14:22:23 2012"
      },
      "committer": {
        "name": "Joe Gregorio",
        "email": "jcgregorio@google.com",
        "time": "Mon Jan 09 14:22:23 2012"
      },
      "message": "Fall back to using installed socks.py if local one is not found.\n\nReviewed in http://codereview.appspot.com/5485050/\n"
    },
    {
      "commit": "16f48c454ebe035c65274fc6bbf902f41f1ccec3",
      "tree": "a3932d41b3b8689370e1f52c2179f462185395c8",
      "parents": [
        "12c98bbc935a16a1f2cdbc42555d466dcc434c19"
      ],
      "author": {
        "name": "Joe Gregorio",
        "email": "jcgregorio@google.com",
        "time": "Fri Jan 06 18:55:36 2012"
      },
      "committer": {
        "name": "Joe Gregorio",
        "email": "jcgregorio@google.com",
        "time": "Fri Jan 06 18:55:36 2012"
      },
      "message": "When opening a socket for HTTP, httplib2 uses the IP and port that is returned from socket.getaddrinfo(self.host, self.port, 0, socket.SOCK_STREAM). This breaks using an HTTP CONNECT proxy by preventing the socks module from ever seeing the original domain name. Using the orignal hostname and port seem to be the correct choice here as the socket library will resolve them and it would have already been cached.\n"
    },
    {
      "commit": "12c98bbc935a16a1f2cdbc42555d466dcc434c19",
      "tree": "b3037750d560dab7f37bbcd76b4231489b0d8c2f",
      "parents": [
        "ca3b490c75a03848b50489cfb74a385a2b93d0d9"
      ],
      "author": {
        "name": "Jason R. Coombs",
        "email": "jaraco@jaraco.com",
        "time": "Tue Aug 16 19:37:46 2011"
      },
      "committer": {
        "name": "Jason R. Coombs",
        "email": "jaraco@jaraco.com",
        "time": "Tue Aug 16 19:37:46 2011"
      },
      "message": "Converted MANIFEST to manifest template (MANIFEST.in) for setuptools compatibility\n"
    }
  ],
  "next": "ca3b490c75a03848b50489cfb74a385a2b93d0d9"
}
