{"payload":{"feedbackUrl":"https://github.com/orgs/community/discussions/53140","repo":{"id":206417,"defaultBranch":"main","name":"couchdb","ownerLogin":"apache","currentUserCanPush":false,"isFork":false,"isEmpty":false,"createdAt":"2009-05-21T02:03:38.000Z","ownerAvatar":"https://avatars.githubusercontent.com/u/47359?v=4","public":true,"private":false,"isOrgOwned":true},"refInfo":{"name":"","listCacheKey":"v0:1715190564.0","currentOid":""},"activityList":{"items":[{"before":"9062983b53ae3fe2c552248cd819b0fc23b305f8","after":null,"ref":"refs/heads/jenkins-update-erlang-versions","pushedAt":"2024-05-08T17:49:24.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"nickva","name":"Nick Vatamaniuc","path":"/nickva","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/211822?s=80&v=4"}},{"before":"e3a819f41a9b63635f5a9bc738194467888d094c","after":"022ffd15f0fbb29aaa8c2b97e9eda0695a6d3759","ref":"refs/heads/main","pushedAt":"2024-05-08T17:49:21.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"nickva","name":"Nick Vatamaniuc","path":"/nickva","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/211822?s=80&v=4"},"commit":{"message":"Update CI Erlang versions","shortMessageHtmlLink":"Update CI Erlang versions"}},{"before":"e9b80c2417bfff46e180b6ba3e2c9da1f2202789","after":"9062983b53ae3fe2c552248cd819b0fc23b305f8","ref":"refs/heads/jenkins-update-erlang-versions","pushedAt":"2024-05-08T14:29:30.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"nickva","name":"Nick Vatamaniuc","path":"/nickva","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/211822?s=80&v=4"},"commit":{"message":"Update CI Erlang versions","shortMessageHtmlLink":"Update CI Erlang versions"}},{"before":"78309a678c8f34e49be531b003c4effddacca380","after":null,"ref":"refs/heads/dropwizard-4.0.7","pushedAt":"2024-05-08T06:33:16.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"rnewson","name":"Robert Newson","path":"/rnewson","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/47223?s=80&v=4"}},{"before":"2884d67af168d25f4aff83a72474f858f6bcde1d","after":"e3a819f41a9b63635f5a9bc738194467888d094c","ref":"refs/heads/main","pushedAt":"2024-05-08T06:33:12.000Z","pushType":"pr_merge","commitsCount":2,"pusher":{"login":"rnewson","name":"Robert Newson","path":"/rnewson","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/47223?s=80&v=4"},"commit":{"message":"Merge pull request #5047 from apache/dropwizard-4.0.7\n\nupgrade dropwizard to 4.0.7","shortMessageHtmlLink":"Merge pull request #5047 from apache/dropwizard-4.0.7"}},{"before":"70da0931cc177a83d751bb468af2674ca0bd764a","after":"e9b80c2417bfff46e180b6ba3e2c9da1f2202789","ref":"refs/heads/jenkins-update-erlang-versions","pushedAt":"2024-05-08T05:04:21.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"nickva","name":"Nick Vatamaniuc","path":"/nickva","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/211822?s=80&v=4"},"commit":{"message":"Update CI Erlang versions","shortMessageHtmlLink":"Update CI Erlang versions"}},{"before":null,"after":"70da0931cc177a83d751bb468af2674ca0bd764a","ref":"refs/heads/jenkins-update-erlang-versions","pushedAt":"2024-05-08T05:00:54.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"nickva","name":"Nick Vatamaniuc","path":"/nickva","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/211822?s=80&v=4"},"commit":{"message":"Update CI Erlang versions","shortMessageHtmlLink":"Update CI Erlang versions"}},{"before":null,"after":"78309a678c8f34e49be531b003c4effddacca380","ref":"refs/heads/dropwizard-4.0.7","pushedAt":"2024-05-07T20:04:18.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"rnewson","name":"Robert Newson","path":"/rnewson","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/47223?s=80&v=4"},"commit":{"message":"upgrade dropwizard to 4.0.7","shortMessageHtmlLink":"upgrade dropwizard to 4.0.7"}},{"before":"b3a00dca95ce60985ef874bc2fb133b249a56897","after":"8e56ed98e45db2d8907dce404b7f6f9df3ac36ac","ref":"refs/heads/qjs","pushedAt":"2024-05-06T22:37:29.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"nickva","name":"Nick Vatamaniuc","path":"/nickva","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/211822?s=80&v=4"},"commit":{"message":"Add QuickJS as a Javascript engine option\n\nhttps://bellard.org/quickjs\n\nSome benefits over SM:\n\n * Small. We're using 6 or so C files vs 700+ SM91 C++ files.\n\n * Built with Apache CouchDB as opposed having to maintain a separate SM\n package, like for RHEL9, for instance, where they dropped support for SM\n already. (see https://github.com/apache/couchdb/issues/4154).\n\n * Embedding friendly. Designed from ground-up for embedding. SM has been\n updating the C++ API such that we have to keep copy-pasting new versions of\n our C++ code every year or so. (see\n https://github.com/apache/couchdb/pull/4305).\n\n * Easy to modify to accept Spidermonkey 1.8.5 top level functions for\n map/reduce code so we don't have have to parse the JS, AST transform it, and\n then re-compile it.\n\n * Configurable runtime feature set - can disable workers, promises and other\n API and features which may not work well in a backend JS environment. Some\n users may want more, some may want to disable even Date(time) features to\n hedge again Spectre-style attacks (spectreattack.com).\n\n * Allows granular time (reduction) tracking if we wanted to provide a runtime\n allowance for each function.\n\n * Better sandboxing. Creating a whole JSRuntime takes only 300 microseconds, so\n we can afford to do that on reset. JSRuntimes cannot share JS data or object\n between them.\n\n * Seems to be faster in preliminary benchmarking with small\n concurrent VDU and view builds:\n https://gist.github.com/nickva/ed239651114794ebb138b1f16c5f6758\n Results seem promising:\n - 4x faster than SM 1.8.5\n - 5x faster than SM 91\n - 6x reduced memory usage per couchjs process (5MB vs 30MB)\n\n * Allows compiling JS bytecode ahead of time a C array of bytes.\n\nQuickJS can be built alongside Spidermonkey and toggled on/off at runtime:\n\n```\n./configure --dev --js-engine=quickjs\n```\n\nThis makes it the default engine. But Spidermonkey can still be set in the\nconfig option.\n\n```\n[couchdb]\njs_engine = spidermonkey | quickjs\n```\n\nTo test individual views, without switching the default use the\n`javascript_quickjs` language in the design docs. To keep using Spidermonkey\nengine after switching the default, can use `javascript_spidermonkey` language\nin design docs. However, language selection will reset the view and the view\nwill have to be rebuilt.\n\nIt's also possible to build without Spidermonkey support completely by using:\n```\n./configure --disable-spidermonkey\n```\n\nIssue: https://github.com/apache/couchdb/issues/4448","shortMessageHtmlLink":"Add QuickJS as a Javascript engine option"}},{"before":"6cbb382734197561a3502ed90dda46d129ffa6fd","after":"b3a00dca95ce60985ef874bc2fb133b249a56897","ref":"refs/heads/qjs","pushedAt":"2024-05-06T22:00:10.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"nickva","name":"Nick Vatamaniuc","path":"/nickva","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/211822?s=80&v=4"},"commit":{"message":"Add QuickJS as a Javascript engine option\n\nhttps://bellard.org/quickjs\n\nSome benefits over SM:\n\n * Small. We're using 6 or so C files vs 700+ SM91 C++ files.\n\n * Built with Apache CouchDB as opposed having to maintain a separate SM\n package, like for RHEL9, for instance, where they dropped support for SM\n already. (see https://github.com/apache/couchdb/issues/4154).\n\n * Embedding friendly. Designed from ground-up for embedding. SM has been\n updating the C++ API such that we have to keep copy-pasting new versions of\n our C++ code every year or so. (see\n https://github.com/apache/couchdb/pull/4305).\n\n * Easy to modify to accept Spidermonkey 1.8.5 top level functions for\n map/reduce code so we don't have have to parse the JS, AST transform it, and\n then re-compile it.\n\n * Configurable runtime feature set - can disable workers, promises and other\n API and features which may not work well in a backend JS environment. Some\n users may want more, some may want to disable even Date(time) features to\n hedge again Spectre-style attacks (spectreattack.com).\n\n * Allows granular time (reduction) tracking if we wanted to provide a runtime\n allowance for each function.\n\n * Better sandboxing. Creating a whole JSRuntime takes only 300 microseconds, so\n we can afford to do that on reset. JSRuntimes cannot share JS data or object\n between them.\n\n * Seems to be faster in preliminary benchmarking with small\n concurrent VDU and view builds:\n https://gist.github.com/nickva/ed239651114794ebb138b1f16c5f6758\n Results seem promising:\n - 4x faster than SM 1.8.5\n - 5x faster than SM 91\n - 6x reduced memory usage per couchjs process (5MB vs 30MB)\n\n * Allows compiling JS bytecode ahead of time a C array of bytes.\n\nQuickJS can be built alongside Spidermonkey and toggled on/off at runtime:\n\n```\n./configure --dev --js-engine=quickjs\n```\n\nThis makes it the default engine. But Spidermonkey can still be set in the\nconfig option.\n\n```\n[couchdb]\njs_engine = spidermonkey | quickjs\n```\n\nTo test individual views, without switching the default use the\n`javascript_quickjs` language in the design docs. To keep using Spidermonkey\nengine after switching the default, can use `javascript_spidermonkey` language\nin design docs. However, language selection will reset the view and the view\nwill have to be rebuilt.\n\nIt's also possible to build without Spidermonkey support completely by using:\n```\n./configure --disable-spidermonkey\n```\n\nIssue: https://github.com/apache/couchdb/issues/4448","shortMessageHtmlLink":"Add QuickJS as a Javascript engine option"}},{"before":"186762369022293ad4222a5bb17d1ae01b37d40e","after":"6cbb382734197561a3502ed90dda46d129ffa6fd","ref":"refs/heads/qjs","pushedAt":"2024-05-06T21:14:56.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"nickva","name":"Nick Vatamaniuc","path":"/nickva","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/211822?s=80&v=4"},"commit":{"message":"Add QuickJS as a Javascript engine option\n\nhttps://bellard.org/quickjs\n\nSome benefits over SM:\n\n * Small. We're using 6 or so C files vs 700+ SM91 C++ files.\n\n * Built with Apache CouchDB as opposed having to maintain a separate SM\n package, like for RHEL9, for instance, where they dropped support for SM\n already. (see https://github.com/apache/couchdb/issues/4154).\n\n * Embedding friendly. Designed from ground-up for embedding. SM has been\n updating the C++ API such that we have to keep copy-pasting new versions of\n our C++ code every year or so. (see\n https://github.com/apache/couchdb/pull/4305).\n\n * Easy to modify to accept Spidermonkey 1.8.5 top level functions for\n map/reduce code so we don't have have to parse the JS, AST transform it, and\n then re-compile it.\n\n * Configurable runtime feature set - can disable workers, promises and other\n API and features which may not work well in a backend JS environment. Some\n users may want more, some may want to disable even Date(time) features to\n hedge again Spectre-style attacks (spectreattack.com).\n\n * Allows granular time (reduction) tracking if we wanted to provide a runtime\n allowance for each function.\n\n * Better sandboxing. Creating a whole JSRuntime takes only 300 microseconds, so\n we can afford to do that on reset. JSRuntimes cannot share JS data or object\n between them.\n\n * Seems to be faster in preliminary benchmarking with small\n concurrent VDU and view builds:\n https://gist.github.com/nickva/ed239651114794ebb138b1f16c5f6758\n Results seem promising:\n - 4x faster than SM 1.8.5\n - 5x faster than SM 91\n - 6x reduced memory usage per couchjs process (5MB vs 30MB)\n\n * Allows compiling JS bytecode ahead of time a C array of bytes.\n\nQuickJS can be built alongside Spidermonkey and toggled on/off at runtime:\n\n```\n./configure --dev --js-engine=quickjs\n```\n\nThis makes it the default engine. But Spidermonkey can still be set in the\nconfig option.\n\n```\n[couchdb]\njs_engine = spidermonkey | quickjs\n```\n\nTo test individual views, without switching the default use the\n`javascript_quickjs` language in the design docs. To keep using Spidermonkey\nengine after switching the default, can use `javascript_spidermonkey` language\nin design docs. However, language selection will reset the view and the view\nwill have to be rebuilt.\n\nIt's also possible to build without Spidermonkey support completely by using:\n```\n./configure --disable-spidermonkey\n```\n\nIssue: https://github.com/apache/couchdb/issues/4448","shortMessageHtmlLink":"Add QuickJS as a Javascript engine option"}},{"before":"12776d7bf353586443e7767c217bbaaefeca308f","after":"186762369022293ad4222a5bb17d1ae01b37d40e","ref":"refs/heads/qjs","pushedAt":"2024-05-06T21:09:13.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"nickva","name":"Nick Vatamaniuc","path":"/nickva","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/211822?s=80&v=4"},"commit":{"message":"[fixup] rebase quickjs on latest master","shortMessageHtmlLink":"[fixup] rebase quickjs on latest master"}},{"before":"59e784b8e1bc65976e6c977c2674baec37e2d68c","after":"12776d7bf353586443e7767c217bbaaefeca308f","ref":"refs/heads/qjs","pushedAt":"2024-05-06T20:28:35.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"nickva","name":"Nick Vatamaniuc","path":"/nickva","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/211822?s=80&v=4"},"commit":{"message":"Add QuickJS as a Javascript engine option\n\nhttps://bellard.org/quickjs\n\nSome benefits over SM:\n\n * Small. We're using 6 or so C files vs 700+ SM91 C++ files.\n\n * Built with Apache CouchDB as opposed having to maintain a separate SM\n package, like for RHEL9, for instance, where they dropped support for SM\n already. (see https://github.com/apache/couchdb/issues/4154).\n\n * Embedding friendly. Designed from ground-up for embedding. SM has been\n updating the C++ API such that we have to keep copy-pasting new versions of\n our C++ code every year or so. (see\n https://github.com/apache/couchdb/pull/4305).\n\n * Easy to modify to accept Spidermonkey 1.8.5 top level functions for\n map/reduce code so we don't have have to parse the JS, AST transform it, and\n then re-compile it.\n\n * Configurable runtime feature set - can disable workers, promises and other\n API and features which may not work well in a backend JS environment. Some\n users may want more, some may want to disable even Date(time) features to\n hedge again Spectre-style attacks (spectreattack.com).\n\n * Allows granular time (reduction) tracking if we wanted to provide a runtime\n allowance for each function.\n\n * Better sandboxing. Creating a whole JSRuntime takes only 300 microseconds, so\n we can afford to do that on reset. JSRuntimes cannot share JS data or object\n between them.\n\n * Seems to be faster in preliminary benchmarking with small\n concurrent VDU and view builds:\n https://gist.github.com/nickva/ed239651114794ebb138b1f16c5f6758\n Results seem promising:\n - 4x faster than SM 1.8.5\n - 5x faster than SM 91\n - 6x reduced memory usage per couchjs process (5MB vs 30MB)\n\n * Allows compiling JS bytecode ahead of time a C array of bytes.\n\nQuickJS can be built alongside Spidermonkey and toggled on/off at runtime:\n\n```\n./configure --dev --js-engine=quickjs\n```\n\nThis makes it the default engine. But Spidermonkey can still be set in the\nconfig option.\n\n```\n[couchdb]\njs_engine = spidermonkey | quickjs\n```\n\nTo test individual views, without switching the default use the\n`javascript_quickjs` language in the design docs. To keep using Spidermonkey\nengine after switching the default, can use `javascript_spidermonkey` language\nin design docs. However, language selection will reset the view and the view\nwill have to be rebuilt.\n\nIt's also possible to build without Spidermonkey support completely by using:\n```\n./configure --disable-spidermonkey\n```\n\nIssue: https://github.com/apache/couchdb/issues/4448","shortMessageHtmlLink":"Add QuickJS as a Javascript engine option"}},{"before":"e691be7ede411fc4d41daf17f88ffe1d46e891d4","after":"59e784b8e1bc65976e6c977c2674baec37e2d68c","ref":"refs/heads/qjs","pushedAt":"2024-05-06T19:33:13.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"nickva","name":"Nick Vatamaniuc","path":"/nickva","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/211822?s=80&v=4"},"commit":{"message":"Add QuickJS as a Javascript engine option\n\nhttps://bellard.org/quickjs\n\nSome benefits over SM:\n\n * Small. We're using 6 or so C files vs 700+ SM91 C++ files.\n\n * Built with Apache CouchDB as opposed having to maintain a separate SM\n package, like for RHEL9, for instance, where they dropped support for SM\n already. (see https://github.com/apache/couchdb/issues/4154).\n\n * Embedding friendly. Designed from ground-up for embedding. SM has been\n updating the C++ API such that we have to keep copy-pasting new versions of\n our C++ code every year or so. (see\n https://github.com/apache/couchdb/pull/4305).\n\n * Easy to modify to accept Spidermonkey 1.8.5 top level functions for\n map/reduce code so we don't have have to parse the JS, AST transform it, and\n then re-compile it.\n\n * Configurable runtime feature set - can disable workers, promises and other\n API and features which may not work well in a backend JS environment. Some\n users may want more, some may want to disable even Date(time) features to\n hedge again Spectre-style attacks (spectreattack.com).\n\n * Allows granular time (reduction) tracking if we wanted to provide a runtime\n allowance for each function.\n\n * Better sandboxing. Creating a whole JSRuntime takes only 300 microseconds, so\n we can afford to do that on reset. JSRuntimes cannot share JS data or object\n between them.\n\n * Seems to be faster in preliminary benchmarking with small\n concurrent VDU and view builds:\n https://gist.github.com/nickva/ed239651114794ebb138b1f16c5f6758\n Results seem promising:\n - 4x faster than SM 1.8.5\n - 5x faster than SM 91\n - 6x reduced memory usage per couchjs process (5MB vs 30MB)\n\n * Allows compiling JS bytecode ahead of time a C array of bytes.\n\nQuickJS can be built alongside Spidermonkey and toggled on/off at runtime:\n\n```\n./configure --dev --js-engine=quickjs\n```\n\nThis makes it the default engine. But Spidermonkey can still be set in the\nconfig option.\n\n```\n[couchdb]\njs_engine = spidermonkey | quickjs\n```\n\nTo test individual views, without switching the default use the\n`javascript_quickjs` language in the design docs. To keep using Spidermonkey\nengine after switching the default, can use `javascript_spidermonkey` language\nin design docs. However, language selection will reset the view and the view\nwill have to be rebuilt.\n\nIt's also possible to build without Spidermonkey support completely by using:\n```\n./configure --disable-spidermonkey\n```\n\nIssue: https://github.com/apache/couchdb/issues/4448","shortMessageHtmlLink":"Add QuickJS as a Javascript engine option"}},{"before":"8b8821d6c997a9ca445afc78df4cf73ea75f4336","after":"e691be7ede411fc4d41daf17f88ffe1d46e891d4","ref":"refs/heads/qjs","pushedAt":"2024-05-06T19:13:59.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"nickva","name":"Nick Vatamaniuc","path":"/nickva","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/211822?s=80&v=4"},"commit":{"message":"[fixup] a few fixes after running tests on windows","shortMessageHtmlLink":"[fixup] a few fixes after running tests on windows"}},{"before":"16ede94c51317720bd5eced8967e3d80988ad41b","after":"8b8821d6c997a9ca445afc78df4cf73ea75f4336","ref":"refs/heads/qjs","pushedAt":"2024-05-06T18:21:14.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"nickva","name":"Nick Vatamaniuc","path":"/nickva","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/211822?s=80&v=4"},"commit":{"message":"Add QuickJS as a Javascript engine option\n\nhttps://bellard.org/quickjs\n\nSome benefits over SM:\n\n * Small. We're using 6 or so C files vs 700+ SM91 C++ files.\n\n * Built with Apache CouchDB as opposed having to maintain a separate SM\n package, like for RHEL9, for instance, where they dropped support for SM\n already. (see https://github.com/apache/couchdb/issues/4154).\n\n * Embedding friendly. Designed from ground-up for embedding. SM has been\n updating the C++ API such that we have to keep copy-pasting new versions of\n our C++ code every year or so. (see\n https://github.com/apache/couchdb/pull/4305).\n\n * Easy to modify to accept Spidermonkey 1.8.5 top level functions for\n map/reduce code so we don't have have to parse the JS, AST transform it, and\n then re-compile it.\n\n * Configurable runtime feature set - can disable workers, promises and other\n API and features which may not work well in a backend JS environment. Some\n users may want more, some may want to disable even Date(time) features to\n hedge again Spectre-style attacks (spectreattack.com).\n\n * Allows granular time (reduction) tracking if we wanted to provide a runtime\n allowance for each function.\n\n * Better sandboxing. Creating a whole JSRuntime takes only 300 microseconds, so\n we can afford to do that on reset. JSRuntimes cannot share JS data or object\n between them.\n\n * Seems to be faster in preliminary benchmarking with small\n concurrent VDU and view builds:\n https://gist.github.com/nickva/ed239651114794ebb138b1f16c5f6758\n Results seem promising:\n - 4x faster than SM 1.8.5\n - 5x faster than SM 91\n - 6x reduced memory usage per couchjs process (5MB vs 30MB)\n\n * Allows compiling JS bytecode ahead of time a C array of bytes.\n\nQuickJS can be built alongside Spidermonkey and toggled on/off at runtime:\n\n```\n./configure --dev --js-engine=quickjs\n```\n\nThis makes it the default engine. But Spidermonkey can still be set in the\nconfig option.\n\n```\n[couchdb]\njs_engine = spidermonkey | quickjs\n```\n\nTo test individual views, without switching the default use the\n`javascript_quickjs` language in the design docs. To keep using Spidermonkey\nengine after switching the default, can use `javascript_spidermonkey` language\nin design docs. However, language selection will reset the view and the view\nwill have to be rebuilt.\n\nIt's also possible to build without Spidermonkey support completely by using:\n```\n./configure --disable-spidermonkey\n```\n\nIssue: https://github.com/apache/couchdb/issues/4448","shortMessageHtmlLink":"Add QuickJS as a Javascript engine option"}},{"before":"889cc9de73baf7bdaf937afa49fbe00c8a6649cc","after":"16ede94c51317720bd5eced8967e3d80988ad41b","ref":"refs/heads/qjs","pushedAt":"2024-05-06T15:48:42.000Z","pushType":"push","commitsCount":4,"pusher":{"login":"nickva","name":"Nick Vatamaniuc","path":"/nickva","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/211822?s=80&v=4"},"commit":{"message":"[fixup] more docs fixes","shortMessageHtmlLink":"[fixup] more docs fixes"}},{"before":"3d4863572067405c90e71481b429d23e11500e50","after":null,"ref":"refs/heads/fix-docs-env-win","pushedAt":"2024-05-03T18:39:02.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"big-r81","name":"Ronny Berndt","path":"/big-r81","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/9985963?s=80&v=4"}},{"before":"f5292d8ba971391a7b1796382770427a2ca9e869","after":"2884d67af168d25f4aff83a72474f858f6bcde1d","ref":"refs/heads/main","pushedAt":"2024-05-03T18:38:59.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"big-r81","name":"Ronny Berndt","path":"/big-r81","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/9985963?s=80&v=4"},"commit":{"message":"Create Python virtualenv on Windows for docs (#5045)\n\nAdd an equivalent setup script for Windows to\r\ninit python dev environment for building docs.","shortMessageHtmlLink":"Create Python virtualenv on Windows for docs (#5045)"}},{"before":"603f391c04e4f6c640b43bb65d188082ea24d500","after":"3d4863572067405c90e71481b429d23e11500e50","ref":"refs/heads/fix-docs-env-win","pushedAt":"2024-05-02T22:54:22.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"big-r81","name":"Ronny Berndt","path":"/big-r81","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/9985963?s=80&v=4"},"commit":{"message":"Create Python virtualenv on Windows for docs\n\nAdd an equivalent setup script for Windows to\ninit python dev environment for building docs.","shortMessageHtmlLink":"Create Python virtualenv on Windows for docs"}},{"before":null,"after":"603f391c04e4f6c640b43bb65d188082ea24d500","ref":"refs/heads/fix-docs-env-win","pushedAt":"2024-05-02T22:42:24.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"big-r81","name":"Ronny Berndt","path":"/big-r81","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/9985963?s=80&v=4"},"commit":{"message":"Create Python virtualenv on Windows for docs\n\nAdd an equivalent setup script for Windows to\ninit python dev environment for building docs.","shortMessageHtmlLink":"Create Python virtualenv on Windows for docs"}},{"before":"ff5f0ff4c6b50839a97a7ca79e15c098abbe1e1c","after":"889cc9de73baf7bdaf937afa49fbe00c8a6649cc","ref":"refs/heads/qjs","pushedAt":"2024-05-01T20:29:00.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"nickva","name":"Nick Vatamaniuc","path":"/nickva","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/211822?s=80&v=4"},"commit":{"message":"Add QuickJS as a Javascript engine option\n\nhttps://bellard.org/quickjs\n\nSome benefits over SM:\n\n * Small. We're using 6 or so C files vs 700+ SM91 C++ files.\n\n * Built with Apache CouchDB as opposed having to maintain a separate SM\n package, like for RHEL9, for instance, where they dropped support for SM\n already. (see https://github.com/apache/couchdb/issues/4154).\n\n * Embedding friendly. Designed from ground-up for embedding. SM has been\n updating the C++ API such that we have to keep copy-pasting new versions of\n our C++ code every year or so. (see\n https://github.com/apache/couchdb/pull/4305).\n\n * Easy to modify to accept Spidermonkey 1.8.5 top level functions for\n map/reduce code so we don't have have to parse the JS, AST transform it, and\n then re-compile it.\n\n * Configurable runtime feature set - can disable workers, promises and other\n API and features which may not work well in a backend JS environment. Some\n users may want more, some may want to disable even Date(time) features to\n hedge again Spectre-style attacks (spectreattack.com).\n\n * Allows granular time (reduction) tracking if we wanted to provide a runtime\n allowance for each function.\n\n * Better sandboxing. Creating a whole JSRuntime takes only 300 microseconds, so\n we can afford to do that on reset. JSRuntimes cannot share JS data or object\n between them.\n\n * Seems to be faster in preliminary benchmarking with small\n concurrent VDU and view builds:\n https://gist.github.com/nickva/ed239651114794ebb138b1f16c5f6758\n Results seem promising:\n - 4x faster than SM 1.8.5\n - 5x faster than SM 91\n - 6x reduced memory usage per couchjs process (5MB vs 30MB)\n\n * Allows compiling JS bytecode ahead of time a C array of bytes.\n\nQuickJS can be built alongside Spidermonkey and toggled on/off at runtime:\n\n```\n./configure --dev --js-engine=quickjs\n```\n\nThis makes it the default engine. But Spidermonkey can still be set in the\nconfig option.\n\n```\n[couchdb]\njs_engine = spidermonkey | quickjs\n```\n\nTo test individual views, without switching the default use the\n`javascript_quickjs` language in the design docs. To keep using Spidermonkey\nengine after switching the default, can use `javascript_spidermonkey` language\nin design docs. However, language selection will reset the view and the view\nwill have to be rebuilt.\n\nIt's also possible to build without Spidermonkey support completely by using:\n```\n./configure --disable-spidermonkey\n```\n\nIssue: https://github.com/apache/couchdb/issues/4448","shortMessageHtmlLink":"Add QuickJS as a Javascript engine option"}},{"before":"0c339bf71fa5116eb6006d27a720a6938a658b50","after":"ff5f0ff4c6b50839a97a7ca79e15c098abbe1e1c","ref":"refs/heads/qjs","pushedAt":"2024-05-01T18:26:19.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"nickva","name":"Nick Vatamaniuc","path":"/nickva","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/211822?s=80&v=4"},"commit":{"message":"Windows support","shortMessageHtmlLink":"Windows support"}},{"before":"84f143956ff9f460adf8390f2a55960ed326b1ec","after":"0c339bf71fa5116eb6006d27a720a6938a658b50","ref":"refs/heads/qjs","pushedAt":"2024-05-01T14:55:11.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"nickva","name":"Nick Vatamaniuc","path":"/nickva","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/211822?s=80&v=4"},"commit":{"message":"Add QuickJS as a Javascript engine option\n\nhttps://bellard.org/quickjs\n\nSome benefits over SM:\n\n * Small. We're using 6 or so C files vs 700+ SM91 C++ files.\n\n * Built with Apache CouchDB as opposed having to maintain a separate SM\n package, like for RHEL9, for instance, where they dropped support for SM\n already. (see https://github.com/apache/couchdb/issues/4154).\n\n * Embedding friendly. Designed from ground-up for embedding. SM has been\n updating the C++ API such that we have to keep copy-pasting new versions of\n our C++ code every year or so. (see\n https://github.com/apache/couchdb/pull/4305).\n\n * Easy to modify to accept Spidermonkey 1.8.5 top level functions for\n map/reduce code so we don't have have to parse the JS, AST transform it, and\n then re-compile it.\n\n * Configurable runtime feature set - can disable workers, promises and other\n API and features which may not work well in a backend JS environment. Some\n users may want more, some may want to disable even Date(time) features to\n hedge again Spectre-style attacks (spectreattack.com).\n\n * Allows granular time (reduction) tracking if we wanted to provide a runtime\n allowance for each function.\n\n * Better sandboxing. Creating a whole JSRuntime takes only 300 microseconds, so\n we can afford to do that on reset. JSRuntimes cannot share JS data or object\n between them.\n\n * Seems to be faster in preliminary benchmarking with small\n concurrent VDU and view builds:\n https://gist.github.com/nickva/ed239651114794ebb138b1f16c5f6758\n Results seem promising:\n - 4x faster than SM 1.8.5\n - 5x faster than SM 91\n - 6x reduced memory usage per couchjs process (5MB vs 30MB)\n\n * Allows compiling JS bytecode ahead of time a C array of bytes.\n\nQuickJS can be built alongside Spidermonkey and toggled on/off at runtime:\n\n```\n./configure --dev --js-engine=quickjs\n```\n\nThis makes it the default engine. But Spidermonkey can still be set in the\nconfig option.\n\n```\n[couchdb]\njs_engine = spidermonkey | quickjs\n```\n\nTo test individual views, without switching the default use the\n`javascript_quickjs` language in the design docs. To keep using Spidermonkey\nengine after switching the default, can use `javascript_spidermonkey` language\nin design docs. However, language selection will reset the view and the view\nwill have to be rebuilt.\n\nIt's also possible to build without Spidermonkey support completely by using:\n```\n./configure --disable-spidermonkey\n```\n\nIssue: https://github.com/apache/couchdb/issues/4448","shortMessageHtmlLink":"Add QuickJS as a Javascript engine option"}},{"before":"3c11f14a69434dca2f87d88b9907341386147fa8","after":null,"ref":"refs/heads/fix-invalid-exit-call","pushedAt":"2024-04-27T03:11:10.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"nickva","name":"Nick Vatamaniuc","path":"/nickva","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/211822?s=80&v=4"}},{"before":"0a431b81c3aecba965915c4286f7a90f0f1a5407","after":"f5292d8ba971391a7b1796382770427a2ca9e869","ref":"refs/heads/main","pushedAt":"2024-04-27T03:11:06.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"nickva","name":"Nick Vatamaniuc","path":"/nickva","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/211822?s=80&v=4"},"commit":{"message":"Fix invalid call to exit/2 in couch_server\n\nPreviously we called it as `exit(couch_server_N, config_change)` but exit/2\ndoesn't know what to do with an atom, it needs a pid.\n\n```\nexit(couch_server_1, foo).\n** exception error: bad argument\n in function exit/2\n called as exit(couch_server_1,foo)\n *** argument 1: not a pid\n```\n\nThis doesn't actually restart the servers as intended and it's also making\nquite a mess in the eunit logs.\n\nIn addition to ensuring we're calling a Pid, use a `{shutdown, _}` error shape\nto avoid triggering verbose SASL report as it's an expected condition.","shortMessageHtmlLink":"Fix invalid call to exit/2 in couch_server"}},{"before":"40e6271de4cd284c22bb2474b6e6087d1855b8af","after":"3c11f14a69434dca2f87d88b9907341386147fa8","ref":"refs/heads/fix-invalid-exit-call","pushedAt":"2024-04-26T23:42:36.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"nickva","name":"Nick Vatamaniuc","path":"/nickva","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/211822?s=80&v=4"},"commit":{"message":"Fix invalid call to exit/2 in couch_server\n\nPreviously we called it as `exit(couch_server_N, config_change)` but exit/2\ndoesn't know what to do with an atom, it needs a pid.\n\n```\nexit(couch_server_1, foo).\n** exception error: bad argument\n in function exit/2\n called as exit(couch_server_1,foo)\n *** argument 1: not a pid\n```\n\nThis doesn't actually restart the servers as intended and it's also making\nquite a mess in the eunit logs.\n\nIn addition to ensuring we're calling a Pid, use a `{shutdown, _}` error shape\nto avoid triggering verbose SASL report as it's an expected condition.","shortMessageHtmlLink":"Fix invalid call to exit/2 in couch_server"}},{"before":null,"after":"40e6271de4cd284c22bb2474b6e6087d1855b8af","ref":"refs/heads/fix-invalid-exit-call","pushedAt":"2024-04-26T23:34:17.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"nickva","name":"Nick Vatamaniuc","path":"/nickva","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/211822?s=80&v=4"},"commit":{"message":"Fix invalid call to exit/2 in couch_server\n\nPreviously we called it as `exit(couch_server_N, config_change)` but exit/2\ndoesn't know what to do with an atom, it needs a pid.\n\n```\nexit(couch_server_1, foo).\n** exception error: bad argument\n in function exit/2\n called as exit(couch_server_1,foo)\n *** argument 1: not a pid\n```\n\nThis doesn't actually restart the servers as indended and it's also making\nquite a mess in the eunit logs.\n\nIn addition to ensuring we're calling a Pid, use a {shutdown, _} error shapw to\navoid triggering verbose SASL report as it's an expected condition.","shortMessageHtmlLink":"Fix invalid call to exit/2 in couch_server"}},{"before":"b367a2de41fd5078030889739c73503084f1eb2e","after":null,"ref":"refs/heads/improve-all-dbs-test","pushedAt":"2024-04-26T17:33:12.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"nickva","name":"Nick Vatamaniuc","path":"/nickva","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/211822?s=80&v=4"}},{"before":"ab07e51af2d1063eeac5879733bfa5b834cd0922","after":"0a431b81c3aecba965915c4286f7a90f0f1a5407","ref":"refs/heads/main","pushedAt":"2024-04-26T17:33:09.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"nickva","name":"Nick Vatamaniuc","path":"/nickva","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/211822?s=80&v=4"},"commit":{"message":"Improve fabric all_dbs test\n\nPreviously I forgot to assert we actually created the dbs and forgot to clean\nthem up. Also, add a few more cases using a wider variety of delimiters.","shortMessageHtmlLink":"Improve fabric all_dbs test"}}],"hasNextPage":true,"hasPreviousPage":false,"activityType":"all","actor":null,"timePeriod":"all","sort":"DESC","perPage":30,"cursor":"djE6ks8AAAAEROZSkAA","startCursor":null,"endCursor":null}},"title":"Activity ยท apache/couchdb"}