You are on page 1of 60

PROCESSING 2.0b7 (REV 0215) - 7 December 2012 475,382 bug fixes in this release as we work on finalizing 2.0.

[ changes ] + Removed all imports that aren't covered in the Processing reference. If you use java.awt, java.util, or other classes in your sketch, you will need to add an import line to the beginning of your sketch. Only the classes that are covered in the reference (HashMap, ArrayList, and some others) are now imported by default. This has been done to improve overall cross-platform parity and to avoid users unknowingly adding Java classes, and then the sadness that comes when switching to Android or JavaScript modes. The list of imports is now hard-coded (no longer read from preferences.txt) and includes the following: import java.util.HashMap; import java.util.ArrayList; import; import; import; import; import; If we're missing anything that's not covered in the reference, please let us know via the bugs database. + A new "experimental" mode has been added. It's the start of combining two of our Google Summer of Code projects (DebugMode and XQMode) to enable a debugger and on-the-fly error checking. We're including it in the release so that folks can test it out and let us know how it's doing. The interface still needs work and its innards may be a bit buggy, but it represents some exciting upcoming improvements for the PDE. + hint(ENABLE_ACCURATE_2D) has been renamed to hint(DISABLE_OPTIMIZED_STROKE) to better reflect what it actually does. Reference has been added. OpenGL drawing is significantly faster when the fill and stroke of a shape is drawn separately. This leads to visual artifacts on shapes where both fill and stroke is enabled (not a great idea in 3D anyway), so this option fixes the visual artifacts at the expense of speed. + Sketch names can no longer begin with underscores (fixes an Android compatibility issue). This was changed in recent releases, but missing here. + More Mac OS X key bindings have been implemented in the editor: + Set quality level higher when exporting JPEG images. This will result in larger JPEG files with save() and saveFrame(), but the default quality setting in the past was unacceptable for many/most projects. See the bug report link for how to implement in case you want to set the quality lower (or even higher) than the new default. + Table row iterating syntax has changed. This code:

for (TableRow row : table) { ... } has now changed to for (TableRow row : table.getRows()) { ... } (This may change to rows() on the next round, pending other API tweaks) + Change default for shift-backspace to just be backspace. To change it back, set editor.keys.shift_backspace_is_delete=true in preferences.txt. + Implement clip() and noClip() to set the clipping region. + Added blendMode() feature. + Add different styles of arc drawing. + Added XML.getLong() (also updated Android) + Implement back-buffer sampler in OpenGL renderers. + Change how get(x, y, w, h) was handled with offscreen areas. + Make key and mouse events interleave, also improve threading. + Changed event constants to PRESS, RELEASE, CLICK, DRAG, MOVE, ENTER, EXIT instead of past-tense versions of the same. + Removed mask(int[]) from PImage. + Implement postEvent() to put new events on the queue. + Add mouseEntered/Exited on the desktop. + Change output from processing-java to be UTF-8 encoded. + Disable Quartz renderer to fix line blending problem on OS X. This older renderer was faster but had some bugs, like one that caused lines to composite incorrectly when alpha was used. Add "PApplet.useQuartz = true;" into your PApplet.main() function to switch back to the old method: ssing/core/PApplet.html#useQuartz + Remove requirement for Google APIs in Android mode. [ bug fixes ] + mouseButton not being set properly in mouseClicked. + mouseButton is 0 in mouseReleased() on OS X + mousePressed() coloring now different from mousePressed Still not necessarily perfect, but it's a big improvement. Note for people implementing their own Modes: FUNCTION1 and FUNCTION2 have now been added for functions with parens. + 32-bit mode / 64-bit mode preference was ignored on OS X. + Prevent errors on first line of a new tab from highlighting the last line of the previous tab. In particular, a single letter on a new tab was highlighting the last line of the tab to its left. + Android debug information wasn't being passed through to the console. In addition, on Windows, error reporting wasn't working properly (couldn't find the right line or report the error correctly). + Fix ugly results from resize() command on PImage: and similar on Android: + P2D/P3D PGraphics buffer failing to draw if larger than main surface. + Fix double error report when textMode(SCREEN) was used: textMode(SCREEN) has been removed from Processing 2.0. textMode(256) is not supported by this renderer. + image(pgraphics, x, y, w, h) was only drawing once when shrinking. + beginShape(QUAD) was not working with Java2D. + Relative coordinates not updated properly on closepath with SVG files. + PShape and lights results in more lit vertices. + Implement anisotropic filtering when using OPENGL. + Update reference for begin/endContour. + Fix "expecting EOF, found 'import'" error on previously working sketch. + Prevent potential race condition when resizing sketches. + Mode detection wasn't properly ignoring code inside comments. + Fix error line numbers from command line version to count from one

instead of zero, so that they're compatible with other systems. + Sketches exported to Linux weren't passed the command line arguments + "electricScroll" feature was causing weird jumps when double-clicking + Crash during library download was causing empty library list + In the net library, clientEvent() called even w/o data from server + Add Server.ip() method to get the IP address of the host machine. + Modify Copy as HTML to add second HTML data type when writing the clipboard Fix contributed by Ostap Andrusiv--thanks! + Shaders are passed wrong defaults when calling "filter" on a PGraphics object + beginContour() behaves differently in immediate and retained modes + P2D/P3D crashes when trying to display unicode text + Fix for PMatrix3D.mult() when vectors are identical + Curves weren't rendered seperately when P3D or P2D specified. + FBO handling in PGL is not transparent. + Use of pixels[] array breaks after resize in OpenGL. + No stroke with OpenGL sketches on a 2007 Mac Mini (GMA 950) + ortho() displays strange line widths. + Resizeable frame crashes sketch with AMD video card. + set(x, y, PImage) doesn't work with P2D/P3D. + begin/endShape with a single vertex causing crash on P2D/P3D. + Using a PGraphics as a texture produces visual artifacts.

[ android ] + Like the desktop release, removed default imports. This includes: android.view.MotionEvent, android.view.KeyEvent, due to conflicts w/ the new event system, and hoping to enforce better cross-platform compatibility between Java, JavaScript, and Android modes. + Changed event handling to hopefully clean up some inconsistencies. Removed motionX/Y/Pressure... these need to be handled separately. More here: + mouseX/Y no longer include history with moves, which reduces fidelity a bit, but will hopefully prevent us overdoing it for future releases. + Fix how pmouseX/Y are set. [ fixed earlier / cleaning ] + When turning smoothing on, internal lines of shapes are visible. + textAlign(CENTER) with P3D and OPENGL produces messy result + Signature issue on contributed libraries affects unrelated OpenGL sketches + Implement efficient version of copy() in PGraphicsOpenGL. + copy() does not update the screen with OpenGL. + strokeCap() and strokeJoin() for use with OPENGL. + Fix inconsistent anti-aliasing with OpenGL. + noCursor() + OPENGL = won't get past setup() + set() requires updatePixels() with OpenGL. + Chopping out triangles in OpenGL (though it's only 2D drawing). + Share interface for 3D across desktop and Android. + Distortion of 2D shapes when sphereDetail() is used. + OPENGL renderer stops rendering after text is written using textMode(SCREEN)

+ Support 'black' as color for SVG files (fix from PhiLho) + Catch + Image created with img.get() works incorrectly when using filter() + copy(image with transparency) doesn't keep the transparency at start up. + Defects in the tessellation of SVG shapes in A3D + Blacked-out screen when restoring Android app from background. + Excessive rotation of application causes memory to run out + Should alpha PImage stuff use a non-4byte config? + Rounded rect support on Android . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . PROCESSING 2.0b6 (REV 0214) - 2 November 2012 Patching up command line issues that went backwards in the last release, a number of OpenGL fixes, and more internal changes and updates. [ bug fixes ] + Command line support was broken in 2.0b5, with an error about processing-java ClassNotFoundException: BatchCompiler On Mac OS X, you may need to re-run the "Install Command Line" tool. + Make sure the sketchbook is being picked up on the command line, so that imported libraries are handled correctly. + Import statements were executed within multiline comments. + Editor not responding properly if the "External Editor" preference had been enabled with a previous release. + A number of OpenGL fixes to better handle older chipsets, like the GMA 950 (found on lots of older Mac Minis and similar hardware). + Reverted back to an older version of the JOGL library to prevent issues with sketches locking up. In particular, this should fix sketches that use the video library: + Icon loading was causing an error if you used a package for your code. + No longer using --request on OS X 10.6, since it's not available. Avoids a harmless warning message on the console when running a sketch. [ changes/additions ] + Added an option to Preferences to enable/disable advanced input method support to handle complex scripts like Japanese, Korean, or Chinese. + Add option for blinking and/or block caret in the editor. To disable caret blinking in the text editor, add this line to preferences.txt: editor.caret.blink = true Or to just a block caret, use this: editor.caret.block = false [ internal ] + Removed applet-related preferences, and the 'applet' subfolder in the source/distribution. + Removed the old 'cmd' folder from the source/distribution + Preferences are now written in sorted order to make it easier to handle comparisons or other debugging. + Major change to handle how the 'lib' folder is found, hopefully does a better job with command line support. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . PROCESSING 2.0b5 (REV 0213) - 22 October 2012 Fixes for a few regressions that showed up in 2.0b4, plus some internal changes to simplify how modes are handled. [ bug fixes ] + Libraries not installed through IDE had blank names. + mouseButton not being set properly on Windows (and probably Linux). + Console disappearing with increased editor font size. [ changes/internal ] + Change how modes are set up so that XQMode, our Google Summer of Code project can work properly. + Implement multiple sizes of icons for PDE and core. This improves

