)]}'
{
  "log": [
    {
      "commit": "ce62148d0a4469751d8078cc223684da29b5d4a7",
      "tree": "146a6a019b00c8cdcd2835b362d32bfebb24369f",
      "parents": [
        "d22903c0ceaf19a305e67b5b7322cbdc4e5e9340",
        "3b15107df83a16a26dbc6c06a1a080437cb558b8"
      ],
      "author": {
        "name": "Nick Vatamaniuc",
        "email": "vatamane@apache.org",
        "time": "Wed Mar 15 22:39:31 2017 -0400"
      },
      "committer": {
        "name": "Nick Vatamaniuc",
        "email": "vatamane@apache.org",
        "time": "Wed Mar 15 22:39:31 2017 -0400"
      },
      "message": "Merge branch \u0027couchdb-2992\u0027\n\nCloses #91\n"
    },
    {
      "commit": "3b15107df83a16a26dbc6c06a1a080437cb558b8",
      "tree": "146a6a019b00c8cdcd2835b362d32bfebb24369f",
      "parents": [
        "d22903c0ceaf19a305e67b5b7322cbdc4e5e9340"
      ],
      "author": {
        "name": "Nick Vatamaniuc",
        "email": "vatamane@apache.org",
        "time": "Tue Mar 14 02:59:31 2017 -0400"
      },
      "committer": {
        "name": "Nick Vatamaniuc",
        "email": "vatamane@apache.org",
        "time": "Tue Mar 14 02:59:31 2017 -0400"
      },
      "message": "Allow limiting maximum document body size\n\nUpdate doc function to check and validate document body sizes\n\nMain implementation is in PR:\n\n https://github.com/apache/couchdb-couch/pull/235\n\nCOUCHDB-2992\n"
    },
    {
      "commit": "d22903c0ceaf19a305e67b5b7322cbdc4e5e9340",
      "tree": "9bfbaf05495fbed4f24bdc8b2550f1bb52209e06",
      "parents": [
        "70535eeb9b9c226129bdc96cbca8492fbc867cf6",
        "6e9074bc8778e00471d96191319ac67d6c78c05a"
      ],
      "author": {
        "name": "Nick Vatamaniuc",
        "email": "vatamane@apache.org",
        "time": "Tue Feb 21 21:22:54 2017 -0500"
      },
      "committer": {
        "name": "Nick Vatamaniuc",
        "email": "vatamane@apache.org",
        "time": "Tue Feb 21 21:22:54 2017 -0500"
      },
      "message": "Merge remote-tracking branch \u0027cloudant/couchdb-3302\u0027\n\nCloses #89\n"
    },
    {
      "commit": "6e9074bc8778e00471d96191319ac67d6c78c05a",
      "tree": "9bfbaf05495fbed4f24bdc8b2550f1bb52209e06",
      "parents": [
        "70535eeb9b9c226129bdc96cbca8492fbc867cf6"
      ],
      "author": {
        "name": "Nick Vatamaniuc",
        "email": "vatamane@apache.org",
        "time": "Tue Feb 21 17:46:57 2017 -0500"
      },
      "committer": {
        "name": "Nick Vatamaniuc",
        "email": "vatamane@apache.org",
        "time": "Tue Feb 21 17:46:57 2017 -0500"
      },
      "message": "Prevent attachment upload from timing out during update_docs fabric call\n\nCurrently if an attachment was large enough or the connection was slow enough\nsuch that it took more than fabric.request_timeout \u003d 60000 milliseconds, the\nfabric request would time out during attachment data transfer from coordinator\nnode to other nodes and the whole request would fail.\n\nThis was most evident when replicating database with large attachments.\n\nThe fix is to periodically send `attachment_chunk_received` to coordinator to\nprevent the timeout.\n\nCOUCHDB-3302\n"
    },
    {
      "commit": "70535eeb9b9c226129bdc96cbca8492fbc867cf6",
      "tree": "4dbcf39405c7e09869d50cdde22aa5bbd5bb3387",
      "parents": [
        "cf220b2e927093e3bd6f409b4ca9f7b1be0a04a3"
      ],
      "author": {
        "name": "Tony Sun",
        "email": "tony.sun@cloudant.com",
        "time": "Fri Feb 10 11:23:07 2017 -0800"
      },
      "committer": {
        "name": "Tony Sun",
        "email": "tony.sun@cloudant.com",
        "time": "Fri Feb 10 11:23:07 2017 -0800"
      },
      "message": "Use RealReplyCount to distinguish worker replies and invalid docs\n\nWe use {ok, []} in couch_db:open_doc_revs_int/3 as a return value\nwhen the document does not exist and open_revs\u003dall. This leads to an\nincorrect all_workers_died error. We use ReplyCount and RealReplyCount\nto distinguish between when no workers were actually used in a reply\nversus when the document does not exist\n\nCOUCHDB-3113\n"
    },
    {
      "commit": "cf220b2e927093e3bd6f409b4ca9f7b1be0a04a3",
      "tree": "bc66f8558cb7306a11b5717017e080834b2cc64b",
      "parents": [
        "dd02a3938f267716e3479b7162e0b0a4f8ba3d51"
      ],
      "author": {
        "name": "Tony Sun",
        "email": "tony.sun@cloudant.com",
        "time": "Tue Jan 31 20:47:13 2017 -0800"
      },
      "committer": {
        "name": "Tony Sun",
        "email": "tony.sun@cloudant.com",
        "time": "Thu Feb 09 11:27:47 2017 -0800"
      },
      "message": "Add Else Clause For Embed Doc\n\nWhen open_doc or open_revs return an error, we set the doc value\nto be an error message. This way we account for errors rather than\ntransform_row throwing a function_clause.\n\nCOUCHDB-3109\n"
    },
    {
      "commit": "dd02a3938f267716e3479b7162e0b0a4f8ba3d51",
      "tree": "f3573a9a3689cd0d2c7c093321b2cd352c4bfca7",
      "parents": [
        "f9f568138ff24f4769b5047f13f4db7a7f3ce94a"
      ],
      "author": {
        "name": "Tony Sun",
        "email": "tony.sun@cloudant.com",
        "time": "Wed Jan 25 13:47:00 2017 -0800"
      },
      "committer": {
        "name": "Tony Sun",
        "email": "tony.sun@cloudant.com",
        "time": "Wed Jan 25 14:12:47 2017 -0800"
      },
      "message": "Return error when workers crash\n\nCurrently, when one worker survives in fabric_open_revs, we return that\nas the response. However, when all workers crash, we still return\n{ok, []}. This changes the response to an error.\n\nCOUCHDB-3113\n"
    },
    {
      "commit": "f9f568138ff24f4769b5047f13f4db7a7f3ce94a",
      "tree": "d149cdc8e3b7ae19531d9be2009ccab180d339d6",
      "parents": [
        "ec2235196d7195afab59cedc2d61a02b11596ab4"
      ],
      "author": {
        "name": "Eric Avdey",
        "email": "eiri@eiri.ca",
        "time": "Tue Jan 24 13:25:41 2017 -0400"
      },
      "committer": {
        "name": "Eric Avdey",
        "email": "eiri@eiri.ca",
        "time": "Tue Jan 24 13:25:53 2017 -0400"
      },
      "message": "Add admin ctx on open ddoc in group_info\n"
    },
    {
      "commit": "ec2235196d7195afab59cedc2d61a02b11596ab4",
      "tree": "9ec80eb0ab0b9943f96396667096a4cdb51ce840",
      "parents": [
        "6fa8d3ca004fb8fa658bc30abb0705e88fd810ab"
      ],
      "author": {
        "name": "Nick Vatamaniuc",
        "email": "vatamane@apache.org",
        "time": "Thu Jan 12 13:50:20 2017 -0500"
      },
      "committer": {
        "name": "Nick Vatamaniuc",
        "email": "vatamane@apache.org",
        "time": "Fri Jan 20 10:56:14 2017 -0500"
      },
      "message": "In open_revs, do not count errors in quorum threshold calculation\n\nPreviously quorum check looked just at the number of replies and decided quorum\nwas met even if it only received errors. For example, if 2 nodes are in\nmaintance mode it might receive this sequence of replies:\n\n  `rexi_EXIT, rexi_EXIT, ok`\n\nIn that case after the first two it would decide quorum (r\u003d2) was met, return\nwhat it had so far ([]) and kill the remaining worker, who was about to return\na valid revision.\n\nThe fix is to keep track of error replies and subtract them when deciding if\nquorum was met.\n\nCOUCHDB-3271\n"
    },
    {
      "commit": "6fa8d3ca004fb8fa658bc30abb0705e88fd810ab",
      "tree": "54fd5a864a13a45a2b9d389cc0752d1bb653ce08",
      "parents": [
        "998cf2d66aeb0a436f2d836f3f50ee0c647137fc"
      ],
      "author": {
        "name": "Nick Vatamaniuc",
        "email": "vatamane@apache.org",
        "time": "Thu Jan 12 13:17:52 2017 -0500"
      },
      "committer": {
        "name": "Nick Vatamaniuc",
        "email": "vatamane@apache.org",
        "time": "Fri Jan 20 10:56:14 2017 -0500"
      },
      "message": "Fix open_revs fabric eunit test\n\nIn check_workers_error_skipped last worker should be w3 not w2.\n\nCOUCHDB-3271\n"
    },
    {
      "commit": "998cf2d66aeb0a436f2d836f3f50ee0c647137fc",
      "tree": "a2cb686d82b682813b2a7ea027556566ade68830",
      "parents": [
        "eb697843865c39cec5d7831d9a0f02edf90d06ba"
      ],
      "author": {
        "name": "Robert Newson",
        "email": "rnewson@apache.org",
        "time": "Mon Jan 09 12:30:02 2017 +0000"
      },
      "committer": {
        "name": "Robert Newson",
        "email": "rnewson@apache.org",
        "time": "Wed Jan 11 18:08:57 2017 +0000"
      },
      "message": "Handle no_pass message when limit is 0\n\nA view query that uses both a filter and a limit value can appear to\n\u0027hang\u0027 because the workers continue to run even after the number of\nrequested items have been returned, as workers that find no more\nmatches return \u0027no_pass\u0027 messages not \u0027change\u0027 messages, and thus the\nshort-circuiting code is never activated.\n\nCOUCHDB-3269\n"
    },
    {
      "commit": "eb697843865c39cec5d7831d9a0f02edf90d06ba",
      "tree": "c8257c816ec4aca43f9f58f48b33a912b825d5b2",
      "parents": [
        "205064aa549361f83faa94370c7b70e834f2ed2e",
        "8dcc3fb175807ac18a3d7c1fc95364910ee8969e"
      ],
      "author": {
        "name": "Robert Newson",
        "email": "rnewson@apache.org",
        "time": "Tue Jan 03 13:22:41 2017 +0000"
      },
      "committer": {
        "name": "Robert Newson",
        "email": "rnewson@apache.org",
        "time": "Tue Jan 03 13:22:41 2017 +0000"
      },
      "message": "Merge remote-tracking branch \u0027willholley/3264-alldocs-keys-conflicts\u0027\n"
    },
    {
      "commit": "8dcc3fb175807ac18a3d7c1fc95364910ee8969e",
      "tree": "c8257c816ec4aca43f9f58f48b33a912b825d5b2",
      "parents": [
        "863b8d9671d57c3125b954a3f63467a1c7c5f01f"
      ],
      "author": {
        "name": "Will Holley",
        "email": "willholley@gmail.com",
        "time": "Tue Jan 03 09:54:30 2017 +0000"
      },
      "committer": {
        "name": "Will Holley",
        "email": "willholley@gmail.com",
        "time": "Tue Jan 03 10:37:15 2017 +0000"
      },
      "message": "Include conflicts parameter in doc_options\n\nWhen a keys array is passed to _all_docs, fabric translates this\nto individual open_doc calls. The conflicts\u003dtrue query parameter is\nspecified as a view-level option and is not, by default, parsed as\nan option that should be passed to open_doc.\n\nAs a workaround, explicitly copy the view-level conflict parameter into\nthe document options before open_doc is called.\n\nAn alternative approach would be to address this when the query\nparameters are parsed, setting conflicts\u003dtrue in both #mrargs and\ndetail of fabric, I elected to make the change here instead.\n\nFixes #COUCHDB-3264\n"
    },
    {
      "commit": "205064aa549361f83faa94370c7b70e834f2ed2e",
      "tree": "ab6d3e256655dd39efb2e1d08b0400b577db9dd4",
      "parents": [
        "5b74e56a2eb44e25e33dc984bdfc470688f447eb",
        "863b8d9671d57c3125b954a3f63467a1c7c5f01f"
      ],
      "author": {
        "name": "ILYA Khlopotov",
        "email": "iilyak@apache.org",
        "time": "Thu Nov 17 09:49:24 2016 -0800"
      },
      "committer": {
        "name": "ILYA Khlopotov",
        "email": "iilyak@apache.org",
        "time": "Thu Nov 17 09:49:24 2016 -0800"
      },
      "message": "Merge remote branch \u0027cloudant:77984-fixup\u0027\n\nThis closes #80\n\nSigned-off-by: ILYA Khlopotov \u003ciilyak@apache.org\u003e\n"
    },
    {
      "commit": "863b8d9671d57c3125b954a3f63467a1c7c5f01f",
      "tree": "ab6d3e256655dd39efb2e1d08b0400b577db9dd4",
      "parents": [
        "5b74e56a2eb44e25e33dc984bdfc470688f447eb"
      ],
      "author": {
        "name": "ILYA Khlopotov",
        "email": "iilyak@apache.org",
        "time": "Thu Nov 17 09:44:31 2016 -0800"
      },
      "committer": {
        "name": "ILYA Khlopotov",
        "email": "iilyak@apache.org",
        "time": "Thu Nov 17 09:44:31 2016 -0800"
      },
      "message": "Use upgraded #mrargs{} instead of old one\n"
    },
    {
      "commit": "5b74e56a2eb44e25e33dc984bdfc470688f447eb",
      "tree": "a3d10433413e0a82c476d9ca024ebb002b253e6a",
      "parents": [
        "9f82e5b84f407761e29ab46e5f039f19d28b8b70",
        "9d12ad18086e9912a31148988acc5ad524689f60"
      ],
      "author": {
        "name": "ILYA Khlopotov",
        "email": "iilyak@apache.org",
        "time": "Wed Nov 16 14:06:06 2016 -0800"
      },
      "committer": {
        "name": "ILYA Khlopotov",
        "email": "iilyak@apache.org",
        "time": "Wed Nov 16 14:06:06 2016 -0800"
      },
      "message": "Merge remote branch \u0027cloudant:fix-typespecs\u0027\n\nThis closes #79\n\nSigned-off-by: ILYA Khlopotov \u003ciilyak@apache.org\u003e\n"
    },
    {
      "commit": "9d12ad18086e9912a31148988acc5ad524689f60",
      "tree": "a3d10433413e0a82c476d9ca024ebb002b253e6a",
      "parents": [
        "9f82e5b84f407761e29ab46e5f039f19d28b8b70"
      ],
      "author": {
        "name": "ILYA Khlopotov",
        "email": "iilyak@apache.org",
        "time": "Wed Nov 16 13:57:29 2016 -0800"
      },
      "committer": {
        "name": "ILYA Khlopotov",
        "email": "iilyak@apache.org",
        "time": "Wed Nov 16 14:05:19 2016 -0800"
      },
      "message": "Add `{error, Reason}` to typespecs\n\n`fabric:design_docs/1` and `all_docs/5` can return `{error, Reason}`\n"
    },
    {
      "commit": "9f82e5b84f407761e29ab46e5f039f19d28b8b70",
      "tree": "3b1c2b6bc77171ad422d4d001fa0b5dd4f0b3389",
      "parents": [
        "f427ad0da2575167ea5e0089165ce4591eb04e5c",
        "4377acf2d1bcbe7fd0078417f038d1da93d86fd2"
      ],
      "author": {
        "name": "ILYA Khlopotov",
        "email": "iilyak@apache.org",
        "time": "Mon Nov 14 16:21:11 2016 -0800"
      },
      "committer": {
        "name": "ILYA Khlopotov",
        "email": "iilyak@apache.org",
        "time": "Mon Nov 14 16:21:11 2016 -0800"
      },
      "message": "Merge remote branch \u0027cloudant:77984-upgrade-mrargs-record-phase2\u0027\n\nThis closes #78\n\nSigned-off-by: ILYA Khlopotov \u003ciilyak@apache.org\u003e\n"
    },
    {
      "commit": "4377acf2d1bcbe7fd0078417f038d1da93d86fd2",
      "tree": "3b1c2b6bc77171ad422d4d001fa0b5dd4f0b3389",
      "parents": [
        "f14cd78590e650ae070e2f40dde101c1dde8ed83"
      ],
      "author": {
        "name": "ILYA Khlopotov",
        "email": "iilyak@apache.org",
        "time": "Mon Nov 14 13:17:12 2016 -0800"
      },
      "committer": {
        "name": "ILYA Khlopotov",
        "email": "iilyak@apache.org",
        "time": "Mon Nov 14 16:06:52 2016 -0800"
      },
      "message": "Revert \"Revert \"Merge remote-tracking branch \u0027banjiewen/stale-stable-update\u0027\"\"\n\nThis reverts commit a8e0e9549bb2a1181538ae433f1de78abadc41d5.\n\nNote: Re-aplying previously reverted merge\n"
    },
    {
      "commit": "f14cd78590e650ae070e2f40dde101c1dde8ed83",
      "tree": "92d3c27d20a6b8464ec01348a01a153b1835a2d3",
      "parents": [
        "f427ad0da2575167ea5e0089165ce4591eb04e5c"
      ],
      "author": {
        "name": "ILYA Khlopotov",
        "email": "iilyak@apache.org",
        "time": "Mon Nov 14 13:17:09 2016 -0800"
      },
      "committer": {
        "name": "ILYA Khlopotov",
        "email": "iilyak@apache.org",
        "time": "Mon Nov 14 16:06:31 2016 -0800"
      },
      "message": "Upgrade #mrargs{} record\n"
    },
    {
      "commit": "f427ad0da2575167ea5e0089165ce4591eb04e5c",
      "tree": "da6884bf2f6f786de126d9030331de168a1f9ce7",
      "parents": [
        "fb4b6b3f9af259ff30ab4f96d2a1d93a1e85e104",
        "bed5c67f9633d2837aa51c1aeb078fc671fa1e27"
      ],
      "author": {
        "name": "ILYA Khlopotov",
        "email": "iilyak@apache.org",
        "time": "Mon Nov 14 16:02:33 2016 -0800"
      },
      "committer": {
        "name": "ILYA Khlopotov",
        "email": "iilyak@apache.org",
        "time": "Mon Nov 14 16:02:33 2016 -0800"
      },
      "message": "Merge remote branch \u0027cloudant:77984-upgrade-mrargs-record-phase1\u0027\n\nThis closes #77\n\nSigned-off-by: ILYA Khlopotov \u003ciilyak@apache.org\u003e\n"
    },
    {
      "commit": "bed5c67f9633d2837aa51c1aeb078fc671fa1e27",
      "tree": "da6884bf2f6f786de126d9030331de168a1f9ce7",
      "parents": [
        "a8e0e9549bb2a1181538ae433f1de78abadc41d5"
      ],
      "author": {
        "name": "ILYA Khlopotov",
        "email": "iilyak@apache.org",
        "time": "Mon Nov 14 13:13:11 2016 -0800"
      },
      "committer": {
        "name": "ILYA Khlopotov",
        "email": "iilyak@apache.org",
        "time": "Mon Nov 14 13:47:05 2016 -0800"
      },
      "message": "Compatibility clause for the record upgrade\n"
    },
    {
      "commit": "a8e0e9549bb2a1181538ae433f1de78abadc41d5",
      "tree": "fee4c8b9511468f008ba8d7f33d7d2d1133130ec",
      "parents": [
        "fb4b6b3f9af259ff30ab4f96d2a1d93a1e85e104"
      ],
      "author": {
        "name": "ILYA Khlopotov",
        "email": "iilyak@apache.org",
        "time": "Mon Nov 14 13:10:39 2016 -0800"
      },
      "committer": {
        "name": "ILYA Khlopotov",
        "email": "iilyak@apache.org",
        "time": "Mon Nov 14 13:10:39 2016 -0800"
      },
      "message": "Revert \"Merge remote-tracking branch \u0027banjiewen/stale-stable-update\u0027\"\n\nThis reverts commit 508122c52731a9eac3e83f8d727f2355f019fe1f, reversing\nchanges made to d68a00fdeba9113bd1a3dd41d8e546b05bb2e533.\n"
    },
    {
      "commit": "fb4b6b3f9af259ff30ab4f96d2a1d93a1e85e104",
      "tree": "4f84071d0f30c6ebf10085573befe722c354627a",
      "parents": [
        "67978b140acc4a3afdb3679b47e989c5b0caf194",
        "1ee7c63ebd0daaf0430460adda23560d03a1ba16"
      ],
      "author": {
        "name": "Robert Newson",
        "email": "rnewson@apache.org",
        "time": "Fri Nov 11 18:29:05 2016 -0500"
      },
      "committer": {
        "name": "Robert Newson",
        "email": "rnewson@apache.org",
        "time": "Fri Nov 11 18:29:05 2016 -0500"
      },
      "message": "Merge remote-tracking branch \u0027cloudant/3232-all-docs-ctx\u0027\n"
    },
    {
      "commit": "67978b140acc4a3afdb3679b47e989c5b0caf194",
      "tree": "e8dd12efc1a32e7bbf0094a81ea83f60bcd47bf3",
      "parents": [
        "7cfabb5543de52639d226f509897e9b418327fcb",
        "4fcfecf720791f400169c6823aac1abc2d85c47e"
      ],
      "author": {
        "name": "Paul J. Davis",
        "email": "paul.joseph.davis@gmail.com",
        "time": "Fri Nov 11 13:15:09 2016 -0600"
      },
      "committer": {
        "name": "Paul J. Davis",
        "email": "paul.joseph.davis@gmail.com",
        "time": "Fri Nov 11 13:15:09 2016 -0600"
      },
      "message": "Merge branch \u0027COUCHDB-3234-open-shard-timeout-counter\u0027\n"
    },
    {
      "commit": "4fcfecf720791f400169c6823aac1abc2d85c47e",
      "tree": "e8dd12efc1a32e7bbf0094a81ea83f60bcd47bf3",
      "parents": [
        "7cfabb5543de52639d226f509897e9b418327fcb"
      ],
      "author": {
        "name": "Paul J. Davis",
        "email": "paul.joseph.davis@gmail.com",
        "time": "Fri Nov 11 11:34:11 2016 -0600"
      },
      "committer": {
        "name": "Paul J. Davis",
        "email": "paul.joseph.davis@gmail.com",
        "time": "Fri Nov 11 11:38:00 2016 -0600"
      },
      "message": "Track open_shard timeouts with a counter\n\nThe open_shard RPC endpoint is used to grab security docs. There are\nfairly aggressive timeouts on these requests so that when a node is too\nbusy it\u0027ll try the next shard. Rather than log everytime these fail\n(which can be substantial under load) lets just use a counter that can\nbe graphed and alerted on.\n\nCOUCHDB-3234\n"
    },
    {
      "commit": "1ee7c63ebd0daaf0430460adda23560d03a1ba16",
      "tree": "695acb880cbb9f5697adcd752007fc355a788cc7",
      "parents": [
        "7cfabb5543de52639d226f509897e9b418327fcb"
      ],
      "author": {
        "name": "Robert Newson",
        "email": "rnewson@apache.org",
        "time": "Thu Nov 10 23:45:14 2016 -0500"
      },
      "committer": {
        "name": "Robert Newson",
        "email": "rnewson@apache.org",
        "time": "Thu Nov 10 23:45:14 2016 -0500"
      },
      "message": "Pass user_ctx down to fabric_rpc\n\nThe Options array in fabric_view_all_docs contains the {user_ctx, _}\ntuple but we omitted to pass it down to the open_doc command. This\ncaused several incorrect behaviours for the _users database which has\nsome special properties for privacy reasons.\n\nCOUCHDB-3232\n"
    },
    {
      "commit": "7cfabb5543de52639d226f509897e9b418327fcb",
      "tree": "5d1ce58416222b5647febd979fa5a1a8cb182974",
      "parents": [
        "508122c52731a9eac3e83f8d727f2355f019fe1f"
      ],
      "author": {
        "name": "Nick Vatamaniuc",
        "email": "vatamane@gmail.com",
        "time": "Thu Jun 02 17:16:33 2016 -0400"
      },
      "committer": {
        "name": "Nick Vatamaniuc",
        "email": "vatamane@apache.org",
        "time": "Thu Oct 13 23:03:18 2016 -0400"
      },
      "message": "Add optional `fields` to change feed selectors\n\nWhen using selectors with `include_docs\u003dtrue` can specify an optional fields\narray in the POST request JSON body.\n\nEach element in the array can be a json field (or even a key path\nspecified as field1.field2...). Resulting documents will contain only the\nspecified document fields.\n\nFor example:\n```\nhttp://.../d1/_changes?filter\u003d_selector\u0026include_docs\u003dtrue\n\n{\n    \"selector\": {\"z\" : {\"$gte\" : 1} }, \"fields\": [\"field1\", \"field2\"]\n}\n```\nWill first select only document with \"z\" value \u003e\u003d 1, then will return only field1 and field2 in documents.\n\n```{ \"field1\": \"field1value\", \"field2\": \"field2value\"}```\n\n(This is a companion pr. Main pr is in couch repo)\n\nJira: COUCHDB-2988\n"
    },
    {
      "commit": "508122c52731a9eac3e83f8d727f2355f019fe1f",
      "tree": "090db0284b5876e5f568fae42e4558103354e433",
      "parents": [
        "d68a00fdeba9113bd1a3dd41d8e546b05bb2e533",
        "e80a744a02cf6194df9afca8359c561e47034f18"
      ],
      "author": {
        "name": "Robert Newson",
        "email": "rnewson@apache.org",
        "time": "Thu Oct 06 19:00:41 2016 +0100"
      },
      "committer": {
        "name": "Robert Newson",
        "email": "rnewson@apache.org",
        "time": "Thu Oct 06 19:06:08 2016 +0100"
      },
      "message": "Merge remote-tracking branch \u0027banjiewen/stale-stable-update\u0027\n"
    },
    {
      "commit": "d68a00fdeba9113bd1a3dd41d8e546b05bb2e533",
      "tree": "25afd72bf8f7a1b9d473fd84147445370fe5ae7b",
      "parents": [
        "97096eb88f1d578f073050ba1b74fc1804f4ab60"
      ],
      "author": {
        "name": "Robert Newson",
        "email": "rnewson@apache.org",
        "time": "Wed Oct 05 23:35:52 2016 +0100"
      },
      "committer": {
        "name": "Robert Newson",
        "email": "rnewson@apache.org",
        "time": "Wed Oct 05 23:37:09 2016 +0100"
      },
      "message": "Fix function clause introduced by fix for COUCHDB-3150\n"
    },
    {
      "commit": "97096eb88f1d578f073050ba1b74fc1804f4ab60",
      "tree": "990a2d7786ce1c69ac2295e9f920d1205f84fbf5",
      "parents": [
        "833281da260ee7cc24030f35b3780ccc3f9cccca",
        "6006bc6c8e491456c186950cdc12257036142b16"
      ],
      "author": {
        "name": "Paul J. Davis",
        "email": "paul.joseph.davis@gmail.com",
        "time": "Tue Oct 04 16:27:12 2016 -0500"
      },
      "committer": {
        "name": "Paul J. Davis",
        "email": "paul.joseph.davis@gmail.com",
        "time": "Tue Oct 04 16:27:12 2016 -0500"
      },
      "message": "Merge branch \u00273178-fix-fabric-rpc-filtered-changes\u0027\n"
    },
    {
      "commit": "6006bc6c8e491456c186950cdc12257036142b16",
      "tree": "eea0faa9ab22f677173316b9f650377e23d9bc68",
      "parents": [
        "ecdcc3dc9740ff0ef820a97276e49a08ce11b696"
      ],
      "author": {
        "name": "Paul J. Davis",
        "email": "paul.joseph.davis@gmail.com",
        "time": "Tue Oct 04 15:12:38 2016 -0500"
      },
      "committer": {
        "name": "Paul J. Davis",
        "email": "paul.joseph.davis@gmail.com",
        "time": "Tue Oct 04 15:15:06 2016 -0500"
      },
      "message": "Send a message when filtering a changes row\n\nWe managed to miss this change during the great merge as it was a\nconfusing mess in the cloudant/fabric repository. Its obvious in\nhindsight once you see that we have a\n`fabric_view_changes:handle_message/3` clause to handle the message.\n\nCOUCHDB-3178\n"
    },
    {
      "commit": "833281da260ee7cc24030f35b3780ccc3f9cccca",
      "tree": "c2bb3320d5ef1997eee1ae898aaa0209bd194486",
      "parents": [
        "ecdcc3dc9740ff0ef820a97276e49a08ce11b696"
      ],
      "author": {
        "name": "Jay Doane",
        "email": "jay.s.doane@gmail.com",
        "time": "Thu Sep 29 14:36:43 2016 -0700"
      },
      "committer": {
        "name": "Jay Doane",
        "email": "jay.s.doane@gmail.com",
        "time": "Thu Sep 29 14:36:43 2016 -0700"
      },
      "message": "Fix compiler warning\n"
    },
    {
      "commit": "ecdcc3dc9740ff0ef820a97276e49a08ce11b696",
      "tree": "fb45b2f632d617f5987357538875af04866e52b8",
      "parents": [
        "b5340347294ac8047619df23b1586774d22e5b71",
        "bea6b00ef5d15ddc5f062a09dacecb1d4d52a6ce"
      ],
      "author": {
        "name": "Paul J. Davis",
        "email": "paul.joseph.davis@gmail.com",
        "time": "Wed Sep 28 12:27:10 2016 -0500"
      },
      "committer": {
        "name": "Paul J. Davis",
        "email": "paul.joseph.davis@gmail.com",
        "time": "Wed Sep 28 12:27:10 2016 -0500"
      },
      "message": "Merge remote-tracking branch \u0027cloudant/COUCHDB-3150-update-all-shards-stale-update-after\u0027\n"
    },
    {
      "commit": "bea6b00ef5d15ddc5f062a09dacecb1d4d52a6ce",
      "tree": "fb45b2f632d617f5987357538875af04866e52b8",
      "parents": [
        "b5340347294ac8047619df23b1586774d22e5b71"
      ],
      "author": {
        "name": "brkolla",
        "email": "bkolla@cloudant.com",
        "time": "Wed Sep 21 14:29:15 2016 -0400"
      },
      "committer": {
        "name": "brkolla",
        "email": "bkolla@cloudant.com",
        "time": "Fri Sep 23 11:31:32 2016 -0400"
      },
      "message": "Update all shards with stale\u003dupdate_after\nTrigger an update for all the shards. Will send a message to trigger\nan update to shards that won\u0027t participate in the response due to not\nbeing a ushard.\n\nCOUCHDB-3150\n"
    },
    {
      "commit": "b5340347294ac8047619df23b1586774d22e5b71",
      "tree": "28160d8a45f13ead8371500f7b892477b4ba2751",
      "parents": [
        "f84750e3d31accf7bcadb0ba05249c23ce920521"
      ],
      "author": {
        "name": "Nick Vatamaniuc",
        "email": "vatamane@apache.org",
        "time": "Thu Sep 15 11:16:19 2016 -0400"
      },
      "committer": {
        "name": "Nick Vatamaniuc",
        "email": "vatamane@apache.org",
        "time": "Thu Sep 15 11:16:19 2016 -0400"
      },
      "message": "Avoid throwing exception when deleting db in db updater listener\n\nHandle db deletion explicitly. Previously handle_db_event callback returned\n`{stop, St}`. That return value was not handled by the caller, instead it\nresulted in it being used as reason in an erlang:error, which then ended up in\nthe log.\n\nJira: COUCHDB-3149\n"
    },
    {
      "commit": "f84750e3d31accf7bcadb0ba05249c23ce920521",
      "tree": "57d6ea9b25496c9d32461a5d8e7980ff938cd2ff",
      "parents": [
        "c7214fd2fef2fdbbf47964f6017c71ec8e8196ca",
        "a6cd3b21518a29af491c7174aa8c22d28b0119ee"
      ],
      "author": {
        "name": "Robert Newson",
        "email": "rnewson@apache.org",
        "time": "Thu Sep 08 19:05:24 2016 +0100"
      },
      "committer": {
        "name": "Robert Newson",
        "email": "rnewson@apache.org",
        "time": "Thu Sep 08 19:05:24 2016 +0100"
      },
      "message": "Merge remote-tracking branch \u0027will/all_or_nothing_error\u0027\n"
    },
    {
      "commit": "c7214fd2fef2fdbbf47964f6017c71ec8e8196ca",
      "tree": "dddd51e5f7d2bba6632744d36e044622fbdf68c4",
      "parents": [
        "78eb096dae277facc5cf4f6f166e5591da6c165f"
      ],
      "author": {
        "name": "Robert Newson",
        "email": "rnewson@apache.org",
        "time": "Wed Sep 07 18:56:14 2016 +0100"
      },
      "committer": {
        "name": "Robert Newson",
        "email": "rnewson@apache.org",
        "time": "Wed Sep 07 18:56:14 2016 +0100"
      },
      "message": "End continuous changes feeds cleanly if database is deleted\n\nCOUCHDB-3132\n"
    },
    {
      "commit": "a6cd3b21518a29af491c7174aa8c22d28b0119ee",
      "tree": "9809cb08aad17b0954c56e822fccef5b578b1af4",
      "parents": [
        "78eb096dae277facc5cf4f6f166e5591da6c165f"
      ],
      "author": {
        "name": "Will Holley",
        "email": "willholley@gmail.com",
        "time": "Wed Sep 07 17:10:05 2016 +0100"
      },
      "committer": {
        "name": "Will Holley",
        "email": "willholley@gmail.com",
        "time": "Wed Sep 07 17:12:50 2016 +0100"
      },
      "message": "clarify error when all_or_nothing attempted\n\nchange the error message so that it doesn\u0027t imply\nthat all_or_nothing is a feature that will be\nimplemented in the future.\n"
    },
    {
      "commit": "78eb096dae277facc5cf4f6f166e5591da6c165f",
      "tree": "01450cc614b71160edc1d0602d370e0c8718570c",
      "parents": [
        "cb85279e00f2e96b65e9605a82653558accc8e03",
        "b2afce7a4efdc44cda9f74512de385af0c3cad8f"
      ],
      "author": {
        "name": "Robert Newson",
        "email": "rnewson@apache.org",
        "time": "Thu Aug 11 12:27:19 2016 +0100"
      },
      "committer": {
        "name": "Robert Newson",
        "email": "rnewson@apache.org",
        "time": "Thu Aug 11 12:27:19 2016 +0100"
      },
      "message": "Merge remote-tracking branch \u0027cloudant/2779-view-cleanup-cluster-aware\u0027\n"
    },
    {
      "commit": "cb85279e00f2e96b65e9605a82653558accc8e03",
      "tree": "cf94e5f62d2ab7f57c18e44fbb8f95650ec10a3e",
      "parents": [
        "48d32e4e792ebd7549d677be65c86c77d6dfa382"
      ],
      "author": {
        "name": "Robert Newson",
        "email": "rnewson@apache.org",
        "time": "Thu Aug 11 10:49:26 2016 +0100"
      },
      "committer": {
        "name": "Robert Newson",
        "email": "rnewson@apache.org",
        "time": "Thu Aug 11 10:49:50 2016 +0100"
      },
      "message": "Implement clustered compaction functions\n\nCOUCHDB-3099\n"
    },
    {
      "commit": "48d32e4e792ebd7549d677be65c86c77d6dfa382",
      "tree": "1b3c13984fe3667247ae9b75eedc5d157a42a690",
      "parents": [
        "4553f901367586a29754f661d5e02222abe32689",
        "96f9af918248e5208aa62bf55226a8bd0e27bf32"
      ],
      "author": {
        "name": "Eric Avdey",
        "email": "eiri@eiri.ca",
        "time": "Tue Aug 09 15:36:53 2016 -0300"
      },
      "committer": {
        "name": "Eric Avdey",
        "email": "eiri@eiri.ca",
        "time": "Tue Aug 09 15:36:53 2016 -0300"
      },
      "message": "Merge remote branch \u0027cloudant:71693-fix-filter-out-not-found\u0027\n\nThis closes #65\n\nSigned-off-by: Eric Avdey \u003ceiri@eiri.ca\u003e\n"
    },
    {
      "commit": "96f9af918248e5208aa62bf55226a8bd0e27bf32",
      "tree": "1b3c13984fe3667247ae9b75eedc5d157a42a690",
      "parents": [
        "4553f901367586a29754f661d5e02222abe32689"
      ],
      "author": {
        "name": "Eric Avdey",
        "email": "eiri@eiri.ca",
        "time": "Tue Aug 09 11:01:51 2016 -0300"
      },
      "committer": {
        "name": "Eric Avdey",
        "email": "eiri@eiri.ca",
        "time": "Tue Aug 09 15:30:51 2016 -0300"
      },
      "message": "Fix reply filter for open_revs\n\nIn general, in an absence of latest attribute, we expect\none reply per passed in revision which could be either\ndoc or not found.\n\nThis fix\u0027s making sure that we are removing not_found\u0027s\nonly for the revisions that also have {ok, Doc} reply.\n\nCOUCHDB-3097\n"
    },
    {
      "commit": "e80a744a02cf6194df9afca8359c561e47034f18",
      "tree": "6e4201560adb8173e2c46a72ac369a01035cd9d2",
      "parents": [
        "ebea1b8f5d49fe60f326b33dbdc06176ecfea5d1"
      ],
      "author": {
        "name": "Benjamin Anderson",
        "email": "b@banjiewen.net",
        "time": "Sun Jul 17 14:46:54 2016 -0700"
      },
      "committer": {
        "name": "Benjamin Anderson",
        "email": "b@banjiewen.net",
        "time": "Sun Jul 17 14:46:54 2016 -0700"
      },
      "message": "Replace \"stale\" with \"stable\" when picking shards\n\nCOUCHDB-3063\n"
    },
    {
      "commit": "4553f901367586a29754f661d5e02222abe32689",
      "tree": "c16fc671f1ebe1b3121c4b5f2f0e2a2969cd22b8",
      "parents": [
        "b17c8801b3bfe764d6da8983fafb5ad803d47bcc",
        "ae2a8f7cb61dd4fc160c3b26091a885fb254f23f"
      ],
      "author": {
        "name": "Eric Avdey",
        "email": "eiri@eiri.ca",
        "time": "Tue Jul 12 15:23:09 2016 -0300"
      },
      "committer": {
        "name": "Eric Avdey",
        "email": "eiri@eiri.ca",
        "time": "Tue Jul 12 15:23:09 2016 -0300"
      },
      "message": "Merge remote branch \u0027cloudant:69654-fix-view-info-duplicates\u0027\n\nThis closes #61\n\nSigned-off-by: Eric Avdey \u003ceiri@eiri.ca\u003e\n"
    },
    {
      "commit": "ae2a8f7cb61dd4fc160c3b26091a885fb254f23f",
      "tree": "c16fc671f1ebe1b3121c4b5f2f0e2a2969cd22b8",
      "parents": [
        "b17c8801b3bfe764d6da8983fafb5ad803d47bcc"
      ],
      "author": {
        "name": "Eric Avdey",
        "email": "eiri@eiri.ca",
        "time": "Fri Jul 08 15:54:47 2016 -0300"
      },
      "committer": {
        "name": "Eric Avdey",
        "email": "eiri@eiri.ca",
        "time": "Tue Jul 12 15:21:23 2016 -0300"
      },
      "message": "Ignore already received replies for same shards\n\nIt is possible to get a reply for same shard\nfrom different node sent before its collector\nget stopped in remove_overlapping_shards.\n\nThis running condition leads to a possibility\nof same info to be aggregated multiple times.\n"
    },
    {
      "commit": "b17c8801b3bfe764d6da8983fafb5ad803d47bcc",
      "tree": "f3fd32e9415edf085c5bf36a52cee774e51aa73b",
      "parents": [
        "ebea1b8f5d49fe60f326b33dbdc06176ecfea5d1"
      ],
      "author": {
        "name": "Robert Newson",
        "email": "rnewson@apache.org",
        "time": "Tue Jul 12 15:04:23 2016 +0100"
      },
      "committer": {
        "name": "Robert Newson",
        "email": "rnewson@apache.org",
        "time": "Tue Jul 12 15:04:23 2016 +0100"
      },
      "message": "fix compilation warnings of unused variables\n"
    },
    {
      "commit": "ebea1b8f5d49fe60f326b33dbdc06176ecfea5d1",
      "tree": "2d75a54bc888a8f788616dcfeecbedf45c7d85d1",
      "parents": [
        "7d07877853a9b6c66fae0814005dbd5df7f97289"
      ],
      "author": {
        "name": "Robert Newson",
        "email": "rnewson@apache.org",
        "time": "Tue Jul 12 12:06:24 2016 +0100"
      },
      "committer": {
        "name": "Robert Newson",
        "email": "rnewson@apache.org",
        "time": "Tue Jul 12 12:08:38 2016 +0100"
      },
      "message": "End the listener if any shard is deleted\n\nIf a database is deleted and recreated the underlying shards have a\nnew name. Since we\u0027re watching the old names, we will never again see\nan updated event. So, we stop this process if any watched shard is\ndeleted and it\u0027s someone elses job to recreate the listener for the\nnew shards.\n\nCOUCHDB-3054\n"
    },
    {
      "commit": "7d07877853a9b6c66fae0814005dbd5df7f97289",
      "tree": "e85f1abd74b4f8868521e83aeb5900ac7848ad1b",
      "parents": [
        "c38c692fcf0b8b69f94109ead3c5370144090f8f",
        "5d0995966c117e3cf946216aff41116c2020c212"
      ],
      "author": {
        "name": "ILYA Khlopotov",
        "email": "iilyak@ca.ibm.com",
        "time": "Mon Jul 11 12:43:39 2016 -0700"
      },
      "committer": {
        "name": "ILYA Khlopotov",
        "email": "iilyak@ca.ibm.com",
        "time": "Mon Jul 11 12:43:39 2016 -0700"
      },
      "message": "Merge remote branch \u0027cloudant:44287-use-correct-sequence-for-shard-replacement\u0027\n\nThis closes #62\n\nSigned-off-by: ILYA Khlopotov \u003ciilyak@ca.ibm.com\u003e\n"
    },
    {
      "commit": "5d0995966c117e3cf946216aff41116c2020c212",
      "tree": "e85f1abd74b4f8868521e83aeb5900ac7848ad1b",
      "parents": [
        "c38c692fcf0b8b69f94109ead3c5370144090f8f"
      ],
      "author": {
        "name": "Paul J. Davis",
        "email": "paul.joseph.davis@gmail.com",
        "time": "Tue Feb 10 21:49:40 2015 -0600"
      },
      "committer": {
        "name": "ILYA Khlopotov",
        "email": "iilyak@ca.ibm.com",
        "time": "Mon Jul 11 12:22:19 2016 -0700"
      },
      "message": "Use the correct sequence for shard replacement\n\nThe call to unpack the since sequence for _changes incorrectly filtered\nthe value for any shard that didn\u0027t exist. This means that any shard\nthat was moved ended up requiring a complete rescan which is a bug. This\njust sets the update sequence to the range of the shard being replaced\nrather than zero.\n\nCOUCHDB-3055\n"
    },
    {
      "commit": "c38c692fcf0b8b69f94109ead3c5370144090f8f",
      "tree": "9a94ed0d80faf08bb4fbc9dff12055692fc3f404",
      "parents": [
        "aa17ddf3c149a7ac5316e5c821d0d704ac857960",
        "6917c3e11ccff0c2c031a2257910cc9d2a2fedb3"
      ],
      "author": {
        "name": "ILYA Khlopotov",
        "email": "iilyak@ca.ibm.com",
        "time": "Mon Jun 27 16:21:27 2016 -0700"
      },
      "committer": {
        "name": "ILYA Khlopotov",
        "email": "iilyak@ca.ibm.com",
        "time": "Mon Jun 27 16:21:27 2016 -0700"
      },
      "message": "Merge remote branch \u0027cloudant:fix_some_specs\u0027\n\nThis closes #60\n\nSigned-off-by: ILYA Khlopotov \u003ciilyak@ca.ibm.com\u003e\n"
    },
    {
      "commit": "6917c3e11ccff0c2c031a2257910cc9d2a2fedb3",
      "tree": "9a94ed0d80faf08bb4fbc9dff12055692fc3f404",
      "parents": [
        "3c7345a3b2157a753cf84ce7e0c40d3931e24d12"
      ],
      "author": {
        "name": "ILYA Khlopotov",
        "email": "iilyak@ca.ibm.com",
        "time": "Wed Jun 22 10:35:07 2016 -0700"
      },
      "committer": {
        "name": "ILYA Khlopotov",
        "email": "iilyak@ca.ibm.com",
        "time": "Mon Jun 27 09:09:09 2016 -0700"
      },
      "message": "Improve fabric:all_docs spec\n\n- fabric:all_docs supports options passed as proplist\n- fabric:all_docs return value is controled by a callback therefore it\n  should be `{ok, any()}`\n"
    },
    {
      "commit": "3c7345a3b2157a753cf84ce7e0c40d3931e24d12",
      "tree": "36d39a86dd188bbccc978ef40c69e7f9be95fa38",
      "parents": [
        "aa17ddf3c149a7ac5316e5c821d0d704ac857960"
      ],
      "author": {
        "name": "ILYA Khlopotov",
        "email": "iilyak@ca.ibm.com",
        "time": "Wed Jun 22 10:34:52 2016 -0700"
      },
      "committer": {
        "name": "ILYA Khlopotov",
        "email": "iilyak@ca.ibm.com",
        "time": "Mon Jun 27 09:09:09 2016 -0700"
      },
      "message": "fabric:update_docs supports json_obj()\n"
    },
    {
      "commit": "aa17ddf3c149a7ac5316e5c821d0d704ac857960",
      "tree": "fb796f724e8d85d9fc5b8f818d1ed4ef7f340183",
      "parents": [
        "da85db2dabe371296c54fded76d1de61289f3319"
      ],
      "author": {
        "name": "Nick Vatamaniuc",
        "email": "vatamane@gmail.com",
        "time": "Fri Jun 17 14:04:39 2016 -0400"
      },
      "committer": {
        "name": "Nick Vatamaniuc",
        "email": "vatamane@gmail.com",
        "time": "Fri Jun 24 12:18:24 2016 -0400"
      },
      "message": "Emit error row for a null doc id in POSTs to _all_docs\n\nThis is compatible behavior with CouchDB 1.x\n\nJira: COUCHDB-3039\nBugzID: 68486\n"
    },
    {
      "commit": "da85db2dabe371296c54fded76d1de61289f3319",
      "tree": "1ee398878d85c64e89cfb810e03b4d41dc679783",
      "parents": [
        "37bcda9c336bd4d8064a498f84122feeb74abf44"
      ],
      "author": {
        "name": "Robert Newson",
        "email": "rnewson@apache.org",
        "time": "Wed Jun 22 13:34:14 2016 +0100"
      },
      "committer": {
        "name": "Robert Newson",
        "email": "rnewson@apache.org",
        "time": "Wed Jun 22 13:44:12 2016 +0100"
      },
      "message": "Support update_seq\u003dtrue in reduce views\n\nCOUCHDB-2991\n"
    },
    {
      "commit": "37bcda9c336bd4d8064a498f84122feeb74abf44",
      "tree": "d87605adc3dab3188750c9bd3e7ad4b1ca70ecc3",
      "parents": [
        "18e6fd852e7442ad957950daaaa7ee11d49255ea"
      ],
      "author": {
        "name": "Robert Newson",
        "email": "rnewson@apache.org",
        "time": "Tue Jun 21 21:14:07 2016 +0100"
      },
      "committer": {
        "name": "Robert Newson",
        "email": "rnewson@apache.org",
        "time": "Tue Jun 21 21:14:07 2016 +0100"
      },
      "message": "Support update_seq\u003dtrue in _all_docs\n"
    },
    {
      "commit": "18e6fd852e7442ad957950daaaa7ee11d49255ea",
      "tree": "5c1c4a3c42bdf97e253e4df9d0c7e439cdfd68dd",
      "parents": [
        "17af869aa3f573da30b93ae50308b0b8024af63f"
      ],
      "author": {
        "name": "Robert Newson",
        "email": "rnewson@apache.org",
        "time": "Tue Jun 21 16:00:08 2016 +0100"
      },
      "committer": {
        "name": "Robert Newson",
        "email": "rnewson@apache.org",
        "time": "Tue Jun 21 17:10:03 2016 +0100"
      },
      "message": "Pass security object in fake db\n\nUsers can be granted admin access to the special _users and\n_replicator databases so we need to pass the security object to the\nauthorization functions.\n\nCOUCHDB-2991\n"
    },
    {
      "commit": "17af869aa3f573da30b93ae50308b0b8024af63f",
      "tree": "572b941971f4bc3426b1b060c9da8fbc4477c7e2",
      "parents": [
        "9f4c9994fd93fb460558324a478189caa5b9330d",
        "e8452fbafc4355cf55d017744a6c336a49848af7"
      ],
      "author": {
        "name": "Eric Avdey",
        "email": "eiri@eiri.ca",
        "time": "Wed Jun 15 09:26:31 2016 -0300"
      },
      "committer": {
        "name": "Eric Avdey",
        "email": "eiri@eiri.ca",
        "time": "Wed Jun 15 09:26:31 2016 -0300"
      },
      "message": "Merge remote branch \u0027cloudant:fix-doc-open-reply\u0027\n\nThis closes #58\n\nSigned-off-by: Eric Avdey \u003ceiri@eiri.ca\u003e\n"
    },
    {
      "commit": "e8452fbafc4355cf55d017744a6c336a49848af7",
      "tree": "572b941971f4bc3426b1b060c9da8fbc4477c7e2",
      "parents": [
        "9f4c9994fd93fb460558324a478189caa5b9330d"
      ],
      "author": {
        "name": "Eric Avdey",
        "email": "eiri@eiri.ca",
        "time": "Tue Jun 14 13:10:04 2016 -0300"
      },
      "committer": {
        "name": "Eric Avdey",
        "email": "eiri@eiri.ca",
        "time": "Tue Jun 14 13:10:04 2016 -0300"
      },
      "message": "Fix match in fabric_doc_open_revs reply\n\nMessage handler in fabric_doc_open_revs returns tagged with \u0027ok\u0027\nlist of the replies and not expected {ok, Reply} tuple. This makes\nreply to go through \u0027Else\u0027 clause and skip filter_reply function.\n"
    },
    {
      "commit": "9f4c9994fd93fb460558324a478189caa5b9330d",
      "tree": "4fc9fdbc7b43b8733693e9f99cc5fb87d56b63be",
      "parents": [
        "e5c9c62d8a95275a36dc6e28ac8127610bbb6371",
        "a506e8d5982cfe8081c50c0f96ee1938f8585e5e"
      ],
      "author": {
        "name": "ILYA Khlopotov",
        "email": "iilyak@ca.ibm.com",
        "time": "Mon Jun 13 11:20:06 2016 -0700"
      },
      "committer": {
        "name": "ILYA Khlopotov",
        "email": "iilyak@ca.ibm.com",
        "time": "Mon Jun 13 11:20:06 2016 -0700"
      },
      "message": "Merge remote branch \u0027cloudant:68151-fix-rexi_DOWN-handler\u0027\n\nThis closes #57\n\nSigned-off-by: ILYA Khlopotov \u003ciilyak@ca.ibm.com\u003e\n"
    },
    {
      "commit": "a506e8d5982cfe8081c50c0f96ee1938f8585e5e",
      "tree": "4fc9fdbc7b43b8733693e9f99cc5fb87d56b63be",
      "parents": [
        "e5c9c62d8a95275a36dc6e28ac8127610bbb6371"
      ],
      "author": {
        "name": "ILYA Khlopotov",
        "email": "iilyak@ca.ibm.com",
        "time": "Mon Jun 13 09:19:03 2016 -0700"
      },
      "committer": {
        "name": "ILYA Khlopotov",
        "email": "iilyak@ca.ibm.com",
        "time": "Mon Jun 13 09:19:03 2016 -0700"
      },
      "message": "Fix rexi_DOWN and rexi_EXIT handlers\n\nIn the cases when we receive rexi_DOWN or rexi_EXIT we call\nhandle_message with {ok, []}. This crashes lists:min/1. Since it expects\na list with at least one element.\n\nCOUCHDB-3037\n"
    },
    {
      "commit": "e5c9c62d8a95275a36dc6e28ac8127610bbb6371",
      "tree": "ee929406499b8d03b67c3474a5beb5a6ca2ad152",
      "parents": [
        "0aeaaa0842c566e749370558f11ec5df910a4ec7",
        "d5511c4fb0efead8d61187279220fb6f06c0e086"
      ],
      "author": {
        "name": "Paul J. Davis",
        "email": "paul.joseph.davis@gmail.com",
        "time": "Fri Jun 10 15:41:37 2016 -0500"
      },
      "committer": {
        "name": "Paul J. Davis",
        "email": "paul.joseph.davis@gmail.com",
        "time": "Fri Jun 10 15:41:37 2016 -0500"
      },
      "message": "Merge branch \u00273036-fix-fabric-db-update-listener-rexi-down\u0027\n"
    },
    {
      "commit": "d5511c4fb0efead8d61187279220fb6f06c0e086",
      "tree": "ee929406499b8d03b67c3474a5beb5a6ca2ad152",
      "parents": [
        "0aeaaa0842c566e749370558f11ec5df910a4ec7"
      ],
      "author": {
        "name": "Paul J. Davis",
        "email": "paul.joseph.davis@gmail.com",
        "time": "Fri Jun 10 12:52:42 2016 -0500"
      },
      "committer": {
        "name": "Paul J. Davis",
        "email": "paul.joseph.davis@gmail.com",
        "time": "Fri Jun 10 12:52:42 2016 -0500"
      },
      "message": "Fix fabric_db_update_listener rexi_DOWN handling\n\nA recent change that fixed the list comprehension ended up uncovering\nthe fact that we don\u0027t handle rexi_DOWN errors properly. This patch just\ntracks the shards that are still listening and uses\n`fabric_view:is_progress_possible/1` to know if we are still able to\ncontinue listening for changes.\n\nFixes COUCHDB-3036\n"
    },
    {
      "commit": "0aeaaa0842c566e749370558f11ec5df910a4ec7",
      "tree": "cc646468940c2d5124abf3a56caf4c71f9855e85",
      "parents": [
        "4305a57c843078a7720b1ef296aff812056d586b",
        "0cd2b7c0e1f49ce0e29680fb29cc2c62b9a9b408"
      ],
      "author": {
        "name": "ILYA Khlopotov",
        "email": "iilyak@ca.ibm.com",
        "time": "Sun Jun 05 08:46:10 2016 -0700"
      },
      "committer": {
        "name": "ILYA Khlopotov",
        "email": "iilyak@ca.ibm.com",
        "time": "Sun Jun 05 08:46:10 2016 -0700"
      },
      "message": "Merge remote branch \u0027cloudant:2730-fix-compilation-warnings\u0027\n\nThis closes #54\n\nSigned-off-by: ILYA Khlopotov \u003ciilyak@ca.ibm.com\u003e\n"
    },
    {
      "commit": "0cd2b7c0e1f49ce0e29680fb29cc2c62b9a9b408",
      "tree": "cc646468940c2d5124abf3a56caf4c71f9855e85",
      "parents": [
        "4305a57c843078a7720b1ef296aff812056d586b"
      ],
      "author": {
        "name": "ILYA Khlopotov",
        "email": "iilyak@ca.ibm.com",
        "time": "Thu Jun 02 10:43:03 2016 -0700"
      },
      "committer": {
        "name": "ILYA Khlopotov",
        "email": "iilyak@ca.ibm.com",
        "time": "Thu Jun 02 10:43:03 2016 -0700"
      },
      "message": "Fix compilation warnings\n\nCOUCHDB-2730\n"
    },
    {
      "commit": "4305a57c843078a7720b1ef296aff812056d586b",
      "tree": "2f6ff606d286203812b9c1538cc614e6dc591d90",
      "parents": [
        "2eb1e132e01928a681782c788920c85ce24bfe06",
        "4dd11bd2ac12eaa899a65baf925568a3c2b866a3"
      ],
      "author": {
        "name": "ILYA Khlopotov",
        "email": "iilyak@ca.ibm.com",
        "time": "Thu Jun 02 10:14:51 2016 -0700"
      },
      "committer": {
        "name": "ILYA Khlopotov",
        "email": "iilyak@ca.ibm.com",
        "time": "Thu Jun 02 10:14:51 2016 -0700"
      },
      "message": "Merge remote branch \u0027cloudant:67266-filter-out-not-found\u0027\n\nThis closes #53\n\nSigned-off-by: ILYA Khlopotov \u003ciilyak@ca.ibm.com\u003e\n"
    },
    {
      "commit": "4dd11bd2ac12eaa899a65baf925568a3c2b866a3",
      "tree": "2f6ff606d286203812b9c1538cc614e6dc591d90",
      "parents": [
        "2eb1e132e01928a681782c788920c85ce24bfe06"
      ],
      "author": {
        "name": "ILYA Khlopotov",
        "email": "iilyak@ca.ibm.com",
        "time": "Thu Jun 02 09:20:39 2016 -0700"
      },
      "committer": {
        "name": "ILYA Khlopotov",
        "email": "iilyak@ca.ibm.com",
        "time": "Thu Jun 02 09:20:39 2016 -0700"
      },
      "message": "Filter out not_found replies when #doc{} is found\n\nThere are places in the codebase which assume that the return from\nopen_revs is always a list with one element in it. Fix the regression\nintroduced in 9a1d0c5 by filtering out not_found replies when any of the\nreturns contains #doc{}.\n\nCOUCHDB-3026\n"
    },
    {
      "commit": "2eb1e132e01928a681782c788920c85ce24bfe06",
      "tree": "c6df90410778812e7507eb79e422c8cef7cf41fc",
      "parents": [
        "475b90ccd104a1d2598a21338f02c433a10d62a7",
        "19e9959aab87c8050d280f5d255d58cf1a995614"
      ],
      "author": {
        "name": "ILYA Khlopotov",
        "email": "iilyak@ca.ibm.com",
        "time": "Tue May 24 16:14:47 2016 -0700"
      },
      "committer": {
        "name": "ILYA Khlopotov",
        "email": "iilyak@ca.ibm.com",
        "time": "Tue May 24 16:14:47 2016 -0700"
      },
      "message": "Merge remote branch \u0027cloudant:use_meck_wait\u0027\n\nThis closes #52\n\nSigned-off-by: ILYA Khlopotov \u003ciilyak@ca.ibm.com\u003e\n"
    },
    {
      "commit": "19e9959aab87c8050d280f5d255d58cf1a995614",
      "tree": "c6df90410778812e7507eb79e422c8cef7cf41fc",
      "parents": [
        "475b90ccd104a1d2598a21338f02c433a10d62a7"
      ],
      "author": {
        "name": "ILYA Khlopotov",
        "email": "iilyak@ca.ibm.com",
        "time": "Tue May 24 15:52:25 2016 -0700"
      },
      "committer": {
        "name": "ILYA Khlopotov",
        "email": "iilyak@ca.ibm.com",
        "time": "Tue May 24 15:52:25 2016 -0700"
      },
      "message": "Use meck:wait to fix race condition\n\nfabric:update_docs is running in the context of a `read_repair` which is an\nindependent process started using `erlang:spawn/1`. This leads to a race\nwhen we try to use `meck:history(fabric)`. Use of `meck:wait` ensures that\nwe call `meck:history` after `fabric:update_docs` has been called.\n"
    },
    {
      "commit": "475b90ccd104a1d2598a21338f02c433a10d62a7",
      "tree": "8aacb23ae7debbd62333633b778abd030f6af87f",
      "parents": [
        "d20eafda9045c523f773fbbd06a81d354e1a6ba7",
        "9a1d0c54c78cef70d1a3992f3c71ef2878c498e4"
      ],
      "author": {
        "name": "Paul J. Davis",
        "email": "paul.joseph.davis@gmail.com",
        "time": "Tue May 24 11:57:48 2016 -0500"
      },
      "committer": {
        "name": "Paul J. Davis",
        "email": "paul.joseph.davis@gmail.com",
        "time": "Tue May 24 11:57:48 2016 -0500"
      },
      "message": "Merge branch \u00272863-fix-fabric-doc-open-revs\u0027\n"
    },
    {
      "commit": "d20eafda9045c523f773fbbd06a81d354e1a6ba7",
      "tree": "fe71a176f88dcb79561933d0d0d253f2e41fbf70",
      "parents": [
        "087a1aa9e6972ac6613e2f93177aee56a4bac86c",
        "dbbdb17ce9241826cd95e655ea8d8d11466c4119"
      ],
      "author": {
        "name": "ILYA Khlopotov",
        "email": "iilyak@ca.ibm.com",
        "time": "Thu May 19 05:04:59 2016 -0700"
      },
      "committer": {
        "name": "ILYA Khlopotov",
        "email": "iilyak@ca.ibm.com",
        "time": "Thu May 19 05:04:59 2016 -0700"
      },
      "message": "Merge remote branch \u0027cloudant:fix-spec-for-get_all_security\u0027\n\nThis closes #51\n\nSigned-off-by: ILYA Khlopotov \u003ciilyak@ca.ibm.com\u003e\n"
    },
    {
      "commit": "dbbdb17ce9241826cd95e655ea8d8d11466c4119",
      "tree": "fe71a176f88dcb79561933d0d0d253f2e41fbf70",
      "parents": [
        "087a1aa9e6972ac6613e2f93177aee56a4bac86c"
      ],
      "author": {
        "name": "ILYA Khlopotov",
        "email": "iilyak@ca.ibm.com",
        "time": "Wed May 18 16:39:09 2016 -0700"
      },
      "committer": {
        "name": "ILYA Khlopotov",
        "email": "iilyak@ca.ibm.com",
        "time": "Wed May 18 16:39:09 2016 -0700"
      },
      "message": "Fix return type in get_all_security\n"
    },
    {
      "commit": "087a1aa9e6972ac6613e2f93177aee56a4bac86c",
      "tree": "d60a0946e04dccee5874f65884ce0ff6ef461ecb",
      "parents": [
        "c449ab22431658173af45a6599d9875883adb911",
        "06578c4b1b6f4bbd6ccd086391bb472001743b2f"
      ],
      "author": {
        "name": "ILYA Khlopotov",
        "email": "iilyak@ca.ibm.com",
        "time": "Wed May 18 07:48:29 2016 -0700"
      },
      "committer": {
        "name": "ILYA Khlopotov",
        "email": "iilyak@ca.ibm.com",
        "time": "Wed May 18 07:48:29 2016 -0700"
      },
      "message": "Merge remote branch \u0027cloudant:43260-create-target-shard-if-missing\u0027\n\nThis closes #50\n\nSigned-off-by: ILYA Khlopotov \u003ciilyak@ca.ibm.com\u003e\n"
    },
    {
      "commit": "06578c4b1b6f4bbd6ccd086391bb472001743b2f",
      "tree": "d60a0946e04dccee5874f65884ce0ff6ef461ecb",
      "parents": [
        "c449ab22431658173af45a6599d9875883adb911"
      ],
      "author": {
        "name": "ILYA Khlopotov",
        "email": "iilyak@ca.ibm.com",
        "time": "Tue May 17 16:57:16 2016 -0700"
      },
      "committer": {
        "name": "ILYA Khlopotov",
        "email": "iilyak@ca.ibm.com",
        "time": "Tue May 17 16:57:16 2016 -0700"
      },
      "message": "Use create_if_missing option of couch_db:open_int\n"
    },
    {
      "commit": "9a1d0c54c78cef70d1a3992f3c71ef2878c498e4",
      "tree": "33e4f14434eb730c84889b25e1cba4dbca593d86",
      "parents": [
        "a6d07a1cbf9e7ea07f171f223710891ac7c627b4"
      ],
      "author": {
        "name": "Paul J. Davis",
        "email": "paul.joseph.davis@gmail.com",
        "time": "Thu Apr 21 15:42:27 2016 -0500"
      },
      "committer": {
        "name": "Paul J. Davis",
        "email": "paul.joseph.davis@gmail.com",
        "time": "Tue May 17 10:53:25 2016 -0500"
      },
      "message": "Fix fabric_doc_open_revs\n\nWhen a user specified multiple revisions on a single branch to\nfabric_doc_open_revs it would throw a function clause exception in\nlists:zipwith/3. This was due to a bad assumption that there would only\never be exactly one revision for every input revision.\n\nDue to the possibility of having zero or more revisions for a given\nrevision when using latest\u003dtrue this code had to be changed fairly\nsignificantly.\n\nCOUCHDB-2863\n"
    },
    {
      "commit": "c449ab22431658173af45a6599d9875883adb911",
      "tree": "40fcec4aff9876ed09ee6a64837bdc0843b2ccce",
      "parents": [
        "f0d6c03e425473e784fbb815f48f1cca606f91f1",
        "1dcc5b88a34f5ccf65c4dec97f0096808e3ae407"
      ],
      "author": {
        "name": "ILYA Khlopotov",
        "email": "iilyak@ca.ibm.com",
        "time": "Tue May 03 08:29:50 2016 -0700"
      },
      "committer": {
        "name": "ILYA Khlopotov",
        "email": "iilyak@ca.ibm.com",
        "time": "Tue May 03 08:29:50 2016 -0700"
      },
      "message": "Merge remote branch \u0027cloudant:update-get_doc_count-spec\u0027\n\nThis closes #49\n\nSigned-off-by: ILYA Khlopotov \u003ciilyak@ca.ibm.com\u003e\n"
    },
    {
      "commit": "1dcc5b88a34f5ccf65c4dec97f0096808e3ae407",
      "tree": "40fcec4aff9876ed09ee6a64837bdc0843b2ccce",
      "parents": [
        "f0d6c03e425473e784fbb815f48f1cca606f91f1"
      ],
      "author": {
        "name": "ILYA Khlopotov",
        "email": "iilyak@ca.ibm.com",
        "time": "Tue May 03 06:57:49 2016 -0700"
      },
      "committer": {
        "name": "ILYA Khlopotov",
        "email": "iilyak@ca.ibm.com",
        "time": "Tue May 03 06:57:49 2016 -0700"
      },
      "message": "Improve fabric:get_doc_count spec\n"
    },
    {
      "commit": "f0d6c03e425473e784fbb815f48f1cca606f91f1",
      "tree": "1e00d019fcab7da04643049d3a2d01721b0c3bde",
      "parents": [
        "ecaacfecf0e356d84ca2978346ba409107df064e",
        "b592c390b99a198d6a051c6ed7b0280800cc2939"
      ],
      "author": {
        "name": "ILYA Khlopotov",
        "email": "iilyak@ca.ibm.com",
        "time": "Tue May 03 06:18:28 2016 -0700"
      },
      "committer": {
        "name": "ILYA Khlopotov",
        "email": "iilyak@ca.ibm.com",
        "time": "Tue May 03 06:18:28 2016 -0700"
      },
      "message": "Merge remote branch \u0027cloudant:fix-db_update_listener\u0027\n\nThis closes #48\n\nSigned-off-by: ILYA Khlopotov \u003ciilyak@ca.ibm.com\u003e\n"
    },
    {
      "commit": "b592c390b99a198d6a051c6ed7b0280800cc2939",
      "tree": "1e00d019fcab7da04643049d3a2d01721b0c3bde",
      "parents": [
        "ecaacfecf0e356d84ca2978346ba409107df064e"
      ],
      "author": {
        "name": "ILYA Khlopotov",
        "email": "iilyak@ca.ibm.com",
        "time": "Mon May 02 18:01:28 2016 -0700"
      },
      "committer": {
        "name": "ILYA Khlopotov",
        "email": "iilyak@ca.ibm.com",
        "time": "Mon May 02 18:01:28 2016 -0700"
      },
      "message": "start_update_notifiers returns list of #worker{}\n\nstart_update_notifiers returns list of #workers{}. However we expect\n`{Node, Reference}`.\n"
    },
    {
      "commit": "ecaacfecf0e356d84ca2978346ba409107df064e",
      "tree": "08a10c8e8d687f8bea82b0c2daa2ba40f33d116e",
      "parents": [
        "dc5cca804132266edec7a62cb2ca6b36cfadab27",
        "14c15179296d0c1934497ca4e8db42c4822fdd8f"
      ],
      "author": {
        "name": "ILYA Khlopotov",
        "email": "iilyak@ca.ibm.com",
        "time": "Tue Apr 19 14:49:51 2016 -0700"
      },
      "committer": {
        "name": "ILYA Khlopotov",
        "email": "iilyak@ca.ibm.com",
        "time": "Tue Apr 19 14:49:51 2016 -0700"
      },
      "message": "Merge remote branch \u0027github/pr/45\u0027\n\nThis closes #45\n\nSigned-off-by: ILYA Khlopotov \u003ciilyak@ca.ibm.com\u003e\n"
    },
    {
      "commit": "14c15179296d0c1934497ca4e8db42c4822fdd8f",
      "tree": "08a10c8e8d687f8bea82b0c2daa2ba40f33d116e",
      "parents": [
        "dc5cca804132266edec7a62cb2ca6b36cfadab27"
      ],
      "author": {
        "name": "ILYA Khlopotov",
        "email": "iilyak@ca.ibm.com",
        "time": "Fri Apr 08 10:18:42 2016 -0700"
      },
      "committer": {
        "name": "ILYA Khlopotov",
        "email": "iilyak@ca.ibm.com",
        "time": "Tue Apr 19 14:45:40 2016 -0700"
      },
      "message": "Use couch_db:dbname_suffix in path_ends_with\n\nReplace couch_db:normalize_dbname with couch_db:dbname_suffix since the\nsemantic of normalize_dbname has been changed. couch_db:normalize_dbname\nwould return all components of the path with shard info removed from it.\ncouch_db:dbname_suffix on the other hand would return the last component\nof the path. It would also ensure that shard\u0027s suffix is removed from\nthe result.\n\nCOUCHDB-2983\n"
    },
    {
      "commit": "dc5cca804132266edec7a62cb2ca6b36cfadab27",
      "tree": "b840cff7cfc7c5913c4103781335881b08c42da3",
      "parents": [
        "1be5506e39baa3b4c7b3d64daf8032a5580b38ba"
      ],
      "author": {
        "name": "Robert Newson",
        "email": "rnewson@apache.org",
        "time": "Sun Apr 17 19:18:16 2016 +0100"
      },
      "committer": {
        "name": "Robert Newson",
        "email": "rnewson@apache.org",
        "time": "Sun Apr 17 19:18:16 2016 +0100"
      },
      "message": "Honor update_seq\u003dtrue for map view requests\n\nCOUCHDB-2849\n"
    },
    {
      "commit": "1be5506e39baa3b4c7b3d64daf8032a5580b38ba",
      "tree": "66b48ea11629912a51adb29f6f997339b813b923",
      "parents": [
        "08428831b45f98de9a60eec38a3b0c0ef65f34c6"
      ],
      "author": {
        "name": "Benjamin Anderson",
        "email": "b@banjiewen.net",
        "time": "Wed Mar 23 23:09:23 2016 -0700"
      },
      "committer": {
        "name": "Benjamin Anderson",
        "email": "b@banjiewen.net",
        "time": "Wed Mar 23 23:12:54 2016 -0700"
      },
      "message": "Use ICU to compare POSTed view keys when necessary\n\nIt\u0027s possible for user-supplied view keys to compare equal under ICU\ncollation but not under Erlang\u0027s \u003d:\u003d. Since dict uses \u003d:\u003d for equality\nthis will result in runtime errors unless we fall back to ICU when\nnecessary and appropriate.\n\nCOUCHDB-2932\n"
    },
    {
      "commit": "08428831b45f98de9a60eec38a3b0c0ef65f34c6",
      "tree": "82188cba9cdd7ab99445d70408159716890a8b84",
      "parents": [
        "96fe423aa1b92e91d35c4375c9d933eadea3305a"
      ],
      "author": {
        "name": "Benjamin Anderson",
        "email": "b@banjiewen.net",
        "time": "Wed Mar 23 23:03:54 2016 -0700"
      },
      "committer": {
        "name": "Benjamin Anderson",
        "email": "b@banjiewen.net",
        "time": "Wed Mar 23 23:12:54 2016 -0700"
      },
      "message": "Support raw collation in map results\n\nCOUCHDB-2900\n"
    },
    {
      "commit": "96fe423aa1b92e91d35c4375c9d933eadea3305a",
      "tree": "33b4f6cc3f3c5fd2e5b74a4fba5033a46846942b",
      "parents": [
        "eeaa4007c8e57d873ac96a7f75ba0ef50303fa18"
      ],
      "author": {
        "name": "Benjamin Anderson",
        "email": "b@banjiewen.net",
        "time": "Tue Mar 15 22:17:41 2016 -0700"
      },
      "committer": {
        "name": "Benjamin Anderson",
        "email": "b@banjiewen.net",
        "time": "Wed Mar 23 23:12:54 2016 -0700"
      },
      "message": "Support raw collation in reduce results\n\nAlso simplify find_next_key/3 and avoid generating a new fun for every\nstreamed key.\n\nCOUCHDB-2900\n"
    },
    {
      "commit": "eeaa4007c8e57d873ac96a7f75ba0ef50303fa18",
      "tree": "d6f98d3dc0d1623991358f0807a49b139f01e0fc",
      "parents": [
        "68b2210cd460838a78db25a6cc91b53cbff710bb"
      ],
      "author": {
        "name": "Benjamin Anderson",
        "email": "b@banjiewen.net",
        "time": "Tue Mar 15 22:12:42 2016 -0700"
      },
      "committer": {
        "name": "Benjamin Anderson",
        "email": "b@banjiewen.net",
        "time": "Wed Mar 23 23:12:31 2016 -0700"
      },
      "message": "Add collation to view result collector record\n\nThere\u0027s no reference to the #mrview when results are being streamed to\nthe user, so we need a place to store the collation specification while\nresults are collected.\n\nCOUCHDB-2900\n"
    },
    {
      "commit": "68b2210cd460838a78db25a6cc91b53cbff710bb",
      "tree": "737ab389420eb31accfc5ba7f8e51cd6de3bfa5b",
      "parents": [
        "0df200a3c4df7dd4bb3dee4c43d268d75f1e117e"
      ],
      "author": {
        "name": "Eric Avdey",
        "email": "eiri@eiri.ca",
        "time": "Mon Feb 29 16:07:09 2016 -0400"
      },
      "committer": {
        "name": "Eric Avdey",
        "email": "eiri@eiri.ca",
        "time": "Tue Mar 15 16:21:34 2016 -0300"
      },
      "message": "Extent fetch ddoc logic for view filtered changes feeds\n"
    },
    {
      "commit": "0df200a3c4df7dd4bb3dee4c43d268d75f1e117e",
      "tree": "87c41abf4750a5728ff72bcdd7cbfcbb5b3530f6",
      "parents": [
        "472253f28ad037f26e54eecb8f56179a03eec435"
      ],
      "author": {
        "name": "Mike Wallace",
        "email": "mikewallace@apache.org",
        "time": "Thu Mar 03 17:13:48 2016 +0000"
      },
      "committer": {
        "name": "Mike Wallace",
        "email": "mikewallace@apache.org",
        "time": "Fri Mar 04 14:04:52 2016 +0000"
      },
      "message": "Avoid spamming logs with write_quorum errors\n\nThe three metrics in fabric_doc_update:force_reply/3 were\nintroduced to replace the write_quorum log message however the\nlog line was not removed. This commit removes the log message.\n\nClose COUCHDB-2958\n\nThis closes #41\n"
    },
    {
      "commit": "472253f28ad037f26e54eecb8f56179a03eec435",
      "tree": "2a2fb0da9c6fc24761ca9a5526fdaf4b83b9d6f1",
      "parents": [
        "0e5b33d259c08e4fb584ce767ec766bbe140e816",
        "79f006408b97352d620bc4fb5700e29159eb4d49"
      ],
      "author": {
        "name": "ILYA Khlopotov",
        "email": "iilyak@ca.ibm.com",
        "time": "Wed Mar 02 12:36:37 2016 -0800"
      },
      "committer": {
        "name": "ILYA Khlopotov",
        "email": "iilyak@ca.ibm.com",
        "time": "Wed Mar 02 12:36:38 2016 -0800"
      },
      "message": "    Merge remote branch \u0027github/pr/39\u0027\n\n    - https://github.com/apache/couchdb-fabric/pull/39\n\n    This closes #39\n\n    Signed-off-by: ILYA Khlopotov \u003ciilyak@ca.ibm.com\u003e\n"
    },
    {
      "commit": "79f006408b97352d620bc4fb5700e29159eb4d49",
      "tree": "2a2fb0da9c6fc24761ca9a5526fdaf4b83b9d6f1",
      "parents": [
        "0e5b33d259c08e4fb584ce767ec766bbe140e816"
      ],
      "author": {
        "name": "Nick Vatamaniuc",
        "email": "vatamane@gmail.com",
        "time": "Fri Feb 26 16:11:39 2016 -0500"
      },
      "committer": {
        "name": "Nick Vatamaniuc",
        "email": "vatamane@gmail.com",
        "time": "Mon Feb 29 13:48:08 2016 -0500"
      },
      "message": "Remove configurable replicator db name\n\nJIRA: COUCHDB-2954\n"
    },
    {
      "commit": "0e5b33d259c08e4fb584ce767ec766bbe140e816",
      "tree": "27310816401af0d2bdc41d9240a5ba12422518f1",
      "parents": [
        "31be5324023771fa80bfe8a28a31f6592cb28af0",
        "8bb97fcf59d44374e4e0516a33293d22a9c2308c"
      ],
      "author": {
        "name": "Russell Branca",
        "email": "chewbranca@apache.org",
        "time": "Wed Feb 10 22:31:07 2016 +0000"
      },
      "committer": {
        "name": "Russell Branca",
        "email": "chewbranca@apache.org",
        "time": "Wed Feb 10 22:31:07 2016 +0000"
      },
      "message": "Merge branch \u00272938-use-ddoc-cache-in-filtered-changes\u0027\n"
    },
    {
      "commit": "8bb97fcf59d44374e4e0516a33293d22a9c2308c",
      "tree": "27310816401af0d2bdc41d9240a5ba12422518f1",
      "parents": [
        "31be5324023771fa80bfe8a28a31f6592cb28af0"
      ],
      "author": {
        "name": "Russell Branca",
        "email": "chewbranca@apache.org",
        "time": "Thu Jan 21 22:55:13 2016 +0000"
      },
      "committer": {
        "name": "Russell Branca",
        "email": "chewbranca@apache.org",
        "time": "Wed Feb 10 22:21:06 2016 +0000"
      },
      "message": "Support fetch ddoc logic for filtered changes feeds\n"
    },
    {
      "commit": "31be5324023771fa80bfe8a28a31f6592cb28af0",
      "tree": "4b2710221f40a33efa3f8a11ec41f581c68cc39c",
      "parents": [
        "d67049cca5bba6fbe484f3b55356d238ab44515b"
      ],
      "author": {
        "name": "Mike Wallace",
        "email": "mikewallace@apache.org",
        "time": "Tue Feb 09 14:31:55 2016 +0000"
      },
      "committer": {
        "name": "Mike Wallace",
        "email": "mikewallace@apache.org",
        "time": "Wed Feb 10 11:59:23 2016 +0000"
      },
      "message": "Return forbidden error if encountered on any shard\n\nThis commit fixes an issue which caused HTTP 500 errors to be\nreturned when an authorized user attempted to access a database\nthat they did not have permission to access, when cassim is\ndisabled.\n\nInstead of returning an internal server error once all shards\nhave failed to open we add a receive clause so that we throw\na forbidden error if one is encountered on any shard. This is the\nsame approach we already take for unauthorized errors.\n\nCloses COUCHDB-2948\n\nThis closes #38\n"
    },
    {
      "commit": "d67049cca5bba6fbe484f3b55356d238ab44515b",
      "tree": "5094a91102077faba4a8d2f7db12b35b0b2dd7e9",
      "parents": [
        "4c94f3095595a50a71860a75cc8866adb9a28ce3"
      ],
      "author": {
        "name": "Benjamin Bastian",
        "email": "benjamin.bastian@gmail.com",
        "time": "Tue Jan 19 16:29:34 2016 -0800"
      },
      "committer": {
        "name": "Benjamin Bastian",
        "email": "benjamin.bastian@gmail.com",
        "time": "Thu Jan 21 11:15:35 2016 -0800"
      },
      "message": "Add owner of shard to last_seq of changes response\n\nPrior to this commit, there was a bug where the response of a changes\nquery would include epoch information for every change, but not for the\nlast sequence. Subsequent shard changes queries would rewind from zero\nif the last_seq field was used in the clustered changes query and any\nshard had previously been moved.\n"
    },
    {
      "commit": "4c94f3095595a50a71860a75cc8866adb9a28ce3",
      "tree": "8e4ae9cc7c78520fc262cc409d0be5595aca8f8a",
      "parents": [
        "a6d07a1cbf9e7ea07f171f223710891ac7c627b4"
      ],
      "author": {
        "name": "Alexander Shorin",
        "email": "kxepal@apache.org",
        "time": "Tue Oct 27 16:55:42 2015 +0300"
      },
      "committer": {
        "name": "Alexander Shorin",
        "email": "kxepal@apache.org",
        "time": "Tue Oct 27 16:58:24 2015 +0300"
      },
      "message": "Fix incorrect size values for view index information\n\nWe need to filter overlapping shards to prevent summarizing\nall sizes from all the shards, since we actually need the\nvalue from the one.\n\nThis bug was introduced in ba27f81.\n"
    },
    {
      "commit": "a6d07a1cbf9e7ea07f171f223710891ac7c627b4",
      "tree": "4c7c4ac4535bace6ab016ad185e5ae40f688cf9a",
      "parents": [
        "25e9da562212f1f67e1face58418dfc82c621b7c"
      ],
      "author": {
        "name": "Alexander Shorin",
        "email": "kxepal@apache.org",
        "time": "Wed Oct 07 20:57:02 2015 +0300"
      },
      "committer": {
        "name": "Alexander Shorin",
        "email": "kxepal@apache.org",
        "time": "Wed Oct 07 20:57:29 2015 +0300"
      },
      "message": "Update .travis.yml\n"
    },
    {
      "commit": "25e9da562212f1f67e1face58418dfc82c621b7c",
      "tree": "f8016b622d35a826fb42846dba6f0782ffd0aeb0",
      "parents": [
        "17f0377807804b7b55db6c6b378d9e266ea52236"
      ],
      "author": {
        "name": "Nick Vatamaniuc",
        "email": "vatamane@gmail.com",
        "time": "Fri Oct 02 14:47:10 2015 -0400"
      },
      "committer": {
        "name": "Nick Vatamaniuc",
        "email": "vatamane@gmail.com",
        "time": "Fri Oct 02 14:47:10 2015 -0400"
      },
      "message": "Fix eunit tests.\n\n Mock couch_log alongside couch_stats.\n"
    },
    {
      "commit": "17f0377807804b7b55db6c6b378d9e266ea52236",
      "tree": "3a5b8d911af2deea3c092b17b2b46864eaaeb7da",
      "parents": [
        "34e7c26208babcb15402e39b22516cf655d90510"
      ],
      "author": {
        "name": "Robert Newson",
        "email": "rnewson@apache.org",
        "time": "Tue Sep 22 14:18:07 2015 +0100"
      },
      "committer": {
        "name": "Robert Newson",
        "email": "rnewson@apache.org",
        "time": "Tue Sep 22 14:18:07 2015 +0100"
      },
      "message": "fix assertions: first arg is \u0027expected\u0027\n"
    },
    {
      "commit": "34e7c26208babcb15402e39b22516cf655d90510",
      "tree": "ea6021d82beaa39c604d09bd4fabfb52da99fbaa",
      "parents": [
        "03c927ba4fefc1c2ea83e15389e53e2d9f6cd51e"
      ],
      "author": {
        "name": "Robert Newson",
        "email": "rnewson@apache.org",
        "time": "Tue Sep 22 13:10:23 2015 +0100"
      },
      "committer": {
        "name": "Robert Newson",
        "email": "rnewson@apache.org",
        "time": "Tue Sep 22 14:12:40 2015 +0100"
      },
      "message": "Don\u0027t create dbs doc if shard files fail for enametoolong reason\n\nCOUCHDB-2821\n"
    },
    {
      "commit": "03c927ba4fefc1c2ea83e15389e53e2d9f6cd51e",
      "tree": "561b76ca86475de3a7a35958cd688575b94bf25c",
      "parents": [
        "cad0918d85529752ce32c18d92b5f612fe598235",
        "61fbb94b9f7f59c34483c092ecc39bd3a63155e2"
      ],
      "author": {
        "name": "Robert Newson",
        "email": "rnewson@apache.org",
        "time": "Tue Sep 22 13:56:19 2015 +0100"
      },
      "committer": {
        "name": "Robert Newson",
        "email": "rnewson@apache.org",
        "time": "Tue Sep 22 13:56:19 2015 +0100"
      },
      "message": "Merge remote-tracking branch \u0027smithsz/2819-db-create-check-already-exists\u0027\n"
    }
  ],
  "next": "61fbb94b9f7f59c34483c092ecc39bd3a63155e2"
}
