November 17, 2010 - Release 1.0 * Added source level documentation for functions * Added reference pages for missing language features * Added sketchpad.cc to list of dev tools * Added saveFrame() * Added remaining PImage features * Added compile-time optimizations for constants, functions, closures * Added PShapeSVG(new XMLElemnt(svg string)) * Added check for missing use of 'new' to Processing() calls * Added test for casting and negative ints * Added cursor URL example to test suite * Added Makefile target for examples packaging * Created wiki for processingjs.org * Created quick start guides for Processing and JavaScript developers * Fixed keyReleased so it doesn't fire when key is held down * Fixed neighborhood.html * Fixed translate() call ordering with background() * Fixed issue with loadStrings() so it doesn't remove last character * Fixed matrix operations run in setup such that they are not reset in draw * Fixed remaining KNOWN-FAILURES that were fixable * Fixed performance issue with Image() function when mask and tint aren't specified * Fixed performance issue with text$line * Fixed SVG to work properly with negative widths * Fixed PShapeSVG/PShape to be public * Fixes to allow WebKit to load 3D sketches * Fixed PImage.mask to work with objects generated by PGraphics.get * Fixes to support IE9 * Fixed parser to accept additional float literal formats * Fixed performance issue with ArrayList * Fixed issue with abstract methods * Fixed text 3D error * Fixed mouseX/mouseY values to take scrollbars into account * Fixed parser bug with discarded processing methods * Fixed performance issue with uniformMatrix and vertexAttributePointer * Fixed (int) casting * Fixed non-power-of-two texture load issue * Fixed all non-power-of-two images in source tree * Fixed text-width example in Firefox and Ubuntu * Fixed method invocation using this and super * Fixed js linting issues * Fixed ref test runner for Uint8Array * Fixed Learning IDE frame rate bug * Removed .svn dirs from source tree * Updated fake-dom.js for curContext.setTransform * Updated processingjs.org (many fixes, corrections) * Updated documentation for loadImage, requestImage, @pjs preloading August 13, 2010 - Release 0.9.7 * Added saveStrings() * Added textMode() * Added 3D implementation to image() * Added 3D implementation to PImage * Added loadStrings() * Added textAscent() * Added textDescent() * Added createFont / loadFont and PDE "development environment" * Added parser test coverage to 55% * Added PConstants parser optimization * Added PVector constructor optimization * Added PShapeSVG::parseMatrix * Fixed SVG single path cutout not rendering correctly * Fixed SVG color strings object * Fixed SVG parsePoly Chrome bug * Fixed SVG parsePath * Fixed PImage.mask doesnt work given an object generated by PGraphics.get * Fixed PImage functions to check this.isRemote * Fixed 3D Lights * Fixed make-check errors does not print array braces * Fixed Chrome 3D rect error * Fixed vertex 2D inline shape stroke and fill color * Fixed background in draw doesn't redraw 3d * Fixed Canvas not being painted when inside div * Fixed readPixels call for "ref test" * Fixed web color parsing behavior * Fixed XMLElement type doesn't support one parameter string ctor * Fixed tickle example is crashing using opera 10.53 on windows 7 * Fixed shaders so they pass shader validation * Fixed frameRate() not changable outside of setup() * Fixed Paser fails silently when keywords aren't in global member array * Fixed Parser test speed on new parser's generated constructors * Fixed Parser bug: in-class default scope is not "this" but the DOM window * Change name of opaque pjs directive to "transparent" transparency "transparent background" * Removed newWebGLArray wrapper * Removed unsupported symbols * Created JS only example documentation example July 23, 2010 - Release 0.9.6 * Added PConstants Object * Added PShape * Added hint() - 3D * Added ArrayList add(int index, Object value) * Added ArrayList set(index, value) * Added shape() * Added shapeMode() * Added loadShape() * Added createGraphics() 3D support * Added transparent backgrounds 3D support * Added transparency directive to fix Moving On Curves example * Added "IMAGE" to the global members array * Added createFont() * Added size() default width and height * Added textAlign() * Added pause-on-blur/focus for draw() and @pjs directive to reduce cpu usage * Added textWidth() 3D * Fixed tinylogLite so it doesn't slows down frame rate * Fixed ajax() to check whether the data request was successful * Fixed point does not render after text() * Fixed ref tests broken on file:/// uri * Fixed 2D ref tests * Fixed p.splice * Fixed exit() to remove the instance from the "Processing.instances" * Fixed loading remote images security errors * Fixed extra argument bug for a parseFloat line * Fixed use of .moz* attributes * Fixed p.arrayCopy() * Fixed smooth and noSmooth * Fixed strokeWeight for 2d point * Fixed keyCode is not defined parser error * Fixed parser errors when semicolon is missed * Fixed parser bug on cast with space: (type) (something) * Remove all occurances of typeof obj === 'undefined' * Optimized performance by removing recursive calls when possible * Optimized p.expand() * Optimized p.parse(), introduce p.compile() * Updated ref test runner for 3D tests * Removed unnecessary whitespace from processing.js June 16, 2010 - Release 0.9.4 * Added ellipse() 3D * Added curvevertex() 3D * Added curve() 3D * Added rect() 3D * Added bezier() 3D * Added bezierVertex() 3D * Added text() 3D * Added curveDetail() * Added bezierDetail() * Added strokeWeight() and point() * Added filter() * Added PImage: filter prototype "pimage filter" * Added PImage: save prototype "pimage save" * Added PImage 0 argument constructor * Added filter MODEs for p.filter() and PImage.filter() * Added textureMode() * Added texture() * Added texture support * Added ArrayList.toArray * Added save() * Added XMLElement type * Added textWidth() * Added status() * Added a new lightweight parser * Added unit tests for new parser * Added a .version property * Added unit test for binary() * Added support for getting a reference to a Processing object "processing reference" * Added key/keyCode argument for keyReleased * Added call to draw() in setup if translate is called * Added file:/// uri support for running ref tests * Added crisp @pjs directive for crisp lines and points * Added a test coverage tool that provides simple way to check code coverage during unit/parser testing * Fixed pimage.get(x,y,w,h) * Fixed p.set() performance to increase speed * Fixed text() performance by removing unnecessary type conversions * Fixed p.text accepts null input, this causes an error * Fixed binary() to support all primitive datatypes including arrays * Fixed unbinary() to support all primitive datatypes including arrays * Fixed unhex() to support all primitive datatypes including arrays * Fixed shaders to take in color attribute for individual vertices * Fixed loadFont() to handle font with spaces in name * Fixed mouseX/mouseY are not computed with style.border taken into account * Fixed "p.mousePressed is not a function" error when clicking on a canvas that did not define it * Fixed mousePressed fails when mousePressed() is defined * Fixed keyCode is undefined in sketches * Fixed p.color - optimizations * Fixed parser to handle sketch code pixels = new color[] * Fixed parser so that vars which conflict with function names use constant naming convention * Fixed parser to allow "Code" in a single line comment * Fixed parser inheritance problems with variables * Fixed Processing.debug * Fixed PImage examples with Frame Rate * Fixed all functions that rely on p.vertex * Fixed Chrome error for Win that appeared when image() was used chrome * Fixed functions to allow Chromium to render 3D sketches * Fixed Reference test script * Fixed init.js fails to load sketch into targetted canvas * Removed dead code: Point May 20, 2010 - Release 0.9.1 * Remove with(p) for performance gain May 8, 2010 - Release 0.9.0 * Added quad() 3D * Added triangle() 3D * Added endShape() 3D * Added beginShape() 3D * Added vertex() 3D * Added more 3D ref tests * Added imageMode() * Added PMatrix2D::mult() * Added PMatrix2D::scale() * Added PMatrix2D::preApply() * Added PMatrix2D::invert( * Added PMatrix2D::rotate() and PMatrix2D::rotateZ() * Added PMatrix2D::translate() * Added PMatrix2D::determinant() * Added PMatrix2D::multY() * Added PMatrix2D::multX() * Added PMatrix2D::transpose() * Added P2D constant * Added QUARTER_PI constant * Added interface keyword support * Added screenZ() * Added screenX() * Added screenY() * Added HSB colour in addition to RGB color color.tostring * Added randomSeed() * Added bezierVertex() * Added remaining missing constants from PConstants * Added PImage support for cursor() * Added pjs directive to include multiple processing files * Added hue() * Added brightness() * Added saturation() * Added PImage: prototype for set "pimage set" * Added sketch.processing.org code in our tree * Added color.toHSB( colorInt ) * Added mousewheel support for Minefield * Added parser static keyword support * Added parser Support minified processing code * Added data-processing-sources support * Fixed parser to handle local parameter names same as public variable names * Fixed parsing of whitespace between constructor and () * Fixed parsing of function parameter newlines * Fixed parser to handle functions and constructors with the same name * Fixed parser to allow Returning array of floats * Fixed parser to allow functions before constructors * Fixed Parser: Calculate upper values in for loops only once * Fixed parser to allow Static variables * Fixed parser to allow Inheritance * Fixed p.background() called with no arguments[0] * Fixed noStroke() for lines * Fixed make release on Windows * Fixed public ctors for parser * Fixed empty draw() call clears background * Fixed noise() * Fixed random() * Fixed "p is undefined" errors in bespin ide * Fixed ImageData objects can't be literals, must use createImageData "cross browser" * Fixed class functions being repeated in the parsed * Fixed code in pimage.toDataURL() to use bit shifting * Fixed p.ArrayList to work for more than 3 dimensions * Fixed Multi-line comments with size() call break library parser * Fix make check-lint env var * Fixed Commented size() call for 3D context breaks lib * Fixed Events continue to get processed after exit() is called * Fixed p.point to not use .slice.split with strokeStyle * Fixed Processing.js class functions not use with() * Fixed keyTyped() * Fixed lerpColor() * Ensured p.set(x,y,c) fully tested after color() changes * Final Linting for v0.9.0 Release * Remove jsbeautify from release target * Fixed PImage pixel array to use ImageData object * Transform pixel[n] to pixel(n) * Remove buildImageObject and getImage * Cleaned up curveVertex.htm example * Get rid of with(p) in p.init * Optimized p.redraw() April 8, 2010 - Release 0.8.0 * Added spotLight * Added createImage * Added PImage blend prototype * Added PImage resize prototype * Added PImage copy prototype * Added @pjs directive for moz-opaque * Added copy * Added noTint * Added shininess * Added blend * Added lightSpecular * Added specular * Added ambient * Added emissive * Added PMatrix2DStack, and associated methods * Added lights * Added lightFalloff * Added printMatrix * Fixed canvas size change issue * Fixed image clipping logic * Fixed cursor to use PImage * Fixed performance and accuracy of color * Fixed smooth and noSmooth * Fixed default framerate to match Processing (60fps) * Fixed Math functions for performance * Fixed tint * Fixed parser to better handle custom classes (still known issues) * Fixed array.remove * Fixed style, linting issues in processing.js source * Fixed OOM parser error in matchAll * Fixed release target to auto-write version numbers in release files * Fixed background to throw if image size is not same as canvas * Fixed Boolean array bug * Fixed pmouseX and pmouseY * Fixed mouse offset bug when canvas in relative html elements * Fixed p.color.toGLArray * Fixed typo in mouseScrolled * Fixed p.set to support PImage and new color code * Fixed year * Fixed parser bug with Windows newlines * Fixed stroke and fill for performance * Fixed drawing of transparent pixels to canvas * Converted visual tests to unit and/or ref tests * Updated _checkThrows for false case * Updated ref tests to use better initial values, added calibration tests * Removed dead code * Added manual test tracking system March 25, 2010 - Release 0.7.1 * Fixed mouseScrolled event failure March 24, 2010 - Release 0.7.0 * Added custom @pjs directive parser * Added endCamera() * Added beginCamera() * Added custom mouseScrolled event * Added requestImage() * Added byte() * Added split() * Added PImage * Added String.toCharArray() * Added long data type * Added ArrayList.contains() * Added curveVertex() 3D * Added dist() 3D * Added curve() 3D * Added ambientLight() * Added curveDetail() * Added createImage() * Added noLights() * Added loadImage() preloading * Added directionalLight * Added Hashmap * Added loadBytes() * Added pointLight() * Added text() * Fixed date() * Fixed month() * Fixed failing PMatrix3D tests * Fixed _checkEquals() to add epsilon value * Fixed String.prototype.equals * Fixed background() for PImage support * Fixed image() for PImage support * Fixed set() for PImage support * Fixed parser test runner bug * Fixed parsing of tab characters * Fixed parsing of array declarations with spaces * Fixed parsing of multiple catch blocks * Fixed get() for PImage support * Fixed Char to properly distinguish Char from numbers/strings * Fixed Rhino parsing of processing.js * Fixed parser/unit tests to work on Windows * Fixed arrayCopy() * Fixed box() * Fixed min(), max() error handling for invalid arguments * Fixed bug in seneca/hex example * Fixed background() 3D when called outside of draw() * Fixed link() to respect target * Removed invalid tests * Switched from Packer to YUI Compressor * Build system improvements for release, testing * Added Automated Ref Tests February 26, 2010 - Release 0.6.0 * Added ellipseMode support ellipse * Added a way to specify tests that are known to fail * Added applyMatrix() * Added float() suppose to work on all primitive datatypes including arrays * Added char() suppose to work on all primitive datatypes including arrays * Added str() suppose to work on all primitive datatypes including arrays * Added normal() * Added modelZ() * Added modelX() * Added modelY() * Added sphere() * Added sphereDetail() * Added scale() * Added line() - 3D * Added fill() - 3D * Added noFill() - 3D * Added noStroke() - 3D * Added stroke() - 3D * Added PMatrix3D - remaining functions * Added P3D support * Added tinylog for println() println * Added automated tests: string parsing * Fixed loadImage()to work in Opera * Fixed fake-dom to work with println and tinylog * Fixed KNOWN-FAILURES for tinylog parsing * Fixed and updated the AUTHORS log * Fixed Parse Error: Does not like strings in the format "test test, test test, ..." * Fixed Rename zip file for make release * Fixed keyCodes for numbered keys return same values as some letter keys * Fixed Test harness _checkEqual does not compare "undefined" * Fixed automated tests: make check-one path not resolving * Fixed Example: examples/basic.displaying.html incorrect source code "loadimage example bug" * Setup an OpenGrok instance infrastructure February 12, 2010 - Release 0.5.0 * Added acos() * Added asin() * Added atan() * Added automated tests for parser * Added bezierTangent() * Added binary() * Added box() * Added camera() * Added constants MAX_FLOAT, MIN_FLOAT, MAX_INT, MIN_INT * Added curve() * Added exp() * Added frustum() * Added hex() * Added join() * Added log() * Added ortho() * Added perspective() * Added PMatrix3D * Added printProjection * Added project packaging automation infrastructure * Added nf() * Added rotateX() * Added rotateY() * Added rotateZ() * Added sort() * Added support for Processing based unit tests * Added tan() * Added trim() * Added uniformf() * Added uniformi() * Added uniformMatrix() * Added vertexAttribPointer() * Added 3D Matrix Stack Object * Added "str1".equals("str2") function * Fixed array handling of int() * Fixed automated tests to work for large numbers of files * Fixed buildImageObject() * Fixed char c = '#;' * Fixed context menu blocking to be explicitly requested * Fixed curveVertex() * Fixed data-src * Fixed duplicate function errors and reserved keywords * Fixed import() * Fixed inconsistent mouse event semantics * Fixed keyCode RIGHT * Fixed last p.keyCode not to fire for every keyPress * Fixed min() and max() functions to take more than two arguments * Fixed noLoop() & loop() * Fixed parser whitespace bug in variable names * Fixed parsing of Java import statement * Fixed parsing of String content * Fixed rotate() * Fixed size() for 3D * Fixed Test harness _checkEqual to compare arrays * Fixed Test harness _checkEqual to compare NaN * Fixed test reporting for summary case * Fixed text(); added cross browser support, added primitive datatypes support * Tested parser for processing larger code samples January 31, 2010 - Release 0.4.0 * 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