caution: the beverage you're about to enjoy is extremely hot. this file is a list of changes between each release. this is not a general reference of how to use processing, because the information for older releases will be super crusty. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ABOUT REV 0149 - XX September 2008 [ bug fixes ] + Fix GLDrawableFactory.chooseGraphicsConfiguration() error with OpenGL http://dev.processing.org/bugs/show_bug.cgi?id=891 http://dev.processing.org/bugs/show_bug.cgi?id=908 + Fix problem with error line highlighting (wrong line being highlighted) http://dev.processing.org/bugs/show_bug.cgi?id=888 + "IllegalMonitorStateException: current thread not owner" with delay() http://dev.processing.org/bugs/show_bug.cgi?id=894 + Make parseFloat() with String[] array return NaN for missing values http://processing.org/discourse/yabb_beta/YaBB.cgi?board=Syntax;action=display;num=1220880375 + Fix problems with text in a rectangle http://dev.processing.org/bugs/show_bug.cgi?id=893 http://dev.processing.org/bugs/show_bug.cgi?id=899 + Remove extra files that were accidentally included inside core.jar. [ changes ] + Change how PGraphics objects are created for better consistency. Sadly, this will require any libraries that subclass PGraphics to be rebuilt for this release. (However, internally it's a great improvement.) + Alter how createInput(), save(), and saveFrame() work so that they are more friendly to signed applets. + The unhint() method has been removed, see the hint() reference for changes. + Changes to how match() works to bring back in line with other regexp implementations. Instead of only returning matching groups, match 0 is the matching sequence, and array elements [1] and higher represent each of the groups (sequences found in parens). Also starting in this release, multiline matching (Pattern.MULTILINE) and dotall mode (Pattern.DOTALL) are used by default, so that ^ and $ match the beginning and end of any lines found in the source, and the . operator will also pick up newline characters. + Removed MACOS9 constant from processing.core.PConstants. + Removed some items from the default imports because they're 1) likely to cause naming collisions and 2) more likely to be used by advanced users (who can add 'em themselves anyway). The removed items include: javax.sound.midi,javax.sound.midi.spi, javax.sound.sampled,javax.sound.sampled.spi, javax.xml.parsers,javax.xml.transform,javax.xml.transform.dom, javax.xml.transform.sax,javax.xml.transform.stream, org.xml.sax,org.xml.sax.ext,org.xml.sax.helpers You can add default imports to your preferences.txt file by adding to the preproc.imports line. But keep in mind that this will make your code incompatible with Processing on any machine that doesn't have its preferences.txt mangled in the same manner. [ additions ] + Implement command-line support. See the reference for Commander for details on how to use it. http://dev.processing.org/bugs/show_bug.cgi?id=219 + Added matchAll() method, which is identical to match(), except that it returns an array of all matches in the specified String, rather than just the first. (Thanks to Dan Shiffman for the implementation.) + Added getImage() method to PImage, which returns it as a java.awt.Image. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ABOUT REV 0148 - 19 August 2008 * RELEASES SINCE 0135 CONTAIN MANY SIGNIFICANT CHANGES, PLEASE READ * * THE NOTES IN THIS FILE FOR ANY RELEASE THAT YOU'VE NOT YET USED. * This release contains fixes for compatability with the GLGraphics library and documentation about the Tools menu. With any luck, this will be the last release for at least a week. [ changes ] + Some additions have been made to the internal API to support the GLGraphics library, which is incompatible with the last few releases. You'll still need to download a new version of the library that's compatible with this release (0148) of Processing. + Cleaned up internal API for proper interfaces with user-contributed items for the Tools menu. + A "tools" folder has been added, which includes a howto.txt file that explains how to build your own tools. Note that like libraries, contributed tools should be stored in the sketchbook. (See the howto.txt files in "libraries" and "tools" for more information.) + An example Tool with source and a build script is included. (However it's not compiled by default, so you won't see it in the menu.) Future releases may put all items from the Tools menu into the default "tools" folder with source (just like the libraries). [ known problems ] + Slow response on file/sketchbook/examples menus on OS X 10.5. This is an Apple bug in Java 1.5 and 1.6 on Mac OS X 10.5 (but not 10.4) causing these menus to be extremely slow. Workarounds described in the bug report: http://dev.processing.org/bugs/show_bug.cgi?id=786 Please file a bug report with Apple if you want this fixed! + In the current Windows release, Processing may not be able to find the JDK even if you have one installed. If this happens on your machine, copy the contents of your JDK installation to a new folder titled "java" inside the Processing folder. This fill be fixed in a future release. http://dev.processing.org/bugs/show_bug.cgi?id=878 + See dev.processing.org/bugs for more. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ABOUT REV 0147 - 18 August 2008 * RELEASES SINCE 0135 CONTAIN MANY SIGNIFICANT CHANGES, PLEASE READ * * THE NOTES IN THIS FILE FOR ANY RELEASE THAT YOU'VE NOT YET USED. * Fix for OpenGL export problem introduced in recent releases. Also an implementation for the "Tools" menu, and lots of internal code cleanup. [ bug fixes ] + Fixed broken OpenGL export since release 0145. + Not yet confirmed as fixed, but potentially fixed a problem where applets would not restart after switching pages in a web browser. http://dev.processing.org/bugs/show_bug.cgi?id=581 + Fix a problem with the Linux release not running sketches when 'java' was not already in the PATH. http://dev.processing.org/bugs/show_bug.cgi?id=879 [ changes ] + The "Tools" menu can now handle user-contributed code for tools that extend the Processing Development Environment in some fashion. This will be documented further in the next few days, for now, try to contain your excitement about upcoming contributions like "Color Selector 2.0", "ROT13 Code Mangler", and "I Am Rich". http://dev.processing.org/bugs/show_bug.cgi?id=124 + To make way for the Tools menu, lots of code had to be cleaned up inside the Editor and Sketch classes. Keep an eye out for problems with Save, Save As, Rename, Delete, and others. If something strange happens, *please file a bug immediately* so that we can get it fixed. We take sketch-destroying bugs very seriously. Please test! [ known problems ] + Slow response on file/sketchbook/examples menus on OS X 10.5. This is an Apple bug in Java 1.5 and 1.6 on Mac OS X 10.5 (but not 10.4) causing these menus to be extremely slow. Workarounds described in the bug report: http://dev.processing.org/bugs/show_bug.cgi?id=786 Please file a bug report with Apple if you want this fixed! + In the current Windows release, Processing may not be able to find the JDK even if you have one installed. If this happens on your machine, copy the contents of your JDK installation to a new folder titled "java" inside the Processing folder. This fill be fixed in a future release. http://dev.processing.org/bugs/show_bug.cgi?id=878 + See dev.processing.org/bugs for more. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ABOUT REV 0146 - 16 August 2008 Bug fixes, regression repair, and fun features. * RELEASES SINCE 0135 CONTAIN MANY SIGNIFICANT CHANGES, PLEASE READ * * THE NOTES IN THIS FILE FOR ANY RELEASE THAT YOU'VE NOT YET USED. * [ bug fixes ] + get() and set() sometimes not honoring imageMode() setting with the JAVA2D renderer setting. + Fix problem with comment/uncomment and indent/outdent in cases where no selection is active. + When un-commenting lines, first ensure that *all* the lines are commented out, otherwise default to adding comment markers to them. + Fix (semi-major) regression in 145 (as compared to 0144) where exception lines were not highlighting properly. http://dev.processing.org/bugs/show_bug.cgi?id=877 + Improve exception error messages (regression since 0135) by including their full message rather than just their type. + Fix problem with 3D geometry drawing multiple times in P3D. http://dev.processing.org/bugs/show_bug.cgi?id=737 [ changes ] + Added imageMode(CENTER). Or rather, brought it back from the 0070s. + Greatly improve exception handling and parsing through the use of a proper implementation and the removal of a large amount of duct tape. + Fix and finalize previously unannounced, unmentioned (untouchable) functions that prompt the user for a file to open, a location to save a file, or select a folder. The functions each return a String object (or null for no selection) and are called selectInput(), selectOutput(), and selectFolder(). No parameters are necessary, but an optional parameter allows you to specify the user prompt. For instance: String loadPath = selectInput("What file ya want?"); String savePath = selectOutput("Save this masterpiece as..."); String folderPath = selectFolder("Which folder has the good stuff?"); + Use actual sketch name when running instead of Temporary_NNNN_NNNN. + Make the Processing icon show up in external windows (Windows and Linux). Also set the window title (and dock title on OS X) for sketches. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ABOUT REV 0145 - 15 August 2008 This release contains several changes to fix issues related to timing in sketches. The animation loop has been tuned and several bugs have been ironed out. * RECENT RELEASES CONTAIN MANY SIGNIFICANT CHANGES, PLEASE READ THE * * NOTES IN THIS FILE FOR ANY RELEASE THAT YOU'VE NOT YET USED. * [ known problems ] + Slow response on file/sketchbook/examples menus on OS X 10.5. This is an Apple bug in Java 1.5 and 1.6 on Mac OS X 10.5 (but not 10.4) causing these menus to be extremely slow. Workarounds described in the bug report: http://dev.processing.org/bugs/show_bug.cgi?id=786 If you find this annoying, please file a bug at bugreporter.apple.com. + Intermittent problem where sketches will not start when the Run button is pressed some fraction of the time. On a single try, it may not work, but subsequent clicks to the Run button will bring things back.. So far, this is limited to Mac OS X, but it's known to be a threading issue, and is likely to show up elsewhere. http://dev.processing.org/bugs/show_bug.cgi?id=852 + This release will be incompatible with other libraries that create their own PGraphics objects, such as the current release (0.8.1) of Andres Colubri's GLGraphics library. (Though by the time you read this, it may be updated.) + There are many other known problems, these are only a few that you're likely to run into because they have appeared in recent releases. [ changes ] + Now using JOGL 1.1.1 instead of 1.0. This should bring us out of the dark ages for JOGL, but may require some people to upgrade the drivers on their graphics cards. + Don't say I didn't warn ya: loadImageAsync() is now requestImage(), which is its final naming. Documentation has not yet been added, but will be added soon. For syntax, see the notes for 0144 (below). + Added sphereDetail(u, v) function contributed by davbol (Thanks Dave!) http://dev.processing.org/bugs/show_bug.cgi?id=856 + Implemented textAlign() for y coordinates with text(str, x, y, w, h) + textAlign(BOTTOM) now takes textDescent() into account. + Fix indentation problems in "Copy for Discourse" by inserting unicode non-breaking space characters (\u00A0) at the beginning of lines. This works on many (Internet Explorer, Safari) but not all (Firefox and Camino on Mac OS X) browsers. [ bug fixes ] + "Use textFont() before text" message (see the link for fixes) http://dev.processing.org/bugs/show_bug.cgi?id=726 + fill(), stroke(), strokeWeight(), colorMode(), smooth() and any other drawing state set inside setup() sometimes not set once draw() arrives http://dev.processing.org/bugs/show_bug.cgi?id=767 This is related to the previous issue (Bug #726) + Implement major threading overhaul http://dev.processing.org/bugs/show_bug.cgi?id=511 + Window resize no longer nukes settings (stroke, font, etc.) + Inconsistent "Use textFont() before text()" errors. textFont() used in setup() is null once draw() arrives http://dev.processing.org/bugs/show_bug.cgi?id=726 + fill(), stroke(), strokeWeight(), colorMode(), smooth() and others set inside setup() sometimes not set once draw() arrives. http://dev.processing.org/bugs/show_bug.cgi?id=767 + Applet sizing issues with external vm http://dev.processing.org/bugs/show_bug.cgi?id=430 + ArrayIndexOutOfBoundsException in P3D inside defaults/background/clear http://dev.processing.org/bugs/show_bug.cgi?id=369 + Clear up EDT vs. Processing Animation Thread issues http://dev.processing.org/bugs/show_bug.cgi?id=46 + Sketches lock up when system time is changed (e.g. by speedstep and other processor throttling utilities). No longer using the system clock. http://dev.processing.org/bugs/show_bug.cgi?id=639 + frameRate that's reported is out of joint with actual. http://dev.processing.org/bugs/show_bug.cgi?id=512 Now using a nanosecond (rather than millisecond) timer. + frameRate() speeds up temporarily if CPU load drops dramatically. http://dev.processing.org/bugs/show_bug.cgi?id=297 + Fix the flicker with the default renderer (JAVA2D) http://dev.processing.org/bugs/show_bug.cgi?id=122 + text(String, float, float, float, float) drawing text outside box http://dev.processing.org/bugs/show_bug.cgi?id=844 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ABOUT REV 0144 - 9 August 2008 This is the first default download since release 0135. It represents several significant changes, so PLEASE READ ALL THE INFO BELOW FOR REVISIONS 0136 through 0143 if this is the first version you're using since 0135. We've also tried to update the documentation on processing.org, however with the number of things that have changed, some things might be missed. [ changes ] + Updated reference and examples. + Unlike release 0135 and earlier, a full JDK (not just a JRE) is required. I've added a test to see whether a proper JDK is installed. If not, it presents an error message and berates you for not heeding the repeated warnings to actually read this document. It also permanently disables your privileges for downloading the "expert" release of Processing that doesn't include Java. + Added loadImageAsync(filename) and loadImageAsync(filename, ext). These functions load images on a separate thread so that your sketch does not freeze while images load during setup(). While the image is loading, its width and height will be 0. If an error occurs while loading the image, its width and height will be set to -1. You'll know when the image has loaded properly because its width and height will be > 0. Asynchronous image loading (particularly when downloading from a server) drastically improves performance. In my case it was a 2-3x speedup when downloading 20 JPEG files that were ~3 MB apiece. An example of loading a single image in the background: PImage bigImage; void setup() { bigImage = loadImageAsync("something.jpg"); } void draw() { if (bigImage.width == 0) { // image is not yet loaded } else if (bigImage.width == -1) { // this means an error occurred during image loading } else { // image is ready to go, draw it image(bigImage, 0, 0); } } These functions do not yet have proper documentation, and their name is very likely to change in a future release before 1.0. I'm announcing them because some people will find them useful, just keep an eye on revisions.txt for name changes. + Fixed a problem where OutOfMemoryErrors (as well as other more catastrophic/complicated errors like StackOverflowError) were not reported. These are now reported along with additional explanation in the editor console. + Better error messages for OpenGL quirks. + Improve efficiency of directionalLight and pointLight with OpenGL. http://processing.org/discourse/yabb_beta/YaBB.cgi?board=SoftwareBugs;action=display;num=1199376364 + Incorporate changes to better support Andres Colubri's improved OpenGL graphics library. + Slight modification to name handling in the XML library. This makes existing code behave closer to the older XML library found in 0135. For those using 0136+, getFullName() has been changed to getName(), and getName() to getLocalName(). + Added indent/outdent feature to the Edit menu. Also updated the right-click context menu for the editor to incorporate more of the recent additions to the Edit menu. http://dev.processing.org/bugs/show_bug.cgi?id=840 http://dev.processing.org/bugs/show_bug.cgi?id=841 [ bug fixes ] + Don't open more than one copy of the Preferences window. http://dev.processing.org/bugs/show_bug.cgi?id=830 + Fixed a problem where bad image data would make image loading fail without an error message. The only indication of it breaking was that the width and height of the image would be -1. The latter is still the case, but an error message is printed to the console. [ known problems ] + "Use textFont() before text" message (see the link for fixes) http://dev.processing.org/bugs/show_bug.cgi?id=726 + fill(), stroke(), strokeWeight(), colorMode(), smooth() and any other drawing state set inside setup() sometimes not set once draw() arrives http://dev.processing.org/bugs/show_bug.cgi?id=767 This is related to the previous issue (Bug #726) + Slow response on file/sketchbook/examples menus on OS X 10.5. This is an Apple bug in Java 1.5 and 1.6 on Mac OS X 10.5 (but not 10.4) causing these menus to be extremely slow. Workarounds described in the bug report: http://dev.processing.org/bugs/show_bug.cgi?id=786 + Intermittent problem where sketches will not start when the Run button is pressed some fraction of the time. On a single try, it may not work, but subsequent clicks to the Run button will bring things back.. So far, this is limited to Mac OS X, but it's known to be a threading issue, and is likely to show up elsewhere. http://dev.processing.org/bugs/show_bug.cgi?id=852 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ABOUT REV 0143 - 28 July 2008 Now using ECJ (the Eclipse Compiler for Java) instead of Javac. The Eclipse compiler is more easily pluggable in the more basic ways that we'd like to use it. Also moving toward removing the requirement (since release 0136+) for a full JDK. ** IF THIS IS YOUR FIRST RELEASE SINCE 0135, PLEASE READ THE "ABOUT" ** ** ENTRIES FOR 0136 TO 0142 BELOW FOR MAJOR CHANGES AND KNOWN BUGS ** [ fixes ] + The new compiler fixes (or avoids) a handful of compiler-related bugs. http://dev.processing.org/bugs/show_bug.cgi?id=828 http://dev.processing.org/bugs/show_bug.cgi?id=831 + "Target VM failed to initialize: VM initialization failed" now fixed. http://dev.processing.org/bugs/show_bug.cgi?id=796 + Added a proper error message for cases where "maximum available memory" is set too high. + A handful of fixes for the build scripts, submitted by helpful users. http://dev.processing.org/bugs/show_bug.cgi?id=851 http://dev.processing.org/bugs/show_bug.cgi?id=842 + Giving up on Apple ever fixing their font specification bug, and just built in a workaround so that fonts are more likely to work on Mac OS X. With the workaround, using createFont() in code (on OS X) may cause a lag (on my machine it's 150 ms with 800 fonts) or in some cases when using hint(ENABLE_NATIVE_FONTS). http://dev.processing.org/bugs/show_bug.cgi?id=407 Filed as bug #4769141 with Apple http://bugreport.apple.com/ + Properly handle negative values passed to the arc() command. [ changes ] + Add a resize(int width, int height) method to PImage. Not yet documented in the reference, but allows you to resize a PImage in place. Setting width or height to zero will resize that dimension in proportion to the other. [ cannot fix ] + Slow response on file/sketchbook/examples menus on OS X 10.5. This is an Apple bug in Java 1.5 and 1.6 on Mac OS X 10.5 (but not 10.4) causing these menus to be extremely slow. Workarounds described in the bug report: http://dev.processing.org/bugs/show_bug.cgi?id=786 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ABOUT REV 0142 - 16 June 2008 A couple minor changes from 0141, though they have a big impact on reducing the "cannot parse error message" text from the compiler. Please read the "about" notes from 0136 through 0141 before using this release. [ fixes/changes ] + Fixed "cannot parse error text" for many, many situations. http://dev.processing.org/bugs/show_bug.cgi?id=820 + Fixed a problem with errors that are at the end of the code. For instance, a missing } put the error /after/ the code, which itself produced another error. + Web colors with more or less than 6 chars produced bizarre error. http://dev.processing.org/bugs/show_bug.cgi?id=196 + Update iText in PDF library to 2.1.2u, in a failed attempt to fix http://dev.processing.org/bugs/show_bug.cgi?id=727 + loadStrings(".") no longer lists directory contents. http://dev.processing.org/bugs/show_bug.cgi?id=716 [ not yet fixed ] + "Target VM failed to initialize: VM initialization failed" on run This happens because Java is not properly getting the machine's internet address. Workaround is to shut off networking: http://dev.processing.org/bugs/show_bug.cgi?id=796 + Slow response on file/sketchbook/examples menus on OS X 10.5. There appears to be an Apple bug in Java 1.5 and 1.6 on Mac OS X 10.5 (but not 10.4) causing these menus to be extremely slow. Workarounds described in the bug report: http://dev.processing.org/bugs/show_bug.cgi?id=786 + Sometimes, nothing happens when you hit Run (no error displayed) http://dev.processing.org/bugs/show_bug.cgi?id=775 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ABOUT REV 0141 - 11 June 2008 This release fixes some issues found in the previous release, and changes to UTF-8 encoding when loading and saving sketches. The latter is a major change, please read below. While this release should be more stable than 0140, releases since 0135 may be closer to alpha quality. If this is your first release since 0135, ** please read all the release notes below ** as there have been many changes, and there are a handful of known bugs. [ utf8 encoding ] + For better internationalization support, we've changed to UTF-8 encoding when loading and saving sketches. http://dev.processing.org/bugs/show_bug.cgi?id=743 + Sketches that contain non-ASCII characters and were saved with Processing 0140 and earlier may look strange when opened. Garbled text and odd characters may appear where umlauts, cedillas, and Japanese formerly lived. If this happens, use the "Fix Encoding & Reload" option under the Tools menu. This will reload your sketch using the same method as previous versions of Processing, at which point you can re-save it which will write a proper UTF-8 version. + Once you've converted a sketch to UTF-8, it will look similarly garbled if you use a release of Processing earlier than 0141. [ fixes and changes ] + Hiding some unncessary warnings when compiling since they looked too much like errors. For instance, "xxxx uses unsafe operations", and "recompile with -Xlint:xxxx". http://dev.processing.org/bugs/show_bug.cgi?id=817 + Fix getChild() and getChildren() to properly handle namespaces in the XML library. http://dev.processing.org/bugs/show_bug.cgi?id=813 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ABOUT REV 0140 - 10 June 2008 Major changes (some might say improvements) to compilation and platform-specific support. As with all releases later than 0135, this is essentially an alpha-quality release. We won't be making them the default download until the series stabilizes. Please help us out by testing this releases, and filing bugs in the bugs database if you run into problems. If this is your first release since 0135, be sure to read *ALL* the releases notes in this file since that release. A lot has changed, and there are several known issues. [ jikes/javac ] + Jikes has been removed, and we are using Javac as the compiler. The negative side of this is that compilation is a little slower, because Javac is kind of a dog. But that's outweighed by: - better compatability (avoiding quirky Jikes bugs) - ability to support Java 1.5 syntax (only in tabs that end in .java!) - no more Jikes binary problems on Linux (or elsewhere) - removing a binary from the download (less moving parts) + Error messages from Javac are very different, and it's quite likely that some aren't being handled properly. If you run into this situation (on error messages--not warnings), please file a bug report, so that we can provide a better message to the user about what's going on. + It is still not possible to use Java 1.5 syntax in Processing code from within the environment. You won't be able to use 1.5 syntax until someone rewrites the preprocessor, which is a significant undertaking. We want to do it soon, but it's a lot of work. http://dev.processing.org/bugs/show_bug.cgi?id=598 What has changed in release 0140 is that if you give a tab a name ending in ".java", you'll be able to use 1.5 syntax, because that tab will not be run through the preprocessor. However, you'll also lose all Processing-specific syntax, and you'll have to pass the PApplet object to any such class in order to use Processing API. (This is described in Help -> Getting Started.) And no, you cannot make the main tab a .java file. You can always use Eclipse to do that, or better yet, give us a hand fixing Bug #598. [ platform classes ] + Platform-specific code has been moved to separate sections of the codebase. This simplifies how we connect to Mac OS X, Windows, and Linux. You no longer need the Apple support stubs to compile on Windows and Linux, for one. + Windows registry calls are now handled using JNA, which is behaving far better than the old JNI Registry code that we had been using. This should also help internationalization significantly (the old code didn't properly handle Unicode, or multi-byte characters). + I have added Windows Vista and Ubuntu 8.04 on AMD64 to my testing routine. The apartment is really starting to look ridiculous, and dinner guests probably won't be happening this Summer. [ features/changes/fixes ] + With any luck we may have fixed the long-standing bug that prevents Processing from running on non-English systems with user accounts that contain non-ASCII characters. This is the target http://dev.processing.org/bugs/show_bug.cgi?id=49 However this has not yet been verified. Please test! + Apply two patches for ancient bugs in readBytesUntil() and bufferUntil() in the serial library. Also fixes calls to serialEvent(). http://dev.processing.org/bugs/show_bug.cgi?id=96 (Thanks to stendahl and jmuhlich for the patches!) + Added a static version of loadBytes() that reads from a File object. + Slightly clearer error messages when OpenGL stuff is missing. + Removed sketchbook.fallback and settings.fallback from preferences. These cause more confusion/chaos/trouble than necessary. + Avoid an occasional division by zero when using the Create Font tool. http://dev.processing.org/bugs/show_bug.cgi?id=777 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ABOUT REV 0139 - 4 June 2008 Stuck on a couple larger problems, this is an interim release to patch up some problems in the 0136+ series. If this is the first release you've downloaded since 0135, please read the "ABOUT 013X" sections for each of the releases since. [ mixed bag of fixes ] + Highlighting of syntax errors was broken. http://dev.processing.org/bugs/show_bug.cgi?id=795 + The getIntAttribute() method from the XML library was returning a float instead of an int. http://dev.processing.org/bugs/show_bug.cgi?id=790 + Include memory settings from preferences when exporting a Mac OS X application. http://dev.processing.org/bugs/show_bug.cgi?id=803 + Updated to a newer version of Quaqua (OS X lib for GUI) http://www.randelshofer.ch/quaqua/ [ top priorities (not fixed) ] + "Target VM failed to initialize: VM initialization failed" on run This happens because Java is not properly getting the machine's internet address. Workaround is to shut off networking: http://dev.processing.org/bugs/show_bug.cgi?id=796 + Slow response on file/sketchbook/examples menus on OS X 10.5. There appears to be an Apple bug in Java 1.5 and 1.6 on Mac OS X 10.5 (but not 10.4) causing these menus to be extremely slow. Workarounds described in the bug report: http://dev.processing.org/bugs/show_bug.cgi?id=786 + Sometimes, nothing happens when you hit Run (no error displayed) http://dev.processing.org/bugs/show_bug.cgi?id=775 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ABOUT REV 0138 - 31 May 2008 Continuing on the > 0135 crazy train. [ regression repair ] + This fixes a major regression since 0135 where code would only run from the first sketch window opened. http://dev.processing.org/bugs/show_bug.cgi?id=784 + Fix "expecting EOF, found ..." error when importing a library. http://dev.processing.org/bugs/show_bug.cgi?id=788 + Remove debug spew when Export is used. + Switched to use Java 1.5 (not 1.5 or 1.6) for Processing.app on Mac OS X. Hopefully this may avoid additional quirkiness. [ graphics fix ] + Fix tessellation problems with concave 3D geometry that has many nearby points (e.g. filled bezier polygons like fonts). Upgrade values to doubles, and multiply by 10 so that we can have some better accuracy as we tessellate. This seems to have negligible speed differences on Windows and Intel Macs, but causes a 50% speed drop for PPC Macs with the bug's example code that draws ~200 points in a concave polygon. Apple has abandoned PPC so we may as well too. http://dev.processing.org/bugs/show_bug.cgi?id=774 [ fixed earlier ] + The code folder was being ignored on export to application. http://dev.processing.org/bugs/show_bug.cgi?id=469 Fixed along with the changes in 0137. [ new known issues ] + Slow response on file, sketchbook, and examples menus http://dev.processing.org/bugs/show_bug.cgi?id=786 This may be limited to Mac OS X. The problem is more or less known, just need to get a workaround in. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ABOUT REV 0137 - 30 May 2008 This release is an addendum to 0136, please read the notes on that version if you have not already. To be clear, we're moving to Java 1.5 for everything: the Processing environment and for sketches created with it. We don't have enough people to support it, and for a project of our size, we should be focusing on the future, rather than working around legacy Java code. In addition, Java 1.5 gives us access to better timing facilities which will improve the steadiness of animation. The "expert" version for Windows has been discontinued temporarily, while we work out issues with the new runner setup. It may return for a future release, but require a full JDK download, instead of just JRE as in the past. [ bug fixes ] + Fix classpath problem with processing.exe. This was a major flaw in 0136 prevented applications from running. Not sure how this one made it out of Quality Control. Today I'm gonna have to fire the guy who runs the Processing Release Testing And Quality Assurance Center. http://dev.processing.org/bugs/show_bug.cgi?id=780 + Huge jar files when exporting with a code folder. (Huge like the PDE trying to zip up everything on your disk.) http://dev.processing.org/bugs/show_bug.cgi?id=541 http://dev.processing.org/bugs/show_bug.cgi?id=701 http://dev.processing.org/bugs/show_bug.cgi?id=714 + Fix support for the "synchronized" keyword in the preprocessor. http://dev.processing.org/bugs/show_bug.cgi?id=136 [ changes ] + Use multiple JAR files whenever 1) a lib is in use, 2) code folder, 3) multiple files This will prevent MANIFEST collisions, especially when used with the code folder. + Removed oro.jar dependency (not needed with PApplet.match()) + Added improvements to the linux startup script contributed by forum user 'neitsch'. (Thanks neitsch!) http://processing.org/discourse/yabb_beta/YaBB.cgi?board=os_core_pde;action=display;num=1202689238 + Update preferences.txt whenever opening sketches. If you have to forcibly quit the application (as a certain P5 developer often does), it will at least remember which sketches were running. + The openStream() method has been renamed to createInput(), and openStream() itself has been deprecated. This was actually done in 0136. In addition, a createOutput() method has been added that creates an OutputStream. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ABOUT REV 0136 - 29 May 2008 This release represents the first of a set of major (internal) changes as we head to release 1.0 at the end of the Summer. This release will not be made the default download, but please test the release for problems on your platform, and file bugs (dev.processing.org/bugs) when you find them. [ major changes, please read ] + New Runner The most significant change in this release is the introduction of a new runner system. This means that we'll be able to make the stop button behave properly, shut down sketches correctly, have better error handling, and eventually add debugger support. On the downside, sketches may start a little more slowly, and it may be a bumpy transition as we get things working (strange errors when you hit Run). + Switching to Java 1.5 We are moving to Java 1.5 as a minimum requirement for running Processing, as well as sketches created with it. This is an attempt at self-preservation as we try to limit the number of platforms that we support. Note, however that we *still do not* support Java 1.5 language extensions (enum, enhanced for loop, generics, etc.) More info about that can be found here: http://dev.processing.org/bugs/show_bug.cgi?id=598 If you find places in the code or reference that refer to Java 1.4 support, please let us know via dev.processing.org/bugs. + New XML Library We've switched to NanoXML instead of NanoXML-Lite. This means that the export size of the XML library has changed from ~6k to ~30k. The new version is much better at handling a broader range of XML content. The API should be the same and your code should work without changes (unless you're playing with namespaces, in which case those have to be specified differently). http://dev.processing.org/bugs/show_bug.cgi?id=757 + Changes to how libraries are found Major bug fixing happened in handling the class path issues and dealing with how libraries are loaded. With any luck, this should fix the dreaded aiexport bug. It should also give better results when multiple libraries are installed on the system. However, it may mean that some libraries (or jarfiles) that shouldn't have been working before will now (properly) no longer work. [ minor enhancements ] + curveTangent() implemented by Dave Bollinger. (Thank you!) http://dev.processing.org/bugs/show_bug.cgi?id=715 + Added support for quadratic (as opposed to just cubic) curves to the Candy SVG library. + Altered Processing.app on Mac OS X to use the Quartz rendering engine. In OS X 10.5, Apple switched renderers, which made most Processing sketches run considerably slower. Thanks Apple! + Added ctrl-/ to comment a block of code + Minor change to default window dimensions to support the Eee PC + Updated reference and slight reorganization to fix a handful of broken links. Moved the FAQ to the Processing site (no longer included in the download.) + Added a static version of saveStream() that uses a File object. + Add XMLElement (not filename) constructor to SVG lib http://dev.processing.org/bugs/show_bug.cgi?id=773 [ bug fixes ] + Color selector fixed by Francis Li. (Thanks!) http://dev.processing.org/bugs/show_bug.cgi?id=656 http://dev.processing.org/bugs/show_bug.cgi?id=584 + Net library no longer dies unceremoniously on "Connection Refused" http://dev.processing.org/bugs/show_bug.cgi?id=751 + Space after OPENGL param no longer breaks export http://dev.processing.org/bugs/show_bug.cgi?id=769 + Fix "noLoop()" sketches unresponsive to exit request http://dev.processing.org/bugs/show_bug.cgi?id=694 + Fixed bug with subset() when no length parameter was specified http://dev.processing.org/bugs/show_bug.cgi?id=707 + Retired the long-standing TIFF in After Effects bug http://dev.processing.org/bugs/show_bug.cgi?id=153 + Fix for bezierTangent() problem from Dave Bollinger (Thanks!) http://dev.processing.org/bugs/show_bug.cgi?id=710 + Fix problem with get() when imageMode(CORNERS) was in use + Fix bug with splice() and arrays http://dev.processing.org/bugs/show_bug.cgi?id=734 + PImage mask now works after first call http://dev.processing.org/bugs/show_bug.cgi?id=744 + Fix upside-down TGA files http://dev.processing.org/bugs/show_bug.cgi?id=742 + Fix problem with g.smooth always returning false in JAVA2D http://dev.processing.org/bugs/show_bug.cgi?id=762 [ known new problems ] + With the new runner setup, sketches sometimes won't start every ~10th time or so (this will vary depending on your machine). Hitting Run again should make things start up. http://dev.processing.org/bugs/show_bug.cgi?id=775 This may actually be a problem with Mac OS X sometimes not launching Java. More recent Java releases for Mac OS X have become less stable. If you see this on Windows, please let us know at the bug report. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ABOUT REV 0135 - 21 November 2007 Fairly innocuous but helpful bug fix release. [ bug fixes ] + Fixed modelX(), modelY(), and modelZ(). http://dev.processing.org/bugs/show_bug.cgi?id=486 Also wrote documentation for modelX(), modelY(), and modelZ(). + Brought back mipmapping for OpenGL (this helps textures look better when they're resized significantly). Turns out that I was on a goose chase, that things were working properly in rev 0125. http://dev.processing.org/bugs/show_bug.cgi?id=610 + Fixed copy() so that it doesn't need an updatePixels() call when used with OPENGL and JAVA2D. You should only have to call loadPixels() and updatePixels() when you're actually messing with the pixels[] array of an image (or the main drawing surface). http://dev.processing.org/bugs/show_bug.cgi?id=681 + Improved how fonts are handled in the preferences file to ensure against errors. Some strange things popping up with Processing not starting up properly and giving ominous "Fatal Exception" or "Failed Startup" messages. Though it's still not clear how the file was getting corrupted (whether operator error or something that a recent Java release is doing). http://dev.processing.org/bugs/show_bug.cgi?id=688 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ABOUT REV 0134 - 17 November 2007 Several bug fixes in this release, and one major change: all text files loaded and saved with Processing are now considered UTF-8 format. This prevents problems when moving files between different platforms or locales. For instance, this means that any file used with loadStrings() should now be in either plain ASCII format, or UTF-8 coded if not ASCII. [ bug fixes ] + Reverted back to using JOGL 1.0 instead of 1.1 because of incompatabilities that it caused. A release of JOGL 1.1.1 appears to be imminent, and we'll change to that once it's ready. In the meantime, applet export with OpenGL is working again. + Fixed a problem with SVG files that use "px" when specifying the width and height (this includes Adobe Illustrator CS 3). http://dev.processing.org/bugs/show_bug.cgi?id=667 + Fixed a problem with "Save As" under Linux. A bug in the native Java "Save" dialog was not properly handling cases where the user hit "enter" to accept a new name. Changed to use the Swing dialog on Linux instead. + Changed to another version of RXTX that should be compatible with Mac OS X 10.5. This version also removes the requirement for running macosx_setup.command. Thanks to Dave Mellis of the Arduino project for the help. http://dev.processing.org/bugs/show_bug.cgi?id=227 http://processing.org/discourse/yabb_beta/YaBB.cgi?board=Electronics;action=display;num=1193459849 + Add an extra redraw call to update the screen after resize events on Mac OS X, even when noLoop() is used. http://dev.processing.org/bugs/show_bug.cgi?id=664 [ changes ] + Removed shortcut for "Rename", and changed "New Tab" back to Ctrl-Shift-N, because it was causing problems on some non-English keyboards. http://dev.processing.org/bugs/show_bug.cgi?id=665 + Dozens of documentation updates to video, array functions, the default behavior for close & quit, etc. + Added a noLights() method for P3D and OpenGL. http://dev.processing.org/bugs/show_bug.cgi?id=666 [ upcoming ] + The hint() and unhint() methods are a bit goofy. The unhint() method will probably be removed or another solution pursued. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ABOUT REV 0133 - 26 October 2007 An important bug fix that was breaking "Export to Application" with OpenGL sketches, plus some smaller fixes. [ bug fixes ] + Fix problem with "Export to Application" with OpenGL sketches. http://processing.org/discourse/yabb_beta/YaBB.cgi?board=OpenGL;action=display;num=1193142573 + Fix problem that occurred when user canceled the "Create the folder, move the sketch, and continue?" message. http://dev.processing.org/bugs/show_bug.cgi?id=658 + Make the ESC key cancel rename when renaming a sketch or a tab. + Make Cmd-W (or Ctrl-W) close a running applet window. + Fix background() with beginRaw() and P3D. + Fix hint(ENABLE_DEPTH_SORT) when used with begin/endRaw() [ changes ] + Add focus requests to PApplet in the hope of improving focused state of applets when they open. http://dev.processing.org/bugs/show_bug.cgi?id=645 + Updated reference for new menu/toolbar setup. + Add notes about ClassVersionErrors to the reference. + Notes about mousePressed() and noLoop() to the reference. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ABOUT REV 0132 - 22 October 2007 The bug fixes continue. Didn't plan to release so soon, but found a problem where sketches were being marked as untitled, forcing users to save to a new location (and causing confusion in the process). [ bug fixes ] + Fix bug introduced in 0131 where sketches opened from the toolbar into an untitled window were marked as untitled themselves. + Disallow the user from renaming unsaved sketches. + Fix problems with JAVA2D image drawing not properly handling RGB images, or tint() not working properly in JAVA2D. http://dev.processing.org/bugs/show_bug.cgi?id=351 + Significantly improve memory requirements for handling tinted images with the JAVA2D renderer. + Fix inconsistencies between tint() and fill() with P3D and OPENGL. From now on, tint() is always used to color images, and fill is ignored when textures are in use. Prior, P3D ignored both fill() and tint() settings with textures, and OPENGL used the fill color. http://dev.processing.org/bugs/show_bug.cgi?id=222 + Fix a problem with fill in P3D where no color would be applied to textures (especially when the color was unchaged across the shape) http://dev.processing.org/bugs/show_bug.cgi?id=169 http://dev.processing.org/bugs/show_bug.cgi?id=90 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ABOUT REV 0131 - 22 October 2007 More bug fixes, and ironing out the New/Open behavior. [ bug fixes ] + Fixed "java.lang.NoClassDefFoundError: quicktime/std/StdQTException" error when using video code on Windows with releases 0126 and later. http://dev.processing.org/bugs/show_bug.cgi?id=654 + Finally fixed problems with the net library, where disconnecting a client would hose the server. Also cleaned up some other nastiness in the networking code. http://dev.processing.org/bugs/show_bug.cgi?id=537 http://processing.org/discourse/yabb_beta/YaBB.cgi?board=LibraryProblems;action=display;num=1180713192 http://dev.processing.org/bugs/show_bug.cgi?id=538 + Fixed hint(DISABLE_DEPTH_TEST) with OpenGL. + Fix minor bug in saveStream() (not a documented function). [ changes ] + When used from the toolbar in a Processing window, New and Open will replace the sketch in the current window. When used from the menu (or via key commands) they'll open a new window. This seems to be a better in-between from our old sketchbook model, and the way most applications behave. + On Mac OS X, a blank sketch will open after the last sketch is closed. On Windows, closing the last sketch will quit the program. These default behaviors can be overridden in the Preferences dialog. There is no way to have a menu bar without an open window in a Java application, which is what's expected for Mac OS X apps. (Java comes from the X11 world, where menu bars are inside windows) This split behavior (with a preference to override) is our best attempt at a compromise. http://dev.processing.org/bugs/show_bug.cgi?id=634 + Added support for full-screen anti-aliasing with OpenGL. This is enabled via the hint() mechanism because it has several tradeoffs and its behavior across video cards varies. Use the options hint(ENABLE_OPENGL_2X_SMOOTH) or hint(ENABLE_OPENGL_4X_SMOOTH) immediately after the size() command to get lovely smooth results. Read the caveats in the documentation for hint(). Thanks to Mike Creighton and others who figured out this method earlier. http://processing.org/discourse/yabb_beta/YaBB.cgi?board=OpenGL;action=display;num=1175552759 http://processing.org/discourse/yabb_beta/YaBB.cgi?board=OpenGL;action=display;num=1164236069 + Updated the JOGL release to 1.1.0 (with 1.1.1 probably on the way in the next few days or weeks). + Add gluegen-rt back to the applet export for OpenGL. + Added documentation for hint() and unhint(). + Removed auto-delete of empty sketches from the sketchbook. This is no longer necessary with the regular New/Open/Save model, so it's best to leave it out, rather than have it go awry in some way. + Added a disconnectEvent() for the net library Client class, which is fired whenever a client...disconnects. + Made a few more fields public in the Client and Server classes. http://processing.org/discourse/yabb_beta/YaBB.cgi?board=Syntax;action=display;num=1116056805 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ABOUT REV 0130 - 20 October 2007 Bug fixes for 0126-0129. If you haven't read revisions.txt for those versions, please do so, major changes were introduced. + Fixed major issue introduced in 0128 that screws up size() and the default renderer. The renderer was being reset after setup(), so any commands used inside setup() would not stick. http://dev.processing.org/bugs/show_bug.cgi?id=646 http://dev.processing.org/bugs/show_bug.cgi?id=648 http://dev.processing.org/bugs/show_bug.cgi?id=649 http://processing.org/discourse/yabb_beta/YaBB.cgi?board=SoftwareBugs;action=display;num=1192873557 http://processing.org/discourse/yabb_beta/YaBB.cgi?board=SoftwareBugs;action=display;num=1192731014 + Fix problem with new keywords.txt file missing some constants. http://processing.org/discourse/yabb_beta/YaBB.cgi?board=SoftwareBugs;action=display;num=1192873557 + Close sketch window when its parent editor is closed. This was leaving lots of running sketch window boogers around when switching between lots of sketches. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ABOUT REV 0129 - 18 October 2007 Fixes two issues from release 0128. + Variables for width and height not always set properly http://dev.processing.org/bugs/show_bug.cgi?id=642 + Brought back the background() methods that take alpha when used with createGraphics(). They're necessary because it's the only way to clear the pixel buffer with transparent color. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ABOUT REV 0128 - 16 October 2007 This release contains major changes to how size() is handled. It fixes two major bugs, but because size() is so fundamental, it may cause problems on other systems. Please test! [ bug fixes ] + Window sometimes fixed at 100x100 pixels. I *think* I've managed to track this guy down and finally kill it. http://dev.processing.org/bugs/show_bug.cgi?id=197 + Fix problem where background was not being set when using the default (Java2D) renderer and with OpenGL. http://dev.processing.org/bugs/show_bug.cgi?id=454 + Sometimes the draw() method would be called twice: no more. http://dev.processing.org/bugs/show_bug.cgi?id=587 [ changes ] + Removed a lot of code (mostly reflection API mess) related to making processing.core work with Java releases earlier than 1.4. This is probably the first time processing.core has gotten *smaller* in a while. This includes changes to PFont, the cursor commands, the sort() methods, and some others + Removed versions of background() that take an alpha value. Not sure why these were implemented in the first place. If you want background() with alpha, draw a rectangle. The problem is that supporting alpha for background() introduces several inconsistencies with other renderers, for instance OpenGL. Do you clear the zbuffer when the alpha is too low? How about the other buffers? + The sort() methods are now static. + Change to JDK 1.4 imports rather than Java 1.1 imports in the preprocessor. + Fix so that Mac OS X dist script doesn't require root password. [ additional bug fixes in 0127 ] + Several bugs were fixed with createGraphics() in the last release, but not all the bug reports were noted. Here are more: http://dev.processing.org/bugs/show_bug.cgi?id=160 http://dev.processing.org/bugs/show_bug.cgi?id=428 http://dev.processing.org/bugs/show_bug.cgi?id=482 http://dev.processing.org/bugs/show_bug.cgi?id=530 http://dev.processing.org/bugs/show_bug.cgi?id=527 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ABOUT REV 0127 - 14 October 2007 This release is primarily bug fixes. ** Be sure to read important messages about release 0126 if you have not already ** [ core bug fixes ] + Fix pixel operations in OpenGL (get, set, copy, blend, loadPixels, updatePixels, background and the rest). http://dev.processing.org/bugs/show_bug.cgi?id=91 + Fix major createGraphics() issues: http://dev.processing.org/bugs/show_bug.cgi?id=594 http://dev.processing.org/bugs/show_bug.cgi?id=468 Though not all of them: http://dev.processing.org/bugs/show_bug.cgi?id=641 [ pde bug fixes ] + Mark sketches as modified when adding files, so that they are saved properly. + Replace untitled windows with opened sketches (rather than closing the old window and opening a new one) + Re-enable the Update Check in the PDE (was disabled in 0126). + Add option to not close the environment when closing the last window. Instead, it will open a blank sketch. This is because it's not possible to keep a Java program open without a Frame (or rather, to have a menubar without a Frame in a Java app). + Several updates to the keywords.txt file, syntax highlighting should now be much more up to date. + Added reference for new versions of the XMLElement getChild() and getChildren() functions that use paths. + Add reference for new match() method. + Fix animation example to use nf(). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ABOUT REV 0126 - 9 October 2007 ** This should be considered more of an alpha quality release. Please give it a try, but We won't be making this the default download unless no problems are found. The model for opening and saving sketches has changed completely. This is dangerous because if there are bugs it can mean lost data. Use carefully, but please test! ** The biggest change to this release is that Processing now supports multiple sketches open at once. This means that we've dispensed with the single window setup, and have a standard File menu (New, Open, Close, Save, Save As). A blank sketch is treated as an Untitled document, and asks that you confirm its name the first time that it's saved. New sketches open in their own window. The sketchbook model is still in place, serving as the default location for sketches when they are saved the first time, but in the six years since we first released Processing, the single window setup has made less and less sense. That said, there are a handful of bug fixes in this release as well, and a few API changes for cleanup that happened as we worked on the Processing book and the forthcoming "Visualizing Data" book. [ ide changes ] + Regular new/open/close/save/saveas model for files. Menus have been moved around a bit, and Examples and Sketchbook now have their own section under the File menu. [ api changes ] + Added getChild(name/path), getChildren(name/path) to the XML library. These allow you to grab sub-elements of a particular XMLElement by their name instead of by their index. You can also specify a path to a particular element (a series of XML element names separated by slashes) so that you can grab an item several levels deep. The getChild() method grabs the first matching name, the getChildren() method returns an array of XMLElement objects. For the XML heads out there, think of it as a poor man's XPath. A very poor man. Proper documentation forthcoming in a future release. + Added MIN_FLOAT, MAX_FLOAT, MIN_INT, and MAX_INT as built-in variables. Syntax highlighting and proper documentation coming later. + Added unregisterXxxxx() methods for libraries, thanks to ewjordan. http://dev.processing.org/bugs/show_bug.cgi?id=312 + Files with .gz extension (when opening or saving) will be automatically gzip uncompressed (or compressed). That means loadStrings("blah.txt.gz") will magically decompress without any additional help. And that saveStrings("blah.txt.gz", data) will compress while saving. This works for all API functions. To use the old openStream() method, and avoid the GZ business, use openStreamRaw(). + Disable mipmapping to fix memory leaking problem with OpenGL. Bug #150 was fixed, then resurrected in the same release cycle. A better solution (that doesn't leak memory) is coming soon. http://dev.processing.org/bugs/show_bug.cgi?id=610 + Added a match() method. This is a very simple way to use regular expressions (regexp) in your code. Calling match(data, regexp) will return an array of any matched items (things in parens in the regexp). If you aren't familiar with regular expressions, this will make sense once the documentation for it has properly been added. This requires Java 1.4, see the "status" section below. + The sort() method that takes String[] arrays now ignores case, which is usually the desired behavior when sorting strings. [ bug fixes, additions, improvements ] + Repaired a problem with library export that cause export to break in recent releases. http://dev.processing.org/bugs/show_bug.cgi?id=625 + Fixed readStringUntil() in the net library. http://dev.processing.org/bugs/show_bug.cgi?id=606 + Added proper icon image for Find, Preferences, and other windows. http://dev.processing.org/bugs/show_bug.cgi?id=627 + Fixed problem with ctrl-, typing a comma in the editor on Linux. + Fix drag & drop on Linux. This also has led to Java 1.5 being included with the Linux download, because D&D in Java 1.4 was badly broken. http://dev.processing.org/bugs/show_bug.cgi?id=595 + Implement "Show Sketch Folder" and open() for Linux. + Ask user for confirmation when replacing files with Sketch -> Add File. + Show confirmation in console when Sketch -> Add File succeeds. + Mac OS X now has the standard "window modified" indicator (a dot inside the close box) that indicates that changes are unsaved. + Improve the speed of the sketchbook menu rebuilding. In most situations, the menu will be rebuilt asynchronously (so that it does not hold up the rest of the program). + Fix problem with the version of str() that takes arrays. [ doc updates ] + Fixed some errors in the changes.html file that were out of date. + Lots of additional notes and tidbits in the reference. [ status ] + Also FYI... We're giving up on Java releases earlier than 1.4. We don't have the means to test for them, and we're simply better off targeting a larger percentage of users given our resources. Processing has evolved a lot from its early days as a fast Java 1.1 graphics library, where we need to simplify things for ourselves by relying on Java 1.4 support across the board. More about this change later. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ABOUT REV 0125 - 15 July 2007 Enormous number of bug fixes and additions. Many thanks to ewjordan and fjen, who also contributed fixes for this release. [ api changes ] + Changed the constructors for the Capture class to be more consistent with the rest of the video library. The following constructors: Capture(PApplet parent, int width, int height) Capture(PApplet parent, int width, int height, int rate) Capture(PApplet parent, String name, int width, int height) Capture(PApplet parent, String name, int width, int height, int rate) have been changed to: Capture(PApplet parent, int width, int height) Capture(PApplet parent, int width, int height, int rate) Capture(PApplet parent, int width, int height, String name) Capture(PApplet parent, int width, int height, String name, int rate) This version is not particularly consistent: Capture(PApplet parent, int width, int height, int rate) though we'll be leaving it in because it was used so heavily. + The split() method has been altered to avoid inconsistency. In fact, it has split itself into two methods. Har har har. split(String s), has been removed, use splitTokens(String s) instead. split(String s, char c) remains unchanged. split(String s, String delim) is now splitTokens(String s, String delim) The new model is that split() breaks a String into pieces given a single delmiter, which can be a single character or many characters. For instance, split("Something
in