the quality of the icon seen on Windows and Linux attached to frames. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . PROCESSING 2.0b4 (REV 0212) - 21 October 2012 Command line support is back! Find and Replace works over multiple tabs! The Mac OS X version should work again in spite of Apple's best efforts! [ additions & removals ] + Command line support is now available for Java mode. On Windows and Linux, use the processing-java program. On Mac OS X, there's an option in the Tools menu to install the command line tool. Build and export options should even work in headless mode when enabled (no guarantees, but simple test results were promising). Android and JavaScript mode are not supported, contributions are welcome: + Added a Tool for Mac OS X to help set up serial port. Using serial on OS X requires some incantations on the command line, and this prompts for an administrator password and takes care of them for you. The commands involve creating a folder and setting a few permissions. If everything is already set properly, the Tool will not be present in the Tools menu. + With the arrival of command line support, the misunderstood and sometimes maligned "Use External Editor" option has been removed. + Fix several problems introduced by Apple's recent Java "update". Apple's most recent Java update may render older versions of Processing completely unusable, it's not quite clear yet. [ bug fixes ] + Fix the exceptionally slow startup (a 5 second delay) in recent releases. + Find & Replace over multiple tabs (thanks to Manindra Moharana for the patch!) + calling jump() resets movie speed + Fixed sketch renaming regression in underscore handling + Fix library manager temporary folder problem on Linux) + Default sketchbook folder was going to wrong location on Linux + mouseButton wasn't getting set on mouseReleased() [ technical updates ] + JOGL has been updated, which may help iron out some GL quirks. + Change all build.xml files to use Java 6 as both source and target (avoids Java 7 warnings during build). + Updated ecj.jar to use jdt-core.jar... This is a larger file but were hoping that this would get our GSoC project "XQMode" working without the need for patches. Sadly that's not the case, but stay tuned. [ known issues ] + Fewer exclamation points will be used to introduce future releases. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . PROCESSING 2.0b3 (REV 0211) - 10 September 2012 Shaking out the beta bugs. [ major fixes ] + registerMethod("keyEvent", ...) not calling key event methods. + "Processing is damaged and should be put in the trash" with 2.0b2. Apple's asinine code signing strikes back! + Restore deprecated versions of getFont() and getImage() to address library compatibility issues. The similar getBitmap() and getTypeface() methods on Android will not be restored. [ minor fixes ] + Changing the default display in Preferences does not reset editor location, so it appears to have no effect. + Remove bad cast in PGL during error reporting. + Make Mode menu into a radio button, so it cannot be de-selected [ changes and additions ] + Show error message when using createGraphics() with P2D, P3D, or OPENGL and the main drawing surface is not an OpenGL renderer. + Make file selectable from the OS X menu bar. Thanks to Hansi for the patch. Note that this only works for sketches that have been saved.

+ Added registerMethod(keyEvent) to Android, though motion and mouse events are still unavailable. + Cleaning up the internals of Preferences and untitled sketches. Fingers crossed that these don't give us last-minute regressions. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . PROCESSING 2.0b2 (REV 0210) - 7 September 2012 One major fix for libraries that use key events, and a number of minor fixes that we've found along the way. [ fixes and updates ] + Libraries with using key events were reporting: "java.lang.IllegalArgumentException: argument type mismatch" in beta 1, this is now fixed. + Added hint(ENABLE_STROKE_PURE) to deal with Java 2D regression. + Fix for stroke with beginShape(TRIANGLE_FAN) + hint() documentation now updated (except for the hint above). + Using ortho() breaks stroke rendering [ fixed earlier ] + POINTS mode vertices are huge + Potentially insufficient ellipse detail with P3D/OPENGL when scaled + Implement support for complex shapes when using the OpenGL renderer + modelX/Y/Z broken when aiming a camera + OpenGL broken with JDK 7 on OS X, fixed with new JOGL updates + Problems with OpenGL example sketches + Memory improvements for updatePixels() with OpenGL (P2D and P3D) + Text characters showing up as opaque rectangles + Changing framerate causes program to crash with P2D in 2.0a6 [ android ] + Updated examples from Andres and categories in the examples browser. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . PROCESSING 2.0b1 (REV 0209) - 3 September 2012 Bug fixes, new registered methods for libraries, updated keywords, and we're beta! [ changes ] + Require 10.6.8 as minimum Mac OS X system version. + Change name from "Standard" to "Java" mode. + Save opened/closed state of entries in the examples browser + Lots of internal changes to loadShape() and PShape. + Work on making API more generic and consistent for cross-platform use. Font PFont.getFont() -> Object PFont.getNative() Typeface PFont.getTypeface() -> Object PFont.getNative() Image PImage.getImage() -> Object PImage.getNative() Bitmap PImage.getBitmap() -> Object PImage.getNative() + beginGL() and endGL() are gone, and beginPGL() and endPGL() exist in their place. The PGL class is a layer that lets us talk to OpenGL in a way that's cross-platform and consistent. It also has many GL calls for people who want to access GL directly. + New syntax introduced for libraries and registered methods. Documentation coming soon. [ bug fixes ] + Handle dimming the Find/Replace buttons. + Any double-click inside Examples window opened the last selection on Windows + loadImage() with spaces in path broken with exported applications on OS X + Minor speed fix for PVector.limit() + Jagged / Glitchy JAVA2D shape strokes in Java 1.6 due to recent change introduced in Java update from Oracle. + GL Android sketches halting after rotation.

[ known issues ] + createShape() is not implemented with the default 2D renderer. + See the Changes page on the Wiki for more. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . PROCESSING 2.0a9 (REV 0208) - 1 September 2012 As we inch closer to beta, a quick release for testing. Plenty of video and OpenGL graphics fixes from Andres, and some functions disappearing due to cleanups by Ben. (Andres giveth, Ben taketh away). Consider this one to be 'nightly build' quality. [ general ] + Help menu broken when Processing has spaces in its path name in 2.0a8 + We now have repeating textures. Use textureWrap(CLAMP) (the usual version) or textureWrap(REPEAT). If this feature is used for evil and cheesiness, it will be removed in future releases. + Fix lights in GL renderers on low-end android devices. + Pixels for createGraphics() now transparent for P2D, P3D. [ video ] + GettingStartedCapture in 2.0a8 launches X11 in Mountain Lion + Some videos were giving OpenGL error with P2D/P3D. + Jump movie to multiple of the framerate for better accuracy. + Movie functions not working correctly in setup(). + Fix initialization API for Capture. + Some movie examples were not working in P2D, P3D in 2.0a8 + Wrong resolutions reported by Capture.list() [ advanced ]

+ Several constants moved out of PConstants and into PGraphics. + API cleanup to PShape and unapproved methods. + Synchronized Android sources a bit (PShape, PConstants, etc.) + Removed several video functions that weren't approved. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . PROCESSING 2.0a8 (REV 0207) - 5 August 2012 A handful of bug fixes. Not as large a release as 2.0a7, but I decided it best to get the updates out there and in use rather than waiting for beta 1 since I'm not sure when we'll be able to get that out. [ miscellaneous ] + Make sure smooth() is the default with both renderers + "Open" dialog on Linux wasn't showing directories + Double-click was immediately closing example folder (Windows and Linux) + Support native code in Android libraries. Thanks to m4rlonj for the patch! + Don't expand the folders in the examples window (Casey request) + Added cmd-shift-O (ctrl-shift-O) for opening examples window + Added recent sketches menu to the toolbar + Added 'empty sketchbook' indicator when the sketchbook menus are empty + Prevent users from deleting the last tab on the only sketch that is currently open on Windows and Linux. [ serial ] + Added 64-bit RXTX for Mac OS X serial from this page: el-mac-os-x/ + Added warning message on Mac OS X when /var/lock folders aren't available + bufferUntil() with values above 127 do not work properly [ plumbing ] + Switch to using java.awt.Desktop classes for opening folders, links, etc.

+ Include createTextArea() in Editor for the GSOC projects. + Add code for setting the L&F from the prefs file for Linux. + Added 'all tabs' checkbox to Find & Replace, but not implemented yet. This would be a great project for someone to finish: + Added notes about "color(0, 0, 0, 0) produces black" to the Wiki. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . PROCESSING 2.0a7 (REV 0206) - 29 July 2012 Hopefully the last alpha before we hit 2.0 beta. The big change is that we're dropping support for applets in 2.0, and in this release. See the Changes section of the Wiki for details. We've not updated all of the documentation to reflect this yet. OS X 10.8 Mountain Lion support has also been added, by virtue of our paying $99/year for the privilege of releasing our free and open source application on OS X. When run on 10.8, versions prior to 2.0a7 would report that they were corrupt, invalid, or not trusted. Which is definitely us. [ editor ] + Implemented a "Recent Sketches" menu. This replaces re-opening sketches on startup, which behaved inconsistently anyway. + Use Swing file choosers by default on Linux. The default open/save dialogs provided by Java are pretty gruesome, so we're switching to the Swing JFileChooser instead. To swap the behavior, set 'chooser.files.native' in your preferences.txt file. + Suppress "invalid context 0x0" and "invalid drawable" because they're (unfixable) Apple Java bugs and being reported as Processing bugs. Also suppress XInitThreads message on Linux with JOGL, which is a JOGL bug that'll hopefully be fixed in their next release. + Fix Movie Maker tool on OS X. + Update to Java 6 update 33 on Windows and Linux. + Add separate 32- and 64-bit releases for Windows and Linux. Lots of other updates for 32/64-bit support in general. + Replace processing.exe with a more standard version from launch4j, which should hopefully clean up some launcher issues. + Change how sketches open so that there's no longer differences between the File menu 'Open' and the way it worked from the toolbar. Simplifies additional code that was quirky. + Add a warning dialog for libraries that aren't compatible. + Fix up the file choosers used on Linux. + Instead of prompting for sketchbook location on Linux, just default to a folder named 'sketchbook' in the user's home directory. This can easily be changed later but simplifies things internally a bit. + No longer allow underscore at beginning of sketch name (causes problems with Android, and also with applets, though we care less about those...) + Fixed a problem where sanitized names (underscores replacing unusable characters) could potentially overwrite existing folders. [ core ] + Major changes to selectInput(), selectOutput(), and selectFolder(). See the Wiki: The changes are there to prevent a threading bug: And also include an option to set the default file path: + Change 'appletViewer' back to 'online'. Still deprecated, especially because applets are going away. + Add begin/endGL added to PGraphics/PApplet. + Add hasChildren() to XML library. + Fix where displayWidth/Height not being set properly before setup() + XML now throws exceptions in its constructor (for advanced users). Use loadXML() instead of "new XML(this, ....)" + loadXML() returns null when the file did not open properly + ortho() causing line and fill to be misaligned + Add some extra options for PApplet.main() for advanced users: PApplet.main("SketchName") and PApplet.main("SketchName", args) [ android ] + Add full PAppletMethods implementation to Android, so that PGraphics and PImage methods are brought into PApplet. + Swap Run on Device and Run on Emulator

