a port of the Processing Visualization Language

Processing.js v0.4.0 Released

03 Feb 2010

Download Processing.js 0.4

We are very pleased to announce the release of Processing.js 0.4!

The students at Seneca and the community at large, have been working hard to get some awesome code into the repository. Many smaller fixes and features have been added as well as larger functions like blend modes. Another landmark in 0.4, are the small fragments of OpenGL code that have begun to land. If you were not aware that Processing.js is getting 3D hardware support in the browser, you are now!

The whole development process has taken a few releases to get right, but the community has gathered great momentum in the last few months and the "right people" have joined the group, helping Processing.js to run like the well oiled machine it should be. We are seeing some amazing innovation and creativity from community members, such the experimental HTML5 audio stream reading and writing in Firefox from David Humprey and co.

Development Process

The GitHub flow has also shifted to a more organized state with Anna Sobiepanek heading up .NEXT branch control prior to super-review and release candidacy. This allows us to keep the repository clean, so the main branch jeresig/processing-js will only get updated when a new release ships. The code will bubble up through controlled channels that have had rigorous tests and checks applied by the community, keeping the library parallel with it's big sister Processing, while maintaining a degree of difference that makes Processing.js suitable for the web context in which it is deployed. github-04


From 0.4 onwards, release code is being linted, beautified and packed before release using some excellent script-fu from David Humprey and tested by fellow release controller (and GitHub master) Corban Brook. This way we will be confident that new releases do not break old functionality, code will be lightweight, ready for deployment and be easier-on-the-eye for future developers.

Get involved!

If you would like to get involved with Processing.js development, or have general usage questions about Processing.js, we would love meet you on IRC: irc://irc.mozilla.org/processing.js


  • added map()
  • added fill()
  • added reverse()
  • added matchAll()
  • added blendColor()
  • added split()
  • added subset()
  • added splice()
  • added concat()
  • added unbinary()
  • added online()
  • added mag()
  • added hue()
  • added saturation()
  • added brightness()
  • added splitTokens()
  • added append()
  • added match()
  • added unhex()
  • added PVector()
  • added nfs
  • added shorten()
  • added nfp()
  • added focused
  • added strokeCap()
  • added nfc()
  • added cursor ( mode ) definitions
  • added strokeJoin()
  • added bezierPoint()
  • added popStyle()
  • added boolean()
  • added screen()
  • added noCursor()
  • added curveTangent()
  • added pushStyle()
  • added curvePoint()
  • added frameRate()
  • added size() for 3D
  • added background() for 3D
  • added release automation
  • added automated parser and unit tests
  • fixed JSLint validation
  • fixed Pvector
  • fixed parser bugs
  • fixed nf() (Infinite loop)
  • fixed functions that return arrays
Fork me on GitHub