Upcoming SpiderMonkey 91 ESR

The Extended Support Release (ESR) channel of SpiderMonkey continues to be the
recommended stream to embed in your applications. The next ESR will be version
91 which is currently in active developement. The (soft) code freeze for this
release is July 8, 2021, with stable release planned for August 10, 2021. The
current ESR-78 is expected to receive security updates until the end of October.

See: https://wiki.mozilla.org/Release_Management/Calendar

A few highlights of the upcoming release are:

  • Warp JIT simplified the engine, reduces memory and increases performance of complex scripts.
  • Up-to-date support of the latest JavaScript language features. (98% test
    coverage of the ECMAScript conformance suite, test262).
  • New parsing and caching APIs are being previewed to support lower overhead performance caching of bytecode and new opportunities to reduce memory when using cached bytecode.
  • ArrayBuffer size limit was increased to 4GB and may be increased further in future.
  • Many more changes are listed in the blog.

Notable breaking changes:

  • The ‘jsapi.h’ header file continues to be split into smaller files and a few new includes may be needed.
  • The dev team has migrated away from using ./configure in favour of mach build workflows and documentation is starting to reflect this. The configure
    script continues to work but direct usage is being deprecated.
  • The Migration Guide is being expanded as we discover API breakage.

There is still time to fix issues and papercuts, so reach out here, matrix, or
Bugzilla if you have local workarounds that might be worth upstreaming.

1 Like

Seeing Compilation error with jsapi.h in VS19 with esr78 reminded me of a local workaround that we have!

SpiderMonkey 91 has now merged to the mozilla-beta channel and is stabilizing for the next ESR. The embedding examples ‘next’ branch is now updated, including the migration guide.

I’ve fixed a few of the Windows issues that people were seeing as well. There is still time in the next few weeks to fix issues if people are noticing papercuts or more serious problems.

1 Like

FYI: created a topic that lists all the compilation bugs I’ve encountered on Windows with MSVC embedding
https://discourse.mozilla.org/t/sm-91-compatibility-with-msvc/83338/2