+ Fix XML crash on loading because of desktop-specific attribute error: "" This also fixes PShape on Android: . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . PROCESSING 2.0a6 (REV 0205) - 1 June 2012 Lots of changes since the last update as we move closer to beta. Major updates for 2.0 can be seen on the Changes page of the Wiki: [ changes ] + Lots of updates to how full screen, multiple displays, etc work: + Added an option for selecting the default display inside Preferences. + P2D and P3D are now variations of the OpenGL renderer. + XML and Table are now part of the* package. There's also new loadTable() and loadXML() methods in PApplet. [ bug fixes ] + Renaming .pde to .java (or vice versa) complains regression from: + handleFindReference in should be public for alternative modes (?) + Base.listFiles does not list recursively if extension is given + ByteUnderflowException thrown and Font not reported + Convert tabs to spaces when pasting text + Fixed up some of the error messages inside Compiler. + When internal tools crash, don't add them to the menu (prevents the PDE from locking up on startup). [ fixed earlier ] + Export reports "Could not copy source file" (even though it works) + Preferences window not visible on taskbar

+ Paste value into color picker tool does not update box-slider + Unable to access Javascript examples + Closing sketch file closes applet [ core ] + Add support for println(long) because it was converting the type to float + createGraphics for JAVA2D generates the wrong error msg w/ w/h <= 0 + Removed NanoXML, added save() method, other wish list features. + Fix whitespace issue with XML + Make displayWidth/Height work properly with multiple screen. (In the past, screen.width and screen.height just returned the default display size, not necessarily the display being used.) + Built in Hansi's full screen API for OS X, so that sketches can use full screen without exclusive mode. See the Wiki for details. + Now attempts detect when a sketch's size is the full screen, and if so removes the frame border, etc. + --display option now works properly (on OS X and elsewhere) [ OpenGL by Andres ] + polygon shapes without fill slowdown render progressively + screenY(x,y,z) returns incorrect coordinate + lights() behaving differently with OPENGL2 than original OPENGL + directionalLight() is wrong on box() + PShape3D uses a lot of memory + triangle in first ring of sphere() not being made properly + beginRaw() not working with 3D

+ set() in 3D does not work on 2.0a5 + frustum() and ortho() broken in P3D + get() with OPENGL is grabbing the wrong part of the image + OpenGL noSmooth() does not work [ android ] + Android SDK Tools revision 19 (later may work too) are required. + Android mode no longer broken on Windows. Google has fixed the bug, but you'll need to use the latest SDK. + GL2 specific code in Processing 2.0a5 break P3D on GLES2 hardware + OpenGL/ES requires precision specifier on float types + loadShape() with obj files was broken in 2.0a5 + camera() and arc() now work together . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . PROCESSING 2.0a5 (REV 0204) - 23 March 2012 Major updates in this release include a huge revamp of the OpenGL library by Andres, fixes to get Android Mode working again, and a number of bug fixes and additions as we head toward 2.0. Unfortunately, however, Android mode is still broken on Windows. On the OpenGL front, we're working to have a single library that works across both desktop and mobile, which is good news because it means we have a fighting chance of making it work (rather than maintaining two entire sets of a very complicated set of code), but the downside is that it requires newer versions of OpenGL on both the desktop and mobile, so it may cause problems with old OSes, mediocre graphics drivers, etc that worked with earlier releases. [ bug fixes ] + OpenGL applets are working again. + Abnormal high Java CPU usage at empty sketch with draw() + "Framingham" example has BufferOverflowException + Repeatedly calling texture() with new image raises memory error + Doc comments not being properly terminated in export of applet + Tweaks to the code to prevent multiple copies of Processing from running at once. + Fix bug with 'base' not getting set in the Mac OS X platform class. + Syntax highlighting not case sensitive in 1.5 through 2.0+ + Fix problem with application export on Linux + Fix PImage.get() issue with width or height < 0. + (Mostly failed) attempts to improve the performance of tint() with Java2D. + Fix so that normals aren't attempted when no texture is set. + Several bug fixes inside Table as they relate to inserting/adding columns. [ changes/additions ] + Enable smooth() by default. + Added setContent() to the XML library, other tweaks to XML export. + Make note of when library is not available (serial) with error msg i.e. if running in 64-bit mode on OS X, can't do serial + Update to Java 6u29 for Linux and Windows (OS X now updated). + Don't show library conflict warning until someone tries to build with code that actually calls on one of those packages. + urlEncode() and urlDecode() added (docs coming later). + delay() is back again. F*king delay(). + Added anti-alias methods so that FSAA can set up properly. The API for these is not set yet. [ in earlier releases ] + Commenting via menu or shortcut does not set sketch to "need save". + Moved the data folder outside the main jar in exported applications. Otherwise enormous files are sometimes added to the jar, which makes things needlessly slow.

+ Create new MovieMaker tool to write uncompressed QuickTime movies. + Library imports failing for libs that define the same packages in 1.5.1 + Closing applet window in Processing 1.5 causes serial crash. [ javascript ] + Finalize JavaScript mode export folder name. + Intermittent hangs of PDE when launching JavaScript Server . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . PROCESSING 2.0a4 (REV 0203) - 10 November 2011 This is just a quick release so that I can procrastinate on packing for Chicago a little longer. A handful of bug fixes here: + Video capture was broken in 2.0a3 on OS X due to an issue with the build process. Should be all set now. + Fixed incessant "inefficient font rendering" debug message on Android. + Fixed android/code/build.xml to point at the correct SDK version. + Changing between 32- and 64- bit mode on OS X wasn't properly reloading library paths. Now it should pick up the necessary 32- and 64-bit version of a library that's needed. (However there are still no useful error messages when natives aren't available for the platform--just an UnsatisfiedLinkError when you try to run. Will fix.) [ andres' bug victims ] + Multiple calls to curve() connect subsequent curves with lines in P3D/OPENGL + Arc not drawn in P3D and OpenGL mode (2.0a2) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . PROCESSING 2.0a3 (REV 0202) - 5 November 2011 Some weekend bug fixing and regression repair for the recent alpha releases. Also several Android fixes to get things working again with more recent updates from Google. You'll need to upgrade to this version of Processing in order to continue using Android mode. [ environment ]

+ Fix problem with serial not loading on Mac OS X. + Fix problem with popup menus on the toolbar disappearing immediately when used on Mac OS X 10.7 (Lion). + Incorrect tab/line shown for preprocessor errors when more than 2 tabs + Commenting via menu or shortcut does not set sketch to "need save" + IDE Export Application button exports applet (fixed in 2.0a2) [ core ] + Fix for video frames not showing up in 3D. + Rounded rect() does not have a maximum length for corner radius [ android ] + Fix libraries when used with Android. Libraries can also specify an Android version by including an 'android' subfolder. + Fix problem with export menu, keys, toolbar being different. + Change default package name a bit. + Switch to SDK 8 (Android 2.2) as the minimum that we're supporting. This allows us to rely on far more consistent OpenGL implementations. + Update the project files for Android SDK Tools Revision 15 (now required) + Improve launching with the emulator. + Remove 'includeantruntime' warning during build. + "Date could not be parsed" error. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . PROCESSING 2.0a2 (REV 0201) - 31 October 2011 Happy Halloween! I'll be dressing up as an ArrayIndexOutOfBoundsException. This release is primarily focused on the new video library and making it usable across platforms. It also has some changes for how applications are exported, and a number of other bug fixes and tweaks. [ platforms ]

+ With this release, Java 1.6 is now required. We will no longer be supporting Java 1.5. + In perhaps related news, we are no longer supporting Mac OS X 10.5. We have to support 10.6 and 10.7 across both 32- and 64-bit, and adding yet another to that is simply not possible. [ 32- and 64-bit support is a nightmare ] + A great deal of effort is being put into supporting the emergence of 64-bit. Library support has changed significantly to get things working, more on this coming soon. + Serial on Mac OS X and Windows is currently only available for 32-bit. Hoping someone can help us support a 64-bit version sometime soon. + When exporting a 64-bit application for Windows, a .bat file is created, because our .exe doesn't yet support 64-bit. Assuming you have a 64-bit JVM installed, the .bat file should load things properly. + Because serial only supports 32-bit on OS X, exporting an application that uses serial will only create a application.macosx32 folder, which is a 32-bit app for Mac OS X. No application.macosx64 will be created, nor will a universal application.macosx folder. This is also the case for other libraries that have only 32- or 64-bit support. See earlier note that 32- and 64-bit support is an f*ing nightmare. [ video ] + The most significant change in this release is that the new video library from Andres (based on his old gsvideo library) is nearing fully fucntional. + MovieMaker is going to be replaced by a Tool that allows you to sequence a set of images together into a movie file. The tool currently has a GUI bug that breaks it, but this will be fixed sometime soon. [ other changes ] + Application is now the default export (instead of Applet). + Change to how dataPath() and dataFile() work. This is an undocumented function, but for those using it, here's the skinny: dataPath() is only available with applications, not applets or Android. On Windows and Linux, this is simply the data folder, which is located in the same directory as the EXE file and lib folders. On Mac OS X, this is a path to the data folder buried inside Contents/Resources/Java. For the latter point, that also means that the data folder should not be considered writable. Use sketchPath() for now, or inputPath() and outputPath() once they're available in the 2.0 release. dataPath() is not supported with applets because applets have their data folder wrapped into the JAR file. To read data from the data folder that works with an applet, you should use other methods such as createInput(), createReader(), or loadStrings(). + Additional library files included with application exports are now placed in the 'lib' folder on Linux and Windows, or buried inside the OS X app. This helps prevent the unsightly mess of DLLs that were crowding the

