)]}'
{
  "log": [
    {
      "commit": "312e2c45535913c190cdef51f6ea65066ccd89dc",
      "tree": "3d18dbe77b052754e2a7a9bbaee9650a9fb410e2",
      "parents": [
        "a319d9283872c77d1ceea8129829f78dd59a7209"
      ],
      "author": {
        "name": "Lucas Satabin",
        "email": "lucas.satabin@gnieh.org",
        "time": "Tue Feb 07 17:40:09 2017 +0100"
      },
      "committer": {
        "name": "Garren Smith",
        "email": "garren.smith@gmail.com",
        "time": "Fri Mar 31 19:25:17 2017 +0200"
      },
      "message": "Add `$allMatch` selector\n\nThis selector is similar to the existing `$elemMatch` one but requires\nall elements of an array value to match the inner selector.\n"
    },
    {
      "commit": "a319d9283872c77d1ceea8129829f78dd59a7209",
      "tree": "642a80646f9c1d9e57747b4130050419622c92b4",
      "parents": [
        "6660b37d6813823804df3444f532abf6736936f7"
      ],
      "author": {
        "name": "Garren Smith",
        "email": "garren.smith@gmail.com",
        "time": "Wed Mar 22 14:47:31 2017 +0200"
      },
      "committer": {
        "name": "Garren Smith",
        "email": "garren.smith@gmail.com",
        "time": "Fri Mar 31 19:21:23 2017 +0200"
      },
      "message": "Ignore design docs when using _all_docs\n\nThis stops design docs from being returns when using the special\nall_docs index\n"
    },
    {
      "commit": "6660b37d6813823804df3444f532abf6736936f7",
      "tree": "12b3e7df096635f7298b1e33cfc1acd3152ea0de",
      "parents": [
        "4afd60e84d0e1c57f5d6a1e3542955faa565ca4b"
      ],
      "author": {
        "name": "Tony Sun",
        "email": "tony.sun@cloudant.com",
        "time": "Tue Oct 18 14:01:48 2016 -0700"
      },
      "committer": {
        "name": "Tony Sun",
        "email": "tony.sun@cloudant.com",
        "time": "Mon Jan 23 15:17:01 2017 -0800"
      },
      "message": "Do not allow empty field name\n\nCurrently, the indexer crashes when a field name is empty. Even though\nit\u0027s valid json, we should disallow empty field names to coincide\nwith selector syntax that requires a non-empty field name for queries.\n\nCOUCHDB-3202\n"
    },
    {
      "commit": "4afd60e84d0e1c57f5d6a1e3542955faa565ca4b",
      "tree": "67dd27396bffc995fa4560d0c17edc0a9ee3376d",
      "parents": [
        "50066bc841be578fc1cc2ed8f404392c71d853e5"
      ],
      "author": {
        "name": "Tony Sun",
        "email": "tony.sun@cloudant.com",
        "time": "Tue Dec 06 00:46:51 2016 -0800"
      },
      "committer": {
        "name": "Tony Sun",
        "email": "tony.sun@cloudant.com",
        "time": "Tue Dec 06 12:59:55 2016 -0800"
      },
      "message": "Add config parameter to reject index all text indexes\n\nText indexes that index all fields can sometimes lead to OOM issues\nwhen users have documents with nested array fields. This change adds\nin a config parameter to provide the ability to log users who do this\nand also reject new requests. Note that we need to pass in a db\nrecord to validate_new because it contains user and db name info that\nwill be logged.\n\nCOUCHDB-3249\n"
    },
    {
      "commit": "50066bc841be578fc1cc2ed8f404392c71d853e5",
      "tree": "d67ba6562b299f4b24e203dfe761b83cae96b30a",
      "parents": [
        "d8792e40ffabf0581ce48600abcf286f57c2dfd6"
      ],
      "author": {
        "name": "katsel",
        "email": "katsel@users.noreply.github.com",
        "time": "Tue Oct 11 12:41:45 2016 +0200"
      },
      "committer": {
        "name": "Nick Vatamaniuc",
        "email": "vatamane@apache.org",
        "time": "Wed Nov 30 12:40:43 2016 -0500"
      },
      "message": "Add .rebar/ to gitignore\n"
    },
    {
      "commit": "d8792e40ffabf0581ce48600abcf286f57c2dfd6",
      "tree": "88f822dd88b3068821ff2c6ed49397f75dce6a34",
      "parents": [
        "30b3696b876533a8321b702be43ae9bbca125040"
      ],
      "author": {
        "name": "katsel",
        "email": "katsel@users.noreply.github.com",
        "time": "Tue Oct 11 12:41:27 2016 +0200"
      },
      "committer": {
        "name": "Nick Vatamaniuc",
        "email": "vatamane@apache.org",
        "time": "Wed Nov 30 12:40:43 2016 -0500"
      },
      "message": "Tiny improvements for test README\n"
    },
    {
      "commit": "30b3696b876533a8321b702be43ae9bbca125040",
      "tree": "1c851b8ac5b3a55e06f48b6d28674df0d2ac06fb",
      "parents": [
        "ddd6a4d44019975efe660203859e67211da1d255"
      ],
      "author": {
        "name": "Robert Newson",
        "email": "rnewson@apache.org",
        "time": "Wed Oct 19 12:21:13 2016 +0100"
      },
      "committer": {
        "name": "Robert Newson",
        "email": "rnewson@apache.org",
        "time": "Wed Oct 19 12:21:13 2016 +0100"
      },
      "message": "remove docs for missing_is_null as the feature was removed\n"
    },
    {
      "commit": "ddd6a4d44019975efe660203859e67211da1d255",
      "tree": "99bc7d147c989fa9f61ad02db55ac7e879bfd205",
      "parents": [
        "610ccb60d09bb2a730fa1af318c6ce558538d2ba"
      ],
      "author": {
        "name": "Robert Newson",
        "email": "rnewson@apache.org",
        "time": "Fri Sep 30 12:40:31 2016 +0100"
      },
      "committer": {
        "name": "Robert Newson",
        "email": "rnewson@apache.org",
        "time": "Fri Sep 30 12:40:51 2016 +0100"
      },
      "message": "Configurable default limit\n"
    },
    {
      "commit": "610ccb60d09bb2a730fa1af318c6ce558538d2ba",
      "tree": "e8eca1eb5735ae1bf492a2585c3bbcb983b24b02",
      "parents": [
        "1a421567886a039628e3ec66d44a515ec324d26d",
        "29b59449dffea83470ec5c828a8ab2e8c6504a65"
      ],
      "author": {
        "name": "Jan Lehnardt",
        "email": "jan@apache.org",
        "time": "Mon Sep 12 08:13:29 2016 +0200"
      },
      "committer": {
        "name": "Jan Lehnardt",
        "email": "jan@apache.org",
        "time": "Mon Sep 12 08:13:29 2016 +0200"
      },
      "message": "Merge remote-tracking branch \u0027cloudant/3143-fix-default-limit\u0027\n\n* cloudant/3143-fix-default-limit:\n  Fix test suite check for text indexes\n  Set default limit to 25\n"
    },
    {
      "commit": "29b59449dffea83470ec5c828a8ab2e8c6504a65",
      "tree": "e8eca1eb5735ae1bf492a2585c3bbcb983b24b02",
      "parents": [
        "d8432c58a004141123e13a5af6dad78e3746399d"
      ],
      "author": {
        "name": "Paul J. Davis",
        "email": "paul.joseph.davis@gmail.com",
        "time": "Sun Sep 11 14:08:51 2016 -0500"
      },
      "committer": {
        "name": "Paul J. Davis",
        "email": "paul.joseph.davis@gmail.com",
        "time": "Sun Sep 11 14:08:51 2016 -0500"
      },
      "message": "Fix test suite check for text indexes\n\nThis was passing by accident on travis because the $CWD is set\ndifferently so the test would always fail. If however you tried to run\nthe tests locally then it would fail. Obviously the test is just wrong\nsince we\u0027re moving the mango_cursor_text.erl file in rebar.config, and\nnot mango_cursor.erl which is required for every index type.\n\nCOUCHDB-3143\n"
    },
    {
      "commit": "d8432c58a004141123e13a5af6dad78e3746399d",
      "tree": "49bd688c99269b2f45f4c97d4dec6d86be3a11f6",
      "parents": [
        "1a421567886a039628e3ec66d44a515ec324d26d"
      ],
      "author": {
        "name": "Paul J. Davis",
        "email": "paul.joseph.davis@gmail.com",
        "time": "Sun Sep 11 13:38:12 2016 -0500"
      },
      "committer": {
        "name": "Paul J. Davis",
        "email": "paul.joseph.davis@gmail.com",
        "time": "Sun Sep 11 14:07:50 2016 -0500"
      },
      "message": "Set default limit to 25\n\nThe docs claim the limit is 25 and this was the intention but this value\nwas never updated. The reason to set it at 25 is in case we add other\nindex types that are unable to stream results to the client (ie,\nanything Lucene based). This allows us to maintain the same API across\nall calls regardless of index type used.\n\nCOUCHDB-3143\n"
    },
    {
      "commit": "1a421567886a039628e3ec66d44a515ec324d26d",
      "tree": "993167e5f8086d7440fa5b4743438cc242c53880",
      "parents": [
        "01252f971bef0c8da1d78bf5a7b506b71926ce1b"
      ],
      "author": {
        "name": "Tony Sun",
        "email": "tony.sun@cloudant.com",
        "time": "Thu Jul 28 18:36:37 2016 -0700"
      },
      "committer": {
        "name": "Tony Sun",
        "email": "tony.sun@cloudant.com",
        "time": "Thu Jul 28 18:36:37 2016 -0700"
      },
      "message": "Add op_field term to fix special $or case\n\nWe\u0027re missing the term op_field when recursively calling\nindexable_fields in a special case. This leads to a function_clause\nerror when specifically two elements are used in a $or query. It works\nwhen they index all fields because indexable_fields is not called.\nHowever, when the user specifically indexes a field, we encounter this\nerror. Inserting the op_field term  allows the function to be called\ncorrectly.\n\nBugzId: 71037\n"
    },
    {
      "commit": "01252f971bef0c8da1d78bf5a7b506b71926ce1b",
      "tree": "e37e848df09fc3745d2d239bbc6ee495dc899659",
      "parents": [
        "db3116c48780ad09064281ebc4e374b497781767"
      ],
      "author": {
        "name": "Robert Kowalski",
        "email": "robertkowalski@apache.org",
        "time": "Mon Jan 04 13:05:25 2016 +0100"
      },
      "committer": {
        "name": "Robert Kowalski",
        "email": "robertkowalski@apache.org",
        "time": "Wed Feb 10 15:13:09 2016 +0000"
      },
      "message": "add mango catch-all feature\n\nfall back on the all_docs index if a index for the currently\nsearched field does not exist.\n\nwarn about slower execution and advise to create an index.\n\nPR: #27\nPR-URL: https://github.com/apache/couchdb-mango/pull/27\nReviewed-By: Alexander Shorin\nReviewed-By: Tony Sun \u003ctony.sun@cloudant.com\u003e\n"
    },
    {
      "commit": "db3116c48780ad09064281ebc4e374b497781767",
      "tree": "70902054dc5924515033eca318e947e53ce77756",
      "parents": [
        "f1f816b21839a7df49f527f887f65afd88bc7119"
      ],
      "author": {
        "name": "Tony Sun",
        "email": "tony.sun@cloudant.com",
        "time": "Wed Jan 28 10:28:49 2015 -0800"
      },
      "committer": {
        "name": "Tony Sun",
        "email": "tony.sun@cloudant.com",
        "time": "Tue Dec 08 13:04:52 2015 -0800"
      },
      "message": "Add filter test\n\nBugzID: 43810\n"
    },
    {
      "commit": "f1f816b21839a7df49f527f887f65afd88bc7119",
      "tree": "e1ec9a13bbc4419bcb1c26ffb8db49ff6aa0ba2b",
      "parents": [
        "a02f6106af37dd6900ceed5288e692661c369ef1"
      ],
      "author": {
        "name": "Tony Sun",
        "email": "tony.sun@cloudant.com",
        "time": "Wed Jan 28 10:26:33 2015 -0800"
      },
      "committer": {
        "name": "Tony Sun",
        "email": "tony.sun@cloudant.com",
        "time": "Tue Dec 08 13:01:37 2015 -0800"
      },
      "message": "Return fields provided by user only\n\nWhen the user specifies Fields with his or her selector, filter out\nfields that are not in the Fields list.\n\nBugzId: 43810\n"
    },
    {
      "commit": "a02f6106af37dd6900ceed5288e692661c369ef1",
      "tree": "79ffd6f30386a6e8c4457b3cd74861afc822af1f",
      "parents": [
        "090dc67501d5beff6820f7fd8c77a18e46cd58ee"
      ],
      "author": {
        "name": "Tony Sun",
        "email": "tony.sun@cloudant.com",
        "time": "Fri Oct 30 15:02:50 2015 -0700"
      },
      "committer": {
        "name": "Tony Sun",
        "email": "tony.sun@cloudant.com",
        "time": "Sun Nov 01 16:52:36 2015 -0800"
      },
      "message": "Fix user defined index selection\n\nThis fix modifies indexable_fields to remove extraneous fields\nthat are created by the mango_selector_text:convert function so that\nthe index can now be used when accessing arrays, $in operations, and\n$size operations.\n\nCOUCHDB-2835\n"
    },
    {
      "commit": "090dc67501d5beff6820f7fd8c77a18e46cd58ee",
      "tree": "58cad61c0e6598e042e6dce592d290b34fcb0a94",
      "parents": [
        "bf44d0fe3869386e5fdcf99f6c690dc8498f213b"
      ],
      "author": {
        "name": "brkolla",
        "email": "bkolla@cloudant.com",
        "time": "Sun Oct 25 21:53:46 2015 -0400"
      },
      "committer": {
        "name": "brkolla",
        "email": "bkolla@cloudant.com",
        "time": "Tue Oct 27 14:19:05 2015 -0400"
      },
      "message": "Add tests to verify the effect of enabling/disabling index_array_lengths\nSkip the array-length-field tests if text service is not running\nSkip creating the index doc if the text service is not up\n"
    },
    {
      "commit": "bf44d0fe3869386e5fdcf99f6c690dc8498f213b",
      "tree": "254216d1014ef116e47c0b13fcac94cdd43afc1f",
      "parents": [
        "a297e2e9e2c006381f982e73a08fff29c4f8db8f"
      ],
      "author": {
        "name": "brkolla",
        "email": "bkolla@cloudant.com",
        "time": "Thu Oct 22 20:16:42 2015 -0400"
      },
      "committer": {
        "name": "brkolla",
        "email": "bkolla@cloudant.com",
        "time": "Tue Oct 27 14:18:14 2015 -0400"
      },
      "message": "Provide an ability to disable the indexing of array lengths.\n\nDepending on the data shape, cloudant query would end up creating many\nthousands of unique fields and this is leading to JVM heap exhaustion\nas Lucene tries to cache information about fields and Lucene is not\ndesigned to handle many thousands fields.\nThis change allows the user to disable the indexing of array lengths\nfield. So that they don’t need to take the hit on performance if they\ndon’t plan to use that field in their queries ($size operator)\n\nArray length field is a single extra field per unique path to an array. The case where we found this was a client that had data that used arbitrary data as keys which exploded the number of fields in Lucene. The obvious fix was to switch to only indexing what they wanted to query on. Unfortunately that didn\u0027t prevent the automatically created array length fields from being created. This patch is a big hammer to remove the auto generated array length fields which may be generally useful. Though we\u0027re also planning on another patch that removes array length fields for anything that\u0027s not specified in the index\u0027s field list.\n\nAdd index_array_lengths to the list of valid fields in the index\ndocument so that the index document with this field will pass and\nenforce the boolean value.\n"
    },
    {
      "commit": "a297e2e9e2c006381f982e73a08fff29c4f8db8f",
      "tree": "fa6fdeb02435de9cc9bb3f788c8cd3e42f904d7d",
      "parents": [
        "0cc0fb8d2c2e04a4df5a1e7deb198abc78266a97"
      ],
      "author": {
        "name": "Alexander Shorin",
        "email": "kxepal@apache.org",
        "time": "Mon Oct 12 19:22:23 2015 +0300"
      },
      "committer": {
        "name": "Alexander Shorin",
        "email": "kxepal@apache.org",
        "time": "Sun Oct 18 00:46:24 2015 +0300"
      },
      "message": "Correctly handle unsupported HTTP methods per resource\n"
    },
    {
      "commit": "0cc0fb8d2c2e04a4df5a1e7deb198abc78266a97",
      "tree": "5df549440a692ec65b0e59b038bb638b3bca3e20",
      "parents": [
        "0dd2000f666e49204b0429a81f660de237aaeccf"
      ],
      "author": {
        "name": "Mayya Sharipova",
        "email": "mayyas@ca.ibm.com",
        "time": "Fri Oct 16 15:29:16 2015 -0400"
      },
      "committer": {
        "name": "Mayya Sharipova",
        "email": "mayyas@ca.ibm.com",
        "time": "Fri Oct 16 15:29:16 2015 -0400"
      },
      "message": "validate that all POST requests with json body must have also have valid\njson header: {\"Content-Type\": \"application/json\"}\nThis ensures a basic protection against CSRF\n\nJIRA: COUCHDB-2775\n"
    },
    {
      "commit": "0dd2000f666e49204b0429a81f660de237aaeccf",
      "tree": "7d1bc3f8705e786f17e9386ac194999a1e94aaec",
      "parents": [
        "06cf106dc47188ce399b62c82c786197ef85a382"
      ],
      "author": {
        "name": "Tony Sun",
        "email": "tony.sun@cloudant.com",
        "time": "Wed Oct 07 13:07:58 2015 -0700"
      },
      "committer": {
        "name": "Tony Sun",
        "email": "tony.sun@cloudant.com",
        "time": "Wed Oct 07 13:07:58 2015 -0700"
      },
      "message": "Fix $nin operator\n\nThis fixes $nin when the field is an array.\n\nBugzID:44528\n"
    },
    {
      "commit": "06cf106dc47188ce399b62c82c786197ef85a382",
      "tree": "0b937d5ff192da4f2d3aeaf8c7e3bb98510d7347",
      "parents": [
        "ea662ba968ee8e1cf4075ff8ad9f097418f7d5a5"
      ],
      "author": {
        "name": "Tony Sun",
        "email": "tony.sun@cloudant.com",
        "time": "Wed Sep 16 16:42:47 2015 -0700"
      },
      "committer": {
        "name": "Tony Sun",
        "email": "tony.sun@cloudant.com",
        "time": "Mon Oct 05 13:45:10 2015 -0700"
      },
      "message": "Handle malformed manual design docs.\n\nWe separate index validation into three phases. The first phase is\nindex creation via our _index api. This validation piece will throw\nan error for invalid index definitions. The second phase is during\nthe indexing of documents. If an index definition is not valid, we\nwill not use the definition to index documents. We silently log the\nerror. Finally, during the query phase, design documents are again\nvalidated to ensure correct indexes are used. Again, we log an error\nbut silently ignore invalid index definitions. Our validation will\nintegrate into a consolidated validation of all indexers.\n\nCOUCHDB-2816\n"
    },
    {
      "commit": "ea662ba968ee8e1cf4075ff8ad9f097418f7d5a5",
      "tree": "54ec6b4923be6caf6b1e27f69b2e0f8623f6891c",
      "parents": [
        "46b58a3c53bc07db8b841fd55dc9fb32c1b6bb89"
      ],
      "author": {
        "name": "Alexander Shorin",
        "email": "kxepal@apache.org",
        "time": "Mon Oct 05 22:54:36 2015 +0300"
      },
      "committer": {
        "name": "Alexander Shorin",
        "email": "kxepal@apache.org",
        "time": "Mon Oct 05 22:54:36 2015 +0300"
      },
      "message": "Update Erlang releases for build matrix\n"
    },
    {
      "commit": "46b58a3c53bc07db8b841fd55dc9fb32c1b6bb89",
      "tree": "f09951efe049182fc826d6b06142318fea1ee15b",
      "parents": [
        "19184f3c28cc23b880901b94fe7545428628bfd0"
      ],
      "author": {
        "name": "ILYA Khlopotov",
        "email": "iilyak@ca.ibm.com",
        "time": "Tue Sep 29 13:05:25 2015 -0700"
      },
      "committer": {
        "name": "ILYA Khlopotov",
        "email": "iilyak@ca.ibm.com",
        "time": "Tue Sep 29 13:05:25 2015 -0700"
      },
      "message": "Pass supervisor\u0027s children to couch_epi\n"
    },
    {
      "commit": "19184f3c28cc23b880901b94fe7545428628bfd0",
      "tree": "204cdc0c371e47d9155aea221220b79fba17cac8",
      "parents": [
        "9eb60e78ca2d8abb42d40324470dd54d37a84746"
      ],
      "author": {
        "name": "ILYA Khlopotov",
        "email": "iilyak@ca.ibm.com",
        "time": "Mon Sep 28 09:53:20 2015 -0700"
      },
      "committer": {
        "name": "ILYA Khlopotov",
        "email": "iilyak@ca.ibm.com",
        "time": "Mon Sep 28 09:53:20 2015 -0700"
      },
      "message": "Update to new couch_epi API\n"
    },
    {
      "commit": "9eb60e78ca2d8abb42d40324470dd54d37a84746",
      "tree": "50f1d55372fe3131ad909ba30db593fa5c5c996d",
      "parents": [
        "bb595d01018f1f8e67623606f625a13ccf6cb239"
      ],
      "author": {
        "name": "Robert Newson",
        "email": "rnewson@apache.org",
        "time": "Wed Sep 23 19:38:33 2015 +0100"
      },
      "committer": {
        "name": "Robert Newson",
        "email": "rnewson@apache.org",
        "time": "Wed Sep 23 19:38:33 2015 +0100"
      },
      "message": "Fix crypto deprecations\n\nCOUCHDB-2825\n"
    },
    {
      "commit": "bb595d01018f1f8e67623606f625a13ccf6cb239",
      "tree": "2e605edc54c73ffc590fea9d663152c97992696f",
      "parents": [
        "f92403294b30cf54fbf9577e26cf243c5634cb73"
      ],
      "author": {
        "name": "Tony Sun",
        "email": "tony.sun@cloudant.com",
        "time": "Mon Sep 14 17:57:28 2015 -0700"
      },
      "committer": {
        "name": "Tony Sun",
        "email": "tony.sun@cloudant.com",
        "time": "Mon Sep 14 18:17:53 2015 -0700"
      },
      "message": "Fix comparison operators for strings\n\nThe comparison operators $lt, $lte, $gt, and $gte were incorrectly\nusing lower bound and upper bound values when comparing text.\nFor strings, we modify the the lower bound limit to be an empty string,\nand the upper bound to be the highest unicode value.\n\nCOUCHDB-2808\n"
    },
    {
      "commit": "f92403294b30cf54fbf9577e26cf243c5634cb73",
      "tree": "8ba963ef3232a7726375cb4f0f9d7f8ac30bd9e1",
      "parents": [
        "87faac11d7c5c0fd99d5d0eae4d6263ab965d694"
      ],
      "author": {
        "name": "Tony Sun",
        "email": "tony.sun@cloudant.com",
        "time": "Thu Sep 10 14:44:57 2015 -0700"
      },
      "committer": {
        "name": "Tony Sun",
        "email": "tony.sun@cloudant.com",
        "time": "Mon Sep 14 17:58:44 2015 -0700"
      },
      "message": "Also append quotes for specific numeric string field\n\nWe appended quotes for numeric_strings for $text. However, we did not\ndo this for specific fields. Note that we don\u0027t escape the field value\nwhen it\u0027s a numeric string because that provides an incorrect string\nvalue for clouseau.\n\nCOUCHDB-2806\n"
    },
    {
      "commit": "87faac11d7c5c0fd99d5d0eae4d6263ab965d694",
      "tree": "e0ed6b08365b9bcae5179f1a119c876f535c39c7",
      "parents": [
        "2793b9f50561dd4d9a271ce66aad29d7bfbad942"
      ],
      "author": {
        "name": "Tony Sun",
        "email": "tony.sun@cloudant.com",
        "time": "Thu Sep 10 11:34:45 2015 -0700"
      },
      "committer": {
        "name": "Tony Sun",
        "email": "tony.sun@cloudant.com",
        "time": "Fri Sep 11 09:14:54 2015 -0700"
      },
      "message": "Shorten tests\n\nCOUCHDB-2787\n"
    },
    {
      "commit": "2793b9f50561dd4d9a271ce66aad29d7bfbad942",
      "tree": "8fa667f365afdc20e2dbb06922fd8d85ab1eca1b",
      "parents": [
        "ba961dca9858f49e38e17590dc62f512b6630848"
      ],
      "author": {
        "name": "Tony Sun",
        "email": "tony.sun@cloudant.com",
        "time": "Wed Sep 09 15:10:21 2015 -0700"
      },
      "committer": {
        "name": "Tony Sun",
        "email": "tony.sun@cloudant.com",
        "time": "Wed Sep 09 15:13:37 2015 -0700"
      },
      "message": "Use hypothesis instead of random values for num_string tests\n\nCOUCHDB-2787\n"
    },
    {
      "commit": "ba961dca9858f49e38e17590dc62f512b6630848",
      "tree": "49f8dd0aa544b1e17c889936ac7285c556334944",
      "parents": [
        "1de64eabbf9af6a56562acdf3b71fa0c4c98fd0f"
      ],
      "author": {
        "name": "Tony Sun",
        "email": "tony.sun@cloudant.com",
        "time": "Wed Sep 09 00:12:41 2015 -0700"
      },
      "committer": {
        "name": "Tony Sun",
        "email": "tony.sun@cloudant.com",
        "time": "Wed Sep 09 15:13:11 2015 -0700"
      },
      "message": "Make testcases skip automatically when no text service\n\nCOUCHDB-2787\n"
    },
    {
      "commit": "1de64eabbf9af6a56562acdf3b71fa0c4c98fd0f",
      "tree": "d31458eaa5f92eb3d14ba1f52d1019783e1509bd",
      "parents": [
        "17e4abffaec605d14f836d6b05ec1423da612a31"
      ],
      "author": {
        "name": "Tony Sun",
        "email": "tony.sun@cloudant.com",
        "time": "Tue Sep 08 11:22:03 2015 -0700"
      },
      "committer": {
        "name": "Tony Sun",
        "email": "tony.sun@cloudant.com",
        "time": "Tue Sep 08 11:22:03 2015 -0700"
      },
      "message": "Whitespace\n"
    },
    {
      "commit": "17e4abffaec605d14f836d6b05ec1423da612a31",
      "tree": "8d3cdbba637b24d623562716ec191bfa23951fde",
      "parents": [
        "f12076f24a4d2cf7ae500dd6c15735ef24f1d5cf"
      ],
      "author": {
        "name": "Tony Sun",
        "email": "tony.sun@cloudant.com",
        "time": "Tue Sep 08 11:13:49 2015 -0700"
      },
      "committer": {
        "name": "Tony Sun",
        "email": "tony.sun@cloudant.com",
        "time": "Tue Sep 08 11:13:49 2015 -0700"
      },
      "message": "Reinstate skip tests\n\nCOUCHDB-2787\n"
    },
    {
      "commit": "f12076f24a4d2cf7ae500dd6c15735ef24f1d5cf",
      "tree": "8d40d3cb2d96ec3ed57deafc4f26bfc99c86af44",
      "parents": [
        "8b6d0dbd3540cf34d9703526ba0b0b6d3226ff8d"
      ],
      "author": {
        "name": "Tony Sun",
        "email": "tony.sun@cloudant.com",
        "time": "Thu Sep 03 15:30:19 2015 -0700"
      },
      "committer": {
        "name": "Tony Sun",
        "email": "tony.sun@cloudant.com",
        "time": "Thu Sep 03 15:30:19 2015 -0700"
      },
      "message": "Remove extraneous error message\n\nCOUCHDB-2787\n"
    },
    {
      "commit": "8b6d0dbd3540cf34d9703526ba0b0b6d3226ff8d",
      "tree": "99cb256349ef16eda32a795bdc856266cf5bf17b",
      "parents": [
        "928d76ac2c2739a25313e281cfeb1ac485070054"
      ],
      "author": {
        "name": "Tony Sun",
        "email": "tony.sun@cloudant.com",
        "time": "Thu Sep 03 15:26:59 2015 -0700"
      },
      "committer": {
        "name": "Tony Sun",
        "email": "tony.sun@cloudant.com",
        "time": "Thu Sep 03 15:26:59 2015 -0700"
      },
      "message": "Use short circuit operators\n\nCOUCHDB-2787\n"
    },
    {
      "commit": "928d76ac2c2739a25313e281cfeb1ac485070054",
      "tree": "6644d895f022171fab5aa2e99c5ec1d623daa2b0",
      "parents": [
        "874e8d2a74f83e19aedfd0acb1e562f918844c99"
      ],
      "author": {
        "name": "Tony Sun",
        "email": "tony.sun@cloudant.com",
        "time": "Thu Sep 03 15:26:27 2015 -0700"
      },
      "committer": {
        "name": "Tony Sun",
        "email": "tony.sun@cloudant.com",
        "time": "Thu Sep 03 15:26:27 2015 -0700"
      },
      "message": "Use config:get_integer\n\nCOUCHDB-2787\n"
    },
    {
      "commit": "874e8d2a74f83e19aedfd0acb1e562f918844c99",
      "tree": "3ba325a565039fd747d51f398ccebd4a76529d9f",
      "parents": [
        "6100a0b68956fdea9a5ab06f3c0cfc275320542b"
      ],
      "author": {
        "name": "Tony Sun",
        "email": "tony.sun@cloudant.com",
        "time": "Thu Sep 03 13:01:33 2015 -0700"
      },
      "committer": {
        "name": "Tony Sun",
        "email": "tony.sun@cloudant.com",
        "time": "Thu Sep 03 13:01:33 2015 -0700"
      },
      "message": "Use module_loaded instead of module_info\n\nCOUCHDB-2787\n"
    },
    {
      "commit": "6100a0b68956fdea9a5ab06f3c0cfc275320542b",
      "tree": "b46d4b59a69774c960b233e9c03aeda9dd44f4d6",
      "parents": [
        "838c6329015254e0f6ffaf1e99b6718950971559"
      ],
      "author": {
        "name": "Tony Sun",
        "email": "tony.sun@cloudant.com",
        "time": "Wed Sep 02 18:51:40 2015 -0700"
      },
      "committer": {
        "name": "Tony Sun",
        "email": "tony.sun@cloudant.com",
        "time": "Wed Sep 02 23:34:08 2015 -0700"
      },
      "message": "Return 503 if dreyfus service does not exist\n\nReferences to text will throw a 503 if the dreyfus_index module\ndoes not exist.\n\nCOUCHDB-2787\n"
    },
    {
      "commit": "838c6329015254e0f6ffaf1e99b6718950971559",
      "tree": "a1008bb6074820257ce0f7ac7d425f22b02befa4",
      "parents": [
        "805fee5bec5e1a8970503cbae7c1b7c8097d2ad5"
      ],
      "author": {
        "name": "Tony Sun",
        "email": "tony.sun@cloudant.com",
        "time": "Wed Sep 02 13:30:28 2015 -0700"
      },
      "committer": {
        "name": "Tony Sun",
        "email": "tony.sun@cloudant.com",
        "time": "Wed Sep 02 13:30:28 2015 -0700"
      },
      "message": "Modify tests for skip\n\nCOUCHDB-2787\n"
    },
    {
      "commit": "805fee5bec5e1a8970503cbae7c1b7c8097d2ad5",
      "tree": "c7cbf8b65584e76b455ae11ec776a3bdbbc21c91",
      "parents": [
        "8d496c1e8c9b790722385d3af53670999fb99b58"
      ],
      "author": {
        "name": "Tony Sun",
        "email": "tony.sun@cloudant.com",
        "time": "Wed Sep 02 11:08:39 2015 -0700"
      },
      "committer": {
        "name": "Tony Sun",
        "email": "tony.sun@cloudant.com",
        "time": "Wed Sep 02 11:08:39 2015 -0700"
      },
      "message": "Remove mango_cursor_text.erl from path if dreyfus does not exist\n\nWe create a new rebar.config.script for mango to rename\nmango_cursor_text.erl so that compilation does not fail. If users\nwant to enable text search, they will manually have to clone\ndreyfus and re-add the file (will be in README).\n\nCOUCHDB-2787\n"
    },
    {
      "commit": "8d496c1e8c9b790722385d3af53670999fb99b58",
      "tree": "b40cfa4ae4c758037761fd282fa3a0a64ce6211d",
      "parents": [
        "b2f62f1d0f6872be960246461e82845c6fa09e9a"
      ],
      "author": {
        "name": "Tony Sun",
        "email": "tony.sun@cloudant.com",
        "time": "Wed Aug 26 09:35:34 2015 -0700"
      },
      "committer": {
        "name": "Tony Sun",
        "email": "tony.sun@cloudant.com",
        "time": "Wed Aug 26 09:35:34 2015 -0700"
      },
      "message": "Request an EJSON body when opening documents\n"
    },
    {
      "commit": "b2f62f1d0f6872be960246461e82845c6fa09e9a",
      "tree": "d50f781917ceae85bf37582e04f8525e9f8a9d42",
      "parents": [
        "97162fd5d9fcddbdc95495565076066ca091c481"
      ],
      "author": {
        "name": "Tony Sun",
        "email": "tony.sun@cloudant.com",
        "time": "Wed Aug 26 01:53:49 2015 -0700"
      },
      "committer": {
        "name": "Tony Sun",
        "email": "tony.sun@cloudant.com",
        "time": "Wed Aug 26 01:53:49 2015 -0700"
      },
      "message": "improve regex test\n"
    },
    {
      "commit": "97162fd5d9fcddbdc95495565076066ca091c481",
      "tree": "3daec9a15d3f43847e9be2dc06379a262058f8f2",
      "parents": [
        "7032bf582ba9483c41ae3e36ad543788852bac2a"
      ],
      "author": {
        "name": "Tony Sun",
        "email": "tony.sun@cloudant.com",
        "time": "Wed Aug 26 01:52:19 2015 -0700"
      },
      "committer": {
        "name": "Tony Sun",
        "email": "tony.sun@cloudant.com",
        "time": "Wed Aug 26 01:52:19 2015 -0700"
      },
      "message": "add tests\n"
    },
    {
      "commit": "7032bf582ba9483c41ae3e36ad543788852bac2a",
      "tree": "12195946133c464577f9fe9fd4d281c0638dd822",
      "parents": [
        "460fcd4723a70ba24aee2b0254ba02602260431a"
      ],
      "author": {
        "name": "Tony Sun",
        "email": "tony.sun@cloudant.com",
        "time": "Wed Aug 26 01:50:27 2015 -0700"
      },
      "committer": {
        "name": "Tony Sun",
        "email": "tony.sun@cloudant.com",
        "time": "Wed Aug 26 01:50:27 2015 -0700"
      },
      "message": "stash compiled regexs in mochiglobal\n"
    },
    {
      "commit": "460fcd4723a70ba24aee2b0254ba02602260431a",
      "tree": "0415a297116b93cbaf5e69077ffd063cbe6a7d55",
      "parents": [
        "f481b566881a7e7effd86bf0449b487789ad93ed"
      ],
      "author": {
        "name": "Tony Sun",
        "email": "tony.sun@cloudant.com",
        "time": "Wed Aug 26 01:30:27 2015 -0700"
      },
      "committer": {
        "name": "Tony Sun",
        "email": "tony.sun@cloudant.com",
        "time": "Wed Aug 26 01:30:27 2015 -0700"
      },
      "message": "Replace element position with brackets\n\nTo be consistent with view based indexes, we allow the user\nto access array elements via position. We convert that position\nto [] for the underlying indexed field. For example, myarray.0.1,\nwould be converted to myarray.[].[]. This converted field will then\nbe used for the text search. The results will then be filtered by\nthe match function.\n\nBugzid: 46268\n"
    },
    {
      "commit": "f481b566881a7e7effd86bf0449b487789ad93ed",
      "tree": "d8998fcf778f85bf96ca8d7dec375857919663b8",
      "parents": [
        "a814fe78b76c2b84ad2f06dbb87ddb0b57fc1de3"
      ],
      "author": {
        "name": "Tony Sun",
        "email": "tony.sun@cloudant.com",
        "time": "Tue Aug 25 13:44:47 2015 -0700"
      },
      "committer": {
        "name": "Tony Sun",
        "email": "tony.sun@cloudant.com",
        "time": "Tue Aug 25 13:44:47 2015 -0700"
      },
      "message": "Correctly choose index type\n\nWhen users specify \"$text\" in the selector, json indexes should not be\nused satisfy the query. We check the list of fields and look for\n\"$default\". This implies that \"$text\" was used in the selector and\nfilter out all json indexes.\n\nBugzId: 46498\n"
    },
    {
      "commit": "a814fe78b76c2b84ad2f06dbb87ddb0b57fc1de3",
      "tree": "bd3b95984e8bf7dc1762321b3f331bc332b3a065",
      "parents": [
        "85f8a2b607a74b4abf4e78f0fb93b3becff9c0ad"
      ],
      "author": {
        "name": "Tony Sun",
        "email": "tony.sun@cloudant.com",
        "time": "Tue Aug 25 13:40:06 2015 -0700"
      },
      "committer": {
        "name": "Tony Sun",
        "email": "tony.sun@cloudant.com",
        "time": "Tue Aug 25 13:40:06 2015 -0700"
      },
      "message": "Add text index field validator\n\nOur original text field validator let any list through. The new\nvalidator makes text fields definitions more restrictive.\n\nBugzID: 46817\n"
    },
    {
      "commit": "85f8a2b607a74b4abf4e78f0fb93b3becff9c0ad",
      "tree": "41f6d06d66b15f9b3ef0978f3ca963b0a417d2a6",
      "parents": [
        "e80608da4f51ce787343a6721a4c44d1f489373c"
      ],
      "author": {
        "name": "Tony Sun",
        "email": "tony.sun@cloudant.com",
        "time": "Tue Aug 25 13:28:32 2015 -0700"
      },
      "committer": {
        "name": "Tony Sun",
        "email": "tony.sun@cloudant.com",
        "time": "Tue Aug 25 13:28:32 2015 -0700"
      },
      "message": "Fix $size operator\n\nThe convert function was missing an array reference \"[]\" in the path.\n\nBugzID: 46731\n"
    },
    {
      "commit": "e80608da4f51ce787343a6721a4c44d1f489373c",
      "tree": "e7de7cd3af335506826eab51aa16fd6067ccc457",
      "parents": [
        "cdc9fe5ca09ca3a05e250f881382be6d4f809c9b"
      ],
      "author": {
        "name": "Tony Sun",
        "email": "tony.sun@cloudant.com",
        "time": "Tue Aug 25 13:18:07 2015 -0700"
      },
      "committer": {
        "name": "Tony Sun",
        "email": "tony.sun@cloudant.com",
        "time": "Tue Aug 25 13:24:04 2015 -0700"
      },
      "message": "Fix $all operator\n\nThe $all operator was only returning docs where the field exactly\nmatched the array. It should return docs where the provided matching\narray is a subset of the field\u0027s array.\nEx: {\"field\" :\n        { \"$all\" : [\"Bob\", \"Joe\"] }\n    }\nshould match \"field\" : [\"Bob\", \"Jane\", \"Joe\"]\n\nBugzId:46731\n"
    },
    {
      "commit": "cdc9fe5ca09ca3a05e250f881382be6d4f809c9b",
      "tree": "1e21928af6c5162ae01630d73a7bedb6ef491888",
      "parents": [
        "5df74ffdc398502a7c097c709fa86d056a99b5ab"
      ],
      "author": {
        "name": "Tony Sun",
        "email": "tony.sun@cloudant.com",
        "time": "Tue Aug 25 13:15:47 2015 -0700"
      },
      "committer": {
        "name": "Tony Sun",
        "email": "tony.sun@cloudant.com",
        "time": "Tue Aug 25 13:24:04 2015 -0700"
      },
      "message": "List text indexes correctly\n\nText indexes are created in the form of {\"name\": \"fieldname\",\n\"type\":\"datatype\"}. This differs from view based indexes that\nare in the form of {\"field\":\"sortdirection\"}. When presenting\nthe text index fields, we display for each field \"fieldname\":\"datatype\".\n\nBugzID:46012\n"
    },
    {
      "commit": "5df74ffdc398502a7c097c709fa86d056a99b5ab",
      "tree": "68085c91a813259774baddfaf5acbec4982eecc8",
      "parents": [
        "4f05552d8c7829fed09b451263a1bb7faf4c941c"
      ],
      "author": {
        "name": "Tony Sun",
        "email": "tony.sun@cloudant.com",
        "time": "Tue Aug 25 12:04:49 2015 -0700"
      },
      "committer": {
        "name": "Tony Sun",
        "email": "tony.sun@cloudant.com",
        "time": "Tue Aug 25 13:24:03 2015 -0700"
      },
      "message": "Fix field_exists_query\n\nThe mango_selector:field_exists_query/2 was incorrectly returning\nthe query. This change fixes this issue and consequently fixes operators\nthat depended on this function such as $regex, $mod, and $type.\n\nBugzId:45970\n"
    },
    {
      "commit": "4f05552d8c7829fed09b451263a1bb7faf4c941c",
      "tree": "7429e6090ef1556d3c685a6e760202ff27e0bfdd",
      "parents": [
        "10fcac2be08f22395935bd938d5dccf5e8d71ac9"
      ],
      "author": {
        "name": "Tony Sun",
        "email": "tony.sun@cloudant.com",
        "time": "Tue Aug 25 11:28:10 2015 -0700"
      },
      "committer": {
        "name": "Tony Sun",
        "email": "tony.sun@cloudant.com",
        "time": "Tue Aug 25 13:24:03 2015 -0700"
      },
      "message": "Fix compilation error\n"
    },
    {
      "commit": "10fcac2be08f22395935bd938d5dccf5e8d71ac9",
      "tree": "8401f057a6cc457e69a41025196bed05667b1dde",
      "parents": [
        "ca5ff7bcb33e6242b3fa4bdafc40955d984ca439"
      ],
      "author": {
        "name": "Tony Sun",
        "email": "tony.sun@cloudant.com",
        "time": "Tue Aug 25 11:26:50 2015 -0700"
      },
      "committer": {
        "name": "Tony Sun",
        "email": "tony.sun@cloudant.com",
        "time": "Tue Aug 25 13:23:53 2015 -0700"
      },
      "message": "Handle extra \u003c\u003c\u003e\u003e when elemMatch normalizes selector\n\nWhen $elemMatch is applied to non-objects such as:\n{\"results\":{\"$elemMatch\": {\"$gte\": 80, \"$lt\": 85}}},\nour normalizer modifies the selector to include \u003c\u003c\u003e\u003e. This\ncauses issues for our path_str and match functions. This\nfix addresses those issues by removing the \u003c\u003c\u003e\u003e from the selector\nand also not adding a period when a Part is \u003c\u003c\u003e\u003e.\n\nBugzId: 44817\n"
    },
    {
      "commit": "ca5ff7bcb33e6242b3fa4bdafc40955d984ca439",
      "tree": "c69644b1cbd89c3442f72e2b941ec8a7a0bb9b34",
      "parents": [
        "a8def140992cf0d2868c1abce5714ab43e754176"
      ],
      "author": {
        "name": "Tony Sun",
        "email": "tony.sun@cloudant.com",
        "time": "Tue Aug 25 10:51:22 2015 -0700"
      },
      "committer": {
        "name": "Tony Sun",
        "email": "tony.sun@cloudant.com",
        "time": "Tue Aug 25 13:23:52 2015 -0700"
      },
      "message": "Add numeric string tests\n\nBugzId: 45572\n"
    },
    {
      "commit": "a8def140992cf0d2868c1abce5714ab43e754176",
      "tree": "a0561a547761eeba2d01451f90b3df319e036f85",
      "parents": [
        "29eddf0115f4a73d920acbdcfb59cf232e98448a"
      ],
      "author": {
        "name": "Tony Sun",
        "email": "tony.sun@cloudant.com",
        "time": "Tue Aug 25 10:26:02 2015 -0700"
      },
      "committer": {
        "name": "Tony Sun",
        "email": "tony.sun@cloudant.com",
        "time": "Tue Aug 25 13:23:49 2015 -0700"
      },
      "message": "Add quotes to numeric strings\n\nFor numeric strings, we surround them with quotes when passed to\n$text. This way, Clouseau will use the QueryParser for tokenization\nrather than TermQuery. This is currently a workaround until we add\njson parser support to Clouseau.\n\nBugzID: 45572\n"
    },
    {
      "commit": "29eddf0115f4a73d920acbdcfb59cf232e98448a",
      "tree": "a25d530dfc16d87720e6b84d3bcf4a6dadb4073a",
      "parents": [
        "fc1e36f354475981a4fce044a160f14251922421"
      ],
      "author": {
        "name": "Tony Sun",
        "email": "tony.sun@cloudant.com",
        "time": "Tue Aug 25 10:12:05 2015 -0700"
      },
      "committer": {
        "name": "Tony Sun",
        "email": "tony.sun@cloudant.com",
        "time": "Tue Aug 25 10:12:05 2015 -0700"
      },
      "message": "Remove text search limit\n\nRather than use hardcoded values for text search limit,\nwe fit the value within the configurable Dreyfus max_limit\nparameter.\n\nFogBugzID: 44968\n"
    },
    {
      "commit": "fc1e36f354475981a4fce044a160f14251922421",
      "tree": "67bc1562fed4cc2e4f652a6d9d54ce84f3a89e61",
      "parents": [
        "677cd2a59262721da5e77542e54eac3e2911930b"
      ],
      "author": {
        "name": "Tony Sun",
        "email": "tony.sun@cloudant.com",
        "time": "Mon Aug 24 14:17:01 2015 -0700"
      },
      "committer": {
        "name": "Tony Sun",
        "email": "tony.sun@cloudant.com",
        "time": "Mon Aug 24 14:17:01 2015 -0700"
      },
      "message": "Revert \"Remove reference to _text indexes\"\n\nThis reverts commit 955a42c3bbd0502f1623bec29edad59eddd7b2ea.\n\nConflicts:\n\tsrc/mango_error.erl\nCOUCHDB-2787\n"
    },
    {
      "commit": "677cd2a59262721da5e77542e54eac3e2911930b",
      "tree": "bce567ebbbcd35ded6649bb55b83d785b5881a6b",
      "parents": [
        "0e355411f9f904f34a0cb22dc7dd8d868f4a091f",
        "93a4bc10688a11dcdd027b616f863e34e87fd097"
      ],
      "author": {
        "name": "Alexander Shorin",
        "email": "kxepal@apache.org",
        "time": "Sat Aug 01 18:48:40 2015 +0300"
      },
      "committer": {
        "name": "Alexander Shorin",
        "email": "kxepal@apache.org",
        "time": "Sat Aug 01 18:48:40 2015 +0300"
      },
      "message": "Merge pull request #10 from kxepal/travis\n"
    },
    {
      "commit": "93a4bc10688a11dcdd027b616f863e34e87fd097",
      "tree": "bce567ebbbcd35ded6649bb55b83d785b5881a6b",
      "parents": [
        "6ba768f31acad2e3d0c594ce94522220d1238dce"
      ],
      "author": {
        "name": "Alexander Shorin",
        "email": "kxepal@apache.org",
        "time": "Wed Jul 29 22:31:32 2015 +0300"
      },
      "committer": {
        "name": "Alexander Shorin",
        "email": "kxepal@apache.org",
        "time": "Wed Jul 29 22:54:05 2015 +0300"
      },
      "message": "Return HTTP 501 index_not_implemented error for text indexes\n\nThis feature requires FTS service implementation which is not available\nyet.\n"
    },
    {
      "commit": "6ba768f31acad2e3d0c594ce94522220d1238dce",
      "tree": "58a8e50d2d10d70b9183379f761c964be83fc679",
      "parents": [
        "0f34ae293b08dd0a63aff960701cdad82a4a4b86"
      ],
      "author": {
        "name": "Alexander Shorin",
        "email": "kxepal@apache.org",
        "time": "Wed Jul 29 22:23:39 2015 +0300"
      },
      "committer": {
        "name": "Alexander Shorin",
        "email": "kxepal@apache.org",
        "time": "Wed Jul 29 22:54:05 2015 +0300"
      },
      "message": "Fix index name check\n"
    },
    {
      "commit": "0f34ae293b08dd0a63aff960701cdad82a4a4b86",
      "tree": "d336b456f7db4ef88d00273887d1cf868d5fda82",
      "parents": [
        "08294c6ca693dd834dbe71b50128292376b1bd8e"
      ],
      "author": {
        "name": "Alexander Shorin",
        "email": "kxepal@apache.org",
        "time": "Fri Jul 24 06:03:25 2015 +0300"
      },
      "committer": {
        "name": "Alexander Shorin",
        "email": "kxepal@apache.org",
        "time": "Wed Jul 29 22:54:03 2015 +0300"
      },
      "message": "Integrate with Travis CI\n"
    },
    {
      "commit": "08294c6ca693dd834dbe71b50128292376b1bd8e",
      "tree": "fdb365f4d6572b601fc1a44b65cdf4a173d33e67",
      "parents": [
        "0e355411f9f904f34a0cb22dc7dd8d868f4a091f"
      ],
      "author": {
        "name": "Alexander Shorin",
        "email": "kxepal@apache.org",
        "time": "Fri Jul 24 06:03:14 2015 +0300"
      },
      "committer": {
        "name": "Alexander Shorin",
        "email": "kxepal@apache.org",
        "time": "Wed Jul 29 22:37:41 2015 +0300"
      },
      "message": "Add Makefile\n"
    },
    {
      "commit": "0e355411f9f904f34a0cb22dc7dd8d868f4a091f",
      "tree": "47074f162e9ca342578d833c5f458115284db71f",
      "parents": [
        "4abd4748f5897f7416de2e5e297790bff96f7429"
      ],
      "author": {
        "name": "Adam Kocoloski",
        "email": "adam@cloudant.com",
        "time": "Thu Jul 23 13:42:55 2015 -0400"
      },
      "committer": {
        "name": "Adam Kocoloski",
        "email": "adam@cloudant.com",
        "time": "Thu Jul 23 13:42:55 2015 -0400"
      },
      "message": "Remove a superfluous closing brace\n\nThanks Robert Kowalski for spotting this.\n"
    },
    {
      "commit": "4abd4748f5897f7416de2e5e297790bff96f7429",
      "tree": "ecfb5c3a13bcc61bca186669f5028ea529493ab4",
      "parents": [
        "7fa97639418b74835354192e21a0afc4f34b0a60",
        "47ee02167aa8f2cb302b741659508d81e5de5e4f"
      ],
      "author": {
        "name": "Adam Kocoloski",
        "email": "adam@cloudant.com",
        "time": "Wed Jul 22 17:03:50 2015 -0400"
      },
      "committer": {
        "name": "Adam Kocoloski",
        "email": "adam@cloudant.com",
        "time": "Wed Jul 22 17:03:50 2015 -0400"
      },
      "message": "Merge branch \u00272724-chunked-buffering\u0027\n"
    },
    {
      "commit": "47ee02167aa8f2cb302b741659508d81e5de5e4f",
      "tree": "5d3906f72d1fe2d6b3bcef989055cf66b93ab1df",
      "parents": [
        "1231788aab2c09bfa0b5750200256175f6eadb92"
      ],
      "author": {
        "name": "Adam Kocoloski",
        "email": "adam@cloudant.com",
        "time": "Mon Jul 20 17:35:00 2015 -0400"
      },
      "committer": {
        "name": "Adam Kocoloski",
        "email": "adam@cloudant.com",
        "time": "Wed Jul 22 17:03:27 2015 -0400"
      },
      "message": "Buffer rows to reduce number of chunks\n\nThis patch reduces the number of chunks in an HTTP chunked response body\nby coalescing multiple rows into a single transmission. The default\nvalue is chosen to fill a standard Ethernet frame and can be configured\nby setting\n\n     [httpd]\n     chunked_response_buffer \u003d 1490\n\nNote that the same setting is several other streaming responses (e.g.\n_changes, _all_docs, _views).\n\nCOUCHDB-2724\n"
    },
    {
      "commit": "1231788aab2c09bfa0b5750200256175f6eadb92",
      "tree": "9a387ce7ede4f9fffaa9ab8307d38c74d37c80e1",
      "parents": [
        "a0cac182c9b4a3eb8b9a985245126d6150f0df61"
      ],
      "author": {
        "name": "Adam Kocoloski",
        "email": "adam@cloudant.com",
        "time": "Mon Jul 20 17:26:12 2015 -0400"
      },
      "committer": {
        "name": "Adam Kocoloski",
        "email": "adam@cloudant.com",
        "time": "Mon Jul 20 17:26:12 2015 -0400"
      },
      "message": "Use a record for callback accumulator\n\nThis allows us to extend the state stored in the accumulator more\neasily.\n"
    },
    {
      "commit": "7fa97639418b74835354192e21a0afc4f34b0a60",
      "tree": "339788c62440a14d22377b2d96e78113fd74769b",
      "parents": [
        "520587dab83646a70cf078b52b99544b0edfc261"
      ],
      "author": {
        "name": "ILYA Khlopotov",
        "email": "iilyak@ca.ibm.com",
        "time": "Wed Jul 15 08:43:05 2015 -0700"
      },
      "committer": {
        "name": "ILYA Khlopotov",
        "email": "iilyak@ca.ibm.com",
        "time": "Fri Jul 17 10:16:16 2015 -0700"
      },
      "message": "Use dynamic handlers\n\nWe use dynamic handlers for mango related calls which are:\n\n - `_index`\n - `_explain`\n - `_find`\n"
    },
    {
      "commit": "520587dab83646a70cf078b52b99544b0edfc261",
      "tree": "72a3798c010bec46ee63146b1f41c67513183b04",
      "parents": [
        "a0cac182c9b4a3eb8b9a985245126d6150f0df61"
      ],
      "author": {
        "name": "ILYA Khlopotov",
        "email": "iilyak@ca.ibm.com",
        "time": "Wed Jul 15 08:42:14 2015 -0700"
      },
      "committer": {
        "name": "ILYA Khlopotov",
        "email": "iilyak@ca.ibm.com",
        "time": "Wed Jul 15 09:10:54 2015 -0700"
      },
      "message": "Add `mango_app` and `mango_sup`\n"
    },
    {
      "commit": "a0cac182c9b4a3eb8b9a985245126d6150f0df61",
      "tree": "e089c21113d8d86f8f15fd72ef3ca590c3a61363",
      "parents": [
        "fa557b72835f35f34d6417b590727013647286b3"
      ],
      "author": {
        "name": "Tony Sun",
        "email": "tony.sun@cloudant.com",
        "time": "Sun Apr 19 17:47:10 2015 -0700"
      },
      "committer": {
        "name": "Tony Sun",
        "email": "tony.sun@cloudant.com",
        "time": "Mon Apr 20 11:46:08 2015 -0700"
      },
      "message": "Add support for index pagination\n\nWe add limit and skip parameters to GET so that the dashboard\ncan utilize these parameters for pagination.\n\nFixes:COUCHDB-2652\n"
    },
    {
      "commit": "fa557b72835f35f34d6417b590727013647286b3",
      "tree": "dca559d9b778fe82cb2108fb5e07ea19e5050417",
      "parents": [
        "6490184bf36c6eb04587d5fb3bd86923e62ec2b5"
      ],
      "author": {
        "name": "Tony Sun",
        "email": "tony.sun@cloudant.com",
        "time": "Sat Apr 18 12:48:20 2015 -0700"
      },
      "committer": {
        "name": "Tony Sun",
        "email": "tony.sun@cloudant.com",
        "time": "Sat Apr 18 12:48:20 2015 -0700"
      },
      "message": "Remove write quorum\n\nThe write quorum is saved in the index. We cosmetically remove it.\n\nFixes:COUCHDB-2663\n"
    },
    {
      "commit": "6490184bf36c6eb04587d5fb3bd86923e62ec2b5",
      "tree": "3c1f5c3411eb0cbce6454c6cc5041f4979df0043",
      "parents": [
        "f6d4901bc5717c17397d8baec27e3501d92c1fdb"
      ],
      "author": {
        "name": "Tony Sun",
        "email": "tony.sun@cloudant.com",
        "time": "Wed Apr 01 15:30:51 2015 -0700"
      },
      "committer": {
        "name": "Tony Sun",
        "email": "tony.sun@cloudant.com",
        "time": "Sun Apr 05 21:56:12 2015 -0700"
      },
      "message": "Enable bulk deletes\n\nAdd _bulk_delete path to _index so that users can bulk delete\nindexes via POST. Users will pass in a list of docids via the POST body.\nWe delete each index one by one until an error is thrown or all indexes\nin the list are deleted. We return a list of successful deletes\nand failed deletes along with the ids. For a single delete, we still\nthrow the same errors as before to be backwards compatible\nwith any applications expecting an error.\n\nFixes COUCHDB-2651\n"
    },
    {
      "commit": "f6d4901bc5717c17397d8baec27e3501d92c1fdb",
      "tree": "4347b2739821b40a38e63607f82193e220f79ea3",
      "parents": [
        "893028883e893d0623cdd7ef25a88b1274a0c43d"
      ],
      "author": {
        "name": "Tony Sun",
        "email": "tony.sun@cloudant.com",
        "time": "Wed Mar 25 16:29:31 2015 -0700"
      },
      "committer": {
        "name": "Tony Sun",
        "email": "tony.sun@cloudant.com",
        "time": "Tue Mar 31 08:50:48 2015 -0700"
      },
      "message": "Return ddoc id and index name\n\nWe return the ddoc id and index name for easier deletion\nfrom the dashboard. We don\u0027t return the full design doc because\nwe want to hide that abstraction of dealing with design docs from\nthe user.\n\nFIXES COUCHDB-2645\n"
    },
    {
      "commit": "893028883e893d0623cdd7ef25a88b1274a0c43d",
      "tree": "2b00b0ac7fd4f53b1b387d623df96bb18c817faf",
      "parents": [
        "698e3490e6ae5c0dc51cafe1dcbccfc0f1bf5819"
      ],
      "author": {
        "name": "Tony Sun",
        "email": "tony.sun@cloudant.com",
        "time": "Tue Feb 24 23:19:01 2015 -0800"
      },
      "committer": {
        "name": "Tony Sun",
        "email": "tony.sun@cloudant.com",
        "time": "Tue Feb 24 23:19:01 2015 -0800"
      },
      "message": "Use different comparison function\n\nOur mango_json:cmp/2 function used couch_ejson_compare:less_json.\nThat function returned a boolean value, but we need a number.\nDocuments were not returned and tests were failing. Changed function\nto use couch_ejson_compare:less instead.\n\nFixes COUCHDB-2622\n"
    },
    {
      "commit": "698e3490e6ae5c0dc51cafe1dcbccfc0f1bf5819",
      "tree": "a883686df393c02767c1c294bbb234c8a8d11772",
      "parents": [
        "931d2277654ece598e0f359f699ea997afe37af1"
      ],
      "author": {
        "name": "Tony Sun",
        "email": "tony.sun@cloudant.com",
        "time": "Mon Feb 23 22:23:45 2015 -0800"
      },
      "committer": {
        "name": "Tony Sun",
        "email": "tony.sun@cloudant.com",
        "time": "Tue Feb 24 19:05:45 2015 -0800"
      },
      "message": "Handle unsatisfiable [empty] ranges\n\nQueries sometimes contain unsatisfiable ranges (i.e x \u003c 0 and x \u003e 0).\nThis is indicated by the [empty] value. In this case, we should not\nperform a search and simply return 0 documents.\n\nFixes COUCHDB-2614\n"
    },
    {
      "commit": "931d2277654ece598e0f359f699ea997afe37af1",
      "tree": "1b18afe5a7c3dff51720e8632f567493c2b09650",
      "parents": [
        "46d84de428e2062c8d7c330b014fcca8be409ce4"
      ],
      "author": {
        "name": "Klaus Trainer",
        "email": "klaus_trainer@posteo.de",
        "time": "Fri Feb 13 22:40:02 2015 +0100"
      },
      "committer": {
        "name": "Klaus Trainer",
        "email": "klaus_trainer@posteo.de",
        "time": "Fri Feb 13 22:58:18 2015 +0100"
      },
      "message": "Fix `mango_util:load_ddoc/2`\n\nBefore this change, `mango_util:load_ddoc/2` would generate a\n`function_clause` error.  The problem was that `check_lang/1` expects\nthe document body to be an EJSON object if the document has not been\ndeleted.  However, the document body would be a binary instead, as it is\ncompressed.\n\nWe now make sure that the document body is an EJSON object by adding the\n`ejson_body` option when retrieving the document.\n"
    },
    {
      "commit": "46d84de428e2062c8d7c330b014fcca8be409ce4",
      "tree": "e07ae14d5c27a826aa4e4e1bf9e73109aebc21ac",
      "parents": [
        "571c757aa9d9d01e6afd1c1129bf4a22274452ce"
      ],
      "author": {
        "name": "Robert Newson",
        "email": "rnewson@apache.org",
        "time": "Sun Feb 08 15:22:36 2015 +0000"
      },
      "committer": {
        "name": "Robert Newson",
        "email": "rnewson@apache.org",
        "time": "Sun Feb 08 15:22:36 2015 +0000"
      },
      "message": "Upgrade to couch_mrview #2\n"
    },
    {
      "commit": "571c757aa9d9d01e6afd1c1129bf4a22274452ce",
      "tree": "2fd46154084cbd44afb31c4e84e556153e8ccbbd",
      "parents": [
        "bf2bfa80d1fca2761cefb2c463ecac8b26fccd8b"
      ],
      "author": {
        "name": "Robert Newson",
        "email": "rnewson@apache.org",
        "time": "Sun Feb 08 13:56:28 2015 +0000"
      },
      "committer": {
        "name": "Robert Newson",
        "email": "rnewson@apache.org",
        "time": "Sun Feb 08 13:56:28 2015 +0000"
      },
      "message": "Convert from twig to couch_log\n"
    },
    {
      "commit": "bf2bfa80d1fca2761cefb2c463ecac8b26fccd8b",
      "tree": "12639c3d6591f7f0f709e07488cf77bd1b0c592f",
      "parents": [
        "955a42c3bbd0502f1623bec29edad59eddd7b2ea"
      ],
      "author": {
        "name": "Robert Newson",
        "email": "rnewson@apache.org",
        "time": "Sun Feb 08 13:39:01 2015 +0000"
      },
      "committer": {
        "name": "Robert Newson",
        "email": "rnewson@apache.org",
        "time": "Sun Feb 08 13:39:01 2015 +0000"
      },
      "message": "Upgrade to couch_mrview\n"
    },
    {
      "commit": "955a42c3bbd0502f1623bec29edad59eddd7b2ea",
      "tree": "d5ddda60594880cb228c139f0d53713fde70c18c",
      "parents": [
        "09e4b815dd8a8777ea1fac51923216cedd8ad066"
      ],
      "author": {
        "name": "Robert Newson",
        "email": "rnewson@apache.org",
        "time": "Sun Feb 08 13:34:46 2015 +0000"
      },
      "committer": {
        "name": "Robert Newson",
        "email": "rnewson@apache.org",
        "time": "Sun Feb 08 13:34:46 2015 +0000"
      },
      "message": "Remove reference to _text indexes\n"
    },
    {
      "commit": "09e4b815dd8a8777ea1fac51923216cedd8ad066",
      "tree": "c0b3fa8f0606b6be44e714015120db8ffb661d0e",
      "parents": [
        "bdf9cf7a8fd6169e1d97ab2f9b1ed672bcedb6cd",
        "a7c88e589ff6d261cbc6ab9f59edb613df034626"
      ],
      "author": {
        "name": "Tony Sun",
        "email": "tony.sun@cloudant.com",
        "time": "Fri Jan 23 15:43:42 2015 -0800"
      },
      "committer": {
        "name": "Tony Sun",
        "email": "tony.sun@cloudant.com",
        "time": "Fri Jan 23 15:43:42 2015 -0800"
      },
      "message": "Merge pull request #21 from cloudant/43621-mango-escape-period\n\n43621 mango escape period"
    },
    {
      "commit": "a7c88e589ff6d261cbc6ab9f59edb613df034626",
      "tree": "c0b3fa8f0606b6be44e714015120db8ffb661d0e",
      "parents": [
        "8af882b7f79054e417e5c251cb5f940217a9ee6f"
      ],
      "author": {
        "name": "Tony Sun",
        "email": "tony.sun@cloudant.com",
        "time": "Wed Jan 21 18:21:19 2015 -0800"
      },
      "committer": {
        "name": "Tony Sun",
        "email": "tony.sun@cloudant.com",
        "time": "Fri Jan 23 15:39:17 2015 -0800"
      },
      "message": "Add tests to test for field names with period\n\nBugzId:43621\n"
    },
    {
      "commit": "8af882b7f79054e417e5c251cb5f940217a9ee6f",
      "tree": "6782bc9d7a6c582ed49a7e1202cd859f6c2d95da",
      "parents": [
        "bdf9cf7a8fd6169e1d97ab2f9b1ed672bcedb6cd"
      ],
      "author": {
        "name": "Tony Sun",
        "email": "tony.sun@cloudant.com",
        "time": "Wed Jan 21 18:18:01 2015 -0800"
      },
      "committer": {
        "name": "Tony Sun",
        "email": "tony.sun@cloudant.com",
        "time": "Wed Jan 21 18:18:01 2015 -0800"
      },
      "message": "Escape field name with period correctly\n\nChange period escaping mechanism during field indexing\nand query building. Rather than escaping the whole field name\nat the end, we separate the field name by periods and escape\neach component.\n\nBugzId:43621\n"
    },
    {
      "commit": "bdf9cf7a8fd6169e1d97ab2f9b1ed672bcedb6cd",
      "tree": "bca5ae0c569b2a151379cb241b54f513e643f16e",
      "parents": [
        "801857d73a45d9b45a64296f68983b003f4c88db",
        "e57dcc5e1de9f1e52cc1ab5693419a4fa6721eb0"
      ],
      "author": {
        "name": "Tony Sun",
        "email": "tony.sun@cloudant.com",
        "time": "Wed Jan 21 11:56:47 2015 -0800"
      },
      "committer": {
        "name": "Tony Sun",
        "email": "tony.sun@cloudant.com",
        "time": "Wed Jan 21 11:56:47 2015 -0800"
      },
      "message": "Merge pull request #20 from cloudant/43531-mango-text-sort-desc\n\nFix text sort desc"
    },
    {
      "commit": "e57dcc5e1de9f1e52cc1ab5693419a4fa6721eb0",
      "tree": "bca5ae0c569b2a151379cb241b54f513e643f16e",
      "parents": [
        "801857d73a45d9b45a64296f68983b003f4c88db"
      ],
      "author": {
        "name": "Tony Sun",
        "email": "tony.sun@cloudant.com",
        "time": "Mon Jan 19 13:14:26 2015 -0800"
      },
      "committer": {
        "name": "Tony Sun",
        "email": "tony.sun@cloudant.com",
        "time": "Wed Jan 21 11:59:12 2015 -0800"
      },
      "message": "Fix text sort desc\n\nCall append_sort_type on field name before appending \"-\" when the sort\nis descending.\n\nBugzId: 43531\n"
    },
    {
      "commit": "801857d73a45d9b45a64296f68983b003f4c88db",
      "tree": "561c83cda466aa9b7c7cb68727b2bb8dca4e7b75",
      "parents": [
        "bb30744f2335a81375751b42fec47601a44d0df0",
        "aa4edf42b736bb1a1ffa86248f0895d4ea028259"
      ],
      "author": {
        "name": "Tony Sun",
        "email": "tony.sun@cloudant.com",
        "time": "Fri Jan 16 11:43:18 2015 -0800"
      },
      "committer": {
        "name": "Tony Sun",
        "email": "tony.sun@cloudant.com",
        "time": "Fri Jan 16 11:43:18 2015 -0800"
      },
      "message": "Merge pull request #19 from cloudant/33294-query-text-search\n\nText Search In Mango"
    },
    {
      "commit": "aa4edf42b736bb1a1ffa86248f0895d4ea028259",
      "tree": "561c83cda466aa9b7c7cb68727b2bb8dca4e7b75",
      "parents": [
        "bb91429c143d79e7c9a053233852ec2600ea23a0"
      ],
      "author": {
        "name": "Tony Sun",
        "email": "llamage@Tonys-MacBook-Pro.local",
        "time": "Thu Aug 07 13:11:09 2014 -0700"
      },
      "committer": {
        "name": "Paul J. Davis",
        "email": "paul.joseph.davis@gmail.com",
        "time": "Fri Jan 16 13:41:29 2015 -0600"
      },
      "message": "Support Text Index Creation\n\nAdd support for new index type based on Lucene text indexes. This feature\nallows users to perform full text search and also improves our ability to\nanswer complex queries that were preivously not possible.\n\n33294-query-text-search\n"
    },
    {
      "commit": "bb91429c143d79e7c9a053233852ec2600ea23a0",
      "tree": "5fd45f4bbd493aceb87c9e36e270c3a5e6d8074a",
      "parents": [
        "8f3b355dc5ffac849aa458ef69aecfa0287c43c4"
      ],
      "author": {
        "name": "Paul J. Davis",
        "email": "paul.joseph.davis@gmail.com",
        "time": "Fri Jan 09 16:08:58 2015 -0600"
      },
      "committer": {
        "name": "Paul J. Davis",
        "email": "paul.joseph.davis@gmail.com",
        "time": "Fri Jan 16 13:32:50 2015 -0600"
      },
      "message": "Fix queries that include {\"$exists\": false}\n\nWe were incorrectly stripping documents for which a field didn\u0027t exist.\n\nBugzId: 33294\n"
    },
    {
      "commit": "8f3b355dc5ffac849aa458ef69aecfa0287c43c4",
      "tree": "f405fd7ac91c41d96f9817ff359e264ceb589e08",
      "parents": [
        "1b0426aa2839f34d747e329ffb8bbaee1c42aaa8"
      ],
      "author": {
        "name": "Paul J. Davis",
        "email": "paul.joseph.davis@gmail.com",
        "time": "Fri Jan 09 15:49:36 2015 -0600"
      },
      "committer": {
        "name": "Paul J. Davis",
        "email": "paul.joseph.davis@gmail.com",
        "time": "Fri Jan 16 13:32:50 2015 -0600"
      },
      "message": "Introduce the $text operator to mango_selector\n\nThis just allows us to handle the $text operator in a selector. There is\na bit of a subtlety in that we apply the $text operator against a field\ncalled $default which looks like an operator. We do this becaus the\nquery syntax for $text doesn\u0027t include a field which confuses a bit of\nour other logic which always expects a field name to be present.\n\nBugzId: 33294\n"
    },
    {
      "commit": "1b0426aa2839f34d747e329ffb8bbaee1c42aaa8",
      "tree": "e0e9a2324194ff60ad5e01e0c42f4244575fb5c1",
      "parents": [
        "812cf6bd043f4c9f9b93f0f7eebca4a05df3b2ec"
      ],
      "author": {
        "name": "Paul J. Davis",
        "email": "paul.joseph.davis@gmail.com",
        "time": "Fri Jan 09 15:32:40 2015 -0600"
      },
      "committer": {
        "name": "Paul J. Davis",
        "email": "paul.joseph.davis@gmail.com",
        "time": "Fri Jan 16 13:32:50 2015 -0600"
      },
      "message": "Implement the use_index query parameter\n\nThis adds the ability for users to specify a specific index to use when\nresponding to a query. There are a few places where its helpful to force\nthe index selection to a specific index. For instance choosing a more\nsparse single column index over an available multi-column index.\n\nBugzId: 33294\n"
    },
    {
      "commit": "812cf6bd043f4c9f9b93f0f7eebca4a05df3b2ec",
      "tree": "ff88e6d499cac6e882c829f33a6095d3fd77fdd1",
      "parents": [
        "06bf7757b9f98c7cf5d5c597713021f6cb4ae27b"
      ],
      "author": {
        "name": "Paul J. Davis",
        "email": "paul.joseph.davis@gmail.com",
        "time": "Fri Jan 09 15:43:51 2015 -0600"
      },
      "committer": {
        "name": "Paul J. Davis",
        "email": "paul.joseph.davis@gmail.com",
        "time": "Fri Jan 16 13:32:50 2015 -0600"
      },
      "message": "Implement the _explain endpoint\n\nThis returns a JSON blob describing a provided query. It accepts the\nsame exact POST body parameters as _find but instead of returning query\nresults it returns a description of the query that would be executed.\nThis is intended for debugging purposes.\n\nBugzId: 33294\n"
    },
    {
      "commit": "06bf7757b9f98c7cf5d5c597713021f6cb4ae27b",
      "tree": "4b211dcdeaa7189e53db4c16302cf650b66c301d",
      "parents": [
        "7a9de3447652d31bb517a6975b6cb5c622854681"
      ],
      "author": {
        "name": "Paul J. Davis",
        "email": "paul.joseph.davis@gmail.com",
        "time": "Fri Jan 09 14:21:12 2015 -0600"
      },
      "committer": {
        "name": "Paul J. Davis",
        "email": "paul.joseph.davis@gmail.com",
        "time": "Fri Jan 16 13:32:49 2015 -0600"
      },
      "message": "Move view specific logic to mango_cursor_view\n\nA good portion of mango_cursor turned out to be specific to view based\nindexes. This moves the view related logic to mango_cursor_view and\nupdates mango_cursor to be more generic in preparation for the text\nbased indexing.\n\nBugzId: 33294\n"
    },
    {
      "commit": "7a9de3447652d31bb517a6975b6cb5c622854681",
      "tree": "e9e42380a80d03226ad1ffac9539da5ebe153921",
      "parents": [
        "08c33202ff848814ab4bab11d18284417ccd5bd2"
      ],
      "author": {
        "name": "Paul J. Davis",
        "email": "paul.joseph.davis@gmail.com",
        "time": "Fri Jan 09 12:03:29 2015 -0600"
      },
      "committer": {
        "name": "Paul J. Davis",
        "email": "paul.joseph.davis@gmail.com",
        "time": "Fri Jan 16 13:32:49 2015 -0600"
      },
      "message": "Move view specific logic to mango_view_idx\n\nA lot of the logic in mango_selector is view specific so this moves it\nto mango_idx_view to make that more apparent.\n\nBugzId: 33294\n"
    },
    {
      "commit": "08c33202ff848814ab4bab11d18284417ccd5bd2",
      "tree": "1362ebffa0363768d2f8298cb3692cb175539295",
      "parents": [
        "9ed13044727875534b2abd763a0ec67410b32034"
      ],
      "author": {
        "name": "Paul J. Davis",
        "email": "paul.joseph.davis@gmail.com",
        "time": "Fri Jan 09 16:06:17 2015 -0600"
      },
      "committer": {
        "name": "Paul J. Davis",
        "email": "paul.joseph.davis@gmail.com",
        "time": "Fri Jan 16 13:32:49 2015 -0600"
      },
      "message": "Move key tests to their own test suite\n"
    },
    {
      "commit": "9ed13044727875534b2abd763a0ec67410b32034",
      "tree": "7eab2029f7c3545ae29bad4e2afd8568e26aff77",
      "parents": [
        "d1d13e6fdc42b81a7b333d213c3392dbe80bc825"
      ],
      "author": {
        "name": "Paul J. Davis",
        "email": "paul.joseph.davis@gmail.com",
        "time": "Thu Jan 08 17:48:41 2015 -0600"
      },
      "committer": {
        "name": "Paul J. Davis",
        "email": "paul.joseph.davis@gmail.com",
        "time": "Fri Jan 16 13:32:49 2015 -0600"
      },
      "message": "Allow cursors to add KVs to the find response\n\nThis change allows cursors to set top level key/value pairs in the\nresponse to _find requests. This is ground work for Search based indexes\nthat will need to set a bookmark value for clients.\n\nBugzId: 33294\n"
    },
    {
      "commit": "d1d13e6fdc42b81a7b333d213c3392dbe80bc825",
      "tree": "afce818a00d1282b2559a61ceb968653167bce37",
      "parents": [
        "fc8d7d0fd8886a91fc3223a0a9d01df33b1e132c"
      ],
      "author": {
        "name": "Paul J. Davis",
        "email": "paul.joseph.davis@gmail.com",
        "time": "Thu Jan 08 17:12:20 2015 -0600"
      },
      "committer": {
        "name": "Paul J. Davis",
        "email": "paul.joseph.davis@gmail.com",
        "time": "Fri Jan 16 13:32:49 2015 -0600"
      },
      "message": "Refactor the test suite\n\nThis moves the test suite to using unittest classes so that we can\ncontrol the database creation more directly. This also creates randomly\nnamed databases so that we have fewer race conditions during test runs.\n\nBugzId: 33294\n"
    },
    {
      "commit": "fc8d7d0fd8886a91fc3223a0a9d01df33b1e132c",
      "tree": "822ff94ed250ca70af119d44452a813bba364a78",
      "parents": [
        "bb30744f2335a81375751b42fec47601a44d0df0"
      ],
      "author": {
        "name": "Paul J. Davis",
        "email": "paul.joseph.davis@gmail.com",
        "time": "Tue Jan 13 17:11:35 2015 -0600"
      },
      "committer": {
        "name": "Paul J. Davis",
        "email": "paul.joseph.davis@gmail.com",
        "time": "Fri Jan 16 13:31:33 2015 -0600"
      },
      "message": "Fix trailing whitespace\n"
    },
    {
      "commit": "bb30744f2335a81375751b42fec47601a44d0df0",
      "tree": "56154945a54190d273e3d805f7a553bb991b3e9b",
      "parents": [
        "9cfe0a95f29456d6b9ebb1905051d221d89eab0d",
        "440856a33ef8af81acad101ca10451f509f9309a"
      ],
      "author": {
        "name": "Robert Kowalski",
        "email": "rok@kowalski.gd",
        "time": "Fri Jan 09 18:22:57 2015 +0100"
      },
      "committer": {
        "name": "Robert Kowalski",
        "email": "rok@kowalski.gd",
        "time": "Fri Jan 09 18:22:57 2015 +0100"
      },
      "message": "Merge pull request #17 from cloudant/license-headers\n\nadd license headers to source files"
    },
    {
      "commit": "9cfe0a95f29456d6b9ebb1905051d221d89eab0d",
      "tree": "d2d725ced4ee7f6ff386530d24f624606011dbd5",
      "parents": [
        "195d5417bd5467da3bfd1b8dd618c81310ddb06d",
        "11343b2a64cd85e4a4b49bc7de5cb7e346016885"
      ],
      "author": {
        "name": "Robert Kowalski",
        "email": "rok@kowalski.gd",
        "time": "Fri Jan 09 17:57:56 2015 +0100"
      },
      "committer": {
        "name": "Robert Kowalski",
        "email": "rok@kowalski.gd",
        "time": "Fri Jan 09 17:57:56 2015 +0100"
      },
      "message": "Merge pull request #18 from cloudant/change-description\n\nchange description"
    },
    {
      "commit": "11343b2a64cd85e4a4b49bc7de5cb7e346016885",
      "tree": "d2d725ced4ee7f6ff386530d24f624606011dbd5",
      "parents": [
        "195d5417bd5467da3bfd1b8dd618c81310ddb06d"
      ],
      "author": {
        "name": "Robert Kowalski",
        "email": "robertkowalski@apache.org",
        "time": "Fri Jan 09 14:34:39 2015 +0100"
      },
      "committer": {
        "name": "Robert Kowalski",
        "email": "robertkowalski@apache.org",
        "time": "Fri Jan 09 14:35:03 2015 +0100"
      },
      "message": "change description\n\nthis will also be used in CouchDB after the ip-clearance\n"
    },
    {
      "commit": "440856a33ef8af81acad101ca10451f509f9309a",
      "tree": "53a3dbcf8395b38f12ef8565cbc3bf9c308c1aba",
      "parents": [
        "195d5417bd5467da3bfd1b8dd618c81310ddb06d"
      ],
      "author": {
        "name": "Robert Kowalski",
        "email": "robertkowalski@apache.org",
        "time": "Fri Jan 09 14:29:03 2015 +0100"
      },
      "committer": {
        "name": "Robert Kowalski",
        "email": "robertkowalski@apache.org",
        "time": "Fri Jan 09 14:29:03 2015 +0100"
      },
      "message": "add license headers to source files\n"
    }
  ],
  "next": "195d5417bd5467da3bfd1b8dd618c81310ddb06d"
}
