)]}'
{
  "log": [
    {
      "commit": "60e7f808513b2611eb412cf641d6e7132dda2a30",
      "tree": "cf87fc5e316cd3ff9be5fa151c0038ab9c967682",
      "parents": [
        "f6ad55d804ac741b59fe37dd092787113847661c",
        "8f0c826d3e16967f5f442dd67223ebf803a9152c"
      ],
      "author": {
        "name": "ILYA Khlopotov",
        "email": "iilyak@apache.org",
        "time": "Fri Oct 14 11:39:36 2016 -0700"
      },
      "committer": {
        "name": "ILYA Khlopotov",
        "email": "iilyak@apache.org",
        "time": "Fri Oct 14 11:39:36 2016 -0700"
      },
      "message": "Merge remote branch \u0027DeadZen:patch-1\u0027\n\nThis closes #20\n\nSigned-off-by: ILYA Khlopotov \u003ciilyak@apache.org\u003e\n"
    },
    {
      "commit": "8f0c826d3e16967f5f442dd67223ebf803a9152c",
      "tree": "cf87fc5e316cd3ff9be5fa151c0038ab9c967682",
      "parents": [
        "f6ad55d804ac741b59fe37dd092787113847661c"
      ],
      "author": {
        "name": "Pedram Nimreezi",
        "email": "deadzen@deadzen.com",
        "time": "Tue Aug 30 01:50:09 2016 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Aug 30 01:50:09 2016 -0400"
      },
      "message": "Update README.md\n\nFix a few typos and such"
    },
    {
      "commit": "f6ad55d804ac741b59fe37dd092787113847661c",
      "tree": "d09a956d2737bf9f9d122fb351704d93c32fddd4",
      "parents": [
        "5a7f2868c720bc428e6c888dc61d988b9a5f63f1"
      ],
      "author": {
        "name": "Robert Newson",
        "email": "rnewson@apache.org",
        "time": "Thu Jul 14 15:56:42 2016 +0100"
      },
      "committer": {
        "name": "Robert Newson",
        "email": "rnewson@apache.org",
        "time": "Thu Jul 14 15:56:42 2016 +0100"
      },
      "message": "Use erl_scan:line/1 if present\n\nCOUCHDB-3058\n"
    },
    {
      "commit": "5a7f2868c720bc428e6c888dc61d988b9a5f63f1",
      "tree": "1f17a964445b67739701bd064554d2af87c8cac4",
      "parents": [
        "de32c655443d75d58cd36cef2bd6b4c67b6a91b6",
        "6fe3b2a3d80dd6ab4a667ddb02f2f5833a4eda64"
      ],
      "author": {
        "name": "ILYA Khlopotov",
        "email": "iilyak@ca.ibm.com",
        "time": "Wed Mar 23 06:32:09 2016 -0700"
      },
      "committer": {
        "name": "ILYA Khlopotov",
        "email": "iilyak@ca.ibm.com",
        "time": "Wed Mar 23 06:32:09 2016 -0700"
      },
      "message": "Merge remote branch \u0027github/pr/18\u0027\n\nThis closes #18\n\nSigned-off-by: ILYA Khlopotov \u003ciilyak@ca.ibm.com\u003e\n"
    },
    {
      "commit": "6fe3b2a3d80dd6ab4a667ddb02f2f5833a4eda64",
      "tree": "1f17a964445b67739701bd064554d2af87c8cac4",
      "parents": [
        "de32c655443d75d58cd36cef2bd6b4c67b6a91b6"
      ],
      "author": {
        "name": "ILYA Khlopotov",
        "email": "iilyak@ca.ibm.com",
        "time": "Tue Mar 22 16:47:33 2016 -0700"
      },
      "committer": {
        "name": "ILYA Khlopotov",
        "email": "iilyak@ca.ibm.com",
        "time": "Tue Mar 22 16:47:33 2016 -0700"
      },
      "message": "Don\u0027t rely on timer:sleep after update in tests\n\nTo fix currently broken build we do not use timer:sleep/1 after update/2.\n"
    },
    {
      "commit": "de32c655443d75d58cd36cef2bd6b4c67b6a91b6",
      "tree": "bdb31522e992f1c8e814ecd9abfe902f90a5214f",
      "parents": [
        "807aa3f58e39f1273e732020c80d630d9177790c"
      ],
      "author": {
        "name": "Eric Avdey",
        "email": "eiri@eiri.ca",
        "time": "Tue Jan 12 10:07:12 2016 -0400"
      },
      "committer": {
        "name": "Eric Avdey",
        "email": "eiri@eiri.ca",
        "time": "Tue Jan 12 10:07:12 2016 -0400"
      },
      "message": "Fix a warning for a variable shadowed in the tests\n\nJust a nitpick, but there are a couple of the variables\nshadowed in the list comprehensions in the tests.\nIt doesn\u0027t compromise the tests, but raises a warning\nduring the tests\u0027 build.\n"
    },
    {
      "commit": "807aa3f58e39f1273e732020c80d630d9177790c",
      "tree": "a8574dce544e600189339f95f1b8311523bcc6c5",
      "parents": [
        "77dfaf413be31b98de59ef3fe995cc3da5d338d2",
        "86531ee40193051f1d7572f72eb6b852563cd179"
      ],
      "author": {
        "name": "Alexander Shorin",
        "email": "kxepal@apache.org",
        "time": "Tue Oct 27 22:31:11 2015 +0300"
      },
      "committer": {
        "name": "Alexander Shorin",
        "email": "kxepal@apache.org",
        "time": "Tue Oct 27 22:31:11 2015 +0300"
      },
      "message": "Merge remote-tracking branch \u0027github/pr/15\u0027\n"
    },
    {
      "commit": "77dfaf413be31b98de59ef3fe995cc3da5d338d2",
      "tree": "7a5722086e53b6c43b70cc8c85f984b74e0d45c3",
      "parents": [
        "727cf713265616c842e604224840167fb90d5438",
        "90fdbed36bd22f4201281790270f051cf45ca044"
      ],
      "author": {
        "name": "Alexander Shorin",
        "email": "kxepal@apache.org",
        "time": "Tue Oct 27 22:22:49 2015 +0300"
      },
      "committer": {
        "name": "Alexander Shorin",
        "email": "kxepal@apache.org",
        "time": "Tue Oct 27 22:22:49 2015 +0300"
      },
      "message": "Merge remote-tracking branch \u0027github/pr/14\u0027\n"
    },
    {
      "commit": "727cf713265616c842e604224840167fb90d5438",
      "tree": "88493237fb2399449ad98f11b08ea23a1efc3754",
      "parents": [
        "c359a6900c193211a77004df9a31c2ad4bcddf9d"
      ],
      "author": {
        "name": "Alexander Shorin",
        "email": "kxepal@apache.org",
        "time": "Sun Oct 18 01:19:53 2015 +0300"
      },
      "committer": {
        "name": "Alexander Shorin",
        "email": "kxepal@apache.org",
        "time": "Tue Oct 27 22:08:45 2015 +0300"
      },
      "message": "Integrate with Travis CI\n"
    },
    {
      "commit": "c359a6900c193211a77004df9a31c2ad4bcddf9d",
      "tree": "6f28169a4a5cab2ccf9cb7f38567aebf8c1d911e",
      "parents": [
        "be34447c5ba0e474d851858b5346b33f864788e6"
      ],
      "author": {
        "name": "ILYA Khlopotov",
        "email": "iilyak@ca.ibm.com",
        "time": "Fri Oct 02 10:23:01 2015 -0700"
      },
      "committer": {
        "name": "Alexander Shorin",
        "email": "kxepal@apache.org",
        "time": "Sun Oct 18 01:14:36 2015 +0300"
      },
      "message": "Fix dialyzer warnings\n\nThis closes #9\nThis closes #13\n\nSigned-off-by: Alexander Shorin \u003ckxepal@apache.org\u003e\n"
    },
    {
      "commit": "86531ee40193051f1d7572f72eb6b852563cd179",
      "tree": "e99c01a64a4632099694c6053ec4391b1a1a052c",
      "parents": [
        "be34447c5ba0e474d851858b5346b33f864788e6"
      ],
      "author": {
        "name": "ILYA Khlopotov",
        "email": "iilyak@ca.ibm.com",
        "time": "Fri Oct 09 12:55:41 2015 -0700"
      },
      "committer": {
        "name": "ILYA Khlopotov",
        "email": "iilyak@ca.ibm.com",
        "time": "Fri Oct 09 15:53:54 2015 -0700"
      },
      "message": "Add couch_epi:decide/5\n\nThere are cases when we want to call configured providers until any of\nthem would make a decision. We also would want to be able to find out\nif any decision has been made so we could call default handler.\n"
    },
    {
      "commit": "90fdbed36bd22f4201281790270f051cf45ca044",
      "tree": "7d61cb11cf0c62c58905160225cf942649560c45",
      "parents": [
        "926d3b13207fe829bcefd51d4465f9cacd35315e"
      ],
      "author": {
        "name": "ILYA Khlopotov",
        "email": "iilyak@ca.ibm.com",
        "time": "Thu Oct 08 08:09:37 2015 -0700"
      },
      "committer": {
        "name": "ILYA Khlopotov",
        "email": "iilyak@ca.ibm.com",
        "time": "Thu Oct 08 08:09:37 2015 -0700"
      },
      "message": "Handle providers in order of definition\n"
    },
    {
      "commit": "926d3b13207fe829bcefd51d4465f9cacd35315e",
      "tree": "2e760c8666dc536b1ab865f466299d5bb31069ea",
      "parents": [
        "be34447c5ba0e474d851858b5346b33f864788e6"
      ],
      "author": {
        "name": "ILYA Khlopotov",
        "email": "iilyak@ca.ibm.com",
        "time": "Tue Oct 06 12:17:31 2015 -0700"
      },
      "committer": {
        "name": "ILYA Khlopotov",
        "email": "iilyak@ca.ibm.com",
        "time": "Tue Oct 06 12:17:31 2015 -0700"
      },
      "message": "Ensure calling order of plugins during dispatch\n\nIf there are multiple plugins providing same service they will be called\nin the order they listed in application:get_env(couch_epi, plugins).\n"
    },
    {
      "commit": "be34447c5ba0e474d851858b5346b33f864788e6",
      "tree": "91c100c859e514d7a55b7067823576dc8557659f",
      "parents": [
        "66a854b6536afb63e430f75b22e42f73310664a8"
      ],
      "author": {
        "name": "ILYA Khlopotov",
        "email": "iilyak@ca.ibm.com",
        "time": "Wed Sep 30 09:04:54 2015 -0700"
      },
      "committer": {
        "name": "ILYA Khlopotov",
        "email": "iilyak@ca.ibm.com",
        "time": "Thu Oct 01 07:29:39 2015 -0700"
      },
      "message": "Use rel/apps/couch_epi.config for configuring EPI\n"
    },
    {
      "commit": "66a854b6536afb63e430f75b22e42f73310664a8",
      "tree": "9a3295cbca13720ddbb413dcdcf5cac97a558f52",
      "parents": [
        "01257ff0cd7790790f7761f2c5c2bcc10215e50d"
      ],
      "author": {
        "name": "ILYA Khlopotov",
        "email": "iilyak@ca.ibm.com",
        "time": "Tue Sep 29 12:42:07 2015 -0700"
      },
      "committer": {
        "name": "ILYA Khlopotov",
        "email": "iilyak@ca.ibm.com",
        "time": "Thu Oct 01 07:29:39 2015 -0700"
      },
      "message": "Support for overwriting of app supervisors\u0027 children\n"
    },
    {
      "commit": "01257ff0cd7790790f7761f2c5c2bcc10215e50d",
      "tree": "0652f7befd3bbf3c887abcb7ca5be7beeb6f83e3",
      "parents": [
        "6cb1b9ca98a3e5bcf6fc72e791e13a07a564cf0c"
      ],
      "author": {
        "name": "ILYA Khlopotov",
        "email": "iilyak@ca.ibm.com",
        "time": "Tue Sep 29 11:33:41 2015 -0700"
      },
      "committer": {
        "name": "ILYA Khlopotov",
        "email": "iilyak@ca.ibm.com",
        "time": "Thu Oct 01 07:29:39 2015 -0700"
      },
      "message": "Add extra guards on couch_epi.erl functions\n"
    },
    {
      "commit": "6cb1b9ca98a3e5bcf6fc72e791e13a07a564cf0c",
      "tree": "ba0c74d56ddf8e8f89712d13613388b8b7e012c1",
      "parents": [
        "d6c5081ede6325cd1979b6c4f1187d5f93eb3f42"
      ],
      "author": {
        "name": "ILYA Khlopotov",
        "email": "iilyak@ca.ibm.com",
        "time": "Mon Sep 28 09:20:15 2015 -0700"
      },
      "committer": {
        "name": "ILYA Khlopotov",
        "email": "iilyak@ca.ibm.com",
        "time": "Thu Oct 01 07:29:39 2015 -0700"
      },
      "message": "Update documentation\n"
    },
    {
      "commit": "d6c5081ede6325cd1979b6c4f1187d5f93eb3f42",
      "tree": "c859c6a216da9a893c47ad0e2263bbfb12de70c7",
      "parents": [
        "5f3fe7a16382d371c214b9f4376c6a1f50447f79"
      ],
      "author": {
        "name": "ILYA Khlopotov",
        "email": "iilyak@ca.ibm.com",
        "time": "Thu Sep 24 12:15:32 2015 -0700"
      },
      "committer": {
        "name": "ILYA Khlopotov",
        "email": "iilyak@ca.ibm.com",
        "time": "Thu Oct 01 07:25:51 2015 -0700"
      },
      "message": "Refactor couch_epi to simplify it\n"
    },
    {
      "commit": "5f3fe7a16382d371c214b9f4376c6a1f50447f79",
      "tree": "423ee0f5685a9afe97e40e44a2d938623a942a97",
      "parents": [
        "aa72f6ffcc9c7095ed59b4d56f5f8139a5205a1f"
      ],
      "author": {
        "name": "ILYA Khlopotov",
        "email": "iilyak@ca.ibm.com",
        "time": "Mon Sep 21 12:21:16 2015 -0700"
      },
      "committer": {
        "name": "ILYA Khlopotov",
        "email": "iilyak@ca.ibm.com",
        "time": "Mon Sep 28 09:25:55 2015 -0700"
      },
      "message": "Check if Handler module exists before we try to call update\n"
    },
    {
      "commit": "aa72f6ffcc9c7095ed59b4d56f5f8139a5205a1f",
      "tree": "795faecac3d379620a5dca20e18d03b11532f482",
      "parents": [
        "1d30ba1b05ca48e0482ad2df7cb617ebb5b07c29"
      ],
      "author": {
        "name": "Alexander Shorin",
        "email": "kxepal@apache.org",
        "time": "Thu Sep 24 22:11:56 2015 +0300"
      },
      "committer": {
        "name": "Alexander Shorin",
        "email": "kxepal@apache.org",
        "time": "Thu Sep 24 22:11:56 2015 +0300"
      },
      "message": "Fix crypto deprecations\n\nCOUCHDB-2825\n"
    },
    {
      "commit": "1d30ba1b05ca48e0482ad2df7cb617ebb5b07c29",
      "tree": "8a68a49147a456941f6a95021ae8c26f9af39dea",
      "parents": [
        "36b2be55a89f766df44b05d988d040e6a3125529"
      ],
      "author": {
        "name": "ILYA Khlopotov",
        "email": "iilyak@ca.ibm.com",
        "time": "Wed Sep 02 10:03:44 2015 -0700"
      },
      "committer": {
        "name": "ILYA Khlopotov",
        "email": "iilyak@ca.ibm.com",
        "time": "Wed Sep 02 10:03:44 2015 -0700"
      },
      "message": "Remove support for ignore_providers option\n\nCOUCHDB-2796\n"
    },
    {
      "commit": "36b2be55a89f766df44b05d988d040e6a3125529",
      "tree": "bb8e9970d894bbcd17285db465d88127c4742b8d",
      "parents": [
        "7f32e4f48d129688f89bfe863be2a33d08e5c46e"
      ],
      "author": {
        "name": "ILYA Khlopotov",
        "email": "iilyak@ca.ibm.com",
        "time": "Wed Sep 02 09:37:46 2015 -0700"
      },
      "committer": {
        "name": "ILYA Khlopotov",
        "email": "iilyak@ca.ibm.com",
        "time": "Wed Sep 02 09:53:39 2015 -0700"
      },
      "message": "Don\u0027t use try/catch to handle missing plugins\n\nCOUCHDB-2796\n"
    },
    {
      "commit": "7f32e4f48d129688f89bfe863be2a33d08e5c46e",
      "tree": "fa1a3de675b570d4db6a75ef5094ed2f2223d2bb",
      "parents": [
        "fa1260878f631d17119d3be788a19479dd982364"
      ],
      "author": {
        "name": "ILYA Khlopotov",
        "email": "iilyak@ca.ibm.com",
        "time": "Wed Sep 02 08:11:36 2015 -0700"
      },
      "committer": {
        "name": "ILYA Khlopotov",
        "email": "iilyak@ca.ibm.com",
        "time": "Wed Sep 02 09:53:08 2015 -0700"
      },
      "message": "Call maybe_start_keeper for couch_epi_data_source\n\nCOUCHDB-2796\n"
    },
    {
      "commit": "fa1260878f631d17119d3be788a19479dd982364",
      "tree": "602f9d0471932c89e341e55ee3a9a2ab89dd5148",
      "parents": [
        "d7eabf6439d0a1f8c7788b4c2a2766206d6a1bbb"
      ],
      "author": {
        "name": "ILYA Khlopotov",
        "email": "iilyak@ca.ibm.com",
        "time": "Wed Sep 02 08:10:52 2015 -0700"
      },
      "committer": {
        "name": "ILYA Khlopotov",
        "email": "iilyak@ca.ibm.com",
        "time": "Wed Sep 02 09:52:56 2015 -0700"
      },
      "message": "Introduce \u0027couch_epi:register_service/1\u0027\n\nCOUCHDB-2796\n"
    },
    {
      "commit": "d7eabf6439d0a1f8c7788b4c2a2766206d6a1bbb",
      "tree": "d22c3d3b29348fbf9b60f4252f254924e73aad07",
      "parents": [
        "a57fc94efc8c2e98cbb41174c52e02460416c783"
      ],
      "author": {
        "name": "ILYA Khlopotov",
        "email": "iilyak@ca.ibm.com",
        "time": "Wed Sep 02 07:07:19 2015 -0700"
      },
      "committer": {
        "name": "ILYA Khlopotov",
        "email": "iilyak@ca.ibm.com",
        "time": "Wed Sep 02 09:52:41 2015 -0700"
      },
      "message": "Fix test suite\n\nCOUCHDB-2796\n"
    },
    {
      "commit": "a57fc94efc8c2e98cbb41174c52e02460416c783",
      "tree": "205b2141ce968689cfbb027b51bff1c3f04a27ca",
      "parents": [
        "fe02b297131849f9d6ccbf7ac735c09f63ec5c32"
      ],
      "author": {
        "name": "ILYA Khlopotov",
        "email": "iilyak@ca.ibm.com",
        "time": "Fri Jun 26 11:47:38 2015 -0700"
      },
      "committer": {
        "name": "ILYA Khlopotov",
        "email": "iilyak@ca.ibm.com",
        "time": "Wed Jul 29 08:33:22 2015 -0700"
      },
      "message": "Add couch_epi:is_configured\n"
    },
    {
      "commit": "fe02b297131849f9d6ccbf7ac735c09f63ec5c32",
      "tree": "a19d11558e5289dacb5bf349e120fb10f4f87cbf",
      "parents": [
        "822f3a265bc45707def9ca10063a43edb5898d16"
      ],
      "author": {
        "name": "Robert Newson",
        "email": "rnewson@apache.org",
        "time": "Wed Jul 22 08:36:32 2015 +0100"
      },
      "committer": {
        "name": "Robert Newson",
        "email": "rnewson@apache.org",
        "time": "Wed Jul 22 08:36:32 2015 +0100"
      },
      "message": "Restore R14 compatibility\n\nCouchDB 2.0 will be compatible with R14. Support for R14 to be dropped\nafter.\n\ncloses COUCHDB-2755\n"
    },
    {
      "commit": "822f3a265bc45707def9ca10063a43edb5898d16",
      "tree": "995c1e45a0e2787de0b6d14b954880d4309187e4",
      "parents": [
        "3d0e6a6b38cdeee165a3464a37f6d9357b798d27"
      ],
      "author": {
        "name": "ILYA Khlopotov",
        "email": "iilyak@ca.ibm.com",
        "time": "Tue Jul 14 08:27:37 2015 -0700"
      },
      "committer": {
        "name": "ILYA Khlopotov",
        "email": "iilyak@ca.ibm.com",
        "time": "Fri Jul 17 10:11:25 2015 -0700"
      },
      "message": "The race condition between providers is fixed\n\nIn previous design there is a race condition between the time we read the\ncurrent definitions in the generated module and the time we compile new\nversion of it. This race led to overwriting of data of already\nconfigured providers.\n\nThis commit fixes the issue by introducing couch_epi_module_keeper\nprocess. This process is named by generated module name and it is\nessentially a requests serializer.\n"
    },
    {
      "commit": "3d0e6a6b38cdeee165a3464a37f6d9357b798d27",
      "tree": "08ccef94be17c17bc0202f284fbd9f8de9f8190a",
      "parents": [
        "bb5d37bbe94168c47333ed46719fca78aae14484"
      ],
      "author": {
        "name": "Robert Newson",
        "email": "rnewson@apache.org",
        "time": "Mon Jul 13 13:21:07 2015 +0100"
      },
      "committer": {
        "name": "Robert Newson",
        "email": "rnewson@apache.org",
        "time": "Mon Jul 13 13:21:07 2015 +0100"
      },
      "message": "Fix function_clause in childspec\n\nMake couch_epi_functions:childspec\u0027s result match expectations of\ncouch_epi_functions:start_link function.\n"
    },
    {
      "commit": "bb5d37bbe94168c47333ed46719fca78aae14484",
      "tree": "f22477fe3a0fb033bbad73370ddc87e5c6a9e72b",
      "parents": [
        "baa9a3556097ff16a4390026495ba601cc10d0cd"
      ],
      "author": {
        "name": "Robert Newson",
        "email": "rnewson@apache.org",
        "time": "Thu Jun 25 12:53:35 2015 +0100"
      },
      "committer": {
        "name": "Robert Newson",
        "email": "rnewson@apache.org",
        "time": "Thu Jun 25 12:53:35 2015 +0100"
      },
      "message": "get version from git like other repos\n"
    },
    {
      "commit": "baa9a3556097ff16a4390026495ba601cc10d0cd",
      "tree": "add3a3893ee1d5e212d30c2c218abccc5d3b3546",
      "parents": [
        "67612a641292de0da10cbe844a7d847983c316d4"
      ],
      "author": {
        "name": "ILYA Khlopotov",
        "email": "iilyak@ca.ibm.com",
        "time": "Wed Jun 24 14:14:37 2015 -0700"
      },
      "committer": {
        "name": "ILYA Khlopotov",
        "email": "iilyak@ca.ibm.com",
        "time": "Wed Jun 24 15:13:50 2015 -0700"
      },
      "message": "Rewrite test suite to test new functionality\n"
    },
    {
      "commit": "67612a641292de0da10cbe844a7d847983c316d4",
      "tree": "cbdd526b994306465953982a1fbf93fc6a9dd9a5",
      "parents": [
        "2530af38a7027fa5f8fc696876a361dd7a2f3734"
      ],
      "author": {
        "name": "ILYA Khlopotov",
        "email": "iilyak@ca.ibm.com",
        "time": "Wed Jun 24 14:09:16 2015 -0700"
      },
      "committer": {
        "name": "ILYA Khlopotov",
        "email": "iilyak@ca.ibm.com",
        "time": "Wed Jun 24 15:13:50 2015 -0700"
      },
      "message": "Use code_change to trigger generation of a module\n\nPreviously we did periodic check of hashes for every provider module.\nWe switch to code_change use. Which would be called if specify modules\nargument in child spec of the supervisor from where we register our\nprovider module.\n\nWe rely on this bit \"Modules should be a list with one element [Module],\nwhere Module is the name of the callback module, if the child process\nis a supervisor, gen_server or gen_fsm. If the child process is a\ngen_event, Modules should be dynamic.\" from\nhttp://www.erlang.org/doc/design_principles/sup_princ.html\n"
    },
    {
      "commit": "2530af38a7027fa5f8fc696876a361dd7a2f3734",
      "tree": "08a0edaa6707447c38415f982208fa59bdb077a0",
      "parents": [
        "59bbd8eefbf2d7dc881e6a8b2911a84966be88a4"
      ],
      "author": {
        "name": "ILYA Khlopotov",
        "email": "iilyak@ca.ibm.com",
        "time": "Wed Jun 24 14:07:59 2015 -0700"
      },
      "committer": {
        "name": "ILYA Khlopotov",
        "email": "iilyak@ca.ibm.com",
        "time": "Wed Jun 24 15:13:50 2015 -0700"
      },
      "message": "Update documentation\n"
    },
    {
      "commit": "59bbd8eefbf2d7dc881e6a8b2911a84966be88a4",
      "tree": "b7c8bf537c6d701886c9e5cb8807ecc57d4289c6",
      "parents": [
        "32ba6e793460f9a4962cd5885fd14361554c52ed"
      ],
      "author": {
        "name": "ILYA Khlopotov",
        "email": "iilyak@ca.ibm.com",
        "time": "Wed Jun 24 13:52:59 2015 -0700"
      },
      "committer": {
        "name": "ILYA Khlopotov",
        "email": "iilyak@ca.ibm.com",
        "time": "Wed Jun 24 15:13:50 2015 -0700"
      },
      "message": "Add couch_epi_data\n"
    },
    {
      "commit": "32ba6e793460f9a4962cd5885fd14361554c52ed",
      "tree": "5e66e9d38ca21ee2ec66a4fa42289758072f5a8c",
      "parents": [
        "cf2e463b22c3629ae1dad1cc19bfdb68d001264e"
      ],
      "author": {
        "name": "ILYA Khlopotov",
        "email": "iilyak@ca.ibm.com",
        "time": "Wed Jun 10 16:02:59 2015 -0700"
      },
      "committer": {
        "name": "ILYA Khlopotov",
        "email": "iilyak@ca.ibm.com",
        "time": "Wed Jun 24 15:13:41 2015 -0700"
      },
      "message": "Initial version\n\nAdd `ignore_providers` option\n\nRename `hash(FilePath)` into `hashof_file(FilePath)`\n\nUse monitor to unsubscribe when subscriber die\n\nRename couch_epi:all into couch_epi:dump\n\nRemove modules from dispatch on termination\n\nAdd all/any convinence funs to couch_epi\n\nDocument `ignore_providers` option\n\nAdd childspec helper to _data_source and _functions\n\nAdd license to test suite\n"
    },
    {
      "commit": "cf2e463b22c3629ae1dad1cc19bfdb68d001264e",
      "tree": "54a5d111f5c1b7e423b9b649f7185ec0fb902bbf",
      "parents": [],
      "author": {
        "name": "Robert Newson",
        "email": "rnewson@apache.org",
        "time": "Tue Jun 23 11:24:40 2015 +0100"
      },
      "committer": {
        "name": "Robert Newson",
        "email": "rnewson@apache.org",
        "time": "Tue Jun 23 11:24:40 2015 +0100"
      },
      "message": "Add .gitignore\n"
    }
  ]
}