root folder of exported applications on Windows and Linux. + If noLoop() has been called but a sketch is resized, redraw() will be called to update the screen. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . PROCESSING 2.0a1 (REV 0200) - 2 September 2011 First alpha release as we head toward 2.0. Please read the changes page to learn about what's different: [ since we last spoke ] + Lots of video work from Andres. + Updated to Java 6u26 on Windows and Linux. + HTML escapes for < and > were not working properly + Quit if multiple instances of Processing are running (see the Wiki). + Fixed another problem with missing shearX/Y() in JAVA2D + Removed textMode(SCREEN). + Added expand(long) and expand(double) because of Table. + with full path raises exception + Fix problem where loading data from an http:// stream would run out of memory on Android. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . PROCESSING REV 0199 - 27 June 2011 Handful of bug fixes, primarly to deal with issues introduced in 0198. + Remove error messages for UpdateCheck w/o internet connection. + char c = 'u' breaks sketches in 0198 Also additional fixes to handling bad character constants in the preprocessor + Deal with extraneous error messages about the emulator and AVD when trying to run Processing on an Android device. + Fix broken loadShape(). + Fix broken loadNode() and XML usage in general. + Fix problem with save() writing multiple image files with an extra .tif

at the end. + Added no-op orientation() method to the desktop version so that code will work unchanged between Android and desktop. + Add warning for missing glyphs in PFont. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . PROCESSING REV 0198 - 23 June 2011 Major internal work as we start blowing things up for 2.0. The main things are covered on the changes page in the Wiki: This is an interim release so that Andres can do a workshop. Not recommended for casual use. Hostile or belligerent whiners need not apply. Android mode has received zero testing, so XML, SVG, 3D, and other major features may be broken. See statement directly above. [ bugs fixed ] + Examples window placed off-screen when PDE window is maximized + Make examples window respond to ESC, and double-click events to expand/collapse nodes. + Launch script for Linux fails to open a sketches with relative paths + Badly formed character constant exception + Resize box on OS X is not present in Examples box + New/Rename Tab commands inhibited when Console/Message Area is hidden + Make usable elsewhere by loading/reloading + Export to Application reports "Could not copy source file:" + Automatically insert the 'import processing.opengl' when P3D used. + Export Application Fails When Large File in Data Folder [ reference ] + Add some notes about how to work with deployJava.js and applets [ core ]

