couchdb icon indicating copy to clipboard operation
couchdb copied to clipboard

Spidermonkey 91 is EOL and unsupported

Open RaitoBezarius opened this issue 1 year ago • 14 comments

CouchDB 3.x series currently only support Spidermonkey 91, this dependency has been EOL for a long time now. In nixpkgs, we have a CouchDB packaging for the branch 3.x, we would like to package it using non-EOL SM.

Do you have a timeline or any plan to move away from SM91 in the future?

cc https://github.com/NixOS/nixpkgs/issues/157874

RaitoBezarius avatar Oct 30 '23 14:10 RaitoBezarius

Thanks for the heads-up @RaitoBezarius. We're investigating using QuickJS https://github.com/apache/couchdb/issues/4448 but so far it hasn't made into a release yet. After the discussion in the Apache CouchDB meeting the plan is to release as an option first along with an automated background scanner to check users' design docs for compatibility between SM and QuickJS (or potentially any other JS engine in the future).

I had tried to bring SM 102 in with https://github.com/apache/couchdb/pull/4305 but they keep changing the C++ API almost every release so that didn't get very far.

Recent RHEL versions have removed spidermonkey from their base packages I see Debian Bookworm still supports https://packages.debian.org/bookworm/libmozjs-78-0. Presumably they have security patches for it as well? Perhaps nixpkgs can use the Debian version?

nickva avatar Oct 30 '23 14:10 nickva

@nickva I will investigate the security updates for 78, I am surprised but maybe that's the case!

RaitoBezarius avatar Oct 30 '23 14:10 RaitoBezarius

@nickva Bookworm has v102 now too, but v102 has no security support too and v115 will end in one year [1]. This matures fast ...

big-r81 avatar Nov 03 '23 19:11 big-r81

@big-r81 we can't use 102 they changed the C++ API

nickva avatar Nov 03 '23 19:11 nickva

I know and maybe v102 -> v115 again ... ;-)

big-r81 avatar Nov 03 '23 19:11 big-r81

Exactly!

nickva avatar Nov 03 '23 19:11 nickva

Hello,

Can you tell me what we do about this please? I have tried to update from Ubuntu 22.10 to 23.04 and my couchdb now fails because of this. Spidermonkey is not in 23.04. I can no longer build couchdb because it says Spidermonkey does not exist?

Thanks a lo for any help

githubowl avatar Nov 27 '23 13:11 githubowl

There seems to be a libmozjs-78-0 package still for Ubuntu 23.04 and SpiderMonkey 78 is supported by CouchDB.

pgj avatar Nov 27 '23 19:11 pgj

We usually support only Ubuntu LTS releases, the last one being Jammy (22.04.3).

Some OSes like RHEL had stopped including Spidermonkey in their base packages but as @pgj found (thanks!) newer Ubuntu still provides version 78. So you may have some luck building and running CouchDB on it.

nickva avatar Nov 27 '23 20:11 nickva

Ok, I'll have to check thanks

githubowl avatar Nov 29 '23 07:11 githubowl

any updates on the thread?

chenrui333 avatar Apr 09 '24 23:04 chenrui333

I see that quickjs is merged into main branch, is there a release coming soon? or at least an rc tag? it would be interesting to try out quickjs builds.

xnox avatar Jun 19 '24 14:06 xnox

@xnox we're working toward a 3.4 release. QuickJS will be released as an experimental change, off by default, with a scanner option to validate your views for compatibility.

To try it out off of the main branch using QuickJS as a default: ./configure --disable-spidermonkey (add --dev if you don't want to build Fauxton or docs). Then make && make release

Some Linux OS still maintain SM 78 packages, so that may still be an option if you can use those.

nickva avatar Jun 19 '24 14:06 nickva

@nickva i am linux distribution and was hoping to axe mozjs 91 from wolfi-os =)

xnox avatar Jun 19 '24 14:06 xnox