)]}'
{
  "log": [
    {
      "commit": "869f871628b6baa9cfbc11732cdf6546b17c1298",
      "tree": "09fd1bca382feea0f186384d94d058b699c9f942",
      "parents": [
        "5b532d6fd5efaf7fa130d4e859a2fde0fc3a9e1b"
      ],
      "author": {
        "name": "maru",
        "email": "1249107551@qq.com",
        "time": "Mon Jul 01 18:44:52 2019 +0800"
      },
      "committer": {
        "name": "Brad Fitzpatrick",
        "email": "brad@danga.com",
        "time": "Mon Jul 01 22:42:46 2019 -0700"
      },
      "message": "groupcache.go: fix misspelling\n"
    },
    {
      "commit": "5b532d6fd5efaf7fa130d4e859a2fde0fc3a9e1b",
      "tree": "5489cf1c5620c9a5816b953331eca55ba49f9b5b",
      "parents": [
        "c65c006176ff7ff98bb916961c7abbc6b0afc0aa"
      ],
      "author": {
        "name": "Sean Chen",
        "email": "40845434+two@users.noreply.github.com",
        "time": "Tue Jan 29 23:46:38 2019 +0800"
      },
      "committer": {
        "name": "Brad Fitzpatrick",
        "email": "brad@danga.com",
        "time": "Tue Jan 29 07:46:38 2019 -0800"
      },
      "message": "lru: fix misspelling  (#112)\n\n"
    },
    {
      "commit": "c65c006176ff7ff98bb916961c7abbc6b0afc0aa",
      "tree": "65642c73038242fff302724960ab69b7df9441ab",
      "parents": [
        "6f2cf27854a4a29e3811b0371547be335d411b8b",
        "d7bca77b06f3e5afbc04db44d04cc0cc7545a084"
      ],
      "author": {
        "name": "Brad Fitzpatrick",
        "email": "brad@danga.com",
        "time": "Wed Oct 24 16:09:25 2018 -0700"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Oct 24 16:09:25 2018 -0700"
      },
      "message": "Merge pull request #107 from HaraldNordgren/master\n\nBump Travis versions"
    },
    {
      "commit": "d7bca77b06f3e5afbc04db44d04cc0cc7545a084",
      "tree": "65642c73038242fff302724960ab69b7df9441ab",
      "parents": [
        "6f2cf27854a4a29e3811b0371547be335d411b8b"
      ],
      "author": {
        "name": "Harald Nordgren",
        "email": "haraldnordgren@gmail.com",
        "time": "Sat Oct 20 01:13:27 2018 +0200"
      },
      "committer": {
        "name": "Harald Nordgren",
        "email": "haraldnordgren@gmail.com",
        "time": "Sat Oct 20 01:13:27 2018 +0200"
      },
      "message": "Bump Travis versions\n"
    },
    {
      "commit": "6f2cf27854a4a29e3811b0371547be335d411b8b",
      "tree": "5e385ec531a89a6b2609391ff8a8926136776bdb",
      "parents": [
        "24b0969c4cb722950103eed87108c8d291a8df00",
        "3fbe15d760cbf95787e9da4d16691f243fd13cdf"
      ],
      "author": {
        "name": "Brad Fitzpatrick",
        "email": "brad@danga.com",
        "time": "Mon Sep 24 21:05:50 2018 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Sep 24 21:05:50 2018 +0200"
      },
      "message": "Merge pull request #105 from Daniel-B-Smith/patch-1\n\nFix typo in test name."
    },
    {
      "commit": "3fbe15d760cbf95787e9da4d16691f243fd13cdf",
      "tree": "5e385ec531a89a6b2609391ff8a8926136776bdb",
      "parents": [
        "24b0969c4cb722950103eed87108c8d291a8df00"
      ],
      "author": {
        "name": "Daniel Smith",
        "email": "daniel.smith@datadoghq.com",
        "time": "Mon Sep 24 14:43:12 2018 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Sep 24 14:43:12 2018 -0400"
      },
      "message": "Fix typo in test name."
    },
    {
      "commit": "24b0969c4cb722950103eed87108c8d291a8df00",
      "tree": "fa8c4371825f4cddd6f9a6c5b155d15b864edf46",
      "parents": [
        "66deaeb636dff1ac7d938ce666d090556056a4b0",
        "fbb51cdece179736abc3422849a0724cece2871b"
      ],
      "author": {
        "name": "Brad Fitzpatrick",
        "email": "brad@danga.com",
        "time": "Sat May 12 21:43:58 2018 -0700"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sat May 12 21:43:58 2018 -0700"
      },
      "message": "Merge pull request #98 from kevinburke/travis\n\nAdd travis.yml"
    },
    {
      "commit": "fbb51cdece179736abc3422849a0724cece2871b",
      "tree": "fa8c4371825f4cddd6f9a6c5b155d15b864edf46",
      "parents": [
        "66deaeb636dff1ac7d938ce666d090556056a4b0"
      ],
      "author": {
        "name": "Kevin Burke",
        "email": "kev@inburke.com",
        "time": "Sat May 12 17:39:11 2018 -0700"
      },
      "committer": {
        "name": "Kevin Burke",
        "email": "kev@inburke.com",
        "time": "Sat May 12 17:39:11 2018 -0700"
      },
      "message": "Add travis.yml\n\nThis will run automated tests against PR\u0027s for the groupcache library.\n"
    },
    {
      "commit": "66deaeb636dff1ac7d938ce666d090556056a4b0",
      "tree": "435a9f0c7d7a4bc3d3a11751460ceecc3af6c015",
      "parents": [
        "84a468cf14b4376def5d68c722b139b881c450a4",
        "a20b11a7521b8bb991ad44f47984079137c50371"
      ],
      "author": {
        "name": "Brad Fitzpatrick",
        "email": "brad@danga.com",
        "time": "Sat Feb 03 06:35:32 2018 -0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sat Feb 03 06:35:32 2018 -0800"
      },
      "message": "Merge pull request #88 from EdwardBetts/spelling\n\ncorrect spelling mistake"
    },
    {
      "commit": "84a468cf14b4376def5d68c722b139b881c450a4",
      "tree": "14d59ecf6d6920ff51e7baa675305a8874dd894b",
      "parents": [
        "b710c8433bd175204919eb38776e944233235d03",
        "5c411b28acd49582b27e3ad7ac26412a63df22ba"
      ],
      "author": {
        "name": "Brad Fitzpatrick",
        "email": "brad@danga.com",
        "time": "Wed Nov 01 15:31:31 2017 -0500"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Nov 01 15:31:31 2017 -0500"
      },
      "message": "Merge pull request #90 from lorneli/lru-dev\n\nlru: add evict test"
    },
    {
      "commit": "5c411b28acd49582b27e3ad7ac26412a63df22ba",
      "tree": "14d59ecf6d6920ff51e7baa675305a8874dd894b",
      "parents": [
        "b710c8433bd175204919eb38776e944233235d03"
      ],
      "author": {
        "name": "lorneli",
        "email": "lorneli@163.com",
        "time": "Tue Oct 31 22:00:35 2017 +0800"
      },
      "committer": {
        "name": "lorneli",
        "email": "lorneli@163.com",
        "time": "Tue Oct 31 22:07:28 2017 +0800"
      },
      "message": "lru: add evict test\n\nTest evict cached keys in least-recently-used way.\n"
    },
    {
      "commit": "a20b11a7521b8bb991ad44f47984079137c50371",
      "tree": "aa732b5eec02024927f75616f2a1df9dd7e8f063",
      "parents": [
        "b710c8433bd175204919eb38776e944233235d03"
      ],
      "author": {
        "name": "Edward Betts",
        "email": "edward@4angle.com",
        "time": "Fri Sep 01 12:37:39 2017 +0100"
      },
      "committer": {
        "name": "Edward Betts",
        "email": "edward@4angle.com",
        "time": "Fri Sep 01 12:37:39 2017 +0100"
      },
      "message": "correct spelling mistake"
    },
    {
      "commit": "b710c8433bd175204919eb38776e944233235d03",
      "tree": "157dc07dcdfc6579780be351a6c9094a643273b4",
      "parents": [
        "72d04f9fcdec7d3821820cc4a6f150eae553639a",
        "f81960bea58e2f74c26a2e71fa05170d63b5e124"
      ],
      "author": {
        "name": "Brad Fitzpatrick",
        "email": "brad@danga.com",
        "time": "Thu Apr 20 20:56:42 2017 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Apr 20 20:56:42 2017 -0400"
      },
      "message": "Merge pull request #80 from luciferous/writeto\n\nImplement WriterTo"
    },
    {
      "commit": "f81960bea58e2f74c26a2e71fa05170d63b5e124",
      "tree": "157dc07dcdfc6579780be351a6c9094a643273b4",
      "parents": [
        "72d04f9fcdec7d3821820cc4a6f150eae553639a"
      ],
      "author": {
        "name": "Neuman Vong",
        "email": "neuman.vong@gmail.com",
        "time": "Fri Feb 24 08:27:23 2017 -0800"
      },
      "committer": {
        "name": "Neuman Vong",
        "email": "neuman.vong@gmail.com",
        "time": "Thu Mar 02 14:33:40 2017 -0800"
      },
      "message": "Implement WriterTo\n\nAvoids allocation/copy when writing byteview to a writer.\n"
    },
    {
      "commit": "72d04f9fcdec7d3821820cc4a6f150eae553639a",
      "tree": "3bd5f29d2fa6b42254beddfa631604cbd4ee9029",
      "parents": [
        "6159c0a623a530b7a9937cfec865f7376844357e",
        "361310ca197bb893760e8d575a3062d8e383742a"
      ],
      "author": {
        "name": "Brad Fitzpatrick",
        "email": "brad@danga.com",
        "time": "Mon Jan 09 12:54:48 2017 -0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Jan 09 12:54:48 2017 -0800"
      },
      "message": "Merge pull request #78 from elimisteve/patch-2\n\nhttp.go: Added missing word from NewHTTPPool docs"
    },
    {
      "commit": "361310ca197bb893760e8d575a3062d8e383742a",
      "tree": "3bd5f29d2fa6b42254beddfa631604cbd4ee9029",
      "parents": [
        "6159c0a623a530b7a9937cfec865f7376844357e"
      ],
      "author": {
        "name": "Steve Phillips",
        "email": "steve@tryingtobeawesome.com",
        "time": "Mon Jan 09 12:49:55 2017 -0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Jan 09 12:49:55 2017 -0800"
      },
      "message": "http.go: Added missing word from NewHTTPPool docs"
    },
    {
      "commit": "6159c0a623a530b7a9937cfec865f7376844357e",
      "tree": "83ae7644b1b7e0b2640ef0068518d2004d85d8d1",
      "parents": [
        "d092608c065831f1984ac9d332ca5b2c95a11f57",
        "80d38305e5f6af955ef73afc2e288f31818a5b8b"
      ],
      "author": {
        "name": "Brad Fitzpatrick",
        "email": "brad@danga.com",
        "time": "Wed Jan 04 12:20:46 2017 -0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Jan 04 12:20:46 2017 -0800"
      },
      "message": "Merge pull request #76 from dakerfp/patch-1\n\nAdd Clear methods to lru cache"
    },
    {
      "commit": "80d38305e5f6af955ef73afc2e288f31818a5b8b",
      "tree": "83ae7644b1b7e0b2640ef0068518d2004d85d8d1",
      "parents": [
        "d092608c065831f1984ac9d332ca5b2c95a11f57"
      ],
      "author": {
        "name": "Daker Fernandes Pinheiro",
        "email": "daker.fernandes.pinheiro@intel.com",
        "time": "Tue Nov 29 17:48:59 2016 -0300"
      },
      "committer": {
        "name": "Daker Pinheiro",
        "email": "dakerfp@gmail.com",
        "time": "Fri Dec 23 14:46:26 2016 -0300"
      },
      "message": "Add Clear methods to lru cache\n"
    },
    {
      "commit": "d092608c065831f1984ac9d332ca5b2c95a11f57",
      "tree": "6bf4dfffada59b6d767553b9a4fbd525a6a5a8be",
      "parents": [
        "a6b377e3400b08991b80d6805d627f347f983866"
      ],
      "author": {
        "name": "Brad Fitzpatrick",
        "email": "bradfitz@golang.org",
        "time": "Fri Dec 16 00:27:18 2016 +0000"
      },
      "committer": {
        "name": "Brad Fitzpatrick",
        "email": "bradfitz@golang.org",
        "time": "Fri Dec 16 00:27:18 2016 +0000"
      },
      "message": "Align Group.Stats properly for 32-bit platforms.\n\nFixes golang/go#18334\n"
    },
    {
      "commit": "a6b377e3400b08991b80d6805d627f347f983866",
      "tree": "1872f302afbb6313483221d06fd9a23f782479b6",
      "parents": [
        "02826c3e79038b59d737d3b1c0a1d937f71a4433",
        "b3c0d093a31db3f4e38ae89c0401f20585dba745"
      ],
      "author": {
        "name": "Brad Fitzpatrick",
        "email": "brad@danga.com",
        "time": "Wed Aug 03 13:04:08 2016 -0700"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Aug 03 13:04:08 2016 -0700"
      },
      "message": "Merge pull request #70 from skyportsystems/perGroupPeerPicker4.1\n\nportPicker function now takes group name"
    },
    {
      "commit": "b3c0d093a31db3f4e38ae89c0401f20585dba745",
      "tree": "1872f302afbb6313483221d06fd9a23f782479b6",
      "parents": [
        "02826c3e79038b59d737d3b1c0a1d937f71a4433"
      ],
      "author": {
        "name": "Matthew Denton",
        "email": "mdenton@skyportsystems.com",
        "time": "Wed Aug 03 12:31:13 2016 -0700"
      },
      "committer": {
        "name": "Matthew Denton",
        "email": "mdenton@skyportsystems.com",
        "time": "Wed Aug 03 12:39:10 2016 -0700"
      },
      "message": "portPicker function now takes group name, RegisterPerGroupPeerPicker added to set this function\n"
    },
    {
      "commit": "02826c3e79038b59d737d3b1c0a1d937f71a4433",
      "tree": "18d9040abf3067f70ce5df37986f3e524ae2035e",
      "parents": [
        "4eab30f13db9d8b25c752e99d1583628ac2fa422",
        "bf5f336156fb6744048ecc31b3c3c0f9e672a953"
      ],
      "author": {
        "name": "Brad Fitzpatrick",
        "email": "brad@danga.com",
        "time": "Sun May 15 17:07:52 2016 -0700"
      },
      "committer": {
        "name": "Brad Fitzpatrick",
        "email": "brad@danga.com",
        "time": "Sun May 15 17:07:52 2016 -0700"
      },
      "message": "Merge pull request #65 from shawnps/patch-2\n\nfix typos"
    },
    {
      "commit": "bf5f336156fb6744048ecc31b3c3c0f9e672a953",
      "tree": "18d9040abf3067f70ce5df37986f3e524ae2035e",
      "parents": [
        "4eab30f13db9d8b25c752e99d1583628ac2fa422"
      ],
      "author": {
        "name": "Shawn Smith",
        "email": "shawnpsmith@gmail.com",
        "time": "Sun May 15 16:45:38 2016 +0900"
      },
      "committer": {
        "name": "Shawn Smith",
        "email": "shawnpsmith@gmail.com",
        "time": "Sun May 15 16:45:38 2016 +0900"
      },
      "message": "fix typos"
    },
    {
      "commit": "4eab30f13db9d8b25c752e99d1583628ac2fa422",
      "tree": "365bfc62b783ea1345f190cec40ded72e145ff69",
      "parents": [
        "7e022f85f59cec314f2aa1493667b23216a6e494"
      ],
      "author": {
        "name": "Brad Fitzpatrick",
        "email": "bradfitz@golang.org",
        "time": "Thu Feb 11 14:59:07 2016 -0800"
      },
      "committer": {
        "name": "Brad Fitzpatrick",
        "email": "bradfitz@golang.org",
        "time": "Thu Feb 11 14:59:07 2016 -0800"
      },
      "message": "testpb: add syntax declaration to proto file\n\nRequired for Google\u0027s internal build system.\n"
    },
    {
      "commit": "7e022f85f59cec314f2aa1493667b23216a6e494",
      "tree": "5ee9f7fd286f58c0f6b765d25e29b025ca8e1cbb",
      "parents": [
        "42b67f4f143ffc99ddaf91f06aeff53f4998768a"
      ],
      "author": {
        "name": "Brad Fitzpatrick",
        "email": "bradfitz@golang.org",
        "time": "Thu Feb 11 14:39:22 2016 -0800"
      },
      "committer": {
        "name": "Brad Fitzpatrick",
        "email": "bradfitz@golang.org",
        "time": "Thu Feb 11 14:40:41 2016 -0800"
      },
      "message": "groupcachepb: add syntax declaration to proto file\n\nRequired for Google\u0027s internal build system.\n\nChange-Id: I7cc7b1ffab9f4405715eeb675df3bf3bea85f107\n"
    },
    {
      "commit": "42b67f4f143ffc99ddaf91f06aeff53f4998768a",
      "tree": "3938b67d1bb4b878401851e27a054dcc169d0fed",
      "parents": [
        "d995f8a6686adff0b1f2f20c52ef4114981d2006",
        "8cc54b43f85e06f420645442a659e51ec5fe04bf"
      ],
      "author": {
        "name": "Andrew Gerrand",
        "email": "adg@golang.org",
        "time": "Mon Feb 08 20:49:24 2016 +1100"
      },
      "committer": {
        "name": "Andrew Gerrand",
        "email": "adg@golang.org",
        "time": "Mon Feb 08 20:49:24 2016 +1100"
      },
      "message": "Merge pull request #63 from pierrre/master\n\nuse passed options"
    },
    {
      "commit": "8cc54b43f85e06f420645442a659e51ec5fe04bf",
      "tree": "3938b67d1bb4b878401851e27a054dcc169d0fed",
      "parents": [
        "d995f8a6686adff0b1f2f20c52ef4114981d2006"
      ],
      "author": {
        "name": "Pierre Durand",
        "email": "pierredurand@gmail.com",
        "time": "Tue Feb 02 16:55:58 2016 +0100"
      },
      "committer": {
        "name": "Pierre Durand",
        "email": "pierredurand@gmail.com",
        "time": "Mon Feb 08 09:57:03 2016 +0100"
      },
      "message": "use passed options\n"
    },
    {
      "commit": "d995f8a6686adff0b1f2f20c52ef4114981d2006",
      "tree": "d013e40d570be9440648c638cc9655f1e25a1162",
      "parents": [
        "604ed5785183e59ae2789449d89e73f3a2a77987"
      ],
      "author": {
        "name": "Tipp Moseley",
        "email": "tipp@google.com",
        "time": "Wed Jan 27 11:33:35 2016 -0800"
      },
      "committer": {
        "name": "Brad Fitzpatrick",
        "email": "bradfitz@golang.org",
        "time": "Wed Jan 27 11:33:35 2016 -0800"
      },
      "message": "Fixes a concurrency error in groupcache. Previously, multiple Get\n\nrequests could simultaneously result in a load().  Only requests that\nenter singleflight Do concurrently would be deduped, so it was possible for\npopulateCache to be called multiple times for the same key.  That\nwould result in overcounting nbytes, and eventually leading to a\nlivelock where nbytes \u003e cacheBytes, but there were no entries in the\ncache.\n\nChange-Id: I5b304ce82041c1310c31b662486744e86509cc53\n"
    },
    {
      "commit": "604ed5785183e59ae2789449d89e73f3a2a77987",
      "tree": "b8c3da8cd695531008426da13dd0e12e1ba00fb9",
      "parents": [
        "86ced4a88341076f89d57b6937a5c91ec1762ee3",
        "c6017b7e870ec98ff71c90fc849428cb09f61c21"
      ],
      "author": {
        "name": "Brad Fitzpatrick",
        "email": "brad@danga.com",
        "time": "Sun Jan 25 10:08:32 2015 -0800"
      },
      "committer": {
        "name": "Brad Fitzpatrick",
        "email": "brad@danga.com",
        "time": "Sun Jan 25 10:08:32 2015 -0800"
      },
      "message": "Merge pull request #41 from shawnps/patch-1\n\nfix wrong number of args for format in Errorf call"
    },
    {
      "commit": "c6017b7e870ec98ff71c90fc849428cb09f61c21",
      "tree": "b8c3da8cd695531008426da13dd0e12e1ba00fb9",
      "parents": [
        "86ced4a88341076f89d57b6937a5c91ec1762ee3"
      ],
      "author": {
        "name": "Shawn Smith",
        "email": "shawnpsmith@gmail.com",
        "time": "Sun Jan 25 16:07:57 2015 +0900"
      },
      "committer": {
        "name": "Shawn Smith",
        "email": "shawnpsmith@gmail.com",
        "time": "Sun Jan 25 16:07:57 2015 +0900"
      },
      "message": "fix wrong number of args for format in Errorf call"
    },
    {
      "commit": "86ced4a88341076f89d57b6937a5c91ec1762ee3",
      "tree": "2d04bb922ee2f6fd631f7bf32236fbe6aa163c34",
      "parents": [
        "f391194b967ae0d21deadc861ea87120d9687447",
        "505a8b21f56554dffff1118e15a07a39aa0fbacc"
      ],
      "author": {
        "name": "Brad Fitzpatrick",
        "email": "brad@danga.com",
        "time": "Tue Dec 23 10:22:21 2014 -0800"
      },
      "committer": {
        "name": "Brad Fitzpatrick",
        "email": "brad@danga.com",
        "time": "Tue Dec 23 10:22:21 2014 -0800"
      },
      "message": "Merge pull request #28 from ryanslade/reduce-allocations\n\nReduce allocations"
    },
    {
      "commit": "505a8b21f56554dffff1118e15a07a39aa0fbacc",
      "tree": "2d04bb922ee2f6fd631f7bf32236fbe6aa163c34",
      "parents": [
        "f391194b967ae0d21deadc861ea87120d9687447"
      ],
      "author": {
        "name": "Ryan Slade",
        "email": "ryanslade@gmail.com",
        "time": "Tue Dec 16 08:18:07 2014 +0000"
      },
      "committer": {
        "name": "Ryan Slade",
        "email": "ryanslade@gmail.com",
        "time": "Tue Dec 16 08:18:07 2014 +0000"
      },
      "message": "Reduce allocations\n\nStore temporary buffers in a sync.Pool.\n\nCreate one httpGetter per peer when Set() is called so we don\u0027t\nallocate a new one on each call PickPeer().\n"
    },
    {
      "commit": "f391194b967ae0d21deadc861ea87120d9687447",
      "tree": "e3c1e68b4ed47c63150bd7daac65fb3c1e6db680",
      "parents": [
        "d2a1805917c4ba5f227d5b1f9a871dd274a07542",
        "5fb127ef79f68f22e3a87ed6d6180081396c639e"
      ],
      "author": {
        "name": "Andrew Gerrand",
        "email": "adg@golang.org",
        "time": "Tue Nov 25 16:26:21 2014 +1100"
      },
      "committer": {
        "name": "Andrew Gerrand",
        "email": "adg@golang.org",
        "time": "Tue Nov 25 16:26:21 2014 +1100"
      },
      "message": "Merge pull request #40 from ukai/protobuf\n\ngoprotobuf has moved to GitHub"
    },
    {
      "commit": "5fb127ef79f68f22e3a87ed6d6180081396c639e",
      "tree": "e3c1e68b4ed47c63150bd7daac65fb3c1e6db680",
      "parents": [
        "d2a1805917c4ba5f227d5b1f9a871dd274a07542"
      ],
      "author": {
        "name": "Fumitoshi Ukai",
        "email": "ukai@chromium.org",
        "time": "Tue Nov 25 13:21:41 2014 +0900"
      },
      "committer": {
        "name": "Fumitoshi Ukai",
        "email": "ukai@chromium.org",
        "time": "Tue Nov 25 13:24:33 2014 +0900"
      },
      "message": "goprotobuf has moved to GitHub\n\ncode.google.com/p/goprotobuf to github.com/golang/groupcache\n"
    },
    {
      "commit": "d2a1805917c4ba5f227d5b1f9a871dd274a07542",
      "tree": "7583adeeb6dbcaa7ba7d490149ac799df7e23c38",
      "parents": [
        "8b25adc0f62632c810997cb38c21111a3f256bf4",
        "1568598a4f2338b2587435c87259b57dd1afac90"
      ],
      "author": {
        "name": "Andrew Gerrand",
        "email": "adg@golang.org",
        "time": "Mon Oct 20 20:15:39 2014 +1100"
      },
      "committer": {
        "name": "Andrew Gerrand",
        "email": "adg@golang.org",
        "time": "Mon Oct 20 20:15:39 2014 +1100"
      },
      "message": "Merge pull request #33 from fumin/master\n\nallow all options of HTTPPool to be specified by users"
    },
    {
      "commit": "1568598a4f2338b2587435c87259b57dd1afac90",
      "tree": "7583adeeb6dbcaa7ba7d490149ac799df7e23c38",
      "parents": [
        "8b25adc0f62632c810997cb38c21111a3f256bf4"
      ],
      "author": {
        "name": "awaw fumin",
        "email": "awawfumin@gmail.com",
        "time": "Wed Oct 01 15:18:22 2014 +0800"
      },
      "committer": {
        "name": "awaw fumin",
        "email": "awawfumin@gmail.com",
        "time": "Mon Oct 20 14:40:48 2014 +0800"
      },
      "message": "allow all options of HTTPPool to be specified by users\n"
    },
    {
      "commit": "8b25adc0f62632c810997cb38c21111a3f256bf4",
      "tree": "68ded57d1ac708f5701a408d840f1141985a8f4a",
      "parents": [
        "0ba15ac99c890fb541aa43ce277e4520036a23e7",
        "21fc61ac51eedb776906e32faa77e584903c9bfd"
      ],
      "author": {
        "name": "Andrew Gerrand",
        "email": "nf@wh3rd.net",
        "time": "Wed Jul 09 07:38:46 2014 +1000"
      },
      "committer": {
        "name": "Andrew Gerrand",
        "email": "nf@wh3rd.net",
        "time": "Wed Jul 09 07:38:46 2014 +1000"
      },
      "message": "Merge pull request #30 from EverythingMe/fix_replicas\n\nchanged default number of replicas in http pool hash ring to 50"
    },
    {
      "commit": "21fc61ac51eedb776906e32faa77e584903c9bfd",
      "tree": "68ded57d1ac708f5701a408d840f1141985a8f4a",
      "parents": [
        "0ba15ac99c890fb541aa43ce277e4520036a23e7"
      ],
      "author": {
        "name": "Dvir Volk",
        "email": "dvir@everything.me",
        "time": "Tue Jul 08 12:15:05 2014 +0300"
      },
      "committer": {
        "name": "Dvir Volk",
        "email": "dvir@everything.me",
        "time": "Tue Jul 08 12:15:05 2014 +0300"
      },
      "message": "changed default number of replicas in http pool hash ring to 50, and fixed hash ring benchmark\n"
    },
    {
      "commit": "0ba15ac99c890fb541aa43ce277e4520036a23e7",
      "tree": "09cd123fe5c002f0da721761186e9a61a6b9460d",
      "parents": [
        "a531d51b7f9f3dd13c1c2b50d42d739b70442dbb",
        "976d66a1f195a90b06268c7d89a6e85c526eef47"
      ],
      "author": {
        "name": "Andrew Gerrand",
        "email": "nf@wh3rd.net",
        "time": "Mon Jul 07 13:45:50 2014 +1000"
      },
      "committer": {
        "name": "Andrew Gerrand",
        "email": "nf@wh3rd.net",
        "time": "Mon Jul 07 13:45:50 2014 +1000"
      },
      "message": "Merge pull request #27 from EverythingMe/remove_extra_unescaping\n\nremoved extra url-unescaping in http pool "
    },
    {
      "commit": "a531d51b7f9f3dd13c1c2b50d42d739b70442dbb",
      "tree": "1c33d3c5e68b7faea0ae03dd7faba74c45fa9bab",
      "parents": [
        "d781998583680cda80cf61e0b37dd0cd8da2eb52",
        "89ec0544ae3d563c99516b9d17f90e3d9ca9439b"
      ],
      "author": {
        "name": "Brad Fitzpatrick",
        "email": "brad@danga.com",
        "time": "Wed Jul 02 13:37:02 2014 -0700"
      },
      "committer": {
        "name": "Brad Fitzpatrick",
        "email": "brad@danga.com",
        "time": "Wed Jul 02 13:37:02 2014 -0700"
      },
      "message": "Merge pull request #26 from dgryski/consistenthash-binary-search\n\nconsistenthash: replace linear search with binary search"
    },
    {
      "commit": "976d66a1f195a90b06268c7d89a6e85c526eef47",
      "tree": "2cec3ba23e3f1b5458a97f8b94e592a378cd32d7",
      "parents": [
        "d781998583680cda80cf61e0b37dd0cd8da2eb52"
      ],
      "author": {
        "name": "Dvir Volk",
        "email": "dvir@everything.me",
        "time": "Tue Apr 01 13:43:40 2014 +0300"
      },
      "committer": {
        "name": "Dvir Volk",
        "email": "dvir@everything.me",
        "time": "Wed Jun 18 23:00:46 2014 +0300"
      },
      "message": "removed extra unesacping in http pool that screwed up the keys we were using\n"
    },
    {
      "commit": "89ec0544ae3d563c99516b9d17f90e3d9ca9439b",
      "tree": "1c33d3c5e68b7faea0ae03dd7faba74c45fa9bab",
      "parents": [
        "d781998583680cda80cf61e0b37dd0cd8da2eb52"
      ],
      "author": {
        "name": "Damian Gryski",
        "email": "damian@gryski.com",
        "time": "Tue Jun 17 17:09:50 2014 +0200"
      },
      "committer": {
        "name": "Damian Gryski",
        "email": "damian@gryski.com",
        "time": "Tue Jun 17 17:09:50 2014 +0200"
      },
      "message": "consistenthash: replace linear search with binary search\n\nThe binary search quickly out-paces the linear search, even for a small\nnumber of shards and replicas.\n\nbenchmark          old ns/op    new ns/op    delta\nBenchmarkGet8            122          122   +0.00%\nBenchmarkGet32           471          137  -70.91%\nBenchmarkGet128         5619          254  -95.48%\nBenchmarkGet512        90302          406  -99.55%\n"
    },
    {
      "commit": "d781998583680cda80cf61e0b37dd0cd8da2eb52",
      "tree": "b39425ed1228832941a5868c5513b7941d67f1a7",
      "parents": [
        "5fd3de064f6653bb340d2e7f2cd67d1d51050a21",
        "bdcbf83d9e4615a5460db292d22dea96c4d53f8b"
      ],
      "author": {
        "name": "Brad Fitzpatrick",
        "email": "brad@danga.com",
        "time": "Wed Oct 30 09:55:26 2013 -0700"
      },
      "committer": {
        "name": "Brad Fitzpatrick",
        "email": "brad@danga.com",
        "time": "Wed Oct 30 09:55:26 2013 -0700"
      },
      "message": "Merge pull request #16 from Obvious/dpup-serverrequests\n\nHTTPPool increments Group.Stats.ServerRequests"
    },
    {
      "commit": "bdcbf83d9e4615a5460db292d22dea96c4d53f8b",
      "tree": "b39425ed1228832941a5868c5513b7941d67f1a7",
      "parents": [
        "5fd3de064f6653bb340d2e7f2cd67d1d51050a21"
      ],
      "author": {
        "name": "Dan Pupius",
        "email": "dan@medium.com",
        "time": "Wed Oct 16 10:51:16 2013 -0700"
      },
      "committer": {
        "name": "Dan Pupius",
        "email": "dan@medium.com",
        "time": "Wed Oct 16 10:57:19 2013 -0700"
      },
      "message": "HTTPPool increments Group.Stats.ServerRequests\n"
    },
    {
      "commit": "5fd3de064f6653bb340d2e7f2cd67d1d51050a21",
      "tree": "69617e2e6a5c56b9f6417ecd93e196cb91e172b5",
      "parents": [
        "df73e837ff56868ecc1a42bcd665b66c7613cebe",
        "a06134f0daef8adbf3838584c584c2d3a89d29ec"
      ],
      "author": {
        "name": "Andrew Gerrand",
        "email": "nf@wh3rd.net",
        "time": "Thu Oct 03 20:14:56 2013 -0700"
      },
      "committer": {
        "name": "Andrew Gerrand",
        "email": "nf@wh3rd.net",
        "time": "Thu Oct 03 20:14:56 2013 -0700"
      },
      "message": "Merge pull request #15 from Obvious/master\n\nPeerPicker uses ring hash to more consistently choose peers"
    },
    {
      "commit": "a06134f0daef8adbf3838584c584c2d3a89d29ec",
      "tree": "69617e2e6a5c56b9f6417ecd93e196cb91e172b5",
      "parents": [
        "df73e837ff56868ecc1a42bcd665b66c7613cebe"
      ],
      "author": {
        "name": "Dan Pupius",
        "email": "dan@medium.com",
        "time": "Wed Sep 25 14:49:30 2013 -0700"
      },
      "committer": {
        "name": "Dan Pupius",
        "email": "dan@medium.com",
        "time": "Tue Oct 01 19:10:50 2013 -0700"
      },
      "message": "PeerPicker uses ring hash to pick peers\n"
    },
    {
      "commit": "df73e837ff56868ecc1a42bcd665b66c7613cebe",
      "tree": "82b70cb71bddbabc67faae9d90d2289271f70a38",
      "parents": [
        "61c957aaf8834dc98ff61c885b97b30540195da8",
        "38eed8b4ba4e4f9180f6351cab66d29d57f18254"
      ],
      "author": {
        "name": "Andrew Gerrand",
        "email": "nf@wh3rd.net",
        "time": "Thu Aug 29 17:26:52 2013 -0700"
      },
      "committer": {
        "name": "Andrew Gerrand",
        "email": "nf@wh3rd.net",
        "time": "Thu Aug 29 17:26:52 2013 -0700"
      },
      "message": "Merge pull request #13 from ukai/fix_http\n\nClose body even if it got error http status."
    },
    {
      "commit": "38eed8b4ba4e4f9180f6351cab66d29d57f18254",
      "tree": "82b70cb71bddbabc67faae9d90d2289271f70a38",
      "parents": [
        "61c957aaf8834dc98ff61c885b97b30540195da8"
      ],
      "author": {
        "name": "Fumitoshi Ukai",
        "email": "ukai@chromium.org",
        "time": "Thu Aug 29 22:00:01 2013 +0900"
      },
      "committer": {
        "name": "Fumitoshi Ukai",
        "email": "ukai@chromium.org",
        "time": "Thu Aug 29 22:00:01 2013 +0900"
      },
      "message": "Close body even if it got error http status.\n\nOtherwise, http connections keep open if server\nreturned error status (e.g. Get returned error).\n"
    },
    {
      "commit": "61c957aaf8834dc98ff61c885b97b30540195da8",
      "tree": "4b1468b3db9b6d419eba1c21be8995cdf134ea9e",
      "parents": [
        "b912ed88a60fdc1392a3eef786bf970baae85814",
        "0fb45dacf0589bc1e6c3e4ebba6a09e37942528c"
      ],
      "author": {
        "name": "Andrew Gerrand",
        "email": "nf@wh3rd.net",
        "time": "Tue Aug 27 16:27:32 2013 -0700"
      },
      "committer": {
        "name": "Andrew Gerrand",
        "email": "nf@wh3rd.net",
        "time": "Tue Aug 27 16:27:32 2013 -0700"
      },
      "message": "Merge pull request #12 from bmizerany/typo\n\nfix doc typo"
    },
    {
      "commit": "0fb45dacf0589bc1e6c3e4ebba6a09e37942528c",
      "tree": "4b1468b3db9b6d419eba1c21be8995cdf134ea9e",
      "parents": [
        "b912ed88a60fdc1392a3eef786bf970baae85814"
      ],
      "author": {
        "name": "Blake Mizerany",
        "email": "blake.mizerany@gmail.com",
        "time": "Mon Aug 26 16:42:09 2013 -0700"
      },
      "committer": {
        "name": "Blake Mizerany",
        "email": "blake.mizerany@gmail.com",
        "time": "Mon Aug 26 16:42:09 2013 -0700"
      },
      "message": "fix doc typo\n"
    },
    {
      "commit": "b912ed88a60fdc1392a3eef786bf970baae85814",
      "tree": "d00b514015b840d921fcc1d47e153362e7a5721a",
      "parents": [
        "3f89d3eb33bbd9d58a6ea861e6f505acfb556559",
        "9db4a8a9997124345c51c74ab8545223050c65ad"
      ],
      "author": {
        "name": "Andrew Gerrand",
        "email": "adg@golang.org",
        "time": "Mon Aug 12 12:08:34 2013 +1000"
      },
      "committer": {
        "name": "Andrew Gerrand",
        "email": "adg@golang.org",
        "time": "Mon Aug 12 12:08:34 2013 +1000"
      },
      "message": "Merge branch \u0027master\u0027 of github.com:/golang/groupcache\n"
    },
    {
      "commit": "3f89d3eb33bbd9d58a6ea861e6f505acfb556559",
      "tree": "6a479b869f3ba8fab3bf0c71b7b38060b2b659bb",
      "parents": [
        "b3105e2311a593b18daaa658c1ff250fee760050"
      ],
      "author": {
        "name": "Andrew Gerrand",
        "email": "adg@golang.org",
        "time": "Mon Aug 12 12:08:11 2013 +1000"
      },
      "committer": {
        "name": "Andrew Gerrand",
        "email": "adg@golang.org",
        "time": "Mon Aug 12 12:08:11 2013 +1000"
      },
      "message": "fix overflow in peer selection\n"
    },
    {
      "commit": "9db4a8a9997124345c51c74ab8545223050c65ad",
      "tree": "d9e0107e72580ff4308f3b4d66a0ef697998e321",
      "parents": [
        "1d5ab13e0b09dfb079d0b23fb67e389742c853ba",
        "8a39167b889ff0e89e162507f3167e76dee71a17"
      ],
      "author": {
        "name": "Andrew Gerrand",
        "email": "nf@wh3rd.net",
        "time": "Wed Jul 31 20:35:22 2013 -0700"
      },
      "committer": {
        "name": "Andrew Gerrand",
        "email": "nf@wh3rd.net",
        "time": "Wed Jul 31 20:35:22 2013 -0700"
      },
      "message": "Merge pull request #8 from Luit/patch-2\n\nWeird use of brackets in README.md"
    },
    {
      "commit": "8a39167b889ff0e89e162507f3167e76dee71a17",
      "tree": "d9e0107e72580ff4308f3b4d66a0ef697998e321",
      "parents": [
        "1d5ab13e0b09dfb079d0b23fb67e389742c853ba"
      ],
      "author": {
        "name": "Luit van Drongelen",
        "email": "luit@luit.it",
        "time": "Wed Jul 31 09:45:16 2013 +0200"
      },
      "committer": {
        "name": "Luit van Drongelen",
        "email": "luit@luit.it",
        "time": "Wed Jul 31 09:45:16 2013 +0200"
      },
      "message": "Weird use of brackets in README.md"
    },
    {
      "commit": "1d5ab13e0b09dfb079d0b23fb67e389742c853ba",
      "tree": "c398c5facc29365035d2b76920877346de546158",
      "parents": [
        "0e1c21818b4a5e16406968bf66255258123f66a7",
        "e15e6b865b764ff857b190a248fff5887d258c92"
      ],
      "author": {
        "name": "Andrew Gerrand",
        "email": "nf@wh3rd.net",
        "time": "Tue Jul 30 23:32:27 2013 -0700"
      },
      "committer": {
        "name": "Andrew Gerrand",
        "email": "nf@wh3rd.net",
        "time": "Tue Jul 30 23:32:27 2013 -0700"
      },
      "message": "Merge pull request #7 from Luit/patch-1\n\nfix RegisterPeerPicker panic string\r\n\r\n(Luit has signed the CLA.)"
    },
    {
      "commit": "e15e6b865b764ff857b190a248fff5887d258c92",
      "tree": "c398c5facc29365035d2b76920877346de546158",
      "parents": [
        "0e1c21818b4a5e16406968bf66255258123f66a7"
      ],
      "author": {
        "name": "Luit van Drongelen",
        "email": "luit@luit.it",
        "time": "Wed Jul 31 00:28:33 2013 +0200"
      },
      "committer": {
        "name": "Luit van Drongelen",
        "email": "luit@luit.it",
        "time": "Wed Jul 31 00:28:33 2013 +0200"
      },
      "message": "fix RegisterPeerPicker panic string"
    },
    {
      "commit": "0e1c21818b4a5e16406968bf66255258123f66a7",
      "tree": "922842185ae6eeb23cc0ed8fa6ac5b8c729e5ad7",
      "parents": [
        "e8519194befbdf207f01166f1738fd8f64b996fc",
        "8b8b9d63cf222c8838785644f476920b88caab09"
      ],
      "author": {
        "name": "Brad Fitzpatrick",
        "email": "brad@danga.com",
        "time": "Sat Jul 27 16:12:44 2013 -0700"
      },
      "committer": {
        "name": "Brad Fitzpatrick",
        "email": "brad@danga.com",
        "time": "Sat Jul 27 16:12:44 2013 -0700"
      },
      "message": "Merge pull request #2 from elimisteve/patch-1\n\nFixed README typo: s/suppresion/suppression/"
    },
    {
      "commit": "8b8b9d63cf222c8838785644f476920b88caab09",
      "tree": "922842185ae6eeb23cc0ed8fa6ac5b8c729e5ad7",
      "parents": [
        "e8519194befbdf207f01166f1738fd8f64b996fc"
      ],
      "author": {
        "name": "Steve Phillips",
        "email": "elimisteve@gmail.com",
        "time": "Fri Jul 26 15:08:26 2013 -0700"
      },
      "committer": {
        "name": "Steve Phillips",
        "email": "elimisteve@gmail.com",
        "time": "Fri Jul 26 15:08:26 2013 -0700"
      },
      "message": "Fixed README typo: s/suppresion/suppression/"
    },
    {
      "commit": "e8519194befbdf207f01166f1738fd8f64b996fc",
      "tree": "1588a320f4451b8fd7d98fedb0c6338e698520bf",
      "parents": [
        "b3105e2311a593b18daaa658c1ff250fee760050"
      ],
      "author": {
        "name": "Brad Fitzpatrick",
        "email": "bradfitz@golang.org",
        "time": "Fri Jul 26 13:41:32 2013 -0700"
      },
      "committer": {
        "name": "Brad Fitzpatrick",
        "email": "bradfitz@golang.org",
        "time": "Fri Jul 26 13:41:32 2013 -0700"
      },
      "message": "Remove duplicated unnecessary file. It\u0027s in the groupcachepb sub-package.\n"
    },
    {
      "commit": "b3105e2311a593b18daaa658c1ff250fee760050",
      "tree": "239e3954f4ea90a54f0dce0b83dfdcc97a05a53b",
      "parents": [
        "0bfcb13dbb937f1db98b6286c1e84da881dcdde0"
      ],
      "author": {
        "name": "Andrew Gerrand",
        "email": "adg@golang.org",
        "time": "Wed Jul 24 14:59:50 2013 +1000"
      },
      "committer": {
        "name": "Andrew Gerrand",
        "email": "adg@golang.org",
        "time": "Wed Jul 24 14:59:50 2013 +1000"
      },
      "message": "fix RegisterPeerPicker comment\n"
    },
    {
      "commit": "0bfcb13dbb937f1db98b6286c1e84da881dcdde0",
      "tree": "90edcc572a5c8828434e56ddcc2f04aaf2997fe3",
      "parents": [
        "e2abff3bea79bb94d5baaed34dd8918b094c5672"
      ],
      "author": {
        "name": "Andrew Gerrand",
        "email": "adg@golang.org",
        "time": "Wed Jul 24 14:57:40 2013 +1000"
      },
      "committer": {
        "name": "Andrew Gerrand",
        "email": "adg@golang.org",
        "time": "Wed Jul 24 14:57:40 2013 +1000"
      },
      "message": "add HTTP pool implementation\n"
    },
    {
      "commit": "e2abff3bea79bb94d5baaed34dd8918b094c5672",
      "tree": "ab8a5c2e3558eabf71cf645cc6832bb229b93641",
      "parents": [
        "6dad98a783706eed16bd2f90356daa33bbc925b2"
      ],
      "author": {
        "name": "Andrew Gerrand",
        "email": "adg@golang.org",
        "time": "Wed Jul 24 11:09:53 2013 +1000"
      },
      "committer": {
        "name": "Andrew Gerrand",
        "email": "adg@golang.org",
        "time": "Wed Jul 24 11:09:53 2013 +1000"
      },
      "message": "add docs to PeerPicker\n"
    },
    {
      "commit": "6dad98a783706eed16bd2f90356daa33bbc925b2",
      "tree": "6155e559dce134c31b86238fc1ede9107b0e4c4f",
      "parents": [],
      "author": {
        "name": "Brad Fitzpatrick",
        "email": "bradfitz@golang.org",
        "time": "Tue Jul 23 17:18:04 2013 -0700"
      },
      "committer": {
        "name": "Brad Fitzpatrick",
        "email": "bradfitz@golang.org",
        "time": "Tue Jul 23 18:03:06 2013 -0700"
      },
      "message": "initial commit.\n"
    }
  ]
}