+ Added quadraticVertex() method to do a quadratic bezier vertex. + More efficient version of copy() added for 2D. + Implemented rounded rectangle method. + Removed the delay() method. It was awful. + Addded thread() method that takes a function name as a parameter, and runs it on its own thread. No more classes! + returns a success boolean (rather than throwing an exception when it fails). [ core bugs fixed ] + saveBytes() error when writing to existing file + problem with destroy() calling System.exit() + post() is called after setup() + Remove auto-sizing from binary() (was inconsistent with hex() method). [ libraries ] + Reverted back to the older serial libs, which should improve stability a bit. Also grabbed the 64 bit Linux driver and a patch for /dev/ttyACM0 from the Arduino guys. Thanks to Dave Mellis for the pointer. + Fix applet exporting for new OpenGL, also fixes signed applet requirement. + New XML library that more accurately reflects how DOM parsing works. Also straightening out the API a bit. Documentation to come later. [ andres' bag of awesome ] + Finish OPENGL2 renderer + Using createGraphics() image repeatedly runs out of memory with OPENGL + Resizing window in OPENGL breaks ImageCaches + Resize not working in revision 5707 camera() and perspective() were commented out in setSize() + Resizing opengl destroys context and textures

+ Implement repeating textures [ android ] (these were missing from the actual release notes) + mask() has no effect unless image has already been drawn in A3D + point() doesn't render in A3D + excessive rotation of application causes memory to run out + mirroring in A3D when background() not called within draw() + removed A2D and A3D constants + colorMode() error . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . PROCESSING 1.5.1 (REV 0197) - 15 May 2011 This release fixes a handful of regressions and quirks that were found in the Processing 1.5 release last month. [ editor ] + Windows splash screen for version 1.5 says "1.2" + "Import Library" was broken for several built-in libraries. + Fixed broken update checker. + Reverted to the old shell script on Linux. + Applets exported on Windows can't find files in the data folder. + File > New and Command-N stop working on OS X after running a sketch [ core ] + Reverted to the old createFont() behavior, where native fonts will be used with createFont() in more situations. [ svg ] + Improve handling of transformations in SVG files. + Fix bug in SVG parser for shorthand curves (T/t and S/s) + Prevent shape(PshapeSVG) from failing if SVG contains <path d=""/> + Fix misshapen quadratic bezier curves when drawing SVG files. [ examples ] + HsvSpace example sketch in 1.5 download requires additional import + Obsolete Network > HTTPClient sketch . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . PROCESSING 1.5 (REV 0196) - 17 April 2011 A lot has changed in the nine months since 1.2.1 was released, the biggest being the introduction of "modes" for the editor, allowing you to switch between Android development or the classic desktop/web mode. More modes are coming in future releases. Another significant change is a fix for applets that were stuttering or appearing to run very, very slowly in Firefox 4 and Chrome. That's the major reason that we're releasing this version in advance on 2.0 later this summer. All of the changes since 1.2.1 are listed in this document. If you get stuck, give it a search to see if there might be a clue about something that has changed. Or if you have problems, please file a bug. For people who have been using OPENGL2 in the pre-releases, the library has been removed from 1.5, and will return in future pre-releases before eventually replacing the built-in OpenGL library for 2.0. Meanwhile, here are the changes since revision 0195, the last pre-release: [ pde ] + A new version of the reference and examples have been posted online. + Upgraded to Quaqua 7.3.4 on OS X. Fixes mode menu checkbox on OS X + Added a fix for text focus handling in the editor (0195 problem) + File -> Save no longer stops the running sketch + Fixed a bug in the LoadFile2 example + Shift-indent without selection increases indention + Allow more than one sketch to run at a time (problem in 0194/5) + Fix caret bug leading to slow degredation of the PDE. + Fix Color Selector to be more efficient with many sketch windows. + Fix sketch marked as modified too aggressively + Prevent "save" from clearing undo information + Rename/Save As doesn't properly have its focus set (fixed in 0195) [ peter lewis ] Several fixes for text selection and editing, provided by a Mac software developer hero of my youth, Peter N Lewis. + Use Selection For Find + Double-clicking whitespace selects adjacent chars + Find/Replace all around very ugly, fix it up + Several additional tweaks [ core ] + Fix minor native fonts issue. [ android ] + Workaround for loadImage(url) bug in Google's Android source. Issue tracked down by psoden. (Thanks!) + Build an interface for control of permissions on Android (earlier) + Implement createGraphics() (completed in earlier releases) + Android 0192 sketch in static mode crashes on exit (fixed in 0193 or so)

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . PROCESSING REV 0195 - 10 April 2011 Bug fixes and several Android updates. Working to close in on a proper Processing 1.5 release. This release has several changes to renaming sketches, using Save As, and how untitled sketches are handled. Please help test! Note that on the Android side, this release once again requires installation of the Google APIs. See the Android Wiki page for details. [ general ] + Sketch restarts automatically after pressing stop button on PDE + 'unexpected token void' for any type of error (due to fallback) + Deal with weird states when closing last editor window on OS X + With one sketch open, changing the mode doesn't close the original editor + Move library examples to the examples menu + Ctrl-slash not working on Linux (fix from pkalauskas, thanks!) + Update to Java 6u24 for Linux and Windows + Export .java source files with applets and applications. + Reference broken in 0194. + Other reference tweaks + Fix exception spew when clicking between editor windows. + Don't reload sketch on "save as" + Smooth text on the status bar on Linux. + Clear up some issues with focus handling in the editor. + Save As/Rename don't properly set focus + "No library found" message when using import statements and the code folder

+ Remove version number from splash image + Subfolders in /libraries folder not supported in 0194, bring them back for toxi and the toxiclibs folks. [ core ] + Deal with bad screen updates for sketches running < 60 fps in JAVA2D + OPENGL2 record only saves one line in a LINES shape (fix from Andres) + normal() command commented out in sphere() method + save() and other pixel operations no longer working with JAVA2D in 0194 [ android ] + point() doesn't render in A3D + Android stuck at "Starting Build" + Deal with missing (No such file or directory) + Error messages about "No library found for android.*" + When returning to android application, sometimes screen stays black + Device Killed or Disconnected Error Message with Libraries + Better error handling when certain SDK components are not installed. + Canceling an attempt to find the Android SDK leaves no window open, or crash when trying to change to Android mode w/ no Android SDK . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . PROCESSING REV 0194 - 9 March 2011 Lots of fixes for late-breaking problems in release 0193. [ fixes ] + The Auto Format command went missing in 0193. It's back for 0194, but is now located in the Edit menu, where it will stay for the rest of its long and happy life.

+ The "Import Library" menu wasn't being updated properly in 0193. Note that for the time being, there are no core libraries on Android. (OpenGL is built in, for instance.) + Fix mode switching for Windows and Linux. + Library examples weren't showing up in 0193, now they're back. + Fix for flicker problem in the default renderer. + The examples menu wasn't completely removed in 0193. + Remove "temporarily skipping deletion of" debugging message on export. + Properly reload examples & libraries when changing the sketchbook location. + Fix a problem with untitled sketches and mode switching. + Fix problem with Sketch Permissions for Android. [ notes ] + Because both OpenGL and OpenGL2 are present, there may be conflicts if you implement any OpenGL-specific code outside the Processing API. If your sketch includes either of the following lines: import*; import*; then you should remove one of the OpenGL libraries, depending on which you would like to use. + OpenGL is built-in on Android. You don't need to add it as a library, the way you do with the desktop. A "import processing.opengl.*" line won't hurt anything (the preprocessor removes it), but it's also not necessary. (This is also noted in the Android wiki.) + Library examples no longer show up buried in the sketchbook. Instead they can be found in the "Libraries" and "Contributed Libraries" sections of the examples window. [ additions ] + Added a new icon for "Export to Application", along the lines of the icons used on the Android side. + Remove warning about the broken build. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . PROCESSING REV 0193 - 8 March 2011 The PDE is receiving a major overhaul. The most obvious change is that there's now a menu that allows you to switch between "modes". "Standard" is the Java-based mode that we're all used to, and "Android" compiles

things for Android devices. Basically it's all pre-releases from here until 2.0. With the mode support, it will soon be possible to embed other projects, like the Python version, or the JS exporter, directly inside the PDE. More on this later. This release also fixes a handful of Android problems, like the use of libraries, the code folder, and so on. [ core ] + Fix problem that made applets suck in Google Chrome and Firefox 4. + Fix java.lang.OutOfMemoryError using get() and image() inside a tight loop. + Changed default font to Lucida Sans, available on all platforms. This means that your text may be a slightly different size if you haven't used textFont(), but hey, you probably don't use the default font, right? A fella (or gal) like you? + textAlign() incorrect with default font on Mac OS X 10.6 + Clean up how PDF fonts are handled. Default to writing fonts as shapes, which makes PDF files larger, but is likely to work in more cases. If you want editable/real text, you can call textMode(MODEL) right after creating the PDF renderer (directly below size() or beginRecord()). + Saving a PGraphics as jpg using save() makes a cmyk file + Fix bizarre window placement when using Present mode on OS X. [ pde changes/fixes ] + Added support for separate 32 and 64 bit versions of libraries. + Added a 64 bit version of the OpenGL library. + Updates to Java 6u23 in the download. + Fix issue with javac.exe not being included in the download. + Also added opengl2, which rolls GLGraphics and the new Android OpenGL library into a newer, faster, more amazinger OpenGL that will eventually be the default. + Added a *lot* of examples. This has also had the effect of making the download enormous. It's currently obese. We'll sort that out later. + Code folder oddity on application export (in SVN) + Processing cannot run because it could not ... store your settings.

+ AutoFormat unecessarily adds spaces to function with multiple args + Fix for linux build script (thanks to Kevin Keraudren) + Fix the encoding on OS X for the "Fix Encoding and Reload" function + Hex value from color picker does not start with # + Console, preferences cleanup: removed build.path, as well as console.output.file, and console.error.file. Also removed 'console' true/false from preferences. + Change console to write to the 'console/' folder in settings. This may eventually create a problem with logs that need to be cleaned, but we'll keep an eye on it for now. + Add splash image on OS X. + Added window for examples. It's a bit ugly, but the menu was too much and we should be able to clean this feller up later. Also makes the examples a bit more obvious. + Updated the serial library for Mac OS X + Accented letter input is broken (on OS X and Windows) Had to disable input method support (Japanese) for now. + For projects with too many tabs, condense the ones that are used less. [ fixed in 0192 ] + Auto-format screws up if/else/else if blocks + Exported libraries don't mantain symbolic links [ android edits ] + Add better icons from Casey for exported applications. + Remove the need to download the android core.jar separately + Remove the Google APIs requirement, just use the standard. This means losing the standard skin on the emulator, but we'll see about bringing it back in some other fashion in the future. We weren't actually using the Google APIs, so it seemed silly because of how much complexity it added. + Deal with issue of debug certificates expiring.

2001 + Fix use of .java files in Android projects + Save state for whether using Android or Standard mode + New mode support makes the Android switch less clunky + With mode support, "Run on Device" and "Run in Emulator" instead of "Run" and "Present". [ internal changes ] + Removed build.path from preferences.txt. Not really used anywhere, just trying to clean things up. + Removed 'console.output.file' and 'console.error.file'. These weren't respected as paths, no reason for them. + Change console to write to the 'console/' folder in settings. This may eventually create a problem with logs that need to be cleaned, but we'll keep an eye on it for now. + Removed 'console' true/false from preferences. + Cannot reproduce problem with wrong character encoding in the console. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . PROCESSING REV 0192 - 18 December 2010 This release contains a roll-up of lots of bug fixes. However, it's being released before it's ready, so it should only be used by people who are having trouble with the new Android SDK release (revision 8) from Google, which broke Android support last week. This version of Processing for Android *requires* Android SDK Tools Release 8. If you're not using release 8, and don't have the necessary components installed, you'll get (confusing) error messages saying that the SDK location is not set, and that it could not find an SDK in the location that you specify. As for this being an early release, the problem is that major changes were underway regarding how libraries are handled, so it's quite possible that library support (in both the standard or Android version) or code folder support is somewhat broken. So with that caveat, no whining, please. On a happier note, the changes: [ android fixes ] + Compile android-core with Java 5 as the target so that it works on OS X 10.5.

[ additions from andres ] + A3D should use lower color depth on older devices. + New API for begin/endRecord(). + Finish OpenGL blending modes in A3D + Automatic normal calculation in A3D + Improve texture handling in A3D's PFont + OpenGL resource release mechanism in A3D is broken + Multitexturing in A3D + Problems when loading images asynchronously in A3D. [ preprocessor, from jdf ] + Fixed "Syntax error on token "else", } expected" + Autoformat bug (new java "for loop" syntax) + Fix matching brace problem in PDE + Fix syntax highlighting of focusGained and others + Error when compiling with static final global variable. + AutoFormat unecessarily adds spaces to function with multiple args [ edits from Lonnen ] + Fix for disappearing horizontal scroll bar regression + Fix problems with stop(). a result, dispose() methods aren't being called on libraries (dupe) (dupe) ...also a double stop() called with noLoop() + Properly enforce the minimum size for editor windows. + Patch: Processing IDE destroys symbolic links + Windows: Processing cannot run because it could not ... store your settings. + PGraphicsJava2D.resize() not working the same as PGraphics2D.resize() Resize is not available with renderers, use createGraphics(). Added a note to the reference. [ more fixes and edits ] + Don't let PDE open sketches with bad names (reported by Max) + Exported libraries don't mantain symbolic links + Repair regression in XMLElement.getBoolean(String, boolean) + color() problem with alpha + PVector.angleBetween() regression + Fix for linux build script (thanks to Kevin Keraudren) + shearX and shearY not properly implemented with P2D and JAVA2D + frame.setResizable(true) does not enable maximize button. Thanks to Christian Thiemann for a workaround. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . PROCESSING REV 0191 - 30 September 2010 Bug fix release. Contains major fixes to 3D for Android. [ changes ] + Added option to preferences panel to enable/disable smoothing of text inside the editor. + Added more anti-aliasing to the Linux interface. Things were downright ugly in places where defaults different from Windows and Mac OS X. [ bug fixes ]

+ Fix a problem with Linux permissions in the download. + Fix 'redo' command to follow various OS conventions. Linux: ctrl-shift-z, macosx cmd-shift-z, windows ctrl-y /AppleHIGuidelines/XHIGUserInput/XHIGUserInput.html + Remove extraneous console messages on export. + When exporting, don't include a library multiple times. + Fixed a problem where no spaces in the size() command caused an error. [ andres 1, android 0 ] + Implemented offscreen operations in A3D when FBO extension is not available + Get OpenGL matrices in A3D when GL_OES_matrix_get extension is not available + Implemented calculateModelviewInverse() in A3D + Automatic clear/noClear() switch in A3D + Fix camera issues in A3D + Major fixes for type to work properly in 3D (fixes KineticType) + Lighting and materials testing in A3D + Generate mipmaps when the GL_OES_generate_mipmaps extension is not available. + Finish screen pixels/texture operations in A3D + Fixed a bug in the camera handling. This was a quite urgent issue, since affected pretty much everything. It went unnoticed until now because the math error canceled out with the default camera settings. + Also finished the implementation of the getImpl() method in PImage, so it initializes the texture of the new image in A3D mode. This makes the CubicVR example to work fine. [ core ] + Fix background(PImage) for OpenGL

+ Skip null entries with trim(String[]) + Fix NaN with PVector.angleBetween + Fix missing getFloat() method in XML library + Make sure that paths are created with saveStream(). (saveStream() wasn't working when intermediate directories didn't exist) + Make createWriter() use an 8k buffer by default. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . PROCESSING REV 0190 - 18 August 2010 This release is primarily for Android users. For the desktop version, there are some problems with fonts. If you're using text, especially with PDFs, you may want to wait until the next release. Android users should read the Wiki ( which has a lot of new information. [ android ] + Added a new menu to cover enabling/disabling Android mode. + Added a Permissions dialog, so that you can set permissions for your applications, e.g. so you can read from the internet or save files. + Added support for icons. Put files named icon-32.png, icon-48.png, and icon-72.png in your sketch folder, and they'll be added to your project when it's created. Otherwise you'll get an ugly blue dot default icon. You've been warned. + Finish implementing the size() command on Android. See the Wiki for notes. + Finish implementation of P3D/OpenGL/A3D for Android. + Allow screenWidth/Height as parameters to size(). + Fix mouseX/Y mapping when using smaller screen sizes. + Fix text ascent/descent problem, text("blah\nblah") wasn't working. + Fixed how the manifest file is read/written. + Copied the XML and font changes from the desktop version of core. + Removing 'import processing.opengl.*' in the preprocessor, since it's not needed, and will cause a conflict.

+ Added functions to lock orientation if necessary. Use: orientation(LANDSCAPE) and orientation(PORTRAIT) if you need control. + createGraphics() works with A3D/P3D/OPENGL for phones that support it. + Fix errors showing up that .java files were duplicates. [ core ] + Changed skewX/Y to shearX/Y. + ENABLE_NATIVE_FONTS was being ignored, native fonts were always used in some cases. However, this broke some other things. But that's why this is a pre-release, not a final. [ xml fixes and changes ] + Changed the XML constructor to take a String for a node name, instead of parsing a document from a String. Instead, use XMLElement.parse(String) if you want to read a file. + Added getBoolean() methods. + Removed namespace versions of the getXxxx() methods. These were never documented, and cause more trouble than they're worth. + Changing getIntAttribute() et al to getInt(). The old versions are still there, but have been deprecated. + Added listChildren() method. + XML attributes named "xmlns" always returned NULL, now fixed. + When re-saving an .ods file, wasn't including all the namespace at the top. + Several fixes to how namespaces are handled (or not handled). + Methods to saved XML elements back out again. + Update XMLElement constructor problem. [ environment ] + Added more specific language to Lnux/Sun/Java error messages on Linux. Also added support for "Oracle" in the name. + Fix the New/Open buttons on the toolbar + Changed how "Save As" works, now copies everything in the sketch folder.

But still ignores applet, application.*, screen-* files/folders + Edit > Copy as HTML didn't properly encode < and > Also added support for other Unicode entities for non-ASCII characters. + Ctrl-Z will undo, but not scroll to where the undo happens. Fixed earlier. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . PROCESSING 1.2.1 (REV 0189) - 14 July 2010 Fix for a problem with some static-mode programs. See below for the other changes since 1.1. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . PROCESSING 1.2 (REV 0188) - 13 July 2010 Changes too numerous to mention, see the notes below for all the revisions that followed the 1.1 release in March. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . PROCESSING REV 0187 - 12 July 2010 More bug fixes, and one new treat for OS X users. Hopefully we're about set to call this one 1.2. Please test and report any issues you find: [ additions ] + On Mac OS X, you're no longer required to have a sketch window open at all times. This will make the application feel more Mac-like--a little more elegant and trendy and smug with superiority. + Added a warning to the Linux version to tell users that they should be using the official version of Java from Sun if they're not. There isn't a perfect way to detect whether Sun Java is in use, so please let us know how it works or if you have a better idea. [ fixes ] + "Unexpected token" error when creating classes with recent pre-releases. + Prevent horizontal scroll offset from disappearing. Thanks to Christian Thiemann for the fix.

+ Fix NullPointerException when making a new sketch on non-English systems. + Fixed a problem when using command-line arguments with exported sketches on Windows. Thanks to davbol for the fix. + Added requestFocusInWindow() call to replace Apple's broken requestFocus(), which should return the previous behavior of sketches getting focus immediately when loaded in a web browser. + Add getDocumentBase() version of createInput() for Internet Explorer. Without this, sketches will crash when trying to find files on a web server that are not in the exported .jar file. This fix is only for IE. Yay IE! . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . PROCESSING REV 0186 - 26 June 2010 Minor updates following up on 0185. [ mixed bag ] + Android SDK requirement is now API 7 (Android 2.1), because Google has deprecated API 6 (2.0.1). + More Linux PDF fixes from Matthias Breuer. Thanks! + PDF library matrix not reset between frames. (Fixed in 0185.) + Updated the URLs opened by the software to reflect the new site layout. + Updated the included examples with recent changes. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . PROCESSING REV 0185 - 20 June 2010 Primarily a bug fix release. The biggest change are a couple tweaks for problems caused by Apple's Update 2 for Java on OS X, so this should make Processing usable on Macs again. [ bug fixes ] + Fix for Apple bug that caused an assertion failure when requestFocus() was called in some situations. This was causing the PDE to become unusable for opening sketches, and focus highlighting was no longer happening. + Fixed two bugs with fonts created with specific charsets.

+ Fix from jdf for PImage(java.awt.Image img) and ARGB images public PImage(java.awt.Image) was setting the format to RGB (even if ARGB) + Large number of beginShape(POINTS) not rendering correctly on first frame + Fix for PDF library and createFont() on Linux, thanks to Matthias Breuer. + Fix from takachin for a problem with full-width space with Japanese IME. + Reset matrix for the PDF library in-between frames also added begin/endDraw between frames [ additions ] + Add the changes for "Copy as HTML" to replace the "Copy for Discourse" function, now that we've shut down the old YaBB discourse board. + Option to disable re-opening sketches when you start Processing. The default will stay the same, but if you don't like the feature, alter your preferences.txt file to change: last.sketch.restore=true to the following: last.sketch.restore=false The issue was originally filed here: However the main problem with this is that due to other errors, the wrong sketches are being opened, sketches are sometimes forgotten, or windows are opened concurrently on top of one another, creating a bad situation: Those bugs are not yet fixed, but will be addressed in future releases. + Option to change the default naming of sketches via preferences.txt. First, you can change the prefix, which defaults to: editor.untitled.prefix=sketch_ And the suffix is handled using dates. The current default (since 1.0) is: editor.untitled.suffix=MMMdd Or if you want to switch back to the old (six digit) style, you could use: editor.untitled.suffix=yyMMdd + Updated bundled JRE/tools to 6u20 for Windows and Linux + Several SVG fixes and additions, including some tweaks from PhiLho. These changes will be documented in a future release once the API changes are complete. + Added option to launch a sketch directly w/ linux. Thanks to Larry Kyrala. + Pass actual exceptions from InvocationTargetException in registered methods, which improves how exceptions are reported with libraries. + Added loading.gif to the js version of the applet loader. Not sure

if this is actually working or not, but it's there. [ android ] + Added permissions for INTERNET and WRITE_EXTERNAL_STORAGE to the default AndroidManifest.xml file. This will be addressed in greater detail here: And with the implementation of code signing here: + Lots of work happening underneath with regards to Android, more updates soon as things start evening out a bit. + Defaulting to a WVGA screen for the default Processing AVD. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . PROCESSING REV 0184 - 14 April 2010 Pre-release version with more bug fixes. Proper release notes will accompany an actual release. If you're curious in the meantime, look at todo.txt and done.txt from the source tree. + The 'Export' option now works in Android, so that you can get at the debug APK that's created. + Problems finding javac.exe on Windows should now be fixed. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . PROCESSING REV 0183 - 31 March 2010 Bug fixes for Android, should remove the API v5 requirement and make things work fine with API v6, the new minimum. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . PROCESSING REV 0182 - 29 March 2010 Bug fix pre-release. This updates three areas: + All known bugs with auto-format have been fixed (!) + A handful of bug fixes for the Java 5 syntax changes. + Fixes for using text with PDF Export. A more thorough revisions update will be written for the next full release version (1.2? 1.5? 2.0?) that includes all these changes. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

PROCESSING REV 0181 - 19 March 2010 Another update for the preprocessor changes (see below). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . PROCESSING REV 0180 - 15 March 2010 This is a interim release with a reworked preprocessor that adds Java 5 syntax. We're releasing this interim version because we need help testing it since it has an impact on any sketch created in the Processing environment. Basically, we mighta goofed something up big, and we wanna catch it before we throw it to the wolves. The release also fixes a number of preprocessor bugs. Those changes will be documented a bit later. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . PROCESSING 1.1 (REV 0179) - 11 March 2010 This is the first general-purpose release since 1.0.9. The text below merges all of the changes from all the interim revisions, with the exception of the changes for the upcoming Android tools, which are not enabled in this release. Lots of bug fixes over 1.0.9, and several changes that improve how fonts are handled. Because of the large number of changes (and that some functionality actually changes, if that's actually a word), this is release 1.1 instead of release 1.0.10. Which is nice, because release 1.0.10 sounds baffling. [ font changes ] + It's no longer necessary to use textFont() before text() and other text-handling functions. The default "SansSerif" font is used, which varies by platform. + Also in this release, the createFont() method will only load characters as they are used, which should greatly improve the font situation on non-Roman systems like Japanese. This will use far less memory, and should be all around much more efficient. Formerly, createFont() took several seconds to run, depending on the speed of your system. + Fixed a problem with the Create Font tool ignoring the 'smooth' setting on some systems. + Fixed a separate problem with the createFont() method also ignoring the 'smooth' setting. + With the Create Font tool, you can also specify what Unicode character blocks you'd like to use, making a much smaller font. + Fonts are no longer power of 2 by default. This should also make them more memory efficient. With future OpenGL updates, this will work even better. [ other changes ]

