The Road to CouchDB 3.0: Update to JavaScript Engine

This is a post in a series about the Apache CouchDB 3.0 release. Check out the other posts in this series.

CouchDB has always relied on Mozilla’s JavaScript engine, Spidermonkey, for all its JavaScript needs. However, being a web browser engine, the development of Spidermonkey is many times faster than that of CouchDB, and at one point, it got rewritten from C to C++. This made our custom bindings obsolete.

And because updating custom bindings from C to C++ is neither easy, nor fun, CouchDB kept staying dependent on the now very ancient Spidermonkey version 1.8.5. The implications were as far reaching as various package managers keeping that version around just for CouchDB.

While there is nothing inherently wrong with Spidermonkey 1.8.5, JavaScript has seen a surge of changes in the past decade, and those changes are now finally available in CouchDB 3.0 and Spidermonkey 60, most notably:

Users have been asking for an update in this area for a long time, and we are happy to announce that it is finally here.
Special thanks to Peng Hui Jiang, who took the time to make this technically challenging update possible.

One thought on “The Road to CouchDB 3.0: Update to JavaScript Engine

  1. The Road to CouchDB 3.0 – CouchDB Blog

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s