forked from processing-js/processing-js
-
Notifications
You must be signed in to change notification settings - Fork 10
/
CHANGELOG
903 lines (862 loc) · 37.7 KB
/
CHANGELOG
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
July 31, 2012 - Release 1.4.0
* 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]
October 13, 2011 - Release 1.3.6
* Fixed arc() not filling the last half degree [#1717]
* Fixed camera() call order regression in 1.3.5 [#1714]
* Fixed delay() to throw an unsupported function error [#1724]
October 5, 2011 - Release 1.3.5
* Added check for canvas in Processing ctor [#1646]
* Added document.head compatibility for Firefox 3.6 [#1660]
* Added reference to p instance in onLoad() [#1643]
* Added text(string, x, y, z) ref tests [#1642]
* Disabled WebGL anti-aliasing [#1701]
* Fixed PImage.mask() when passed a PImage created from a PGraphics [#1623]
* Fixed PImage.toImageData not using cache [#1647]
* Fixed colorMode not working in 3D [#1670]
* Fixed copy() without a source argument [#1631]
* Fixed frustum() not throwing an error in 2D mode [#1693]
* Fixed get() not returning a copy of a PImage [#1622]
* Fixed get(x,y) when called on 3D PGraphics [#1630]
* Fixed getUniformLocation checking for null [#1650]
* Fixed lights not being applied to textures [#1503]
* Fixed modelX/Y/Z() failing if camera() was not called first [#1103]
* Fixed noFill()/noStroke() not working if called before size() [#1417]
* Fixed pixels not allowed as a variable name in classes [#1674]
* Fixed pmouseX/Y values during draw() [#1635]
* Fixed rectMode() not working in 3D [#1656]
* Fixed textWidth() returning a string instead of a number [#1624]
* Fixed texture UV coordinates not normalized and clamped with NPOT textures [#1669]
* Fixed texture() modifying a NPOT PImage passed to it [#1664]
* Fixed tint() ignoring alpha parameter [#1625]
* Fixed tint() not marking a PImage as dirty [#1707]
* Fixed using p as a class member identifier [#1618]
* Fixed vertical align in textAlign() [#1628]
* Optimized use of curRectMode and curEllipseMode [#1676]
* Removed p.Import [#1632]
* Removed unused inDraw variable [#1641]
August 24, 2011 - Release 1.3.0
* Added a chart to the perf test suite
* Added an error message to the ref test builder if 'exit()' is not found in the sketch
* Added blendColor ref tests
* Added codePointAt to the String object
* Added documentation to toP5String function
* Added equalsIgnoresCase to String object
* Added error messages to beginCamera and endCamera when used in 2D mode
* Added error messages to Processing file and I/O functions that are unsupported by Processing.js
* Added printMatrix unit tests
* Added resetMatrix unit tests
* Added rounded rect
* Added screenWidth and screenHeight variables to match Processing v2.0
* Added script to build process to replace PConstants.* with their numerical values
* Added startsWith and endsWith to the String object
* Added support for external javascript code to add images to the imageCache
* Added tint perf and ref tests
* Added toArray() to the Array object
* Added transparency perf test
* Changed function(){} to the Processing local variable 'nop'
* Changed obj.constructor type-checking to typeof(obj)
* Changed perf tests to use exit()
* Changed Processing.js errors to throw instead of print to tinylog
* Converted animated test suite tests to ref tests
* Converted XMLElement unit tests to use XMLElement.parse(string) instead of XMLElement(string)
* Fixed crisp not working properly when any transformations were applied to the sketch
* Fixed CSS font declaration when using SVG fonts
* Fixed default vertical align in textMode(halign, valign) to BASELINE
* Fixed equalsIgnoreCase to use toLowerCase rather than RegEx(//i)
* Fixed fake-dom.js returning the same canvas every time createElement is called
* Fixed font metrics (textAscent, textDescent, etc.)
* Fixed font preloading not checking whether a @font-face rule already exists
* Fixed font preloading to use tinyfont
* Fixed font quoting bug in computeFontMetrics
* Fixed HashMap.values() so that it returns an ArrayList
* Fixed hex literal #FFFFFF not being converted to an int properly
* Fixed HSB functions ignoring colorMode range in grayscale
* Fixed httpd.py webserver to be multi-threaded and MSIE compatible
* Fixed image() not working in 3D mode
* Fixed lerpColor generating incorrect values in HSB color mode
* Fixed make release-files creating the temporary file in the wrong directory
* Fixed mandelbrot.pde and histogram.pde ref tests
* Fixed MSIE crash when loading from a <script> element
* Fixed negative color and opacity values returning incorrect results
* Fixed performance loss when drawing images at fractional co-ordinates
* Fixed PImage.get not returning valid data
* Fixed rectMode() regressions caused by @pjs crisp removal
* Fixed runtests.py to use Unix paths only
* Fixed screenXYZ.pde unit test
* Fixed sketch starting before font preloading is done
* Fixed smooth() and noSmooth() to use new image-rendering modes
* Fixed SVG loading in Opera
* Fixed SVG path handling for 'z' and 'Z'
* Fixed text-width.pde ref test to use the correct font
* Fixed text$4 and text$6 font alignment
* Fixed textAlign and textMode not getting saved in pushStyle() and popStyle()
* Fixed textSize not caching textAscent, textDescent, and textLeading
* Fixed tint() to work with texture()
* Fixed vertex() not working with optional parameters
* Fixed vertical align behaviour
* Fixed XMLElement.parse when parsing a string with '.svg' or '.xml'
* Improved the performance of blend modes
* Improved the performance of blend()
* Improved the performance of images created with createImage()
* Improved the performance of PVector
* Reduced the number of canvas objects the ref test runner creates so that tests pass on Chrome in Windows
* Refactored forwardTransform and reverseTransform into modelView and modelViewInverse
* Refactored PFont
* Refactored point(), line(), and rect() to draw crisp lines
* Refactored Processing.js to have no else after return or throw
* Refactored unbinary()
* Removed @pjs crisp directive
* Removed color profiles from all images used in our ref test suite
* Removed comments from the release version of Processing.js
* Removed reliance on use3DContext variable
* Removed textMode(SCREEN)
* Removed unused 'Keys and Keystrokes' variables
* Removed unused function colorBlendWithAlpha
* Removed use of .apply(this, arguments)
* Removed use of parseFloat and parseInt as cast operators
* Replaced 'new Date().getTime()' with 'Date.now()'
* Switched back to YUI compressor for this release, as Google Closure was producing buggy code
July 14, 2011 - Release 1.2.3
* Added a note to the test suite about Opera failing Cursor
* Added httpd.py to the distribution in order to run a local http server for testing
* Added Shiffman's "Nature of Code" into parser test suite
* Added support for hash/bookmark url from sketch loading
* Added both inline and external loading samples to the example.html example
* Add JavaScript event hooks to Sketch
* Changed Processing.logger back to tinyLogLite
* Changed the script attribute used to target a canvas from data-target to data-processing-target
* Converted test suite #113 and #114 to ref tests
* Converted README to README.md
* Converted ref tests to have proper draw loops with exit() in them
* Created SVG ref tests
* Created curve* ref tests.
* Created more background() ref tests
* Created makefile documentation
* Deleted dead code in processing.js
* Deleted unused variables and functions
* Expanded test suite configurations for more OS/browser combos
* Expanded lerp unit test beyond r/g/b
* Fixed ArrayList's copy constructor
* Fixed processing.js header to include type of distribution
* Fixed processing-helper to work when creating 3D tests after 2D tests
* Fixed 3D points to take strokeWeight() into account
* Fixed exit() to properly release events that are bound to sketches
* Fixed split() so it doesn't scope-conflict with objects that implement their own split function
* Fixed Test suite blur test to properly load second image
* Fixed ref test runner so it can re-run without reloading the page
* Fixed parser so that all classes in a deep class hierarchy get a $base
* Fixed ref test runner to use epsilonOverride global value when higher than test-specified value
* Fixed failing ref tests due to pixel diff errors
* Fixed build system to run make check-lint as part of make check
* Fixed test suite #56 alpha mask on IE9 and Opera
* Fixed processing helper preloading in Firefox 4
* Fixed ref tests that use text
* Fixed event handler leaks processing.js
* Fixed error messages when local files cannot be loaded
* Fixed ref test runner to properly diff images
* Fixed ref test runner to properly sort completed tests
* Fixed test suite and ref test runner to use minified vs. full processing.js in test suite
* Fixed Makefile to be Windows-friendly
* Fixed @pjs directives to work when multiple directives are specified
* Fixed build system to add version number and header to minified processing.js
* Fixed build system so that release target triggers check-release automatically
* Fixed example.html to use size() instead of canvas width/height
* Fixed regression from #1363
* Fixed SVG path "m" statement regression
* Fixed loadImage() reference to not mention signing applets
* Fixed SVG regression from failed merge
* Fixed loadShape()
* Fixed Makefile so that check-closure does not die mid-way
* Fixed PVector.set to not set z to undefined (NaN)
* Fixed is3D regex in ref tester
* Fixed case-sensitivity in ref test SVG filenames and associated tests
* Implemented fillStyle
* Implemented __hashCode function via virtHashCode
* Investigated the suitability of implementing the A3D Renderer
* Moved the utility functions (extendClassChain, defineProperty, ...) to defaultScope
* Refactored rotateZ into 2D and 3D methods
* Refactored mag() to use function args
* Refactored vertex() to use function args
* Refactored line() to use function args
* Removed fixOperaCreateImageData()
* Removed fixOperaCreateImageData() in ref test runner
* Removed delay() from Reference
* Removed init and loadSketchFromSources from the api version of pjs
* Removed init.js from repo and /download
* Removed uses of eval("...")
* Removed impossible parser tests
* Removed duplicate loadSketchFromSources and disableInit
* Removed nop and eval_ from the global closure arg list
* Removed @pjs transparency directive
* Restored feature to load inline sketches after accidental deletion
* Rewrote beginDraw and endDraw comments to better explain their presence
June 2, 2011 - Release 1.2.1
* Fixed background() when called with 3 arguments
* Fixed use @pjs transparent directive
* Updates to build system for testing, release
May 26, 2011 - Release 1.2
* Aligned default frameRate to match Processing (e.g., 60fps). NOTE: if your
sketch seems slower than before, frameRate(1000) will yield the old behaviour.
* Added Performance Tests
* Added lazy loading sketch extension
* Added XMLElement toString() function
* Added loadShape() testing
* Added support for Java Generics
* Added ArrayList addAll()
* Fixed stroke being applied in endShape()
* Fixed the key variable to hold the proper data type
* Fixed string functions split(), contains()
* Fixed background() when called with image different size from sketch
* Fixed IE9 loading issues
* Fixed mouseX/mouseY to be computed with canvas scaling taken into account
* Fixed text string's height to not ignore textLeading()
* Fixed copy() to handle transparency
* Fixed ellipse 3D to take noStroke and noFill values into account
* Fixed regression in specular() defaults to be same as 1.1.0
* Fixed screenX()
* Fixed arc() 3D fill
* Fixed endShape(CLOSE) so the shape doesn't disappear
* Fix for 3D PGraphics always drawing below 2D shapes
* Fixed noStroke() on P3D endShape()
* Fixed 3D ref tests
* Fixed rect() for 3D when used with lights
* Fixed param()
* Fixed leak of global typed array variables
* Fixed rendering of println() so it's more usable
* Fixed Scaling/Light problem in 3D
* Fixed reverseTransform()
* Fixed line(x,y,x,y) so that it draws a point
* Fixed Processing constructor to take a single argument
* Fixed Iterator for Map's EntrySet to iterate through the entire set
* Fixed dir vector transforms in directionalLight() and spotLight()
* Fixed arrayList remove() to take an object argument
* Fixed light/shadowing failures in ref tests for 3D
* Fixed strokeWeight to not get reset in draw()
* Fixed image cache to set loaded property for images inserted from js
* Fixed parser bug with negative values
* Fixed parser bug with static variables
* Fixed textWidth to work with newlines
* Fixed beginShape() and endShape() to work with bezierVertex()
* Fixed arc() when covering 0 radians
* Fixed unit tests that caused UTF-8 errors in newer JSSHELL
* Fixed linting errors
* Fixed arc() regressions
* Fixed XML API to be Processing 1.5 compatible
* Fixed subset(array, offset) bug
* Converted all XMLElement tests to unit tests
* Converted endShape() ref tests to be part of the regular 2D/3D ref tests
* Documented rotate() to explain direction
* Documentation fixes and corrections on website
* Improved minification
* Improved the performance of arc()
* Improved the performance of blur()
* Improve the performance of blend()'s ADD mode
* Implemented ArrayList indexOf()
* Improve the performance and output of ref tests
* Improved compatibility of WebGL context creation
* Moved colors object out of Processing instances to save memory
* Reduced calls to uniformMatrix()
* Removed test/unit/braces.js
* Removed clear()
* Removed transform matrix calculations if there are no lights
* Removed dependancy on init.js, and init.js from examples
* Removed all uses of use3DContext from compiled sketches
* Rewrote build system, switched to closure
* Removed Bespin IDE
* Removed unused tools and minifies
* Removed uses of constructor.name
* Renamed internal uses of int(), boolean(), etc. to parseInt(), parseBoolean(), etc
* Updated README, LICENSE, AUTHORS, CHANGELOG
March 29, 2011 - Release 1.1.1
* Add known failures to ref tests
* Convert test-suite tests to REF tests
* Fixed inheritance for certain (js object) methods still broken (1.1)
* Fixed more extra semi-colon breaking
* Fixed createImage for RGB format produces image with transparent background
* Removed String.prototype.match and .replace in IE9
* Removed static beginCamera/endCamera examples from repo
* Re-factor 3D and 2D drawing functions into separate objects
March 1, 2011 - Release 1.1
* Added mouseover, mouseout events
* Added parseBoolean()
* Added make file option to create an API only version of processing.js
* Added webkit touch events natively in pjs
* Added custom pjs packager for pre-parsed code
* Added Java for each loop is now supported
* Fixed PJS defaults not matching P5 where reasonable
* Fixed 3D demos broken on systems running OSX 10.6 using nVidia cards
* Fixed key event filtering per sketch (multi-sketch page setup)
* Fixed xmlElementRemoveAttribute test failing
* Fixed XMLElement.parseChildrenRecursive
* Fixed XMLElement constructor returning this
* Fixed OO bug with classes
* Fixed Processing instances not always being added to Processing.instances
* Fixed P3D not respecting noFill()
* Fixed ref test runner broken on IE9
* Fixed ajax() should be asynchronous
* Fixed XMLElement.getChildren(path) not returning all the children
* Fixed inheriting from ArrayList failing
* Fixed toImageData() scope issue
* Fixed ArrayList contains() not checking equality (1.0)
* Fixed shaders being broken with new restrictions on non-constant loops
* Fixed Ref test creation problem with WebGL
* Fixed parsing problem with the ternary operator and the pixel array
* Fixed box vertices and comments not being congruent
* Fixed loop() going relatively mad after a noLoop() and more than 0 second wait
* Fixed Minefield from reporting syntax error on first line
* Fixed text() function width and height restrictions being unreliable
* Fixed unexpected result when converting char() to str()
* Fixed jsshell tests to use snarf() instead of munging strings
* Fixed pollution of object prototypes
* Fixed static methods not working
* Updated the way document focus is checked at the start of every frame redraw (1.0)
* Updated fake-dom.js to support xhr.overrideMimeType
* Updated PShape to use prototypes
* Updated numerous website reference pages
* Removed pimagefilter.pde, and filter.pde files from unit tests
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 <rect> 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