+ Lots of edits to the HTML that's used for exported applets. If JavaScript is enabled, Sun's new loading functions are used, which offer the best compatibility across browsers. If not, the old loading method is used. + Changed the OpenGL HTML template to load differently, which should fix a NullPointerException in JOGLAppletLanucher with Java 6 Update 18 on Windows, and should also be more efficient altogether, because the JOGL libraries can be downloaded just once from Sun, rather than for each sketch that uses them. + Code from Takachin that handles full input method support in the editor for Japanese and other scripts that are more complicated than Roman text. Thanks Takachin! + Now using iText 2.1.7. + Changed how imports are handled in sketches. This may break some sketches that use packages that aren't covered in the Processing reference. + With great help from Hansi, moved the build scripts over to Ant. Also moved the special JRE for Linux and Windows out of SVN. It'll only be downloaded when 'ant dist' is run. + Javadoc is slowly improving. More on that later. + Deprecated 'screen', and added screenWidth and screenHeight. Discussion here: [ bug fixes ] + Fix for filter(DILATE/ERODE) from Dave Bollinger + Added implementation for get/set methods inside PImage (w/o pixels[]) + Updated JNA to version 3.2.4 to support Windows 7 64-bit Thanks to Maik for tracking down the problem and solution! + Fix from taifun_browser to handle texture memory leak with OpenGL and P3D. + Hitting ESC inside Color Selector would quit Processing + To fix video, and some other libraries on Snow Leopard, exported applications are now explicitly set to run 32-bit on OS X. + Fix LITERAL_class so that blah.class syntax can be used in PDE code. Found and fixed by Christian Thiemann. Thank you! + Fix from Chris Lonnen to lock the minimum size for the main processing editor frame. (When too small, the console would disappear, etc.) Thanks Chris!