HTML.", "
") now produces the array "Something", "in", "", "HTML". The split() method breaks the String whenever it sees the delimiter, so a
next to another
produces an empty String. On the other hand, splitTokens() takes a list of possible delimiters, and will consume one or more of any of them. For instance: splitTokens("really, messed ,up with ,,, commas,", ", "); will produce the array "really", "messed", "up", "with", "commas". Because any group of comma or space characters (and in any order) will simply be consumed as a single break. + The casting functions, e.g. int(), float() boolean(), and friends have now been streamlined a bit to only cover casts that actually make sense. + Blending modes have been finalized for 1.0, thanks to the help of Dave Bollinger, who contributed code to complete the set: http://dev.processing.org/bugs/show_bug.cgi?id=132 See the reference for blend() for more details. Thanks Dave! + The constant CENTER_RADIUS is now simply RADIUS. Both still work, but CENTER_RADIUS should be avoided. + The constants for ENTER, TAB, et al. are now char values, rather than ints. + The framerate() method in the movie library has been renamed to frameRate(). + Addition from Tom Hulbert to add setDTR() to the Serial library. + Where possible, more methods inside PApplet have been made static. This may break some library code (the OCD library is one example) until it's updated for 0125. We'll try to add a more informative error message about this in 0126. [ additions, improvements ] + Significant improvement to text and images in OpenGL mode. Now using mipmaps to interpolate large and small images. + The println() method with arrays now prints the array indices next to each element, making it a bit more useful. The print() method no longer supports arrays, since that was a bit silly. + Major rework of the open() command. This function behaves differently on each platform. On Windows, the parameters are sent to the Windows shell via "cmd /c". On Mac OS X, the "open" command is used (type "man open" in Terminal.app for documentation). On Linux, it first tries gnome-open, then kde-open, but if neither are available, it sends the command to the shell without any alterations. For Java users, this is not quite the same as Runtime.exec(), because the shell command is prepended. The method exec(String[]) is a shortcut for Runtime.getRuntime.exec(String[]). This function was also modified for Mac OS X and Linux support, and to better handle spaces in command names. + textAlign() now supports a second parameter that handles vertical alignment of text. The second parameter can be TOP, CENTER, and BOTTOM. + Added min() and max() for float and int arrays. + At Casey's urging, the "Color Picker" is now called the "Color Selector". + Fix up MovieMaker from Dan Shiffman, also add the library to the reference pages. + Re-architect SVG to properly inherit fill/stroke/etc from parents object can specify fill/stroke for everyone below need to discern between having a fill specified and one not being present + Fix Find/Replace button placement, also add Replace & Find Next option http://dev.processing.org/bugs/show_bug.cgi?id=68 + Make "Find In Reference" and "Show Sketch Folder" work with Linux [ bug fixes ] + Fix long-standing memory leaking problem with OpenGL images http://dev.processing.org/bugs/show_bug.cgi?id=150 + Fix problem where sketches were not showing up in Linux http://dev.processing.org/bugs/show_bug.cgi?id=282 + Size of sketch different in setup() and draw() on Linux http://dev.processing.org/bugs/show_bug.cgi?id=341 + Changing the shortcut keys for switching tabs to instead use ctrl/cmd + alt + left/right, identical to Firefox on Mac, PC and Linux. Also fixes a bug that caused French keyboards to have problems since 0123. http://dev.processing.org/bugs/show_bug.cgi?id=480 + Improve support for loading TGA (Targa) images. Upside-down and non-RLE encoded images should be supported better in this release. http://processing.org/discourse/yabb_beta/YaBB.cgi?board=SoftwareBugs;action=display;num=1171576234 + Properly refresh code when using an external editor (regression) http://dev.processing.org/bugs/show_bug.cgi?id=515 + The DXF export library no longer attempts to format its output because it was causing problems on systems that use , instead of . for their decimal separator character. http://dev.processing.org/bugs/show_bug.cgi?id=495 + PImage.save() method now fixed to work properly with get() http://dev.processing.org/bugs/show_bug.cgi?id=558 + Fix OpenGL crash with hint(ENABLE_DEPTH_SORT) http://dev.processing.org/bugs/show_bug.cgi?id=560 + Fix NullPointerException in Create Font with "All Characters" enabled http://dev.processing.org/bugs/show_bug.cgi?id=564 + registerSize() was registering as pre() instead of size() http://dev.processing.org/bugs/show_bug.cgi?id=582 + Fix problem with set() and the JAVA2D renderer http://dev.processing.org/bugs/show_bug.cgi?id=522 + Set modified to true on endDraw() so that images update properly http://dev.processing.org/bugs/show_bug.cgi?id=526 + Prev/Next tab conflicting with typing brackets on French keyboards http://dev.processing.org/bugs/show_bug.cgi?id=480 + PDE does not refresh code when using an External Editor http://dev.processing.org/bugs/show_bug.cgi?id=515 + Fix from fjen for the preprocessor to handle L added to 'long' values http://dev.processing.org/bugs/show_bug.cgi?id=492 + Only rebuild sketchbook on "save as" or "rename" of sketch http://dev.processing.org/bugs/show_bug.cgi?id=357 + Ignore ._ files from Mac OS X when reading jar and zip files + When running externally, kill the sketch window + Deal with user cancel issues with Capture settings [ reference and web ] + Significant updates to the examples + Update JavaDoc reference to include the XML library and Candy + Several fixes from fjen to applet.html for exported applets Added auto-install of cab file inside applet.html http://dev.processing.org/bugs/show_bug.cgi?id=181 Fix character encoding problems with HTML http://dev.processing.org/bugs/show_bug.cgi?id=474 Generate XHTML-1.0-strict (standards compliant) code http://dev.processing.org/bugs/show_bug.cgi?id=490 [ ewjordan bug fixes ] + Workaround for accuracy issues with P3D. (rect() was changing size as it changed position, or lines skipping pixels) http://dev.processing.org/bugs/show_bug.cgi?id=95 http://dev.processing.org/bugs/show_bug.cgi?id=267 + Improve strange texture warping in P3D by adding a slower, but more accurate means of drawing textures through use of hint(ENABLE_ACCURATE_TEXTURES) http://dev.processing.org/bugs/show_bug.cgi?id=103 + Polygons parallel to z-axis not always filling with nonzero x or y http://dev.processing.org/bugs/show_bug.cgi?id=547 [ java ] + Java 1.5.0_10 is no longer the default download at java.com, so OpenGL applets should be more likely to work properly. http://dev.processing.org/bugs/show_bug.cgi?id=513 + Apple has released a Java update, which brings Java 1.4.2 on OS X up to release 1.4.2_12. Subsequently we have updated the version of Java included with the Linux and Windows releases to 1.4.2_12. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ABOUT REV 0124 - 4 February 2007 Bug fix bonanza! Something to distract our American audience from football, television commercials, and drinking. [ editor ] + Minor improvements to preprocessor and compiler error messages. Did my best to suggest something more useful than things like the "expected RCURLY" or "RPAREN" crap. http://dev.processing.org/bugs/show_bug.cgi?id=12 http://dev.processing.org/bugs/show_bug.cgi?id=13 http://dev.processing.org/bugs/show_bug.cgi?id=15 + Copy custom applet.html file on "Save As" http://dev.processing.org/bugs/show_bug.cgi?id=485 + Create the "Documents" folder on OS X if it doesn't exist already. (Problem for some lab machines with strange home directory setups) + With the shift key pressed, handle next/prev line with up/down arrow + Fixed minor issue with { and } on the same line http://dev.processing.org/bugs/show_bug.cgi?id=484 [ core & libraries ] + With smooth() turned off, shouldn't be smoothing image on resize. This was inconsisten between OS X and Windows. Now fixed. http://processing.org/discourse/yabb_beta/YaBB.cgi?board=Programs;action=display;num=1164753510 + Speed up image drawing with JAVA2D (the default) renderer + ambientLight(r,g,b) no longer ambientLight(r,g,r) http://dev.processing.org/bugs/show_bug.cgi?id=465 + A fix from Dave Bollinger for the POSTERIZE filter (thanks Dave!) http://dev.processing.org/bugs/show_bug.cgi?id=399 + background(0, 0, 0, 0) was resetting stroke, smooth, etc. + OpenGL background() calls now work with begin/endRaw(). + Fix QTSession.open/close problem in Capture.list() http://dev.processing.org/bugs/show_bug.cgi?id=472 + The default backgroundColor changed to #cccccc instead of #c0c0c0. It was always intended to be CC, not sure how it got to be C0. + Show an error message when trying to use size(w, h, OPENGL) with Java 1.5.0_10, which doesn't work with JOGL because of a Sun bug. http://dev.processing.org/bugs/show_bug.cgi?id=513 + Hopefully a fix for the "No disk in drive" error on some Windows machines when the PDF library is used. I haven't been able to reproduce this problem, so I can't gauge whether it's fixed. http://dev.processing.org/bugs/show_bug.cgi?id=478 + Fix bug in copy() that caused part of image to be replicated. http://dev.processing.org/bugs/show_bug.cgi?id=372 [ features ] + smooth() now improves image smoothing when used with the JAVA2D renderer. + Change P3D to smooth images more nicely (bilinear was disabled). + Added a version of trim() that handles an entire array. + Removed contract(), one can use expand() and subset() instead. + Added optional second parameter to loadImage(), that can be used to specify the file extension if it's not part of the URL. i.e. loadImage("http://someserver.com/blah/fancy.cgi?234234", "jpg"); http://dev.processing.org/bugs/show_bug.cgi?id=500 http://processing.org/discourse/yabb_beta/YaBB.cgi?board=Syntax;action=display;num=1165174666 + Removed unlerp/relerp, use map() and norm() instead. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ABOUT REV 0123 - 30 November 2006 Bug fixes for regressions found in 0122. + Fixed an issue where drawing inside setup() didn't work, and any "basic" mode applications didn't draw anything. http://dev.processing.org/bugs/show_bug.cgi?id=463 + Remapped the home/end keys on Windows/Linux to be their proper assignments as per the Windows UI guidelines (lacking any sort of Linux UI guidelines...) Mac OS X is still stuck with begin/end of document, because Apple says so. Don't like it? Complain to the guy in the jeans and turtleneck. + (Should be a) minor change to QTSession.open() and QTSession.close() for the video library. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ABOUT REV 0122 - 28 November 2006 Lots of bug fixes and two new libraries. [ features ] + Michael Chang's "Candy" SVG Importer has been expanded significantly and added as a "core" library. We are grateful to Michael for his contribution to the project. + A simple XML library (processing.xml) has been added. It is based on NanoXML, and requires documents to be very strictly formatted, and doesn't support some XML features. + For both of these new libraries, they are intentionally minimal implementations. A full XML library or a full SVG import/export library would be quite significant in size. We think it's instead helpful to have libraries that can be included as part of an applet, meaning that they should be no larger than around 20-30k. If you don't need the compact size, you can use a larger XML library, or something like Apache's Batik to handle SVG import. [ bug fixes ] + Lots of work done to improve the formatting, and also make the key combinations work more appropriately for the various platforms. For instance, HOME and END keys now move to the beginning or end of the document, while ctrl-left and right (cmd-left and right on mac) moves to the beginning or the end of a line. Outdenting when a brace is used and some other quirks have been ironed out more. Shift-backspace now also produces 'delete', which is a useful thing found in many programming text editors. Also text selection and arrow issues like http://dev.processing.org/bugs/show_bug.cgi?id=349 This is one of several fixes that improve the use of the arrow keys along with cmd/alt-right/left and others. In general, the editor has been mostly brought up to spec for how keys work. + Fixed the menu shortcuts for next and previous tab: http://dev.processing.org/bugs/show_bug.cgi?id=402 + Fixed a problem where clicking the close box of Processing, then hitting "Cancel" when asked to save changes, would close the window anyway. http://dev.processing.org/bugs/show_bug.cgi?id=440 + Changed "Format for Discourse" to "Copy for Discourse", which just copies the code directly to the clipboard so it can easily be pasted into the forum. The UI was too goofy before. http://dev.processing.org/bugs/show_bug.cgi?id=447 + Forgot to mention, there was a fix added in revision 0120 that prevented files dragged into a sketch from bouncing back to the desktop on Mac OS X. (It formerly gave the impression that the file was not properly added to the sketch). + noiseSeed() was only working once, and only before noise() was used. http://processing.org/discourse/yabb_beta/YaBB.cgi?board=SoftwareBugs;action=display;num=1162856262 + lerpColor() now honors the current color mode. Also added support for lerpColor(c1, c2, MODE) where MODE is RGB or HSB. http://processing.org/discourse/yabb_beta/YaBB.cgi?board=Suggestions;action=display;num=1160096087 + Fixed a regression in P3D/OPENGL that prevented points from drawing in some areas of the screen. http://dev.processing.org/bugs/show_bug.cgi?id=444 + Fixed earlier but not announced: gray backgrounds in PDF export http://dev.processing.org/bugs/show_bug.cgi?id=324 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ABOUT REV 0121 - 6 November 2006 Adds printing, fixes a last-minute createGraphics() regression in 0120, and some other minor tweaks. [ features! ] + Printing a tab is now supported (but with caveats) http://dev.processing.org/bugs/show_bug.cgi?id=27 The"Page Setup" dialog doesn't work very well because Java seems to suck at printing, and sucks differently on different platforms: http://dev.processing.org/bugs/show_bug.cgi?id=435 Also, only the current tab is printed: http://dev.processing.org/bugs/show_bug.cgi?id=28 + Added background() with alpha parameters, but only for use with graphics created by createGraphics(). Also, it replaces the pixels with pixels that have that alpha, it's not like drawing a semi- transparent rect() onto the screen. For instance, to make a drawing surface transparent again, use background(0, 0, 0, 0). Using background(0, 0, 0, 128) will replace the background with black pixels that are 50% transparent, it will not fade the existing image toward black, use a rect() for that. [ bug fixes ] + size(), beginRecords(), beginRaw(), and createGraphics() were broken for file-based renderers in 0120 http://dev.processing.org/bugs/show_bug.cgi?id=434 + Fixed overly fat buttons on OS X due to a previous workaround that's no longer a problem because we're using (testing?) the Quaqua L&F. http://www.randelshofer.ch/quaqua/ + Fixed a bug with 'hidden' code causing an error inside rebuildMenu() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ABOUT REV 0120 - 5 November 2006 Several long-standing bugs fixed in this release. [ bug fixes ] + Fix several issues with filling shapes generated by beginShape(), particularly when used with bezierVertex() and curveVertex(). http://dev.processing.org/bugs/show_bug.cgi?id=97 + Fix a regression that appeared in 0116+ that prevented curveVertex() and bezierVertex() shapes from filling properly. http://dev.processing.org/bugs/show_bug.cgi?id=390 + Fix problem that prevented polygons perpendicular to the z-axis from filling properly: http://dev.processing.org/bugs/show_bug.cgi?id=111 + "Cancel" has returned to the "Save Changes?" dialog box. http://dev.processing.org/bugs/show_bug.cgi?id=32 + Fix several problems with createGraphics() http://dev.processing.org/bugs/show_bug.cgi?id=419 http://dev.processing.org/bugs/show_bug.cgi?id=92 + Fix modelX/Y/Z for PGraphics3D and PGraphicsOpenGL, which has been broken since beta http://dev.processing.org/bugs/show_bug.cgi?id=386 + Lots of issues with createFont(), PDF rendering of fonts, and hint(ENABLE_NATIVE_FONTS). Also added lots of notes to the reference based on frequently asked questions. + maintain selection, current tab, and scroll position on "save as" http://processing.org/bugs/show_bug.cgi?id=86 + Fixed issue where ambientLight(r, g, b) was instead ambientLight(r, g, r) http://dev.processing.org/bugs/show_bug.cgi?id=412 [ functional improvements ] + With the PDF library, text no longer defaults to raw shape outlines. Details (and a means to revert to the old behavior) in the reference: http://processing.org/reference/libraries/pdf/ + Trying the Quaqua Look & Feel on Mac OS X with the hope of things looking better. Not sure if we'll keep this. The main issue it fixes is that it improves the Swing dialogs for file choosers, however another workaround was found for that, so now it mostly just improves the "Save changes?" dialogs. + Trying the GTK+ Look & Feel on Linux. The old default (Metal) from Java was truly dreadful. + When "Auto Format" produces a warning, no code will be changed. In some cases, this was mangling code, so to be safe, it's been disabled. Near term, we'd like to swap out Auto Format with new code altogether. + Using createGraphics() now properly creates an empty, completely transparent drawing surface that can be written to a file. The alpha channel will also be written for the file if using a file format (such as PNG) that supports transparency. If this is the first release you're using since 0115 or earlier, please read the section below that contains the release notes for 0116. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ABOUT REV 0119 - 10 October 2006 Mostly minor bug fix release. + Fixed support for .java files, which haven't been working since 0116+ http://dev.processing.org/bugs/show_bug.cgi?id=405 + Rename the "Capture" example to avoid problems with Export http://dev.processing.org/bugs/show_bug.cgi?id=408 + Added workaround for Java 1.5 issue where openStream(), and therefore loadImage(), were throwing a different exception than Java 1.4. http://dev.processing.org/bugs/show_bug.cgi?id=403 + Added saveStream() and unlerp() methods as testing for the API. Documentation will probably be limited to the developer's reference. If this is the first release you're using since 0115 or earlier, please read the section below that contains the release notes for 0116. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ABOUT REV 0118 - 1 October 2006 This release fixes two major bugs that are minor fixes. 1. Repairs problems with exported applets that use the OpenGL library. 2. Fixes an issue with size(w, h, PDF, "blah.pdf"); This version was re-released after the PDF bug was found in the midst of posting the OpenGL fix. If this is the first release you're using since 0115 or earlier, please read the section below that contains the release notes for 0116. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ABOUT REV 0117 - 1 October 2006 This release fixes a problem with release 0116 that made exported sketches much larger than necessary because extra files were included. If this is the first release you're using since 0115 or earlier, please read the section below that contains the release notes for 0116. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ABOUT REV 0116 - 28 September 2006 This is a major release. It contains a million billion bug fixes, as well as several API changes as we try to firm up the API for 1.0. *** PLEASE READ ALL THESE NOTES CAREFULLY *** *** YOUR CODE NEEDS TO BE UPDATED! *** If you don't want to update your code yet, and are just trying to get your coursework done, you may want to stick with release 0115. + The reference has received major updates. The contents of the FAQ have now been integrated into the reference. The remaining page of the FAQ has more details about where everyone went: http://processing.org/faq.html + framerate() is now called frameRate(), for better API consistency. It didn't make sense to have a frameCount variable and a framerate() method as its misshapen cousin. + The default frameRate is now 60 fps. This will prevent some odd quirks with sketches running faster than they need to and throttling the resources of your machine. To disable this, you can set the frameRate arbitrarily high. + beginShape() has changed. LINE_LOOP and LINE_STRIP have been removed because they are redundant, and not consistent with the rest of the API. beginShape(POLYGON) is no longer recommended, simply use beginShape() with no parameters when drawing an irregular shape. Code examples: OLD SYNTAX: beginShape(POLYGON); // call vertex() several times endShape() NEW SYNTAX: beginShape(); // call vertex() several times endShape(CLOSE); endShape() with the CLOSE parameter will make the stroke on your shape continue back to where the shape started. This is the same way that POLYGON and LINE_LOOP worked. OLD_SYNTAX: beginShape(LINE_STRIP); // draw with vertex() endShape(); NEW SYNTAX: noFill(); beginShape(); // draw with vertex(); endShape(); In the above case, noFill() must be called, and the CLOSE parameter to endShape() is not used, because the last point should not come back to meet the original point. OLD SYNTAX: beginShape(LINE_LOOP); // draw with vertex() endShape(); NEW SYNTAX: noFill(); beginShape(); // draw with vertex(); endShape(CLOSE); For the LINE_LOOP example, endShape(CLOSE) is used to specify close the shape. noFill() must also be called, so that the shape is not filled in. The two main problems with the old API were 1) LINE_LOOP was simply a POLYGON with no fill setting, this made for a strange inconsistency. 2) there was no way to draw a non-closed POLYGON shape. Using beginShape(POLYGON) doesn't make much sense when you're drawing a line, so this is one more reason that beginShape() with no parameters is recommended. + The single pixel blend() methods have been removed, they were overkill. Also, the blend() function that blends a color, instead of image data, is now called blendColor(). + Along with blendColor(), a lerpColor() method has been added. It works just like lerp()... but with colors! + writer() and reader() are now createWriter() and createReader(). These weren't really documented, so the change doesn't officially "count" per se, but maybe someone was using 'em. + toInt() and toFloat() are now parseInt() and parseFloat(), to change to JavaScript syntax. Not sure if anyone was using these. + Text with the JAVA2D setting no longer uses native fonts by default, which means they'll be slower and uglier. See the reference for textFont() for details and how it can be addressed. + Threading has been modified signficantly. Some of these changes had to be undone at the last minute, so further changes are coming. The changes will fix several strange InterruptedException problems. [ major changes to PGraphics and its subclasses ] + The PGraphics classes have all been reworked and renamed. - PGraphics is an abstract class on which additional PGraphics subclasses can be built. It is an abstract class, and therefore cannot be invoked directly. - PGraphics2D (P2D) contains the former contents of PGraphics that are specific to 2D rendering. This will be P2D once it is complete. - PGraphics3D (P3D), formerly PGraphics3, remains mostly unchanged. - PGraphicsJava2D (JAVA2D), formerly PGraphics2, is the renderer used when you call for size(width, height, JAVA2D). It remains the default renderer when none is specified. It is slower but more accurate than the others. - PGraphicsOpenGL (OPENGL) is the new name for PGraphicsGL. + Do not use "new PGraphics" to create PGraphics objects. Instead, use createGraphics(), which will properly handle connecting the new graphics object to its parent sketch, and will enable save() to work properly. See the reference for createGraphics: http://processing.org/reference/createGraphics_.html + For the same reasons as above, createImage(width, height, format) should be used instead of "new PImage" when creating images: http://processing.org/reference/createImage_.html + PImage objects default to ARGB instead of RGB format. This is helpful for using createImage() or createGraphics() to generate a transparent surface. Be sure to use PNG or another format that supports alpha. + beginFrame() and endFrame() are now beginDraw() and endDraw(). Use these around drawing commands to a PGraphics created by createGraphics(). The defaults() method should not/need not be called, just beginDraw() and endDraw(). [ other additions and enhancements ] + Added an option to Preferences that sets the available memory http://dev.processing.org/bugs/show_bug.cgi?id=233 + Added a menu option to switch between tabs http://dev.processing.org/bugs/show_bug.cgi?id=55 however, there's a problem where it sometimes stops working: http://dev.processing.org/bugs/show_bug.cgi?id=402 + The OpenGL library has been updated to use the "final" release of JOGL 1.0, released September 2006, rather than beta 4, found in release 0115. + The flag in PApplet.main() formerly called --present-stop-color is now simply --stop-color. A flag named --hide-stop has also been added, to prevent users from quitting out of a present mode application. see the faq on details for capturing ESC as well. + Altered mouse behavior so that mouse positions update only on mouseMoved and mouseDragged. this also fixes a macosx bug that caused mouseX/Y values to be bizarre because mouseExited() gave weird positions (workaround for apple bug). + The "Export Folder" Tool has been removed, if temporarily. + "Archive Sketch" now prompts for a sketch name, it was awkward trying to dig the sketches out of the sketchbook folder. + added constant for DXF so recordRaw(DXF, "blah.dxf") can be used instead of recordRaw("processing.dxf.RawDXF", "blah.dxf") + Make all array functions work on arrays of all types: expand, append, contract, subset, splice, concat, reverse http://dev.processing.org/bugs/show_bug.cgi?id=115 + Added alpha parameter to color/stroke/tint/fill for use with web colors. i.e. fill(#FF8800, 30) is now valid. + Removed image(filename) and textFont(filename) et al. These made a brief appearance for the last release, but were not a good idea. + URLs with ampersands now supported on Windows, thanks to toxi. http://processing.org/discourse/yabb_beta/YaBB.cgi?board=SoftwareBugs;action=display;num=1149974261 + Only update mouseX and mouseY when mouse is moved and dragged. Fixes certain kinds of sketches, and also avoids a Mac OS X bug that causes sketches to jump as you move the mouse to the edge of the window. http://dev.processing.org/bugs/show_bug.cgi?id=170 [ bug fixes ] + noLoop() no longer causes an InterruptedException with OpenGL http://dev.processing.org/bugs/show_bug.cgi?id=164 + Fix transparency on images (was broken in 0115) http://dev.processing.org/bugs/show_bug.cgi?id=350 + save() and saveImage() with TIFF files works again. http://dev.processing.org/bugs/show_bug.cgi?id=378 + Fix issue where processing applets would run extremely fast after having been starved of resources where there framerate dropped. http://dev.processing.org/bugs/show_bug.cgi?id=336 + createFont() now works with applets. http://dev.processing.org/bugs/show_bug.cgi?id=101 + Fixed Find/Replace "focus" issues. + loadImage() should be returned to its former speed. http://dev.processing.org/bugs/show_bug.cgi?id=392 + Fixed loadImage() problem with some types of files. http://dev.processing.org/bugs/show_bug.cgi?id=279 + Only use Java ImageIO when necessary, it was causing trouble. http://dev.processing.org/bugs/show_bug.cgi?id=376 + Ignore files that start with . or ._ because they were a problem with Mac OS X, especially used with thumb drives. + Fix bug where smooth() was shut off by some fonts and JAVA2D http://processing.org/discourse/yabb_beta/YaBB.cgi?board=SoftwareBugs;action=display;num=1148362664 + Added stricter controls to prevent opening sketches that contain illegal characters in their title. + Movie playback no longer tinted blue on Intel macs http://dev.processing.org/bugs/show_bug.cgi?id=313 + Movie playback now works inside applets! http://dev.processing.org/bugs/show_bug.cgi?id=44 http://dev.processing.org/bugs/show_bug.cgi?id=231 + Make tweaks to openStream for URL handling and checking root of sketch folder, rather than just the data/ folder. http://dev.processing.org/bugs/show_bug.cgi?id=389 + Prevent settings() from changing the size of a Capture object. http://dev.processing.org/bugs/show_bug.cgi?id=366 Fix submitted by Hansi Raber, thanks! + When using external editor, code is updated on export. http://processing.org/discourse/yabb_beta/YaBB.cgi?board=SoftwareBugs;action=display;num=1158549785 + Make background() ignore transformations in JAVA2D http://processing.org/discourse/yabb_beta/YaBB.cgi?board=SoftwareBugs;action=display;num=1147010374 + Fix obscure openStream() problem caused by Sun's idiocy http://dev.processing.org/bugs/show_bug.cgi?id=359 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ABOUT REV 0115 - 11 May 2006 Greetings from the advanced processing workshop in the beautiful city of Barcelona. + When using Java 1.4 and later, you can now write to several formats other than tga and tiff. If Java 1.4 is installed and the extension used is supported (usually png, jpg, jpeg, bmp), then those methods will be used to write the image. http://dev.processing.org/bugs/show_bug.cgi?id=165 More detailed information is available in the save() section of the developer's reference: http://dev.processing.org/reference/core/javadoc/processing/core/PImage.html#save(java.lang.String) + loadImage() also supports image loading in the same manner, though it's not recommended for projects that export to the web. Again, more detailed information is in the developer's reference: http://dev.processing.org/reference/core/javadoc/processing/core/PApplet.html#loadImage(java.lang.String) + The image loading and saving issues were covered by Bug #165. http://dev.processing.org/bugs/show_bug.cgi?id=165 + loadImage() now works with TIFF and Targa images created by Processing. It will probably not support TIFF or Targa files created by other programs. Use PNG or another image format if you want to load images. http://dev.processing.org/bugs/show_bug.cgi?id=260 + fixed issue with beginRaw() that made the stroke of objects appear with no transformations (even though the fill was properly transformations) http://dev.processing.org/bugs/show_bug.cgi?id=339 + removed debugging messages from loadPixels() and PGraphics2.save() + fixed error message that prevented DXF from being used with OpenGL + added arraycopy(from[], to[], count) + renaming a sketch now rebuilds the sketch menu (accidental regression as the result of a bug fix and moving some code around) http://dev.processing.org/bugs/show_bug.cgi?id=332 [ issues ] + You cannot set the level of compression when writing JPEG: http://dev.processing.org/bugs/show_bug.cgi?id=342 + TIFF writing does not support images that are ARGB or ALPHA format. http://dev.processing.org/bugs/show_bug.cgi?id=343 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ABOUT REV 0114 - 19 April 2006 A few minor bug fixes and added a basic implementation of depth sorting for triangles when used with P3D or OPENGL. - hint(ENABLE_DEPTH_SORT) will enable simplistic depth sorting of triangles, so that they look a little better when transparency is used. The implementation is hokey, and doesn't look great in a lot of cases. The proper fix is much more complicated so I'm releasing this version until I have a chance to fix it properly. http://dev.processing.org/bugs/show_bug.cgi?id=176 - added createGraphics(width, height, "renderer"); this is mentioned in the FAQ but was not implemented. - fix set() and background(PImage) for JAVA2D. http://processing.org/discourse/yabb_beta/YaBB.cgi?board=Syntax;action=display;num=1145108567 - removed "max texture size" and "ignoring illegal line" error messages that were accidentally left in the previous release. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ABOUT REV 0113 - 14 April 2006 OpenGL applet export! + It is now possible to export applets that use the OpenGL library. http://dev.processing.org/bugs/show_bug.cgi?id=166 + Added an option in preferences to export applets as separate jar files. When selected, core.jar and any other libraries in use won't be copied directly into the sketch jar file, instead they be kept intact. http://dev.processing.org/bugs/show_bug.cgi?id=62 + added a fix for open() on Mac OS X submitted by chandler . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ABOUT REV 0112 - 13 April 2006 Lots of OpenGL bug fixes, and some big OS X fixes too. + Changed macosx_setup script for the new version of RXTX on OS X, you'll need to re-run this script if you used a previous version of Processing. You may also need to remove the contents of /var/spool/uucp or at least its contents if they exist. Please report on whether this works and whether you needed to remove the older version of the folder, so the script can be updated. http://dev.processing.org/bugs/show_bug.cgi?id=315 + PSound has been removed. Getting sound to work with Java is a total headache, and therefore something better left to a library. The Sonia and Ess libraries will both provide better audio support. + Fix nasty issue that caused images to take over one another with OpenGL. For instance, when using video input and text in a sketch, some letters of text would become images from the video camera. http://dev.processing.org/bugs/show_bug.cgi?id=322 + Fixed issues that would cause saveFrame() to be ridiculously slow on OS X. Another nasty one that took me forever to reproduce. http://dev.processing.org/bugs/show_bug.cgi?id=189 + Fix lighting issues with that were introduced in revision 0109. http://dev.processing.org/bugs/show_bug.cgi?id=316 + Now checking maximum supported texture sizes for the video card when using OpenGL. It will now throw a RuntimeException to avoid a possible BSOD if you try to make an image that's too large. http://processing.org/discourse/yabb_beta/YaBB.cgi?board=Contribution_3DOpenGL;action=display;num=1137130317 http://processing.org/discourse/yabb_beta/YaBB.cgi?board=Contribution_3DOpenGL;action=display;num=1144651735 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ABOUT REV 0111 - 28 March 2006 Bug fix release for more of this OpenGL stuff. Also includes a Universal Binary version of the Serial library so that the Intel Macs can now handle serial. [ more bug fixes ] + Fixed issues security issues with endian check in PGraphicsGL. This should pave the way for OpenGL applets with the new PGraphicsGL, though it's not yet possible to do them automatically. http://dev.processing.org/bugs/show_bug.cgi?id=309 + Fix to prevent lights in OpenGL mode from throwing a BufferOverflowException. + Switched to an older version of the JOGL libraries so that we can use the versions signed by Sun, further enabling OpenGL in applets. + Couple of minor fixes to the color picker http://dev.processing.org/bugs/show_bug.cgi?id=308 + More additions to the FAQ about the state of the various platforms + The example using spotLight still puts up an INVALID_VALUE error, but this seems to be a problem in the code, not PGraphicsGL. Something in the newer JOGL just seems to be more finicky about the values it's being fed. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ABOUT REV 0110 - 22 March 2006 This version updates the OPENGL rendering mode to a newer version of the JOGL library. Most importantly, this version is a Universal Binary that works on Intel machines running Mac OS X. Some notes about this release: + This new OpenGL setup has not been tested very much. Basically I got things working and thought I was so cool that I just had to post the new release. + Even though it will be easier to do because of the new JOGL, support for the OPENGL renderer in applets is still unavailable. http://dev.processing.org/bugs/show_bug.cgi?id=166 + The main reason for the lack of applet support is simply that I haven't yet had time to try to get this to work. An enterprising individual might give this a shot if they have a chance to look into how this is done with the new JOGL (known as JSR-231). There are .jar files for jogl that will be exported with a p5 applet that are signed by Sun. Note that the version for Mac OS X does *not* support Intel Macs. The .jnilib files were built on my own, but the .jar files were left intact because of the signing. + The release of JOGL is the nightly build dated 22 March 2006. + Lots more fixes for OpenGL are on the way, next on deck are fixes for a lot of texture mapping (and image drawing) issues. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ABOUT REV 0109 - 21 March 2006 Lots of bug fixes, in particular for Windows QuickTime and the shell script for Linux. [ bug fixes ] + fix more issues with QuickTime on Windows. yet again, this should help the WinVDIG stuff, especially when using QuickTime 7. http://dev.processing.org/bugs/show_bug.cgi?id=299 + change how the linux shell script works to better support situations where a parent folder of the processing app has spaces in the name. http://dev.processing.org/bugs/show_bug.cgi?id=298 + fix the "strokeCap not available in P3D" error (again) http://processing.org/discourse/yabb_beta/YaBB.cgi?board=SoftwareBugs;action=display;num=1134011764 + fix the weird error message that comes from loadImage("") http://processing.org/discourse/yabb_beta/YaBB.cgi?board=Programs;action=display;num=1136487954 + fixes contributed by willis morse to deal with memory wastefulness. these should help speed up some types of OPENGL and P3D mode sketches, thanks willis! + only create a single instance of the find/replace window, was creating excessive numbers of windows with multiple finds. http://dev.processing.org/bugs/show_bug.cgi?id=307 + disabled resizing of the color picker window so that it doesn't inadvertently disappear. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ABOUT REV 0108 - 15 March 2006 A couple minor bug fixes but mostly fun additional features in this release. [ additions ] + A DXF file exporter. Lines and triangles from P3D or OPENGL rendering modes can be sent directly to a DXF file. More information and an example can be found in the developer's reference: http://dev.processing.org/reference/everything/javadoc/processing/dxf/RawDXF.html + A color picker has been added to the Tools menu. Using the keyboard shortcuts, you can copy/paste the values for the colors and paste them into your program. (We didn't do any sort of auto-insert of colorMode() or fill() or stroke() code cuz we couldn't decide on a good way to do this.. your contributions welcome). + We've decided to include versions of image and textFont that take a filename instead of requiring a call to loadImage(). This is less efficient than using loadImage because there's no way to unload it from memory, but it's useful for beginners. void image(String filename, float x, float y) void image(String filename, float x, float y, float c, float d) void image(String filename, float a, float b, float c, float d, int u1, int v1, int u2, int v2) void textFont(String filename) void textFont(String filename, float size) + The discourse formatter tool posted to the discourse board by owd has been added to the Tools menu. We're distributing it for now while "Tools" menu features are in testing. [ bug fixes ] + a weird set of exceptions would show up whenever a file was dragged to the sketch window on macosx. it didn't usually cause any trouble, but the nasty error messages are now gone. + fix for the capture settings dialog submitted by hansi http://processing.org/discourse/yabb_beta/YaBB.cgi?board=VideoCamera;action=display;num=1139376484 + fixes to the local version of the FAQ and a handful of additions. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ABOUT REV 0107 - 2 March 2006 More tweaks to "Save" to try an iron out further bugs, though these are more minor than the others. + cut/paste from the context menu (right-click) in the editor wasn't properly setting a sketch as modified. + set/unset the sketch's modified state as undo happens. http://dev.processing.org/bugs/show_bug.cgi?id=248 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ABOUT REV 0106 - 1 March 2006 Fix for another major bug where sketches don't save properly if you use the "Save" menu command (also ctrl-S, or cmd-S on the mac). Also a minor bug with vertices greater than 512 in P3D and OPENGL would crap out. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ABOUT REV 0105 - 27 February 2006 Fixes some additional issues with beginRaw/endRaw and OpenGL. Had to do an additional release for a course that's using these features, so this revision should be used instead of 0104, since nobody has really downloaded 0104 yet. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ABOUT REV 0104 - 27 February 2006 Fix for major bug where "Save Changes on Quit" was being ignored. http://dev.processing.org/bugs/show_bug.cgi?id=276 Other changes include: + Processing.app is now a universal binary for Mac OS X. The version of jikes being used is also now a universal binary. However, OpenGL and the Serial library still will not work on Intel-based Macs: http://processing.org/faq/platforms.html#mac + Fixed issues with LD_LIBRARY_PATH for applications exported for Linux. http://dev.processing.org/bugs/show_bug.cgi?id=234 + No window is opened when using the PDF renderer, this is useful in situations where very large images are being created at it used to freak out the OS. + Fixed an obscure font metrics issue with OpenGL and createFont(). + A handful of additional internal changes for recordRaw() have been added to support writing out 2D and 3D data. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ABOUT REV 0103 - 18 January 2006 Fix for a bug specific to Mac OS X (may affect Windows as well) that prevented fonts from being used with PDF rendering. Issue description and the patch that was applied can be seen here: http://www.mail-archive.com/itext-questions@lists.sourceforge.net/msg20234.html Releasing for all platforms to get things back in sync. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ABOUT REV 0102 - 15 January 2006 Windows-only release to repair issues that prevent Processing from working properly when the PATH, CLASSPATH, and QTJAVA environment variables have spaces or quotes. references: http://dev.processing.org/bugs/show_bug.cgi?id=112 http://processing.org/discourse/yabb_beta/YaBB.cgi?board=SoftwareBugs;action=display;num=1114040731 http://processing.org/discourse/yabb_beta/YaBB.cgi?board=SoftwareBugs;action=display;num=1114153542 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ABOUT REV 0101 - 14 January 2006 Something I said about quick releases to follow... 0101 fixes a bug in 0100 that prevented output from working properly when the size() command was used to specify PDF rendering. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ABOUT REV 0100 - 13 January 2006 This is a pre-release of the PDF generating code. There will be a couple other quick releases to follow in the coming days, and this shouldn't be considered a "stable" release since it's not been tested heavily, but we wanted to post it for the people who'd like to try it out. To use it the pdf library, select Sketch -> Import Library -> pdf. And then choose one of the following methods: + to render everything out to a file: void setup() { size(400, 400, PDF, "filename.pdf"); } void draw() { // draw something good here } void mousePressed() { exit(); // important! } this will create a sketch that draws only to a file. successive frames will be drawn on top of one another. when you're finished, call exit(), for instance, inside mousePressed() or a keyPressed() event. this will still open a window of size 400x400 but not draw into it. future releases won't open the window, since it doesn't work properly with sizes larger than the screen size (as might often be the case when rendering to a file). + if you want to record just a single frame, use beginRecord() and endRecord() inside draw: void draw() { beginRecord(PDF, "frame-####.pdf"); // your awesome drawing happens here. endRecord(); // saves the file } this can also be triggered by a mouse press. the #### will cause a four digit "frame" number to be inserted into the filename. + if you want to record the entire thing to a file at the same time as drawing to the screen (i.e. save out an interactive drawing), do this: void setup() { size(400, 400); // etc beginRecord(PDF, "everything.pdf"); } void draw() { // do your worst } // this needn't be mousePressed, but you need to call this somewhere // when you're done, to ensure that the pdf file properly closes. void mousePressed() { endRecord(); } Caveats with PDF rendering: + anything bitmapped works very poorly. so it's no good for images. + use createFont() with a truetype font (some opentype also work) to make fonts work properly. any font that shows up in PFont.list() should work. if you don't use createFont(), they'll likely show up bitmappy and gross like images. the shape of the characters may be weird in some cases, there seems to be a java bug with cubic vs. quadric splines. looking into a workaround if necessary. + rendering from 3D isn't yet supported, but coming soon. + exit() is really important when using PDF with size() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ABOUT REV 0099 - 18 December 2005 A general usability-oriented release. The most major thing is some additional support for auto-indenting of blocks (things inside curly braces) and being smarter about indents on new lines. Other than that, it's a lot of bug fixes. If there are errors in the auto-indenting, you might want to just move back to 0098. + better auto-indent code. it's not complete or perfect, but should make the editor a little less annoying for general use. + ctrl-up and ctrl-down move up or down to the next empty line (holding down shift will also select the area) + a /* without an ending */ was crashing with a NullPointerException or OutOfMemoryError or just plain locking up. http://dev.processing.org/bugs/show_bug.cgi?id=16 + let user know where offensively named sketches are located http://processing.org/discourse/yabb_beta/YaBB.cgi?board=SoftwareBugs;action=display;num=1134466565 + make windows respond to ctrl/cmd-w and esc more consistently + make buttons in toolbar highlight as their actions are taking place (i.e. make the export button stay lit while the export is completing) http://dev.processing.org/bugs/show_bug.cgi?id=242 + processing should no longer fill the temporary directory with extra folders. iron out other console and build related issues. + fix obscure bug with hidden files when using an external editor + fix an issue with autoformat showing up out of range http://processing.org/discourse/yabb_beta/YaBB.cgi?board=SoftwareBugs;action=display;num=1134720763 + support for ComponentListener to handle calling size() when a PApplet is resized by a layout manager or other means. http://dev.processing.org/bugs/show_bug.cgi?id=209 this still doesn't work with opengl, however. + calling size() while app is running had some weirdness http://dev.processing.org/bugs/show_bug.cgi?id=243 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ABOUT REV 0098 - 1 December 2005 Not heavily tested, a release primarily for Casey to fix some issues he was running into with while writing the book. A handful of bug fixes I figured I'd post for the more adventurous, before adding anything more complex to it. Not as necesary a release as the others but has some useful fixes and I'll need to know whether or not there are any regressions before the next "big" release. [ bug fixes ] + fixes for linux shell script for "export to application" http://dev.processing.org/bugs/show_bug.cgi?id=234 thanks to x771771 at fixless.com for the report and fix. + more edits are now a compound edit, so hitting "Undo" after "Auto Format" will undo to the previous state, instead of first going to a blank screen and requiring a second "Undo." this is particularly noticeable when bugs in Auto Format cause code to be mangled, and hitting undo would "delete" the code entirely (a second undo would fix things, but not everyone figured that out). http://dev.processing.org/bugs/show_bug.cgi?id=139 + several fixes to "Auto Format", however many more bugs uncovered in the process. unfortunately the code was contributed and then abandoned by its original author, making it difficult to maintain. http://dev.processing.org/bugs/show_bug.cgi?id=109 http://dev.processing.org/bugs/show_bug.cgi?id=110 http://dev.processing.org/bugs/show_bug.cgi?id=235 http://dev.processing.org/bugs/show_bug.cgi?id=236 + better bug handling with auto format. if an exception occurs, auto format should return without mangling your code. + once again fixed a bug where width and height were set to zero in static mode apps. hopefully fixed properly this time: http://dev.processing.org/bugs/show_bug.cgi?id=198 + fixed a bug where play() wouldn't play a sound the second time unless stop() had been called on it. [ changes ] + updated to java 1.4.2_10 on windows and linux. the former version was 1.4.2_08, though _10 will be out of sync with macosx which is currently at 1.4.2_09. + updated notes in the javadoc about how the preprocessor works. + made auto format more verbal in reporting errors and differences to the editor. won't change anything unless actual changes occur, and if an misbalanced parenthesis situation occurs, it's reported as an error. [ api changes ] + recordShapes() and recordShapesRaw() will be record() and recordRaw(), though they remain mostly unimplemented. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ABOUT REV 0097 - 29 November 2005 "Export to Application" is here! See the FAQ for more details: http://processing.org/faq/bugs.html#application . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ABOUT REV 0096 - 26 November 2005 bug and api fix release. mostly minor things but useful to avoid several quirks that showed up in rev 0095. [ fixes ] - fixed a bug that prevented movies from opening properly in 0095. http://dev.processing.org/bugs/show_bug.cgi?id=216 - lots of tweaks to openStream(), and all the loadXxxx() functions. + web server logs should no longer be spammed with quite so many 404s from p5 applets looking for files in their data folders. + the open and load functions now handle subfolders inside the data folder. subfolders in the data folder are now included on export. http://dev.processing.org/bugs/show_bug.cgi?id=218 http://dev.processing.org/bugs/show_bug.cgi?id=65 + instead of halting the applet, a missing file (i.e. with loadImage() or loadStrings()) will return null and print an error to the console. this is better for people who know how to deal with null values, but hopefully the others will actually read the console to see the error otherwise, because the end result will be a NullPointerException. - deal with some issues where applets weren't running or were closing immediately in revision 0094/0095. http://dev.processing.org/bugs/show_bug.cgi?id=210 http://dev.processing.org/bugs/show_bug.cgi?id=204 - when loading a PNG image, set the image to ARGB if it has an alpha channel. also fix a bug in the GIF image alpha channel checking. http://dev.processing.org/bugs/show_bug.cgi?id=217 - fixed a text block wrap problem when a manual break character (\n) was used: http://dev.processing.org/bugs/show_bug.cgi?id=188 - remove some unnecessary applet resizing that was happening whenever an applet was loaded. this would sometimes cause the wrong window size to be used by appletviewer, or cause applets to start at their correct size, then resize to 100x100, and then resize to their correct location once setup() was complete. [ api ] - hint(DISABLE_DEPTH_TEST) will disable the zbuffer in P3D or OPENGL. re-enable with noHint(DISABLE_DEPTH_TEST); - added methods for libraries to be able to get sketch folder paths. the variable 'folder', which was changed to 'path' for rev 0094 is now called 'sketchPath', and won't change again. see the javadoc reference on dev.processing.org for more details on this and the additional functions: + sketchPath() returns the path to a file in the sketch folder. + dataPath() returns the path to a file inside the data folder. + createPath() will take any path and make sure that the interstitial folders exist. this is used by saveFrame() and savePath() to make sure that the parent folders exist. for instance, saveFrame("image/blah.tif") will use createPath() to ensure that the folder "image" exists inside the sketch folder. + savePath() is like sketchPath() but uses createPath() to make sure that it's save to save there. this will probably break the libraries again, but hopefully with this change, they should stop breaking going forward. - changed unhint() to noHint() to match the rest of the api. i don't think anyone was using this so hopefully it won't affect anything. [ misc ] - macosx release is now packaged with as a .dmg instead of a .sitx http://dev.processing.org/bugs/show_bug.cgi?id=116 - added reference category to the bugs db so that reference issues can be handled there as well. - added MAYSCRIPT="true" to default applet html (for javascript) http://dev.processing.org/bugs/show_bug.cgi?id=211 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ABOUT REV 0095 - 2 November 2005 single tweak to undo a failed bug fix in 0094. [ bug un-fixes ] - width, height are set to zero in static mode apps. there was an attempt to fix this for rev 0094, but that backfired and broke more things than it fixed, so the change has been removed and i'm re-releasing as 0095. the bug has now been filed for a later release: http://dev.processing.org/bugs/show_bug.cgi?id=198 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ABOUT REV 0094 - 31 October 2005 [ additions ] - drag and drop! you can now drag and drop a file to the editor window to add it to the sketch. if you drag and drop a sketch file (a .pde file whose parent folder is named the same thing), that sketch will be opened. http://dev.processing.org/bugs/show_bug.cgi?id=21 - item added to the tools menu that allows building all sketches underneath a particular subfolder. this won't be part of the base tools once the tool api is done (meaning that it won't be in the menu by default), but it's there for now. http://dev.processing.org/bugs/show_bug.cgi?id=117 [ bug fixes ] - stdout.txt and stderr.txt are no longer written to the processing folder, which will prevent errors for lab users. http://dev.processing.org/bugs/show_bug.cgi?id=177 - console text selection no longer immediately de-selects http://dev.processing.org/bugs/show_bug.cgi?id=180 - removing quotes from QTJAVA path if they exist (this may have fixed some issues?) - fix bug that was causing font sizes not to be set on opengl http://dev.processing.org/bugs/show_bug.cgi?id=174 - apply fix from toxi to make targa file i/o less picky - width/height now properly set in "static" mode apps - g.smooth no longer always false in opengl http://dev.processing.org/bugs/show_bug.cgi?id=192 [ semi-obscure api tweaks ] - in PApplet, "folder" has been renamed to "path" to match savePath(). - added dataPath(String filename) to return the full path to the give filename within the data folder - new api is in the process of being added for shape recording.. more on this in future releases. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ABOUT REV 0093 - 14 October 2005 First release in a while with lots of bug fixes for the video library (QuickTime 7), OpenGL, and Jikes on Linux. [ big fixes ] - david mellis contributed some code to help prevent the editor from locking up when a lot of println() statements were used in a sketch. thank you! http://processing.org/bugs/show_bug.cgi?id=19 - sometimes saving sketches or launching processing was really slow when sketchbook folders grew large, or thousands of frames from saveFrame() were in a sketch folder. this has been fixed. http://dev.processing.org/bugs/show_bug.cgi?id=84 - some Java 1.4 code snuck into the core library, breaking applets whenever Java 1.3 was in use (Firefox or IE on the Mac, for instance). this is now fixed. - new version of jikes for linux which should prevent the library issues: http://dev.processing.org/bugs/show_bug.cgi?id=47 - basic support for QuickTime 7 is now included, if you have problems, please report them to the bugs database: Mac OS X: http://dev.processing.org/bugs/show_bug.cgi?id=172 Windows: http://dev.processing.org/bugs/show_bug.cgi?id=171 - applications that use OpenGL should run better due to an update of the JOGL library. [ other bits ] - lots of additions to the FAQ and updates to dev.processing.org - lots of help from fjen on improving the bugs database - added a link to the FAQ from the Help menu - added menu shortcut for "show sketch folder" - faster blur code contributed by toxi, along with filter(ERODE) and filter(DILATE). thanks toxi! - initial support for textMode(SHAPE), which will render fonts as triangulated vectors that will eventually allow for exporting vector text from OpenGL applications. - PGraphics.save() no longer inserts the prefix to the applet folder, allowing it to be used for absolute paths. (use saveFrame() or the savePath() function if you want to save frames to the sketch folder). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ABOUT REV 0092 - 30 june 2005 release to support casey's workshop, but not announced publicly. - thanks to toxi, RLE-compressed .tga images are now the default - fix to make copy() a little faster in 2D - native fonts are now used with JAVA2D if they're installed on the host machine. this means faster, higher quality rendering for fonts. will require running "Create Font" again, however. [ api changes ] - loadMatrix() now handles getting good matrix values into g.m00, g.m01 etc across all renderers - accessible variables from PGraphics3 can now be found in the main graphics object, so it's possible to use g.cameraX, etc. - text now has an inherent position, so after drawing some text, a call to text("blah"); will draw the text "blah" right after the last text that was just drawn. [ internal stuff ] - PApplet.main() is now Java 1.3 compliant - move font placement back into PGraphics - lots of changes to font control and font format updated once again . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ABOUT REV 0091 - 6 june 2005 [ major bug fixes ] - european users rejoice: using processing from a user account with non-ascii characters in the user name no longer causes a problem on windows - error messages should be improved a bit when libraries or a code folder are in use [ minor bug fixes ] - keys in the editor now properly work while shift is down - printing too many chars to the console (32,000 of them) no longer makes things choke - linux first checks to see if jikes is properly installed and built for the current distro - better error message when Capture.list() fails - if sketchbook goes missing, default to a new location rather than dying completely - improvements to running applets from the command line.. shouldn't require --present option anymore - fixed a weird bug where curveVertex() had trouble with > 128 points - hitting escape now quits present mode - the runner stop button color wasn't being read from the preferences file properly - "java 1.3 required" message when running in a 1.1 browser was broken [ minor api change ] - createFont() functions cleared up a bit, they've changed from: createFont(name, size) createFont(name, size, charset) createFont(name, size, smooth) createFont(name, size, charset, smooth) in previous releases to now look like: createFont(name, size) createFont(name, size, smooth) createFont(name, size, smooth, charset) (docs may not yet be updated) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ABOUT REV 0090 - 9 may 2005 - fix for yet another undo bug fix that can cause code to be destroyed - fix for the selection ugliness that was causing an ugly yellow gap, contributed by david mellis - thanks david! - some additional fixes for sketch renaming and updating the ui properly - addition of an "arraycopy" function that mirrors System.arraycopy, details will be in a version of the reference arriving soon. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ABOUT REV 0089 - 8 may 2005 fix for a late breaking undo bug that made things really nasty. also removed the Thumbs.db files in the reference and examples. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ABOUT REV 0088 - 7 may 2005 lots of bug fixes in this release based on feedback on the discourse board, thanks to everyone who's been reporting things. [ tab madness ] - better at handling errors across multiple tabs - undo now works properly between tabs (undo used to be cleared when changing a tab, or on each error) - when using multiple tabs (but no .java files or code folder or libs) things will still run inside p5, meaning they'll start up more quickly - renaming a .java file now includes the .java in the name, so that you don't accidentally make the file a .pde file [ tools ] - auto format has been replaced by code long since contributed by martin gomez. thanks to martin, things should improve significantly. better yet, if there are problems, we can yell at him about em! - archive sketch saves before archiving, hopefully reducing confusion [ export ] - new default html for exported applets - shows a processing loading image instead of sun's awful starburst java coffee cup. like applet.html, this can be customized by placing a file inside your sketch folder called 'loading.gif' [ core/api ] - ceil(), floor(), and round() now return ints instead of floats - master gain error in PSound won't make the sound unusable, it'll just shut off the ability to control volume. (a java 1.5 problem?) - fixed createFont() for built-in fonts [ minor fixes ] - errors (exception stack traces, for the technical) properly show up across multiple lines.. sometimes they used to get spammed onto a single line, making them difficult to read. - run-expert.bat was unintentionally a little too expert, and required editing before use. [ platforms ] - windows and linux java have been updated for java 1.4.2_08 - windows java download includes the proper files for handling non-european systems . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ABOUT REV 0087 - 2 may 2005 not tested as thoroughly as rev 86, gonna wait 24-48 hours before setting this as the default download. + the reason for this release: dragging the sketch window should no longer make things lock up. also found several bugs that were probably contributing to the problem. + more file creating and saving fixes: - new tab with a .java file was giving an error http://processing.org/discourse/yabb_beta/YaBB.cgi?board=SoftwareBugs;action=display;num=1115059069;start=0 - "save as" with a read-only sketch wasn't letting you use the same name as the old one. - other small tweaks to new tab/save as/rename error messages + check for updates happens only once daily, rather than nagging you on each startup . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ABOUT REV 0086 - 1 may 2005 fixes for a couple major bugs in the beta release. [ large ] - "Save As" bugs fixed, along with some others found in "Rename" - fixed an error that caused applets to require Java 1.3 - camera should no longer be backwards [ medium ] - fixed the smashed text in the preferences window - saveFrame() fixed once again - color() wasn't properly changing with colorMode(HSB) - Linux: serial and net libraries weren't included in the last release - fix to make the environment run on Mac OS X 10.2 - caret and scroll position is now saved when switching tabs [ small ] - fov on camera() changed to use radians - lookat() has been removed, because its functionality is duplicated by camera(). - no longer throws an error with beginShape/endShape calls that have no vertex() calls in-between - added an error for people who try to use textMode(RIGHT) - updated the Windows and Linux downloads to include Java 1.4.2_07 - removed requirement that fink be installed before building on the mac - lots of changes to the faq . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ABOUT REV 0085 - 19 april 2005 - beta - camera() was missing from PGraphics - tweaks to openStream() for image loading - basic triangle and line clipping in P3D from simon (!) - finalized the faq listing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ABOUT REV 0084 - 19 april 2005 we're one release away from beta. reference and examples need another update, and the faq page needs a rundown of all the changes yet, but hopefully we're done with the code, barring any showstopper bugs. changes for this release: - added run.options to preferences that will allow you to set the amount of memory allocated to sketches run externally. - stability improvements to processing.exe from simon. - additions to the faq pages (the readme and bugs files are gone, replaced with the 'faq' folder) - all the dreaded "save as" bugs are now fixed - "Create Font" works once again - more lighting fixes from simon - point() again works in 2D mode - text with a z coordinate is working again . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ABOUT REV 0083 - 17 april 2005 - new reference and examples in this release. please test! - readme.txt and bugs.txt have been removed in favor of a single FAQ, which contains the appropriate information, and will be mirrored as the FAQ on processing.org as well. - what he hope is the finalized lighting api for beta/1.0 + because lights are in object space, they are considered more like a shape in this release. they are not retained and must be "drawn" each time you run through draw(). + to enable a simple ambient and directional light, place inside draw: public void lights(); + ambientLight(float r, float g, float b) adds an ambient light based on the current colorMode. + directionalLight(r, g, b, vx, vy, vz); sets up a direction light along vector vx, vy, vz + spotLight(r, g, b, x, y, z, vx, vy, vz, angle); sets up a spotlight at a position, with a direction and an angle + lightFalloff(constant, linear, quadratic) will change the falloff for any lights that follow. default setting is lightFalloff(1, 0, 0) + lightSpecular(r, g, b) sets the specular color for any lights that follow. + ambient(),