)]}'
{
  "log": [
    {
      "commit": "0e4463e4a5a615307aeb36323d09dcdc98da34d8",
      "tree": "e08bf5279ae0eafbbb258d58149dabb70098b252",
      "parents": [
        "74e328e1261b3326195da7a5581925dd22b89df5"
      ],
      "author": {
        "name": "Nick Vatamaniuc",
        "email": "vatamane@gmail.com",
        "time": "Wed Oct 26 11:43:04 2022 -0400"
      },
      "committer": {
        "name": "Nick Vatamaniuc",
        "email": "vatamane@gmail.com",
        "time": "Wed Oct 26 11:43:04 2022 -0400"
      },
      "message": "Add notice about moving to the main repo\n"
    },
    {
      "commit": "74e328e1261b3326195da7a5581925dd22b89df5",
      "tree": "fc332e7535323b12d9678290b55b23c35bf91f00",
      "parents": [
        "2a877401b3f6fb6f22f89ed38800b3af7ea858b3"
      ],
      "author": {
        "name": "Jay Doane",
        "email": "jaydoane@apache.org",
        "time": "Wed Oct 05 22:56:37 2022 -0700"
      },
      "committer": {
        "name": "Jay Doane",
        "email": "jay.s.doane@gmail.com",
        "time": "Tue Oct 11 13:25:07 2022 -0700"
      },
      "message": "Git ignore ebin and .eunit directories\n"
    },
    {
      "commit": "2a877401b3f6fb6f22f89ed38800b3af7ea858b3",
      "tree": "65fac0ef0408ff74846e1661d7c96e1d4e59d29d",
      "parents": [
        "6be6887f031814be260f9724cd8b3dc101ae31ae"
      ],
      "author": {
        "name": "Nick Vatamaniuc",
        "email": "vatamane@gmail.com",
        "time": "Wed Sep 28 14:52:06 2022 -0400"
      },
      "committer": {
        "name": "Nick Vatamaniuc",
        "email": "nickva@users.noreply.github.com",
        "time": "Wed Sep 28 15:02:28 2022 -0400"
      },
      "message": "Fix eunit include / export order\n\nexport should come first\n"
    },
    {
      "commit": "6be6887f031814be260f9724cd8b3dc101ae31ae",
      "tree": "15be9f83d91e37b33d92ceaa92f288bb5bc0a722",
      "parents": [
        "9e632745870ef67346c27e92395eb6295acd0e1f"
      ],
      "author": {
        "name": "Ronny",
        "email": "ronny@apache.org",
        "time": "Tue Aug 16 09:14:25 2022 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Aug 16 09:14:25 2022 +0200"
      },
      "message": "Remove leading/trailing whitespaces in config values (#40)\n\n"
    },
    {
      "commit": "9e632745870ef67346c27e92395eb6295acd0e1f",
      "tree": "83699d959bcb682e77e669071f5238ab9b806131",
      "parents": [
        "66b301db80c501d52e344f27581ae757009ea57b"
      ],
      "author": {
        "name": "Ronny",
        "email": "ronny@apache.org",
        "time": "Mon Aug 15 18:47:00 2022 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Aug 15 18:47:00 2022 +0200"
      },
      "message": "Update .travis.yml (#41)\n\nuse ubuntu jammy\r\nuse couchdb/main branch\r\nignore FoundationDB"
    },
    {
      "commit": "66b301db80c501d52e344f27581ae757009ea57b",
      "tree": "d0d654f877d492ec6cff9b4c6039e3fba4373a65",
      "parents": [
        "1d30a8b9c5233accf0c4c15267b7055f4d86addc",
        "93371c99ed1db6b63cb8bf12dfcf7a680f330022"
      ],
      "author": {
        "name": "iilyak",
        "email": "iilyak@users.noreply.github.com",
        "time": "Thu Jul 28 07:54:08 2022 -0700"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Jul 28 07:54:08 2022 -0700"
      },
      "message": "Merge pull request #39 from noahshaw11/add-editors-magic-lines\n\nAdd editors magic lines"
    },
    {
      "commit": "93371c99ed1db6b63cb8bf12dfcf7a680f330022",
      "tree": "d0d654f877d492ec6cff9b4c6039e3fba4373a65",
      "parents": [
        "1d30a8b9c5233accf0c4c15267b7055f4d86addc"
      ],
      "author": {
        "name": "Noah Shaw",
        "email": "noahshaw11@yahoo.com",
        "time": "Mon Jul 25 18:35:35 2022 -0500"
      },
      "committer": {
        "name": "Noah Shaw",
        "email": "noahshaw11@yahoo.com",
        "time": "Mon Jul 25 18:35:35 2022 -0500"
      },
      "message": "Add editors magic lines\n"
    },
    {
      "commit": "1d30a8b9c5233accf0c4c15267b7055f4d86addc",
      "tree": "8c7b367b18171ff6bc1cb537acc49332ea1970db",
      "parents": [
        "6937283083c6835339ce226b00d6ecee25a7f525"
      ],
      "author": {
        "name": "jiahuili",
        "email": "Jiahui.Li@ibm.com",
        "time": "Wed Jun 16 09:42:22 2021 -0500"
      },
      "committer": {
        "name": "Nick Vatamaniuc",
        "email": "nickva@users.noreply.github.com",
        "time": "Wed Jun 16 15:21:25 2021 -0400"
      },
      "message": "Isolate CI tests from default.ini changes\n"
    },
    {
      "commit": "6937283083c6835339ce226b00d6ecee25a7f525",
      "tree": "03060e3ffe7b82efae2b033ad3819fb8f6615ead",
      "parents": [
        "ff743536daf2ee71f9c378fe73205bd7456d47d5"
      ],
      "author": {
        "name": "Jay Doane",
        "email": "jaydoane@apache.org",
        "time": "Fri Feb 19 23:03:05 2021 -0800"
      },
      "committer": {
        "name": "Jay Doane",
        "email": "jay.s.doane@gmail.com",
        "time": "Tue Feb 23 09:14:06 2021 -0800"
      },
      "message": "Implement is_sensitive/2 using configurable application env\n\nIf it exists, consult a file to configure application env. If\n`sensitive` env key is found therein, use it to determine which values\nto redact from log entries. The value of the `sensitive` key should be\na dict of the form:\n```\n#{\n    Section1 \u003d\u003e [Field1, Field2, ...],\n    Section2 \u003d\u003e all\n}\n```\nwhere `Section`s are strings that define sections which contain\nsensitive fields, and `Field`s are strings. The atom `all` indicates\nall fields for that section are sensitive. A typical configuration\nmight look like:\n```\n#{\n    \"admins\" \u003d\u003e all,\n    \"replicator\" \u003d\u003e [\"password\"]\n}\n```\nmeaning that all values in the `[admins]` section, and the `password`\nvalue in the `[replicator]` section will be redacted from the logs.\n"
    },
    {
      "commit": "ff743536daf2ee71f9c378fe73205bd7456d47d5",
      "tree": "09d215bd37c5652f79bfdab42d0fed4245d87fc6",
      "parents": [
        "4a307e24497704d66ba195728148ba7e1ad04504"
      ],
      "author": {
        "name": "Jay Doane",
        "email": "jaydoane@apache.org",
        "time": "Fri Feb 19 22:40:02 2021 -0800"
      },
      "committer": {
        "name": "Jay Doane",
        "email": "jay.s.doane@gmail.com",
        "time": "Tue Feb 23 09:14:06 2021 -0800"
      },
      "message": "Enable eunit coverage\n"
    },
    {
      "commit": "4a307e24497704d66ba195728148ba7e1ad04504",
      "tree": "386e2c42875f330980f72c630d49ce9e05b9abfc",
      "parents": [
        "9a0fdb95e9844f5f9375126b1397c812ac9a9953"
      ],
      "author": {
        "name": "Bessenyei Balázs Donát",
        "email": "bessbd@users.noreply.github.com",
        "time": "Tue Jan 26 11:58:06 2021 +0100"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Jan 26 11:58:06 2021 +0100"
      },
      "message": "Add CouchDB matrix to and remove erlang 19 from CI (#34)\n\n"
    },
    {
      "commit": "9a0fdb95e9844f5f9375126b1397c812ac9a9953",
      "tree": "809ae9e5e49a98f3c464996c16b9d94ae6a76e6e",
      "parents": [
        "cabaf95d16c0dfe54c220eea6c0db6fc49b21651"
      ],
      "author": {
        "name": "Marcos Tenrero",
        "email": "marcos.95tm@gmail.com",
        "time": "Mon Jan 25 14:02:02 2021 +0100"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Jan 25 14:02:02 2021 +0100"
      },
      "message": "Add FoundationDB to CI (#33)\n\nTravis CI builds CouchDB for testing `couchdb-config`.\r\n`couchdb`\u0027s `main` branch now requires FoundationDB to be present for builds.\r\n\r\nThis commit adds FoundationDB to Travis CI."
    },
    {
      "commit": "cabaf95d16c0dfe54c220eea6c0db6fc49b21651",
      "tree": "286f4ccdbf0644ba2b33421f987b4cc263a2870a",
      "parents": [
        "8e0dbf5d6bb27c831b3bd27a020be07cab0e96d0",
        "b03084dd3684d853cfd3c297ce9e7ee9668f71e4"
      ],
      "author": {
        "name": "iilyak",
        "email": "iilyak@users.noreply.github.com",
        "time": "Wed Jul 29 06:40:18 2020 -0700"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Jul 29 06:40:18 2020 -0700"
      },
      "message": "Merge pull request #30 from iilyak/implement-format-status\n\nRefactor config:set to be able to pass sensitive flag"
    },
    {
      "commit": "b03084dd3684d853cfd3c297ce9e7ee9668f71e4",
      "tree": "286f4ccdbf0644ba2b33421f987b4cc263a2870a",
      "parents": [
        "8e0dbf5d6bb27c831b3bd27a020be07cab0e96d0"
      ],
      "author": {
        "name": "ILYA Khlopotov",
        "email": "iilyak@apache.org",
        "time": "Mon Mar 02 04:25:25 2020 -0800"
      },
      "committer": {
        "name": "ILYA Khlopotov",
        "email": "iilyak@apache.org",
        "time": "Mon Mar 02 11:08:49 2020 -0800"
      },
      "message": "Refactor config:set to be able to pass sensitive flag\n\nThe sensitive flag wouldn\u0027t log the value.\n"
    },
    {
      "commit": "8e0dbf5d6bb27c831b3bd27a020be07cab0e96d0",
      "tree": "212a6a2a8d47a3d07b923857a9e8f7e61d6e098c",
      "parents": [
        "e5172d3a224063e17cd338ab36039f725ea1a69f",
        "dcf8d0eb56e59443b0dcc265c47a85501ac12329"
      ],
      "author": {
        "name": "Will Holley",
        "email": "willholley@apache.org",
        "time": "Wed Jan 22 08:28:33 2020 +0000"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Jan 22 08:28:33 2020 +0000"
      },
      "message": "Merge pull request #29 from apache/notify_on_reload\n\nRaise notify events on reload"
    },
    {
      "commit": "dcf8d0eb56e59443b0dcc265c47a85501ac12329",
      "tree": "212a6a2a8d47a3d07b923857a9e8f7e61d6e098c",
      "parents": [
        "e5172d3a224063e17cd338ab36039f725ea1a69f"
      ],
      "author": {
        "name": "Will Holley",
        "email": "willholley@gmail.com",
        "time": "Tue Jan 21 21:58:12 2020 +0000"
      },
      "committer": {
        "name": "Will Holley",
        "email": "willholley@gmail.com",
        "time": "Tue Jan 21 21:58:12 2020 +0000"
      },
      "message": "Raise notify events on reload\n\nWhen config is reloaded from disk, raise notification events\nfor values that have changed or are deleted.\n"
    },
    {
      "commit": "e5172d3a224063e17cd338ab36039f725ea1a69f",
      "tree": "d48a43e7c4e10b960cc67688af83fd3026190e91",
      "parents": [
        "1627aae2c06c1874854988e9e77810824299c39b",
        "c92f3ce27155ea88866a0b93d5823d6a5fe7d8b7"
      ],
      "author": {
        "name": "iilyak",
        "email": "iilyak@users.noreply.github.com",
        "time": "Thu Feb 21 11:04:15 2019 -0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Feb 21 11:04:15 2019 -0800"
      },
      "message": "Merge pull request #28 from cloudant/keep_features_on_config_restart\n\nKeep features on config process restart."
    },
    {
      "commit": "c92f3ce27155ea88866a0b93d5823d6a5fe7d8b7",
      "tree": "d48a43e7c4e10b960cc67688af83fd3026190e91",
      "parents": [
        "1627aae2c06c1874854988e9e77810824299c39b"
      ],
      "author": {
        "name": "ILYA Khlopotov",
        "email": "iilyak@apache.org",
        "time": "Thu Feb 21 17:57:29 2019 +0000"
      },
      "committer": {
        "name": "ILYA Khlopotov",
        "email": "iilyak@apache.org",
        "time": "Thu Feb 21 18:00:20 2019 +0000"
      },
      "message": "Keep features on config process restart.\n\nWe used to store a list of enabled features in ets table owned by `config`\nprocess. This meant that on every `config` process restart we loose the\nlist. Therefore welcome endpoint start to return empty list of features.\n\nUse application environment to keep the list.\n\nfixes #1930\n"
    },
    {
      "commit": "1627aae2c06c1874854988e9e77810824299c39b",
      "tree": "d9ecd3ac75957e8613c089d15e0287009cd6ca47",
      "parents": [
        "0565fed6b036601bb8886dca6b5dd2628fe47432",
        "18122c8a5024bee9bccc87bf6e20ec69da713e8e"
      ],
      "author": {
        "name": "Nick Vatamaniuc",
        "email": "nickva@users.noreply.github.com",
        "time": "Thu Jan 24 11:57:07 2019 -0500"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Jan 24 11:57:07 2019 -0500"
      },
      "message": "Merge pull request #27 from apache/fix-regex-in-key\n\nFix regex patterns in keys"
    },
    {
      "commit": "18122c8a5024bee9bccc87bf6e20ec69da713e8e",
      "tree": "d9ecd3ac75957e8613c089d15e0287009cd6ca47",
      "parents": [
        "2734c76ee9b01848f893a06f467bfbfb88c22c37"
      ],
      "author": {
        "name": "Nick Vatamaniuc",
        "email": "vatamane@apache.org",
        "time": "Thu Jan 24 11:53:00 2019 -0500"
      },
      "committer": {
        "name": "Nick Vatamaniuc",
        "email": "vatamane@apache.org",
        "time": "Thu Jan 24 11:53:00 2019 -0500"
      },
      "message": "Update .travis.yml to match release versions used in main repo\n"
    },
    {
      "commit": "2734c76ee9b01848f893a06f467bfbfb88c22c37",
      "tree": "767c72d85bd1f0d63d1372442ef9b75bb8f623f1",
      "parents": [
        "0565fed6b036601bb8886dca6b5dd2628fe47432"
      ],
      "author": {
        "name": "Nick Vatamaniuc",
        "email": "vatamane@apache.org",
        "time": "Thu Jan 24 11:39:35 2019 -0500"
      },
      "committer": {
        "name": "Nick Vatamaniuc",
        "email": "vatamane@apache.org",
        "time": "Thu Jan 24 11:44:09 2019 -0500"
      },
      "message": "Fix regex patterns in keys\n\nMake sure to escape regex patterns in config keys\n"
    },
    {
      "commit": "0565fed6b036601bb8886dca6b5dd2628fe47432",
      "tree": "e959788de47b522a7741b9b8d2c7edd52a9b0e44",
      "parents": [
        "62a5e5ec9efd181d3d57c27762a4b1741bd7116d",
        "1cc8bdf1139bcfd833debe678e9bef0aad25f646"
      ],
      "author": {
        "name": "jiangph",
        "email": "jiangph@cn.ibm.com",
        "time": "Tue Nov 13 15:09:52 2018 +0800"
      },
      "committer": {
        "name": "jiangph",
        "email": "jiangph@cn.ibm.com",
        "time": "Tue Nov 13 15:09:52 2018 +0800"
      },
      "message": "Merge branch \u0027COUCHDB-1380-fix-nasty-error\u0027 of github.com:cloudant/couchdb-config\n"
    },
    {
      "commit": "62a5e5ec9efd181d3d57c27762a4b1741bd7116d",
      "tree": "e959788de47b522a7741b9b8d2c7edd52a9b0e44",
      "parents": [
        "e7f2cb3db1bb00dd933541cf46aa9e27a28265a0"
      ],
      "author": {
        "name": "wenwl",
        "email": "wenwl@cn.ibm.com",
        "time": "Thu Nov 08 10:25:07 2018 +0800"
      },
      "committer": {
        "name": "jiangph",
        "email": "jiangph@cn.ibm.com",
        "time": "Tue Nov 13 15:01:29 2018 +0800"
      },
      "message": "Fix nasty 500 error on POST to /_config\n"
    },
    {
      "commit": "1cc8bdf1139bcfd833debe678e9bef0aad25f646",
      "tree": "e959788de47b522a7741b9b8d2c7edd52a9b0e44",
      "parents": [
        "4d2e5092c68c8572f8f6ce9a279208db0403e990"
      ],
      "author": {
        "name": "wenwl",
        "email": "wenwl@cn.ibm.com",
        "time": "Tue Nov 13 12:41:53 2018 +0800"
      },
      "committer": {
        "name": "wenwl",
        "email": "wenwl@cn.ibm.com",
        "time": "Tue Nov 13 13:23:11 2018 +0800"
      },
      "message": "Change the variable name from _Else to Else\n"
    },
    {
      "commit": "4d2e5092c68c8572f8f6ce9a279208db0403e990",
      "tree": "af9b20d96c90d7fa35198cd00fe6f6a95be7fe28",
      "parents": [
        "e7f2cb3db1bb00dd933541cf46aa9e27a28265a0"
      ],
      "author": {
        "name": "wenwl",
        "email": "wenwl@cn.ibm.com",
        "time": "Thu Nov 08 10:25:07 2018 +0800"
      },
      "committer": {
        "name": "wenwl",
        "email": "wenwl@cn.ibm.com",
        "time": "Tue Nov 13 13:23:11 2018 +0800"
      },
      "message": "Fix nasty 500 error on POST to /_config\n"
    },
    {
      "commit": "e7f2cb3db1bb00dd933541cf46aa9e27a28265a0",
      "tree": "6ee649514bd1e6fbe6f2f9cc3b7a9eff999dddf4",
      "parents": [
        "b9cb81e78f60d3f40ce0f162082908268af4071b",
        "4dd0a1ee921c4f0a806f700a4be0fe9fcc447246"
      ],
      "author": {
        "name": "jiangph",
        "email": "jiangph@cn.ibm.com",
        "time": "Tue Nov 13 13:14:23 2018 +0800"
      },
      "committer": {
        "name": "jiangph",
        "email": "jiangph@cn.ibm.com",
        "time": "Tue Nov 13 13:14:23 2018 +0800"
      },
      "message": "Merge branch \u0027remove-R16B03-1-build\u0027 of github.com:cloudant/couchdb-config\n"
    },
    {
      "commit": "4dd0a1ee921c4f0a806f700a4be0fe9fcc447246",
      "tree": "766af7aabc84ce0e9d2614a6e3400c8985f172d8",
      "parents": [
        "a83b75ef4d3dc80071ae8ae412fb0c724726d12c"
      ],
      "author": {
        "name": "jiangph",
        "email": "jiangph@cn.ibm.com",
        "time": "Thu Nov 08 16:56:54 2018 +0800"
      },
      "committer": {
        "name": "jiangph",
        "email": "jiangph@cn.ibm.com",
        "time": "Thu Nov 08 16:56:54 2018 +0800"
      },
      "message": "Remove R16B03-1 build flavor\n"
    },
    {
      "commit": "b9cb81e78f60d3f40ce0f162082908268af4071b",
      "tree": "3ec7978bad8faccd26b2f8f99a93a0380a7e515f",
      "parents": [
        "1bc56075e30f71eb4000e6cee0eb00db2b21bde5"
      ],
      "author": {
        "name": "Jan Lehnardt",
        "email": "jan@apache.org",
        "time": "Fri Sep 14 12:09:48 2018 +0200"
      },
      "committer": {
        "name": "Jan Lehnardt",
        "email": "jan@apache.org",
        "time": "Fri Sep 14 12:09:48 2018 +0200"
      },
      "message": "fix tests for #1602\n"
    },
    {
      "commit": "1bc56075e30f71eb4000e6cee0eb00db2b21bde5",
      "tree": "7d2eac0e4af90105c43c6f32e11e621dd38e0b56",
      "parents": [
        "0f915ae9718e09c80b935b32bd0d0d1fc67f4e9b"
      ],
      "author": {
        "name": "Dave Cottlehuber",
        "email": "dch@skunkwerks.at",
        "time": "Mon Apr 30 12:12:07 2018 +0000"
      },
      "committer": {
        "name": "Dave Cottlehuber",
        "email": "dch@skunkwerks.at",
        "time": "Mon Apr 30 21:39:32 2018 +0000"
      },
      "message": "config: tighten config validation\n"
    },
    {
      "commit": "0f915ae9718e09c80b935b32bd0d0d1fc67f4e9b",
      "tree": "84dace04a593583407ba392f133bce86745abcc6",
      "parents": [
        "fc5594cb8d348e3472d9b97f55ab608350cf044b",
        "0c6010e4a33f9bd5f6907e886186448f7af7f499"
      ],
      "author": {
        "name": "Nick Vatamaniuc",
        "email": "vatamane@apache.org",
        "time": "Wed Mar 14 11:38:57 2018 -0400"
      },
      "committer": {
        "name": "Nick Vatamaniuc",
        "email": "vatamane@apache.org",
        "time": "Wed Mar 14 11:38:57 2018 -0400"
      },
      "message": "Merge remote-tracking branch \u0027cloudant/support-not-persist-variants\u0027\n\nFix #19\n"
    },
    {
      "commit": "0c6010e4a33f9bd5f6907e886186448f7af7f499",
      "tree": "84dace04a593583407ba392f133bce86745abcc6",
      "parents": [
        "fc5594cb8d348e3472d9b97f55ab608350cf044b"
      ],
      "author": {
        "name": "ILYA Khlopotov",
        "email": "iilyak@apache.org",
        "time": "Wed Mar 14 06:13:56 2018 -0700"
      },
      "committer": {
        "name": "ILYA Khlopotov",
        "email": "iilyak@apache.org",
        "time": "Wed Mar 14 06:26:13 2018 -0700"
      },
      "message": "Support not persist variants for helper functions\n\nThis adds support for specifying Persist argument for the following\nhelper functions:\n\n * set_boolean\n * set_integer\n * set_float\n"
    },
    {
      "commit": "fc5594cb8d348e3472d9b97f55ab608350cf044b",
      "tree": "7706fa0fc9fc9e4392197b1093a5bba2c07f09f0",
      "parents": [
        "40d019e4376fa1caf26c0b54790454d4d8530402",
        "588d161b981902639577ec4534f550501723a104"
      ],
      "author": {
        "name": "Nick Vatamaniuc",
        "email": "vatamane@apache.org",
        "time": "Thu Feb 15 11:09:39 2018 -0500"
      },
      "committer": {
        "name": "Nick Vatamaniuc",
        "email": "vatamane@apache.org",
        "time": "Thu Feb 15 11:09:39 2018 -0500"
      },
      "message": "Merge branch \u0027use-callbacks-for-behavior\u0027\n\nFixes #18\n"
    },
    {
      "commit": "588d161b981902639577ec4534f550501723a104",
      "tree": "7706fa0fc9fc9e4392197b1093a5bba2c07f09f0",
      "parents": [
        "40d019e4376fa1caf26c0b54790454d4d8530402"
      ],
      "author": {
        "name": "Nick Vatamaniuc",
        "email": "vatamane@apache.org",
        "time": "Thu Feb 15 01:30:44 2018 -0500"
      },
      "committer": {
        "name": "Nick Vatamaniuc",
        "email": "vatamane@apache.org",
        "time": "Thu Feb 15 01:41:24 2018 -0500"
      },
      "message": "Use callback directive for config_listener behaviour\n\nThis knocks out a few dialyzer errors such as:\n\n`Callback info about the config_listener behaviour is not available`\n\nIt is also more descriptive as it specifies types and argument names for each\ncallback.\n"
    },
    {
      "commit": "40d019e4376fa1caf26c0b54790454d4d8530402",
      "tree": "a74ae82529775226013d3664dc37faf3f5f1d2fd",
      "parents": [
        "edd59c6b6e6c645ceb94b39d76d8b05a92b525d8",
        "ac2a33e240669f24af5b8e86499d9b88f8df61b2"
      ],
      "author": {
        "name": "Nick Vatamaniuc",
        "email": "vatamane@apache.org",
        "time": "Fri Jul 21 23:34:22 2017 -0400"
      },
      "committer": {
        "name": "Nick Vatamaniuc",
        "email": "vatamane@apache.org",
        "time": "Fri Jul 21 23:34:22 2017 -0400"
      },
      "message": "Merge remote-tracking branch \u0027cloudant/issue-703\u0027\n\nFixes #703\n"
    },
    {
      "commit": "ac2a33e240669f24af5b8e86499d9b88f8df61b2",
      "tree": "a74ae82529775226013d3664dc37faf3f5f1d2fd",
      "parents": [
        "edd59c6b6e6c645ceb94b39d76d8b05a92b525d8"
      ],
      "author": {
        "name": "Nick Vatamaniuc",
        "email": "vatamane@apache.org",
        "time": "Fri Jul 21 23:13:01 2017 -0400"
      },
      "committer": {
        "name": "Nick Vatamaniuc",
        "email": "vatamane@apache.org",
        "time": "Fri Jul 21 23:17:29 2017 -0400"
      },
      "message": "Add longer timeouts for operations which could write to disk\n\nIt turns out that 5 seconds is often not enough in a severly throttled test\nenvironment, and simple operations like config:set and config:delete raise\ntimeout errors.\n\nIncrease default 5 second timeout to half a minute. This should hopefully\nhandle even heavily throttled IO environments.\n\nFixed #703\n"
    },
    {
      "commit": "edd59c6b6e6c645ceb94b39d76d8b05a92b525d8",
      "tree": "eae71385e22f9c9d14b62d5f2f50dfb9caf23a15",
      "parents": [
        "c5a42b52f28853e511afaa5b35d48770da1159d4"
      ],
      "author": {
        "name": "Paul J. Davis",
        "email": "paul.joseph.davis@gmail.com",
        "time": "Thu Jul 13 14:56:14 2017 -0500"
      },
      "committer": {
        "name": "Paul J. Davis",
        "email": "paul.joseph.davis@gmail.com",
        "time": "Thu Jul 13 14:56:14 2017 -0500"
      },
      "message": "Replace couch_log calls with mocks\n\nDepending on the order of test suite invocations its possible that the\nconfig suite will end up with -DTEST compiled versions from couch_log\u0027s\neunit test suite. These have syncrhonous calls where the normal versions\nare all gen_server:cast/2 calls. This breaks config\u0027s test suite when\nsince couch_log is not started.\n\nRather than go through the hoops of getting couch_log started (which\ncauses a circular dependency) I\u0027ve just mocked out the calls so that\nthey don\u0027t cause issues.\n"
    },
    {
      "commit": "c5a42b52f28853e511afaa5b35d48770da1159d4",
      "tree": "88fa892277c12df80ac4fb74f40b5ac88aef7259",
      "parents": [
        "f62d553b337ce975edb0fb68772d22bdd3bf6490",
        "a7206c71b5bcbaf2eddc89e97bb8d73711ff4564"
      ],
      "author": {
        "name": "Paul J. Davis",
        "email": "paul.joseph.davis@gmail.com",
        "time": "Mon May 22 11:20:26 2017 -0500"
      },
      "committer": {
        "name": "Paul J. Davis",
        "email": "paul.joseph.davis@gmail.com",
        "time": "Mon May 22 11:20:26 2017 -0500"
      },
      "message": "Merge branch \u0027fix-eunit-tests\u0027\n"
    },
    {
      "commit": "a7206c71b5bcbaf2eddc89e97bb8d73711ff4564",
      "tree": "88fa892277c12df80ac4fb74f40b5ac88aef7259",
      "parents": [
        "74728c451909fc3c369cbf0406b5ec8dadbd3c47"
      ],
      "author": {
        "name": "Paul J. Davis",
        "email": "paul.joseph.davis@gmail.com",
        "time": "Tue May 16 15:07:46 2017 -0500"
      },
      "committer": {
        "name": "Paul J. Davis",
        "email": "paul.joseph.davis@gmail.com",
        "time": "Tue May 16 15:07:46 2017 -0500"
      },
      "message": "Make sure to stop the correct applications\n\nWe need to make sure and stop all applications that we started.\n"
    },
    {
      "commit": "74728c451909fc3c369cbf0406b5ec8dadbd3c47",
      "tree": "f08ad496af725c003d70b09110f225a292fc2d78",
      "parents": [
        "f62d553b337ce975edb0fb68772d22bdd3bf6490"
      ],
      "author": {
        "name": "Paul J. Davis",
        "email": "paul.joseph.davis@gmail.com",
        "time": "Tue May 16 15:06:37 2017 -0500"
      },
      "committer": {
        "name": "Paul J. Davis",
        "email": "paul.joseph.davis@gmail.com",
        "time": "Tue May 16 15:06:37 2017 -0500"
      },
      "message": "Let test_util figure out our deps\n\nDependencies are already listed in config.app.src so we should just let\nthe test_util figure out what else needs starting.\n"
    },
    {
      "commit": "f62d553b337ce975edb0fb68772d22bdd3bf6490",
      "tree": "e273e8bcd6aae7676f2d83993cafd9f3ac739510",
      "parents": [
        "a83b75ef4d3dc80071ae8ae412fb0c724726d12c"
      ],
      "author": {
        "name": "Nick Vatamaniuc",
        "email": "vatamane@apache.org",
        "time": "Tue Nov 08 21:46:13 2016 -0500"
      },
      "committer": {
        "name": "Nick Vatamaniuc",
        "email": "vatamane@apache.org",
        "time": "Tue Nov 08 21:46:20 2016 -0500"
      },
      "message": "Features API and implementation.\n\nImplement ability to enable, disable and query feature flags.\n\nFeatures are identified as atoms. Usage intent is for various components in the\nsystem to enable features, then the HTTP API will expose those to the user.\nFor example, features could indicate the presence of an optional component, a\nplugin or a new mode of operation.\n\nThe API has 3 functions:\n\n * `config:features/0` : Return a sorted list of feature flags\n\n * `config:enable_feature/1` : Enables a feature. Feature argument could be a\n   list, a binary or an atom.\n\n * `config:disable_feature/1` : Disables a feature.\n\nImplementation is a thin wrapper around setting and deleting keys from the\n\u0027[features]\u0027 config section. This means, users can also set their own features\nthere via the .ini config files. Features set via the API are not persistent,\nso applications will have to set them every time they initialize.\n\nCOUCHDB-3180\n"
    },
    {
      "commit": "a83b75ef4d3dc80071ae8ae412fb0c724726d12c",
      "tree": "49ded43c016a8c5162807c32924d55ca646e85c7",
      "parents": [
        "b615eedb5a3c24ac987b1f8812e03876bc60e258",
        "58aee6517b6b7af0e88616a7820690d418b32d66"
      ],
      "author": {
        "name": "ILYA Khlopotov",
        "email": "iilyak@ca.ibm.com",
        "time": "Wed Aug 24 12:21:47 2016 -0700"
      },
      "committer": {
        "name": "ILYA Khlopotov",
        "email": "iilyak@ca.ibm.com",
        "time": "Wed Aug 24 12:21:47 2016 -0700"
      },
      "message": "Merge remote branch \u0027cloudant:fix-return-value\u0027\n\nThis closes #13\n\nSigned-off-by: ILYA Khlopotov \u003ciilyak@ca.ibm.com\u003e\n"
    },
    {
      "commit": "58aee6517b6b7af0e88616a7820690d418b32d66",
      "tree": "49ded43c016a8c5162807c32924d55ca646e85c7",
      "parents": [
        "b615eedb5a3c24ac987b1f8812e03876bc60e258"
      ],
      "author": {
        "name": "ILYA Khlopotov",
        "email": "iilyak@ca.ibm.com",
        "time": "Wed Aug 24 12:01:43 2016 -0700"
      },
      "committer": {
        "name": "ILYA Khlopotov",
        "email": "iilyak@ca.ibm.com",
        "time": "Wed Aug 24 12:21:01 2016 -0700"
      },
      "message": "handle_event expected to return {ok, State}\n\nFix return value of handle_event callback.\n\nCOUCHDB-3102\n"
    },
    {
      "commit": "b615eedb5a3c24ac987b1f8812e03876bc60e258",
      "tree": "9d41127bb8a9dbcab4dcd8dafdb13de506531123",
      "parents": [
        "47e5f7016fd5801ecb647446b1e1a18d42acb0ed",
        "144da209b5704539dec757a2c2070bb4b6525745"
      ],
      "author": {
        "name": "ILYA Khlopotov",
        "email": "iilyak@ca.ibm.com",
        "time": "Wed Aug 24 09:41:27 2016 -0700"
      },
      "committer": {
        "name": "ILYA Khlopotov",
        "email": "iilyak@ca.ibm.com",
        "time": "Wed Aug 24 09:41:27 2016 -0700"
      },
      "message": "Merge remote branch \u0027cloudant:3102-fixup-for-config_subscription\u0027\n\nThis closes #12\n\nSigned-off-by: ILYA Khlopotov \u003ciilyak@ca.ibm.com\u003e\n"
    },
    {
      "commit": "144da209b5704539dec757a2c2070bb4b6525745",
      "tree": "9d41127bb8a9dbcab4dcd8dafdb13de506531123",
      "parents": [
        "47e5f7016fd5801ecb647446b1e1a18d42acb0ed"
      ],
      "author": {
        "name": "ILYA Khlopotov",
        "email": "iilyak@ca.ibm.com",
        "time": "Tue Aug 23 16:01:48 2016 -0700"
      },
      "committer": {
        "name": "ILYA Khlopotov",
        "email": "iilyak@ca.ibm.com",
        "time": "Tue Aug 23 16:03:11 2016 -0700"
      },
      "message": "Add config_listener_mon:start_link/2\n\nThis a fixup commit for f09a2eb7d\n\nCOUCHDB-3102\n"
    },
    {
      "commit": "47e5f7016fd5801ecb647446b1e1a18d42acb0ed",
      "tree": "e722c4a30b61b924ca8b1be789320bca12aed67f",
      "parents": [
        "12dcbf571516970f7cfa586bda9a1f1cad82d5bb",
        "f56890f3ac808c4b362647fe891ff1c2e2b71686"
      ],
      "author": {
        "name": "ILYA Khlopotov",
        "email": "iilyak@ca.ibm.com",
        "time": "Tue Aug 23 15:03:32 2016 -0700"
      },
      "committer": {
        "name": "ILYA Khlopotov",
        "email": "iilyak@ca.ibm.com",
        "time": "Tue Aug 23 15:03:32 2016 -0700"
      },
      "message": "Merge remote branch \u0027cloudant:3102-restart-monitor\u0027\n\nThis closes #11\n\nSigned-off-by: ILYA Khlopotov \u003ciilyak@ca.ibm.com\u003e\n"
    },
    {
      "commit": "f56890f3ac808c4b362647fe891ff1c2e2b71686",
      "tree": "e722c4a30b61b924ca8b1be789320bca12aed67f",
      "parents": [
        "f09a2eb7db7b4e509d236f1e75c0d9c6e761d80b"
      ],
      "author": {
        "name": "ILYA Khlopotov",
        "email": "iilyak@ca.ibm.com",
        "time": "Fri Aug 19 15:44:55 2016 -0700"
      },
      "committer": {
        "name": "ILYA Khlopotov",
        "email": "iilyak@ca.ibm.com",
        "time": "Fri Aug 19 15:44:55 2016 -0700"
      },
      "message": "Make sure we don\u0027t subscribe multiple times\n\nCheck there is no subscription from given Pid in subscribe_for_changes\n\nCOUCHDB-3102\n"
    },
    {
      "commit": "f09a2eb7db7b4e509d236f1e75c0d9c6e761d80b",
      "tree": "1f1bba4f93c1f2fb1966b462f8ec9677415f96e1",
      "parents": [
        "01c34c09aadb57b2a4cf375b145ef084a35314c0"
      ],
      "author": {
        "name": "ILYA Khlopotov",
        "email": "iilyak@ca.ibm.com",
        "time": "Fri Aug 19 12:33:17 2016 -0700"
      },
      "committer": {
        "name": "ILYA Khlopotov",
        "email": "iilyak@ca.ibm.com",
        "time": "Fri Aug 19 12:56:35 2016 -0700"
      },
      "message": "Return `{ok, Pid}` from config_listener_mon:subscribe/2\n"
    },
    {
      "commit": "01c34c09aadb57b2a4cf375b145ef084a35314c0",
      "tree": "0011efb5d1d1c2c1b8e6051b67a75911c9052cfd",
      "parents": [
        "686d76b8253dc11a294939ec0dd681bc3e437f82"
      ],
      "author": {
        "name": "ILYA Khlopotov",
        "email": "iilyak@ca.ibm.com",
        "time": "Thu Aug 18 12:58:04 2016 -0700"
      },
      "committer": {
        "name": "ILYA Khlopotov",
        "email": "iilyak@ca.ibm.com",
        "time": "Fri Aug 19 12:56:35 2016 -0700"
      },
      "message": "Add config:subscribe_for_changes/1\n\nAdd a new gen event handler which sends plain events to the Subscriber.\n\nCOUCHDB-3102\n"
    },
    {
      "commit": "686d76b8253dc11a294939ec0dd681bc3e437f82",
      "tree": "132c2a943b8b23ef2adffcdf33c4d8ec276e8794",
      "parents": [
        "bf7b3e1690e17dc5ee7d8e70067cd6843e52157c"
      ],
      "author": {
        "name": "ILYA Khlopotov",
        "email": "iilyak@ca.ibm.com",
        "time": "Tue Aug 16 15:56:34 2016 -0700"
      },
      "committer": {
        "name": "ILYA Khlopotov",
        "email": "iilyak@ca.ibm.com",
        "time": "Thu Aug 18 13:08:21 2016 -0700"
      },
      "message": "Fix compilation warning\n"
    },
    {
      "commit": "bf7b3e1690e17dc5ee7d8e70067cd6843e52157c",
      "tree": "8ef18d80cdb980922307d9668b4b96404b9611dc",
      "parents": [
        "12dcbf571516970f7cfa586bda9a1f1cad82d5bb"
      ],
      "author": {
        "name": "ILYA Khlopotov",
        "email": "iilyak@ca.ibm.com",
        "time": "Mon Aug 15 16:55:09 2016 -0700"
      },
      "committer": {
        "name": "ILYA Khlopotov",
        "email": "iilyak@ca.ibm.com",
        "time": "Thu Aug 18 13:08:21 2016 -0700"
      },
      "message": "Consider only needed handlers in n_handlers\n\nWhen testing. Make sure we don\u0027t count other config_event handlers\npresent in the system.\n"
    },
    {
      "commit": "12dcbf571516970f7cfa586bda9a1f1cad82d5bb",
      "tree": "784a436a5196cd04e50cb2d6f47a87e6b192bc78",
      "parents": [
        "693abb635bd6e75b7a122cc6313b6e561c96e01a",
        "b1b56054752287c806d9cf5927d1a5f02e09c420"
      ],
      "author": {
        "name": "Paul J. Davis",
        "email": "paul.joseph.davis@gmail.com",
        "time": "Wed Aug 10 15:06:11 2016 -0500"
      },
      "committer": {
        "name": "Paul J. Davis",
        "email": "paul.joseph.davis@gmail.com",
        "time": "Wed Aug 10 15:06:11 2016 -0500"
      },
      "message": "Merge branch \u00273096-fix-config-listener-accumulation\u0027\n"
    },
    {
      "commit": "b1b56054752287c806d9cf5927d1a5f02e09c420",
      "tree": "784a436a5196cd04e50cb2d6f47a87e6b192bc78",
      "parents": [
        "ab5518188a50420142b1903f3c1c3c27554c0587"
      ],
      "author": {
        "name": "Paul J. Davis",
        "email": "paul.joseph.davis@gmail.com",
        "time": "Fri Aug 05 14:41:58 2016 -0500"
      },
      "committer": {
        "name": "Paul J. Davis",
        "email": "paul.joseph.davis@gmail.com",
        "time": "Wed Aug 10 14:10:58 2016 -0500"
      },
      "message": "Fix config listener event handler registration\n\nWe rely on `gen_event:add_sup_handler/3` to remove handlers when the\nprocess that registered for events exits. On master this was changed so\nthat config becomes the process that\u0027s monitored by gen_event. As such\nany handler that is registered (say, for when an index is opened) adds a\nhandler to the config_event gen_event process. Since the config process\nnever exits these handlers are never removed.\n\nThe end result of all of this is that on a busy cluster the config_event\nprocess will end up with millions of handlers consuming many gigabytes\nof RAM.\n\nThis change creates a monitor process for every event handler. This\nmonitors the process wanting to listen for config changes and exits when\nthe requesting process exits. This means that we maintain our pure\ncallback API improvement while correctly removing handlers.\n\nCOUCHDB-3096\n"
    },
    {
      "commit": "ab5518188a50420142b1903f3c1c3c27554c0587",
      "tree": "3058fee0bbae30d89eb71536e247ed0658be2c18",
      "parents": [
        "693abb635bd6e75b7a122cc6313b6e561c96e01a"
      ],
      "author": {
        "name": "Paul J. Davis",
        "email": "paul.joseph.davis@gmail.com",
        "time": "Fri Aug 05 14:49:17 2016 -0500"
      },
      "committer": {
        "name": "Paul J. Davis",
        "email": "paul.joseph.davis@gmail.com",
        "time": "Mon Aug 08 19:20:02 2016 -0500"
      },
      "message": "Clean up config_tests\n\nThis cleans up the config_tests both stylistically as well as removes\nsome race conditions around message passing from the config handler.\n\nThis also reformats and changes a lot of the tests so that we\u0027re using\nconsistent patterns through out the file. Unfortunately foreach and\nforeachx are terrible constructs and require using the `?_test/1` macro\nwhich is a bit annoying but ended up being the least worst approach I\ncould find.\n\nCOUCHDB-3096\n"
    },
    {
      "commit": "693abb635bd6e75b7a122cc6313b6e561c96e01a",
      "tree": "62c075429d052beed6f6b4cb7e868b8fb9705df6",
      "parents": [
        "60977f81dc06af4a3d1e89891b3061ed4cd01e95"
      ],
      "author": {
        "name": "Robert Newson",
        "email": "rnewson@apache.org",
        "time": "Fri Aug 05 14:25:05 2016 +0100"
      },
      "committer": {
        "name": "Robert Newson",
        "email": "rnewson@apache.org",
        "time": "Fri Aug 05 15:54:11 2016 +0100"
      },
      "message": "Consult default.d/local.d for ini files\n\nCOUCHDB-3089\n"
    },
    {
      "commit": "60977f81dc06af4a3d1e89891b3061ed4cd01e95",
      "tree": "067b5a49eac139ee6556be8e1fe7d37320177e48",
      "parents": [
        "a2d5ad2eedc960248b806f61df0a1009462bdb46",
        "4f7d91bf439f9bfbe985e69473ff1854b7e465a1"
      ],
      "author": {
        "name": "Russell Branca",
        "email": "chewbranca@apache.org",
        "time": "Thu Apr 28 23:29:33 2016 +0000"
      },
      "committer": {
        "name": "Russell Branca",
        "email": "chewbranca@apache.org",
        "time": "Thu Apr 28 23:29:33 2016 +0000"
      },
      "message": "Merge branch \u0027enable-read-concurrency\u0027\n"
    },
    {
      "commit": "4f7d91bf439f9bfbe985e69473ff1854b7e465a1",
      "tree": "067b5a49eac139ee6556be8e1fe7d37320177e48",
      "parents": [
        "a2d5ad2eedc960248b806f61df0a1009462bdb46"
      ],
      "author": {
        "name": "Russell Branca",
        "email": "chewbranca@apache.org",
        "time": "Thu Apr 28 23:22:19 2016 +0000"
      },
      "committer": {
        "name": "Russell Branca",
        "email": "chewbranca@apache.org",
        "time": "Thu Apr 28 23:22:19 2016 +0000"
      },
      "message": "Enable read_concurrency for config ets table\n"
    },
    {
      "commit": "a2d5ad2eedc960248b806f61df0a1009462bdb46",
      "tree": "61574dc5fb9c52eddd1d24023e390bbf0f07be8c",
      "parents": [
        "84197a6f1c5cb43447239df1fe57b4312b0c03c4",
        "b208836f059761ee24dea888a93efa1530d89b9c"
      ],
      "author": {
        "name": "Alexander Shorin",
        "email": "kxepal@apache.org",
        "time": "Wed Jan 27 14:29:23 2016 +0300"
      },
      "committer": {
        "name": "Alexander Shorin",
        "email": "kxepal@apache.org",
        "time": "Wed Jan 27 14:29:23 2016 +0300"
      },
      "message": "Merge remote-tracking branch \u0027github/pr/7\u0027\n"
    },
    {
      "commit": "b208836f059761ee24dea888a93efa1530d89b9c",
      "tree": "61574dc5fb9c52eddd1d24023e390bbf0f07be8c",
      "parents": [
        "71f4e3cd2af8745eae61bbb71d538017df816fdf"
      ],
      "author": {
        "name": "Jay Doane",
        "email": "jay.s.doane@gmail.com",
        "time": "Thu Jan 21 21:40:14 2016 -0800"
      },
      "committer": {
        "name": "Jay Doane",
        "email": "jay.s.doane@gmail.com",
        "time": "Thu Jan 21 21:40:14 2016 -0800"
      },
      "message": "Don\u0027t set real log levels in tests\n\nSetting the actual \"log\" \"level\" in tests triggers extraneous logging,\nwhich is undesirable to have interleaved into test output.\n"
    },
    {
      "commit": "71f4e3cd2af8745eae61bbb71d538017df816fdf",
      "tree": "dae5df5ffb849e621e7589d7adb9e3353cc11c71",
      "parents": [
        "84197a6f1c5cb43447239df1fe57b4312b0c03c4"
      ],
      "author": {
        "name": "Jay Doane",
        "email": "jay.s.doane@gmail.com",
        "time": "Wed Jan 20 20:48:24 2016 -0800"
      },
      "committer": {
        "name": "Jay Doane",
        "email": "jay.s.doane@gmail.com",
        "time": "Wed Jan 20 20:48:24 2016 -0800"
      },
      "message": "Remove unnecessary application dependencies\n\nThis removes all but the minimum applications necessary to pass the tests.\n\nPreviously, references to some extra applications such as lager would cause\ntest failures in downstream builds which omitted those applications.\n\nCOUCHDB-2866\n"
    },
    {
      "commit": "84197a6f1c5cb43447239df1fe57b4312b0c03c4",
      "tree": "3b50120fbae36473ab5691c91b60e7c7af978b8f",
      "parents": [
        "c0420118e0ab68ef928bfaf7fd4f304e186e07ec"
      ],
      "author": {
        "name": "Alexander Shorin",
        "email": "kxepal@apache.org",
        "time": "Tue Dec 01 17:22:21 2015 +0300"
      },
      "committer": {
        "name": "Alexander Shorin",
        "email": "kxepal@apache.org",
        "time": "Tue Dec 01 17:24:48 2015 +0300"
      },
      "message": "Update handlers counter in tests\n\nSomehow, but here we depend on existed and registered config\nchanges listeners. This change respects recent couch_log update\nwhich subscribes to config changes and eventually bumps this counter.\n"
    },
    {
      "commit": "c0420118e0ab68ef928bfaf7fd4f304e186e07ec",
      "tree": "71fb4dd45a6bf0fe0c51f6efeb2225b0a69737f8",
      "parents": [
        "e284f570df1bc2f519d4131b89b983f059c4287e"
      ],
      "author": {
        "name": "Klaus Trainer",
        "email": "klaus_trainer@posteo.de",
        "time": "Fri Nov 20 16:44:40 2015 +0100"
      },
      "committer": {
        "name": "Klaus Trainer",
        "email": "klaus_trainer@posteo.de",
        "time": "Fri Nov 20 16:46:27 2015 +0100"
      },
      "message": "Fix typo in tests: s/beahiour/behaviour/\n"
    },
    {
      "commit": "e284f570df1bc2f519d4131b89b983f059c4287e",
      "tree": "a47b59b8d857c195a77b53858b5a31d478ff03b4",
      "parents": [
        "b2ecd0d47a776256956ce045123423494ff85e8e"
      ],
      "author": {
        "name": "Alexander Shorin",
        "email": "kxepal@apache.org",
        "time": "Mon Nov 02 09:23:02 2015 +0300"
      },
      "committer": {
        "name": "Alexander Shorin",
        "email": "kxepal@apache.org",
        "time": "Mon Nov 02 09:31:37 2015 +0300"
      },
      "message": "Update Travis config\n\n- Clone faster\n- Remove unsupported R14B04\n- Use containers\n- Use new better way to run specific app tests\n"
    },
    {
      "commit": "b2ecd0d47a776256956ce045123423494ff85e8e",
      "tree": "b2ebb04876601409d7c27c5048a7ec23ba171c80",
      "parents": [
        "6df0b68971356291f49d4be3f133097b77f603da"
      ],
      "author": {
        "name": "ILYA Khlopotov",
        "email": "iilyak@ca.ibm.com",
        "time": "Wed Sep 09 08:21:37 2015 -0700"
      },
      "committer": {
        "name": "ILYA Khlopotov",
        "email": "iilyak@ca.ibm.com",
        "time": "Wed Sep 09 08:21:37 2015 -0700"
      },
      "message": "Add tests for to_integer and to_float\n"
    },
    {
      "commit": "6df0b68971356291f49d4be3f133097b77f603da",
      "tree": "817a6e3234e1cb7c1ff71cd785619a819f76c33f",
      "parents": [
        "4f4be7136e98b3db1489bbf39bafcae02d41692c"
      ],
      "author": {
        "name": "ILYA Khlopotov",
        "email": "iilyak@ca.ibm.com",
        "time": "Wed Sep 09 08:21:09 2015 -0700"
      },
      "committer": {
        "name": "ILYA Khlopotov",
        "email": "iilyak@ca.ibm.com",
        "time": "Wed Sep 09 08:21:09 2015 -0700"
      },
      "message": "Fix to_float(Int)\n"
    },
    {
      "commit": "4f4be7136e98b3db1489bbf39bafcae02d41692c",
      "tree": "6fe8a95ed84dd7607829702a900dd5518ac246e1",
      "parents": [
        "b92ba5a19e038f9cab0bd0690e6708fc3daf5c62"
      ],
      "author": {
        "name": "ILYA Khlopotov",
        "email": "iilyak@ca.ibm.com",
        "time": "Wed Sep 09 07:32:26 2015 -0700"
      },
      "committer": {
        "name": "ILYA Khlopotov",
        "email": "iilyak@ca.ibm.com",
        "time": "Wed Sep 09 07:32:26 2015 -0700"
      },
      "message": "Fix to_integer and to_float\n"
    },
    {
      "commit": "b92ba5a19e038f9cab0bd0690e6708fc3daf5c62",
      "tree": "d87e50a968914cf1efe347969115b492f1a6bc83",
      "parents": [
        "f26bcedd3287d9301575c29c6531220cbc86f3dd"
      ],
      "author": {
        "name": "Alexander Shorin",
        "email": "kxepal@apache.org",
        "time": "Sun Aug 23 13:07:45 2015 +0300"
      },
      "committer": {
        "name": "Alexander Shorin",
        "email": "kxepal@apache.org",
        "time": "Sun Aug 23 13:13:40 2015 +0300"
      },
      "message": "Integrate with Travis CI\n"
    },
    {
      "commit": "f26bcedd3287d9301575c29c6531220cbc86f3dd",
      "tree": "e77f077ba6bbd700e1f8dad9543f9e0f52903094",
      "parents": [
        "d4a17837092467ca83eef1bb5d9327d6d69b0b55"
      ],
      "author": {
        "name": "Alexander Shorin",
        "email": "kxepal@apache.org",
        "time": "Sun Aug 23 13:06:29 2015 +0300"
      },
      "committer": {
        "name": "Alexander Shorin",
        "email": "kxepal@apache.org",
        "time": "Sun Aug 23 13:06:29 2015 +0300"
      },
      "message": "Add LICENSE file\n"
    },
    {
      "commit": "d4a17837092467ca83eef1bb5d9327d6d69b0b55",
      "tree": "f8913a93795f989836a6d285c8eb16b04bc4ae8f",
      "parents": [
        "b2818252eeb5de4a010a3797851b83e051e6c817"
      ],
      "author": {
        "name": "Robert Newson",
        "email": "rnewson@apache.org",
        "time": "Tue Jun 09 20:30:41 2015 +0100"
      },
      "committer": {
        "name": "Robert Newson",
        "email": "rnewson@apache.org",
        "time": "Tue Jun 09 20:30:41 2015 +0100"
      },
      "message": "allow atoms too (chttpd, bind_address)\n"
    },
    {
      "commit": "b2818252eeb5de4a010a3797851b83e051e6c817",
      "tree": "be549652b4b31f2f91b7486d8958ec1f422fb478",
      "parents": [
        "8e8ac700639433e61fc9af720977e7db53d51c61",
        "135af48ed7cdcdf483b4f7e984e8f7ff278fff03"
      ],
      "author": {
        "name": "Alexander Shorin",
        "email": "kxepal@apache.org",
        "time": "Wed Feb 04 18:43:14 2015 +0300"
      },
      "committer": {
        "name": "Alexander Shorin",
        "email": "kxepal@apache.org",
        "time": "Wed Feb 04 18:43:14 2015 +0300"
      },
      "message": "Merge remote-tracking branch \u0027iilyak/2561-make-config-API-consistent\u0027\n\nThis closes #2\n\nCOUCHDB-2561\n"
    },
    {
      "commit": "135af48ed7cdcdf483b4f7e984e8f7ff278fff03",
      "tree": "be549652b4b31f2f91b7486d8958ec1f422fb478",
      "parents": [
        "e151ae430454121db74a051b61bd23f582bcc39b"
      ],
      "author": {
        "name": "ILYA Khlopotov",
        "email": "iilyak@ca.ibm.com",
        "time": "Thu Jan 29 13:01:21 2015 -0800"
      },
      "committer": {
        "name": "ILYA Khlopotov",
        "email": "iilyak@ca.ibm.com",
        "time": "Wed Feb 04 06:00:10 2015 -0800"
      },
      "message": "Enforce type verification for config:set/get\n\nCheck the type of given default value to make sure it is supported.\nRaise error(badarg) from set/get on type missmatch.\nAdd tests for the feature\n\nCOUCHDB-2561\n"
    },
    {
      "commit": "e151ae430454121db74a051b61bd23f582bcc39b",
      "tree": "141a378f4445162f6a42682ad2d4e5c55fa985d2",
      "parents": [
        "ee24f3ef1a40c1441852dea41061998ac30eb3de"
      ],
      "author": {
        "name": "ILYA Khlopotov",
        "email": "iilyak@ca.ibm.com",
        "time": "Thu Jan 29 12:55:27 2015 -0800"
      },
      "committer": {
        "name": "ILYA Khlopotov",
        "email": "iilyak@ca.ibm.com",
        "time": "Wed Feb 04 06:00:10 2015 -0800"
      },
      "message": "Callback driven API for config_listener behaviour\n\nThis implementaion replaces a mix of message driven and callback driven\nAPI for config_listener. In particular it replaces gen_event_EXIT\nmessage with a call to Module:handle_config_stop(Pid, Reason, State).\nThis fixes the problem of using config:listen_for_changes in supervisor\ncontext where there is no way to handle arbitrary messages.\n\nCOUCHDB-2561\n"
    },
    {
      "commit": "ee24f3ef1a40c1441852dea41061998ac30eb3de",
      "tree": "cdec0064d9793a29181d1b3fc17beab7c780ae1a",
      "parents": [
        "e19b7d5c02b70e14138c9fe1e21f2650100d0a21"
      ],
      "author": {
        "name": "ILYA Khlopotov",
        "email": "iilyak@ca.ibm.com",
        "time": "Thu Jan 29 12:53:11 2015 -0800"
      },
      "committer": {
        "name": "ILYA Khlopotov",
        "email": "iilyak@ca.ibm.com",
        "time": "Thu Jan 29 14:19:59 2015 -0800"
      },
      "message": "Change setup/teardown logic and enable some tests\n\nCOUCHDB-2561\n"
    },
    {
      "commit": "e19b7d5c02b70e14138c9fe1e21f2650100d0a21",
      "tree": "8078df103ebb2580445ad567ff8e6b44601d035c",
      "parents": [
        "8e8ac700639433e61fc9af720977e7db53d51c61"
      ],
      "author": {
        "name": "ILYA Khlopotov",
        "email": "iilyak@ca.ibm.com",
        "time": "Thu Jan 29 12:52:29 2015 -0800"
      },
      "committer": {
        "name": "ILYA Khlopotov",
        "email": "iilyak@ca.ibm.com",
        "time": "Thu Jan 29 12:52:29 2015 -0800"
      },
      "message": "Remove tests for dropped register functionality\n\nCOUCHDB-2561\n"
    },
    {
      "commit": "8e8ac700639433e61fc9af720977e7db53d51c61",
      "tree": "0c5a74029b2b6464c69569545985d9325fbc6443",
      "parents": [
        "40e1687e39516457042ddd790ba6c1fe5719e7f5"
      ],
      "author": {
        "name": "Robert Newson",
        "email": "rnewson@apache.org",
        "time": "Fri Oct 10 12:53:58 2014 +0100"
      },
      "committer": {
        "name": "Robert Newson",
        "email": "rnewson@apache.org",
        "time": "Fri Oct 10 14:05:20 2014 +0100"
      },
      "message": "start couch_stats last to ensure we load couch_log stats\n"
    },
    {
      "commit": "40e1687e39516457042ddd790ba6c1fe5719e7f5",
      "tree": "7f8a682d9b1d95718a83368442c1b89d5e6ec876",
      "parents": [
        "1eb910faeac5a83792e8da7e681e2135f5f454bf"
      ],
      "author": {
        "name": "Robert Newson",
        "email": "rnewson@apache.org",
        "time": "Fri Oct 10 12:53:58 2014 +0100"
      },
      "committer": {
        "name": "Robert Newson",
        "email": "rnewson@apache.org",
        "time": "Fri Oct 10 12:53:58 2014 +0100"
      },
      "message": "start couch_stats for test suite\n"
    },
    {
      "commit": "1eb910faeac5a83792e8da7e681e2135f5f454bf",
      "tree": "1f9df8c1e33e772878acd0e0dd5ada966a9e6c0c",
      "parents": [
        "7a8e21ef1ace916b3291ccd48d2a53d7261fe6c3"
      ],
      "author": {
        "name": "Russell Branca",
        "email": "chewbranca@apache.org",
        "time": "Fri Aug 29 13:31:46 2014 -0700"
      },
      "committer": {
        "name": "Russell Branca",
        "email": "chewbranca@apache.org",
        "time": "Fri Aug 29 13:31:46 2014 -0700"
      },
      "message": "Use couch_eunit include paths\n"
    },
    {
      "commit": "7a8e21ef1ace916b3291ccd48d2a53d7261fe6c3",
      "tree": "0f309ff361f306ff225cab2d9315a532a47804ea",
      "parents": [
        "0d235acd243d3f723512f96cd54344289af4f674"
      ],
      "author": {
        "name": "Russell Branca",
        "email": "chewbranca@apache.org",
        "time": "Thu Aug 28 15:35:06 2014 -0700"
      },
      "committer": {
        "name": "Russell Branca",
        "email": "chewbranca@apache.org",
        "time": "Thu Aug 28 15:35:06 2014 -0700"
      },
      "message": "Disable problematic tests\n"
    },
    {
      "commit": "0d235acd243d3f723512f96cd54344289af4f674",
      "tree": "5030bd37eaa172d2ef4c56545649a168730433b5",
      "parents": [
        "405f6775d7e6a6945416c8dccaa5b8b937091a7a"
      ],
      "author": {
        "name": "Russell Branca",
        "email": "chewbranca@apache.org",
        "time": "Thu Aug 28 15:34:58 2014 -0700"
      },
      "committer": {
        "name": "Russell Branca",
        "email": "chewbranca@apache.org",
        "time": "Thu Aug 28 15:34:58 2014 -0700"
      },
      "message": "The couch_httpd port is now 5986\n"
    },
    {
      "commit": "405f6775d7e6a6945416c8dccaa5b8b937091a7a",
      "tree": "456681b18d0499c934602d126038fc598c4b182a",
      "parents": [
        "00955e8c119f50b3813ab1270a4326b8127b3834"
      ],
      "author": {
        "name": "Russell Branca",
        "email": "chewbranca@apache.org",
        "time": "Thu Aug 28 15:34:32 2014 -0700"
      },
      "committer": {
        "name": "Russell Branca",
        "email": "chewbranca@apache.org",
        "time": "Thu Aug 28 15:34:32 2014 -0700"
      },
      "message": "Be explicit about starting and stopping deps\n"
    },
    {
      "commit": "00955e8c119f50b3813ab1270a4326b8127b3834",
      "tree": "63fb662c98c87d8a1ab875f6382e7f48a19df4b8",
      "parents": [
        "96d1129c31ae4078ee6f9464664c9d17dac48e2f"
      ],
      "author": {
        "name": "Russell Branca",
        "email": "chewbranca@apache.org",
        "time": "Thu Aug 28 14:24:24 2014 -0700"
      },
      "committer": {
        "name": "Russell Branca",
        "email": "chewbranca@apache.org",
        "time": "Thu Aug 28 14:25:46 2014 -0700"
      },
      "message": "Switch to using config instead of couch_config\n"
    },
    {
      "commit": "96d1129c31ae4078ee6f9464664c9d17dac48e2f",
      "tree": "28366ce1698016b593dc86595470826414e78c11",
      "parents": [
        "07a5cb15142b661354c9568d67a65063cdcd6c4a"
      ],
      "author": {
        "name": "Russell Branca",
        "email": "chewbranca@apache.org",
        "time": "Thu Aug 28 14:07:21 2014 -0700"
      },
      "committer": {
        "name": "Russell Branca",
        "email": "chewbranca@apache.org",
        "time": "Thu Aug 28 14:07:21 2014 -0700"
      },
      "message": "Use updated couch_eunit.hrl path macros\n"
    },
    {
      "commit": "07a5cb15142b661354c9568d67a65063cdcd6c4a",
      "tree": "fefd07246c00fb99915b597b2a2e856b72aa0f4e",
      "parents": [
        "119bfeb5184903c649afdf1ee5c197d5479e4c32"
      ],
      "author": {
        "name": "Russell Branca",
        "email": "chewbranca@apache.org",
        "time": "Thu Aug 28 14:02:04 2014 -0700"
      },
      "committer": {
        "name": "Russell Branca",
        "email": "chewbranca@apache.org",
        "time": "Thu Aug 28 14:02:04 2014 -0700"
      },
      "message": "Update include paths\n"
    },
    {
      "commit": "119bfeb5184903c649afdf1ee5c197d5479e4c32",
      "tree": "5276b165f0d1b6ebf8d5c30483e9532fb74e1607",
      "parents": [
        "928b23ff1d991e77989ab3941d03c6073c03f8d6"
      ],
      "author": {
        "name": "Russell Branca",
        "email": "chewbranca@apache.org",
        "time": "Thu Aug 28 14:00:27 2014 -0700"
      },
      "committer": {
        "name": "Russell Branca",
        "email": "chewbranca@apache.org",
        "time": "Thu Aug 28 14:00:27 2014 -0700"
      },
      "message": "Move files out of test/couchdb into top level test/ folder\n"
    },
    {
      "commit": "928b23ff1d991e77989ab3941d03c6073c03f8d6",
      "tree": "baf97b33fced9e2515b335483d14101076da97e8",
      "parents": [
        "25f0897818a201d3ed048d8417103be829627228"
      ],
      "author": {
        "name": "Alexander Shorin",
        "email": "kxepal@apache.org",
        "time": "Mon May 26 09:46:06 2014 +0400"
      },
      "committer": {
        "name": "Russell Branca",
        "email": "chewbranca@apache.org",
        "time": "Thu Aug 28 13:57:39 2014 -0700"
      },
      "message": "Port 083-config-no-files.t etap test suite to eunit\n\nMerged into couch_config_tests suite.\n"
    },
    {
      "commit": "25f0897818a201d3ed048d8417103be829627228",
      "tree": "683c9ac8ff0885401dbb29055329512a0cd8bf4c",
      "parents": [
        "6c115d702ee951663b83f7b228e17ecc75ca0445"
      ],
      "author": {
        "name": "Alexander Shorin",
        "email": "kxepal@apache.org",
        "time": "Mon May 26 09:26:22 2014 +0400"
      },
      "committer": {
        "name": "Russell Branca",
        "email": "chewbranca@apache.org",
        "time": "Thu Aug 28 13:57:09 2014 -0700"
      },
      "message": "Port 082-config-register.t etap test suite to eunit\n\nMerged into couch_config_tests suite.\n"
    },
    {
      "commit": "6c115d702ee951663b83f7b228e17ecc75ca0445",
      "tree": "8ffd1035e8c8f47b3872fd1c82e3e5feb5e05726",
      "parents": [
        "5848f79c0841521504c41cace10b8b51a774a56b"
      ],
      "author": {
        "name": "Alexander Shorin",
        "email": "kxepal@apache.org",
        "time": "Sun May 25 22:02:19 2014 +0400"
      },
      "committer": {
        "name": "Russell Branca",
        "email": "chewbranca@apache.org",
        "time": "Thu Aug 28 13:55:22 2014 -0700"
      },
      "message": "Port 081-config-override.t etap test suite to eunit\n\nMerged into couch_config_tests suite.\nSetup fixtures.\n"
    },
    {
      "commit": "5848f79c0841521504c41cace10b8b51a774a56b",
      "tree": "52b6327f7c19d959fde86bf23a0c1fffef156772",
      "parents": [
        "31d14bc39b1b152a4193ea67c52360db09151b10"
      ],
      "author": {
        "name": "Alexander Shorin",
        "email": "kxepal@apache.org",
        "time": "Fri May 23 09:29:22 2014 +0400"
      },
      "committer": {
        "name": "Russell Branca",
        "email": "chewbranca@apache.org",
        "time": "Thu Aug 28 13:54:16 2014 -0700"
      },
      "message": "Port 080-config-get-set.t etap test suite to eunit\n"
    },
    {
      "commit": "31d14bc39b1b152a4193ea67c52360db09151b10",
      "tree": "2bd0c4e7cc16073b0c1aa19bebd1901df455c423",
      "parents": [
        "99b67284dbb90a2f980060e734c10528314e813d",
        "fc547a0e9b8e751886e9b2f43988c2e2bce50120"
      ],
      "author": {
        "name": "Robert Newson",
        "email": "rnewson@apache.org",
        "time": "Tue Apr 22 11:05:19 2014 +0100"
      },
      "committer": {
        "name": "Robert Newson",
        "email": "rnewson@apache.org",
        "time": "Tue Apr 22 11:05:19 2014 +0100"
      },
      "message": "Merge remote-tracking branch \u0027upstream/master\u0027 into 1843-feature-bigcouch\n\nConflicts:\n\tsrc/config.erl\n"
    },
    {
      "commit": "99b67284dbb90a2f980060e734c10528314e813d",
      "tree": "468e7f7e7fc65f3891148ad8ee3d688fb64ace5e",
      "parents": [
        "e42fb55774706904a17446197c66c69ba046cb14"
      ],
      "author": {
        "name": "Robert Newson",
        "email": "rnewson@apache.org",
        "time": "Wed Feb 12 23:23:55 2014 +0000"
      },
      "committer": {
        "name": "Robert Newson",
        "email": "rnewson@apache.org",
        "time": "Wed Feb 12 23:23:55 2014 +0000"
      },
      "message": "Change API to function per level\n"
    },
    {
      "commit": "e42fb55774706904a17446197c66c69ba046cb14",
      "tree": "61eafb18f4c51b6a71cc4e5b866a11d73be33375",
      "parents": [
        "9cf481e8ac29991ec5ecc87f20b224c033ab6ecf"
      ],
      "author": {
        "name": "Robert Newson",
        "email": "robert.newson@cloudant.com",
        "time": "Wed Feb 12 20:12:11 2014 +0000"
      },
      "committer": {
        "name": "Robert Newson",
        "email": "robert.newson@cloudant.com",
        "time": "Wed Feb 12 20:12:11 2014 +0000"
      },
      "message": "Switch to couch_log\n"
    },
    {
      "commit": "9cf481e8ac29991ec5ecc87f20b224c033ab6ecf",
      "tree": "06df5cdace1e5f40fe860fb6e37cd02f8954842a",
      "parents": [
        "d08f710650159e4b7401102abf7d350575f0b492"
      ],
      "author": {
        "name": "Paul J. Davis",
        "email": "paul.joseph.davis@gmail.com",
        "time": "Fri Jan 17 13:25:36 2014 -0800"
      },
      "committer": {
        "name": "Paul J. Davis",
        "email": "paul.joseph.davis@gmail.com",
        "time": "Fri Jan 17 13:25:36 2014 -0800"
      },
      "message": "Let rebar build the module list\n"
    },
    {
      "commit": "d08f710650159e4b7401102abf7d350575f0b492",
      "tree": "830f7d88c6d02221673b70c108604c5257d1405a",
      "parents": [
        "64d29424dcc6fef8227a1bab62fd9b33ed512472"
      ],
      "author": {
        "name": "Robert Newson",
        "email": "rnewson@apache.org",
        "time": "Wed Dec 18 14:04:59 2013 +0000"
      },
      "committer": {
        "name": "Paul J. Davis",
        "email": "paul.joseph.davis@gmail.com",
        "time": "Fri Jan 17 13:25:18 2014 -0800"
      },
      "message": "Build with rebar\n"
    },
    {
      "commit": "64d29424dcc6fef8227a1bab62fd9b33ed512472",
      "tree": "28fdce800325e00b2694163acc3e28e024f20ac4",
      "parents": [
        "4b7e03a63bac7ce81033eab487a976ca049265a1"
      ],
      "author": {
        "name": "Robert Newson",
        "email": "rnewson@apache.org",
        "time": "Thu Jun 13 13:42:11 2013 +0100"
      },
      "committer": {
        "name": "Paul J. Davis",
        "email": "paul.joseph.davis@gmail.com",
        "time": "Fri Jan 17 13:25:14 2014 -0800"
      },
      "message": "Fix up copyright headers\n"
    },
    {
      "commit": "4b7e03a63bac7ce81033eab487a976ca049265a1",
      "tree": "10dfb194cc2c96284c9a07f645c571336ba75bd8",
      "parents": [
        "e358fbbf2b287c3f4975e8b99c6f55c0dd33497e"
      ],
      "author": {
        "name": "Paul J. Davis",
        "email": "paul.joseph.davis@gmail.com",
        "time": "Tue Mar 12 15:23:07 2013 -0500"
      },
      "committer": {
        "name": "Paul J. Davis",
        "email": "paul.joseph.davis@gmail.com",
        "time": "Fri Jan 17 13:25:09 2014 -0800"
      },
      "message": "Fix core etap tests\n"
    },
    {
      "commit": "e358fbbf2b287c3f4975e8b99c6f55c0dd33497e",
      "tree": "a7fbe4e630e713b1c018a6af83fa9a0fea376da6",
      "parents": [
        "5c52779dc4e70d70b9faa5f5603f2fc0d26259f1"
      ],
      "author": {
        "name": "Paul J. Davis",
        "email": "paul.joseph.davis@gmail.com",
        "time": "Wed Mar 13 01:47:34 2013 -0500"
      },
      "committer": {
        "name": "Paul J. Davis",
        "email": "paul.joseph.davis@gmail.com",
        "time": "Fri Jan 17 13:25:04 2014 -0800"
      },
      "message": "Add a config:reload/0 and HTTP trigger\n\nTheoretically this should prevent all of those annoying test suite\nfailures when a test fails in with a temporary config set and fails to\nundo its changes.\n\nThis works by storing the list of INI files in the config server and on\ncommand will clear its ets table and re-read data from disk thus\nclearing its cache of non-persisted values. Obviously this isn\u0027t\nsomething that should be relied on in production settings.\n"
    },
    {
      "commit": "5c52779dc4e70d70b9faa5f5603f2fc0d26259f1",
      "tree": "a36054e85ffc0fcec2c9753eff7fe41a30ddee5a",
      "parents": [
        "a352def9ad650cfd80332e32f728cb6d108796d1"
      ],
      "author": {
        "name": "Paul J. Davis",
        "email": "paul.joseph.davis@gmail.com",
        "time": "Mon Mar 11 16:13:14 2013 -0500"
      },
      "committer": {
        "name": "Paul J. Davis",
        "email": "paul.joseph.davis@gmail.com",
        "time": "Fri Jan 17 13:24:59 2014 -0800"
      },
      "message": "Rewrite the boot procedure for the couch app\n\nWe had a lot of historical cruft lying around from before people knew\nhot OTP worked. This does some cleanup to make things a bit more tidy\nthrough this section but we still have a long ways to go.\n"
    },
    {
      "commit": "a352def9ad650cfd80332e32f728cb6d108796d1",
      "tree": "3b83629732482224f877b778ad3c5f121962be91",
      "parents": [
        "a6b04e5ea75b9f8f5dd76dda9d154f95a4bae74d"
      ],
      "author": {
        "name": "Robert Newson",
        "email": "robert.newson@cloudant.com",
        "time": "Wed Dec 05 15:35:46 2012 +0000"
      },
      "committer": {
        "name": "Paul J. Davis",
        "email": "paul.joseph.davis@gmail.com",
        "time": "Fri Jan 17 13:24:55 2014 -0800"
      },
      "message": "Allow literal dot in config section names\n\nBugzID: 15952\n"
    },
    {
      "commit": "a6b04e5ea75b9f8f5dd76dda9d154f95a4bae74d",
      "tree": "7da52d7171afd232dfa08638bd4030b78d80c54b",
      "parents": [
        "c8e032142d8c7d34fcfbcf1e38a65eb1de71cde7"
      ],
      "author": {
        "name": "Paul J. Davis",
        "email": "paul.joseph.davis@gmail.com",
        "time": "Tue Mar 05 16:35:12 2013 -0600"
      },
      "committer": {
        "name": "Paul J. Davis",
        "email": "paul.joseph.davis@gmail.com",
        "time": "Fri Jan 17 13:24:49 2014 -0800"
      },
      "message": "New build system for config\n"
    },
    {
      "commit": "c8e032142d8c7d34fcfbcf1e38a65eb1de71cde7",
      "tree": "4e8da38651a8b58faf4a6153436f6a587e1ae5ac",
      "parents": [
        "5b898571b4feb8e830c1c2df3533cc90c5ebffe1"
      ],
      "author": {
        "name": "Paul J. Davis",
        "email": "paul.joseph.davis@gmail.com",
        "time": "Wed Mar 20 05:04:53 2013 -0500"
      },
      "committer": {
        "name": "Paul J. Davis",
        "email": "paul.joseph.davis@gmail.com",
        "time": "Fri Jan 17 13:24:44 2014 -0800"
      },
      "message": "Remove Cloudant build system remnants\n"
    },
    {
      "commit": "fc547a0e9b8e751886e9b2f43988c2e2bce50120",
      "tree": "d3c1a456a82f0b997bfe2ff555c01e7091f23b04",
      "parents": [
        "96d56e3187ff8d444f5ede016fd3734796092ab4",
        "fe9bab239e8a24dd74ba4297f9ae8409676699c7"
      ],
      "author": {
        "name": "Robert Newson",
        "email": "robert.newson@gmail.com",
        "time": "Sun Dec 15 03:16:45 2013 -0800"
      },
      "committer": {
        "name": "Robert Newson",
        "email": "robert.newson@gmail.com",
        "time": "Sun Dec 15 03:16:45 2013 -0800"
      },
      "message": "Merge pull request #5 from cloudant/25731-type-safety\n\nType-safe config:get and :set methods"
    }
  ],
  "next": "fe9bab239e8a24dd74ba4297f9ae8409676699c7"
}
