Release Notes

version 0.8

This version is in development.

The compatibility with PhantomJS has been strongly increased and some tools like CasperJS (version 1.1beta1 or higher) work almost perfectly with SlimerJS 0.8.

Some packages of SlimerJS 0.8 embed directly XulRunner 22 (Gecko 22): you don’t have to install XulRunner or Firefox separately, nor to set a SLIMERJSLAUNCHER environment variable. Unless you want to use a different version of Gecko.

SlimerJS 0.8 should be also compatible with Firefox/XulRunner/Gecko 23 and 24.

New API

  • Implementation of webpage.uploadFile() and support of webpage.onFilePicker
  • Implementation of the cookie API on the phantom object
  • Implementation of the cookie API on the webpage object
  • support of the --load-images option on the command line
  • support of the --local-storage-quota option on the command line
  • support of javascriptEnabled and loadImages in settings
  • Implementation of webpage.ownsPage, webpage.getPage(), webpage.pages, webpage.pagesWindowName
  • Implementation of webpage.scrollPosition
  • Implementation of webpage.offlineStoragePath and webpage.offlineStorageQuota

Fixed bugs

  • webpage.evaluate(): functions as arguments for the function to evaluate, were not passed correctly to it.
  • Fixed conformance to CommonJS filesystem/A module in fs.directory()
  • Fixed webpage.render() and webpage.renderBase64(): default screenshot size were not well calculated.
  • Fixed bad encoding of responses sent by the http server

Fixed PhantomJS conformance issues

  • webpage.evaluate() should return null when the result of the given javascript function is undefined.
  • Added webpage.objectName and webserver.objectName.
  • phantom.injectJs() supports now CoffeeScripts scripts.
  • window.callPhantom() can now be called during page loading.
  • Changed webpage.event.modifiers to webpage.event.modifier.
  • After creating a webpage, evaluating javascript should be possible. The window is now opened immediately with about:blank when calling create().
  • webpage.onResourceRequested should receive a request object as second parameter
  • webpage.setContent() should be able to receive a DOM element, not only a string
  • webpage.onResourceRequested and webpage.onResourceReceived should be called for ‘file://‘ url.
  • Fixed webpage.render() and webpage.renderBase64(): support of options parameters

Missing APIS in SlimerJS 0.8

Here are the PhantomJS APIs that are missing in SlimerJS 0.8 but planed in future releases.

  • most of options for the command line are not supported
  • no support of all settings on the webpage object, so no support of HTTP authentication...
  • no support of Ghost Driver (Selenium web driver)

You can read the compatibility table to know details.

See also the differences in APIs and behaviors between SlimerJS and PhantomJS.

Known issues