)]}'
{
  "log": [
    {
      "commit": "66b94b9f6b45652d6824be23517979d31f27cd15",
      "tree": "4c364d9f6d78dd05133c184ebc656d7284d55985",
      "parents": [
        "5d64098b94ee9dbbea8ddc130208696bcd199ba4",
        "d3c0f79fa5215a8c2081238f6194b01e704192bb"
      ],
      "author": {
        "name": "Qi Zhao",
        "email": "toqizhao@gmail.com",
        "time": "Wed Feb 03 16:46:24 2016 -0800"
      },
      "committer": {
        "name": "Qi Zhao",
        "email": "toqizhao@gmail.com",
        "time": "Wed Feb 03 16:46:24 2016 -0800"
      },
      "message": "Merge pull request #525 from ejona86/sync-proto\n\nSync example protos from main repository"
    },
    {
      "commit": "d3c0f79fa5215a8c2081238f6194b01e704192bb",
      "tree": "4c364d9f6d78dd05133c184ebc656d7284d55985",
      "parents": [
        "5d64098b94ee9dbbea8ddc130208696bcd199ba4"
      ],
      "author": {
        "name": "Eric Anderson",
        "email": "ejona@google.com",
        "time": "Wed Feb 03 10:14:16 2016 -0800"
      },
      "committer": {
        "name": "Eric Anderson",
        "email": "ejona@google.com",
        "time": "Wed Feb 03 10:14:35 2016 -0800"
      },
      "message": "Sync example protos from main repository\n\ngrpc/grpc-java#1381\n"
    },
    {
      "commit": "5d64098b94ee9dbbea8ddc130208696bcd199ba4",
      "tree": "e4bce51d3dbdd173a9a189167530127c133e7f9e",
      "parents": [
        "fbb51f41f26630f6f77c28b778d6020ab59f0d7e",
        "65e73615990831c833120c069182f618982c6cd6"
      ],
      "author": {
        "name": "Qi Zhao",
        "email": "toqizhao@gmail.com",
        "time": "Mon Feb 01 13:55:10 2016 -0800"
      },
      "committer": {
        "name": "Qi Zhao",
        "email": "toqizhao@gmail.com",
        "time": "Mon Feb 01 13:55:10 2016 -0800"
      },
      "message": "Merge pull request #517 from zellyn/zellyn-grpclog-comments\n\nComment: explain concurrent access to grpclog.logger"
    },
    {
      "commit": "fbb51f41f26630f6f77c28b778d6020ab59f0d7e",
      "tree": "0623937cbdf548537122b701056de59d94b18483",
      "parents": [
        "a0f854fec276bf9ba66f968f160f4b6e8222ee0d",
        "d52370625dc36d6b4cdc89b60a516d1f7e165e33"
      ],
      "author": {
        "name": "Qi Zhao",
        "email": "toqizhao@gmail.com",
        "time": "Mon Feb 01 13:54:57 2016 -0800"
      },
      "committer": {
        "name": "Qi Zhao",
        "email": "toqizhao@gmail.com",
        "time": "Mon Feb 01 13:54:57 2016 -0800"
      },
      "message": "Merge pull request #518 from bradfitz/fatalf2\n\nFix more cases of Fatalf being used from goroutines started by tests."
    },
    {
      "commit": "d52370625dc36d6b4cdc89b60a516d1f7e165e33",
      "tree": "0623937cbdf548537122b701056de59d94b18483",
      "parents": [
        "a0f854fec276bf9ba66f968f160f4b6e8222ee0d"
      ],
      "author": {
        "name": "Brad Fitzpatrick",
        "email": "bradfitz@golang.org",
        "time": "Mon Feb 01 21:01:14 2016 +0000"
      },
      "committer": {
        "name": "Brad Fitzpatrick",
        "email": "bradfitz@golang.org",
        "time": "Mon Feb 01 21:01:14 2016 +0000"
      },
      "message": "Fix more cases of Fatalf being used from goroutines started by tests.\n\nFollow-up to #515 based on comments there from @maniksurtani.\n"
    },
    {
      "commit": "a0f854fec276bf9ba66f968f160f4b6e8222ee0d",
      "tree": "892f968d9427d8048fbc3ec54fab2d68ed8eb9ab",
      "parents": [
        "93591e7568831bcd7a06b96462022d4c57b487e1",
        "8024a575aac2300f910edf27769e1afdcc6f3960"
      ],
      "author": {
        "name": "Qi Zhao",
        "email": "toqizhao@gmail.com",
        "time": "Mon Feb 01 12:50:34 2016 -0800"
      },
      "committer": {
        "name": "Qi Zhao",
        "email": "toqizhao@gmail.com",
        "time": "Mon Feb 01 12:50:34 2016 -0800"
      },
      "message": "Merge pull request #515 from bradfitz/fatalf\n\nDon\u0027t call t.FailNow in goroutines started by tests."
    },
    {
      "commit": "65e73615990831c833120c069182f618982c6cd6",
      "tree": "eb367c609167786588c167b73682df338f1adc0d",
      "parents": [
        "93591e7568831bcd7a06b96462022d4c57b487e1"
      ],
      "author": {
        "name": "Zellyn Hunter",
        "email": "zellyn@squareup.com",
        "time": "Mon Feb 01 15:07:17 2016 -0500"
      },
      "committer": {
        "name": "Zellyn Hunter",
        "email": "zellyn@squareup.com",
        "time": "Mon Feb 01 15:07:17 2016 -0500"
      },
      "message": "Comment: explain concurrent access to grpclog.logger\n\ngrpc\u0027s pluggable logger is not mutex-protected: added comments that it\nshould be changed only in init() functions.\n"
    },
    {
      "commit": "8024a575aac2300f910edf27769e1afdcc6f3960",
      "tree": "8608b837340ae532fc5c4364d6fb02ba0573cd71",
      "parents": [
        "9d2ecf553a16eecc7047e20262918a672f8dc4b9"
      ],
      "author": {
        "name": "Brad Fitzpatrick",
        "email": "bradfitz@golang.org",
        "time": "Mon Feb 01 19:15:37 2016 +0000"
      },
      "committer": {
        "name": "Brad Fitzpatrick",
        "email": "bradfitz@golang.org",
        "time": "Mon Feb 01 19:15:37 2016 +0000"
      },
      "message": "Don\u0027t call t.FailNow in goroutines started by tests.\n\nThe docs at https://golang.org/pkg/testing/#T.FailNow say:\n\n\u003e FailNow must be called from the goroutine running the test or\n\u003e benchmark function, not from other goroutines created during the\n\u003e test.\n\n(Fatalf is documented as \"Fatalf is equivalent to Logf followed by\nFailNow.\")\n\nThis was manifesting itself as a race with two concurrently failing\ngoroutines in my other CL, masking whatever the real problem was.\n"
    },
    {
      "commit": "93591e7568831bcd7a06b96462022d4c57b487e1",
      "tree": "670d938c9ccf5353f0170c2e6109bd4e6e001a29",
      "parents": [
        "2e0ced7711de3fb78f1ed004e16ca3cbaa0d30c3",
        "9d2ecf553a16eecc7047e20262918a672f8dc4b9"
      ],
      "author": {
        "name": "Qi Zhao",
        "email": "toqizhao@gmail.com",
        "time": "Fri Jan 29 15:51:48 2016 -0800"
      },
      "committer": {
        "name": "Qi Zhao",
        "email": "toqizhao@gmail.com",
        "time": "Fri Jan 29 15:51:48 2016 -0800"
      },
      "message": "Merge pull request #508 from bradfitz/master\n\nserver: break up the Server.Serve method into some reusable parts"
    },
    {
      "commit": "9d2ecf553a16eecc7047e20262918a672f8dc4b9",
      "tree": "d16cf010a7d79676e412e412367fabea25ed6475",
      "parents": [
        "3f30c980d6e82173e5ec64b7499df1953488aaac"
      ],
      "author": {
        "name": "Brad Fitzpatrick",
        "email": "bradfitz@golang.org",
        "time": "Thu Jan 28 19:52:42 2016 +0000"
      },
      "committer": {
        "name": "Brad Fitzpatrick",
        "email": "bradfitz@golang.org",
        "time": "Fri Jan 29 23:20:54 2016 +0000"
      },
      "message": "server: break up the Server.Serve method into some reusable parts\n\nUpdates grpc/grpc-go#75\n"
    },
    {
      "commit": "2e0ced7711de3fb78f1ed004e16ca3cbaa0d30c3",
      "tree": "73233b52f1ed3cfb14c96962d8d649317e43a47e",
      "parents": [
        "3f30c980d6e82173e5ec64b7499df1953488aaac",
        "af8888dc8d774997f0173bee508daa355dd40e18"
      ],
      "author": {
        "name": "Qi Zhao",
        "email": "toqizhao@gmail.com",
        "time": "Fri Jan 29 15:17:11 2016 -0800"
      },
      "committer": {
        "name": "Qi Zhao",
        "email": "toqizhao@gmail.com",
        "time": "Fri Jan 29 15:17:11 2016 -0800"
      },
      "message": "Merge pull request #513 from iamqizhao/master\n\nSimplify compression API"
    },
    {
      "commit": "af8888dc8d774997f0173bee508daa355dd40e18",
      "tree": "73233b52f1ed3cfb14c96962d8d649317e43a47e",
      "parents": [
        "3f30c980d6e82173e5ec64b7499df1953488aaac"
      ],
      "author": {
        "name": "iamqizhao",
        "email": "toqizhao@gmail.com",
        "time": "Fri Jan 29 14:38:20 2016 -0800"
      },
      "committer": {
        "name": "iamqizhao",
        "email": "toqizhao@gmail.com",
        "time": "Fri Jan 29 14:38:20 2016 -0800"
      },
      "message": "remove Compressor/DecompressorGenerator\n"
    },
    {
      "commit": "3f30c980d6e82173e5ec64b7499df1953488aaac",
      "tree": "4930252748173c97f481dd4bfb0a07cd86dea4b3",
      "parents": [
        "23d551898cf40a24d0ce7a859c75b322a7035673",
        "9ec0eadc55a374c523740063ab526e8ebd567f7f"
      ],
      "author": {
        "name": "Qi Zhao",
        "email": "toqizhao@gmail.com",
        "time": "Fri Jan 29 10:31:52 2016 -0800"
      },
      "committer": {
        "name": "Qi Zhao",
        "email": "toqizhao@gmail.com",
        "time": "Fri Jan 29 10:31:52 2016 -0800"
      },
      "message": "Merge pull request #509 from iamqizhao/master\n\nTune the server accepting code"
    },
    {
      "commit": "9ec0eadc55a374c523740063ab526e8ebd567f7f",
      "tree": "4930252748173c97f481dd4bfb0a07cd86dea4b3",
      "parents": [
        "35db64de36421218229928969be269bd99a65ae6"
      ],
      "author": {
        "name": "iamqizhao",
        "email": "toqizhao@gmail.com",
        "time": "Thu Jan 28 18:51:38 2016 -0800"
      },
      "committer": {
        "name": "iamqizhao",
        "email": "toqizhao@gmail.com",
        "time": "Thu Jan 28 18:51:38 2016 -0800"
      },
      "message": "fix a nil map access bug\n"
    },
    {
      "commit": "35db64de36421218229928969be269bd99a65ae6",
      "tree": "83bde63c7cd56f37d33f00eeef474cf7438d048b",
      "parents": [
        "6d87263bd511e3343e4d42980498e39b316ecc46"
      ],
      "author": {
        "name": "iamqizhao",
        "email": "toqizhao@gmail.com",
        "time": "Thu Jan 28 15:59:36 2016 -0800"
      },
      "committer": {
        "name": "iamqizhao",
        "email": "toqizhao@gmail.com",
        "time": "Thu Jan 28 15:59:36 2016 -0800"
      },
      "message": "Tune the server accepting code\n"
    },
    {
      "commit": "23d551898cf40a24d0ce7a859c75b322a7035673",
      "tree": "ecfa2444c7c1fc540069966ad0a422a955baf458",
      "parents": [
        "1147a9f0e91848df93c897c537ba1f29edff94f3",
        "6d87263bd511e3343e4d42980498e39b316ecc46"
      ],
      "author": {
        "name": "Qi Zhao",
        "email": "toqizhao@gmail.com",
        "time": "Wed Jan 27 19:03:04 2016 -0800"
      },
      "committer": {
        "name": "Qi Zhao",
        "email": "toqizhao@gmail.com",
        "time": "Wed Jan 27 19:03:04 2016 -0800"
      },
      "message": "Merge pull request #505 from iamqizhao/master\n\nForce flush headers frame for bi-di streaming"
    },
    {
      "commit": "6d87263bd511e3343e4d42980498e39b316ecc46",
      "tree": "ecfa2444c7c1fc540069966ad0a422a955baf458",
      "parents": [
        "086f6de8a8e82afada100da3da6c1eba7c6633d2"
      ],
      "author": {
        "name": "iamqizhao",
        "email": "toqizhao@gmail.com",
        "time": "Wed Jan 27 18:34:24 2016 -0800"
      },
      "committer": {
        "name": "iamqizhao",
        "email": "toqizhao@gmail.com",
        "time": "Wed Jan 27 18:34:24 2016 -0800"
      },
      "message": "add test\n"
    },
    {
      "commit": "086f6de8a8e82afada100da3da6c1eba7c6633d2",
      "tree": "eb46a09428553aa2cf82e52a8f874a8664be04d0",
      "parents": [
        "1147a9f0e91848df93c897c537ba1f29edff94f3"
      ],
      "author": {
        "name": "iamqizhao",
        "email": "toqizhao@gmail.com",
        "time": "Wed Jan 27 16:39:34 2016 -0800"
      },
      "committer": {
        "name": "iamqizhao",
        "email": "toqizhao@gmail.com",
        "time": "Wed Jan 27 16:39:34 2016 -0800"
      },
      "message": "force flush headers frame for server streaming and bi-di streaming\n"
    },
    {
      "commit": "1147a9f0e91848df93c897c537ba1f29edff94f3",
      "tree": "3d87025a9e72e7d27643da201ed5cbf234cc2a1d",
      "parents": [
        "e29d659177655e589850ba7d3d83f7ce12ef23dd",
        "48d3f37c1fc9b1a925ac2a6c7b38dc2d772051ff"
      ],
      "author": {
        "name": "Qi Zhao",
        "email": "toqizhao@gmail.com",
        "time": "Tue Jan 26 17:49:40 2016 -0800"
      },
      "committer": {
        "name": "Qi Zhao",
        "email": "toqizhao@gmail.com",
        "time": "Tue Jan 26 17:49:40 2016 -0800"
      },
      "message": "Merge pull request #504 from iamqizhao/master\n\nremove some commented code left from previous PRs"
    },
    {
      "commit": "48d3f37c1fc9b1a925ac2a6c7b38dc2d772051ff",
      "tree": "3d87025a9e72e7d27643da201ed5cbf234cc2a1d",
      "parents": [
        "e29d659177655e589850ba7d3d83f7ce12ef23dd"
      ],
      "author": {
        "name": "iamqizhao",
        "email": "toqizhao@gmail.com",
        "time": "Tue Jan 26 16:21:22 2016 -0800"
      },
      "committer": {
        "name": "iamqizhao",
        "email": "toqizhao@gmail.com",
        "time": "Tue Jan 26 16:21:22 2016 -0800"
      },
      "message": "remove some commented code left from previous PR\n"
    },
    {
      "commit": "e29d659177655e589850ba7d3d83f7ce12ef23dd",
      "tree": "23990e2837ad3c306810319de64b9ad8d6c2c7c7",
      "parents": [
        "5da22b92e9485c15a6b284d52cc54d6580864c99",
        "8ced3f96cbb7f9f7e51b125804371650d0e1329f"
      ],
      "author": {
        "name": "Qi Zhao",
        "email": "toqizhao@gmail.com",
        "time": "Mon Jan 25 14:39:43 2016 -0800"
      },
      "committer": {
        "name": "Qi Zhao",
        "email": "toqizhao@gmail.com",
        "time": "Mon Jan 25 14:39:43 2016 -0800"
      },
      "message": "Merge pull request #500 from iamqizhao/master\n\nSupport connection level compression"
    },
    {
      "commit": "8ced3f96cbb7f9f7e51b125804371650d0e1329f",
      "tree": "23990e2837ad3c306810319de64b9ad8d6c2c7c7",
      "parents": [
        "6ad5faf0d7d2e30418eeb775520802206eb3c436"
      ],
      "author": {
        "name": "iamqizhao",
        "email": "toqizhao@gmail.com",
        "time": "Mon Jan 25 12:48:13 2016 -0800"
      },
      "committer": {
        "name": "iamqizhao",
        "email": "toqizhao@gmail.com",
        "time": "Mon Jan 25 12:48:13 2016 -0800"
      },
      "message": "gofmt\n"
    },
    {
      "commit": "6ad5faf0d7d2e30418eeb775520802206eb3c436",
      "tree": "5e41e0b9f5e664a8b96dc7b2634a537d24f1bb20",
      "parents": [
        "a9cd71320cc6c830dab2addfa3982cb5eb70591b"
      ],
      "author": {
        "name": "iamqizhao",
        "email": "toqizhao@gmail.com",
        "time": "Mon Jan 25 12:46:28 2016 -0800"
      },
      "committer": {
        "name": "iamqizhao",
        "email": "toqizhao@gmail.com",
        "time": "Mon Jan 25 12:46:28 2016 -0800"
      },
      "message": "more comments\n"
    },
    {
      "commit": "a9cd71320cc6c830dab2addfa3982cb5eb70591b",
      "tree": "c6505e84c5c45f2f979e0ff5e80935f495347e7e",
      "parents": [
        "4258b32de7285f6bb85cc7e63eed08af4ffa68bb"
      ],
      "author": {
        "name": "iamqizhao",
        "email": "toqizhao@gmail.com",
        "time": "Mon Jan 25 11:52:24 2016 -0800"
      },
      "committer": {
        "name": "iamqizhao",
        "email": "toqizhao@gmail.com",
        "time": "Mon Jan 25 11:52:24 2016 -0800"
      },
      "message": "add more comments\n"
    },
    {
      "commit": "4258b32de7285f6bb85cc7e63eed08af4ffa68bb",
      "tree": "0d089d7fafc8f794e9a69666d0cb6a0d474ee00f",
      "parents": [
        "61d7c39d4c5ce2ce6acb04b07e753086fb381c2b"
      ],
      "author": {
        "name": "iamqizhao",
        "email": "toqizhao@gmail.com",
        "time": "Mon Jan 25 11:47:04 2016 -0800"
      },
      "committer": {
        "name": "iamqizhao",
        "email": "toqizhao@gmail.com",
        "time": "Mon Jan 25 11:47:04 2016 -0800"
      },
      "message": "Don\u0027t create buffer if compressor is nil\n"
    },
    {
      "commit": "61d7c39d4c5ce2ce6acb04b07e753086fb381c2b",
      "tree": "464461e7012b637c0049fbf74e67c0a59206e23e",
      "parents": [
        "da3bb0c9f764176859c54072bb67767073c6479a"
      ],
      "author": {
        "name": "iamqizhao",
        "email": "toqizhao@gmail.com",
        "time": "Mon Jan 25 11:18:41 2016 -0800"
      },
      "committer": {
        "name": "iamqizhao",
        "email": "toqizhao@gmail.com",
        "time": "Mon Jan 25 11:18:41 2016 -0800"
      },
      "message": "comments and gofmt\n"
    },
    {
      "commit": "da3bb0c9f764176859c54072bb67767073c6479a",
      "tree": "208f026b2ec6ae363f19a1cf2a0230051e2c1b61",
      "parents": [
        "5da22b92e9485c15a6b284d52cc54d6580864c99"
      ],
      "author": {
        "name": "iamqizhao",
        "email": "toqizhao@gmail.com",
        "time": "Fri Jan 22 18:21:41 2016 -0800"
      },
      "committer": {
        "name": "iamqizhao",
        "email": "toqizhao@gmail.com",
        "time": "Fri Jan 22 18:21:41 2016 -0800"
      },
      "message": "Support compression\n"
    },
    {
      "commit": "5da22b92e9485c15a6b284d52cc54d6580864c99",
      "tree": "00b73194124c6ee45079dc4cb18b89238ec4d339",
      "parents": [
        "b24c3575360e1c3bd52fc860d7cfe8136a377392",
        "8e76d451dd39b5a194c7affeafa3be9c27559d71"
      ],
      "author": {
        "name": "Qi Zhao",
        "email": "toqizhao@gmail.com",
        "time": "Thu Jan 14 17:41:25 2016 -0800"
      },
      "committer": {
        "name": "Qi Zhao",
        "email": "toqizhao@gmail.com",
        "time": "Thu Jan 14 17:41:25 2016 -0800"
      },
      "message": "Merge pull request #492 from iamqizhao/master\n\nAdd missing trace finish on an uncommon code path"
    },
    {
      "commit": "8e76d451dd39b5a194c7affeafa3be9c27559d71",
      "tree": "00b73194124c6ee45079dc4cb18b89238ec4d339",
      "parents": [
        "7172d5c7a66de543de4beb3ed5e0a9eafa1f43af"
      ],
      "author": {
        "name": "iamqizhao",
        "email": "toqizhao@gmail.com",
        "time": "Thu Jan 14 17:01:22 2016 -0800"
      },
      "committer": {
        "name": "iamqizhao",
        "email": "toqizhao@gmail.com",
        "time": "Thu Jan 14 17:01:22 2016 -0800"
      },
      "message": "Add missing trace finish on an uncommon code path\n"
    },
    {
      "commit": "b24c3575360e1c3bd52fc860d7cfe8136a377392",
      "tree": "ffeb2ba0af11aefe44a3b5a7d85dffa41b56c284",
      "parents": [
        "9fafaa3e4fbc47d6e18f72a6d4f99ba1b0179d0c",
        "7172d5c7a66de543de4beb3ed5e0a9eafa1f43af"
      ],
      "author": {
        "name": "Qi Zhao",
        "email": "toqizhao@gmail.com",
        "time": "Thu Jan 14 15:03:58 2016 -0800"
      },
      "committer": {
        "name": "Qi Zhao",
        "email": "toqizhao@gmail.com",
        "time": "Thu Jan 14 15:03:58 2016 -0800"
      },
      "message": "Merge pull request #491 from iamqizhao/master\n\nFinish tracing when failing to create a client stream"
    },
    {
      "commit": "7172d5c7a66de543de4beb3ed5e0a9eafa1f43af",
      "tree": "ffeb2ba0af11aefe44a3b5a7d85dffa41b56c284",
      "parents": [
        "59c74732bb3461b45386cead7b76cf789940a558"
      ],
      "author": {
        "name": "iamqizhao",
        "email": "toqizhao@gmail.com",
        "time": "Thu Jan 14 14:53:07 2016 -0800"
      },
      "committer": {
        "name": "iamqizhao",
        "email": "toqizhao@gmail.com",
        "time": "Thu Jan 14 14:53:07 2016 -0800"
      },
      "message": "Still show trace for the client streams which failed to create\n"
    },
    {
      "commit": "59c74732bb3461b45386cead7b76cf789940a558",
      "tree": "5aba65127cfd67fcc1397f352ffde19e79ec3747",
      "parents": [
        "9fafaa3e4fbc47d6e18f72a6d4f99ba1b0179d0c"
      ],
      "author": {
        "name": "iamqizhao",
        "email": "toqizhao@gmail.com",
        "time": "Thu Jan 14 14:38:45 2016 -0800"
      },
      "committer": {
        "name": "iamqizhao",
        "email": "toqizhao@gmail.com",
        "time": "Thu Jan 14 14:38:45 2016 -0800"
      },
      "message": "Don\u0027t trace when failing to create a cleint stream\n"
    },
    {
      "commit": "9fafaa3e4fbc47d6e18f72a6d4f99ba1b0179d0c",
      "tree": "63ae2d3d9f55c2cbe0ac515bb47a87d0baec145d",
      "parents": [
        "7ed4629849ee2967ae82bff77fbde8c2cc7adac4",
        "47fc4a2936669af9ec8f851be845f2d4c7bcca18"
      ],
      "author": {
        "name": "Qi Zhao",
        "email": "toqizhao@gmail.com",
        "time": "Thu Jan 14 12:27:47 2016 -0800"
      },
      "committer": {
        "name": "Qi Zhao",
        "email": "toqizhao@gmail.com",
        "time": "Thu Jan 14 12:27:47 2016 -0800"
      },
      "message": "Merge pull request #490 from iamqizhao/master\n\nSpecialize connection error handling"
    },
    {
      "commit": "47fc4a2936669af9ec8f851be845f2d4c7bcca18",
      "tree": "63ae2d3d9f55c2cbe0ac515bb47a87d0baec145d",
      "parents": [
        "7ed4629849ee2967ae82bff77fbde8c2cc7adac4"
      ],
      "author": {
        "name": "iamqizhao",
        "email": "toqizhao@gmail.com",
        "time": "Thu Jan 14 12:24:00 2016 -0800"
      },
      "committer": {
        "name": "iamqizhao",
        "email": "toqizhao@gmail.com",
        "time": "Thu Jan 14 12:24:00 2016 -0800"
      },
      "message": "Specialize connection error handling to avoid goroutine leaking in some cases\n"
    },
    {
      "commit": "7ed4629849ee2967ae82bff77fbde8c2cc7adac4",
      "tree": "c5e4bbac65420c16451d2f38284cc71aabfd3423",
      "parents": [
        "0770c4927396fc6920295964e949f8aa2d3e017f",
        "ea6e7189de20eb157308874a7237657e8b9d7356"
      ],
      "author": {
        "name": "Qi Zhao",
        "email": "toqizhao@gmail.com",
        "time": "Thu Jan 07 14:58:23 2016 -0800"
      },
      "committer": {
        "name": "Qi Zhao",
        "email": "toqizhao@gmail.com",
        "time": "Thu Jan 07 14:58:23 2016 -0800"
      },
      "message": "Merge pull request #488 from iamqizhao/master\n\nMove callInfo into the right position"
    },
    {
      "commit": "ea6e7189de20eb157308874a7237657e8b9d7356",
      "tree": "c5e4bbac65420c16451d2f38284cc71aabfd3423",
      "parents": [
        "c1330e18aad1d7a2a340fb823365df580cb1eec0"
      ],
      "author": {
        "name": "iamqizhao",
        "email": "toqizhao@gmail.com",
        "time": "Thu Jan 07 14:44:36 2016 -0800"
      },
      "committer": {
        "name": "iamqizhao",
        "email": "toqizhao@gmail.com",
        "time": "Thu Jan 07 14:44:36 2016 -0800"
      },
      "message": "Move callInfo into the right position\n"
    },
    {
      "commit": "0770c4927396fc6920295964e949f8aa2d3e017f",
      "tree": "d413269f93f1296657cfc728d2e390f1178bcb39",
      "parents": [
        "512086ed5b57e0eba9ab0059328fe887d7a9adff",
        "c1330e18aad1d7a2a340fb823365df580cb1eec0"
      ],
      "author": {
        "name": "Qi Zhao",
        "email": "toqizhao@gmail.com",
        "time": "Thu Jan 07 14:43:47 2016 -0800"
      },
      "committer": {
        "name": "Qi Zhao",
        "email": "toqizhao@gmail.com",
        "time": "Thu Jan 07 14:43:47 2016 -0800"
      },
      "message": "Merge pull request #487 from iamqizhao/master\n\nsome missing comments"
    },
    {
      "commit": "c1330e18aad1d7a2a340fb823365df580cb1eec0",
      "tree": "d413269f93f1296657cfc728d2e390f1178bcb39",
      "parents": [
        "512086ed5b57e0eba9ab0059328fe887d7a9adff"
      ],
      "author": {
        "name": "iamqizhao",
        "email": "toqizhao@gmail.com",
        "time": "Thu Jan 07 14:18:20 2016 -0800"
      },
      "committer": {
        "name": "iamqizhao",
        "email": "toqizhao@gmail.com",
        "time": "Thu Jan 07 14:18:20 2016 -0800"
      },
      "message": "some missing comments\n"
    },
    {
      "commit": "512086ed5b57e0eba9ab0059328fe887d7a9adff",
      "tree": "4a429d279d07dc67c9ea33ecfbc4e473eec1f28f",
      "parents": [
        "843cf836083053d69b704ec5a058deb437a63a28",
        "d89e41fc99496f5f25219712b83adbc22e9b4b58"
      ],
      "author": {
        "name": "Qi Zhao",
        "email": "toqizhao@gmail.com",
        "time": "Thu Jan 07 14:10:24 2016 -0800"
      },
      "committer": {
        "name": "Qi Zhao",
        "email": "toqizhao@gmail.com",
        "time": "Thu Jan 07 14:10:24 2016 -0800"
      },
      "message": "Merge pull request #486 from xfxyjwf/doc\n\nFix the link to protoc installation instructions."
    },
    {
      "commit": "d89e41fc99496f5f25219712b83adbc22e9b4b58",
      "tree": "b9a7eb76592384599c15edb3288c63c9fc58d7b7",
      "parents": [
        "78905999da08d7f87d5dd11608fa79ff8700daa8"
      ],
      "author": {
        "name": "Feng Xiao",
        "email": "xfxyjwf@gmail.com",
        "time": "Thu Jan 07 13:59:55 2016 -0800"
      },
      "committer": {
        "name": "Feng Xiao",
        "email": "xfxyjwf@gmail.com",
        "time": "Thu Jan 07 13:59:55 2016 -0800"
      },
      "message": "Fix the link to protoc installation instructions.\n\nTo install protoc, users should follow instructions in the README.md\nfile (INSTALL.txt has been removed because it misses crucial info\nand confuses users).\n"
    },
    {
      "commit": "843cf836083053d69b704ec5a058deb437a63a28",
      "tree": "fa3ac92111e130d695ae26d8984fc89ab867cf61",
      "parents": [
        "78905999da08d7f87d5dd11608fa79ff8700daa8",
        "6ef6ed778a240b289232f281e144fc5b4534ac44"
      ],
      "author": {
        "name": "Qi Zhao",
        "email": "toqizhao@gmail.com",
        "time": "Thu Jan 07 11:41:41 2016 -0800"
      },
      "committer": {
        "name": "Qi Zhao",
        "email": "toqizhao@gmail.com",
        "time": "Thu Jan 07 11:41:41 2016 -0800"
      },
      "message": "Merge pull request #485 from iamqizhao/master\n\nExpose peer info on server side"
    },
    {
      "commit": "6ef6ed778a240b289232f281e144fc5b4534ac44",
      "tree": "fa3ac92111e130d695ae26d8984fc89ab867cf61",
      "parents": [
        "350615a335f5ceb3437a7c3ef4f98b10bb9484d0"
      ],
      "author": {
        "name": "iamqizhao",
        "email": "toqizhao@gmail.com",
        "time": "Wed Jan 06 19:04:19 2016 -0800"
      },
      "committer": {
        "name": "iamqizhao",
        "email": "toqizhao@gmail.com",
        "time": "Wed Jan 06 19:04:19 2016 -0800"
      },
      "message": "test peer addr\n"
    },
    {
      "commit": "350615a335f5ceb3437a7c3ef4f98b10bb9484d0",
      "tree": "b5af856aa6fb688d8cce328c5604a16c5229211c",
      "parents": [
        "2e9f81b418aaf3eec877342e948402c93c2a2316"
      ],
      "author": {
        "name": "iamqizhao",
        "email": "toqizhao@gmail.com",
        "time": "Wed Jan 06 18:30:38 2016 -0800"
      },
      "committer": {
        "name": "iamqizhao",
        "email": "toqizhao@gmail.com",
        "time": "Wed Jan 06 18:30:38 2016 -0800"
      },
      "message": "gofmt\n"
    },
    {
      "commit": "2e9f81b418aaf3eec877342e948402c93c2a2316",
      "tree": "543dc7e362003802d7370a9d70eb0e595ad2aa30",
      "parents": [
        "76515fa9fd385fa517e7ef63a11d7c9bafd575f3"
      ],
      "author": {
        "name": "iamqizhao",
        "email": "toqizhao@gmail.com",
        "time": "Wed Jan 06 18:30:03 2016 -0800"
      },
      "committer": {
        "name": "iamqizhao",
        "email": "toqizhao@gmail.com",
        "time": "Wed Jan 06 18:30:03 2016 -0800"
      },
      "message": "fix comment\n"
    },
    {
      "commit": "76515fa9fd385fa517e7ef63a11d7c9bafd575f3",
      "tree": "5b84248e48c33d4ba2f699df4596add7896d3e58",
      "parents": [
        "b36c5c6fd9eddf4e250afa8fc6560689d697bc7e"
      ],
      "author": {
        "name": "iamqizhao",
        "email": "toqizhao@gmail.com",
        "time": "Wed Jan 06 18:26:33 2016 -0800"
      },
      "committer": {
        "name": "iamqizhao",
        "email": "toqizhao@gmail.com",
        "time": "Wed Jan 06 18:26:33 2016 -0800"
      },
      "message": "Remove context related functions in credentials\n"
    },
    {
      "commit": "b36c5c6fd9eddf4e250afa8fc6560689d697bc7e",
      "tree": "497c9404fc7e0b5f43baa3a625bd155692d13144",
      "parents": [
        "78905999da08d7f87d5dd11608fa79ff8700daa8"
      ],
      "author": {
        "name": "iamqizhao",
        "email": "toqizhao@gmail.com",
        "time": "Wed Jan 06 18:20:01 2016 -0800"
      },
      "committer": {
        "name": "iamqizhao",
        "email": "toqizhao@gmail.com",
        "time": "Wed Jan 06 18:20:01 2016 -0800"
      },
      "message": "Expose peer info\n"
    },
    {
      "commit": "78905999da08d7f87d5dd11608fa79ff8700daa8",
      "tree": "505eea310412e8adf5d655ebadb99e0b3015c157",
      "parents": [
        "b9a4f2b9f9dac22bdd2705ad40bcc2128d439635",
        "3497fcb768ba5c12bc4ead26bb10bb7c237be061"
      ],
      "author": {
        "name": "Qi Zhao",
        "email": "toqizhao@gmail.com",
        "time": "Tue Dec 22 15:13:58 2015 -0800"
      },
      "committer": {
        "name": "Qi Zhao",
        "email": "toqizhao@gmail.com",
        "time": "Tue Dec 22 15:13:58 2015 -0800"
      },
      "message": "Merge pull request #480 from iamqizhao/master\n\nFix the benchmark client"
    },
    {
      "commit": "3497fcb768ba5c12bc4ead26bb10bb7c237be061",
      "tree": "505eea310412e8adf5d655ebadb99e0b3015c157",
      "parents": [
        "855235934b36ba2f2f2a18d649d3d0209dfb017b"
      ],
      "author": {
        "name": "iamqizhao",
        "email": "toqizhao@gmail.com",
        "time": "Tue Dec 22 15:00:37 2015 -0800"
      },
      "committer": {
        "name": "iamqizhao",
        "email": "toqizhao@gmail.com",
        "time": "Tue Dec 22 15:00:37 2015 -0800"
      },
      "message": "Fix the benchmark client\n"
    },
    {
      "commit": "b9a4f2b9f9dac22bdd2705ad40bcc2128d439635",
      "tree": "407fcdad173cfcfbbd50a3a3bf72344ddd414fce",
      "parents": [
        "c414be5bc75d7f488c920cef0afd0c385d4f61d8",
        "855235934b36ba2f2f2a18d649d3d0209dfb017b"
      ],
      "author": {
        "name": "Qi Zhao",
        "email": "toqizhao@gmail.com",
        "time": "Fri Dec 18 18:35:59 2015 -0800"
      },
      "committer": {
        "name": "Qi Zhao",
        "email": "toqizhao@gmail.com",
        "time": "Fri Dec 18 18:35:59 2015 -0800"
      },
      "message": "Merge pull request #477 from iamqizhao/master\n\nfix some comments and function names"
    },
    {
      "commit": "855235934b36ba2f2f2a18d649d3d0209dfb017b",
      "tree": "407fcdad173cfcfbbd50a3a3bf72344ddd414fce",
      "parents": [
        "43952c57fa5d2a625d45b5fc9759baba6ae42d12"
      ],
      "author": {
        "name": "iamqizhao",
        "email": "toqizhao@gmail.com",
        "time": "Fri Dec 18 18:25:28 2015 -0800"
      },
      "committer": {
        "name": "iamqizhao",
        "email": "toqizhao@gmail.com",
        "time": "Fri Dec 18 18:25:28 2015 -0800"
      },
      "message": "fix some comments\n"
    },
    {
      "commit": "c414be5bc75d7f488c920cef0afd0c385d4f61d8",
      "tree": "abe985588d2bccf28e6bac00d5f2b1ea8b595dc1",
      "parents": [
        "9d7063767a3c5f5a95d13dc8b3964196a783734f",
        "43952c57fa5d2a625d45b5fc9759baba6ae42d12"
      ],
      "author": {
        "name": "Qi Zhao",
        "email": "toqizhao@gmail.com",
        "time": "Fri Dec 18 18:15:55 2015 -0800"
      },
      "committer": {
        "name": "Qi Zhao",
        "email": "toqizhao@gmail.com",
        "time": "Fri Dec 18 18:15:55 2015 -0800"
      },
      "message": "Merge pull request #476 from iamqizhao/master\n\ndeflake a test and interop test format fix"
    },
    {
      "commit": "43952c57fa5d2a625d45b5fc9759baba6ae42d12",
      "tree": "abe985588d2bccf28e6bac00d5f2b1ea8b595dc1",
      "parents": [
        "fc710f297df8ba3240862937b7863d89ae5f24fb"
      ],
      "author": {
        "name": "iamqizhao",
        "email": "toqizhao@gmail.com",
        "time": "Fri Dec 18 17:53:28 2015 -0800"
      },
      "committer": {
        "name": "iamqizhao",
        "email": "toqizhao@gmail.com",
        "time": "Fri Dec 18 17:53:28 2015 -0800"
      },
      "message": "remove garbbage file\n"
    },
    {
      "commit": "fc710f297df8ba3240862937b7863d89ae5f24fb",
      "tree": "e7e9b2418a58b2f72f11cd12372f659ac27c81a6",
      "parents": [
        "453b255dda3c3f9255ba8a4383cb37077c059faf"
      ],
      "author": {
        "name": "iamqizhao",
        "email": "toqizhao@gmail.com",
        "time": "Fri Dec 18 17:51:05 2015 -0800"
      },
      "committer": {
        "name": "iamqizhao",
        "email": "toqizhao@gmail.com",
        "time": "Fri Dec 18 17:51:05 2015 -0800"
      },
      "message": "deflake a test\n"
    },
    {
      "commit": "453b255dda3c3f9255ba8a4383cb37077c059faf",
      "tree": "aab03a41478a8f1a0854d12c995ee71b4b109cc9",
      "parents": [
        "7239e4afea2d74a0fa1992171def824c293b1d3e"
      ],
      "author": {
        "name": "iamqizhao",
        "email": "toqizhao@gmail.com",
        "time": "Fri Dec 18 16:50:38 2015 -0800"
      },
      "committer": {
        "name": "iamqizhao",
        "email": "toqizhao@gmail.com",
        "time": "Fri Dec 18 16:50:38 2015 -0800"
      },
      "message": "gofmt\n"
    },
    {
      "commit": "9d7063767a3c5f5a95d13dc8b3964196a783734f",
      "tree": "71989868aa3d139838ec0a7922ec64f0736f8da7",
      "parents": [
        "b9371455203ef2d5aab5c42e5ec881d8dd85a5f8",
        "7239e4afea2d74a0fa1992171def824c293b1d3e"
      ],
      "author": {
        "name": "Qi Zhao",
        "email": "toqizhao@gmail.com",
        "time": "Fri Dec 18 16:37:39 2015 -0800"
      },
      "committer": {
        "name": "Qi Zhao",
        "email": "toqizhao@gmail.com",
        "time": "Fri Dec 18 16:37:39 2015 -0800"
      },
      "message": "Merge pull request #475 from iamqizhao/master\n\nRefactor interop tests"
    },
    {
      "commit": "7239e4afea2d74a0fa1992171def824c293b1d3e",
      "tree": "71989868aa3d139838ec0a7922ec64f0736f8da7",
      "parents": [
        "54c27523e49241cae9dc6ae0a26b9b8dfd34bc91"
      ],
      "author": {
        "name": "iamqizhao",
        "email": "toqizhao@gmail.com",
        "time": "Fri Dec 18 16:26:06 2015 -0800"
      },
      "committer": {
        "name": "iamqizhao",
        "email": "toqizhao@gmail.com",
        "time": "Fri Dec 18 16:26:06 2015 -0800"
      },
      "message": "Refactor interop tests\n"
    },
    {
      "commit": "b9371455203ef2d5aab5c42e5ec881d8dd85a5f8",
      "tree": "7a94d1183c8e911c023b2f4d5737c5a17ce6a9b1",
      "parents": [
        "715fec664d75c6b5cb5b12718458621d4b75df37",
        "54c27523e49241cae9dc6ae0a26b9b8dfd34bc91"
      ],
      "author": {
        "name": "Qi Zhao",
        "email": "toqizhao@gmail.com",
        "time": "Thu Dec 17 16:26:36 2015 -0800"
      },
      "committer": {
        "name": "Qi Zhao",
        "email": "toqizhao@gmail.com",
        "time": "Thu Dec 17 16:26:36 2015 -0800"
      },
      "message": "Merge pull request #474 from iamqizhao/master\n\nAllow HTML output for test coverage"
    },
    {
      "commit": "54c27523e49241cae9dc6ae0a26b9b8dfd34bc91",
      "tree": "7a94d1183c8e911c023b2f4d5737c5a17ce6a9b1",
      "parents": [
        "e2f4a8ddb3a3d4e9d205a048e1ac4801bfbc0d37"
      ],
      "author": {
        "name": "iamqizhao",
        "email": "toqizhao@gmail.com",
        "time": "Thu Dec 17 16:13:01 2015 -0800"
      },
      "committer": {
        "name": "iamqizhao",
        "email": "toqizhao@gmail.com",
        "time": "Thu Dec 17 16:13:01 2015 -0800"
      },
      "message": "Allow HTML output for test coverage\n"
    },
    {
      "commit": "715fec664d75c6b5cb5b12718458621d4b75df37",
      "tree": "51ef8168ce9d1f586b7a49f7d398a51492eb3e9a",
      "parents": [
        "e382c8819fcacba03feb4bb20b6b16d10ae176f0",
        "e2f4a8ddb3a3d4e9d205a048e1ac4801bfbc0d37"
      ],
      "author": {
        "name": "Qi Zhao",
        "email": "toqizhao@gmail.com",
        "time": "Thu Dec 17 15:15:29 2015 -0800"
      },
      "committer": {
        "name": "Qi Zhao",
        "email": "toqizhao@gmail.com",
        "time": "Thu Dec 17 15:15:29 2015 -0800"
      },
      "message": "Merge pull request #473 from iamqizhao/master\n\nGet more accurate test coverage"
    },
    {
      "commit": "e2f4a8ddb3a3d4e9d205a048e1ac4801bfbc0d37",
      "tree": "51ef8168ce9d1f586b7a49f7d398a51492eb3e9a",
      "parents": [
        "a98f0170cf9b0ee69729ecc778bb314f9f61b7ef"
      ],
      "author": {
        "name": "iamqizhao",
        "email": "toqizhao@gmail.com",
        "time": "Thu Dec 17 15:11:37 2015 -0800"
      },
      "committer": {
        "name": "iamqizhao",
        "email": "toqizhao@gmail.com",
        "time": "Thu Dec 17 15:11:37 2015 -0800"
      },
      "message": "Get more accurate test coverage\n"
    },
    {
      "commit": "e382c8819fcacba03feb4bb20b6b16d10ae176f0",
      "tree": "31ccc8434b3f2e7c07229ecf2afd9f2496e7b40d",
      "parents": [
        "a22b6611561e9f0a3e0919690dd2caf48f14c517",
        "a98f0170cf9b0ee69729ecc778bb314f9f61b7ef"
      ],
      "author": {
        "name": "Qi Zhao",
        "email": "toqizhao@gmail.com",
        "time": "Wed Dec 16 12:51:35 2015 -0800"
      },
      "committer": {
        "name": "Qi Zhao",
        "email": "toqizhao@gmail.com",
        "time": "Wed Dec 16 12:51:35 2015 -0800"
      },
      "message": "Merge pull request #472 from iamqizhao/master\n\nfix some print format errors"
    },
    {
      "commit": "a98f0170cf9b0ee69729ecc778bb314f9f61b7ef",
      "tree": "31ccc8434b3f2e7c07229ecf2afd9f2496e7b40d",
      "parents": [
        "dfdc477da5b22f52afeecbb5e40a46c0da4a92ba"
      ],
      "author": {
        "name": "iamqizhao",
        "email": "toqizhao@gmail.com",
        "time": "Wed Dec 16 11:36:52 2015 -0800"
      },
      "committer": {
        "name": "iamqizhao",
        "email": "toqizhao@gmail.com",
        "time": "Wed Dec 16 11:36:52 2015 -0800"
      },
      "message": "fix some print format errors\n"
    },
    {
      "commit": "a22b6611561e9f0a3e0919690dd2caf48f14c517",
      "tree": "bf74dfd1d1924df2a323c43fe12c631065abd808",
      "parents": [
        "857b9ba14cf664c4b95f493abbc40ca136135c5e",
        "dfdc477da5b22f52afeecbb5e40a46c0da4a92ba"
      ],
      "author": {
        "name": "Qi Zhao",
        "email": "toqizhao@gmail.com",
        "time": "Tue Dec 15 18:44:20 2015 -0800"
      },
      "committer": {
        "name": "Qi Zhao",
        "email": "toqizhao@gmail.com",
        "time": "Tue Dec 15 18:44:20 2015 -0800"
      },
      "message": "Merge pull request #471 from iamqizhao/master\n\nfix a flaky test"
    },
    {
      "commit": "dfdc477da5b22f52afeecbb5e40a46c0da4a92ba",
      "tree": "bf74dfd1d1924df2a323c43fe12c631065abd808",
      "parents": [
        "d0674dc8368d636cfe844c043ed48a92b150b811"
      ],
      "author": {
        "name": "iamqizhao",
        "email": "toqizhao@gmail.com",
        "time": "Tue Dec 15 17:37:18 2015 -0800"
      },
      "committer": {
        "name": "iamqizhao",
        "email": "toqizhao@gmail.com",
        "time": "Tue Dec 15 17:37:18 2015 -0800"
      },
      "message": "gofmt\n"
    },
    {
      "commit": "d0674dc8368d636cfe844c043ed48a92b150b811",
      "tree": "a5dc68955404e215e641e6a92e0785c738c7afb2",
      "parents": [
        "221067955353f69cc5dca60cf1e9be9d49415c01"
      ],
      "author": {
        "name": "iamqizhao",
        "email": "toqizhao@gmail.com",
        "time": "Tue Dec 15 17:36:03 2015 -0800"
      },
      "committer": {
        "name": "iamqizhao",
        "email": "toqizhao@gmail.com",
        "time": "Tue Dec 15 17:36:03 2015 -0800"
      },
      "message": "add some comments\n"
    },
    {
      "commit": "221067955353f69cc5dca60cf1e9be9d49415c01",
      "tree": "b7eff53641ad44fd770e8d2c3cd58b15a4c1cc06",
      "parents": [
        "2f524e51f1955b84ca0f48fa6a424c093c7dd8bd"
      ],
      "author": {
        "name": "iamqizhao",
        "email": "toqizhao@gmail.com",
        "time": "Tue Dec 15 17:34:02 2015 -0800"
      },
      "committer": {
        "name": "iamqizhao",
        "email": "toqizhao@gmail.com",
        "time": "Tue Dec 15 17:34:02 2015 -0800"
      },
      "message": "fix a flaky test\n"
    },
    {
      "commit": "857b9ba14cf664c4b95f493abbc40ca136135c5e",
      "tree": "6fcf8da19c59686b0cfdf083ecbf0f11afec338c",
      "parents": [
        "2d76f2fb90f1df85dd7bc8380b5c52ff3c2259d6",
        "2f524e51f1955b84ca0f48fa6a424c093c7dd8bd"
      ],
      "author": {
        "name": "Qi Zhao",
        "email": "toqizhao@gmail.com",
        "time": "Tue Dec 15 16:32:55 2015 -0800"
      },
      "committer": {
        "name": "Qi Zhao",
        "email": "toqizhao@gmail.com",
        "time": "Tue Dec 15 16:32:55 2015 -0800"
      },
      "message": "Merge pull request #470 from iamqizhao/master\n\ni) lower case metedata key names; ii) make binary encoding consistent…"
    },
    {
      "commit": "2f524e51f1955b84ca0f48fa6a424c093c7dd8bd",
      "tree": "6fcf8da19c59686b0cfdf083ecbf0f11afec338c",
      "parents": [
        "3d2cc2df9c3081b68ce02654637125a4113584d7"
      ],
      "author": {
        "name": "iamqizhao",
        "email": "toqizhao@gmail.com",
        "time": "Tue Dec 15 16:13:30 2015 -0800"
      },
      "committer": {
        "name": "iamqizhao",
        "email": "toqizhao@gmail.com",
        "time": "Tue Dec 15 16:13:30 2015 -0800"
      },
      "message": "add more tests\n"
    },
    {
      "commit": "3d2cc2df9c3081b68ce02654637125a4113584d7",
      "tree": "db58ec240cc88573ce8ac2dcc5d2af03a4376708",
      "parents": [
        "87d84117a822934abf612ebd562c28e3ea77f65b"
      ],
      "author": {
        "name": "iamqizhao",
        "email": "toqizhao@gmail.com",
        "time": "Tue Dec 15 15:53:37 2015 -0800"
      },
      "committer": {
        "name": "iamqizhao",
        "email": "toqizhao@gmail.com",
        "time": "Tue Dec 15 15:53:37 2015 -0800"
      },
      "message": "remove dead code\n"
    },
    {
      "commit": "87d84117a822934abf612ebd562c28e3ea77f65b",
      "tree": "baa81b3b4bbf86115c8831c684d5d33398f491df",
      "parents": [
        "2d76f2fb90f1df85dd7bc8380b5c52ff3c2259d6"
      ],
      "author": {
        "name": "iamqizhao",
        "email": "toqizhao@gmail.com",
        "time": "Tue Dec 15 15:30:52 2015 -0800"
      },
      "committer": {
        "name": "iamqizhao",
        "email": "toqizhao@gmail.com",
        "time": "Tue Dec 15 15:30:52 2015 -0800"
      },
      "message": "i) lower case metedata key names; ii) make binary encoding consistent with other impls.\n"
    },
    {
      "commit": "2d76f2fb90f1df85dd7bc8380b5c52ff3c2259d6",
      "tree": "fc0f1a6344e149b6211713297b36eced5fe6af54",
      "parents": [
        "3463c93e2ba1a80e3372fbf41aaeabe63615ca84",
        "f0ee5628a9cb25a255e6ad7bcaef59f2ad1a6a17"
      ],
      "author": {
        "name": "Qi Zhao",
        "email": "toqizhao@gmail.com",
        "time": "Mon Dec 14 15:28:37 2015 -0800"
      },
      "committer": {
        "name": "Qi Zhao",
        "email": "toqizhao@gmail.com",
        "time": "Mon Dec 14 15:28:37 2015 -0800"
      },
      "message": "Merge pull request #464 from iamqizhao/master\n\ni) revise picker API and channel state API; ii) add unicastNamingPick to support custom name discovery."
    },
    {
      "commit": "f0ee5628a9cb25a255e6ad7bcaef59f2ad1a6a17",
      "tree": "fc0f1a6344e149b6211713297b36eced5fe6af54",
      "parents": [
        "758cf3083ad04759a7af8f8a31ad1a05aab2cfd3"
      ],
      "author": {
        "name": "iamqizhao",
        "email": "toqizhao@gmail.com",
        "time": "Mon Dec 14 14:43:21 2015 -0800"
      },
      "committer": {
        "name": "iamqizhao",
        "email": "toqizhao@gmail.com",
        "time": "Mon Dec 14 14:43:21 2015 -0800"
      },
      "message": "add more comments\n"
    },
    {
      "commit": "758cf3083ad04759a7af8f8a31ad1a05aab2cfd3",
      "tree": "025f730a038324931ce643a4cc05985560b1aff1",
      "parents": [
        "330d8f958cb97e3acd23068bcdd5643086c8ca82"
      ],
      "author": {
        "name": "iamqizhao",
        "email": "toqizhao@gmail.com",
        "time": "Mon Dec 14 14:40:21 2015 -0800"
      },
      "committer": {
        "name": "iamqizhao",
        "email": "toqizhao@gmail.com",
        "time": "Mon Dec 14 14:40:21 2015 -0800"
      },
      "message": "add comments to NotifyReset\n"
    },
    {
      "commit": "330d8f958cb97e3acd23068bcdd5643086c8ca82",
      "tree": "d8cdba87b3fe549be2b8f3870b8fc74f39399d98",
      "parents": [
        "7cf6aab875e8df04498d62eff41d8779c7e69810"
      ],
      "author": {
        "name": "iamqizhao",
        "email": "toqizhao@gmail.com",
        "time": "Mon Dec 14 14:32:43 2015 -0800"
      },
      "committer": {
        "name": "iamqizhao",
        "email": "toqizhao@gmail.com",
        "time": "Mon Dec 14 14:32:43 2015 -0800"
      },
      "message": "i) revise picker API and channel state API; ii) add unicastNamingPicker which supports custom name resolving.\n"
    },
    {
      "commit": "3463c93e2ba1a80e3372fbf41aaeabe63615ca84",
      "tree": "1ca8fb78dc2b16e9a27344e68b1b6a69ac381411",
      "parents": [
        "ecd68681d46b97d7c84e7c7d12ee7a04c138a9fa",
        "7cf6aab875e8df04498d62eff41d8779c7e69810"
      ],
      "author": {
        "name": "Qi Zhao",
        "email": "toqizhao@gmail.com",
        "time": "Fri Dec 11 11:20:36 2015 -0800"
      },
      "committer": {
        "name": "Qi Zhao",
        "email": "toqizhao@gmail.com",
        "time": "Fri Dec 11 11:20:36 2015 -0800"
      },
      "message": "Merge pull request #463 from iamqizhao/master\n\nrevise naming package a bit"
    },
    {
      "commit": "7cf6aab875e8df04498d62eff41d8779c7e69810",
      "tree": "1ca8fb78dc2b16e9a27344e68b1b6a69ac381411",
      "parents": [
        "ecd68681d46b97d7c84e7c7d12ee7a04c138a9fa"
      ],
      "author": {
        "name": "iamqizhao",
        "email": "toqizhao@gmail.com",
        "time": "Fri Dec 11 11:06:14 2015 -0800"
      },
      "committer": {
        "name": "iamqizhao",
        "email": "toqizhao@gmail.com",
        "time": "Fri Dec 11 11:06:14 2015 -0800"
      },
      "message": "revise naming package a bit\n"
    },
    {
      "commit": "ecd68681d46b97d7c84e7c7d12ee7a04c138a9fa",
      "tree": "ba0fc6501b1e7ac79b96d0e1b05ee81c142dcf54",
      "parents": [
        "a202995ce9a99c7d65875ba9f0cf04ff43169dd5",
        "101776cb986ba97e12b1ea7b40b0eba00f19742f"
      ],
      "author": {
        "name": "Qi Zhao",
        "email": "toqizhao@gmail.com",
        "time": "Fri Dec 04 14:45:32 2015 -0800"
      },
      "committer": {
        "name": "Qi Zhao",
        "email": "toqizhao@gmail.com",
        "time": "Fri Dec 04 14:45:32 2015 -0800"
      },
      "message": "Merge pull request #461 from iamqizhao/master\n\nremoved etcd name resolver impl tentatively and revised the naming API …"
    },
    {
      "commit": "101776cb986ba97e12b1ea7b40b0eba00f19742f",
      "tree": "ba0fc6501b1e7ac79b96d0e1b05ee81c142dcf54",
      "parents": [
        "a202995ce9a99c7d65875ba9f0cf04ff43169dd5"
      ],
      "author": {
        "name": "iamqizhao",
        "email": "toqizhao@gmail.com",
        "time": "Fri Dec 04 14:23:24 2015 -0800"
      },
      "committer": {
        "name": "iamqizhao",
        "email": "toqizhao@gmail.com",
        "time": "Fri Dec 04 14:23:24 2015 -0800"
      },
      "message": "remove etcd name resolver impl tentatively and revise the naming API a bit\n"
    },
    {
      "commit": "a202995ce9a99c7d65875ba9f0cf04ff43169dd5",
      "tree": "265f975f261617d3241cd85a8887a4edaf9580fc",
      "parents": [
        "2011d72ca3b5637b963367c586bacce50ff08bf7",
        "7aa428f5d640f3ec53f4423b2560deec34a5ea4a"
      ],
      "author": {
        "name": "Qi Zhao",
        "email": "toqizhao@gmail.com",
        "time": "Mon Nov 30 16:53:39 2015 -0800"
      },
      "committer": {
        "name": "Qi Zhao",
        "email": "toqizhao@gmail.com",
        "time": "Mon Nov 30 16:53:39 2015 -0800"
      },
      "message": "Merge pull request #458 from iamqizhao/master\n\nFinish trace for premature error"
    },
    {
      "commit": "7aa428f5d640f3ec53f4423b2560deec34a5ea4a",
      "tree": "265f975f261617d3241cd85a8887a4edaf9580fc",
      "parents": [
        "2011d72ca3b5637b963367c586bacce50ff08bf7"
      ],
      "author": {
        "name": "iamqizhao",
        "email": "toqizhao@gmail.com",
        "time": "Mon Nov 30 16:41:52 2015 -0800"
      },
      "committer": {
        "name": "iamqizhao",
        "email": "toqizhao@gmail.com",
        "time": "Mon Nov 30 16:41:52 2015 -0800"
      },
      "message": "Finish trace for premature error\n"
    },
    {
      "commit": "2011d72ca3b5637b963367c586bacce50ff08bf7",
      "tree": "facd908c1d4247e352a0787929d064196c512f5f",
      "parents": [
        "2f99279b3a21694416737477c538afd2c5a46d28",
        "6f8cb60ea7fc6476ff5a4567f3b53e70f9c91ee4"
      ],
      "author": {
        "name": "Qi Zhao",
        "email": "toqizhao@gmail.com",
        "time": "Thu Nov 19 09:37:42 2015 -0800"
      },
      "committer": {
        "name": "Qi Zhao",
        "email": "toqizhao@gmail.com",
        "time": "Thu Nov 19 09:37:42 2015 -0800"
      },
      "message": "Merge pull request #453 from iamqizhao/master\n\nRecv continuation frames correctly"
    },
    {
      "commit": "6f8cb60ea7fc6476ff5a4567f3b53e70f9c91ee4",
      "tree": "facd908c1d4247e352a0787929d064196c512f5f",
      "parents": [
        "2f99279b3a21694416737477c538afd2c5a46d28"
      ],
      "author": {
        "name": "iamqizhao",
        "email": "toqizhao@gmail.com",
        "time": "Thu Nov 19 09:29:25 2015 -0800"
      },
      "committer": {
        "name": "iamqizhao",
        "email": "toqizhao@gmail.com",
        "time": "Thu Nov 19 09:29:25 2015 -0800"
      },
      "message": "Recv continuation framers correctly\n"
    },
    {
      "commit": "2f99279b3a21694416737477c538afd2c5a46d28",
      "tree": "f50536ec793b1d24f220ec9e640adedd3ade5af0",
      "parents": [
        "1de7636f53adf0d67416614d92392910131c7e38",
        "900db87189a4997aa8ceb852161abdbbfeb0766c"
      ],
      "author": {
        "name": "Qi Zhao",
        "email": "toqizhao@gmail.com",
        "time": "Wed Nov 18 16:32:28 2015 -0800"
      },
      "committer": {
        "name": "Qi Zhao",
        "email": "toqizhao@gmail.com",
        "time": "Wed Nov 18 16:32:28 2015 -0800"
      },
      "message": "Merge pull request #452 from iamqizhao/master\n\nAllow \u003e16k status desc"
    },
    {
      "commit": "900db87189a4997aa8ceb852161abdbbfeb0766c",
      "tree": "f50536ec793b1d24f220ec9e640adedd3ade5af0",
      "parents": [
        "f53fd361b7be8c8af30cc872147a0c8b9bfe955c"
      ],
      "author": {
        "name": "iamqizhao",
        "email": "toqizhao@gmail.com",
        "time": "Wed Nov 18 16:22:08 2015 -0800"
      },
      "committer": {
        "name": "iamqizhao",
        "email": "toqizhao@gmail.com",
        "time": "Wed Nov 18 16:22:08 2015 -0800"
      },
      "message": "Allow \u003e16k status desc\n"
    },
    {
      "commit": "1de7636f53adf0d67416614d92392910131c7e38",
      "tree": "38c1e14e784e25b669eeb77c2d3f126350e245bb",
      "parents": [
        "0bcb4bfeb7ca758946643d64c9445b172bfe17e1",
        "f53fd361b7be8c8af30cc872147a0c8b9bfe955c"
      ],
      "author": {
        "name": "Qi Zhao",
        "email": "toqizhao@gmail.com",
        "time": "Wed Nov 18 13:10:01 2015 -0800"
      },
      "committer": {
        "name": "Qi Zhao",
        "email": "toqizhao@gmail.com",
        "time": "Wed Nov 18 13:10:01 2015 -0800"
      },
      "message": "Merge pull request #451 from iamqizhao/master\n\nThe initial call tests."
    },
    {
      "commit": "f53fd361b7be8c8af30cc872147a0c8b9bfe955c",
      "tree": "38c1e14e784e25b669eeb77c2d3f126350e245bb",
      "parents": [
        "586ba1308511483567d44f7eb202bc3ca3b8429b"
      ],
      "author": {
        "name": "iamqizhao",
        "email": "toqizhao@gmail.com",
        "time": "Wed Nov 18 11:56:15 2015 -0800"
      },
      "committer": {
        "name": "iamqizhao",
        "email": "toqizhao@gmail.com",
        "time": "Wed Nov 18 11:56:15 2015 -0800"
      },
      "message": "initial call_test.go\n"
    },
    {
      "commit": "0bcb4bfeb7ca758946643d64c9445b172bfe17e1",
      "tree": "19d04e1ee694a9d32593ca5afbff05075c387be7",
      "parents": [
        "e749af2b92acfccaf9840bf831aa4534e6e5f3bd",
        "ca78069909b67175e5fb2e041adfdcd8ae0181d2"
      ],
      "author": {
        "name": "Qi Zhao",
        "email": "toqizhao@gmail.com",
        "time": "Wed Nov 18 11:43:55 2015 -0800"
      },
      "committer": {
        "name": "Qi Zhao",
        "email": "toqizhao@gmail.com",
        "time": "Wed Nov 18 11:43:55 2015 -0800"
      },
      "message": "Merge pull request #450 from iamqizhao/master\n\nfix a typo"
    },
    {
      "commit": "586ba1308511483567d44f7eb202bc3ca3b8429b",
      "tree": "c351629f252a3eb4fa60e74f988c4d4bc6493f79",
      "parents": [
        "ca78069909b67175e5fb2e041adfdcd8ae0181d2"
      ],
      "author": {
        "name": "iamqizhao",
        "email": "toqizhao@gmail.com",
        "time": "Wed Nov 18 11:34:37 2015 -0800"
      },
      "committer": {
        "name": "iamqizhao",
        "email": "toqizhao@gmail.com",
        "time": "Wed Nov 18 11:34:37 2015 -0800"
      },
      "message": "initial call_test.go\n"
    },
    {
      "commit": "ca78069909b67175e5fb2e041adfdcd8ae0181d2",
      "tree": "19d04e1ee694a9d32593ca5afbff05075c387be7",
      "parents": [
        "e749af2b92acfccaf9840bf831aa4534e6e5f3bd"
      ],
      "author": {
        "name": "iamqizhao",
        "email": "toqizhao@gmail.com",
        "time": "Wed Nov 18 10:57:30 2015 -0800"
      },
      "committer": {
        "name": "iamqizhao",
        "email": "toqizhao@gmail.com",
        "time": "Wed Nov 18 10:57:30 2015 -0800"
      },
      "message": "fix a typo\n"
    },
    {
      "commit": "e749af2b92acfccaf9840bf831aa4534e6e5f3bd",
      "tree": "bf8a5f5466dfa24b839acc6b493b3e9271e26d58",
      "parents": [
        "7c736b2fc9581d353db5c8d9b3cd5552b3ec275e",
        "0fd544f256c212485402a9cf27506fc33a098eeb"
      ],
      "author": {
        "name": "Qi Zhao",
        "email": "toqizhao@gmail.com",
        "time": "Wed Nov 18 10:54:05 2015 -0800"
      },
      "committer": {
        "name": "Qi Zhao",
        "email": "toqizhao@gmail.com",
        "time": "Wed Nov 18 10:54:05 2015 -0800"
      },
      "message": "Merge pull request #440 from dkwasnick/patch-1\n\nFix cc.Close() state race"
    },
    {
      "commit": "7c736b2fc9581d353db5c8d9b3cd5552b3ec275e",
      "tree": "c9f63b729e88cd2bdc59225aedc3cb3e88da7a39",
      "parents": [
        "3490323066222fe765ef7903b53a48cbc876906d",
        "cbff74bfcea8ffa1023b37420843abd565e12a68"
      ],
      "author": {
        "name": "jboeuf",
        "email": "jboeuf@users.noreply.github.com",
        "time": "Tue Nov 17 20:46:29 2015 -0800"
      },
      "committer": {
        "name": "jboeuf",
        "email": "jboeuf@users.noreply.github.com",
        "time": "Tue Nov 17 20:46:29 2015 -0800"
      },
      "message": "Merge pull request #442 from jboeuf/update_ssl_cert\n\nUpdating the test SSL certs."
    },
    {
      "commit": "cbff74bfcea8ffa1023b37420843abd565e12a68",
      "tree": "c9f63b729e88cd2bdc59225aedc3cb3e88da7a39",
      "parents": [
        "123c91d04f3302c23331d80b076239b60623959e"
      ],
      "author": {
        "name": "Julien Boeuf",
        "email": "jboeuf@google.com",
        "time": "Wed Nov 11 15:27:42 2015 -0800"
      },
      "committer": {
        "name": "Julien Boeuf",
        "email": "jboeuf@google.com",
        "time": "Wed Nov 11 15:27:42 2015 -0800"
      },
      "message": "Patching the rest of the test certs in the repo.\n"
    },
    {
      "commit": "123c91d04f3302c23331d80b076239b60623959e",
      "tree": "1e9b29050228afad2938af783aaf5edc687b970f",
      "parents": [
        "3490323066222fe765ef7903b53a48cbc876906d"
      ],
      "author": {
        "name": "Julien Boeuf",
        "email": "jboeuf@google.com",
        "time": "Wed Nov 11 14:50:21 2015 -0800"
      },
      "committer": {
        "name": "Julien Boeuf",
        "email": "jboeuf@google.com",
        "time": "Wed Nov 11 14:50:21 2015 -0800"
      },
      "message": "Updating the test SSL certs.\n\n- For interoperability testing, we need the same certs everywhere.\n- This was not possible before because Go could not deal with some field\n  being encoded as PRINTABLESTRING in the CA and UTF8STRING in the\n  server1 cert. However, the certs have been fixed in:\n  https://github.com/grpc/grpc/pull/4096\n- Also changed the go root testdata cert to avoid confusion (maybe there\n  should not be that many copy of the certs in the repo but I will leave\n  this to the repo maintainers).\n"
    },
    {
      "commit": "0fd544f256c212485402a9cf27506fc33a098eeb",
      "tree": "8e5809baea9a15c3566148a8a30847abc2e3a55a",
      "parents": [
        "3490323066222fe765ef7903b53a48cbc876906d"
      ],
      "author": {
        "name": "Daniel Kwasnick",
        "email": "dkwasnick@justin.tv",
        "time": "Tue Nov 10 14:02:38 2015 -0800"
      },
      "committer": {
        "name": "Daniel Kwasnick",
        "email": "dkwasnick@justin.tv",
        "time": "Tue Nov 10 14:02:38 2015 -0800"
      },
      "message": "Fix cc.Close() state race\n\nFix a race condition in which a Conn\u0027s state is set to TransientFailure after Close() has been invoked – Close() should irrevocably set state to Shutdown."
    },
    {
      "commit": "3490323066222fe765ef7903b53a48cbc876906d",
      "tree": "8873509509e5f7178b301f8db2e2ff0d3f21bbe4",
      "parents": [
        "1684e4a49ba8e6c88a8628b26395f310a1e3d99f",
        "5feafb6c20723efc6dbe8f6aaf29a18a6d0805b9"
      ],
      "author": {
        "name": "Qi Zhao",
        "email": "toqizhao@gmail.com",
        "time": "Mon Nov 09 13:47:31 2015 -0800"
      },
      "committer": {
        "name": "Qi Zhao",
        "email": "toqizhao@gmail.com",
        "time": "Mon Nov 09 13:47:31 2015 -0800"
      },
      "message": "Merge pull request #438 from alexanderfahlke/fix-push-to-coveralls\n\nremoved automatic push to coveralls fixes grpc/grpc-go#436"
    },
    {
      "commit": "5feafb6c20723efc6dbe8f6aaf29a18a6d0805b9",
      "tree": "8873509509e5f7178b301f8db2e2ff0d3f21bbe4",
      "parents": [
        "1684e4a49ba8e6c88a8628b26395f310a1e3d99f"
      ],
      "author": {
        "name": "Alexander Fahlke",
        "email": "alexander.fahlke@gmail.com",
        "time": "Mon Nov 09 13:02:03 2015 +0100"
      },
      "committer": {
        "name": "Alexander Fahlke",
        "email": "alexander.fahlke@gmail.com",
        "time": "Mon Nov 09 13:02:03 2015 +0100"
      },
      "message": "removed automatic push to coveralls fixes grpc/grpc-go#436\n"
    },
    {
      "commit": "1684e4a49ba8e6c88a8628b26395f310a1e3d99f",
      "tree": "86ab7d7ad0435b21635082bb92cc4889ace5c7b7",
      "parents": [
        "93a9ed0baaa964cae6a73d0ef16b079bf38bb17e",
        "bcd6f37972d3279786d06ea2231c9a147e641f4b"
      ],
      "author": {
        "name": "Qi Zhao",
        "email": "toqizhao@gmail.com",
        "time": "Fri Nov 06 14:19:32 2015 -0800"
      },
      "committer": {
        "name": "Qi Zhao",
        "email": "toqizhao@gmail.com",
        "time": "Fri Nov 06 14:19:32 2015 -0800"
      },
      "message": "Merge pull request #433 from iamqizhao/master\n\nAttach the payload from ping frame to ping ack"
    },
    {
      "commit": "bcd6f37972d3279786d06ea2231c9a147e641f4b",
      "tree": "86ab7d7ad0435b21635082bb92cc4889ace5c7b7",
      "parents": [
        "0be6721c85c1f23d744db7eb1f63a33fcffb4479"
      ],
      "author": {
        "name": "iamqizhao",
        "email": "toqizhao@gmail.com",
        "time": "Fri Nov 06 13:57:51 2015 -0800"
      },
      "committer": {
        "name": "iamqizhao",
        "email": "toqizhao@gmail.com",
        "time": "Fri Nov 06 13:57:51 2015 -0800"
      },
      "message": "Attach the payload from ping frame to ping ack\n"
    },
    {
      "commit": "93a9ed0baaa964cae6a73d0ef16b079bf38bb17e",
      "tree": "aedd39ef63504f501910f37729b59d8aa10dc9dd",
      "parents": [
        "1d6b82a645979318ad2710abef3e6add7555c400",
        "0be6721c85c1f23d744db7eb1f63a33fcffb4479"
      ],
      "author": {
        "name": "Qi Zhao",
        "email": "toqizhao@gmail.com",
        "time": "Fri Nov 06 13:42:42 2015 -0800"
      },
      "committer": {
        "name": "Qi Zhao",
        "email": "toqizhao@gmail.com",
        "time": "Fri Nov 06 13:42:42 2015 -0800"
      },
      "message": "Merge pull request #431 from iamqizhao/master\n\nmove some tests from end2end.go to clientconn_test.go"
    },
    {
      "commit": "0be6721c85c1f23d744db7eb1f63a33fcffb4479",
      "tree": "aedd39ef63504f501910f37729b59d8aa10dc9dd",
      "parents": [
        "cb8841c36e758adc21ae9348b7a68c82b2fcae0c"
      ],
      "author": {
        "name": "iamqizhao",
        "email": "toqizhao@gmail.com",
        "time": "Fri Nov 06 13:26:24 2015 -0800"
      },
      "committer": {
        "name": "iamqizhao",
        "email": "toqizhao@gmail.com",
        "time": "Fri Nov 06 13:26:24 2015 -0800"
      },
      "message": "coverage on multiple packages\n"
    }
  ],
  "next": "cb8841c36e758adc21ae9348b7a68c82b2fcae0c"
}
