The Processing.js team is pleased to announce the
release of Processing.js version 1.2. This
is one of our largest releases to date, and focuses on performance, compatibility, 3D, and
bug fixes. More people than ever are using Processing.js, from professional design houses
to video game developers to fashion designers, and as the demand and uses continue to
grow, we are excited to be able to bring you an even better Processing.js.

Since our last release, exciting things have been happening in browser development.
WebGL, the 3D extension of the HTML5 canvas element, has now shipped in Firefox and Chrome,
and is being tested in nightly builds of Safari and Opera. Processing.js has been fully
WebGL compatible for more than a year, and version 1.2 includes some great 3D performance
and bug fixes. We've also
written a guide to
help explain how Processing.js uses canvas and WebGL to support the various Processing
render modes. Processing.js is a great way to get started with 2D and 3D graphics on the
web, without having to understand all of the underlying technologies. With several guides for
people new to Processing,
JavaScript developers
and Processing developers,
there has never been a better time to jump in!

This release also includes some important changes to ensure better compatibility with
Processing 1.5. First, we've altered our default frame rate to match Processing's (i.e.,
60 fps). Developers who are upgrading from previous versions of Processing.js, and who
don't explicitly set a frame rate, may notice that sketches seem to run more slowly. Don't
worry, Processing.js is faster than ever! Your sketch is just drawing at 60fps. It's
possible to make things as fast as the browsers will allow by setting a higher frame rate,
but this will of course consume more CPU, and actually
not
provide any real gain other than bigger deltas between visible frames.

We had many requests from our users to follow Processing's lead and add support for Java
Generics, and we're happy to report that as of Processing 1.2 this is fully supported!
We've also improved our compatibility in key classes and functions like ArrayList and
XMLElement, and arc() and beginShape(), etc. If you find that your Processing code isn't
compatible with Processing.js, please make sure you tell us.

While we've been developing 1.2, we've seen some great examples of Processing.js in the
wild. Here are some of our favorites:

One of the things we love most is seeing all the creative and unexpected ways that
people use Processing.js. If you have a cool example, let us know about it, and we might
showcase it on the site and in our blog posts.

Finally, we want to take this release as an opportunity to acknowledge one of our team
members who will be leaving us. Anna Sobiepanek
has been a full-time developer and researcher at
Seneca's Centre for
Development of Open Technology (CDOT) for more than a year. She's helped develop and
lead the Processing.js project, and been our main git master
(Anna's github graph is often
used as an example of a complex git project). Anna's been a passionate contributor and
great leader in the Processing.js project, and we'll miss her daily work with us. Lots of
people bemoan the lack of women in open source, and we've been blessed to have such a great
developer and amazing woman working on our team. We wish her well in her new job, and look
forward to her continued contributions as a volunteer.

We hope you enjoy using Processing.js 1.2. We enjoyed making it for you, and are already
working on 1.3!