+ If you overwrite PApplet.main(), you're responsible for what happens. + Re-enabled hack for temporary clipping. Clipping still needs to be implemented properly, however. Please help! + SVG paths that use 'e' (exponent) not handled properly + Change build scripts to use UTF-8 for encoding with javac + Fix ant.jar/ant-launcher.jar error in the windows/linux build scripts + Fixed a problem where imports inside comments were being included. [ keys ] + Added ctrl-ins, shift-ins, shift-delete for cut/copy/paste on Windows and Linux, but disabled by default on Mac OS X. You can change the setting by altering "editor.keys.alternative_cut_copy_paste" in preferences.txt. + Added a preference to change shift-backspace to just mean backspace, rather than delete. Set this entry in preferences.txt: editor.keys.shift_backspace_is_delete = true + Added an option for home and end keys traveling to the start/end of the current line rather than the beginning/ending of a sketch. The latter is the HIG default for Mac OS X, but drives some people nuts. Change with: editor.keys.home_and_end_travel_far = false . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . PROCESSING REV 0178 - 4 March 2010 Tons of Android work in this release. A2D has been tested and runs correctly for all of the examples in "Basics" and "Topics". A3D is not quite finished yet, and the size() command is still causing crashes. This release also contains lots of work on Android Mode for the PDE, which is being worked on by Jonathan Feinberg. [ core ] + Fix for filter(DILATE/ERODE) from Dave Bollinger + Deprecated 'screen', adding screenW and screenH. See discussion here: + Added implementation for get/set methods inside PImage (w/o pixels[]) [ fixes to android core ]

+ Fix noLoop() and static-mode sketches. + Fix the freakout that happens with onPause() + App not pausing or closing when switching to another activity + Bezier curves were broken in A2D (extra point is drawn connecting the shape to the corner). + Fixed other minor bugs in shape drawing. + mask() now implemented in A2D + updatePixels() now work properly for A2D + set() should now be working + Using set() on an image that doesn't have a bitmap, or has pixels loaded. + requestImage() now working + Drastically improve the performance of the time functions (minute() et al) + Point wasn't detecting different stroke weights. + Point wasn't working with strokeWeight > 1. + Fix rotate() bug (was using degrees instead of radians) + arc() now working properly + createGraphics() works, at least with A2D (or aliases P2D and JAVA2D) + Fixed "The application ... has stopped unexpectedly." when quitting slow app + test createFont() + createGraphics() broken + Remove legacy PGraphics3D class from [ android mode ] + Exception handling is much improved. + Get stdout and stderr from the emulator/device (println() now works). + Removed the ANDROID_SDK env variable requirement.

PROCESSING REV 0177 - 21 February 2010 Fix for the Android tools complaining "Open quote is expected for attribute "{1}" associated with an element type android:minSdkVersion." Just posting a new revision because it's easier than writing instructions for swapping the pde.jar file. PROCESSING REV 0176 - 20 February 2010 Android changes are at the top, changes for the rest of Processing are listed below that (a tipoff being that there's no PDF library on Android...) [ android ] + Minimum platform support is changing to 2.0 instead of 1.6. That means "Eclair" or later, and goodbye to my T-Mobile G1, undoubtedly the ugliest cell phone I have ever owned. Hello to Droid and Nexus One. Performance is very poor on pre-2.0 devices anyway. + Known issue: Sketches that use noLoop() are currently broken. + Added support for libraries and the code folder. + Classes have moved to the processing.core package instead of + Slashes in the SDK path are now escaped properly on Windows. + Fix problems preventing Android Mode from running on Windows + The tint() method now works. + loadFont() and text() now work properly. createFont() has not been tested. [ changes ] + Lots of edits to the HTML that's used for exported applets. If JavaScript is enabled, Sun's new loading functions are used, which offer the best compatibility across browsers. If not, the old loading method is used. + Changed the OpenGL HTML template to load differently, which should fix a NullPointerException in JOGLAppletLanucher with Java 6 Update 18 on Windows, and should also be more efficient altogether, because the JOGL libraries can be downloaded just once from Sun, rather than for each sketch that uses them. + Code from Takachin that handles full input method support in the editor for Japanese and other scripts that are more complicated than Roman text. Thanks Takachin! + Downgraded the PDF library to use iText 1.5.4, because later versions seem to load slower, and don't seem to offer additional benefits. If the PDF library gets worse, please post a bug and we'll go back to the 2.x release

we were using, or upgrade to the more recent 5.x series. + Changed how imports are handled in sketches. This may break some sketches that use packages that aren't covered in the Processing reference. + With great help from Hansi, moved the build scripts over to Ant. Also moved the special JRE for Linux and Windows out of SVN. It'll only be downloaded when 'ant dist' is run. This makes the build and maintenance more of a mess for me, but will save me from people whining about the large files. + Javadoc is slowly improving. More on that later. [ bug fixes ] + Updated JNA to version 3.2.4 to support Windows 7 64-bit Thanks to Maik for tracking down the problem and solution! + Fix from taifun_browser to handle texture memory leak with OpenGL and P3D. + Hitting ESC inside Color Selector would quit Processing + To fix video, and some other libraries on Snow Leopard, exported applications are now explicitly set to run 32-bit on OS X. + Fix LITERAL_class so that blah.class syntax can be used in PDE code. Found and fixed by Christian Thiemann. Thank you! + Fix from Chris Lonnen to lock the minimum size for the main processing editor frame. (When too small, the console would disappear, etc.) Thanks Chris! + If you overwrite PApplet.main(), you're responsible for what happens. [ keys ] + Added ctrl-ins, shift-ins, shift-delete for cut/copy/paste on Windows and Linux, but disabled by default on Mac OS X. You can change the setting by altering "editor.keys.alternative_cut_copy_paste" in preferences.txt. + Changed shift-backspace to just mean backspace, rather than delete. You can change back to the old behavior by setting this entry in preferences.txt: editor.keys.shift_backspace_is_delete = true + Added an option for home and end keys traveling to the start/end of the current line rather than the beginning/ending of a sketch. The latter is the HIG default for Mac OS X, but drives some people nuts. Change with: editor.keys.home_and_end_travel_far = false [ fonts ] + Starting in this release, the createFont() method will only load characters

as they are used, which should greatly improve the font situation on non-Roman systems like Japanese. This will use far less memory, and should be all around much more efficient. Formerly, createFont() took several seconds to run, depending on the speed of your system. + Fixed a problem with the Create Font tool ignoring the 'smooth' setting on some systems. + Fixed a separate problem with the createFont() method also ignoring the 'smooth' setting. + With the Create Font tool, you can also specify what Unicode character blocks you'd like to use, making a much smaller font. + Fonts are no longer power of 2 by default. This should also make them more memory efficient. With future OpenGL updates, this will work even better. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . PROCESSING REV 0172 through 0175 These releases are mostly about Android (listed at the top), but also contain any interim fixes that happened in the meantime. [ android ] + Fix problem with Android HTML dialog box several <BR> items showing up when first loading + Fix problem with windows claiming "does not appear to contain an Android SDK" + Implement loadImage() and other loadXxxx() functions + Correctly handle space bar, tab, other special keys + Fix problem with motion events not coming through + "taskdef class cannot be found" on Linux + Updates for r4 version of the SDK. [ changes ] + In the editor toolbar, shift-new and shift-open on the toolbar open a new window. Also, when shift is down, change text of the toolbar item to represent what it does. + Replaced invocation to deal with deprecation. This may cause problems with older releases (or on 10.4 or 10.5), not sure. + Use xdg-open as launcher on linux

+ Default wildcard imports are causing naming conflicts, changed how they're set up in the preferences file. + Changed createInputRaw() to only bother checking URLs if : present [ bug fixes ] + Re-enabled hack for temporary clipping. Clipping still needs to be implemented properly, however. Please help! + SVG paths that use 'e' (exponent) not handled properly + Change build scripts to use UTF-8 for encoding with javac + Fix ant.jar/ant-launcher.jar error in the windows/linux build scripts + Fixed a problem where imports inside comments were being included. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . PROCESSING 1.0.9 (REV 0171) - 20 October 2009 Happy birthday to Casey! [ bug fixes ] + Removed NPOT texture support until further testing, because it was resulting in blurring images in OPENGL sketches. + Complete the excision of the Apple menu bug code. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . PROCESSING 1.0.8 (REV 0170) - 18 October 2009 A bonfire of bug fixes. [ environment ] + Fix bug causing preferences to not save correctly.

+ Remove menu dimming code, in-frame menu bar, and warning message on OS X. A year later, Apple fixed the spinning wheel w/ the menu bar problem. + Fix "Unrecognized option: -d32" on OS X 10.4 + Update the outdated "Get the latest Java Plug-in here" in exported applets. + Use temporary files when saving files inside the PDE. Prevents problems when the save goes badly (e.g. disk is full). + Fix problem with "Save changes before closing?" was being ignored. + Fix problems with adding/deleting tabs. + Saving the project with the same name (but different case) as an existing tab was deleting code on Windows and OS X. [ core ] + filter(RGB) supposed to be filter(OPAQUE) + Implement non-power-of-2 textures for OpenGL (on cards where available). This is a partial fix for texture edge problems: + Fix get() when used with save() in OpenGL mode + Immediately update projection with OpenGL. In the past, projection updates required a new frame. This also prevents camera/project from being reset when the drawing size is changed. + Removed an error that caused the cameraNear value to be set to -8. This may cause other problems with drawing/clipping however. + Removed methods from PApplet that use doubles. These were only temporarily available in SVN, but that's that. + Use temporary file with saveStrings(File) and saveBytes(File). [ updates ] + Updated to Minim 2.0.2. (Thanks Damien!) + Updated Java on Linux and Windows to 6u16. + Updated Quaqua to 6.2 on Mac OS X. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

