a port of the Processing Visualization Language

Processing.js v1.4.0 released

31 Jul 2012

Processing.js 1.4.0! Yes, it's finally here, and it's a doozy. Many of the dev team have been working on other projects over the last year, with some people wondering whether Processing.js was a dead project, so just to reassure you: it is very much alive. However, we've had to make some changes to the way we do releases now that we no longer have any developers dedicating all their time to the project. So, let's start with the biggest change: a release! You can find the full list of things that were added or fixed in the changelog below, but to give you a taste of what's changed: SVG drawing to buffers now works, method overloading has been made far more robust, XML with CDATA no longer breaks and the Processing 2.0 XML API is supported, IE9 no longer crashes without the debug tools turned one, and we even managed to slip variable argument syntax (Type... varname) into the parser. There's even a new extension to play with.

The second change is also relatively big: we're changing from spaced out, big releases to relatively frequent, but small releases. This benefits everyone: you get more frequent updates to Processing.js, and issues that you report (or contribute code for!) make it into the public version much faster, and the people who work on Processing.js (a number of formerly full-time devs are still involved with the project on a part time basis) can simply focus on getting two or three important tickets out of the way each release, rather than spending time trying to work through twenty or thirty. This makes things much more managable.

The tl;dr version; Processing 1.4.0 is out! Go download it! And to keep you coming back for more, expect 1.4.1 at the end of August!

As always: if you run into any problems with Processing.js, please file a bug or talk to us on IRC (irc://irc.mozilla.org/processing.js).


  • Added a PJS object inspector [#1867]
  • Added ArrayList.lastIndexOf() [#1837]
  • Added ArrayList.removeAll() [#1001]
  • Added CDATA support to XML [#1788]
  • Added check for IE9 non-HTML5 doctype [#1606]
  • Added online global variable [#1743]
  • Added option to stop ref test suite on failures [#1681]
  • Added PFont cache limits [#1741]
  • Added PImage.get() ref tests [#1601]
  • Added point smoothing in 3D [#602]
  • Added Processing.reload() [#1133]
  • Added shearX() and shearX() to 2D mode [#1640]
  • Added shearX() and shearY() in 3D mode [#1773]
  • Added support for Processing 2.0 XML support [#1806]
  • Added support for variable arguments [#1842]
  • Added tinyLogLite license and author to LICENSE [#1731]
  • Enabled preserveDrawingBuffer when context is acquired [#1651]
  • Fixed array initialization code [#1817]
  • Fixed ArrayList(int) constructor [#1829]
  • Fixed data-processing-sources to seperate files or ids by whitespace, not just spaces [#1818]
  • Fixed handling of namespaces in XMLElement.getChild [#1382]
  • Fixed HashMap iterator.remove() bug [#1871]
  • Fixed I-bar cursor appearing on click-dragging [#1755]
  • Fixed IE9 hanging on exception without debugger [#1789]
  • Fixed init to cache <script> elements [#1740]
  • Fixed lazy loading height calculation [#1846]
  • Fixed naming convention in shaders [#1279]
  • Fixed off-by-one error in arc startLUT calculations [#1802]
  • Fixed overloaded method calls [#1810]
  • Fixed parser to allow $ in names [#1688]
  • Fixed PGraphics initially not transparent [#1813]
  • Fixed PImage.toImageData using cached image data [#1768]
  • Fixed popStyle() setting rectMode() to undefined [#1771]
  • Fixed PShape to work with PGraphics [#1778]
  • Fixed PShape.shape() changing rectMode() and ellipseMode() [#1753]
  • Fixed right-click context menu appearing in 3D sketches [#1779]
  • Fixed splitTokens() to work with special characters [#1799]
  • Fixed textSize() not resetting font metrics [#1687]
  • Removed duplicate curElement assigned code [#1763]
  • Set animated ref tests to run at 1000 FPS [#1830]
  • Unmarked ref tests as known fails due to FF9 JIT bugs [#1700]
  • Updated the generics regexp for array notation [#1812]
Fork me on GitHub