In this release we introduce Splash-Jupyter - a
web-based IDE for Splash Lua scripts with syntax highlighting, autocompletion
and a connected live browser window. It is implemented as a kernel for
Jupyter (IPython).

Docker images for Splash 1.5 are optimized - download size is much smaller
than in previous releases.

Other changes:

splash:go() returned incorrect result after an
unsuccessful splash:go() call - this is fixed;

–max-timeout option can be passed to Splash at startup to increase or
decrease maximum allowed timeout value;

cookies are no longer shared between requests;

PNG rendering becomes more efficient: less CPU is spent on compression.
The downside is that the returned PNG images become 10-15% larger;

there is an option (scale_method=vector) to resize images
while painting to avoid pixel-based resize step - it can make taking
a screenshot much faster on image-light webpages (up to several times faster);

when ‘height’ is set and image is downscaled the rendering is more efficient
because Splash now avoids rendering unnecessary parts;

/debug endpoint tracks more objects;

testing setup improvements;

application/json POST requests handle invalid JSON better;

undocumented splash:go_and_wait() and splash:_wait_restart_on_redirects()
methods are removed (they are moved to tests);

Lua sandbox is cleaned up;

long log messages from Lua are truncated in logs;

more detailed error info is logged;

example script in Splash UI is simplified;

stress tests now include PNG rendering benchmark.

Bug fixes:

default viewport size and window geometry are now set to 1024x768;
this fixes PNG screenshots with viewport=full;

Splash can now return requests/responses information in HAR format. See
render.har endpoint and har argument of render.json
endpoint. A simpler history argument is also available.
With HAR support it is possible to get timings for various events,
HTTP status code of the responses, HTTP headers, redirect chains, etc.

Processing of related resources is stopped earlier and more robustly
in case of timeouts.

wait parameter changed its meaning: waiting now restarts
after each redirect.

Dockerfile is improved: image is updated to Ubuntu 14.04;
logs are shown immediately; it becomes possible to pass additional
options to Splash and customize proxy/js/filter profiles; adblock filters
are supported in Docker; versions of Python dependencies are pinned;
Splash is started directly (without supervisord).

Splash now tries to start Xvfb automatically - no need for xvfb-run.
This feature requires xvfbwrapper Python package to be installed.