)]}'
{
  "log": [
    {
      "commit": "645912d0c923da8a4d21a8f0bfbddbc4146b7bf5",
      "tree": "0553c9bd2e1791b7c00da8999f414679dcce1856",
      "parents": [
        "9b86e713069d201c9b72b12fe3679799014233e3"
      ],
      "author": {
        "name": "Gabor Pali",
        "email": "gabor.pali@ibm.com",
        "time": "Thu Feb 16 01:14:09 2023 +0100"
      },
      "committer": {
        "name": "Nick Vatamaniuc",
        "email": "nickva@users.noreply.github.com",
        "time": "Thu Feb 16 20:43:50 2023 -0500"
      },
      "message": "Fix typo\n"
    },
    {
      "commit": "9b86e713069d201c9b72b12fe3679799014233e3",
      "tree": "1dfe141138554c03e737a726d66972a953d78134",
      "parents": [
        "0feedb66f90f767a44c7a7fabb777224d362e968"
      ],
      "author": {
        "name": "Gabor Pali",
        "email": "gabor.pali@ibm.com",
        "time": "Thu Feb 16 01:11:15 2023 +0100"
      },
      "committer": {
        "name": "Nick Vatamaniuc",
        "email": "nickva@users.noreply.github.com",
        "time": "Thu Feb 16 20:43:50 2023 -0500"
      },
      "message": "Overhaul the Windows Makefile\n\n- Port some of the missing functionalities: the `xref`, `help`,\n  `list-eunit-apps`, and `list-eunit-suites` targets.\n- Bring the targets about Elixir source code check in sync with\n  the UNIX version.\n"
    },
    {
      "commit": "0feedb66f90f767a44c7a7fabb777224d362e968",
      "tree": "a6a35d53f8555d8a038b8d8868f48c3476a84c5d",
      "parents": [
        "065b86fab20d89250a15f7848f7f063e103c7311"
      ],
      "author": {
        "name": "Gabor Pali",
        "email": "gabor.pali@ibm.com",
        "time": "Thu Feb 16 01:06:47 2023 +0100"
      },
      "committer": {
        "name": "Nick Vatamaniuc",
        "email": "nickva@users.noreply.github.com",
        "time": "Thu Feb 16 20:43:50 2023 -0500"
      },
      "message": "Fix the `list-eunit-apps` target\n\nDue to the double slash in the path that is generated by the\ninvocation of `find(1)`, the wrong part of the path is going to\nbe cut.  This mistake does not cause trouble for\n`list-eunit-suites`, adjusted for consistency only.\n"
    },
    {
      "commit": "065b86fab20d89250a15f7848f7f063e103c7311",
      "tree": "994404f164f3a30ce01b29585b0ca1d20f6f41c1",
      "parents": [
        "df0699a60819d4c08c22029399c91bc91e6d18b1"
      ],
      "author": {
        "name": "Gabor Pali",
        "email": "gabor.pali@ibm.com",
        "time": "Thu Feb 16 01:01:30 2023 +0100"
      },
      "committer": {
        "name": "Nick Vatamaniuc",
        "email": "nickva@users.noreply.github.com",
        "time": "Thu Feb 16 20:43:50 2023 -0500"
      },
      "message": "Remove the inactive uploader action from `build-report`\n\nThe report uploads are still broken and the help message for the\ntarget does not either indicate that is happening.  This can be\nre-introduced later once fixed.\n"
    },
    {
      "commit": "df0699a60819d4c08c22029399c91bc91e6d18b1",
      "tree": "f42c1f515a0d5310c9bcd62c279452f5d16425fc",
      "parents": [
        "50dd63176f5ae8a23bf489c49e5f511a307a5823"
      ],
      "author": {
        "name": "Gabor Pali",
        "email": "gabor.pali@ibm.com",
        "time": "Thu Feb 16 00:56:52 2023 +0100"
      },
      "committer": {
        "name": "Nick Vatamaniuc",
        "email": "nickva@users.noreply.github.com",
        "time": "Thu Feb 16 20:43:50 2023 -0500"
      },
      "message": "Clean up `make help` output\n\n- Turn some of the comments above targets into target descriptions\n  so that the `help` target could display them.\n- Rename `xref` to `find_bugs` as that is the real name.\n- Fix rendering of the help message for `install`.\n"
    },
    {
      "commit": "50dd63176f5ae8a23bf489c49e5f511a307a5823",
      "tree": "af493bd7cbc920c120effb225976a903c5d5596b",
      "parents": [
        "395c083026f9735a2a34cda3012151ef94466136"
      ],
      "author": {
        "name": "Gabor Pali",
        "email": "gabor.pali@ibm.com",
        "time": "Thu Feb 16 12:03:56 2023 +0100"
      },
      "committer": {
        "name": "Jay Doane",
        "email": "jay.s.doane@gmail.com",
        "time": "Thu Feb 16 08:47:23 2023 -0800"
      },
      "message": "Chase rename of `dreyfus-test` to `elixir-search` in documentation\n"
    },
    {
      "commit": "395c083026f9735a2a34cda3012151ef94466136",
      "tree": "e5a2caca26e17ef3f00efe3917f181bda78151b4",
      "parents": [
        "97fdac3af36c378a3fe634942c3ac76e785f16de"
      ],
      "author": {
        "name": "Jay Doane",
        "email": "jaydoane@apache.org",
        "time": "Tue Feb 14 14:51:20 2023 -0800"
      },
      "committer": {
        "name": "Jay Doane",
        "email": "jay.s.doane@gmail.com",
        "time": "Wed Feb 15 20:17:49 2023 -0800"
      },
      "message": "Move elixir search tests to be with other elixir tests\n\nNow that dreyfus is integrated into CouchDB, its elixir tests can be\nmoved to be with the other elixir integration tests. As a bonus,\nremove some unnecessary configuration.\n"
    },
    {
      "commit": "97fdac3af36c378a3fe634942c3ac76e785f16de",
      "tree": "adc17ab191d1b88e60bd251e2bb3ac1deb023717",
      "parents": [
        "3fa8f72ac113dff073c9a764ba9189abb29ecba7"
      ],
      "author": {
        "name": "Gabor Pali",
        "email": "gabor.pali@ibm.com",
        "time": "Thu Feb 16 02:57:24 2023 +0100"
      },
      "committer": {
        "name": "Nick Vatamaniuc",
        "email": "nickva@users.noreply.github.com",
        "time": "Wed Feb 15 22:14:19 2023 -0500"
      },
      "message": "mango: Fix specification of `choose_best_index/1`\n\nComparators are not represented by binary strings in the selection\nranges, captured by the `range/0` type.  Although that is how they\nare coming from the corresponding parsed JSON object, they are\nbeing translated to specific atoms on the fly.\n\nNoticed by:\tnickva\n"
    },
    {
      "commit": "3fa8f72ac113dff073c9a764ba9189abb29ecba7",
      "tree": "a18a19b2f5deeae6006a272df6c8e29e52e6f6a0",
      "parents": [
        "a650b446148f7f8913a0941fa9f80d2c441554ad"
      ],
      "author": {
        "name": "Gabor Pali",
        "email": "gabor.pali@ibm.com",
        "time": "Tue Feb 14 12:46:28 2023 +0100"
      },
      "committer": {
        "name": "Nick Vatamaniuc",
        "email": "nickva@users.noreply.github.com",
        "time": "Tue Feb 14 10:14:33 2023 -0500"
      },
      "message": "mango: Match comments with implementation for JSON index selection\n"
    },
    {
      "commit": "a650b446148f7f8913a0941fa9f80d2c441554ad",
      "tree": "1fdeb0906bf9beec1b3643705820ddede2142874",
      "parents": [
        "1c90b504a9439a6c7c2a8754b03955b17780d6a8"
      ],
      "author": {
        "name": "Gabor Pali",
        "email": "gabor.pali@ibm.com",
        "time": "Mon Feb 13 22:59:11 2023 +0100"
      },
      "committer": {
        "name": "Nick Vatamaniuc",
        "email": "nickva@users.noreply.github.com",
        "time": "Tue Feb 14 10:14:33 2023 -0500"
      },
      "message": "mango: Cover JSON index selection with unit tests\n"
    },
    {
      "commit": "1c90b504a9439a6c7c2a8754b03955b17780d6a8",
      "tree": "17bb6dae77349a1d0c63093005d30f6f1d559486",
      "parents": [
        "b08dc7ac77dd3ea53cf1b8b92571387478e5b143"
      ],
      "author": {
        "name": "Gabor Pali",
        "email": "gabor.pali@ibm.com",
        "time": "Mon Feb 13 22:57:25 2023 +0100"
      },
      "committer": {
        "name": "Nick Vatamaniuc",
        "email": "nickva@users.noreply.github.com",
        "time": "Tue Feb 14 10:14:33 2023 -0500"
      },
      "message": "mango: Add type specification for the JSON index selection\n"
    },
    {
      "commit": "b08dc7ac77dd3ea53cf1b8b92571387478e5b143",
      "tree": "9801b3769ced7569bf932f3d4cdb85cd31658117",
      "parents": [
        "58e5825c64b0713596651fbd6a64c2349338f9ef"
      ],
      "author": {
        "name": "Gabor Pali",
        "email": "gabor.pali@ibm.com",
        "time": "Mon Feb 13 22:52:26 2023 +0100"
      },
      "committer": {
        "name": "Nick Vatamaniuc",
        "email": "nickva@users.noreply.github.com",
        "time": "Tue Feb 14 10:14:33 2023 -0500"
      },
      "message": "mango: Remove unused parameter from the JSON index selection\n"
    },
    {
      "commit": "58e5825c64b0713596651fbd6a64c2349338f9ef",
      "tree": "204e0819bdf57f0f75687d383d67d18f11c7864a",
      "parents": [
        "d3b0bcbf3f1bf36f3e71ac98795d024945e57dde"
      ],
      "author": {
        "name": "Gabor Pali",
        "email": "gabor.pali@ibm.com",
        "time": "Mon Feb 13 22:48:05 2023 +0100"
      },
      "committer": {
        "name": "Nick Vatamaniuc",
        "email": "nickva@users.noreply.github.com",
        "time": "Tue Feb 14 10:14:33 2023 -0500"
      },
      "message": "mango: Remove unused imports\n"
    },
    {
      "commit": "d3b0bcbf3f1bf36f3e71ac98795d024945e57dde",
      "tree": "be9b9859619172b893703907125a5170ae3a65e9",
      "parents": [
        "0867d1b21b4f4062024d035fd3d00f8f5338e770"
      ],
      "author": {
        "name": "Nick Vatamaniuc",
        "email": "vatamane@gmail.com",
        "time": "Mon Feb 13 23:32:52 2023 -0500"
      },
      "committer": {
        "name": "Nick Vatamaniuc",
        "email": "nickva@users.noreply.github.com",
        "time": "Tue Feb 14 00:16:08 2023 -0500"
      },
      "message": "Test the update_docs\u003dtrue case in replicator scheduler docs test\n\nFor completeness, make sure to test replicator doc updates with\n`update_docs\u003dtrue` setting as well.\n\nIssue: https://github.com/apache/couchdb/pull/4423\n"
    },
    {
      "commit": "0867d1b21b4f4062024d035fd3d00f8f5338e770",
      "tree": "feba3370e266789140e01ed63ed9751253864e87",
      "parents": [
        "8a6c3bce2ac7b6df4d43fbd99aceb853ddbbe569"
      ],
      "author": {
        "name": "Ronny Berndt",
        "email": "ronny@apache.org",
        "time": "Sat Feb 11 18:25:55 2023 +0100"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sat Feb 11 18:25:55 2023 +0100"
      },
      "message": "Reorder top-level smoosh-settings to the correct section (#4420)\n\nMoving some top-level settings into the top-level section\r\nto prevent an accidential setup (if enabled) in the wrong\r\nsection (smoosh.slack_views)."
    },
    {
      "commit": "8a6c3bce2ac7b6df4d43fbd99aceb853ddbbe569",
      "tree": "5c2217c5b87aaba643a102d2504d43d930f92bd0",
      "parents": [
        "f4311014fffab3252fc7561fbca4c6b3b7eca3b7"
      ],
      "author": {
        "name": "Gabor Pali",
        "email": "gabor.pali@ibm.com",
        "time": "Fri Feb 10 00:34:11 2023 +0100"
      },
      "committer": {
        "name": "Nick Vatamaniuc",
        "email": "nickva@users.noreply.github.com",
        "time": "Thu Feb 09 23:13:35 2023 -0500"
      },
      "message": "Update the list of the available test suite types\n\nOver time, many other kind of test suites have been added to the\n`Makefile`s, reflect this in the documentation.\n"
    },
    {
      "commit": "f4311014fffab3252fc7561fbca4c6b3b7eca3b7",
      "tree": "231dddf1bbd367dea62a3a601055ae22b610fc9a",
      "parents": [
        "8bc485d9bed7d9a68140f330869cd67ca874c756"
      ],
      "author": {
        "name": "Gabor Pali",
        "email": "gabor.pali@ibm.com",
        "time": "Fri Feb 10 00:31:58 2023 +0100"
      },
      "committer": {
        "name": "Nick Vatamaniuc",
        "email": "nickva@users.noreply.github.com",
        "time": "Thu Feb 09 23:13:35 2023 -0500"
      },
      "message": "Stop citing the JavaScript integration tests\n\nThe `make` targets for working with the JavaScript-based integration\ntests are no longer available and remove them to avoid confusing\nthe readers.\n"
    },
    {
      "commit": "8bc485d9bed7d9a68140f330869cd67ca874c756",
      "tree": "dff104d47c242dc0206dacb6844850460f2da74a",
      "parents": [
        "4185bc094cb79592475589acbf5906901bb211b6"
      ],
      "author": {
        "name": "Gabor Pali",
        "email": "gabor.pali@ibm.com",
        "time": "Thu Feb 09 23:55:29 2023 +0100"
      },
      "committer": {
        "name": "Nick Vatamaniuc",
        "email": "nickva@users.noreply.github.com",
        "time": "Thu Feb 09 19:36:59 2023 -0500"
      },
      "message": "Improve directory structure for Dreyfus EUnit tests\n"
    },
    {
      "commit": "4185bc094cb79592475589acbf5906901bb211b6",
      "tree": "41b09aedf86c35a3433c87c3d2fdb07686e1b8fc",
      "parents": [
        "c79d82f104eedd1b2e1af5b1a4b3db63e57615d0"
      ],
      "author": {
        "name": "Gabor Pali",
        "email": "gabor.pali@ibm.com",
        "time": "Thu Feb 09 23:22:36 2023 +0100"
      },
      "committer": {
        "name": "Nick Vatamaniuc",
        "email": "nickva@users.noreply.github.com",
        "time": "Thu Feb 09 19:36:59 2023 -0500"
      },
      "message": "Document the `dreyfus-test` `make` target\n"
    },
    {
      "commit": "c79d82f104eedd1b2e1af5b1a4b3db63e57615d0",
      "tree": "e6d6d0eb790744d67ac4eb8a23dd6576106a7cd2",
      "parents": [
        "a733884522394fdebd1c5d2198bdd4a7bd8f9c7b"
      ],
      "author": {
        "name": "Gabor Pali",
        "email": "gabor.pali@ibm.com",
        "time": "Thu Feb 09 22:08:33 2023 +0100"
      },
      "committer": {
        "name": "Nick Vatamaniuc",
        "email": "nickva@users.noreply.github.com",
        "time": "Thu Feb 09 19:36:59 2023 -0500"
      },
      "message": "Fix Dreyfus Elixir test suite\n\nRemove the old shell script that would drive the testing process\nand rather integrate it as a dedicated `make` target, `dreyfus-test`.\n"
    },
    {
      "commit": "a733884522394fdebd1c5d2198bdd4a7bd8f9c7b",
      "tree": "57d6fb5bd161a32a393041dbddb6e5ac2de235c8",
      "parents": [
        "0a49ffcdac0374633070ccc28d37cd5ac1a2af10"
      ],
      "author": {
        "name": "Gabor Pali",
        "email": "gabor.pali@ibm.com",
        "time": "Thu Feb 09 17:12:53 2023 +0100"
      },
      "committer": {
        "name": "Nick Vatamaniuc",
        "email": "nickva@users.noreply.github.com",
        "time": "Thu Feb 09 19:36:59 2023 -0500"
      },
      "message": "Disable execution of ExUnit tests\n\nCurrently, there are no ExUnit tests so do not try to run them.\n"
    },
    {
      "commit": "0a49ffcdac0374633070ccc28d37cd5ac1a2af10",
      "tree": "57d81673e40990609addca054456b9d25a456f2c",
      "parents": [
        "bf0903087e3a7c6c9f18319c5fcd4d30af8c6a08"
      ],
      "author": {
        "name": "Gabor Pali",
        "email": "gabor.pali@ibm.com",
        "time": "Thu Jan 26 22:19:07 2023 +0100"
      },
      "committer": {
        "name": "Nick Vatamaniuc",
        "email": "nickva@users.noreply.github.com",
        "time": "Thu Feb 09 19:36:59 2023 -0500"
      },
      "message": "Convert ExUnit tests back to EUnit\n\nExUnit tests were not fully adopted and also became abandoned.\nImprove the situation by translating those few ExUnit tests to\nEUnit ones.\n"
    },
    {
      "commit": "bf0903087e3a7c6c9f18319c5fcd4d30af8c6a08",
      "tree": "a097ae28a229b545151d9552622db902c53ce74a",
      "parents": [
        "0fa595531d6266ef0760da32b3495fb59d67a7d0"
      ],
      "author": {
        "name": "Nick Vatamaniuc",
        "email": "vatamane@gmail.com",
        "time": "Wed Feb 08 17:00:39 2023 -0500"
      },
      "committer": {
        "name": "Nick Vatamaniuc",
        "email": "nickva@users.noreply.github.com",
        "time": "Wed Feb 08 23:57:17 2023 -0500"
      },
      "message": "Remove all javascript tests\n\nMost of them have been ported to Elixir except the two replication tests.\n\nAdd the two replication tests to couch_replicator and remove the whole javascript subfolder.\n\nFor the \"replication_id\" got a bit further and test that other fields are\ncorrectly replaced or ignored.\n"
    },
    {
      "commit": "0fa595531d6266ef0760da32b3495fb59d67a7d0",
      "tree": "16fe286f6f91baeb7a0e5eef4caac2020454ff4f",
      "parents": [
        "80b68a053bac7eb06affd20fb762a1fafbdce5ef"
      ],
      "author": {
        "name": "Nick Vatamaniuc",
        "email": "vatamane@gmail.com",
        "time": "Mon Feb 06 15:04:33 2023 -0500"
      },
      "committer": {
        "name": "Nick Vatamaniuc",
        "email": "nickva@users.noreply.github.com",
        "time": "Mon Feb 06 23:12:04 2023 -0500"
      },
      "message": "Allow _local doc writes to the replicator dbs\n\nDuring the VDU -\u003e BDU update we inadvertently blocked _local doc writes to\n_replicator dbs. This commit rectifies that.\n\nAdd tests for _local, _design, and regular malformed docs for both the default\n_replicator db as well for for the prefixed version like $db/_replicator. For\ncompleteness, update the _scheduler/docs counts test also test both cases.\n"
    },
    {
      "commit": "80b68a053bac7eb06affd20fb762a1fafbdce5ef",
      "tree": "d963690f0ddb9d22c4fe0feae2da1cae7343bc83",
      "parents": [
        "1eef73952d1684ad749064c5eaa3e1ee8cac0765"
      ],
      "author": {
        "name": "Nick Vatamaniuc",
        "email": "vatamane@apache.org",
        "time": "Sat Feb 04 12:55:18 2023 -0500"
      },
      "committer": {
        "name": "Nick Vatamaniuc",
        "email": "nickva@users.noreply.github.com",
        "time": "Sat Feb 04 14:11:28 2023 -0500"
      },
      "message": "Use pip3 instead of pip in docs setup\n"
    },
    {
      "commit": "1eef73952d1684ad749064c5eaa3e1ee8cac0765",
      "tree": "de396f9005c34c9b14479555b004a30cf05b5b37",
      "parents": [
        "832f58a7a3f996ad3235fff912ecd91a570761ee"
      ],
      "author": {
        "name": "Nick Vatamaniuc",
        "email": "vatamane@gmail.com",
        "time": "Thu Feb 02 11:02:40 2023 -0500"
      },
      "committer": {
        "name": "Jan Lehnardt",
        "email": "jan@apache.org",
        "time": "Fri Feb 03 15:13:34 2023 +0100"
      },
      "message": "Remove json2 JS script and the try except around seal\n\n * Remove json2 all supported runtimes have the JSON now\n\n * Remove the try except for broken seal in 1.9.x we don\u0027t support 1.9.x and it\n   worked in 1.8.x and then in 60+ (at least, we don\u0027t support anything lower).\n\n1.8.5\n```\n% js --help 2\u003e\u00261 | grep 185\n  185:  JavaScript 1.8.5 (default)\n% js\njs\u003e  var a\u003d[1,2,3]; Object.freeze(a); a[1]\u003d100; a\n[1, 2, 3]\n```\n\n78\n```\n% js78\nvar a\u003d[1,2,3]; Object.freeze(a); a[1]\u003d100; a\n[1, 2, 3]\njs\u003e\n```\n\n[1] https://bugzilla.mozilla.org/show_bug.cgi?id\u003d449657#c0\n"
    },
    {
      "commit": "832f58a7a3f996ad3235fff912ecd91a570761ee",
      "tree": "dd77e3fefcb5d49b1082c92fd1e182b64440592b",
      "parents": [
        "a7551aac22674627ef23bcb30b6dcc51593883ef"
      ],
      "author": {
        "name": "Gabor Pali",
        "email": "gabor.pali@ibm.com",
        "time": "Thu Feb 02 17:31:45 2023 +0100"
      },
      "committer": {
        "name": "Nick Vatamaniuc",
        "email": "nickva@users.noreply.github.com",
        "time": "Thu Feb 02 12:12:43 2023 -0500"
      },
      "message": "Employ `make python-black-update`\n"
    },
    {
      "commit": "a7551aac22674627ef23bcb30b6dcc51593883ef",
      "tree": "6685ffab8bb8694daa4afd88e85d1878e14a7fb7",
      "parents": [
        "23efd8e5b1aa96ef01640fec03a5fedc945ba8b9"
      ],
      "author": {
        "name": "Gabor Pali",
        "email": "gabor.pali@ibm.com",
        "time": "Fri Jan 27 10:36:51 2023 +0100"
      },
      "committer": {
        "name": "Nick Vatamaniuc",
        "email": "nickva@users.noreply.github.com",
        "time": "Thu Feb 02 12:12:43 2023 -0500"
      },
      "message": "docs(INSTALL.Unix): update instructions\n\nThis change aims to correct the Unix installation instructions in\ndifferent ways:\n\n- Note that a too new version of the Erlang OTP can cause build\n  problems.\n- On recent macOS systems, the `xcode-select --install` command will\n  install a version of Python 3, along with `pip3`, hence there is\n  no need to do that explicitly.\n- Sphinx and the respective theme are installed locally via `venv`\n  for building the documentation, so users should only provide a\n  working Python 3 environment (thanks @nickva for mentioning this).\n- Fix markdown of file and command names.\n"
    },
    {
      "commit": "23efd8e5b1aa96ef01640fec03a5fedc945ba8b9",
      "tree": "23daf452132e34e7b065d99ba6323423a12fb8da",
      "parents": [
        "576ab21c6e55870f57335ffd71d8e924871196f5"
      ],
      "author": {
        "name": "Gabor Pali",
        "email": "gabor.pali@ibm.com",
        "time": "Fri Jan 20 23:17:51 2023 +0100"
      },
      "committer": {
        "name": "Jan Lehnardt",
        "email": "jan@apache.org",
        "time": "Thu Jan 26 15:56:19 2023 +0100"
      },
      "message": "Port the SpiderMonkey check to Windows\n"
    },
    {
      "commit": "576ab21c6e55870f57335ffd71d8e924871196f5",
      "tree": "13c34ca7184d584d5a51e8e1c0ed11aa0dcd22f9",
      "parents": [
        "9536b9796b9f98dbcc2aa230edaa5f9f85b5dd17"
      ],
      "author": {
        "name": "Gabor Pali",
        "email": "gabor.pali@ibm.com",
        "time": "Wed Jan 18 20:54:57 2023 +0100"
      },
      "committer": {
        "name": "Jan Lehnardt",
        "email": "jan@apache.org",
        "time": "Thu Jan 26 15:56:19 2023 +0100"
      },
      "message": "Unify style of `if` blocks\n"
    },
    {
      "commit": "9536b9796b9f98dbcc2aa230edaa5f9f85b5dd17",
      "tree": "bc2efd7baa8389d8b4a5972e219591dabfd20048",
      "parents": [
        "88ebc65c0d0c464bf45b10ad6a3234dd07361975"
      ],
      "author": {
        "name": "Gabor Pali",
        "email": "gabor.pali@ibm.com",
        "time": "Tue Jan 17 13:18:48 2023 +0100"
      },
      "committer": {
        "name": "Jan Lehnardt",
        "email": "jan@apache.org",
        "time": "Thu Jan 26 15:56:19 2023 +0100"
      },
      "message": "chore(configure): be more defensive about SpiderMonkey location\n\nThe `configure` script does not check whether SpiderMonkey\nactually exists at the presumed location.  This may go wrong when\nthe user has a version different from the default one.  The\nmistake is spotted only in build time, indirectly, via missing\nheader files.  That is too late and it may not be evident for the\nuser what the problem is.\n\nAdd a user-friendly safeguard for Unix-like systems to prevent\nthis from happening.\n"
    },
    {
      "commit": "88ebc65c0d0c464bf45b10ad6a3234dd07361975",
      "tree": "c12332317ae09076ea8eb4388e66e7615d4d6c60",
      "parents": [
        "e5f6c581b0444e528efa3b41ca5889e4e5d4707c",
        "f11491568748aa66b72bff227d172025b8228980"
      ],
      "author": {
        "name": "Robert Newson",
        "email": "rnewson@apache.org",
        "time": "Wed Jan 25 14:55:26 2023 +0000"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Jan 25 14:55:26 2023 +0000"
      },
      "message": "Merge pull request #4404 from apache/503-if-search-not-available\n\n503 if search not available"
    },
    {
      "commit": "f11491568748aa66b72bff227d172025b8228980",
      "tree": "c12332317ae09076ea8eb4388e66e7615d4d6c60",
      "parents": [
        "e5f6c581b0444e528efa3b41ca5889e4e5d4707c"
      ],
      "author": {
        "name": "Robert Newson",
        "email": "rnewson@apache.org",
        "time": "Wed Jan 25 14:02:47 2023 +0000"
      },
      "committer": {
        "name": "Robert Newson",
        "email": "rnewson@apache.org",
        "time": "Wed Jan 25 14:13:03 2023 +0000"
      },
      "message": "return 503 immediately if search is not available\n"
    },
    {
      "commit": "e5f6c581b0444e528efa3b41ca5889e4e5d4707c",
      "tree": "bcf08ff9bdcd5c3c63583e55dd0d4ae91158e7dc",
      "parents": [
        "262e4d161641fc46eb22b7b8771affc0643919de"
      ],
      "author": {
        "name": "jiahuili",
        "email": "Jiahui.Li@ibm.com",
        "time": "Mon Jan 23 15:25:48 2023 -0600"
      },
      "committer": {
        "name": "Nick Vatamaniuc",
        "email": "nickva@users.noreply.github.com",
        "time": "Tue Jan 24 17:29:21 2023 -0500"
      },
      "message": "Docs: Fix example code in Partitioned Databases\n"
    },
    {
      "commit": "262e4d161641fc46eb22b7b8771affc0643919de",
      "tree": "223ee0d670a85c7603cac39513923d90ba372a59",
      "parents": [
        "3181d928e060687e2a214192ba17c401811c6da3"
      ],
      "author": {
        "name": "Nick Vatamaniuc",
        "email": "vatamane@gmail.com",
        "time": "Mon Jan 23 13:00:43 2023 -0500"
      },
      "committer": {
        "name": "Nick Vatamaniuc",
        "email": "nickva@users.noreply.github.com",
        "time": "Tue Jan 24 01:16:58 2023 -0500"
      },
      "message": "Enforce docs ids _changes filter optimization limit\n\nIt turns out `changes_doc_ids_optimization_threshold` limit has never been\napplied for the clustered changes feeds. So it was effectively unlimited. This\ncommit enables it, and also adds tests to ensure the limit works.\n\nSince we didn\u0027t have a good Erlang integration test suite for clustered changes\nfeeds, which allowed this case to slip through the cracks, add a few more tests\nalong the way to test the majority of parameter combinations which might\ninteract: sharding (single shards vs multiple), continuous vs normal, reverse,\nrow limits etc.\n\nThe previous limit was 100, but since it was never actually applied it\u0027s\nequivalent not having one at all, so let\u0027s pick a new one. I chose 1000\nnoticing that at Cloudant, with close to 3000 we had fabric timeouts on a busy\ncluster, so that seemed too high. And 1000 seemed about the ballpark of the\nwhat size of _bulk_get batch might be. Adding a benchmarking eunit test\nhttps://gist.github.com/nickva/a21ef04b7e4bdbed5fdeb708f1d613b5 showed about\n50-75 msec to query batches of 1000 random (uuid) doc_ids for Q values 1\nthrough 8.\n"
    },
    {
      "commit": "3181d928e060687e2a214192ba17c401811c6da3",
      "tree": "7146997e6ee6cabeded9ddab4bc94d5965560349",
      "parents": [
        "00e24b0dfb3435dfb531a755a9a46442936cbaea"
      ],
      "author": {
        "name": "Ronny Berndt",
        "email": "ronny@apache.org",
        "time": "Sat Jan 21 12:35:16 2023 +0100"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sat Jan 21 12:35:16 2023 +0100"
      },
      "message": "Allow to run only specific EUnit tests on Windows (#4399)\n\n- backport dynamic environment variables to Makefile.win\r\n- return exit code 1 if EUnit test fail\r\n- fixes some path issues"
    },
    {
      "commit": "00e24b0dfb3435dfb531a755a9a46442936cbaea",
      "tree": "30b8defb68d6897e3f465e333ce3358d5fbeea4e",
      "parents": [
        "5f2d5b135b5ebf3a3e19e2200afdacf9fe0cb1fa"
      ],
      "author": {
        "name": "Mike Rhodes",
        "email": "mike.rhodes@dx13.co.uk",
        "time": "Fri Jan 06 11:56:46 2023 +0000"
      },
      "committer": {
        "name": "Jan Lehnardt",
        "email": "jan@apache.org",
        "time": "Fri Jan 20 18:04:31 2023 +0100"
      },
      "message": "Push down field projection in mango to shard\n\nThis commit aims to improve Mango by reducing the data transferred to\nthe coordinator during query execution. It may reduce memory or CPU use\nat the coordinator but that isn\u0027t the primary goal.\n\nCurrently, when documents are read at the shard level, they are compared\nlocally at the shard with the selector to ensure they match before they\nare sent to the coordinator. This ensures we\u0027re not sending documents\nacross the network that the coordinator immediately discards, saving\nbandwidth and coordinator processing. This commit further executes field\nprojection (`fields` in the query) at the shard level. This should\nfurther save bandwidth, particularly for queries that project few fields\nfrom large documents.\n\nOne item of complexity is that a query may request a quorum read of\ndocuments, meaning that we need to do the document read at the\ncoordinator and not the shard, then perform the `selector` and `fields`\nprocessing there rather than at the shard. To ensure that documents are\nprocessed consistently whether at the shard or coordinator,\nmatch_and_extract_doc/3 is added. There is still one orphan call outside\nmatch_and_extract_doc/2 to extract/2 which supports cluster upgrade and\nshould later be removed.\n\nShard level processing is already performed in a callback, view_cb/2,\nthat\u0027s passed to fabric\u0027s view processing to run for each row in the\nview result set. It\u0027s used for the shard local selector and fields\nprocessing. To make it clear what arguments are destined for this\ncallback, the commit encapsulates the arguments, using viewcbargs_new/2\nand viewcbargs_get/2.\n\nAs we push down more functionality to the shard, the context this\nfunction needs to carry with it will increase, so having a record for it\nwill be valuable.\n\nSupporting cluster upgrades:\n\nThe commit supports shard pushdown for Mango `fields` processing for\nsituations during rolling cluster upgrades.\n\nIn the state where the coordinator is speaking to an upgraded node, the\nview_cb/2 needs to support being passed just the `selector` outside of\nthe new viewcbargs record. In this case, the shard will not process\nfields, but the coordinator will.\n\nIn the situation where the coordinator is upgraded but the shard is not,\nwe need to send the selector to the shard via `selector` and also\nexecute the fields projection at the coordinator. Therefore we pass\narguments to view_cb/2 via both `selector` and `callback_args` and have\nan apparently spurious field projection (mango_fields:extract/2) in the\ncode that receives back values from the shard ( factored out into\ndoc_member_and_extract).\n\nBoth of these affordances should only need to exist through one minor\nversion change and be removed thereafter -- if people are jumping\nseveral minor versions of CouchDB in one go, hopefully they are prepared\nfor a bit of trouble.\n\nTesting upgrade states:\n\nAs view_cb is completely separate from the rest of the cursor code,\nwe can first try out the branch\u0027s code using view_cb from `main`, and\nthen the other way -- the branch\u0027s view_cb with the rest of the file\nfrom main. I did both of these tests successfully.\n"
    },
    {
      "commit": "5f2d5b135b5ebf3a3e19e2200afdacf9fe0cb1fa",
      "tree": "ea4adcc01c481b3f44d135dab5f839325138c90e",
      "parents": [
        "3b6ebdeb3b5d10f03677b5f2c38c21c6c144a2bd"
      ],
      "author": {
        "name": "Mike Rhodes",
        "email": "mike.rhodes@dx13.co.uk",
        "time": "Fri Jan 13 14:51:22 2023 +0000"
      },
      "committer": {
        "name": "Jan Lehnardt",
        "email": "jan@apache.org",
        "time": "Fri Jan 20 18:04:31 2023 +0100"
      },
      "message": "Show mango_selector:match/2 call using test\n\nI needed to understand the format of arguments to `match/2` when writing\nthe code to support projecting fields on the shard, so I wrote some code\nto figure it out as a test. I figure this may be useful for future\nwork in this area, so push as commit.\n"
    },
    {
      "commit": "3b6ebdeb3b5d10f03677b5f2c38c21c6c144a2bd",
      "tree": "b4888dbe86b3c9600c4f09aac40fe1234865f4e6",
      "parents": [
        "4b2d3dc6253c821c443bc1e1b4540cf76d848908"
      ],
      "author": {
        "name": "Jan Lehnardt",
        "email": "jan@apache.org",
        "time": "Wed Jan 18 16:01:58 2023 +0100"
      },
      "committer": {
        "name": "Nick Vatamaniuc",
        "email": "nickva@users.noreply.github.com",
        "time": "Thu Jan 19 14:10:22 2023 -0500"
      },
      "message": "ci(mac): re-enable mac CI for the full build\n"
    },
    {
      "commit": "4b2d3dc6253c821c443bc1e1b4540cf76d848908",
      "tree": "b3adab6d69343bcbc104931771bd18317637b931",
      "parents": [
        "deb8ef2714f4bd98b3f0e85e5573cc14a58ab8fb"
      ],
      "author": {
        "name": "Nick Vatamaniuc",
        "email": "vatamane@gmail.com",
        "time": "Wed Jan 18 11:08:55 2023 -0500"
      },
      "committer": {
        "name": "Nick Vatamaniuc",
        "email": "nickva@users.noreply.github.com",
        "time": "Wed Jan 18 13:25:06 2023 -0500"
      },
      "message": "Bump recon to 2.5.3\n\nChanges since 2.5.2: https://github.com/ferd/recon/compare/2.5.2...2.5.3\n"
    },
    {
      "commit": "deb8ef2714f4bd98b3f0e85e5573cc14a58ab8fb",
      "tree": "f0059b26bc0fc8a5a39bfdefa310e4bee14f4960",
      "parents": [
        "bcfaa82c3259a25dc38ff7a4b66719bf5104d8a6"
      ],
      "author": {
        "name": "Ronny Berndt",
        "email": "ronny@apache.org",
        "time": "Wed Jan 18 18:36:41 2023 +0100"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Jan 18 18:36:41 2023 +0100"
      },
      "message": "Adding build-report makefile target on Windows (#4384)\n\nBackporting the `build-report` target from the *nix makefile\r\nto the Windows pendant."
    },
    {
      "commit": "bcfaa82c3259a25dc38ff7a4b66719bf5104d8a6",
      "tree": "076ae69952c8c31be416dcb0afb4b5ee00c9900f",
      "parents": [
        "dad51b5b82e37838e030cb4a7f4abbd90f6c2403",
        "aff7a6e7183e6c471a9675e37216baa0bad563a3"
      ],
      "author": {
        "name": "Robert Newson",
        "email": "rnewson@apache.org",
        "time": "Wed Jan 18 15:53:09 2023 +0000"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Jan 18 15:53:09 2023 +0000"
      },
      "message": "Merge pull request #4379 from pgj/mango-doc-fix\n\ndocs(mango): match description of `$mod` with reality"
    },
    {
      "commit": "aff7a6e7183e6c471a9675e37216baa0bad563a3",
      "tree": "076ae69952c8c31be416dcb0afb4b5ee00c9900f",
      "parents": [
        "dad51b5b82e37838e030cb4a7f4abbd90f6c2403"
      ],
      "author": {
        "name": "Gabor Pali",
        "email": "gabor.pali@ibm.com",
        "time": "Tue Jan 17 10:54:19 2023 +0100"
      },
      "committer": {
        "name": "PÁLI Gábor János",
        "email": "pali.gabor@gmail.com",
        "time": "Wed Jan 18 16:14:15 2023 +0100"
      },
      "message": "docs(mango): match description of `$mod` with reality\n\nThe remainder argument for the `$mod` operator can be zero, while\nits documentation suggests otherwise.  It actually covers a very\nrealistic use case where divisibility is expressed.\n\nNeither related restrictions could be identified in the sources\n[1] nor MongoDB forbids this [2].  Tests also seem to exercise this\nspecific case [3].  Thanks @iilyak for checking on these.\n\n[1] https://github.com/apache/couchdb/blob/adf17140e81d0b74f2b2ecdea48fc4f702832eaf/src/mango/src/mango_selector.erl#L512:L513\n[2] https://www.mongodb.com/docs/manual/reference/operator/query/mod/\n[3] https://github.com/apache/couchdb/blob/0059b8f90e58e10b199a4b768a06a762d12a30d3/src/mango/test/03-operator-test.py#L58\n"
    },
    {
      "commit": "dad51b5b82e37838e030cb4a7f4abbd90f6c2403",
      "tree": "96bc88afe86a19595d5bb696e28c3d601634096b",
      "parents": [
        "a14922fad42575574bb26a24a123e0a1ef4e1621"
      ],
      "author": {
        "name": "Gabor Pali",
        "email": "gabor.pali@ibm.com",
        "time": "Tue Jan 17 23:30:47 2023 +0100"
      },
      "committer": {
        "name": "Nick Vatamaniuc",
        "email": "nickva@users.noreply.github.com",
        "time": "Tue Jan 17 23:06:25 2023 -0500"
      },
      "message": "Set the SpiderMonkey version for the first phase of PR builds\n"
    },
    {
      "commit": "a14922fad42575574bb26a24a123e0a1ef4e1621",
      "tree": "5905a17a7f3e8096f6b9f9e81d93400653712454",
      "parents": [
        "01c161b3513ecbcc3956023d3274577851f519e7"
      ],
      "author": {
        "name": "Nick Vatamaniuc",
        "email": "vatamane@gmail.com",
        "time": "Wed Jan 11 23:51:05 2023 -0500"
      },
      "committer": {
        "name": "Nick Vatamaniuc",
        "email": "nickva@users.noreply.github.com",
        "time": "Fri Jan 13 15:55:06 2023 -0500"
      },
      "message": "Ensure design docs are uploaded individually when replicating with _bulk_get\n\nPreviously, when replication jobs used _bulk_get they didn\u0027t upload design\ndocs individually like they do when not using _bulk_get.\n\nHere were are preserving an already existing behavior which we had in the\nreplicator without _bulk_get usage for more than 2 years. It was introduced\nhere in #2426. Related to these issues #2415 and #2413.\n\nAdd tests to cover both attachments and ddoc cases. meck:num_calls/3 is helpful\nas it allows to nicely assert which API function was called and how many times.\n"
    },
    {
      "commit": "01c161b3513ecbcc3956023d3274577851f519e7",
      "tree": "039d68b75972373dd6c412311886e5c57c88aedc",
      "parents": [
        "b3b57e4457a838f92ea70f3e2cbabcc0532f1b9e"
      ],
      "author": {
        "name": "Jay Doane",
        "email": "jaydoane@apache.org",
        "time": "Mon Jan 09 13:08:38 2023 -0800"
      },
      "committer": {
        "name": "Jay Doane",
        "email": "jay.s.doane@gmail.com",
        "time": "Wed Jan 11 16:36:02 2023 -0800"
      },
      "message": "Delete unused include_lib attributes\n\nThanks, LSP!\n"
    },
    {
      "commit": "b3b57e4457a838f92ea70f3e2cbabcc0532f1b9e",
      "tree": "51afdbe00d682a8227a65c20f0e4e36f95892f27",
      "parents": [
        "1c43d028936c16f55882f702a14497aa1b168717"
      ],
      "author": {
        "name": "Jay Doane",
        "email": "jaydoane@apache.org",
        "time": "Mon Jan 09 21:34:29 2023 -0800"
      },
      "committer": {
        "name": "Jay Doane",
        "email": "jay.s.doane@gmail.com",
        "time": "Wed Jan 11 14:54:03 2023 -0800"
      },
      "message": "Fix replication _scheduler/docs total_rows\n\nThe total_rows property was decremented by one to account for the VDU\nthat was automatically added to the total. Now that a BDU has replaced\nthe VDU [1] total_rows is one less than it should be.\n\nThis removes the decrement so that total_rows equals the actual doc\ncount.\n\n[1] https://github.com/apache/couchdb/pull/4274\n"
    },
    {
      "commit": "1c43d028936c16f55882f702a14497aa1b168717",
      "tree": "5428d98f563d8167faea6aeb7cd7b658d78bd58f",
      "parents": [
        "9a92fbbe3130127703db004614d836348e13ad16"
      ],
      "author": {
        "name": "Ronny Berndt",
        "email": "ronny@apache.org",
        "time": "Wed Jan 11 13:55:34 2023 +0100"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Jan 11 13:55:34 2023 +0100"
      },
      "message": "Fixes 9a92fbb - Set default version of Spidermonkey to 91 (#4367)\n\n./configure uses version 91 of Spidermonkey as default now. The previous\r\ncommit (9a92fbbe3130127703db004614d836348e13ad16) stated that the source\r\ncode of 1.8.5 is removed. This is not true, the code still exists, the\r\ncommit message wasn\u0027t updated when updating the previous PR."
    },
    {
      "commit": "9a92fbbe3130127703db004614d836348e13ad16",
      "tree": "5428d98f563d8167faea6aeb7cd7b658d78bd58f",
      "parents": [
        "b5693fd7e932c0490d6c47e49138cc90b56fb302"
      ],
      "author": {
        "name": "Ronny Berndt",
        "email": "ronny@apache.org",
        "time": "Wed Jan 04 13:45:03 2023 +0100"
      },
      "committer": {
        "name": "Jan Lehnardt",
        "email": "jan@apache.org",
        "time": "Wed Jan 11 10:42:21 2023 +0100"
      },
      "message": "Remove Spidermonkey 1.8.5\n\nRemoves the old Spidermonkey 1.8.5 source code.\nSpidermonkey 91 is set as the new default version.\n"
    },
    {
      "commit": "b5693fd7e932c0490d6c47e49138cc90b56fb302",
      "tree": "b83517c18e8b6ee75e32cdd433d3ba6ee3976f55",
      "parents": [
        "3421b82738829dc05a9bd065bd1cbde835565482"
      ],
      "author": {
        "name": "Juanjo Rodriguez",
        "email": "juanjo@apache.org",
        "time": "Tue Jan 10 00:04:59 2023 +0100"
      },
      "committer": {
        "name": "Juanjo Rodriguez",
        "email": "jjrodrig@gmail.com",
        "time": "Tue Jan 10 19:33:09 2023 +0100"
      },
      "message": "Elixir \u003e\u003d 1.14 doesn\u0027t support rebar2 -  Remove initialization\n"
    },
    {
      "commit": "3421b82738829dc05a9bd065bd1cbde835565482",
      "tree": "967fd204bdfba859d1961851cad7b5ec0c8fdd0c",
      "parents": [
        "fb3517936faf7f1ea33bd457e0b2f8a4202ee15a"
      ],
      "author": {
        "name": "Jay Doane",
        "email": "jaydoane@apache.org",
        "time": "Mon Jan 09 12:52:29 2023 -0800"
      },
      "committer": {
        "name": "Jay Doane",
        "email": "jay.s.doane@gmail.com",
        "time": "Mon Jan 09 13:29:40 2023 -0800"
      },
      "message": "Wait for dbs_info 500 timeout error\n\nWith more recent OTP versions, this test has been observed to fail\nwith the following error:\n\n    chttpd_dbs_info_test:88: -dbs_info_test_/0-fun-22- (should_return_500_time_out_when_time_is_not_enough_for_get_dbs_info)...*failed*\nin function chttpd_dbs_info_test:should_return_500_time_out_when_time_is_not_enough_for_get_dbs_info/1 (test/eunit/chttpd_dbs_info_test.erl, line 192)\nin call from eunit_test:run_testfun/1 (eunit_test.erl, line 71)\nin call from eunit_proc:run_test/1 (eunit_proc.erl, line 531)\nin call from eunit_proc:with_timeout/3 (eunit_proc.erl, line 356)\nin call from eunit_proc:handle_test/2 (eunit_proc.erl, line 514)\nin call from eunit_proc:tests_inorder/3 (eunit_proc.erl, line 456)\nin call from eunit_proc:with_timeout/3 (eunit_proc.erl, line 346)\nin call from eunit_proc:run_group/2 (eunit_proc.erl, line 570)\n**error:{badmatch,{error,socket_closed_remotely}}\n  output:\u003c\u003c\"\"\u003e\u003e\n\nThis change waits until the expected 500 timeout error is received.\n"
    },
    {
      "commit": "fb3517936faf7f1ea33bd457e0b2f8a4202ee15a",
      "tree": "d0216eddbbacc3e29e147f30c4f0399747a48db1",
      "parents": [
        "ca791828cd147590f83f31c4c4af6716ffafba90"
      ],
      "author": {
        "name": "Nick Vatamaniuc",
        "email": "vatamane@gmail.com",
        "time": "Mon Jan 09 12:02:36 2023 -0500"
      },
      "committer": {
        "name": "Nick Vatamaniuc",
        "email": "nickva@users.noreply.github.com",
        "time": "Mon Jan 09 12:55:02 2023 -0500"
      },
      "message": "Fix handling forbidden exceptions from workers in fabric_doc_update\n\nPreviously we handled `{bad_request, Msg}` but not `{forbidden, Msg}`, so a\n`before_doc_update` handler which wanted to emulate the VDU `forbidden`\nresponse ended up crashing with an unhandled clause instead.\n\n(Note: The replicator doc validation BDU wasn\u0027t affected as those BDU calls are\nmade directly from fabric since `*_replicator` shards are \"special\" system\ndbs).\n"
    },
    {
      "commit": "ca791828cd147590f83f31c4c4af6716ffafba90",
      "tree": "9cdb26af68b584fe59a476029d6f3182f4694c35",
      "parents": [
        "3125bfd3c0cc571f928424e230299926f7e103d4"
      ],
      "author": {
        "name": "Ronny Berndt",
        "email": "ronny@apache.org",
        "time": "Sat Jan 07 20:46:43 2023 +0100"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sat Jan 07 20:46:43 2023 +0100"
      },
      "message": "Escape special (html) chars in section names (#4350)\n\nTo correctly generate the configuration reference html output,\r\nescape special html characters like \u0027\u003c\u0027 and \u0027\u003e\u0027 in section names."
    },
    {
      "commit": "3125bfd3c0cc571f928424e230299926f7e103d4",
      "tree": "43c2ccb68051e2a02c96593fe553768a593f5fda",
      "parents": [
        "c7c6785dc3bde5abff3e84b434056d04353aa710"
      ],
      "author": {
        "name": "Ronny Berndt",
        "email": "ronny@apache.org",
        "time": "Sat Jan 07 09:08:40 2023 +0100"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sat Jan 07 09:08:40 2023 +0100"
      },
      "message": "[DOC] Update required Erlang OTP versions (#4357)\n\n"
    },
    {
      "commit": "c7c6785dc3bde5abff3e84b434056d04353aa710",
      "tree": "b2df8942d291069e6fe73c4f3f056cdef66936d2",
      "parents": [
        "10810339052a06991095fbc39206c2c7a37f5c80"
      ],
      "author": {
        "name": "Ronny Berndt",
        "email": "ronny@apache.org",
        "time": "Sat Jan 07 07:55:00 2023 +0100"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sat Jan 07 07:55:00 2023 +0100"
      },
      "message": "Add Prometheus port to Windows couchdb.config (#4356)\n\nAdd Prometheus port to ./configure.ps1 to catch up with ./configure"
    },
    {
      "commit": "10810339052a06991095fbc39206c2c7a37f5c80",
      "tree": "1d43dea43c612cc35950bc1ff98471939c972255",
      "parents": [
        "a840dc9a8eb464432924d20810e1b038f047d653"
      ],
      "author": {
        "name": "Jan Lehnardt",
        "email": "jan@apache.org",
        "time": "Fri Jan 06 10:33:05 2023 +0100"
      },
      "committer": {
        "name": "Jan Lehnardt",
        "email": "jan@apache.org",
        "time": "Fri Jan 06 12:12:13 2023 +0100"
      },
      "message": "fix: debuggng leftover, speed up local rebar clones\n"
    },
    {
      "commit": "a840dc9a8eb464432924d20810e1b038f047d653",
      "tree": "0666a37d678004dceb038cc3176058682d77bfe0",
      "parents": [
        "0d29e16e6f97fa340d345d808fac23dee93f7643"
      ],
      "author": {
        "name": "Nick Vatamaniuc",
        "email": "vatamane@gmail.com",
        "time": "Fri Jan 06 01:41:29 2023 -0500"
      },
      "committer": {
        "name": "Jan Lehnardt",
        "email": "jan@apache.org",
        "time": "Fri Jan 06 10:34:15 2023 +0100"
      },
      "message": "Fix replication job start_link.\n\nWe don\u0027t want to register replication jobs with the module name as that\nprevents us from running more than one job at a time.\n\nThis was introduced when we removed the dependence on global registrations and\nswitched to using pg instead.\n\nEven more embarrassing is we didn\u0027t have tests to check multiple replication\njobs running at the same time.\n"
    },
    {
      "commit": "0d29e16e6f97fa340d345d808fac23dee93f7643",
      "tree": "208173d9d393d659849d7c2cdf9aaa542850a23d",
      "parents": [
        "ac70fc05b329bc3d28879898b3bde928c073998b"
      ],
      "author": {
        "name": "Nick Vatamaniuc",
        "email": "vatamane@gmail.com",
        "time": "Thu Jan 05 16:47:58 2023 -0500"
      },
      "committer": {
        "name": "Nick Vatamaniuc",
        "email": "nickva@users.noreply.github.com",
        "time": "Thu Jan 05 17:38:03 2023 -0500"
      },
      "message": "Fix Ubuntu Jammy CI image reference\n\nJust make it use the Erlang 24 version like all the other images\n"
    },
    {
      "commit": "ac70fc05b329bc3d28879898b3bde928c073998b",
      "tree": "a5438e9e75fbc1ad3f0efd161bf2bdc20397be63",
      "parents": [
        "4048b567cac1c082d89f9cd78f9a294887ec198b"
      ],
      "author": {
        "name": "Jan Lehnardt",
        "email": "jan@apache.org",
        "time": "Thu Jan 05 16:05:09 2023 +0100"
      },
      "committer": {
        "name": "Jan Lehnardt",
        "email": "jan@apache.org",
        "time": "Thu Jan 05 17:01:52 2023 +0100"
      },
      "message": "doc(whatsnew): document 3.3.1 updates\n"
    },
    {
      "commit": "4048b567cac1c082d89f9cd78f9a294887ec198b",
      "tree": "297e156222c86e75679d901d449a28cc7a7cb2ba",
      "parents": [
        "33d9a841b3552fa1946fe17bba3e1358a77b2d8c"
      ],
      "author": {
        "name": "Jan Lehnardt",
        "email": "jan@apache.org",
        "time": "Thu Jan 05 15:53:19 2023 +0100"
      },
      "committer": {
        "name": "Jan Lehnardt",
        "email": "jan@apache.org",
        "time": "Thu Jan 05 17:01:52 2023 +0100"
      },
      "message": "update version numbers to 3.3.1\n"
    },
    {
      "commit": "33d9a841b3552fa1946fe17bba3e1358a77b2d8c",
      "tree": "9b632615d396f024e23992630d79082611946f67",
      "parents": [
        "3cc22f4a88d1b18f031c89172a2ede4d13135e89"
      ],
      "author": {
        "name": "Jan Lehnardt",
        "email": "jan@apache.org",
        "time": "Thu Jan 05 11:36:17 2023 +0100"
      },
      "committer": {
        "name": "Jan Lehnardt",
        "email": "jan@apache.org",
        "time": "Thu Jan 05 13:50:49 2023 +0100"
      },
      "message": "fix: undefined function warning\n"
    },
    {
      "commit": "3cc22f4a88d1b18f031c89172a2ede4d13135e89",
      "tree": "80ff9b996a2eb66b8b0058961f4edf8c8e254e8b",
      "parents": [
        "33ee2164e6e73429193bc353a2c7dfb9d27a7790"
      ],
      "author": {
        "name": "Jan Lehnardt",
        "email": "jan@apache.org",
        "time": "Thu Jan 05 10:48:28 2023 +0100"
      },
      "committer": {
        "name": "Jan Lehnardt",
        "email": "jan@apache.org",
        "time": "Thu Jan 05 12:46:52 2023 +0100"
      },
      "message": "feat: remove failed couch_plugins experiment\n"
    },
    {
      "commit": "33ee2164e6e73429193bc353a2c7dfb9d27a7790",
      "tree": "2c3bd87b1f418881fce0121c6b2ecddcb56c41d6",
      "parents": [
        "f8d489f3185accb9acd4d732330d52d9d05bb19a",
        "d524ddb4ffe3585a86aa8b657f30e0e22d07b307"
      ],
      "author": {
        "name": "Robert Newson",
        "email": "rnewson@apache.org",
        "time": "Wed Jan 04 23:56:22 2023 +0000"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Jan 04 23:56:22 2023 +0000"
      },
      "message": "Merge pull request #4346 from apache/find_bugs\n\nadd find_bugs makefile target for undefined functions"
    },
    {
      "commit": "d524ddb4ffe3585a86aa8b657f30e0e22d07b307",
      "tree": "2c3bd87b1f418881fce0121c6b2ecddcb56c41d6",
      "parents": [
        "f8d489f3185accb9acd4d732330d52d9d05bb19a"
      ],
      "author": {
        "name": "Robert Newson",
        "email": "rnewson@apache.org",
        "time": "Wed Jan 04 22:02:20 2023 +0000"
      },
      "committer": {
        "name": "Robert Newson",
        "email": "rnewson@apache.org",
        "time": "Wed Jan 04 22:02:20 2023 +0000"
      },
      "message": "add find_bugs makefile target for undefined functions\n"
    },
    {
      "commit": "f8d489f3185accb9acd4d732330d52d9d05bb19a",
      "tree": "a7f67b465c1fc203d4674f815f22bb2e043ddf05",
      "parents": [
        "8e47e7161642540e0767b83630538f7bcfdfaade"
      ],
      "author": {
        "name": "Jay Doane",
        "email": "jaydoane@apache.org",
        "time": "Wed Jan 04 10:06:33 2023 -0800"
      },
      "committer": {
        "name": "Jay Doane",
        "email": "jay.s.doane@gmail.com",
        "time": "Wed Jan 04 13:27:36 2023 -0800"
      },
      "message": "Add test coverage for replicator user_ctx parser\n\nThis adds a test to cover the case when a replication doc contains a\nuser_ctx, and subsequently executes `get_json_value/3`.\n\nSee: https://github.com/apache/couchdb/pull/4343\n"
    },
    {
      "commit": "8e47e7161642540e0767b83630538f7bcfdfaade",
      "tree": "14d0baaf4ef94c49b32b78c593f132e87d94b250",
      "parents": [
        "f439d4ec2e58bdf06f918012d46a6449e70c4dda",
        "2c1ca11168c386e475aa6aedfde71b7f497d39bf"
      ],
      "author": {
        "name": "Robert Newson",
        "email": "rnewson@apache.org",
        "time": "Wed Jan 04 17:44:59 2023 +0000"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Jan 04 17:44:59 2023 +0000"
      },
      "message": "Merge pull request #4343 from apache/fix-undef-replication-body-parse\n\n"
    },
    {
      "commit": "2c1ca11168c386e475aa6aedfde71b7f497d39bf",
      "tree": "14d0baaf4ef94c49b32b78c593f132e87d94b250",
      "parents": [
        "f439d4ec2e58bdf06f918012d46a6449e70c4dda"
      ],
      "author": {
        "name": "Robert Newson",
        "email": "rnewson@apache.org",
        "time": "Wed Jan 04 17:01:36 2023 +0000"
      },
      "committer": {
        "name": "Robert Newson",
        "email": "rnewson@apache.org",
        "time": "Wed Jan 04 17:01:39 2023 +0000"
      },
      "message": "fix undef when parsing replication doc body\n\nCloses https://github.com/apache/couchdb-fauxton/issues/1382\n"
    },
    {
      "commit": "f439d4ec2e58bdf06f918012d46a6449e70c4dda",
      "tree": "16e22e9739f59e4fc677147df89b837b3092e99b",
      "parents": [
        "8d1479d6825e8bc5f67e46d7c9fb8ed1c162b131"
      ],
      "author": {
        "name": "Ronny Berndt",
        "email": "ronny@apache.org",
        "time": "Fri Dec 30 18:57:38 2022 +0100"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Dec 30 18:57:38 2022 +0100"
      },
      "message": "Update PR template (#4338)\n\nRemind committers to backport doc changes to other branches."
    },
    {
      "commit": "8d1479d6825e8bc5f67e46d7c9fb8ed1c162b131",
      "tree": "70e3239084bafe9432f56586cb4cb85c97e5406c",
      "parents": [
        "f6ddbe24cace7a841508c451bc12820b9d76c218"
      ],
      "author": {
        "name": "Nick Vatamaniuc",
        "email": "vatamane@apache.org",
        "time": "Thu Dec 29 16:32:01 2022 -0500"
      },
      "committer": {
        "name": "Nick Vatamaniuc",
        "email": "nickva@users.noreply.github.com",
        "time": "Thu Dec 29 20:45:21 2022 -0500"
      },
      "message": "Update Erlang versions\n\nUpdate all 23,24,25 to latest patch versions\n\nUse 24 as a base for the full CI run\n"
    },
    {
      "commit": "f6ddbe24cace7a841508c451bc12820b9d76c218",
      "tree": "f11ff9fe6cffe5da46e8d1ad92ef829b232458b0",
      "parents": [
        "4d56d354c6b1b92caaaa4f4a49af2b7706dcddb6"
      ],
      "author": {
        "name": "eanyanwu",
        "email": "ezeanyinabia.anyanwu@gmail.com",
        "time": "Wed Dec 21 13:51:48 2022 -0500"
      },
      "committer": {
        "name": "Nick Vatamaniuc",
        "email": "nickva@users.noreply.github.com",
        "time": "Thu Dec 22 02:53:22 2022 -0500"
      },
      "message": "Fix documentation to reflect default_security change\n"
    },
    {
      "commit": "4d56d354c6b1b92caaaa4f4a49af2b7706dcddb6",
      "tree": "e398c201c9d7bf7f3b196a90a3521665bcae9e42",
      "parents": [
        "ab33d84b29e7d2c5f8f56fd98b3009af90d8b654"
      ],
      "author": {
        "name": "Nick Vatamaniuc",
        "email": "vatamane@apache.org",
        "time": "Wed Dec 21 23:42:25 2022 -0500"
      },
      "committer": {
        "name": "Nick Vatamaniuc",
        "email": "nickva@users.noreply.github.com",
        "time": "Thu Dec 22 02:15:08 2022 -0500"
      },
      "message": "Update release notes for 3.3.0-RC2\n"
    },
    {
      "commit": "ab33d84b29e7d2c5f8f56fd98b3009af90d8b654",
      "tree": "2b969ad2ac08134f615e576ec79214b92ca13bda",
      "parents": [
        "9aee170be14143cf2dfd28a74674a6511b0f3a48"
      ],
      "author": {
        "name": "Nick Vatamaniuc",
        "email": "vatamane@apache.org",
        "time": "Wed Dec 21 11:53:56 2022 -0500"
      },
      "committer": {
        "name": "Nick Vatamaniuc",
        "email": "nickva@users.noreply.github.com",
        "time": "Wed Dec 21 13:45:43 2022 -0500"
      },
      "message": "Fix full CI build\n\nDon\u0027t run erlfmt and elixir format checks\n\nWe already ran those during the pull request CI phase\n"
    },
    {
      "commit": "9aee170be14143cf2dfd28a74674a6511b0f3a48",
      "tree": "7c493bf94fdea73a8f821043ba8b516738bac3e3",
      "parents": [
        "1c214267c27c7c68d1717ae0fe5602a14d64a2f5"
      ],
      "author": {
        "name": "Ronny Berndt",
        "email": "ronny@apache.org",
        "time": "Wed Dec 21 13:19:51 2022 +0100"
      },
      "committer": {
        "name": "Jan Lehnardt",
        "email": "jan@apache.org",
        "time": "Wed Dec 21 18:43:15 2022 +0100"
      },
      "message": "Fix {eaddrnotavail} in elixir tests under Windows\n"
    },
    {
      "commit": "1c214267c27c7c68d1717ae0fe5602a14d64a2f5",
      "tree": "c5806a7515dcd76b6ced31cf0e76f7148b3581bd",
      "parents": [
        "088cb3ffece9d523bd35ca18a97c797680008a61"
      ],
      "author": {
        "name": "Ronny Berndt",
        "email": "ronny@apache.org",
        "time": "Wed Dec 21 18:00:44 2022 +0100"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Dec 21 18:00:44 2022 +0100"
      },
      "message": "Ignore built win binaries 2 (#4329)\n\n"
    },
    {
      "commit": "088cb3ffece9d523bd35ca18a97c797680008a61",
      "tree": "2008276a1430de928fec34003c281aae97c2fe80",
      "parents": [
        "e6b1be70050fe887f7438a43dba4833b0fc8022e"
      ],
      "author": {
        "name": "Nick Vatamaniuc",
        "email": "vatamane@gmail.com",
        "time": "Tue Dec 20 23:49:07 2022 -0500"
      },
      "committer": {
        "name": "Jan Lehnardt",
        "email": "jan@apache.org",
        "time": "Wed Dec 21 08:49:02 2022 +0100"
      },
      "message": "Move elixir source checks to a separate step\n\nThis is to help unblock 3.3 windows build so make check doesn\u0027t choke on\nre-formatting elixir files for Windows.\n"
    },
    {
      "commit": "e6b1be70050fe887f7438a43dba4833b0fc8022e",
      "tree": "d85af95af7d02553afbd174267164af4fed66e56",
      "parents": [
        "783c54e3a8e8e0e16e21afa56fdd25eb81ea85fb"
      ],
      "author": {
        "name": "Ronny Berndt",
        "email": "ronny@apache.org",
        "time": "Tue Dec 20 11:20:21 2022 +0100"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Dec 20 11:20:21 2022 +0100"
      },
      "message": "Ignore built win binaries (#4323)\n\n"
    },
    {
      "commit": "783c54e3a8e8e0e16e21afa56fdd25eb81ea85fb",
      "tree": "62cb59bd4e321f1bde7419d0828ba2ce5597000e",
      "parents": [
        "b5da5b66b8e2b2f0fe86ca142f1c45a63b5f9e0f"
      ],
      "author": {
        "name": "Ronny Berndt",
        "email": "ronny@apache.org",
        "time": "Tue Dec 20 10:23:36 2022 +0100"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Dec 20 10:23:36 2022 +0100"
      },
      "message": "Write relax-message to standard output on Windows (#4317)\n\n"
    },
    {
      "commit": "b5da5b66b8e2b2f0fe86ca142f1c45a63b5f9e0f",
      "tree": "3db6be34ba29d3f03819c3fce0282e7c1032a323",
      "parents": [
        "bfd8d55b397925572f83f660d830078924c8e8bd"
      ],
      "author": {
        "name": "Nick Vatamaniuc",
        "email": "vatamane@apache.org",
        "time": "Tue Dec 20 00:44:25 2022 -0500"
      },
      "committer": {
        "name": "Nick Vatamaniuc",
        "email": "nickva@users.noreply.github.com",
        "time": "Tue Dec 20 03:15:43 2022 -0500"
      },
      "message": "Reuse installed rebar and rebar3 for mix\n\nInstead of having it download its own every time\n"
    },
    {
      "commit": "bfd8d55b397925572f83f660d830078924c8e8bd",
      "tree": "c7ed3693612f67d941e92a3dd3ddb25ecd2bc0a9",
      "parents": [
        "16807eca2c4f9037ecf577410bf966efc0ceb8c4"
      ],
      "author": {
        "name": "Nick Vatamaniuc",
        "email": "vatamane@apache.org",
        "time": "Tue Dec 20 01:31:33 2022 -0500"
      },
      "committer": {
        "name": "Nick Vatamaniuc",
        "email": "nickva@users.noreply.github.com",
        "time": "Tue Dec 20 02:13:03 2022 -0500"
      },
      "message": "Revert jiffy to CouchDB-1.0.9-2 to unblock the 3.3 release\n\nLatest jiffy apparently is blocking windows builds so for now let\u0027s\nrevert to the previous version. The previous version didn\u0027t quite work\nright off the bat as enc doesn\u0027t load on Erlang 25 any longer. So\nthere is a new 1.0.9-2 release wiht enc rebuilt on Erlang 23.\n"
    },
    {
      "commit": "16807eca2c4f9037ecf577410bf966efc0ceb8c4",
      "tree": "26b67e69c1d2e85eb2880c2738cf9a8d6879d965",
      "parents": [
        "8d4c62ed39f7ea787ee879b9f777302f2dd71699"
      ],
      "author": {
        "name": "Nick Vatamaniuc",
        "email": "vatamane@apache.org",
        "time": "Mon Dec 19 02:50:34 2022 -0500"
      },
      "committer": {
        "name": "Nick Vatamaniuc",
        "email": "nickva@users.noreply.github.com",
        "time": "Mon Dec 19 12:28:50 2022 -0500"
      },
      "message": "Return back to allowing offline configure and make release\n\nAt some point it broke - it looks like rebar3, erlfmt and python-black\nusage ended up needing the network to install/update themselves.\n\nMake sure rebar3 and erlfmt is in bin/ alongside rebar, and make\npython-black is in a separate source formatting stage step in CI and\nremove it from `make check`.\n"
    },
    {
      "commit": "8d4c62ed39f7ea787ee879b9f777302f2dd71699",
      "tree": "642717d9fc1f65bcd3a7873701e132ac6a879896",
      "parents": [
        "fb76d3756b41fabbeca5198f369881d0a63a95d6"
      ],
      "author": {
        "name": "Nick Vatamaniuc",
        "email": "vatamane@apache.org",
        "time": "Sat Dec 17 13:53:55 2022 -0500"
      },
      "committer": {
        "name": "Nick Vatamaniuc",
        "email": "nickva@users.noreply.github.com",
        "time": "Sat Dec 17 14:32:50 2022 -0500"
      },
      "message": "Ensure we use the chttpd vs httpd section in fix_uri\n\nIt\u0027s a deprecated feature but we want to make sure it still works.\n"
    },
    {
      "commit": "fb76d3756b41fabbeca5198f369881d0a63a95d6",
      "tree": "c082462894eb3495241f037a5dd8290b5ebcafbd",
      "parents": [
        "9ac1b95fa1eca0f00ae63188da91b552ce97ccd3"
      ],
      "author": {
        "name": "Nick Vatamaniuc",
        "email": "vatamane@gmail.com",
        "time": "Fri Dec 16 21:29:40 2022 -0500"
      },
      "committer": {
        "name": "Nick Vatamaniuc",
        "email": "nickva@users.noreply.github.com",
        "time": "Fri Dec 16 23:33:21 2022 -0500"
      },
      "message": "Bump version to 3.3.0\n"
    },
    {
      "commit": "9ac1b95fa1eca0f00ae63188da91b552ce97ccd3",
      "tree": "8525eddd21c9fb0187ad6f12a2052039d4699e59",
      "parents": [
        "23a2d85e58563783762c464c23ab61c49d7e7459"
      ],
      "author": {
        "name": "Nick Vatamaniuc",
        "email": "vatamane@gmail.com",
        "time": "Fri Dec 16 14:13:58 2022 -0500"
      },
      "committer": {
        "name": "Nick Vatamaniuc",
        "email": "nickva@users.noreply.github.com",
        "time": "Fri Dec 16 15:17:23 2022 -0500"
      },
      "message": "Bump Fauxton to v1.2.9\n"
    },
    {
      "commit": "23a2d85e58563783762c464c23ab61c49d7e7459",
      "tree": "36f97a6aab7e93b02b7d26692119c687420a4259",
      "parents": [
        "ebd7ce2e9648d4d33a62e80ee6848f7561f2ea7c"
      ],
      "author": {
        "name": "Nick Vatamaniuc",
        "email": "vatamane@gmail.com",
        "time": "Thu Dec 15 22:45:54 2022 -0500"
      },
      "committer": {
        "name": "Jan Lehnardt",
        "email": "jan@apache.org",
        "time": "Fri Dec 16 08:49:01 2022 +0100"
      },
      "message": "Update 3.3 release notes.\n\n * Since the replicator optimization issues were a bit scattered, create a\n   single parent one as a highlight, and also run somewhat more realistic\n   benchmark tests.\n\n * Add an image macro to keep the tradition going.\n\n * Update docs section with a 5.3.0 PR which just merged.\n\n * Add reference to the newly merged `couchjs -v` enhancement.\n"
    },
    {
      "commit": "ebd7ce2e9648d4d33a62e80ee6848f7561f2ea7c",
      "tree": "5c3053f21a9ebe8a65f3ab01c4592e27f01b52ba",
      "parents": [
        "be1d36a01e32b56f5499da00a0ce01e38418de53"
      ],
      "author": {
        "name": "Ronny Berndt",
        "email": "ronny@apache.org",
        "time": "Thu Dec 15 23:30:55 2022 +0100"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Dec 15 23:30:55 2022 +0100"
      },
      "message": "Show version of spidermonkey runtime in couchjs (#4262)\n\n"
    },
    {
      "commit": "be1d36a01e32b56f5499da00a0ce01e38418de53",
      "tree": "cc192b14b7f3b7bd92e03bcb3e0aaad5bce84c41",
      "parents": [
        "7ef834d273360079937213c09c8dbba9f32f7bb2"
      ],
      "author": {
        "name": "Nick Vatamaniuc",
        "email": "vatamane@gmail.com",
        "time": "Thu Dec 15 14:15:28 2022 -0500"
      },
      "committer": {
        "name": "Nick Vatamaniuc",
        "email": "nickva@users.noreply.github.com",
        "time": "Thu Dec 15 14:22:56 2022 -0500"
      },
      "message": "Update Sphinx to 5.3.0\n"
    },
    {
      "commit": "7ef834d273360079937213c09c8dbba9f32f7bb2",
      "tree": "555a69834149a409dae205ebe4754ebae0a93a44",
      "parents": [
        "99a8f666c8b9d1f5a6ebbb09c83e59e1916c0205"
      ],
      "author": {
        "name": "Jan Lehnardt",
        "email": "jan@apache.org",
        "time": "Thu Nov 03 15:16:18 2022 +0100"
      },
      "committer": {
        "name": "Nick Vatamaniuc",
        "email": "nickva@users.noreply.github.com",
        "time": "Thu Dec 15 12:49:45 2022 -0500"
      },
      "message": "docs: add 3.3.0 relese notes\n"
    },
    {
      "commit": "99a8f666c8b9d1f5a6ebbb09c83e59e1916c0205",
      "tree": "fe4595e6b1bc63bbc9c979013968059d0a7b4bda",
      "parents": [
        "641586116fc6f78228f203c04e8eca9660e2027f"
      ],
      "author": {
        "name": "Jan Lehnardt",
        "email": "jan@apache.org",
        "time": "Tue Dec 13 14:54:36 2022 +0100"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Dec 13 14:54:36 2022 +0100"
      },
      "message": "fix(3517): super-simplistic fix to avoid costly AST transforms when t… (#4292)\n\n* fix(3517): super-simplistic fix to avoid costly AST transforms when they are not needed\r\n\r\nCo-authored-by: Ronny Berndt \u003cronny@apache.org\u003e"
    },
    {
      "commit": "641586116fc6f78228f203c04e8eca9660e2027f",
      "tree": "b05b7223b8e5e7d37f079f368ce95ce10b68bb9c",
      "parents": [
        "e02613e018f2850a73cf1cbd849e0d5deba467cb"
      ],
      "author": {
        "name": "Ronny Berndt",
        "email": "ronny@apache.org",
        "time": "Mon Dec 12 18:29:43 2022 +0100"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Dec 12 18:29:43 2022 +0100"
      },
      "message": "Fix rendering of inline literal with withespaces (#4301)\n\nFix wrong rendering of an inline literal with whitespaces.\r\nUse `:literal` as workaround, with esacpes whitespace `\\ ` and added\r\nnon-break-whitespace chars (U+00A0)."
    },
    {
      "commit": "e02613e018f2850a73cf1cbd849e0d5deba467cb",
      "tree": "2e6366dc6839651fe900a91330dce9f3f3c71edc",
      "parents": [
        "5910faadc6fed622645bfe9d9354c3e8eba90fca"
      ],
      "author": {
        "name": "mikhailantoshkin",
        "email": "mike.antoshkin@gmail.com",
        "time": "Mon Dec 12 18:22:14 2022 +0500"
      },
      "committer": {
        "name": "Nick Vatamaniuc",
        "email": "nickva@users.noreply.github.com",
        "time": "Mon Dec 12 11:33:38 2022 -0500"
      },
      "message": "Add note on how to configure replicaton backoff (#4299)\n\nDocumentation was mentioning the exponential backoff on `Crashing` and\n`Error` states but did not mention how to configure it. This commit\nadds note on relation of `max_history` and maximum backoff with link to\nappropriate configuration section.\n"
    },
    {
      "commit": "5910faadc6fed622645bfe9d9354c3e8eba90fca",
      "tree": "4cf53657f28b04d031f31036297e955d8088dae5",
      "parents": [
        "33a5be50339eb40dd3950a425c6fbfc7839ce6f9"
      ],
      "author": {
        "name": "Nick Vatamaniuc",
        "email": "vatamane@gmail.com",
        "time": "Wed Dec 07 00:20:29 2022 -0500"
      },
      "committer": {
        "name": "Nick Vatamaniuc",
        "email": "nickva@users.noreply.github.com",
        "time": "Thu Dec 08 11:44:48 2022 -0500"
      },
      "message": "Fix a few more flaky smoosh tests\n\nGive up trying to wait on compaction pids, since even if they finished the\ncompaction itself isn\u0027t done and swapping hasn\u0027t happened yet. Instead just\npoll db and view sizes until those show a lowered file size.\n\nTo avoid other channels possibly getting in the way, by default unpausing only\nthe \"ratio_dbs\" one, and as needed unpause others depending on the test.\n"
    },
    {
      "commit": "33a5be50339eb40dd3950a425c6fbfc7839ce6f9",
      "tree": "f8bdaf2b87d17179c16e31c1faa056a472032838",
      "parents": [
        "28c3ccc08d8ad97f09738cbec0ce45d30d556d9c"
      ],
      "author": {
        "name": "Nick Vatamaniuc",
        "email": "vatamane@gmail.com",
        "time": "Tue Dec 06 14:12:33 2022 -0500"
      },
      "committer": {
        "name": "Nick Vatamaniuc",
        "email": "nickva@users.noreply.github.com",
        "time": "Tue Dec 06 14:51:54 2022 -0500"
      },
      "message": "Fix flaky checkpointing smoosh test\n\nThis may not be a 100% fix just doing extra asserts that file operations have\nsucceeded and making to wait for the compactor to exit and match the exit\nreason exactly, to make sure we killed and it does as expected.\n"
    },
    {
      "commit": "28c3ccc08d8ad97f09738cbec0ce45d30d556d9c",
      "tree": "be870df73dafdfe78cadf1bd90705a11c5f04cee",
      "parents": [
        "5c5016e7d24b986d44f01f7bf4d0c0f3550324c5"
      ],
      "author": {
        "name": "Nick Vatamaniuc",
        "email": "vatamane@gmail.com",
        "time": "Mon Dec 05 15:04:18 2022 -0500"
      },
      "committer": {
        "name": "Nick Vatamaniuc",
        "email": "nickva@users.noreply.github.com",
        "time": "Mon Dec 05 15:59:20 2022 -0500"
      },
      "message": "Ensure prevent_overlapping_partitions stays false in Erlang 25+\n\nIt\u0027s already false in 23 and 24 but will start to be enabled in 25+. We don\u0027t\nrely on global for process registration any more, and have our own\nauto-connection module. So we don\u0027t want to be caught by surprise in Erlang 25+\nsince there is some additional coordination and resource usage needed when this\noption is true. See https://github.com/erlang/otp/issues/6470 for an example.\n"
    },
    {
      "commit": "5c5016e7d24b986d44f01f7bf4d0c0f3550324c5",
      "tree": "7b2ce62f5f6ab84e9e56b91dee953220f4cdac20",
      "parents": [
        "eff331c9f5e734d318f9491c469e9d7be08e6999"
      ],
      "author": {
        "name": "Ronny Berndt",
        "email": "ronny@apache.org",
        "time": "Mon Dec 05 16:54:11 2022 +0100"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Dec 05 16:54:11 2022 +0100"
      },
      "message": "Fix unbound variable warning (#4289)\n\nWhile the variable `RelativeFileName` is not really unbound in the case-statement, use a\r\nmore up-to-date pattern for binding the value."
    },
    {
      "commit": "eff331c9f5e734d318f9491c469e9d7be08e6999",
      "tree": "119dc8305932d7583c024c48ebc101ba1455292b",
      "parents": [
        "958d0531087f198e7654a396ce192d1dc5790a36"
      ],
      "author": {
        "name": "Nick Vatamaniuc",
        "email": "vatamane@gmail.com",
        "time": "Sat Dec 03 03:01:25 2022 -0500"
      },
      "committer": {
        "name": "Nick Vatamaniuc",
        "email": "nickva@users.noreply.github.com",
        "time": "Sun Dec 04 12:38:25 2022 -0500"
      },
      "message": "Allow \u003d in config key names\n\nThey are allowed only for the \"k \u003d v\" format and not the \"k\u003dv\" format. The idea\nis to split on \" \u003d \" first, and if that fails to produce a valid kv pair we\nsplit on \"\u003d\" as before.\n\nTo implement it, simplify the parsing logic and remove the undocumented\nmulti-line config value feature. The continuation syntax is not documented\nanywhere and not used by our default.ini or in documentation.\n\nFix: https://github.com/apache/couchdb/issues/3319\n"
    },
    {
      "commit": "958d0531087f198e7654a396ce192d1dc5790a36",
      "tree": "0cdadc134835ce0f4cfe487a253214bae415e257",
      "parents": [
        "214b564e90937f2083718ba67779a2f04dd245c6"
      ],
      "author": {
        "name": "Nick Vatamaniuc",
        "email": "vatamane@gmail.com",
        "time": "Fri Dec 02 14:16:51 2022 -0500"
      },
      "committer": {
        "name": "Nick Vatamaniuc",
        "email": "nickva@users.noreply.github.com",
        "time": "Fri Dec 02 15:36:20 2022 -0500"
      },
      "message": "Increase ddoc_cache test timeouts\n\nTo hopefully fix a flaky test I noticed:\n\n```\nmodule \u0027ddoc_cache_lru_test\u0027\n...\nddoc_cache_lru_test:97: with (check_cache_refill)...*failed*\n...\nin function meck_proc:wait/6 (src/meck_proc.erl, line 171)\nin call from ddoc_cache_lru_test:check_cache_refill/1 (test/eunit/ddoc_cache_lru_test.erl, line 204)\nin call from eunit_test:run_testfun/1 (eunit_test.erl, line 71)\n**error:timeout\n```\n"
    },
    {
      "commit": "214b564e90937f2083718ba67779a2f04dd245c6",
      "tree": "af5b7588111622dc14a49f4baca10ca35c454b9d",
      "parents": [
        "4530f8e1f0613bcb2118aef157f0151507866ddd"
      ],
      "author": {
        "name": "Nick Vatamaniuc",
        "email": "vatamane@gmail.com",
        "time": "Fri Dec 02 11:30:02 2022 -0500"
      },
      "committer": {
        "name": "Nick Vatamaniuc",
        "email": "nickva@users.noreply.github.com",
        "time": "Fri Dec 02 14:16:29 2022 -0500"
      },
      "message": "Add debug logs to smoosh test\n\nSaw this fail 2 in a the last week or so but couldn\u0027t reproduce it locally.\nInstead of deleting, this is an attempt to emit debug lines to see how far it\ngoes before it times out in the CI.\n"
    },
    {
      "commit": "4530f8e1f0613bcb2118aef157f0151507866ddd",
      "tree": "5c19498f07cfcd6a0bd7db917e465a1f9c012c61",
      "parents": [
        "f13ceb46ce3c120e1960fa47bfda0a606601900e"
      ],
      "author": {
        "name": "Nick Vatamaniuc",
        "email": "vatamane@gmail.com",
        "time": "Thu Dec 01 15:02:24 2022 -0500"
      },
      "committer": {
        "name": "Nick Vatamaniuc",
        "email": "nickva@users.noreply.github.com",
        "time": "Fri Dec 02 11:53:21 2022 -0500"
      },
      "message": "Remove all usage of global\n\nGlobal has a tendency to create deadlocks [1], and when that happens\nreplication jobs can\u0027t start on any of the nodes in the cluster.\n\nWe don\u0027t really need strict consistent locking for replication jobs. It\u0027s\nmostly to avoid replication jobs thrashing the same checkpoint docs back and\nforth between different session IDs. So, remove global to avoid any issues\naround it, and replace it with `pg` -- the new (Erlang 23+) process group\nimplementation. (Technically `global` is still running in the runtime system as\nit\u0027s started by the `kernel` app. We just avoid interacting with it and\nregistering any names to avoid deadlocks).\n\nIn `pg` we start a replication `scope`, and then in that scope make every RepId\na process `group`. When replication processes spawn, their Pids becomes\n`members` of that group:\n\n```\ncouch_replicator_pg (scope):\n        \"a12c+create_target\" (RepId group):\n                [Pid1, Pid2] (members)\n        ...\n```\n\nAs per `pg` implementation, groups are created and remove automatically as\nmembers are added/removed from it, so we don\u0027t have to do anything there.\n\nIf there are already any running Pids in the same group, we avoid starting the\njobs, and fail like we did before when we used global. In the even more rare\ncase of a race condition, when 2+ jobs do manage to start, we do a membership\ncheck before each checkpoint. One of the jobs then stops to yield to another.\nFor simplicity pick the one running on the lowest lexicographically sorted node\nname to survive.\n\n[1] https://github.com/erlang/otp/issues/6524\n[2] https://www.erlang.org/doc/man/pg.html\n"
    },
    {
      "commit": "f13ceb46ce3c120e1960fa47bfda0a606601900e",
      "tree": "abfe7681f984cf8d3071929420ef124790b7fa90",
      "parents": [
        "fb5ade222d887bb92a564de0e1b8f818d3ffc915"
      ],
      "author": {
        "name": "Nick Vatamaniuc",
        "email": "vatamane@gmail.com",
        "time": "Tue Nov 22 11:31:54 2022 -0500"
      },
      "committer": {
        "name": "Nick Vatamaniuc",
        "email": "nickva@users.noreply.github.com",
        "time": "Wed Nov 30 00:23:07 2022 -0500"
      },
      "message": "Improve validation of replicator job parameters\n\nThere are two main improvements:\n\n  * Replace the auto-inserted replicator VDU with a BDU. Replicator already had\n    a BDU to update the `\"owner\"` field, so plug right into it and validate\n    everything we need there. This way, the validation and parsing logic is all\n    in one module. The previously inserted VDU design doc will be deleted.\n\n  * Allow constraining endpoint protocol types and socket options. Previously,\n    users could create replications with any low level socket options. Some of\n    those are dangerous and are possible \"foot-guns\". Restrict those options to\n    a more usable set.\n\nIn addition to those improvements, increase test coverage a bit by explicitly\nchecking a few more parsing corner cases.\n\nFixes #4273\n"
    },
    {
      "commit": "fb5ade222d887bb92a564de0e1b8f818d3ffc915",
      "tree": "e5ab2acc24dde24cec9764f58d60de03f4d70f9e",
      "parents": [
        "46d585e6fac4728fc8f7b4bdc6b24ddb0a57b526"
      ],
      "author": {
        "name": "Ronny Berndt",
        "email": "ronny@apache.org",
        "time": "Mon Nov 28 10:35:35 2022 +0100"
      },
      "committer": {
        "name": "Nick Vatamaniuc",
        "email": "nickva@users.noreply.github.com",
        "time": "Mon Nov 28 22:55:35 2022 -0500"
      },
      "message": "Format config files\n\nAdjust configuration files to improve readability.\nAdjust all config keys to use the same pattern (semi-colon w/o ws):\n\";key \u003d value\"\nAdjust comments (semi-colon with ws):\n\"; My comment description\"\nAdded new-line between description and config key, if config-key\nhas a description\n"
    }
  ],
  "next": "46d585e6fac4728fc8f7b4bdc6b24ddb0a57b526"
}
