)]}'
{
  "log": [
    {
      "commit": "7a3da3c060d3914942e614a1e076d3f88f852ad7",
      "tree": "4b4df90e481a6a9dc64b7a19c5a1ca8b06836cbb",
      "parents": [
        "2c63bcc35257083a5a0cef1e52a63a33cf52755f"
      ],
      "author": {
        "name": "wesley chun",
        "email": "wescpy@gmail.com",
        "time": "Thu Mar 10 23:28:30 2022"
      },
      "committer": {
        "name": "wesley chun",
        "email": "wescpy@gmail.com",
        "time": "Thu Mar 10 23:28:30 2022"
      },
      "message": "minor README tweak\n"
    },
    {
      "commit": "2c63bcc35257083a5a0cef1e52a63a33cf52755f",
      "tree": "e54f5626519d5a54473310079a877145cd6b74cc",
      "parents": [
        "64ee45c49e5999a741c2eded78cec64fe30254d6"
      ],
      "author": {
        "name": "wesley chun",
        "email": "wescpy@gmail.com",
        "time": "Wed Mar 09 06:48:04 2022"
      },
      "committer": {
        "name": "wesley chun",
        "email": "wescpy@gmail.com",
        "time": "Wed Mar 09 06:48:04 2022"
      },
      "message": "update links\n"
    },
    {
      "commit": "64ee45c49e5999a741c2eded78cec64fe30254d6",
      "tree": "fed16c5a5c59c4d7c81847e1eb1f7ca2560ad3b7",
      "parents": [
        "8e5c9d5d89688b4beab6f8713da79f176012e82d"
      ],
      "author": {
        "name": "ludoch",
        "email": "ludovic.champenois@gmail.com",
        "time": "Thu Jan 27 17:41:28 2022"
      },
      "committer": {
        "name": "ludoch",
        "email": "ludovic.champenois@gmail.com",
        "time": "Thu Jan 27 17:41:28 2022"
      },
      "message": "update to latest GAE API version and recent Guava version.\n"
    },
    {
      "commit": "8e5c9d5d89688b4beab6f8713da79f176012e82d",
      "tree": "7845955bfe5012602d391c0df87eb3bd105bbd74",
      "parents": [
        "5c0a87bad151824c4f3f08093c049321b321582c"
      ],
      "author": {
        "name": "ludoch",
        "email": "ludovic.champenois@gmail.com",
        "time": "Wed Nov 03 02:15:26 2021"
      },
      "committer": {
        "name": "ludoch",
        "email": "ludovic.champenois@gmail.com",
        "time": "Wed Nov 03 02:15:26 2021"
      },
      "message": "[maven-release-plugin] prepare for next development iteration\n"
    },
    {
      "commit": "5c0a87bad151824c4f3f08093c049321b321582c",
      "tree": "c423d46180d4529d471d87a948d2ea7f5c0f76f4",
      "parents": [
        "bb348db95b37bcc0da279ec9c3ba005128e0b780"
      ],
      "author": {
        "name": "ludoch",
        "email": "ludovic.champenois@gmail.com",
        "time": "Wed Nov 03 02:15:26 2021"
      },
      "committer": {
        "name": "ludoch",
        "email": "ludovic.champenois@gmail.com",
        "time": "Wed Nov 03 02:15:26 2021"
      },
      "message": "[maven-release-plugin] prepare release appengine-gcs-client-0.8.2\n"
    },
    {
      "commit": "bb348db95b37bcc0da279ec9c3ba005128e0b780",
      "tree": "7067c018e076d16dba44e7f2f267a53a87e46385",
      "parents": [
        "9509289a8375e76caaaf4b032da6209971df4350"
      ],
      "author": {
        "name": "ludoch",
        "email": "ludovic.champenois@gmail.com",
        "time": "Wed Nov 03 02:12:38 2021"
      },
      "committer": {
        "name": "ludoch",
        "email": "ludovic.champenois@gmail.com",
        "time": "Wed Nov 03 02:12:38 2021"
      },
      "message": "Upgrading dependencies to latest.\n"
    },
    {
      "commit": "9509289a8375e76caaaf4b032da6209971df4350",
      "tree": "7c9ff85dbd9314c7c6e7c021b32dffe21f576a88",
      "parents": [
        "844b7b28493ba6e091ead7ffff311f041099eb55"
      ],
      "author": {
        "name": "Ludovic Champenois",
        "email": "ludo@google.com",
        "time": "Tue Apr 14 20:13:26 2020"
      },
      "committer": {
        "name": "Ludovic Champenois",
        "email": "ludo@google.com",
        "time": "Tue Apr 14 20:13:26 2020"
      },
      "message": "[maven-release-plugin] prepare for next development iteration\n"
    },
    {
      "commit": "844b7b28493ba6e091ead7ffff311f041099eb55",
      "tree": "17267ab05989c1ec5ee4f4341e52bc0a0f235769",
      "parents": [
        "ab77de606c42032426430468633f6ce023ec607a"
      ],
      "author": {
        "name": "Ludovic Champenois",
        "email": "ludo@google.com",
        "time": "Tue Apr 14 20:13:26 2020"
      },
      "committer": {
        "name": "Ludovic Champenois",
        "email": "ludo@google.com",
        "time": "Tue Apr 14 20:13:26 2020"
      },
      "message": "[maven-release-plugin] prepare release appengine-gcs-client-0.8.1\n"
    },
    {
      "commit": "ab77de606c42032426430468633f6ce023ec607a",
      "tree": "cb88ca92637af68a4a920fe2d81202fb6314db2e",
      "parents": [
        "a4fe53d6cdd7cc79b2e900685a4ce82a467f3775"
      ],
      "author": {
        "name": "Ludovic Champenois",
        "email": "ludo@google.com",
        "time": "Tue Apr 14 20:11:49 2020"
      },
      "committer": {
        "name": "Ludovic Champenois",
        "email": "ludo@google.com",
        "time": "Tue Apr 14 20:11:49 2020"
      },
      "message": " Update SDK API version.\n"
    },
    {
      "commit": "a4fe53d6cdd7cc79b2e900685a4ce82a467f3775",
      "tree": "bdc97a22b98e489160467b1ef8f9c20227cc987d",
      "parents": [
        "6700a65a4431ec317c370e5330b1da874c9629f7"
      ],
      "author": {
        "name": "Les Vogel",
        "email": "lesv@users.noreply.github.com",
        "time": "Wed Oct 30 01:20:26 2019"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Oct 30 01:20:26 2019"
      },
      "message": "Deprecate the repo."
    },
    {
      "commit": "6700a65a4431ec317c370e5330b1da874c9629f7",
      "tree": "387a25496ec487f5fb12cc0037f284c0e92cfa4a",
      "parents": [
        "e9343016baf872fe77ec870d6fbe584c0dd0cad2",
        "228fc4910fee53009f2411d7830b7a8a70a09731"
      ],
      "author": {
        "name": "Ludovic Champenois",
        "email": "ludovic.champenois@gmail.com",
        "time": "Mon Sep 30 20:48:57 2019"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Sep 30 20:48:57 2019"
      },
      "message": "Merge pull request #83 from elharo/dep\n\nwarn developers away from this library"
    },
    {
      "commit": "228fc4910fee53009f2411d7830b7a8a70a09731",
      "tree": "387a25496ec487f5fb12cc0037f284c0e92cfa4a",
      "parents": [
        "e9343016baf872fe77ec870d6fbe584c0dd0cad2"
      ],
      "author": {
        "name": "Elliotte Rusty Harold",
        "email": "elharo@ibiblio.org",
        "time": "Mon Sep 30 17:38:07 2019"
      },
      "committer": {
        "name": "Elliotte Rusty Harold",
        "email": "elharo@ibiblio.org",
        "time": "Mon Sep 30 17:38:07 2019"
      },
      "message": "warn developers away from this library\n"
    },
    {
      "commit": "e9343016baf872fe77ec870d6fbe584c0dd0cad2",
      "tree": "d641d2648290c4f6efcc8af93564f67da4d98ff0",
      "parents": [
        "d11078331ecd915d753c886e96a80133599f3f98",
        "cbae65086a58294d5605403c2faba753344f1f78"
      ],
      "author": {
        "name": "Frank Natividad",
        "email": "frankyn@users.noreply.github.com",
        "time": "Mon Sep 30 17:11:47 2019"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Sep 30 17:11:47 2019"
      },
      "message": "Merge pull request #82 from elharo/master\n\nupdate version of appengine-gcs-client"
    },
    {
      "commit": "cbae65086a58294d5605403c2faba753344f1f78",
      "tree": "d641d2648290c4f6efcc8af93564f67da4d98ff0",
      "parents": [
        "d11078331ecd915d753c886e96a80133599f3f98"
      ],
      "author": {
        "name": "Elliotte Rusty Harold",
        "email": "elharo@ibiblio.org",
        "time": "Sat Sep 28 14:23:11 2019"
      },
      "committer": {
        "name": "Elliotte Rusty Harold",
        "email": "elharo@ibiblio.org",
        "time": "Sat Sep 28 14:23:11 2019"
      },
      "message": "update version of appengine-gcs-client\n"
    },
    {
      "commit": "d11078331ecd915d753c886e96a80133599f3f98",
      "tree": "2651a9fb0453a969e0e44374a153bed1650e03d3",
      "parents": [
        "9ab14640b8348eaf0edfe5a5808e8f8b865f7816",
        "b5455f14efbd743ec049f8bcce5950cb5632a352"
      ],
      "author": {
        "name": "Frank Natividad",
        "email": "frankyn@users.noreply.github.com",
        "time": "Wed Oct 17 18:37:59 2018"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Oct 17 18:37:59 2018"
      },
      "message": "Merge pull request #74 from elharo/ignore\n\nIgnore .DS_Store"
    },
    {
      "commit": "9ab14640b8348eaf0edfe5a5808e8f8b865f7816",
      "tree": "8d164f3d50c24f00360473a66eaeee5e72801761",
      "parents": [
        "a220402142bd3b9728df9fb4ed9445dc1157fa0d"
      ],
      "author": {
        "name": "Ludovic Champenois",
        "email": "ludo@ludo-macbookpro1.roam.corp.google.com",
        "time": "Thu Aug 02 21:05:48 2018"
      },
      "committer": {
        "name": "Ludovic Champenois",
        "email": "ludo@ludo-macbookpro1.roam.corp.google.com",
        "time": "Thu Aug 02 21:05:48 2018"
      },
      "message": "[maven-release-plugin] prepare for next development iteration\n"
    },
    {
      "commit": "a220402142bd3b9728df9fb4ed9445dc1157fa0d",
      "tree": "69ccf75918069e7be303e1bfdedb92ac4588aa81",
      "parents": [
        "e9a47f9b5d4bf29649c6b0a3e6f2653a5075b176"
      ],
      "author": {
        "name": "Ludovic Champenois",
        "email": "ludo@ludo-macbookpro1.roam.corp.google.com",
        "time": "Thu Aug 02 21:05:48 2018"
      },
      "committer": {
        "name": "Ludovic Champenois",
        "email": "ludo@ludo-macbookpro1.roam.corp.google.com",
        "time": "Thu Aug 02 21:05:48 2018"
      },
      "message": "[maven-release-plugin] prepare release appengine-gcs-client-0.8\n"
    },
    {
      "commit": "e9a47f9b5d4bf29649c6b0a3e6f2653a5075b176",
      "tree": "bb6aab8a312dc8ac15dc3193badfe876fbacd7d0",
      "parents": [
        "655e4eb92da93236b9050a7b3f47509d2258ead6",
        "a208db9b2d21641952da51a8be60b22ded5b39d1"
      ],
      "author": {
        "name": "Ludovic Champenois",
        "email": "ludovic.champenois@gmail.com",
        "time": "Thu Aug 02 20:57:49 2018"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Aug 02 20:57:49 2018"
      },
      "message": "Merge pull request #75 from elharo/pin\n\nUpdate, pin, and sync dependency versions"
    },
    {
      "commit": "a208db9b2d21641952da51a8be60b22ded5b39d1",
      "tree": "bb6aab8a312dc8ac15dc3193badfe876fbacd7d0",
      "parents": [
        "f8a202aeb6858de3e620507c386eef3fdfb7adbf"
      ],
      "author": {
        "name": "Elliotte Harold",
        "email": "elharo@google.com",
        "time": "Wed Aug 01 17:00:58 2018"
      },
      "committer": {
        "name": "Elliotte Harold",
        "email": "elharo@google.com",
        "time": "Wed Aug 01 17:00:58 2018"
      },
      "message": "ignore ant build artifacts\n"
    },
    {
      "commit": "f8a202aeb6858de3e620507c386eef3fdfb7adbf",
      "tree": "b485465b4351e948ed4f3a1cad718d47620ac78c",
      "parents": [
        "04b08e48bc20696d6574dad04606fe04aa2c0daf"
      ],
      "author": {
        "name": "Elliotte Harold",
        "email": "elharo@google.com",
        "time": "Wed Aug 01 17:00:08 2018"
      },
      "committer": {
        "name": "Elliotte Harold",
        "email": "elharo@google.com",
        "time": "Wed Aug 01 17:00:08 2018"
      },
      "message": "fix ant build\n"
    },
    {
      "commit": "04b08e48bc20696d6574dad04606fe04aa2c0daf",
      "tree": "174ec890ca4e9179c1f999d5771506dde3aa15c5",
      "parents": [
        "e66115bb603951ec0d18cca46d8cb108694f978f"
      ],
      "author": {
        "name": "Elliotte Harold",
        "email": "elharo@google.com",
        "time": "Wed Aug 01 16:54:24 2018"
      },
      "committer": {
        "name": "Elliotte Harold",
        "email": "elharo@google.com",
        "time": "Wed Aug 01 16:54:24 2018"
      },
      "message": "update and pin versions\n"
    },
    {
      "commit": "b5455f14efbd743ec049f8bcce5950cb5632a352",
      "tree": "fecc1cf137065193527139457604e84e094fbe59",
      "parents": [
        "e66115bb603951ec0d18cca46d8cb108694f978f"
      ],
      "author": {
        "name": "Elliotte Harold",
        "email": "elharo@google.com",
        "time": "Wed Aug 01 16:49:44 2018"
      },
      "committer": {
        "name": "Elliotte Harold",
        "email": "elharo@google.com",
        "time": "Wed Aug 01 16:49:44 2018"
      },
      "message": "add .DS_Store\n"
    },
    {
      "commit": "e66115bb603951ec0d18cca46d8cb108694f978f",
      "tree": "b8b91e440427125286db4a2be1155a9044a32dbc",
      "parents": [
        "88c526af28ced7277d051c753d262e7ad1de1b9b",
        "655e4eb92da93236b9050a7b3f47509d2258ead6"
      ],
      "author": {
        "name": "Elliotte Harold",
        "email": "elharo@google.com",
        "time": "Wed Aug 01 16:46:36 2018"
      },
      "committer": {
        "name": "Elliotte Harold",
        "email": "elharo@google.com",
        "time": "Wed Aug 01 16:46:36 2018"
      },
      "message": "Merge remote-tracking branch \u0027upstream/master\u0027\n"
    },
    {
      "commit": "655e4eb92da93236b9050a7b3f47509d2258ead6",
      "tree": "b8b91e440427125286db4a2be1155a9044a32dbc",
      "parents": [
        "f984332c73867f7eef5420dea88e435658cd3dbf",
        "553bc92391c0b915c493c3b13f997b0786891977"
      ],
      "author": {
        "name": "Jon Wayne Parrott",
        "email": "jonwayne@google.com",
        "time": "Fri Nov 17 18:45:02 2017"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Nov 17 18:45:02 2017"
      },
      "message": "Merge pull request #67 from devlance/patch-2\n\nWriting contents to follow the other examples"
    },
    {
      "commit": "553bc92391c0b915c493c3b13f997b0786891977",
      "tree": "b8b91e440427125286db4a2be1155a9044a32dbc",
      "parents": [
        "f984332c73867f7eef5420dea88e435658cd3dbf"
      ],
      "author": {
        "name": "Brett Johnson",
        "email": "brettj@google.com",
        "time": "Fri Nov 17 18:44:09 2017"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Nov 17 18:44:09 2017"
      },
      "message": "Writing contents to follow the other examples"
    },
    {
      "commit": "f984332c73867f7eef5420dea88e435658cd3dbf",
      "tree": "81b538fa49e91bf0cfa10548d0f598747f0c3626",
      "parents": [
        "1dfc38f7bfa6cd1d598908556f70c393ea15aafb",
        "1246b031f0b93400774f1c7fbb67e36f1c8b69c3"
      ],
      "author": {
        "name": "Jon Wayne Parrott",
        "email": "jonwayne@google.com",
        "time": "Fri Nov 17 18:34:37 2017"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Nov 17 18:34:37 2017"
      },
      "message": "Merge pull request #66 from devlance/patch-1\n\nSnippet to show how to read the full file"
    },
    {
      "commit": "1246b031f0b93400774f1c7fbb67e36f1c8b69c3",
      "tree": "81b538fa49e91bf0cfa10548d0f598747f0c3626",
      "parents": [
        "1dfc38f7bfa6cd1d598908556f70c393ea15aafb"
      ],
      "author": {
        "name": "Brett Johnson",
        "email": "brettj@google.com",
        "time": "Fri Nov 17 18:28:51 2017"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Nov 17 18:28:51 2017"
      },
      "message": "Snippet to show how to read the full file\n\nBased on user request in internal issue #32793010"
    },
    {
      "commit": "1dfc38f7bfa6cd1d598908556f70c393ea15aafb",
      "tree": "9cb458dc4dd69d71694938f3257b1c82dd70b98e",
      "parents": [
        "bd8b9bc71346a1fdb9ae6ae6c7a29e84b7b7b55f",
        "3ff9e9c5ee74c540963f793cc6221818d1c90ddb"
      ],
      "author": {
        "name": "Les Vogel",
        "email": "lesv@users.noreply.github.com",
        "time": "Tue Sep 26 21:55:19 2017"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Sep 26 21:55:19 2017"
      },
      "message": "Merge pull request #65 from lesv/patch-1\n\nRename COPYING to LICENSE"
    },
    {
      "commit": "bd8b9bc71346a1fdb9ae6ae6c7a29e84b7b7b55f",
      "tree": "6ef16a2492c89326dd7e3320ec03975ca0c8569d",
      "parents": [
        "c3e0cbb8418c9afa8064850f536b0c6b5656de99"
      ],
      "author": {
        "name": "Ludovic Champenois",
        "email": "ludo@google.com",
        "time": "Fri Sep 15 00:04:55 2017"
      },
      "committer": {
        "name": "Ludovic Champenois",
        "email": "ludo@google.com",
        "time": "Fri Sep 15 00:04:55 2017"
      },
      "message": "[maven-release-plugin] prepare for next development iteration\n"
    },
    {
      "commit": "c3e0cbb8418c9afa8064850f536b0c6b5656de99",
      "tree": "09ca789167f8c8504e2506b59cf4fa5849892a40",
      "parents": [
        "97dc0693c6f88d557a852678a36fe9eb7b0ab67e"
      ],
      "author": {
        "name": "Ludovic Champenois",
        "email": "ludo@google.com",
        "time": "Fri Sep 15 00:04:55 2017"
      },
      "committer": {
        "name": "Ludovic Champenois",
        "email": "ludo@google.com",
        "time": "Fri Sep 15 00:04:55 2017"
      },
      "message": "[maven-release-plugin] prepare release appengine-gcs-client-0.7\n"
    },
    {
      "commit": "97dc0693c6f88d557a852678a36fe9eb7b0ab67e",
      "tree": "1f9ce96019c868f9f956fa32c4d65f92f144789a",
      "parents": [
        "d59cd50b036466f4aae84489c4b0cc920a6842d7"
      ],
      "author": {
        "name": "Ludovic Champenois",
        "email": "ludo@google.com",
        "time": "Fri Sep 15 00:04:10 2017"
      },
      "committer": {
        "name": "Ludovic Champenois",
        "email": "ludo@google.com",
        "time": "Fri Sep 15 00:04:10 2017"
      },
      "message": "Stop relying on repackaged classes. \nModify the way the artifact is pushed to Maven repository."
    },
    {
      "commit": "d59cd50b036466f4aae84489c4b0cc920a6842d7",
      "tree": "4db056dbe07567e21b9e3e1bd6cda4789c596d22",
      "parents": [
        "d8f33c65c598fbfabdc5785dd60f765f973d164f"
      ],
      "author": {
        "name": "Ludovic Champenois",
        "email": "ludo@google.com",
        "time": "Fri Sep 15 00:00:37 2017"
      },
      "committer": {
        "name": "Ludovic Champenois",
        "email": "ludo@google.com",
        "time": "Fri Sep 15 00:00:37 2017"
      },
      "message": "Stop relying on repackaged classes. \nModify the way the artifact is pushed to Maven repository."
    },
    {
      "commit": "3ff9e9c5ee74c540963f793cc6221818d1c90ddb",
      "tree": "538884983cdf60414dd7f5038230345f3288a7a0",
      "parents": [
        "d8f33c65c598fbfabdc5785dd60f765f973d164f"
      ],
      "author": {
        "name": "Les Vogel",
        "email": "lesv@users.noreply.github.com",
        "time": "Wed Sep 13 00:24:21 2017"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Sep 13 00:24:21 2017"
      },
      "message": "Rename COPYING to LICENSE\n\nFile should be called LICENSE"
    },
    {
      "commit": "d8f33c65c598fbfabdc5785dd60f765f973d164f",
      "tree": "c74cda024c8384eac9ee2bbfff54a57b717828af",
      "parents": [
        "10e7febf005bd86d2ca6ea42d16905943bdde984"
      ],
      "author": {
        "name": "Elliotte Rusty Harold",
        "email": "elharo@users.noreply.github.com",
        "time": "Sun Jul 09 02:19:51 2017"
      },
      "committer": {
        "name": "BrandonY",
        "email": "brandony@gmail.com",
        "time": "Sun Jul 09 02:19:51 2017"
      },
      "message": "copyright and typo (#63)\n\nfix #61"
    },
    {
      "commit": "88c526af28ced7277d051c753d262e7ad1de1b9b",
      "tree": "c74cda024c8384eac9ee2bbfff54a57b717828af",
      "parents": [
        "10e7febf005bd86d2ca6ea42d16905943bdde984"
      ],
      "author": {
        "name": "Elliotte Rusty Harold",
        "email": "elharo@users.noreply.github.com",
        "time": "Sat Jul 08 12:43:28 2017"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sat Jul 08 12:43:28 2017"
      },
      "message": "copyright and typo\n\nfix #61"
    },
    {
      "commit": "10e7febf005bd86d2ca6ea42d16905943bdde984",
      "tree": "9cb8affe60059767a72730afe53a1314c420b209",
      "parents": [
        "dab9a9319dd87f9a90f62b19435fe06ae113acc2"
      ],
      "author": {
        "name": "Evan Jones",
        "email": "evan.jones@bluecore.com",
        "time": "Mon Oct 10 20:17:39 2016"
      },
      "committer": {
        "name": "BrandonY",
        "email": "brandony@gmail.com",
        "time": "Mon Oct 10 20:17:39 2016"
      },
      "message": "_get_storage_api: Fix local App Engine unit tests (#51)\n\nCommit 19f07688a2 added support for running dev_appserver.py with real\r\ncredentials. However, it broke running App Engine unit tests. When testing,\r\napp_identity.get_service_account_name() returns \u0027test@localhost\u0027, which\r\nno longer is changed to the local stub URL. To fix this, we consider both\r\nan empty service account, as well as any \u0027@localhost\u0027 service account as a\r\ntest that should use local stubs.\r\n\r\nThe cloudstorage_test.py tests now pass, and the demo still works with\r\nservice account credentials passed using --appidentity_private_key_path"
    },
    {
      "commit": "dab9a9319dd87f9a90f62b19435fe06ae113acc2",
      "tree": "4e48092f3a4307b0edbd6b6a5c37af94ddaffa14",
      "parents": [
        "19f07688a22a1807e4ecfbea2c7cc7245e9725b7"
      ],
      "author": {
        "name": "Evan Jones",
        "email": "evan.jones@bluecore.com",
        "time": "Wed Oct 05 23:58:13 2016"
      },
      "committer": {
        "name": "BrandonY",
        "email": "brandony@gmail.com",
        "time": "Wed Oct 05 23:58:13 2016"
      },
      "message": "cloudstorage.compose: Allow one source file (#50)\n\n* cloudstorage.compose: Allow one source file\r\n\r\nPreviously compose required at least two source files. However, the\r\nAPI itself works with a single file. This can be verified using gsutil.\r\n\r\necho \"hello\" \u003e example\r\ngsutil cp example gs://test_bucket\r\ngsutil -D compose gs://test_bucket/example gs://test_bucket/composed\r\ngsutil cat gs://test_bucket/composed\r\n\r\n* cloudstorage_test: Rename test to testComposeNoInputFiles\r\n"
    },
    {
      "commit": "19f07688a22a1807e4ecfbea2c7cc7245e9725b7",
      "tree": "58ff1e4332b4477d13f60f256f7f4c7c6a0fb99a",
      "parents": [
        "8f196d4d7c86bfef5232d7e5cc50d64dc313a9ab"
      ],
      "author": {
        "name": "Nick Retallack",
        "email": "nickretallack@gmail.com",
        "time": "Mon Sep 26 16:55:36 2016"
      },
      "committer": {
        "name": "BrandonY",
        "email": "brandony@gmail.com",
        "time": "Mon Sep 26 16:55:36 2016"
      },
      "message": "allow for local credentials (#43)\n\n"
    },
    {
      "commit": "8f196d4d7c86bfef5232d7e5cc50d64dc313a9ab",
      "tree": "e833598e847a38cc7f1b3e514ba9c7719153dc05",
      "parents": [
        "3968c33e66f6f1e0d45b28990c8d5d5c29960172"
      ],
      "author": {
        "name": "Chris Streeter",
        "email": "chris@chrisstreeter.com",
        "time": "Mon Sep 26 16:49:25 2016"
      },
      "committer": {
        "name": "BrandonY",
        "email": "brandony@gmail.com",
        "time": "Mon Sep 26 16:49:25 2016"
      },
      "message": "Better Python 3 support (#33)\n\n* Support Python 3 style exceptions\r\n"
    },
    {
      "commit": "3968c33e66f6f1e0d45b28990c8d5d5c29960172",
      "tree": "a1fa23726381cb3edbfef8e9d02ddbe0d3d28caa",
      "parents": [
        "4ec594ebf82024846fa3cde70957944e5ca23d03",
        "eb96b30e3aa339ce4949c3436905cceaf9a7ad90"
      ],
      "author": {
        "name": "Arie",
        "email": "aozarov@users.noreply.github.com",
        "time": "Mon Sep 19 22:37:16 2016"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Sep 19 22:37:16 2016"
      },
      "message": "Merge pull request #45 from RichieEscarez/patch-1\n\nRemoved application: and version: elements"
    },
    {
      "commit": "4ec594ebf82024846fa3cde70957944e5ca23d03",
      "tree": "a3b0b9b4e8bb21b6a9c0822accbca1119b497a0e",
      "parents": [
        "4101cbd6ce90091f75319428f08d173b3a99b9b1"
      ],
      "author": {
        "name": "Ajay Kannan",
        "email": "ajkannan@users.noreply.github.com",
        "time": "Mon Sep 19 22:32:10 2016"
      },
      "committer": {
        "name": "BrandonY",
        "email": "brandony@gmail.com",
        "time": "Mon Sep 19 22:32:10 2016"
      },
      "message": "Remove listing of Blobstore BlobInfo (#38)\n\n"
    },
    {
      "commit": "eb96b30e3aa339ce4949c3436905cceaf9a7ad90",
      "tree": "fd5fca1032528fb5c970a182929579c2150e85e6",
      "parents": [
        "4101cbd6ce90091f75319428f08d173b3a99b9b1"
      ],
      "author": {
        "name": "RichieEscarez",
        "email": "rescarez@google.com",
        "time": "Thu Aug 25 18:58:20 2016"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Aug 25 18:58:20 2016"
      },
      "message": "Removed application: and version: elements\n\nUpdating [tutorial](https://cloud.google.com/appengine/docs/python/googlecloudstorageclient/app-engine-cloud-storage-sample) to instead use gcloud app deploy, which does not support the application: and version: elements in app.yaml files (command will fail with errors)"
    },
    {
      "commit": "4101cbd6ce90091f75319428f08d173b3a99b9b1",
      "tree": "b941625da3b19bb6a0d5de32e50e1fd4c03fe1d0",
      "parents": [
        "9b605b6a99ed177347d3ced31be04a4272b724b3"
      ],
      "author": {
        "name": "Ajay Kannan",
        "email": "ajkannan@users.noreply.github.com",
        "time": "Thu Jun 30 00:08:22 2016"
      },
      "committer": {
        "name": "BrandonY",
        "email": "brandony@gmail.com",
        "time": "Thu Jun 30 00:08:22 2016"
      },
      "message": "minor cleanup (#37)\n\n"
    },
    {
      "commit": "9b605b6a99ed177347d3ced31be04a4272b724b3",
      "tree": "ebd15fbef70134403fdabae1f69ab49e33bcb466",
      "parents": [
        "6fccf79799eb21ce0609efe40fd4f8b91095af6c"
      ],
      "author": {
        "name": "Ajay Kannan",
        "email": "ajkannan@users.noreply.github.com",
        "time": "Wed Jun 29 23:44:42 2016"
      },
      "committer": {
        "name": "BrandonY",
        "email": "brandony@gmail.com",
        "time": "Wed Jun 29 23:44:42 2016"
      },
      "message": "Load metadata from Blobstore API (as a backup) when running locally (#36)\n\n* Allow this library to read metadata stored by Blobstore API\r\n\r\n* Document that listing only checks for Blobstore metadata is no results from this client library\u0027s metadata query\r\n"
    },
    {
      "commit": "6fccf79799eb21ce0609efe40fd4f8b91095af6c",
      "tree": "d328b6d7dc5208f534b94ef4637b066ba3246d0e",
      "parents": [
        "162be21e62f690ec83f89a8c11c40718193ccd46"
      ],
      "author": {
        "name": "Brandon Yarbrough",
        "email": "brandony@gmail.com",
        "time": "Wed Apr 20 18:33:50 2016"
      },
      "committer": {
        "name": "Brandon Yarbrough",
        "email": "brandony@gmail.com",
        "time": "Wed Apr 20 18:33:50 2016"
      },
      "message": "Update version numbers now that we have released 0.6.\n\nAllow Appengine GCS client app to be run directly from Maven.\nAlso bring sundry dependencies into 2016.\n-------------\nCreated by MOE: https://github.com/google/moe\nMOE_MIGRATED_REVID\u003d120290568\n"
    },
    {
      "commit": "162be21e62f690ec83f89a8c11c40718193ccd46",
      "tree": "472ef52822a3893589f5cd15f384d505798f5759",
      "parents": [
        "ca7a2978c9ed0a77c2a58c86b781ef6a150f0a36"
      ],
      "author": {
        "name": "Brandon Yarbrough",
        "email": "brandony@gmail.com",
        "time": "Wed Apr 20 00:45:58 2016"
      },
      "committer": {
        "name": "Brandon Yarbrough",
        "email": "brandony@gmail.com",
        "time": "Wed Apr 20 00:58:51 2016"
      },
      "message": "Allow Appengine GCS client app to be run directly from Maven.\n\nAlso bring sundry dependencies into 2016.\n-------------\nCreated by MOE: https://github.com/google/moe\nMOE_MIGRATED_REVID\u003d120290568\n"
    },
    {
      "commit": "ca7a2978c9ed0a77c2a58c86b781ef6a150f0a36",
      "tree": "4234ab7ae4ce006b04029040f69bb7673223bff0",
      "parents": [
        "3c2df7e542c92aa77d0b3bbf0381c036363dbce6",
        "bcc0853c48eae6dba1524936bd4fbf895529f594"
      ],
      "author": {
        "name": "halgrimur",
        "email": "douga@google.com",
        "time": "Sun Apr 17 21:21:09 2016"
      },
      "committer": {
        "name": "halgrimur",
        "email": "douga@google.com",
        "time": "Sun Apr 17 21:21:09 2016"
      },
      "message": "Merge pull request #31 from GoogleCloudPlatform/halgrimur-patch-3\n\nUpdate index.html"
    },
    {
      "commit": "bcc0853c48eae6dba1524936bd4fbf895529f594",
      "tree": "4234ab7ae4ce006b04029040f69bb7673223bff0",
      "parents": [
        "3c2df7e542c92aa77d0b3bbf0381c036363dbce6"
      ],
      "author": {
        "name": "halgrimur",
        "email": "douga@google.com",
        "time": "Sun Apr 17 21:20:57 2016"
      },
      "committer": {
        "name": "halgrimur",
        "email": "douga@google.com",
        "time": "Sun Apr 17 21:20:57 2016"
      },
      "message": "Update index.html\n\nAdd region tags for docs."
    },
    {
      "commit": "3c2df7e542c92aa77d0b3bbf0381c036363dbce6",
      "tree": "ea710ee0bf98a9555e470e682690a9fc1427851d",
      "parents": [
        "bf15d4575236709780689b46b6967b1894b27ac9",
        "a97d6ceaaba894c154f53e23278a1a3a4cda2f33"
      ],
      "author": {
        "name": "halgrimur",
        "email": "douga@google.com",
        "time": "Sun Apr 17 20:49:51 2016"
      },
      "committer": {
        "name": "halgrimur",
        "email": "douga@google.com",
        "time": "Sun Apr 17 20:49:51 2016"
      },
      "message": "Merge pull request #30 from GoogleCloudPlatform/halgrimur-patch-2\n\nUpdate GcsExampleServlet.java"
    },
    {
      "commit": "a97d6ceaaba894c154f53e23278a1a3a4cda2f33",
      "tree": "ea710ee0bf98a9555e470e682690a9fc1427851d",
      "parents": [
        "bf15d4575236709780689b46b6967b1894b27ac9"
      ],
      "author": {
        "name": "halgrimur",
        "email": "douga@google.com",
        "time": "Sun Apr 17 20:49:36 2016"
      },
      "committer": {
        "name": "halgrimur",
        "email": "douga@google.com",
        "time": "Sun Apr 17 20:49:36 2016"
      },
      "message": "Update GcsExampleServlet.java\n\nAdd region tags for docs."
    },
    {
      "commit": "bf15d4575236709780689b46b6967b1894b27ac9",
      "tree": "05e71a632749840bc2615d4a5fba059900347538",
      "parents": [
        "d8f927b5364c380bcd79019e3bad1bf4fd7e1a08",
        "3c7342337e93f1738177cece2b2d7d81ba258ffe"
      ],
      "author": {
        "name": "halgrimur",
        "email": "douga@google.com",
        "time": "Wed Apr 13 12:14:06 2016"
      },
      "committer": {
        "name": "halgrimur",
        "email": "douga@google.com",
        "time": "Wed Apr 13 12:14:06 2016"
      },
      "message": "Merge pull request #29 from GoogleCloudPlatform/halgrimur-patch-1\n\nUpdate main.py"
    },
    {
      "commit": "3c7342337e93f1738177cece2b2d7d81ba258ffe",
      "tree": "05e71a632749840bc2615d4a5fba059900347538",
      "parents": [
        "d8f927b5364c380bcd79019e3bad1bf4fd7e1a08"
      ],
      "author": {
        "name": "halgrimur",
        "email": "douga@google.com",
        "time": "Wed Apr 13 12:13:52 2016"
      },
      "committer": {
        "name": "halgrimur",
        "email": "douga@google.com",
        "time": "Wed Apr 13 12:13:52 2016"
      },
      "message": "Update main.py\n\nAdd region tags for documentation purposes."
    },
    {
      "commit": "d8f927b5364c380bcd79019e3bad1bf4fd7e1a08",
      "tree": "437f6d900aca42219dbc515dbb511816c6b979f1",
      "parents": [
        "d589b209fedc9d35d9f144d2213755381eb4d830"
      ],
      "author": {
        "name": "Brandon Yarbrough",
        "email": "brandony@gmail.com",
        "time": "Fri Apr 08 21:53:25 2016"
      },
      "committer": {
        "name": "Brandon Yarbrough",
        "email": "brandony@gmail.com",
        "time": "Fri Apr 08 22:01:23 2016"
      },
      "message": "Fix JavaDoc errors.\n-------------\nCreated by MOE: https://github.com/google/moe\nMOE_MIGRATED_REVID\u003d119412165\n"
    },
    {
      "commit": "d589b209fedc9d35d9f144d2213755381eb4d830",
      "tree": "f583505355382d14ef5d0f1ceba5bc0ccd205ad4",
      "parents": [
        "74dc0d08911dda3fd3a47ee302b3aad1f654fe41"
      ],
      "author": {
        "name": "Steven Klein",
        "email": "stevenklein@google.com",
        "time": "Thu Apr 07 22:54:19 2016"
      },
      "committer": {
        "name": "Brandon Yarbrough",
        "email": "brandony@gmail.com",
        "time": "Thu Apr 07 22:54:19 2016"
      },
      "message": "Add checks for gcs bucket storageClass and location.\n\nLocation must be in the same region, and storageClass does not support\nNEARLINE.\n"
    },
    {
      "commit": "74dc0d08911dda3fd3a47ee302b3aad1f654fe41",
      "tree": "70cde03de780a015d826a5f961cc3fba78c83368",
      "parents": [
        "f9dbbd43ec431f739aa33a44cf24d32a19579f33"
      ],
      "author": {
        "name": "Nathan Herring",
        "email": "nherring@google.com",
        "time": "Thu Apr 07 22:42:25 2016"
      },
      "committer": {
        "name": "Brandon Yarbrough",
        "email": "brandony@gmail.com",
        "time": "Thu Apr 07 22:43:38 2016"
      },
      "message": "Make AE GCS User-Agents conform to RFC 7231.\n\nFixes #27.\n"
    },
    {
      "commit": "f9dbbd43ec431f739aa33a44cf24d32a19579f33",
      "tree": "823b0575fbf3a09b06e9b3f2d08ac85ce166e448",
      "parents": [
        "3a131ca6687069762de2f7a7dc53fbc1960a9be6"
      ],
      "author": {
        "name": "Nathan Herring",
        "email": "nherring@google.com",
        "time": "Fri Mar 04 23:23:33 2016"
      },
      "committer": {
        "name": "Nathan Herring",
        "email": "nherring@google.com",
        "time": "Fri Mar 04 23:23:33 2016"
      },
      "message": "Ignore maven-generated java .class files\n"
    },
    {
      "commit": "3a131ca6687069762de2f7a7dc53fbc1960a9be6",
      "tree": "01e7d775ce4e42bdc09bc033eadb00c83f70ba57",
      "parents": [
        "e73ab6122c19c34b8271b4fd287752c502b27488"
      ],
      "author": {
        "name": "halgrimur",
        "email": "douga@google.com",
        "time": "Sat Feb 13 00:22:37 2016"
      },
      "committer": {
        "name": "halgrimur",
        "email": "douga@google.com",
        "time": "Sat Feb 13 00:22:37 2016"
      },
      "message": "Update main.py\n\nAdd documentation tags."
    },
    {
      "commit": "e73ab6122c19c34b8271b4fd287752c502b27488",
      "tree": "c3abca787db9d6924003cac28efc1d2f82c2e6f8",
      "parents": [
        "947bb27de8aaaca37f3f3b326bb0156e185efe1e"
      ],
      "author": {
        "name": "halgrimur",
        "email": "douga@google.com",
        "time": "Fri Feb 12 00:42:20 2016"
      },
      "committer": {
        "name": "halgrimur",
        "email": "douga@google.com",
        "time": "Fri Feb 12 00:42:20 2016"
      },
      "message": "Update GcsExampleServlet.java\n\nAdd tags needed for documentation."
    },
    {
      "commit": "947bb27de8aaaca37f3f3b326bb0156e185efe1e",
      "tree": "ce9455c35281abcd9c3e46e2bf2f99e7001ae75d",
      "parents": [
        "c0cd05cc2d035c8eeda2e94158a6bf6955b78003",
        "8711d3f25ca42798e4e6af542fdf69e47f9f7da4"
      ],
      "author": {
        "name": "halgrimur",
        "email": "douga@google.com",
        "time": "Fri Feb 12 00:37:30 2016"
      },
      "committer": {
        "name": "halgrimur",
        "email": "douga@google.com",
        "time": "Fri Feb 12 00:37:30 2016"
      },
      "message": "Merge pull request #26 from GoogleCloudPlatform/halgrimur-patch-1\n\nUpdate main.py"
    },
    {
      "commit": "8711d3f25ca42798e4e6af542fdf69e47f9f7da4",
      "tree": "ce9455c35281abcd9c3e46e2bf2f99e7001ae75d",
      "parents": [
        "c0cd05cc2d035c8eeda2e94158a6bf6955b78003"
      ],
      "author": {
        "name": "halgrimur",
        "email": "douga@google.com",
        "time": "Fri Feb 12 00:37:11 2016"
      },
      "committer": {
        "name": "halgrimur",
        "email": "douga@google.com",
        "time": "Fri Feb 12 00:37:11 2016"
      },
      "message": "Update main.py\n\nInsert tags needed for documentation."
    },
    {
      "commit": "c0cd05cc2d035c8eeda2e94158a6bf6955b78003",
      "tree": "a7cf751e6a1278fa462d9dac51916ea38baddd0c",
      "parents": [
        "b8b1a6d20af462cebf1dbe1d73d6e45716b25e17"
      ],
      "author": {
        "name": "Brandon Yarbrough",
        "email": "brandony@gmail.com",
        "time": "Fri Jan 08 00:21:36 2016"
      },
      "committer": {
        "name": "Brandon Yarbrough",
        "email": "brandony@gmail.com",
        "time": "Fri Jan 08 00:37:46 2016"
      },
      "message": "Reformat README text.\n-------------\nCreated by MOE: https://github.com/google/moe\nMOE_MIGRATED_REVID\u003d111649542\n"
    },
    {
      "commit": "b8b1a6d20af462cebf1dbe1d73d6e45716b25e17",
      "tree": "f17346cd55f4fb734d9ed4621456624b2d82f4eb",
      "parents": [
        "3d3962d0b73414980d97cb5edb57bd00bba8c6a2"
      ],
      "author": {
        "name": "Brandon Yarbrough",
        "email": "brandony@gmail.com",
        "time": "Thu Jan 07 23:41:24 2016"
      },
      "committer": {
        "name": "Brandon Yarbrough",
        "email": "brandony@gmail.com",
        "time": "Fri Jan 08 00:30:08 2016"
      },
      "message": "Remove the second copy of the cloudstorage Python library from demo/.\n\n-------------\nCreated by MOE: https://github.com/google/moe\n-------------\nCreated by MOE: https://github.com/google/moe\nMOE_MIGRATED_REVID\u003d111645751\n"
    },
    {
      "commit": "3d3962d0b73414980d97cb5edb57bd00bba8c6a2",
      "tree": "638b1a73866aa3cda56818d83cd9137b2c40cfc7",
      "parents": [
        "67073a439bae82baaefa99e1dfa5357e1bbfaa3b"
      ],
      "author": {
        "name": "Brandon Yarbrough",
        "email": "brandony@gmail.com",
        "time": "Thu Jan 07 19:40:11 2016"
      },
      "committer": {
        "name": "Brandon Yarbrough",
        "email": "brandony@gmail.com",
        "time": "Thu Jan 07 19:40:11 2016"
      },
      "message": "Remove the second copy of the cloudstorage Python library from demo/.\n"
    },
    {
      "commit": "67073a439bae82baaefa99e1dfa5357e1bbfaa3b",
      "tree": "80239c6e8656e72228517d40bc8b5a34a3359efd",
      "parents": [
        "90e8971c853ab9c63e7db472fe109518a31024f3"
      ],
      "author": {
        "name": "Maciek Wojciechowski",
        "email": "mackiekw@google.com",
        "time": "Thu Jan 07 18:56:13 2016"
      },
      "committer": {
        "name": "Brandon Yarbrough",
        "email": "brandony@gmail.com",
        "time": "Thu Jan 07 18:56:13 2016"
      },
      "message": "Force writes on get_token_async.\n"
    },
    {
      "commit": "90e8971c853ab9c63e7db472fe109518a31024f3",
      "tree": "16a8eacbeeb2a33e29993cb6c03360b6a1ca6725",
      "parents": [
        "4376fff217038bc51a7980646d82b845dc1f2332"
      ],
      "author": {
        "name": "Kyle Smith",
        "email": "krs@google.com",
        "time": "Thu Jan 07 18:49:47 2016"
      },
      "committer": {
        "name": "Brandon Yarbrough",
        "email": "brandony@gmail.com",
        "time": "Thu Jan 07 18:49:47 2016"
      },
      "message": "Fix typo: Cound -\u003e Could\n"
    },
    {
      "commit": "4376fff217038bc51a7980646d82b845dc1f2332",
      "tree": "f5a1a65ad5fa3bb22add2f3b452b360ce9bca91b",
      "parents": [
        "10f56f3d8e0ec75c8f892ec1160e1af47c80c4b0"
      ],
      "author": {
        "name": "Travis Hobrla",
        "email": "thobrla@google.com",
        "time": "Thu Jan 07 18:48:17 2016"
      },
      "committer": {
        "name": "Brandon Yarbrough",
        "email": "brandony@gmail.com",
        "time": "Thu Jan 07 18:48:17 2016"
      },
      "message": "Update DEFAULT_REQUEST_TIMEOUT_RETRY_FACTOR to 1.2.\n\nUse the parameter instead of the hard-coded value.\n"
    },
    {
      "commit": "10f56f3d8e0ec75c8f892ec1160e1af47c80c4b0",
      "tree": "b92c0435afe4429bfe9b0ce8eb9d42343ff86c91",
      "parents": [
        "3ec2e63be64bb45d7e534e35f659d2298c5be6d1"
      ],
      "author": {
        "name": "Travis Hobrla",
        "email": "thobrla@google.com",
        "time": "Thu Jan 07 18:46:52 2016"
      },
      "committer": {
        "name": "Brandon Yarbrough",
        "email": "brandony@gmail.com",
        "time": "Thu Jan 07 18:46:52 2016"
      },
      "message": "Update appengine-gcs-client retry defaults to match GCS SLA.\n\nThis changes the client\u0027s retry behavior to:\n[1s, 2s, 4s, 8s, 16, give up]\n"
    },
    {
      "commit": "3ec2e63be64bb45d7e534e35f659d2298c5be6d1",
      "tree": "c547ec1bebcdba5fccf59b0c4bffad74dc745989",
      "parents": [
        "0cffd5bf06058fd9523fe5949d1430e6f0551cdb",
        "37bd7a2e1d18702209b1f2e38fcd1ec2f5136575"
      ],
      "author": {
        "name": "BrandonY",
        "email": "brandony@gmail.com",
        "time": "Thu Aug 27 22:38:12 2015"
      },
      "committer": {
        "name": "BrandonY",
        "email": "brandony@gmail.com",
        "time": "Thu Aug 27 22:38:12 2015"
      },
      "message": "Merge pull request #19 from aozarov/master\n\nexpose \"X-GOOG-\" headers"
    },
    {
      "commit": "37bd7a2e1d18702209b1f2e38fcd1ec2f5136575",
      "tree": "c547ec1bebcdba5fccf59b0c4bffad74dc745989",
      "parents": [
        "5d30591dcd4ea805c3710613610a6ea35714e64f"
      ],
      "author": {
        "name": "aozarov",
        "email": "aozarov@gmail.com",
        "time": "Thu Aug 27 22:16:22 2015"
      },
      "committer": {
        "name": "aozarov",
        "email": "aozarov@gmail.com",
        "time": "Thu Aug 27 22:16:22 2015"
      },
      "message": "rename function and add javadoc\n"
    },
    {
      "commit": "5d30591dcd4ea805c3710613610a6ea35714e64f",
      "tree": "769c8785f912ad829c998bc6f49a83d324dcdeb5",
      "parents": [
        "0cffd5bf06058fd9523fe5949d1430e6f0551cdb"
      ],
      "author": {
        "name": "aozarov",
        "email": "aozarov@gmail.com",
        "time": "Thu Aug 27 21:26:17 2015"
      },
      "committer": {
        "name": "aozarov",
        "email": "aozarov@gmail.com",
        "time": "Thu Aug 27 21:26:17 2015"
      },
      "message": "expose \"X-GOOG-\" headers\n"
    },
    {
      "commit": "0cffd5bf06058fd9523fe5949d1430e6f0551cdb",
      "tree": "a747dc223ff284eed458353b68e9e827b68e6f9b",
      "parents": [
        "ddb38d680899f49dfe23b9b00ca0dd5a4bf1d7b0"
      ],
      "author": {
        "name": "Travis Hobrla",
        "email": "thobrla@google.com",
        "time": "Tue Aug 25 17:20:24 2015"
      },
      "committer": {
        "name": "Travis Hobrla",
        "email": "thobrla@google.com",
        "time": "Tue Aug 25 17:20:59 2015"
      },
      "message": "- Encrypt oauth tokens before persisting them.\n- Bump version to 1.9.22.1\n\nJava client:\n- Remove dependency on the Files API\n"
    },
    {
      "commit": "ddb38d680899f49dfe23b9b00ca0dd5a4bf1d7b0",
      "tree": "a7681c763e6bfc05d7cb0e649e91d22923fc336d",
      "parents": [
        "21dc7aaced4cc4c3c666310cea85648e5f02ebce"
      ],
      "author": {
        "name": "tkaitchuck",
        "email": "tkaitchuck@google.com",
        "time": "Wed Jun 24 22:30:44 2015"
      },
      "committer": {
        "name": "tkaitchuck",
        "email": "tkaitchuck@google.com",
        "time": "Wed Jun 24 22:30:44 2015"
      },
      "message": "Pushing out some internal changes:\nRe-order offset parameter so that it does not conflict with users providing a single optional parameter.\nAdd some additional error handling.\n"
    },
    {
      "commit": "21dc7aaced4cc4c3c666310cea85648e5f02ebce",
      "tree": "ef0c7f720016f4b4567e9cfc3ad7b6ceef448442",
      "parents": [
        "87a108909258972249e2f7056a49451fa8999a82",
        "30f5f6c6e9344c3b22898756f568f4bb8148677b"
      ],
      "author": {
        "name": "Tom Kaitchuck",
        "email": "tom.kaitchuck@gmail.com",
        "time": "Thu Jun 18 22:41:39 2015"
      },
      "committer": {
        "name": "Tom Kaitchuck",
        "email": "tom.kaitchuck@gmail.com",
        "time": "Thu Jun 18 22:41:39 2015"
      },
      "message": "Merge pull request #12 from andreisafronau/copy2\n\nMake cloudstorage._copy2() public."
    },
    {
      "commit": "30f5f6c6e9344c3b22898756f568f4bb8148677b",
      "tree": "ef0c7f720016f4b4567e9cfc3ad7b6ceef448442",
      "parents": [
        "87a108909258972249e2f7056a49451fa8999a82"
      ],
      "author": {
        "name": "Andrei Safronau",
        "email": "andrei.safronau@gmail.com",
        "time": "Thu Jun 18 20:58:26 2015"
      },
      "committer": {
        "name": "Andrei Safronau",
        "email": "andrei.safronau@gmail.com",
        "time": "Thu Jun 18 20:58:26 2015"
      },
      "message": "Make cloudstorage.copy2() function public.\n"
    },
    {
      "commit": "87a108909258972249e2f7056a49451fa8999a82",
      "tree": "fd74cbd00896d16f4190e17fcca14b95865f28d4",
      "parents": [
        "885348bdc52db5adae84c43f9066d2493f53d4a5"
      ],
      "author": {
        "name": "Tom Kaitchuck",
        "email": "tom.kaitchuck@gmail.com",
        "time": "Mon Jun 01 22:47:01 2015"
      },
      "committer": {
        "name": "Tom Kaitchuck",
        "email": "tom.kaitchuck@gmail.com",
        "time": "Mon Jun 01 22:47:01 2015"
      },
      "message": "Point to documentation\n\nPer issue #11"
    },
    {
      "commit": "885348bdc52db5adae84c43f9066d2493f53d4a5",
      "tree": "26dea134eca4a9fcb9cdb9dd7aa66e6797bc82cb",
      "parents": [
        "3472ec46897ce4f3f90ec21ea0cbd29d9e502800"
      ],
      "author": {
        "name": "Troy Trimble",
        "email": "troy.trimble@gmail.com",
        "time": "Tue May 26 05:49:48 2015"
      },
      "committer": {
        "name": "Troy Trimble",
        "email": "troy.trimble@gmail.com",
        "time": "Tue May 26 05:49:48 2015"
      },
      "message": "bump pypi version to 1.9.21\n"
    },
    {
      "commit": "3472ec46897ce4f3f90ec21ea0cbd29d9e502800",
      "tree": "a950b39c501d94c84dc36a35a7f6dc568657d042",
      "parents": [
        "987fc7d13bf89ffec96442c97c6a95d60ad90e33",
        "35da6070e05a0fe1a388d8af7104dc970a1a4b4f"
      ],
      "author": {
        "name": "Arie",
        "email": "aozarov@users.noreply.github.com",
        "time": "Thu Apr 23 16:38:58 2015"
      },
      "committer": {
        "name": "Arie",
        "email": "aozarov@users.noreply.github.com",
        "time": "Thu Apr 23 16:38:58 2015"
      },
      "message": "Merge pull request #6 from rbruyere/master\n\nAdded compose to the cloudstorage library"
    },
    {
      "commit": "35da6070e05a0fe1a388d8af7104dc970a1a4b4f",
      "tree": "11f70a161ca45407b64ae127116451e474d87d11",
      "parents": [
        "cf53f0f5565c93f657cec9b2f7d32b794a558557"
      ],
      "author": {
        "name": "rbruyere",
        "email": "rbruyere@gmail.com",
        "time": "Wed Apr 22 19:23:14 2015"
      },
      "committer": {
        "name": "rbruyere",
        "email": "rbruyere@gmail.com",
        "time": "Wed Apr 22 19:23:14 2015"
      },
      "message": "Fixed quoting issue\n"
    },
    {
      "commit": "cf53f0f5565c93f657cec9b2f7d32b794a558557",
      "tree": "589997972b450f3d0d568f6b5d6b8e00707ada0f",
      "parents": [
        "cc48902c934f0ed7ca9d33d64ee468820d675fcc"
      ],
      "author": {
        "name": "rbruyere",
        "email": "rbruyere@gmail.com",
        "time": "Wed Apr 22 18:49:05 2015"
      },
      "committer": {
        "name": "rbruyere",
        "email": "rbruyere@gmail.com",
        "time": "Wed Apr 22 18:49:05 2015"
      },
      "message": "Minor\n\nFixed some minor issues. Changed the checker for all strings. Don\u0027t need\nto check other valid tests for len() as they would be caught later.\n"
    },
    {
      "commit": "987fc7d13bf89ffec96442c97c6a95d60ad90e33",
      "tree": "57f6735df13e25e1f38661e4cb69e5cc66c87c9a",
      "parents": [
        "00ba52e8ef7f9eaba43c6a787e10986506fdd95c",
        "95870bf82c93df2d57085aaad511cc6957d0b17d"
      ],
      "author": {
        "name": "Arie",
        "email": "aozarov@users.noreply.github.com",
        "time": "Mon Apr 20 15:29:15 2015"
      },
      "committer": {
        "name": "Arie",
        "email": "aozarov@users.noreply.github.com",
        "time": "Mon Apr 20 15:29:15 2015"
      },
      "message": "Merge pull request #1 from flightmaster/master\n\nAdded offset parameter to open() and ReadBuffer"
    },
    {
      "commit": "95870bf82c93df2d57085aaad511cc6957d0b17d",
      "tree": "380811f48f5b8471c09dcf5bb0cee74d02d70fb9",
      "parents": [
        "94b6aee26cdf4d48fc8666a6ce01523563d18a5f"
      ],
      "author": {
        "name": "Kevin Haines",
        "email": "kevin.haines@appsbroker.com",
        "time": "Mon Apr 20 07:09:45 2015"
      },
      "committer": {
        "name": "Kevin Haines",
        "email": "kevin.haines@appsbroker.com",
        "time": "Mon Apr 20 07:09:45 2015"
      },
      "message": "Updated docstring with new offset parameters\n"
    },
    {
      "commit": "cc48902c934f0ed7ca9d33d64ee468820d675fcc",
      "tree": "5557a129597fdf0c205f01f3891e57ecba939f3c",
      "parents": [
        "9b30f1b6d981aff4e2c7ee0c9e6093f9026d2639"
      ],
      "author": {
        "name": "rbruyere",
        "email": "rbruyere@gmail.com",
        "time": "Sat Apr 18 16:58:15 2015"
      },
      "committer": {
        "name": "rbruyere",
        "email": "rbruyere@gmail.com",
        "time": "Sat Apr 18 16:58:15 2015"
      },
      "message": "Cleanup\n"
    },
    {
      "commit": "9b30f1b6d981aff4e2c7ee0c9e6093f9026d2639",
      "tree": "88ba8d5c02165dcb28aa65686e1a351b4712837d",
      "parents": [
        "ccd5679e0f6e2d9a4c6b697720f77c4f4db42bae"
      ],
      "author": {
        "name": "rbruyere",
        "email": "rbruyere@gmail.com",
        "time": "Fri Apr 17 19:46:54 2015"
      },
      "committer": {
        "name": "rbruyere",
        "email": "rbruyere@gmail.com",
        "time": "Fri Apr 17 19:46:54 2015"
      },
      "message": "Fixed gitignore\n"
    },
    {
      "commit": "ccd5679e0f6e2d9a4c6b697720f77c4f4db42bae",
      "tree": "2eeae989defd6f663394a10ef282a71a5792b7cd",
      "parents": [
        "289050467974cc2d1124fcb9ce2b0b3e4a10f549"
      ],
      "author": {
        "name": "rbruyere",
        "email": "rbruyere@gmail.com",
        "time": "Fri Apr 17 01:15:27 2015"
      },
      "committer": {
        "name": "rbruyere",
        "email": "rbruyere@gmail.com",
        "time": "Fri Apr 17 01:15:27 2015"
      },
      "message": "Wrote proper unit test\n"
    },
    {
      "commit": "289050467974cc2d1124fcb9ce2b0b3e4a10f549",
      "tree": "f1daa518d9814ac6b115f36e98a2e4e29cf89d6e",
      "parents": [
        "d5ae0704b90d61939c51fd8e59374d62b654c582"
      ],
      "author": {
        "name": "rbruyere",
        "email": "rbruyere@gmail.com",
        "time": "Wed Apr 08 22:54:51 2015"
      },
      "committer": {
        "name": "rbruyere",
        "email": "rbruyere@gmail.com",
        "time": "Wed Apr 08 22:54:51 2015"
      },
      "message": "Removed settings file\n"
    },
    {
      "commit": "d5ae0704b90d61939c51fd8e59374d62b654c582",
      "tree": "b054bd833ac359cace6e8e58ab5eb75ec3589103",
      "parents": [
        "9870dffcae65efe120ef89079f46092d0e4ab284"
      ],
      "author": {
        "name": "rbruyere",
        "email": "rbruyere@gmail.com",
        "time": "Sun Apr 05 20:40:38 2015"
      },
      "committer": {
        "name": "rbruyere",
        "email": "rbruyere@gmail.com",
        "time": "Sun Apr 05 20:40:38 2015"
      },
      "message": "Updates based of recommendations\n"
    },
    {
      "commit": "9870dffcae65efe120ef89079f46092d0e4ab284",
      "tree": "2ecdb7c6c4899c7c0d189adbe1f80de06b070859",
      "parents": [
        "c75dba566f5b649ce42592692310507b400b8bd8"
      ],
      "author": {
        "name": "rbruyere",
        "email": "rbruyere@gmail.com",
        "time": "Thu Apr 02 14:46:17 2015"
      },
      "committer": {
        "name": "rbruyere",
        "email": "rbruyere@gmail.com",
        "time": "Thu Apr 02 14:46:17 2015"
      },
      "message": "More fixes to lib, fixed string handling in test\n"
    },
    {
      "commit": "c75dba566f5b649ce42592692310507b400b8bd8",
      "tree": "bf64bbcbc1fb53a68c7a4e30be51f06875c2540d",
      "parents": [
        "a79f0163955001c6939289396a495cadd08dab62"
      ],
      "author": {
        "name": "rbruyere",
        "email": "rbruyere@gmail.com",
        "time": "Wed Apr 01 19:15:33 2015"
      },
      "committer": {
        "name": "rbruyere",
        "email": "rbruyere@gmail.com",
        "time": "Wed Apr 01 19:15:33 2015"
      },
      "message": "In-lined with style guide\n"
    },
    {
      "commit": "a79f0163955001c6939289396a495cadd08dab62",
      "tree": "dd3d06cb759892e47690ee2cb7406cdf8f913047",
      "parents": [
        "535b7ae4c3394803d0e8ea6d257d11439b3278b5"
      ],
      "author": {
        "name": "rbruyere",
        "email": "rbruyere@gmail.com",
        "time": "Tue Mar 31 16:28:25 2015"
      },
      "committer": {
        "name": "rbruyere",
        "email": "rbruyere@gmail.com",
        "time": "Tue Mar 31 16:28:25 2015"
      },
      "message": "Re did the string building for the XML call\n"
    },
    {
      "commit": "535b7ae4c3394803d0e8ea6d257d11439b3278b5",
      "tree": "f2b190cdb6f273f066b51cc94e2589f73fe89671",
      "parents": [
        "e9e23359245f9032859198431e53bd0d85c18f91"
      ],
      "author": {
        "name": "rbruyere",
        "email": "rbruyere@gmail.com",
        "time": "Mon Mar 30 20:51:43 2015"
      },
      "committer": {
        "name": "rbruyere",
        "email": "rbruyere@gmail.com",
        "time": "Mon Mar 30 20:51:43 2015"
      },
      "message": "Fixed some more!\n"
    },
    {
      "commit": "e9e23359245f9032859198431e53bd0d85c18f91",
      "tree": "bebeab13344cd1c93eb0b9092e8ecdd44967e3f0",
      "parents": [
        "58ba82cd5d5f6586d643fd6678a90eadcf219a3f"
      ],
      "author": {
        "name": "rbruyere",
        "email": "rbruyere@gmail.com",
        "time": "Mon Mar 30 15:49:21 2015"
      },
      "committer": {
        "name": "rbruyere",
        "email": "rbruyere@gmail.com",
        "time": "Mon Mar 30 15:49:21 2015"
      },
      "message": "Fixed issues as per comments\n"
    },
    {
      "commit": "58ba82cd5d5f6586d643fd6678a90eadcf219a3f",
      "tree": "9ca782faa0d68ed41c359e9e5e3ced41cdc9ce78",
      "parents": [
        "9320fb7b11ecea37a8cab101ad585fe329c7328e"
      ],
      "author": {
        "name": "rbruyere",
        "email": "rbruyere@gmail.com",
        "time": "Fri Mar 27 17:05:35 2015"
      },
      "committer": {
        "name": "rbruyere",
        "email": "rbruyere@gmail.com",
        "time": "Fri Mar 27 17:05:35 2015"
      },
      "message": "Re-factored again\n"
    },
    {
      "commit": "9320fb7b11ecea37a8cab101ad585fe329c7328e",
      "tree": "e4b1660374d17ea374ddb3c40c59fc05f2b0a2d0",
      "parents": [
        "5fab4b41be416a6395eb6b659b7b600c3d184a3d"
      ],
      "author": {
        "name": "rbruyere",
        "email": "rbruyere@gmail.com",
        "time": "Wed Mar 25 13:28:12 2015"
      },
      "committer": {
        "name": "rbruyere",
        "email": "rbruyere@gmail.com",
        "time": "Wed Mar 25 13:28:12 2015"
      },
      "message": "Re-factored according to comments\n\nSwapped \" for \u0027\nRemoved \u0027\\\u0027\nCleaned up white spaces\n\nAdapted to accept list if file names as well as dicts.\n\nRemoved the sort option.\n\nPulled batching out into a separate function. Users now have a choice.\n\nRe-factored code to put the call into storage_api.\n\nUpdated test page to test both lists of files and dicts as well as both\ncompose and compose_batch\n"
    },
    {
      "commit": "5fab4b41be416a6395eb6b659b7b600c3d184a3d",
      "tree": "9d6b9e1d609a72c11eb7d191b4def63def1294b2",
      "parents": [
        "ae9fc793a2629b721c8fbd008ee7e08e74fad443"
      ],
      "author": {
        "name": "rbruyere",
        "email": "rbruyere@gmail.com",
        "time": "Wed Mar 04 16:22:39 2015"
      },
      "committer": {
        "name": "rbruyere",
        "email": "rbruyere@gmail.com",
        "time": "Wed Mar 04 16:22:39 2015"
      },
      "message": "Added compose to the cloudstorage library\n\nAdded the compose functionality to the cloudstorage library with a basic\ntest site.\n"
    },
    {
      "commit": "00ba52e8ef7f9eaba43c6a787e10986506fdd95c",
      "tree": "2cf17a08b189ad356e6bb53479389c65adc836b3",
      "parents": [
        "ae9fc793a2629b721c8fbd008ee7e08e74fad443"
      ],
      "author": {
        "name": "Troy Trimble",
        "email": "troy.trimble@gmail.com",
        "time": "Thu Feb 26 18:07:36 2015"
      },
      "committer": {
        "name": "Troy Trimble",
        "email": "troy.trimble@gmail.com",
        "time": "Thu Feb 26 18:07:36 2015"
      },
      "message": "allow AppIdentity oauth token to work in development environment.\n"
    },
    {
      "commit": "ae9fc793a2629b721c8fbd008ee7e08e74fad443",
      "tree": "b00388695ca61b7e408bf9a32e32fe1c7e345c01",
      "parents": [
        "32ff3aff836646ddf96c414dd939d3e8ee01ee90"
      ],
      "author": {
        "name": "halgrimur",
        "email": "douga@google.com",
        "time": "Thu Jan 29 00:20:20 2015"
      },
      "committer": {
        "name": "halgrimur",
        "email": "douga@google.com",
        "time": "Thu Jan 29 00:20:20 2015"
      },
      "message": "Update main.py"
    },
    {
      "commit": "32ff3aff836646ddf96c414dd939d3e8ee01ee90",
      "tree": "6b415f289bcdc83fb085c0add633531ed6b4c68d",
      "parents": [
        "f8745cf6a12888de647e31ab729e56633fc6081d"
      ],
      "author": {
        "name": "Brandon Yarbrough",
        "email": "yarbrough@google.com",
        "time": "Tue Dec 30 21:11:58 2014"
      },
      "committer": {
        "name": "Brandon Yarbrough",
        "email": "yarbrough@google.com",
        "time": "Tue Dec 30 21:11:58 2014"
      },
      "message": "Make URLFetchUtils date functions locale-independent.\n\nR\u003drygar,tkaitchuck\nDELTA\u003d6 (4 added, 0 deleted, 2 changed)\n\nRevision created by MOE tool push_codebase.\nMOE_MIGRATION\u003d7202\n"
    },
    {
      "commit": "94b6aee26cdf4d48fc8666a6ce01523563d18a5f",
      "tree": "509cfeb7e0385661fe88eefbe0fb193fef542e6f",
      "parents": [
        "f8745cf6a12888de647e31ab729e56633fc6081d"
      ],
      "author": {
        "name": "Kevin Haines",
        "email": "kevin.haines@appsbroker.com",
        "time": "Wed Dec 17 15:40:21 2014"
      },
      "committer": {
        "name": "Kevin Haines",
        "email": "kevin.haines@appsbroker.com",
        "time": "Wed Dec 17 15:40:21 2014"
      },
      "message": "Added offset parameter to open() and ReadBuffer\n"
    },
    {
      "commit": "f8745cf6a12888de647e31ab729e56633fc6081d",
      "tree": "76111f41fdbda56acc13b8a0b461b342ed379698",
      "parents": [
        "aeb7d310d51d97234426120243a231624ac76dea"
      ],
      "author": {
        "name": "Ryan Eiger",
        "email": "eiger.ryan@gmail.com",
        "time": "Fri Dec 12 00:00:53 2014"
      },
      "committer": {
        "name": "Ryan Eiger",
        "email": "eiger.ryan@gmail.com",
        "time": "Fri Dec 12 00:00:53 2014"
      },
      "message": "Remove testsize annotation, not exposed externally.\n\nR\u003dyarbrough\nDELTA\u003d3 (0 added, 3 deleted, 0 changed)\n\nRevision created by MOE tool push_codebase.\nMOE_MIGRATION\u003d7190\n"
    },
    {
      "commit": "aeb7d310d51d97234426120243a231624ac76dea",
      "tree": "299bdc83432b5bc63a025107a9fd2315df652ea1",
      "parents": [
        "57a92507a6c5621c98b888e154d0c584c08c6e61"
      ],
      "author": {
        "name": "Ryan Eiger",
        "email": "eiger.ryan@gmail.com",
        "time": "Thu Dec 11 23:38:07 2014"
      },
      "committer": {
        "name": "Ryan Eiger",
        "email": "eiger.ryan@gmail.com",
        "time": "Thu Dec 11 23:38:07 2014"
      },
      "message": "Remove FormattingLogger in favor of the regular Logger.\n\nR\u003dyarbrough\nDELTA\u003d8 (2 added, 4 deleted, 2 changed)\n\nRevision created by MOE tool push_codebase.\nMOE_MIGRATION\u003d7189\n"
    }
  ],
  "next": "57a92507a6c5621c98b888e154d0c584c08c6e61"
}