PROCESSING 1.0.7 (REV 0169) - 4 September 2009 Bug fixes and updates, also some tweaks for Mac OS X Snow Leopard. [ changes ] + Tweaks for Mac OS X Snow Leopard, to force it to run in 32-bit mode. This should bring back the video library (if temporarily), and hopefully fix serial as well, though I didn't have a serial device handy to test. + Fix problem where line highlighting was off in 'static' mode. + Auto-format was killing Unicode characters (how did this last so long?) + PVector.angleDistance() returning NaN due to precision errors + Removed a major try/catch block from PApplet.main(), hopefully this will allow some exception stuff to come through properly. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . PROCESSING 1.0.6 (REV 0168) - 12 August 2009 Bug fixes and minor changes. Most important are replacement JOGL libraries so that OpenGL applets won't present an "expired certificate" error. [ bug fixes ] + Replaced the faulty JOGL library that had expired certificates (Sun bug). der=9260&folderID=0 + Updated the Linux launcher script that enables Processing to be run from other directories, symlinks, or from launch items. Thanks to Ferdinand Kasper for the fix! + strokeWeight() was making lines 2x too thick with P2D + PImage.getImage() setting the wrong image type + image() not working with P2D, P3D, and OPENGL when noFill() used + Auto format problem with program deeper then 10 levels + Fixed a crash on startup problem (console being null) + Recursive subfolder copy of library folders when exporting application [ changes ] + PDF member functions set protected instead of private + On OS X, update Info.plist to be 32/64 explicit and also updated JavaApplicationStub for update 4. + Clicking the preferences location in the Preferences window will now open the parent folder for the preferences file. + Update to Java 6 update 15 for the Windows and Linux releases. [ fixed earlier ] + Mangled menu text with Java 6u10. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . PROCESSING 1.0.5 (REV 0167) - 7 June 2009 Bug fix release, mostly dealing with regressions from 1.0.4. [ bug fixes ] + Make the tab key work again inside the editor + Deal with duplicate entries for sketchbook in the file menu [ changes ] + Support for smooth text in the PDE editor. Set editor.antialias=true inside preferences.txt to enable smooth text. + Updated reference files. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . PROCESSING 1.0.4 (REV 0166) - 31 May 2009 Bug fix release. [ changes ] + Changed the workaround for Apple's Java bug related to the menus in OS X. Rather than placing the menubar inside the sketch window, File > Sketchbook and File > Examples are simply dimmed out. Instead, use the Open button on the toolbar, which provides access to the same items. The preference to place the menu bar inside the window is still available, in case you

prefer the previous workaround. + Also updated the included runtime on Windows and Linux to Java 6u14. [ bug fixes ] + Fixed IDE crash when changing color scheme on windows + Typo in the Linux shell script was preventing it from running + OS X finder info on application updated to say 1.0.4 + Removed warning message "Non-String for 8 value in 'Properties' sub-dictionary in 'Java' sub-dictionary of Info.plist" on OS X + Added warning to build script for users on OS X 10.4 + Disable point() going to set() from PGraphicsJava2D. The set() command doesn't honor alpha consistently, and it also causes problems with PDF + PImage cacheMap problem when using PImage.get() + Fix problems with > 512 points and P3D/OPENGL Thanks to user DopeShow for the patch + imageMode(CENTER) doesn't work properly with P2D + Reset matrices when using beginRecord() with PDF + Resizing window no longer distorts OpenGL graphics Many thanks to Pablo Funes for the patch + Fix significant point() and set() slowdown on OS X [ known issues ] + Currently no 64-bit support for any platforms. On some platforms, you'll simply need to replace the Java folder with the distribution with something more suitable for your operating system. + Command line support is currently broken + Text of menus/interface elements sometimes mangled (e.g. toolbar repeats several times, other oddness). See bug report for a workaround + Video library threading problems with other libraries

+ See for much, much more! . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . PROCESSING 1.0.3 (REV 0165) - 24 February 2009 Bug fix release to repair a couple of regressions caused by changes in 1.0.2, as well as a couple other new problems encountered since. [ bug fixes ] + endRecord or endRaw produces a RuntimeException with the PDF library + Problem with beginRaw/endRaw and OpenGL + Set strokeWeight on points and lines with begin/endRaw + Fix strokeWeight quirks with P3D when used with points and lines + ArrayIndexOutOfBoundsException with point() [ changes ] + Update to iText 2.1.4 for the PDF library . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . PROCESSING 1.0.2 (REV 0164) - 21 February 2009 This release fixes many bugs and adds two minor functions to the XML library. [ bug fixes ] + Empty "code" folder causing problems with Export + Sketches not loading when .pde file is opened from the Windows Explorer on Asian Windows systems. + Disable copying of metadata and resource forks in OS X build + Suppress goofy Apple error message about JVMArchs + StringIndexOutOfBoundsException caused by import statements with no dots + Pressing <Esc> in "Are you sure you want to Quit?" dialog causes quit

+ Fix QUADS and QUAD_STRIP with P2D + ArrayIndexOutOfBoundsException when drawing curves in P3D and OPENGL + Problems with negatve arc() angles in OpenGL, P3D, other inconsistencies + requestImage() causing problems with JAVA2D + Fix minor strokeWeight bug with OpenGL + Minor bug fix to SVG files that weren't being resized properly + OpenGL is rendering darker in 0149+ Thanks to Dave Bollinger for tracking this down and providing a solution + OutOfMemoryError with ellipse() in P3D and OPENGL + ArrayIndexOutOfBoundsException with P3D and OPENGL + point(x,y) ignores noStroke() in some renderers + Fix Windows startup problem when scheme coloring was odd Changes to the system theme could cause Processing to not launch + Fix several point() problems with P3D + nextPage() not working properly with PDF as the renderer + Save style information when nextPage() is called in PDF renderer + beginRaw() broken (no DXF, etc working) + Fix algorithm for quadratic to cubic curve conversion Thanks to user for providing a fix. + tint() not working in P2D + blend() y coordinates inverted when using OpenGL + Fix for getChild() and getChildren() with XML elements that have null names [ additions ] + Added listChildren() method to XMLElement

+ Added optional toString(boolean) parameter to enable/disable indents in XMLElement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . PROCESSING 1.0.1 (REV 0163) - 29 November 2008 Processing 1.0 has arrived! You can read an overview of changes introduced in the last few months here: Also see the "known issues" section of the troubleshooting page: This release (1.0.1) fixes a handful of issues that only showed up once we had more testing, particularly with the wider audience we've received in the past week following the announcement. [ bug fixes ] + ArrayIndexOutOfBoundsException with File > New + "CallStaticVoidMethod() threw an exception" on some Mac OS X machines + "editor.indent" preference setting does not work properly + Fixed some "An error occurred while starting the application" problems + Added a note about the Minim library to the changes page. + Disable parsing of regexps with the split() command + Fixed ArrayIndexOutOfBoundsException in ellipseImpl(). + Fixed problem where small ellipses weren't showing up. [ changes ] + Implement multi-line tab via tab key (also outdent) + Code with 'import' and a space incorrectly parsed as an import statement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . PROCESSING 1.0 (REV 0162) - 24 November 2008 Processing 1.0 has arrived! You can read an overview of changes introduced in the last few months here:

[ known issues ] + Sketches that size(w, h, OPENGL) and do not clear the background on each frame can cause major flickering or problems when the screen clears anyway. There are several possible solutions: 1. You may need to disable the default 2x smoothing by using hint(DISABLE_OPENGL_2X_SMOOTH). 2. Update the drivers for your graphics card. 3. Get a decent graphics card -- the OpenGL renderer is for advanced use, we don't support using it with cheaper built-in graphics hardware like the Intel GMA 950. 4. If you're running Windows Vista, try disabling the Aero theme. This flickering issue is being tracked here: + "An error occurred while starting the application" when launching Processing.exe on Windows. This is a high priority however we cannot reproduce it on any of our test machines, which has delayed a fix. + With P2D, P3D, and OPENGL, series of connected lines (such as the stroke around a polygon, triangle, or ellipse) produce unattractive results when strokeWeight is set. + Unlike most applications, the menu bar is inside the editor window when Processing is used with Mac OS X 10.5. This is a workaround for an Apple bug in Java 1.5 and 1.6 on Mac OS X 10.5 that causes the menu bar to be so excessively slow that the application appears to have crashed. Please file a bug report with Apple at if you want this fixed. The problem has existed since the spring, and we first filed a bug with them in June, and we have received no indication that it when it will be fixed, or if it will ever be fixed. Or if you want to take your chances with the slow menu bar, you can change the default setting in the Preferences window. + Sketches that use the video library plus OpenGL have a problem on some OS X machines. The workaround is listed in Comment #16 of this bug: + Command line support arrived in a recent release, but is not working yet. + OpenGL rendering is more dim/darker in release 0149 and later. Any help tracking this down would be most appreciated. + The first few frames of OpenGL sketches on Windows run slowly. + When used with P3D, strokeWeight does not interpolate the Z-coordinates of the lines, which means that when rotated, these flat lines may

disappear. (Since, uh, lines are, you know, flat.) The OPENGL renderer setting does not share this problem because it always draws lines perpendicular to the screen (which we hope to do in a future release). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . in spite of their historical feel good campiness, i've removed the notes from earlier releases because this file was getting out of hand.