Comment 5 for bug 644642

Revision history for this message
Wes Garland (wesgarland) wrote :

A quick note w.r.t. JSAPI (SpiderMonkey versioning):

JSAPI 1.6 - old as the hills, implements JavaScript 1.6
JSAPI 1.7 - Oct 2007, implements JavaScript 1.7
JSAPI 1.8 - Never released, but a js1.8.0-rc1 release candidate was produced. Implements JavaScript 1.8
JSAPI current - There are loose references to JSAPI features in the API documentation talking about JS 1.8.1 and JS 1.8.2, but these aren't real version numbers. They don't correspond to JavaScript language version, and there was no official release. JS 1.8.1 is where the autoconf-based build system and the tracing JIT appeared.

Moz is moving away (at least for now) from packaging JSAPI at all, suggesting that embedders pull from the mozilla-central repository directly; embedders looking for specific "stable" versions should be looking for check-ins tagged for the latest firefox release.

Numbers like 1.9.1 above actually referer to the Mozilla-umbrella version and not to the version of the JavaScript language included or JSAPI; so "1.9.2" refers to any version of spidermonkey that ships with Firefox 3.6.<whatever>.

Note that just because you have two JSAPIs pulled from the 1.9.2 branch, it does not mean that they are ABI or even API compatible. Mozilla is not at all targetting a stable API for embedders these days; they are focused on a fast, correct JS engine. The JS API and ABI can also change based on build options (--enable-threadsafe being the biggest offender here). And you absolutely must not use headers from one JSAPI when compiling code which will be linked with another. Even if they are from the same branch.

GPSEE tracks JSAPI and tries to present a consistent API to the application developer. I intend to version GPSEE sensibly to track JSAPI changes: input welcome.