Processing Changelog

What's new in Processing 3.5.4

Jan 20, 2020
  • Changes:
  • Don't remove entries from Recent menu on Save As
  • Use ctrl-page up/down for changing tabs on Windows
  • Show error when .properties file is missing from a Library/Mode/Tool.
  • Fixes:
  • Tweak Mode working again (fix from Gal Sasson)
  • Fix potential highlighting issue that wasn't selecting portions of text
  • Names in the contribution listing are no longer case sensitive (It was placing lowercase names at the bottom of the list.)
  • Clean up a lot of bad temp file handling in the contrib manager
  • Fix NullPointerException in installPreviouslyFailed() on startup
  • Internal:
  • Ignore subfolders in the "libraries" directory. This was causing some nasty startup issues for folks, and other hard-to-track bugs. Hopefully there aren't any installs that relied on this behavior.
  • Update AppBundler to use newer SDK, recompile:
  • Edit build.xml files and appbundler to preserve more attributes

New in Processing 3.5.3 (Jan 16, 2020)

  • Fixes:
  • "Redo" key shortcut for Windows screwed up https://github.com/processing/processing/issues/5773
  • Fix an editor problem with plain text (css, etc) files https://github.com/processing/processing/issues/5628
  • Default to using java.awt.Desktop methods for URLs/files when available on Linux. Also cover a few weird cases that were failing silently.
  • Ignore .class files found in the META-INF folder for imported JARs https://github.com/processing/processing/issues/5778
  • Get rid of errant 'Could not parse -1 for display' message.
  • Fix up and clean a few file i/o issues that were causing resource leaks with loadXxxx() commands, and intermediate folders not being created for temporary files used by the saveXxxx() commands.
  • Additions:
  • Added reference for circle(), square(), push(), pop()
  • Contributions:
  • Updated translation of the word "sketch" for Russian speakers https://github.com/processing/processing/pull/5673
  • Update missing @Deprecated tags in PApplet.java https://github.com/processing/processing/pull/5686

New in Processing 3.4 (Jul 27, 2018)

  • Show alternate error message on Windows when jnidispatch.dll or core.jar have been removed by Windows Defender or Microsoft Security Essentials. This has been a huge headache for us. We've repeatedly submitted the software and asked Microsoft for help, but haven't had any luck. If you run into this issue and would like to help, please submit the files to Microsoft here: https://www.microsoft.com/en-us/wdsi/filesubmission Perhaps if there are enough reports, they'll understand this is affecting a lot of people.
  • Contributed libraries/examples/etc that redirect to https URLs now working.
  • It's now possible to make your own theme file for Processing. Copy the theme.txt file from inside the Processing folder to your sketchbook folder, and then edit away. For instance, to make a dark theme:
  • It's now possible to copy the text of the status bar. Click the clipboard icon at the right-hand side to copy the text to the clipboard. To search immediately, use shift-click. The default search engine is Google, but you can modify that by altering the 'search.format' line in preferences.txt
  • Added pyde as a supported extension, so double-clicking on Python sketches will launch the PDE.
  • Added Double and Long versions of the data classes. Not sure if we'll keep these, but we're trying them out.
  • Also add subset(long) and subset(double) to PApplet
  • Changed the internal Sort class to use int for comparisons for better accuracy, especially when working with double and long values.
  • Consistently implemented write(PrintWriter) in the List and Dict classes
  • Added save(File) to the List and Dict classes
  • Prevent Table.sort() from throwing NullPointerException with empty cells
  • Fixed up the Welcome dialog. When closing the window or hitting ESC, the "show this" selection is recorded. Also clicking that text will toggle the checkbox on/off, as users would expect.
  • Redesigned the Rename window to be less ugly. Now closes when ESC is pressed, and the default action is set so hitting Enter will work properly.
  • Rewrite exec() to do threads, also handle fast/excessive output cases
  • Rewrite requestImage() to fix errors/slowness/concurrency problems
  • Refactoring inside the completion code
  • Now using Java 8u181. https://github.com/processing/processing/pull/5586
  • Change lack of blendMode() to a warning rather than an error in PDF
  • Updated the copyright and year in the launch and About screen.
  • A large number of changes and fixes for ARM submitted by Gottfried, who also posted 3.3.7.1 and 3.3.7.2 interim releases with some of these changes already present. Now we're back on track with 3.4.
  • Additional I/O improvements
  • Fix regressions in 3.3.7.1
  • OpenGL ES: Fix GLSL version number for 1.00
  • Add ADS1X15 Analog-to-Digital converter example
  • IO: pinMode() can now set pull-up and pull-down resistors on Raspbian thanks to @xranby for 64-bit help
  • Several new examples
  • IO: New example sketch showing how to use a MPR121 capacitive touch sensor fun tutorial by @msurguy forthcoming
  • IO: New example sketch showing how to use a BME280 environmental sensor IO: New example sketch showing how to use a TSL2561 light sensor IO: New example sketch showing how to use a PCA9685 Servo & PWM controller ...all contributed by @OlivierLD
  • IO: pinMode() got faster
  • IO: I2C now supports talking to slower devices, such as Arduino boards
  • Support for ARM Mali graphics was added to P2D/P3D Thanks to seongwook from the forums for his help during bringup
  • P3D now supports up to 4 lights on Pi using their OpenGL driver
  • Serial library now supports Raspbian's port naming (such as "/dev/serial0")
  • Enable exporting of Windows applications on ARM
  • Clarify SimpleInput example
  • Various ARM-related updates
  • Make P3D work on Linux SBCs using ARM Mali graphics and their ES 3.1 driver
  • Updates to Japanese translation
  • Added Russian translation
  • Make "loadXML(String)" handle "file not found"
  • Update java.lang.UnsupportedClassVersionError message Semi-transparent colors do not display properly in PGraphics
  • Fixed a crash occuring while loading certain SVGs exported from Illustrator
  • Support PShape.contains() on GROUP objects
  • Improve implementation of PShape.contains() to take the CTM into account
  • Make sure the editor is updated after reloading changes (from Jakub) https://github.com/processing/processing/pull/5487 https://github.com/processing/processing/issues/5466

New in Processing 3.3.6 (Sep 5, 2017)

  • Add Italian translation
  • Wrong tab for missing brace
  • Fix typo in German translation
  • Movie Maker only works once
  • Add more build products to linux/.gitignore
  • Add issue template to the repo
  • Add workaround for window size = 0 crash
  • Fix comment/uncomment adding slashes at wrong indent
  • Add JavaFX runtime to error checker class path
  • Ironing out the new shell() command
  • Workaround issues with August 2017 release of Raspbian
  • Fix bugs in line vert shader
  • Updated to Java 8u144
  • Fixed issue with call to remove value instead of key in mode contrib hash (this was only in the code used by the command line mode loader)

New in Processing 3.3.3 (May 3, 2017)

  • bug fixes:
  • keyPressed not returning false once a key is released
  • Image tint() was broken in 3.3.x
  • Deal with loadBytes() regressions introduced by their rewrite (was breaking p5jsMode because of its use of loadBytes(File)

New in Processing 3.3.2 (Apr 27, 2017)

  • Bug fixes, mostly for regressions in 3.3.1:
  • ArrayIndexOutOfBoundsException when using tint() or loadFont()
  • createInput() wasn't returning null for files that were not found
  • Assigning Pixels Vertically Flipped in P2D
  • Useful updates, that hopefully aren't regressions:
  • Improve loadBytes() performance
  • Add (far) more efficient file loading for loadBytes(File)
  • Add loadBytes(URL) variant that uses content length header for array size
  • keyPressed is false if one key is released while multiple keys are pressed

New in Processing 3.3.1 (Apr 24, 2017)

  • HIGHLIGHTS:
  • The UI now supports Arabic with a new translation provided by Omar Hommos
  • Several updates from Gottfried for ARM devices like Raspberry Pi and CHIP
  • Lots of pixelDensity() and sketch scaling work has been developed by Jakub Valtar and is in the current release, though we've not yet activated these features entirely. Expect those in the 3.4 release.
  • BUG FIXES:
  • Fix gap between tab headers and text area at 125% and 150% scaling on Windows
  • Some line heights were wrong on hi-dpi displays
  • Fix small tooltip text on high-dpi screens
  • Get rid of error message when exporting sketches with the video library
  • Fix preprocessing of code with double backslash in string or char literal
  • Fix breakpoints in inner classes
  • Fix preprocessor skipping one char after a block comment
  • Synchronize input event processing
  • Scrub comments: skip the second chracter in the escape sequence
  • ADDITIONS & CHANGES:
  • Added Arabic translation
  • Added Jump to Declaration
  • Fix the JRE downloader and upgrade to Java 8 update 131
  • Add another warning for yet another a bad NVIDIA driver
  • Make the Error Table extend white to the bottom
  • Use built-in font for any non-Roman or CJK language
  • GRAPHICS & THE CORE:
  • Major work on window placement and pixel density by Jakub
  • Improve sum() functions in processing.data
  • createInput() and createOutput() now both use buffered streams by default createInputRaw() does not, however
  • Don't derive the font again if the size is unchanged
  • fix temporary file handling for saveBytes(), saveStream(), etc wasn't handling gzip output properly also could have problems w/ names under length 3
  • GOTTFRIED'S ARMS:
  • Add support for 64-bit ARM boards
  • Hardware I/O updates for ARM
  • Fix MeshTweening vertex shader
  • ARM: Allow Raspberry Pi's Mesa GL driver to use up to 8 lights
  • Retry with multisampling disabled if creating a framebuffer fails because of INCOMPLETE_MULTISAMPLE
  • Report more error conditions in validateFramebuffer
  • Add more Raspberry Pi related fixes to JOGL
  • Unblock hardware-accelerated P3D on ARM Mali devices

New in Processing 3.2.3 (Nov 7, 2016)

  • Contributions manager:
  • If prettyVersion isn't present, just use version number
  • Ensure that update.id is set before checking for contrib updates
  • Clicking "Update" button in contrib manager shows non-retina version of icon. Other instances of the double-size icon found, should be fixed now.
  • Fix the library reporting scripts on the server
  • Missing version number putting 'null' in the UI
  • Major clean-ups to the Contribution Manager code
  • Contributions to the manager:
  • Up-to-date status disappears after filter is removed (contributed)
  • Updates tab blank after adding, removing, updating a contribution
  • Fixes the removal of redundant contribution and update related issues
  • Another fix:
  • Warn user to restart browser when it hangs on macOS
  • Opengl improvements:
  • Automatic detection of POINT and LINE shaders fails
  • Show warning when frameRate() less than 1 is called with P2D and P3D

New in Processing 3.2.2 (Oct 31, 2016)

  • Fixes:
  • Find in reference for size() opens StringList.size()
  • Limit rollovers on EditorStatus to the text portion. Clicking the status area when a URL was showing was problematic because it's also the separator used to adjust the relative size of the two panels.
  • Switch to Java 8u111. Not using 8u112 because the build numbers are different depending on the platform, and no 112 fixes are known useful.
  • Errant "Could not open the URL" when clicking on error messages
  • Fix extensions handling in CFBundleDocument code from appbundler
  • Minor String comparison fix for Tweak mode
  • Fix quoting problem in IntDict.toJSON()
  • Add getRenderer() to SurfaceInfo for Andres
  • Exceptions thrown in OpenGL apps when hitting the window's close box
  • Add getRowMap() function to Table
  • Go back to textMode(MODEL) is native font not available for textMode(SHAPE)
  • NPE thrown when using textMode(SHAPE) with a .vlw font
  • Add toJSON() method to the data classes (IntDict, FloatDict, StringDict, IntList, FloatList, and StringList). Returns an object of one of those six types as a JSON-formatted String. For something more like the old toString() behavior, use print().
  • Simplify font situation to make it possible to use vanilla JRE trees
  • Updates for ARM
  • Automatic handling of screen FBOs breaks readPixels() for user-provided FBO
  • PGraphicsOpenGL: camera info not updated
  • Fix PShape, updateTessellation, matrix transformations
  • QUAD_STRIP as child shape draws extra lines
  • Remove extra glClear() calls
  • PShapes do not show up in PDF with P2D renderer
  • Some semi-transparent edges of sphere() meshes rendered in higher density
  • P2D and P3D not stopping with empty draw() blocks
  • Other contributed fixes:
  • Chinese translation updates
  • Spanish translation updates
  • Spanish "open sketch folder" fix
  • Contribution Manager showing 'null' for PeasyCam version
  • Call glGetProgramiv to retrieve program log length
  • JSONObject get() method is private

New in Processing 3.2.1 (Oct 26, 2016)

  • Fixes for a couple major bugs that showed up in the last release.
  • [ fixes ]:
  • "Could not replace preferences.old" error message on startup when using Processing for the first time. https://github.com/processing/processing/issues/4626
  • Version 3.2 won't run from paths with spaces on Windows https://github.com/processing/processing/issues/4623
  • Python Mode was crashing on startup
  • [ additions ]:
  • When quitting an OS X sketch, sometimes it was necessary to quit twice. Added some code to work around this; we'll see how it goes.

New in Processing 3.2 (Aug 17, 2016)

  • [ bug fixes ]:
  • Processing .jar files in CLASSPATH can cause startup crash https://github.com/processing/processing/issues/4128
  • Remove java.ext.dirs on startup to avoid conflicts and startup errors https://github.com/processing/processing/issues/4608 https://github.com/processing/processing/issues/4470 https://github.com/processing/processing/issues/4566 https://github.com/processing/processing/issues/4492 https://github.com/processing/processing/issues/4128 https://github.com/processing/processing/issues/4503
  • Add 2016 to the About screen.
  • Write preferences.txt using a temporary file (and save the previous version as preferences.old) https://github.com/processing/processing/issues/4614
  • Some Table cleanup based on other CSV parsing work
  • Can't render PGraphics object using image() within a PDF https://github.com/processing/processing/issues/4473
  • [ contributed fixes ]:
  • Use HTML to print (a contributed fix for a handful of printing issues) https://github.com/processing/processing/pull/4369 https://github.com/processing/processing/issues/213 https://github.com/processing/processing/issues/50
  • NullPointerException in SketchCode.getDocumentText() https://github.com/processing/processing/issues/4555 https://github.com/processing/processing/pull/4547 https://github.com/processing/processing/pull/4596 Error checker now adds 'public' to all default access methods https://github.com/processing/processing/pull/4597 https://github.com/processing/processing/issues/4583
  • Fix resizing targets for async save https://github.com/processing/processing/pull/4607 https://github.com/processing/processing/issues/4578
  • Make loadStrings() and loadJSONObject/loadJSONArray() error msgs consistent https://github.com/processing/processing/issues/4265 https://github.com/processing/processing/pull/4268
  • [ changes ]:
  • Implement template sketches https://github.com/processing/processing/wiki/Templates https://github.com/processing/processing/issues/4306 https://github.com/processing/processing/issues/4352
  • PApplet.main(Blah.class) now works (for easy refactoring)
  • Rewrite Util.listFiles() because it wasn't working properly
  • Add printStackTrace() method in PApplet that can be overridden https://github.com/processing/processing/issues/222
  • [ depeche modes ]:
  • Add template support for Modes
  • Added getSketchbookTemplatesFolder() to Base
  • Move general PDE code out of JavaMode and into general base classes https://github.com/processing/processing/issues/4606 Change default PdeInputHandler constructor slightly (added another copy so that older Modes will still work properly) Change PdeKeywords to PdeTokenMarker (please notify us if this breaks anything).
  • Added Mode.requireExampleCompatibility() so that Modes can specify whether example packages should specifically mention their Mode in order to be visible when that Mode is in use.
  • Mode.getTokenMarker(SketchCode code) passes through to no arg version if not overridden.
  • [ input method work from Tsuyoshi Fukuda (tyfkda) ]:
  • Enable input method support by default on Japanese/Korean/Chinese systems https://github.com/processing/processing/pull/4598 Set text color for InputMethod https://github.com/processing/processing/pull/4593 Set sketch as modified when any character committed using input method https://github.com/processing/processing/pull/4599 Insert characters by InputMethod at one time https://github.com/processing/processing/pull/4594 Insert string when it is committed https://github.com/processing/processing/pull/4602
  • Simplify conditional branch https://github.com/processing/processing/pull/4589

New in Processing 3.1.2 (Jul 30, 2016)

  • PDE FIXES:
  • NullPointerException in LanguageBundle.read() on startup that prevented Processing from starting up on Windows machines. Network drive issue.
  • Bring back preference to hide the error checking. Error checking will continue in the background because it's needed for parsing/preprocessing, but some were complaining about the error checker messages.
  • Updates to Japanese translation
  • Make preferences button wider for Japanese
  • Fix logic for warning message when the Mode cannot be changed
  • Update to Java 8u102 build 14
  • API FIXES:
  • Rewrite CSV handling to take care of some parsing bugs and improve performance. Note that the 'newlines' option is no longer necessary when loading files that contain newline characters mid-field.
  • Prevent random(low, high) from returning 'high'
  • Fixed iterator remove() methods so they don't skip container elements
  • Added a check for length 0 arrays in expand()
  • GRAPHICS:
  • Disable asynchronous saveFrame() by default. This can really improve performance, but can cause weird glitches. Bring it back by using hint(ENABLE_ASYNC_SAVEFRAME) in your code to blissfully and speedily create image sequences. https://github.com/processing/processing/issues/4578
  • Prevent NPE in loadImage() when called before setup()
  • Fix crash when calling getUniformLoc() called in PShader.set()
  • RASPBERRY PI:
  • IO: Fix drawing for SPIAnalogDigital examples h
  • Update JVM warning text on Linux
  • Undo the 8u91 workaround, add Mesa warning for ARM
  • IO: We want motors, they said (implements SoftwareServo)
  • Add a temporary workaround for the CHIP to deal with cursor problems
  • Fix GLExceptions on Raspberry Pi when using offscreen PGraphics
  • FIXED EARLIER:
  • Debugger deadlocks when choosing "Step Into" on println()
  • Suggestions switch scope to first import
  • loadImage() immediately after saveFrame() foiled by async default
  • the hint() mostly works, but gross to use a hint frequently
  • Fix the Downloader so that builds work again

New in Processing 3.0.2 (Feb 15, 2016)

  • EDITOR CONTRIBUTIONS:
  • Add "full screen" option to the Editor on OS X
  • Add install script for site for ARM
  • Search/replace shouldn't include the string being replaced, otherwise it can get into an infinite loop.
  • 'Background Color when Presenting' not visible on Preferences window
  • Fix minor autoformatter bugs (enums not working)
  • Update Source Code Pro and Source Sans Pro fonts to the latest versions
  • Minor fixes for Java Mode
  • Add i18n support for the PopUp menu
  • Add Turkish to the list of languages
  • Make the error message for stack overflows clearer
  • Get rid of dt_socket message, making command line run a little better
  • Message when reference is find out on nothing selected
  • Better handling of quotes in command line args
  • Fix crashing bugs when user's name has non-ASCII characters
  • ARM updates to include GPIO numbers and images of wiring diagrams
  • Icon instead of an "X" for the "could not connect" message
  • Several fixes for Chinese/Japanese/Korean InputMethod support
  • Add 'downloading' indicator to the Contribution Manager
  • MORE EDITOR:
  • Move to Java 8u74, also fixes JavaFX issue.
  • Actually require OS X 10.8.5 (was set to 10.7). The Wiki said 10.8.3 was required for 3.0 (it is), but has since been updated to 10.8.5. If you're gonna run Mountain Lion, at least make sure he's patched.
  • GRAPHICS CONTRIBUTIONS:
  • Fill out the Javadoc for PMatrix
  • Have PSurfaceFX pay attention to the setVisible argument
  • Use xdg-open in PApplet#launch(String)
  • MORE GRAPHICS:
  • Fix another "Zero length string passed to TextLayout constructor" error
  • Add additional clarification for IDE users on where to call smooth()
  • Flipped Y-axis in JavaFX is now repaired (the JDK bug now fixed)
  • Stop button in OpenGL exported applications does not use preference settings
  • Export without a stop button using P3D or P2D
  • glClearDepthf() not available on older hardware
  • Drawing a sphere with shape() first changes sphereDetail from default
  • PShape.scale() affects strokeWeight differently in P2D and P3D
  • createShape(GROUP) textured child non-textured child = P3D render problems
  • pixelDensity() and createGraphics() with P3D
  • Friendlier message when running drawing commands outside animation thread
  • strokeWeight() not working properly with point() in P2D and P3D
  • exit() is not called in P2D/P3D
  • attrib*() function does not work well with PShape
  • Initialize sketch args before calling settings()
  • Workaround for JRE bug freezing the PDE during code completion
  • Prevent NPE because editor UI was not updated on AWT
  • Fix NPE when stepping into static method
  • Step button works correctly when SHIFT or ALT is pressed
  • More editor fixes
  • Tooltip over variable decl has wrong style and content
  • May have fixed this NullPointerException in initiateToolTip()
  • "String index out of range" error with bracket handling in the editor

New in Processing 3.0.1 (Oct 24, 2015)

  • Graphics fixes:
  • curveVertex() does not work with FX2D renderer
  • Hide menu bar on OS X when FX2D is running full screen
  • Add quotes to the necessary parameters in the size() error messages
  • Editor menu is outside the visible screen with 800x480 display
  • Add a patch for FX2D menubar not hiding, root cause not sorted out
  • Fix depth sorter ordering when two triangles in a plane share vertices
  • Turn off fixed rate scheduling in OpenGL
  • Fix GLSL preprocessing issues with variable name mangling
  • cursor() fails to work as expected with P2D/P3D
  • Topics/Shader/Convay broken
  • Regressions wrt GLES2 support between b4 and b7
  • stroke glitches in P3D
  • Line loops incorrectly closed in P3D
  • pixelDensity() not working with createGraphics() and OpenGL
  • GL related crashes when closing the display window on Ubuntu (Intel)
  • GL related crashes when closing window on MacBook Air (Intel) running 10.9.5
  • Update to JogAmp JOGL 2.3.2
  • Output window cannot be set as non-resizable with the P2D or P3D renderers
  • setAlwaysOnTop() does not work in P2D and P3D on Mac
  • P2D and P3D windows behave strangely when larger than the screen size
  • Remove Gluegen & JOGL sources
  • Not graphics fixes:
  • NullPointerException in ContributionManager.deleteTemp()
  • Tweak Mode sometimes freezes while running, require a force quit
  • Tweak Mode: Some numbers ignored in second tab
  • Update Japanese translation
  • processing-java stealing focus even with --build flag
  • Documentation updates and other serial fixes
  • Include Example packs into update count
  • Editor objects are staying in memory
  • Library path for Error Checker and Suggestions
  • A serious error occurred while trying to create a new editor window
  • Export - fix Java not being embedded on 64bit
  • Add error checker document listeners to all tabs
  • Fix memory leak in Recent menu
  • Error checker update (also enables switch on String objects)
  • Fix occasional exception while editing text
  • Prevent preprocessor from crashing when setup() has no body
  • I/O library implementation and fixes for ARM

New in Processing 3.0 (Oct 1, 2015)

  • [ gui updates and fixes ]:
  • "Saving" messages never clear on "Save As" https://github.com/processing/processing/issues/3861
  • Show number of updates available in the footer
  • https://github.com/processing/processing/issues/3518
  • https://github.com/processing/processing/pull/3896
  • https://github.com/processing/processing/pull/3901
  • Click the "Updates" item in the footer to open the Contribution Manager
  • Make breakpoints more prominent
  • https://github.com/processing/processing/issues/3307
  • Implement the side gradient on the Editor
  • Replace startup/about screen (1x and 2x versions)
  • https://github.com/processing/processing/issues/3665
  • Implement splash screen on OS X. Shout out to this article:
  • http://www.randelshofer.ch/oop/javasplash/javasplash.html
  • Make the left edge of the Console match the Error List
  • https://github.com/processing/processing/issues/3904
  • [ errors and warnings: the checking and completion story ]:
  • error checker/suggestions fixes
  • https://github.com/processing/processing/pull/3871
  • https://github.com/processing/processing/pull/3879
  • Hide useless error in error checker
  • https://github.com/processing/processing/pull/3887
  • Error checker updates for toggle and listeners
  • https://github.com/processing/processing/pull/3915
  • If fewer lines in sketch than can be shown in window, show ticks adjacent
  • https://github.com/processing/processing/pull/3903
  • Distinguish errors and warnings in the error list
  • https://github.com/processing/processing/issues/3406
  • Clicking an error or warning should give the focus back to the editor
  • https://github.com/processing/processing/pull/3905
  • Fix placement and visual design when showing error on hover
  • https://github.com/processing/processing/issues/3173
  • Fix the design of the completions window, new icons, etc
  • https://github.com/processing/processing/issues/3906
  • Update status error/warning when changing the line
  • https://github.com/processing/processing/pull/3907
  • [ contribution manager ]:
  • Contributions filter ignored after clicking Install
  • https://github.com/processing/processing/issues/3826
  • https://github.com/processing/processing/pull/3872
  • https://github.com/processing/processing/pull/3883
  • Exception in thread "Contribution List Downloader"
  • https://github.com/processing/processing/issues/3882
  • https://github.com/processing/processing/pull/3884
  • Grab bag of Contribution Manager fixes
  • https://github.com/processing/processing/issues/3895
  • https://github.com/processing/processing/pull/3897
  • ArrayIndexOutOfBoundsException freak out when clicking the header line
  • [ plumbing ]:
  • Fix nasty file counting problem in the change detector
  • https://github.com/processing/processing/pull/3917
  • https://github.com/processing/processing/issues/3898
  • https://github.com/processing/processing/issues/3387
  • Clean up delete dir function
  • https://github.com/processing/processing/pull/3910
  • Don't follow symlinks when deleting directories
  • https://github.com/processing/processing/pull/3916

New in Processing 3.0 Beta 7 (Sep 23, 2015)

  • [ changes and additions ]:
  • Changed the Tool API to pass Base instead of Editor https://github.com/processing/processing/wiki/Tool-Basics
  • [ error checking and auto-completion fixes ]:
  • Huge rewrite of auto-complete and error checking code
  • https://github.com/processing/processing/issues/3812
  • https://github.com/processing/processing/pull/3845
  • https://github.com/processing/processing/pull/3856
  • Make preprocessor scope-aware
  • https://github.com/processing/processing/issues/3799
  • https://github.com/processing/processing/pull/3810
  • Red error underline is sometimes at wrong location
  • https://github.com/processing/processing/issues/3759
  • https://github.com/processing/processing/pull/3848
  • Using "new color()" instead of "color()" results in "color type detected"
  • https://github.com/processing/processing/issues/3739
  • https://github.com/processing/processing/pull/3850
  • Code editor wrongly detects errors for libraries in code folder
  • https://github.com/processing/processing/issues/3732
  • [ watcher bug fixes ]:
  • "Your sketch has been modified externally" with encrypted OS X volumes
  • https://github.com/processing/processing/issues/3650
  • sketch modified externally with FAT32 volumes on OS X
  • https://github.com/processing/processing/issues/3387
  • Prevent re-prompting users when they say "no" to "sketch modified" message
  • Add more preferences for editor.watcher to help with debugging
  • Cleaning up the logic in the watcher
  • [ contribution manager fixes ]:
  • Contributions Manager UI design
  • https://github.com/processing/processing/issues/3482
  • CM selected tabs are too tall
  • https://github.com/processing/processing/issues/3598
  • CM: Clicking item in Libraries list throws exception
  • https://github.com/processing/processing/issues/3667
  • CM: Libraries missing descriptions and Foundation credit
  • https://github.com/processing/processing/issues/3688
  • Clean up the header for the scrolling lists
  • Use real version of bold font, rather than the fake version,
  • in several locations.
  • Remove the "v" from the version numbers in the updates tab
  • Set the frame title
  • Remove tooltip that repeats the contents of the tab labels
  • Fix spacing of buttons relative to the scroll bar
  • https://github.com/processing/processing/issues/3643
  • Updates tab has ugly horizontal line at top
  • Get rid of fake italic subheads on the Updates page
  • Remove extra component borders and focus quirks
  • Don't focus the window on the search box on opening
  • Prevent "updating" to a still-incompatible version of a contrib
  • https://github.com/processing/processing/issues/3801
  • https://github.com/processing/processing/pull/3805
  • Tools are getting redundantly added when installing new Tool
  • https://github.com/processing/processing/issues/3818
  • https://github.com/processing/processing/pull/3820
  • After clicking 'install' it's still possible to click it again
  • https://github.com/processing/processing/issues/3806
  • https://github.com/processing/processing/pull/3817
  • CM list should be sortable by status and author name
  • https://github.com/processing/processing/issues/3608
  • "Update All" button appears to do nothing in library manager
  • https://github.com/processing/processing/issues/3837
  • https://github.com/processing/processing/pull/3842
  • [ miscellaneous bug fixes ]:
  • JNA errors on startup when run from an account w/ non-ASCII characters
  • https://github.com/processing/processing/issues/3624
  • UnsatisfiedLinkError on startup "Access is denied" on Windows 10
  • https://github.com/processing/processing/issues/3800
  • SVG not highlighting as a keyword
  • https://github.com/processing/processing/issues/3752
  • Implement retina (2x) versions of all Contribution Manager icons
  • https://github.com/processing/processing/issues/3478
  • Show hover text when the mouse is over the 'debug' button
  • Update rollover label for buttons when pressing shift or alt
  • Replace the coffee cup icon for the Welcome window
  • ctrl-space first inserts space, then deletes it, with completion
  • https://github.com/processing/processing/issues/3847
  • Fix the bold text in the welcome window to not use fake bold
  • [ we still care about graphics, too ]:
  • FX2D display is inverted in 3.0b6
  • https://github.com/processing/processing/issues/3795
  • surface.setLocation(x,y) not working with the default renderer
  • https://github.com/processing/processing/issues/3821
  • Make the PApplet regex cache LRU
  • https://github.com/processing/processing/pull/3815
  • Minor OpenGL improvements
  • https://github.com/processing/processing/pull/3849
  • Cannot re-enable stroke or fill of a PShape with P2D
  • https://github.com/processing/processing/issues/3808
  • setResizable() with OpenGL broke in 3.0b6
  • https://github.com/processing/processing/issues/3825
  • https://github.com/processing/processing/commit/42c0150da0f400637de916db1f94a687a7bc4288
  • surface.setLocation() with OpenGL causing a freeze on Windows
  • https://github.com/processing/processing/commit/4c0f9234c0a48f62363233cafc9c9951ee351d3e
  • selectInput/Output() is behind the drawing window (Windows)
  • https://github.com/processing/processing/issues/3775
  • MouseWheel count wrong (backwards) in P2D and P3D
  • https://github.com/processing/processing/issues/3840

New in Processing 3.0 Beta 6 (Sep 13, 2015)

  • [ bug fixes and improvements ]:
  • Deal with ConcurrentModificationException in Editor "Error repainting line range" and ConcurrentModificationException https://github.com/processing/processing/issues/3726
  • Major surgery performed to drastically reduce the memory footprint and startup time for individual editor windows.
  • Remove old versions of processing-java when installing on OS X https://github.com/processing/processing/issues/3786
  • Confusion when // tweak was used accidentally, changed to /// tweak https://github.com/processing/processing/issues/3742
  • Don't allow breakpoints to be set on blank lines https://github.com/processing/processing/issues/3765
  • Fixed a couple hard crashes back in alpha 10: EXC_BAD_ACCESS inside AppleIntelHD5000GraphicsGLDriver when starting 3.0a8+ https://github.com/processing/processing/issues/3359 Hard crash on startup inside strlen call when using 3.0a8+ on OS X https://github.com/processing/processing/issues/3360 Though the workaround re-introduces issues that had been fixed earlier: https://github.com/processing/processing/issues/3790
  • Add the Contents/Java folder to java.library.path on OS X to fix exported applications that use native libraries (i.e. Sound)
  • Add surface.setAlwaysOnTop(boolean) https://github.com/processing/processing/issues/3718
  • Implement standard cursor types in OpenGL https://github.com/processing/processing/issues/3554
  • Change value of constants PRIMITIVE, PATH, and GEOMETRY constants in PShape This avoids a collision with entries in PConstants which causes confusing errors or no errors to be thrown at all https://github.com/processing/processing/issues/3776
  • Fix flickering cursor regression with Java2D on Windows introduced by https://github.com/processing/processing/issues/3472
  • [ Jakub won't be here forever, but his contributions are eternal ]:
  • Error/warning location visualisation not updating when editor resizes https://github.com/processing/processing/issues/3619 https://github.com/processing/processing/pull/3778
  • "unexpected token" on anonymous instance of parameterized Comparator https://github.com/processing/processing/issues/533 https://github.com/processing/processing/pull/3780
  • Incomplete text rendering of strings with consecutive line breaks https://github.com/processing/processing/issues/3736 https://github.com/processing/processing/pull/3737 https://github.com/processing/processing/issues/3761
  • FX - fix transformation stack NPE https://github.com/processing/processing/pull/3710
  • FX - fix rad-deg conversion in rotate() https://github.com/processing/processing/pull/3711
  • FX - basic pixel operations (get, set, load, update) https://github.com/processing/processing/pull/3709
  • FX - align to pixel grid when drawing 1 px strokes https://github.com/processing/processing/pull/3712
  • FX - keyChar and keyCode are super wonky and unlike AWT https://github.com/processing/processing/issues/3290
  • FX - arc - infamous deg-rad conversion strikes again https://github.com/processing/processing/pull/3713
  • FX - paths, contours, curves https://github.com/processing/processing/pull/3715
  • FX - fix AIOOBE when pressing ESC on Mac https://github.com/processing/processing/pull/3719
  • FX - framerate fix https://github.com/processing/processing/pull/3724
  • FX - loadPixels, updatePixels, get and set optimizations https://github.com/processing/processing/pull/3725
  • FX - keep track of whether pixels are up to date https://github.com/processing/processing/pull/3716
  • FX - improve key events https://github.com/processing/processing/pull/3729
  • FX - add FX2D keyword, remove JFX keyword https://github.com/processing/processing/pull/3731
  • X JOGL - normalize enter key https://github.com/processing/processing/pull/3735
  • FX - normalize enter key https://github.com/processing/processing/pull/3730
  • Render text starting with space properly https://github.com/processing/processing/pull/3746
  • FX - smooth for the main surface https://github.com/processing/processing/pull/3749
  • OpenGL - clean up loaded and modified for pixels https://github.com/processing/processing/pull/3768
  • FX - text stuff, move createFont() into PGraphics https://github.com/processing/processing/pull/3766
  • FX - fix bug where fonts would share a tint cache https://github.com/processing/processing/pull/3771
  • textFont() and textSize() are each calling one another
  • move createFont() to PGraphics
  • Fix PShape creation in P3D https://github.com/processing/processing/pull/3781
  • keyTyped() not firing with P2D and P3D https://github.com/processing/processing/issues/3582 https://github.com/processing/processing/pull/3652
  • Implement a way to disable automatic key repeat implemented for OpenGL, where key repeat is now disabled by default hint(ENABLE_KEY_REPEAT) will turn it back on https://github.com/processing/processing/issues/1622
  • With the P2D and P3D renderers, a generic set of cursors are used because the OpenGL renderer doesn't have access to the default cursor images for each platform. https://github.com/processing/processing/issues/3791
  • [ Manindra re-emerges ]:
  • Code auto-complete not working with imported libraries https://github.com/processing/processing/issues/3720
  • [ Google Summer of Contribution Manager ]:
  • CM: Category dropdown alignment https://github.com/processing/processing/issues/3644 https://github.com/processing/processing/pull/3666 https://github.com/processing/processing/pull/3669
  • finalize CM tab order https://github.com/processing/processing/issues/3613 https://github.com/processing/processing/pull/3714
  • Several of those below were in beta 5...
  • CM - Focus is shifted out of the filter field when something is searched https://github.com/processing/processing/issues/3682 https://github.com/processing/processing/pull/3701
  • CM - info panel text color https://github.com/processing/processing/issues/3642 https://github.com/processing/processing/pull/3695 https://github.com/processing/processing/pull/3696
  • CM - Filter field display https://github.com/processing/processing/issues/3689 https://github.com/processing/processing/pull/3698
  • Update buttom enabled when updates are present and background is set https://github.com/processing/processing/issues/3614 https://github.com/processing/processing/pull/3694
  • Fix info panel text color and alignment in CM https://github.com/processing/processing/issues/3642 https://github.com/processing/processing/pull/3684
  • Ready to add contributed example packages? https://github.com/processing/processing/issues/2953
  • [ Dr. Colubri, I presume? ]:
  • P2D: error calling surface.setTitle() https://github.com/processing/processing/issues/3721 https://github.com/processing/processing/commit/a384cbf0890a49dbf6e0fdd80e048de80e5d78d2
  • Error message with noLoop() and P2D renderer https://github.com/processing/processing/issues/3558
  • Concurrency issues in OpenGL renderer prevent proper garbage collection https://github.com/processing/processing/issues/3384
  • In P2D/P3D the background is cleared to black on each frame https://github.com/processing/processing/issues/3559
  • cursor() command with PImage stopped working in 3.0 with P2D https://github.com/processing/processing/issues/3769
  • Demos/Graphics/Wiggling regressed from 17 fps to 8.3 fps between a11 and b1 https://github.com/processing/processing/issues/3561
  • "Library not installed properly" message inconsistent in P2D/P3D vs. JAVA2D https://github.com/processing/processing/issues/3453
  • PShape 3D: strange extra lines (another fix) https://github.com/processing/processing/issues/3006
  • Line direction vectors are incorrectly transformed https://github.com/processing/processing/issues/3779
  • Strokes in 3D PShapes are not properly connected https://github.com/processing/processing/issues/3756
  • Setting surface properties hangs OpenGL sketches https://github.com/processing/processing/issues/3789

New in Processing 3.0 Beta 5 (Aug 24, 2015)

  • Changes:
  • Removed support for fixed-function pipeline in OpenGL.
  • Remove legacy GL functions from PGL
  • Update LowLevelGL to use VBOs
  • Bug fixes:
  • Line selected for errors is off by one or two
  • NullPointerException in selectFolder() on OS X
  • Wrong positioning of circles in SVG shapes (regression from 2)
  • setFill() on PShape in Java2D throws ArrayIndexOutOfBoundsException
  • saveJSONObject() doesn't close the file
  • processing-java fixed for OS X 10.11 El Capitan
  • Prevent a prompt to install Xcode coming up on Export to Application
  • Live error checker complains about F instead of f after floats
  • NoClassDefError with CLibrary and getenv when switching to Android Mode
  • Foundation $$ = bug fixe$ + improvement$:
  • keyTyped() not firing with P2D and P3D
  • rect() sizing in JavaFX
  • FX - Proper sketch sizing
  • FX - implement frameRate()
  • FX - Fix key typed
  • FX - Make key events little bit more sane
  • "Internal graphics not initialized yet"
  • NullPointerException in Demos > Graphics > Planets
  • PDE window leaks undisposed Timer objects even when closed
  • Contributed fixes:
  • Undo does not move to the correct location in the editor window
  • Undo sometimes causes the editor to go blank
  • Miscellaneous language improvements
  • Google summer of code:
  • Foundation libraries disapear from CM after restart
  • CM blue bar missing
  • CM column widths change with selection
  • Remove category dropdown from CM except when viewing libraries
  • Right-clicking popup menu closes instead of shifting its location
  • Use 1x or 2x icons in the CM
  • Shifted the text right a little bit
  • No underline and no blue color
  • Make auto-format into a compund edit
  • Focus is shifted out of the filter field after CM search

New in Processing 3.0 Beta 4 (Aug 17, 2015)

  • Bug fixes:
  • Fix NullPointerException with some sketches that have no size() command
  • Fix reports of invalid OS X code signature on some machines
  • Canceling "create folder, move sketch, and continue?" will cause crash
  • Move Platform into its own class, also Messages and others
  • dataPath() not working when app is not run from app dir on Linux
  • "Zero length string passed to TextLayout constructor" message
  • improve speed of text(x, y, w, h) when using large strings with no spaces
  • filter(PShader) was broken in HDPI mode
  • Ctrl+R (Cmd+R) not restarting sketch when debug is enabled. Hitting Run while a sketch is running should restart the sketch.
  • Api/implementation changes:
  • Several platform-oriented features have moved to Platform i.e. Platform.isWindows(), Platform.openURL(), Platform.getJavaPath()
  • Base.showXxxx() and Base.log() have moved to Messages.showXxxx()
  • Make fields and functions in PdeKeywords protected
  • Added "EditorException", which is thrown when loading bad sketches
  • Pass command line arguments to sketches with processing-java
  • Implement add(x, y) and sub(x, y) in PVector
  • Add method to JavaMode for search path
  • Google summer of code:
  • Second round of arm patches (v5)
  • Third bunch of arm patches
  • Contribution Manager GUI updates
  • Sorting CM by the author name inplemented
  • CM needs minimum window size enforced
  • Deactivate install button when incompatible
  • CM "Updates" badge appears even when there are no updates
  • Ignore accented characters when filtering in the CM
  • Enable arrow keys for navigating lists in the CM
  • CM filter input glitchy
  • Set font correctly in Contribution Manager dialog
  • Fixed earlier, spring cleaning:
  • Closing the color selector makes things freeze (only Linux and Windows?)
  • Comment/Uncomment should ignore leading whitespace
  • Export unsaved sketch > agree to save prompt > export doesn't finish
  • Add disconnectEvent() to Server
  • False positive for mixing active/static mode in Tweak Mode 3.0 alpha 5
  • Determine shortcut for Export vs Use Selection for Find
  • PDE erroneously detects changes in non-sketch files
  • Proper handling of sketchPath() for OS X in exported apps
  • textWidth() incorrect with default (JAVA2D) renderer and default font
  • Error on size() when using FX2D due to stage inset issues
  • Your contributions are funding graphics fixes:
  • Remove alpha filler (hopefully no regression here)
  • Huge Java2D blending patch
  • Accuracy problems make alpha channel go to FE with image.copy()
  • Fix blue-channel bias on blend()
  • Improve blend() accuracy when using ADD
  • Upgrade OpenGL (remove support for fixed-function pipeline)
  • Improve OpenGL extensions checks on OS X

New in Processing 3.0 Beta 3 (Aug 12, 2015)

  • Bug fixes & changes:
  • Prevent 'examples' from showing as a folder in the sketchbook window (instead only show it in the Examples window)
  • Don't show breakpoints when debugger is off https://github.com/processing/processing/issues/3093
  • No setting breakpoints when debugger is off https://github.com/processing/processing/issues/3306
  • Foundation library examples should appear under "Core" or "Foundation" https://github.com/processing/processing/issues/3524
  • Use ctrl-pageup/down on Linux for prev/next tab https://github.com/processing/processing/issues/3416
  • Library names not showing up correctly ("pdf" instead of "PDF Export") https://github.com/processing/processing/issues/3574
  • Contributed Examples were using their folder name, not the 'name' field from their properties file when shown in the Examples window.
  • Include name of sketch when asking user "Save sketch before closing?" Did i18n changes for OS X and other platforms, though some languages will need additional updates to be compatible. https://github.com/processing/processing/issues/3418
  • Modify naming of contributed examples https://github.com/processing/processing/issues/3573
  • Show a warning when map() prints a bad value https://github.com/processing/processing/issues/3314
  • Implement a nf(float) function to support the changes in map()
  • Breakpoints don't 'jump' after hitting Enter on blank line https://github.com/processing/processing/issues/3552 https://github.com/processing/processing/pull/3571
  • Implement focusGained(), focusLost(), and 'focused' variable in P2D/P3D https://github.com/processing/processing/issues/3564
  • IndexOutOfBoundsException with pixelDensity(2) and P2D https://github.com/processing/processing/issues/3568
  • Shaders output to bottom left corner rather than full window in 3.0b2 https://github.com/processing/processing/issues/3572

New in Processing 3.0 Beta 2 (Aug 10, 2015)

  • BUG FIXES:
  • "Add Library..." fails with "Could not write to temporary directory"
  • Make size(displayWidth, displayHeight) still run in a window.
  • Fixes "fullScreen() cannot be used here" message on startup.
  • In the past we were auto-detecting if it was the screen size, and switching to full screen mode. But that's now removed because fullScreen() is so easy, and full screen may not be wanted.
  • Cannot find "processing.core" library. Line 12 in tab sketch_150704a" also happens with "import to com.jogamp.opengl.GL2" Code still ran properly, but looked like errors in the editor.
  • Remove "pair is" debug messages from Welcome screen
  • Save Export to Application settings between uses
  • Fix NullPointerException in setVertex()
  • Toggling between noLights and PointLight in draw() behaving strangely
  • NullPointerException in Planets demo
  • Late breaking fix to repair Tweak mode
  • CHANGES AND IMPROVEMENTS:
  • Show contributed examples in the Examples window
  • Initialize the Find dialog with the current selection
  • Disable Export button when no platforms selected. In previous releases,
  • Prevent Export with examples and untitled/unsaved sketches
  • Links in error bar are not selectable nor clickable
  • DEVELOPMENT FIXES:
  • Building: make the download-jdk-macosx target work properly
  • Throw an error when using methods that require sketchPath outside setup()
  • Cleaned up the advanced OpenGL wiki page cursor(CROSS) breaks when using surface.setTitle()
  • FIXED:
  • blend() and copy() are not pixel accurate for copy/scale

New in Processing 3.0 Beta 1 (Aug 7, 2015)

  • Bug fixes:
  • The new Welcome screen! was... completely broken
  • StringIndexOutOfBoundsException while preprocessing
  • Run/Stop/Debug buttons do not fire if the mouse moves during the click
  • Some contributions were listed multiple times
  • Do not filter Ctrl+Alt+? out as menu mnemonics
  • Fix delete tab shortcut in toolbar popup
  • Deleted tab still present in tab menu
  • Make PFont.size protected again
  • Tweak implementation of PVector.heading()
  • Fix problem with JAR loading inside createInputRaw()
  • Changes:
  • Add new console/errors icons to the tabs in the footer
  • Get images working in the Welcome screen
  • Add getSurface() method ('surface' is protected in PApplet)
  • Remove 'contrib updates available' dialog box for now. A new version is coming soon that will be better-integrated with the editor.
  • Internal changes you'll probably never notice:
  • Add message that says it's safe to ignore the tools.jar warning
  • Add "git pull" on processing-docs for "dist" target
  • Update to launch4j 3.8
  • Contributions from the community:
  • Fix contribution compatibility check
  • Update Spanish translation
  • Fix bug with tab sorting when adding new tabs
  • CM updates dialog box doesn't open CM
  • Adding CM ellipses only when text is long
  • Include mode imports when rewriting .properties file
  • Assortment of patches from gohai's arm-3.0 branch
  • Implement depth sorting! Use hint(ENABLE_DEPTH_SORT) and say goobye to your 3D transparency woes!
  • Remove size() from setup() when copying to settings()
  • Remove mode parameters from createShape(), fixes parameter collision issues
  • Radius for rect not working on PShape
  • Bug in arc with createShape()
  • OpenGL sketch flickers when draw() is missing or empty
  • size() errors
  • rect() with stroke outline renders 1px wider and taller in P2D behavior is correct, explanation provided
  • setVertex() not working in P3D and P2D
  • Add hint(ENABLE_BUFFER_READING) to handle stencil/depth buffers
  • ArrayIndexOutOfBoundsException error when enabling depth sorting in P3D
  • Fix curves - properly this time
  • Remove duplicate curve vertex
  • JOGL window size is now set properly
  • Device parsing on Linux is incorrect, causing "display 1 doesn't exist" msg
  • Flush geometry when lighting changes, otherwise lights apply to entire scene

New in Processing 3.0 Alpha 11 (Jul 17, 2015)

  • [ new additions ]:
  • You'll be greeted by a Welcome screen. We haven't finished the text for one of these yet, so you'll see some lorem ipsum (fake) text instead. We'll wrap that up before the beta release. https://github.com/processing/processing/issues/3358
  • [ breaking all of the things ]:
  • For Tool and Mode authors, you'll need to make some (small) changes. These aren't structural, but will require a rebuild of your code. Our hope is that this will be the last round of changes for the 3.x series, and that it's now safe to update your Modes and Tools to be compatible with the final 3.x release. Changes in this release: - Several classes have been moved to a new processing.app.ui package. The processing.app package was much too unwieldy and made it difficult for people to hack on the PDE code. - Several functions have moved out of Base and into Util (or Toolkit). Most of these are file-related (removeDir() and others), but the Base class had simply grown to a ridiculous size. It remains enormous but is a little less ridiculous.
  • Removed the init() method from PApplet; it's no longer needed
  • [ fixing all of the things ]:
  • Show warning when display spanning is turned off with fullScreen(SPAN) https://github.com/processing/processing/issues/3381
  • Add note about headless exceptions that points to Github
  • Resize children[] so that getChildren() returns a correctly-sized array https://github.com/processing/processing/issues/3347
  • clear() was broken (maybe related to #3317) https://github.com/processing/processing/issues/3378
  • PGraphic ignores PNG transparency (regression from 3.0a5, same as #3378) https://github.com/processing/processing/issues/3317
  • Move error messages out of PConstants
  • Remove launch(String) since it was calling itself, and anachronistic
  • Sketches with new fullScreen() method should grab focus by default https://github.com/processing/processing/issues/3380
  • Sketches not getting focus with Java2D https://github.com/processing/processing/issues/3389
  • draw() executes twice when noLoop() called in setup() https://github.com/processing/processing/issues/3310
  • displayDensity() not functioning properly https://github.com/processing/processing/issues/3436
  • surface.setXxx() handling https://github.com/processing/processing/issues/3388 Methods for setResizable(), setVisible(), setTitle(), setIconImage()
  • Add the "don't use this" warning to the JFrame in PSurfaceAWT
  • ArithmeticException: / by zero when using fonts opened with loadFont() https://github.com/processing/processing/issues/3413
  • SVG briefly broken for Java2D https://github.com/processing/processing/issues/3417
  • Change how font metrics are pulled to fix text width issues
  • Check alpha when image extension is "unknown" https://github.com/processing/processing/issues/3442
  • Add support for more Image types (BGR) with PImage(java.awt.Image)
  • Move Java2D and JavaFX classes to their own packages
  • [ multithreading is hard ]:
  • Sketch not always showing with empty draw() https://github.com/processing/processing/issues/3363
  • Static mode broken with Java2D on Windows and Linux https://github.com/processing/processing/issues/3315
  • Sketch sometimes doesn't show with noLoop() on Linux https://github.com/processing/processing/issues/3316
  • Window never shows with exported application on 64-bit Linux https://github.com/processing/processing/issues/3303
  • Fix presentation mode
  • Re-enable the display menu in Preferences after display added Previously, the checkbox menu stayed disabled (though it updated the list)
  • sketch.isReadOnly returns false for examples coming from multiple modes https://github.com/processing/processing/issues/773
  • Drag and Drop & "Add File" broken for .pde files in 3.0a10 https://github.com/processing/processing/issues/3383
  • Show "not compatible" error message in the manager https://github.com/processing/processing/issues/3386
  • Add more code for handling low-level errors on startup
  • Update the "Supported Platforms" wiki page with current status
  • displayDensity() not functioning properly https://github.com/processing/processing/issues/3436
  • Error message caused by curly bracket in a println string https://github.com/processing/processing/issues/3394
  • Tweak mode broken (re: new settings() function) https://github.com/processing/processing/issues/3435
  • Add build.xml prompt for OS X developers to download the JDK update
  • [ contribution manager ]:
  • Change the .properties file syntax a little bit: compatibleModesList -> modes authorList -> authors category -> categories
  • Send list of installed Libraries, Modes, Tools, and Examples on update https://github.com/processing/processing/issues/3365
  • Disable contrib manager updates when "check for updates" is turned off in Preferences. Also updated the FAQ to cover the changes.
  • [ pull requests, summer of code, and other community help ]:
  • Use correct localized strings in JavaEditor.java https://github.com/processing/processing/pull/3376
  • Dim edit menus as appropriate during selection/no selection/etc https://github.com/processing/processing/issues/53 https://github.com/processing/processing/pull/3419
  • Internationalize MovieMaker.java https://github.com/processing/processing/pull/3424
  • Auto-completion does not seem to be working https://github.com/processing/processing/issues/3111
  • Re-enable export to application with command line https://github.com/processing/processing/pull/3451 https://github.com/processing/processing/issues/2760
  • Change undefined constructor error message for clarity https://github.com/processing/processing/issues/3434
  • Mode problems window wasn't doing line breaks https://github.com/processing/processing/issues/3369 https://github.com/processing/processing/pull/3370
  • Add missing internationalization in app/Sketch.java https://github.com/processing/processing/pull/3392
  • Examples window shows contributed examples https://github.com/processing/processing/pull/3421 https://github.com/processing/processing/pull/3421
  • Reworking the Contribution Manager according to Scott's redesign https://github.com/processing/processing/pull/3423
  • Finish adding 'examples' contribs https://github.com/processing/processing/issues/2953
  • Error during installation of any contribution https://github.com/processing/processing/issues/3429 https://github.com/processing/processing/pull/3438
  • Significant work by Akarshit for Google Summer of Code https://github.com/processing/processing/pull/3432 https://github.com/processing/processing/pull/3452 https://github.com/processing/processing/pull/3444 https://github.com/processing/processing/pull/3454 https://github.com/processing/processing/pull/3465 https://github.com/processing/processing/pull/3468 https://github.com/processing/processing/issues/3443
  • Fix NullPointerException in DepthSorter https://github.com/processing/processing/pull/3410
  • [ retina/hidpi fixes ]:
  • Make g.pixelDensity public inside PApplet (so accessible by sketches)
  • Add pixelWidth/Height to PApplet
  • Text looks blurry in GL Retina https://github.com/processing/processing/issues/2739
  • Text not getting the correct font in Retina2D https://github.com/processing/processing/issues/2617
  • Text is half size in PGraphicsRetina2D https://github.com/processing/processing/issues/2738
  • [ andres loves opengl ]:
  • Add attrib() method https://github.com/processing/processing/issues/2963
  • The ortho() function seems broken https://github.com/processing/processing/issues/1278
  • Errors with loading SVGs in P3D/P2D https://github.com/processing/processing/issues/3379
  • Sketch window briefly appears on top left corner when using OpenGL https://github.com/processing/processing/issues/3308
  • beginShape(POINTS) don't show up in P2D https://github.com/processing/processing/issues/3029
  • [ fixed earlier ]:
  • Sketch window is not placed at correct location when running a second time https://github.com/processing/processing/issues/3125
  • Full screen needs to ignore prev location setting for frame? https://github.com/processing/processing/issues/3305
  • save() and saveFrame() with 2X renderers fails https://github.com/processing/processing/issues/3255
  • NPE when using image() created with createGraphics(PGraphicsRetina2D) https://github.com/processing/processing/issues/2510
  • Closing OpenGL sketch from the PDE doesn't stop java.exe process https://github.com/processing/processing/issues/2335

New in Processing 3.0 Alpha 10 (Jun 23, 2015)

  • BREAKING THINGS FOR THE FUTURE:
  • Added fullScreen() method to make it far easier to run sketches using the full screen.
  • smooth() and noSmooth() can only be used once per sketch, in setup().
  • Re-opened the Gates of Hell by adding chaining operations to PVector
  • Changed exec() and open() to use varargs. Changed open() to launch() to prevent problems with Python Mode.
  • Replaced --full-screen command line option with --present to untangle full screen versus the "Present" command that places blanks the rest of the screen around a sketch.
  • ortho() function is being reworked to make it compliant
  • OTHER CHANGES AND ADDITIONS:
  • Added new application and export icons. Mmm!
  • Add retina/high-res display support to OpenGL
  • Add pixelDensity(2) command to enable retina or high-dpi mode for your sketch. Make things look beautiful and crisp on expensive hardware!
  • Added displayDensity() methods to get the pixel density for individual displays. displayDensity() returns the density (1 or 2) of the default (or currently selected) display, displayDensity(1) returns the density of display 1. Guess how you get the density of display 2?
  • Add useful constructors to the Int/Float/StringList classes
  • BUG FIXES:
  • Fix monitor numbering problems
  • Full screen doesn't work on second window w/o present mode
  • Full screen on OS X 10.9 has incorrect placement
  • "Run sketches on display" not working properly
  • Comments influencing code (preproc issues in parsing)
  • Sketch not appearing depending on arangement of external display on OS X
  • Sketch launching on second display that's not currently in use
  • strokeWeight() in setup() not working for default renderer
  • Retain original java.awt.Frame when it's available from PSurfaceAWT
  • Set frame icon images for Java2D (dock and cmd-tab)
  • Debug message showing up in 3.0a9 when dragging and dropping files
  • Rolled back to 3.0a5 version of appbundler due to crash on startup
  • ANDRES VS OPENGL, EPISODE ELEVENTY THREE:
  • set(0, 0, image) does not set alpha channel to opaque in P2D/P3D
  • GROUP shapes are broken in 3.0a9
  • Only a quarter of the sketch is appearing in 2x mode
  • Single transparent pixel at end of textures in OpenGL
  • Implement setImpl() instead of set() inside PGraphicsOpenGL
  • Strange extra lines with PShape 3D
  • BACKSPACE key is identified as DELETE in OpenGL renderers
  • More key issues in OpenGL
  • Set icon for OpenGL windows
  • save() and saveFrame() with OPENGL renderer fails
  • Errors in glsl code are only caught when set() is used
  • Strips when rendering spheres with lights and anti-aliasing
  • VALUABLE CONTRIBUTIONS FROM THE COMMUNITY:
  • Several Greek translation updates
  • Add i18n for Archiver Tool and missing text
  • Fix case-related bugs in Toolkit.setMenuMnemonics()
  • Contribution manager scroll bar only shows up when needed
  • Progress bar added to Contribution Manager

New in Processing 3.0 Alpha 9 (May 21, 2015)

  • [ changes ]:
  • Implement more of the bottom half of the editor window GUI
  • Show screen dimensions in the Preferences window for display selector
  • Change how the variables/debug window works. Automatically show the window when debugging, hide when not. https://github.com/processing/processing/issues/3298 https://github.com/processing/processing/issues/3091
  • Enabling and disabling the debugger toggles the Step/Continue buttons in the toolbar
  • Remove techie options from the Debug menu https://github.com/processing/processing/issues/3267
  • Add more visual states to the toolbar buttons
  • Lots of internal cleaning
  • [ bug fixes ]:
  • Implement Cmd-Q handler on Mac OS X to shut down sketches properly https://github.com/processing/processing/issues/3301
  • Changing "background color when Presenting" causes Exception https://github.com/processing/processing/issues/3299
  • displayWidth and displayHeight not set properly on startup https://github.com/processing/processing/issues/3295
  • [ andres vs. opengl, episode 7 ]:
  • Offscreen rendering broken in OpenGL renderers https://github.com/processing/processing/issues/3292 https://github.com/processing/processing/issues/3259
  • Initial location of OpenGL window hides the title bar https://github.com/processing/processing/issues/2981
  • OpenGL sketches do not terminate, have to be killed https://github.com/processing/processing/issues/2982
  • Quitting P3D sketch throws an error https://github.com/processing/processing/issues/3293

New in Processing 3.0 Alpha 8 (May 18, 2015)

  • Fixes:
  • size() sometimes erratic (i.e default size used) This was often seen with large setup() functions, or on more esoteric platforms. https://github.com/processing/processing/issues/1672
  • Command line "processing-java" was broken https://github.com/processing/processing/issues/3224
  • Sketchbook window requires restart of Processing before updating after sketchbook location change. https://github.com/processing/processing/issues/3214
  • Replace & Find was reading "Find & Replace" https://github.com/processing/processing/issues/3247
  • "One file added to sketch" message when two files added
  • pop() was not implemented correctly in String/Int/FloatList
  • Errors in file name case differences not correctly reported https://github.com/processing/processing/issues/3235
  • Single Frame (no screen display) PDF broken https://github.com/processing/processing/issues/3280
  • "Buffers have not been created" error for sketches w/o draw() https://github.com/processing/processing/issues/2469
  • Changes:
  • Behind the scenes, the size() method is now moved out of setup() and into a method named settings(). The settings() is called before setup() and is the only place where size() can be used. If using
  • Processing without the PDE (i.e. with another IDE like Eclipse), remove the size() method from setup() and instead place it like so:
  • public void settings() {
  • size(400, 400, P3D); // your size() command here
  • The rest of your code remains unchanged. The PDE does this transparently, so 99% of people won't even notice this change. However, it allows us to fix (and avoid) a lot of really nasty complications that come from how Processing lets you switch between 2D drawing and OpenGL and even something like PDF with simple changes to the size() method.
  • We're trying "settings()" as the method name, but that may change in a future alpha release. Once we hit beta, it will not change.
  • For those familiar with them, the sketchWidth(), sketchHeight(), sketchRenderer(), etc methods should no longer be used. This new implementation of the settings() method is a simpler solution.
  • Added SVG Export library (works like PDF Export). This has not been tested heavily yet.
  • Replace Tweak Mode ColorSelector with JComponent version https://github.com/processing/processing/issues/3209
  • Fairly major rewrite of createShape(), shouldn't affect anything, but keep an eye out for regressions.
  • Add new String/Int/FloatDict constructors that take an array for useful static/ initialization
  • Move svgz handling to PApplet, remove objz handling
  • Implement blendMode in FX2D https://github.com/processing/processing/issues/3275
  • Added StringList(Object...) constructor to handle a grab bag of objects
  • Added appendUnique() to Int/Float/StringList to only add unique items to a list. Replaces the following code, making "set" operations easier: if (!theList.hasValue(value)) {thiList.append(value);}
  • Inside main(), don't set 'args' to a zero-length array if no args were passed in, instead leave 'args' null.
  • Debugger:
  • Debugger "String is null" error when hitting breakpoint https://github.com/processing/processing/issues/3265
  • Change "method" to "function" in a few error messages https://github.com/processing/processing/issues/3225
  • Error message for incorrect function arguments is wonky https://github.com/processing/processing/issues/3268
  • String concatenation mistakes produce odd error messages https://github.com/processing/processing/issues/3253
  • Contributed fixes:
  • Window size not passing into Tweak Mode
  • https://github.com/processing/processing/issues/3208
  • https://github.com/processing/processing/pull/3227
  • Keep the tab menu at the right-hand side https://github.com/processing/processing/pull/3236
  • "Your sketch has been modified externally..." appears erroneously https://github.com/processing/processing/issues/3222
  • Prevent breakpoints from causing a reload prompt https://github.com/processing/processing/pull/3263
  • Added buffer to file detection time https://github.com/processing/processing/pull/3262
  • Akarshit contributions:
  • Preferences window fixes for Linux
  • https://github.com/processing/processing/pull/3232
  • https://github.com/processing/processing/issues/3231
  • Clear error message in Contribution Manager after retrying https://github.com/processing/processing/pull/3240
  • https://github.com/processing/processing/issues/3239
  • Add SOCKS proxy support to the PDE
  • https://github.com/processing/processing/issues/2643
  • https://github.com/processing/processing/pull/3260
  • Use system proxy by default
  • https://github.com/processing/processing/issues/1476
  • https://github.com/processing/processing/pull/3251
  • Opengl by andres:
  • Moved back to JOGL instead of LWJGL for OpenGL https://github.com/processing/processing/blob/master/core/README.md
  • OpenGL sketches work only after running a sketch with default renderer https://github.com/processing/processing/issues/3218
  • static mode - no setup() / draw() - broken in OpenGL https://github.com/processing/processing/issues/3163
  • Deal with some performance issues https://github.com/processing/processing/issues/3210
  • Can't run sketches with offscreen PGraphics https://github.com/processing/processing/issues/3259

New in Processing 3.0 Alpha 7 (Apr 27, 2015)

  • Fixes:
  • Fix bug that prevented the Preferences window from opening
  • Install/remove buttons not working in the Library/Mode/Tool Managers
  • Preferences window elements not sized correctly in 3.0a6
  • Fixed Find/Replace layout regressions in 3.0a6
  • Avoid minor memory leak in StringList.pop()

New in Processing 3.0 Alpha 5 (Nov 26, 2014)

  • Changes:
  • Removed the sound library. It's now available as its own library from the Library Manager.
  • Change how languages are loaded, adding a local override.
  • Update to use JRE/JDK 7u72
  • Implement the active() method for Serial and Server
  • Detect CMYK JPEG images and return null
  • Fix XML.getString() with a default when no attrs are present at all. It was causing a NullPointerException; this also fixes getInt(), et al.
  • Fix how dictionary classes return '0' for missing values. Add optional second parameter so that it's possible to avoid the exceptions.
  • Fix how nulls are handled with Table.replace()
  • Add (simple) ODS writer to Table
  • Add addRows(Table) method (more efficient, one resize)
  • Support "header" option with ODS files
  • Show a warning when calling getVertexCount() on GROUP or PRIMITIVE shapes
  • Change code completion preferences a bit. It's still turned off by default, but enable it and help us test!
  • Bug fixes:
  • Remove debug message printed to the console when the control key is pressed, when using the new editor.
  • size(640,360 , P3D) doesn't work properly (strange spacing)
  • Fix the shortcut keybindings in editor tab popup menu
  • Fix for ToolTipManager error
  • Confusing message: The shader doesn't have a uniform called "foo"
  • Exceptions in P3D / P2D not showing up properly
  • Contributed fixes:
  • Cmd + H runs sketch instead of hiding the PDE (OS X)
  • Migrate to unsynchronized data structures
  • Improve contrib manager localization
  • Fix typo in spanish translation
  • Update ECJ, use 1.7 as source and target Java version
  • Fix infinite recursion in sound library
  • Add missing generic type parameters
  • Remove unused Base.builtOnce instance variable
  • Other miscellaneous fixes
  • Moved the language stuff to its own separate folder
  • Some minor UpdateChecker refactorings
  • Minor improvements to the Contribution Manager's updates check
  • Make Cut and Copy in the edit menu active only if some text is selected
  • Fix renaming from RGB to Rgb.java and others
  • Sketches should only write to the console of their editor window
  • Extend translations and update German language
  • NullPointerException message when Server writes to a disconnected client
  • Fix check in loadShader()
  • Refined PShader uniform missing message fixes
  • Use correct parameter types in FloatList methods
  • Pass correct offset to glCopyTexSubImage2D
  • beginShape(POINTS) not working for PShape
  • Multiple blending fixes & improvements
  • Prevent lerpColor from always rounding down
  • Allow mask() with PGraphicsJava2D
  • OpenGL renderers ignore vertex winding in contours
  • NPE when calling Client.ip() after the connection has been closed
  • 'return' keyword not treated as such when followed by a bracket

New in Processing 3.0 Alpha 4 (Sep 13, 2014)

  • Changes:
  • Contributions (Libraries, Modes, Tools) are now read from their own listing that's specific to Processing 3.
  • Made the new editor the default.
  • The OS X default File menu (shown when no windows are open) now has the order/naming changes found in the sketch window File menu.
  • Turning off file watching because of errant "this sketch has changed" messages. Hopefully this will return soon.
  • Turned off code completion by default and reset its preference name.
  • Bug fixes:
  • TGAs from saveFrame() create transparent/black movies with Movie Maker.
  • Fix export problem on Windows when using the new editor.
  • Fix black outline around scaled fonts with the OpenGL renderer.
  • Several fixes to the contributions manager.
  • Internal tweaks:
  • Optimize creation of boxed primitives.
  • Add static modifier to inner classes that don't access parent.
  • Fix localization in OS X (requires writing property files).

New in Processing 3.0 Alpha 3 (Aug 27, 2014)

  • Changes:
  • Removed toolbar buttons except for start/stop. This is part of a larger set of GUI changes for 3.0. At the moment it makes the design really awkward, but we needed to take the step in preparation for the larger changes to come.
  • Fixes and updates:
  • The sound library is now available for 64-bit Windows and Linux. 32-bit versions are still in the works.
  • Don't write sketch.properties unless it's a non-default mode https://github.com/processing/processing/issues/2531
  • Add another NaN check when sorting FloatList/Dict classes. If all values were NaN, an ArrayIndexOutOfBoundsException was thrown.
  • PShape for JAVA2D (in progress) https://github.com/processing/processing/pull/2756
  • Add trim() method to the XML library to remove whitespace #text.
  • Maximizing window leads to erroneous mouse coordinates https://github.com/processing/processing/issues/2562
  • Summer of code:
  • Fixes for mode/tool installation https://github.com/processing/processing/pull/2705
  • Fix mode updating to work properly https://github.com/processing/processing/issues/2579
  • Contribution manager temp folders weren't always deleting https://github.com/processing/processing/issues/2606
  • Problems when deleting a mode https://github.com/processing/processing/issues/2507
  • Autocompletion dialog box sticking https://github.com/processing/processing/issues/2741
  • Line warning indicators next to scrollbar break after moving around text https://github.com/processing/processing/issues/2655
  • Code completion generates wrong code https://github.com/processing/processing/issues/2753
  • Code completion: Hide overloaded methods unless inside parentheses https://github.com/processing/processing/issues/2755
  • Close auto-completion suggestion box when deleting/backspacing code https://github.com/processing/processing/issues/2757
  • Error checking too aggressive in the current alpha https://github.com/processing/processing/issues/2677
  • If 'void' left out before setup or draw, cryptic error message ensues http://code.google.com/p/processing/issues/detail?id=8 https://github.com/processing/processing/issues/47
  • Improve how the Contributions Manager handles no internet connection https://github.com/processing/processing/pull/2800
  • Added examples-package as a new contribution type https://github.com/processing/processing/pull/2795 https://github.com/processing/processing/issues/2444 https://github.com/processing/processing/issues/2582
  • Contributions Managers now show specific titles https://github.com/processing/processing/pull/2777
  • Add rank (starred / recommended) to contributions manager items https://github.com/processing/processing/issues/2580
  • Contributions:
  • Add internationalization (support for other languages)
  • Add localizations (support for individual languages) Japanese, Spanish, Dutch, French, Portugese, Korean, Turkish, Chinese,
  • Add polling to detect file system changes
  • Indent breaks when hitting enter before spaces
  • Localize status messages and contributions panel
  • Prevent adding files to read-only sketches
  • Add thread names for easier debugging and profiling
  • Fix firstLine when modifying lines above it
  • Clean up completion panel styling when using Nimbus LAF
  • Implement support for enums
  • Combining char/int/etc casts in one statement causes preproc trouble
  • Make --output optional in the command line version
  • Fix unneeded scroll bar display in code completion suggestion box
  • Replace Thread with invokeLater in PreferencesFrame
  • Initialize the ColorSelector tool on demand
  • Call applet.exit() instead of System.exit() from Present Mode's 'stop'
  • Drawing RECT PShape with rounded corners crashes the sketch
  • Corrected a typo in Tessellator#addQuadraticVertex()
  • Fix tiny typo in Table writeHTML()
  • Fixed earlier but un-noted:
  • PShape disableStyle() does not work with createShape()
  • Multisampled offscreen PGraphics don't clear the screen properly

New in Processing 3.0 Alpha 2 (Aug 1, 2014)

  • Changes:
  • Added a new sketchbook location, so that you can have separate sketchbooks with 2.0 and 3.0 releases. The downside is that they won't stay in sync, but the upside is that sketches that haven't been updated, or conflicting Libraries, Modes, or Tools won't cause trouble with the other version. The new preference is called sketchbook.location.three (the old preference was sketchbook.location). If you already have a 2.0 sketchbook, that will be used by default with 3.0 until you change it in the Preferences window.
  • Neglected to mention with the previous release that the video library has been removed from the default download. This decreases the size of the Processing download by about 20%. In addition, it was only the video library for the platform being downloaded, and with the return of cross- platform application export, that could cause sadness. To use the video library, use the "Add Library..." menu and select it from the list.
  • Added a new preference for the 3.0 sketchbook location, so that a separate sketchbook (and with it, different Modes, Tools, and Libraries) can be used with Processing 3.0 versus older versions of 2.x.
  • Remove default menu bar hack for OS X
  • Move to native OS X full screen (supported in 10.7 and later) https://github.com/processing/processing/issues/2641 This allows us to remove native code for hiding the menu bar. But it may introduce more quirks, we'll have to test it out.
  • Fixes:
  • The Examples weren't included in 3.0a1.
  • Fix "No such file or directory" error when exporting on Mac OS X. This bug actually meant that OS X apps weren't signed
  • Prevent opening sketches multiple times
  • Disable Mac OS X export button on other platforms
  • Removed duplicate 'fonts' folder in the download
  • Removed welcome message from the sound library
  • Get the 'modified' indicator working on OS X document windows again
  • Do bounds check on setVertex(PVector)
  • Using createGraphics() w/o begin/endDraw(), don't attempt drawing w/ image()
  • The data classes:
  • Add copy() method to Table
  • Return null from getString() with float and double values that are NaN. Fixes how saveTable() works (writes blank entries instead of NaN).
  • get(5) with an empty Int/Float/StringList was returning 0
  • FloatDict and FloatList should always put NaN values at the end on sort.
  • Add print() method to the various data types.
  • Summer of code:
  • URL opening problem fixed by use of getCanonicalPath() on Windows
  • If Server constructor fails, throw an exception
  • Clear status messages in the Contribution Manager
  • Add a progress bar for slow "Save As" (and "Add File") operations
  • NullPointerException in addBreakpointComments() when saving sketch
  • Run button was staying highlighted permanently
  • Dialog box for new tab/rename tab/sketch
  • Fixed issue where the browser wasn't opening the reference properly
  • You request, we pull:
  • Insert tabs properly when prefs set for tabs mode
  • Improve the appearance when using the Nimbus LAF
  • Implement A and a (elliptical arcs)
  • Fix typo in StringList.insert()
  • PImage resize() causes images to not draw
  • Fixed in earlier releases:
  • maxHeapSize typo in the build scripts
  • for() loop with nothing inside parens crashes Auto Format
  • Chinese text is overlapped in Processing 2.1 editor
  • Implement Windows menu in the PDE
  • Default font fixes (merged for 2.2.1 or earlier)
  • image resize() takes oddly long time

New in Processing 3.0 Alpha 1 (Jul 26, 2014)

  • Contributed fixes:
  • Fix blendMode() problems in the default renderer
  • Lighting issues with non-planar triangle strips or quad strips
  • Serial library not working on export
  • filter() not applying to images produced by saveframe() consistently
  • drawLatch in PJOGL can be null after requesting frame rendering
  • Summer of code:
  • Line coloring incorrect for filtered contribution listings
  • Added Present's background color as an option to the Preferences window
  • Check for updates on startup
  • Avoid problems with out-of-date contribution list
  • Integrate tweak mode into the new editor
  • Implementation of a list of open sketches in the Sketch menu
  • Add preference to set the present color
  • More bug fixes:
  • Prevent the current Mode from being de-selected
  • Prevent ArrayIndexOutOfBoundsException when calling min/maxValue() on a FloatDict that only contains NaN values
  • Last row was being skipped on tables with the 'newlines' option set
  • Debug table parsing with header rows
  • Bug fix for setting Table data types
  • Fixes for new Table(Iterable). Category data types were not importing their dictionary, column titles weren't set, and performance improvements were badly needed.
  • When using setColumnType(), replace nulls with missingInt, missingFloat, etc Formerly, this was throwing a NullPointerException.
  • Changes:
  • Add copy() method to PVector
  • Major performance improvements to parsing w/ the 'newlines' option
  • add getColumnTitle(int) and getColumnTitles() to TableRow interface

New in Processing 2.2.1 (May 20, 2014)

  • A handful of bug fixes, the most prominent rolls back a change that broke
  • PDE X and other Modes and Tools.
  • Bring back setIcon(Frame) for PDE X and others
  • Add additional code for crashing when the Mode is changed or new editor windows opened.
  • Use mouseReleased() instead of mousePressed() in the color selector, otherwise it registers the release as a click in the color window
  • Missing 'version' in contribution properties file causes NullPointerException
  • A handful of fixes to Auto Format
  • Command line tools not working on OS X due to AppleDouble file boogers.
  • Make "Archive Sketch" Tool force a .zip file extension
  • Event handling modifications in video and serial libraries w/ Python Mode
  • Permit mouse PRESS to set mouseX/mouseY
  • Fix for video: the loop() method was broken in the last release.
  • Updated reference files included in the download.

New in Processing 2.2 (May 13, 2014)

  • BUG FIXES AND ADDITIONS:
  • Sketches only starting once, or half-starting and hanging on Mac OS X. A major problem on OS X, thanks to David Fokkema for tracking down a fix.
  • Re-open current sketch in new mode editor if file extension is compatible. This was a regression in 2.1.2 due to the Python Mode changes.
  • Crash in the 'recent' menu on startup
  • Avoid conflict when some goofball has installed JNA DLLs in your path.
  • Add support for "import static" syntax from Java
  • Improve error handling during Tool loading. In previous releases, an out of date QuickReference Tool was able to hang Processing. No longer.
  • Save the previous open dialog so that we return to the directory
  • "if-else" block formatting wasn't following Processing conventions
  • Tab characters not recognized or handled in the editor (since 2.1)
  • Chinese text is overlapped in Processing 2.1 editor
  • EXPORT TO APPLICATION:
  • The return of multi-platform export! Create applications for Windows and Linux while using OS X. Create a Linux application from Windows. Against my better judgement, we're supporting it again. It's extremely difficult, but was disappointing to remove it earlier.
  • When exporting with local Java embedded, always use that version
  • Change Windows export to use launch4j instead of our custom launcher. This will fix many, many problems, but may introduce some new ones.
  • Windows (64-bit) now creates a proper .exe instead of a .bat file
  • Exported apps on Windows 64 were not quite working correctly
  • Improved icons on Windows for exported apps
  • Add additional language and explanation to the Export dialog box
  • Make it possible to edit the background colors for full screen as well as the stop button color directly from the Export dialog box
  • Exported apps reporting as "damaged" on OS X. You'll have to install Xcode to remove the warnings, but it's possible
  • CORE:
  • Fix for splice() throwing a ClassCastException with other object types
  • Add candDraw() method to the retina renderer to fix embedding problems
  • Fix sketchPath() issue when used in other environments (i.e. Eclipse)
  • Substitute MOVE cursor with HAND on OS X
  • Allow textWidth() with the default font
  • Bug in relative moveto commands for SVG
  • Add a constructor to bind Server to a specific address
  • Fonts from loadFont() show up as blocks in P3D (regression)
  • loadPixels() problems in OpenGL

New in Processing 2.1.2 (Apr 15, 2014)

  • the pde:
  • Fix exception caused by Runner when it can't find location
  • Serial: Update to latest upstream (fixes potential port handle leak)
  • Add affordance for mode developers to run from Eclipse
  • Non-PDE extensions for modes cause a crash
  • Remove some hardcoding for .pde as extension
  • the core:
  • Fix bug in StringDict(Reader) that wasn't setting the indices hashmap
  • Call revalidate() via reflection so that build works under 1.6 (using 1.6 very much not supported, but we need it for regression testing).
  • Some text rendering improvements. Fairly limited in what we can fix here.
  • PGraphics.colorCalcARGB(int, float) wasn't properly capping alpha values
  • Make sure that the window background color isn't the same as the default sketch background color (otherwise the sketch area isn't clear).
  • Fix for occasional NullPointerException in paint()
  • andres vs opengl, episode 225:
  • copy() under OPENGL uses upside-down coordinates for cropping
  • Video on Windows causes exception
  • Shape Font Rendering was broken with the OpenGL Renderer
  • Depth buffer shouldn't be cleared when depth mask is disabled
  • Set pixels transparent by default in P2D/P3D
  • Unwind depth sorting because it was breaking DXF export
  • Sketch hangs if sketchRenderer() returns an OpenGL renderer
  • "buffer" uniform triggers shader compilation error
  • buffer has been renamed to ppixels for shaders
  • Fix pixels[] array for video capture
  • fixed in earlier releases:
  • draw() called again before finishing on OS X (retina issue)
  • get() not always setting alpha channel when used with point()
  • support for geometry and tessellation shaders (on desktop)

New in Processing 2.1.1 (Jan 22, 2014)

  • Fixed infinite loop in Find/Replace
  • https://github.com/processing/processing/issues/2082
  • Updated to Minim 2.2
  • https://github.com/processing/processing/pull/2250
  • Minor change to bracket handling
  • https://github.com/processing/processing/pull/2313
  • On the command line version, --no-java wasn't working properly
  • https://github.com/processing/processing/issues/2182
  • get() video requires loadPixels in P2D/P3D
  • https://github.com/processing/processing/issues/2202
  • mac os x:
  • On Mac OS X, the app was called procesing.app.Base
  • https://github.com/processing/processing/issues/2217
  • Better support for native libraries in exported applications on OS X
  • https://github.com/processing/processing/pull/2269
  • serial library:
  • readStringUntil() missing from new serial library
  • https://github.com/processing/processing/issues/2174
  • Miscellaneous pdates to the serial library
  • https://github.com/processing/processing/pull/2265
  • Serial (apears to be) running slowly
  • https://github.com/processing/processing/issues/2249
  • https://github.com/processing/processing/issues/2214
  • Read a single character at a time to emulate RXTX behavior
  • https://github.com/processing/processing/pull/2240
  • Add basic tests for throughput and latency
  • https://github.com/processing/processing/pull/2225
  • Add a debug() method to Serial
  • https://github.com/processing/processing/pull/2237
  • Switch the examples over to use printArray()
  • https://github.com/processing/processing/pull/2226
  • Handle the UnsatisfiedLinkError when loading the native library fails
  • https://github.com/processing/processing/pull/2266
  • core fixes:
  • PImage resize() causes PImage not to be rendered in JAVA2D
  • https://github.com/processing/processing/issues/2179
  • Remove make.sh from core source folder... ancient
  • Remove println() from the dataPath() method
  • Add special case for 'null' to println()
  • Added print() method to IntList
  • Fix esoteric typo with alpha and color
  • https://github.com/processing/processing/issues/2230
  • pushStyle/popStyle should save/restore blendMode
  • https://github.com/processing/processing/issues/2232
  • opengl updates:
  • PImage copy() function used with P2D flips the image
  • https://github.com/processing/processing/issues/2171
  • Filter shaders don't need to use the texture uniform
  • https://github.com/processing/processing/issues/2204
  • texture() bug with stroke() in P2D
  • https://github.com/processing/processing/issues/2205
  • Allow sharing of GL context amongst multiple windows
  • https://github.com/processing/processing/issues/1698
  • Texture sampling setting ignored when creating an offscreen PGraphics
  • https://github.com/processing/processing/issues/1900
  • Rounded rectangle broken with Processing 2.1 P3D renderer
  • https://github.com/processing/processing/issues/2193
  • Clear the global PGL on dispose()
  • https://github.com/processing/processing/pull/2279
  • Pie arcs have stroke between endpoints in P2D/P3D
  • https://github.com/processing/processing/issues/2233
  • missing in the 2.1 release notes:
  • init() not called on tools until later
  • https://github.com/processing/processing/issues/1859
  • Finish changes so the PDE can use an unmodified JRE
  • https://github.com/processing/processing/issues/1840

New in Processing 2.1 (Oct 28, 2013)

  • Added an option to not embed the Java runtime into an exported application. This saves you the 100 MB footprint, but requires your users to install Java 7u45 or later. Details on the same page that nobody read last time: http://wiki.processing.org/w/Export_Info_and_Tips
  • The new println() (see the beta 1 notes) makes some old code behave a little differently. In the past, println() with an array would write out the array, one element per line, with the index in the front.
  • i.e.: PFont.list()) would write something like this to the console:
  • [0] "Serif"
  • [1] "SansSerif"
  • [2] "Monospaced"
  • [3] "Dialog"
  • [4] "DialogInput"
  • [5] "ACaslonPro-Bold"
  • [6] "ACaslonPro-BoldItalic"
  • Now it's going to write out something like:
  • Serif SansSerif Monospaced Dialog DialogInput ACaslonPro-Bold.
  • To get the old behavior, use printArray(). It's the price of progress, and shouldn't really "break" anyone's code since it's just writing to the console. We think the new syntax outweighs the downside of the change.
  • With arrays of primitive types (int[], float[], anything that's not an object), we've added code so that println() works as before. But we can't do the same for arrays of objects, such as String.
  • The preference for font smoothing (anti-aliasing) in the editor has been reset in this release. Fonts are unusably gross on OS X (and Linux) without smoothing and Oracle's version of Java (now in use with 2.1), and many longtime users have anti-aliasing turned off. You can still turn off smoothing in the Preferences window, but the results may be poor.
  • https://github.com/processing/processing/issues/2164
  • https://github.com/processing/processing/issues/2160
  • bug fixes:
  • Fix dataPath() problem with OS X (was breaking Movie on export)
  • Command line processing-java was broken in 2.1 beta 1 on OS X https://github.com/processing/processing/issues/2159
  • Fix a situation where processing-java would return 0 instead of 1 on errors https://github.com/processing/processing/issues/1798#issuecomment-26711847
  • Alpha values from the pixels array were coming back as 0 https://github.com/processing/processing/issues/2030
  • Additional UI font tweaks due to decreased legibility with Oracle Java https://github.com/processing/processing/issues/2135
  • OpenGL updates:
  • Using sketchQuality() does not work properly with P3D, OPENGL, P2D:
  • https://github.com/processing/processing/pull/2157
  • Fix crashes when the sketch window is resized:
  • https://github.com/processing/processing/issues/1880
  • https://github.com/processing/processing/pull/2156
  • scale() wasn't affecting stroke weight in P3D:
  • https://github.com/processing/processing/issues/2162
  • Add set(boolean) to PShader:
  • https://github.com/processing/processing/issues/1991
  • https://github.com/processing/processing/pull/1993
  • Add PMatrix.preApply(PMatrix):
  • https://github.com/processing/processing/pull/2146
  • https://github.com/processing/processing/issues/2145
  • Add warning when no uv texture coordinates are supplied:
  • https://github.com/processing/processing/issues/2034
  • Flicker issues when resizing P2D/P3D/OPENGL:
  • https://github.com/processing/processing/issues/15
  • Additional fix for occasional flash/flicker with drawing complex scenes:
  • https://github.com/processing/processing/commit/cca2f08a24ef892c494f5a75aa0e4b01de7e5d8a
  • Updated to another version of JOGL (jogl-2.1-b1115, gluegen-2.1-b735) for OS X 10.9 support.

New in Processing 2.1 Beta 1 (Oct 21, 2013)

  • For people using Eclipse, the new print() and println() methods add some quirks because of how println() works for arrays in previous versions of Processing. When printing an array, you should instead use the new printArray() function, which works the same as the old println().
  • This will help avoid the compiler warnings with Eclipse and others.
  • In the PDE, this should be transparent, because warnings are not shown.
  • Update the JavaDoc, remove java.* package prefix ugliness. Also link out to the online version of the Oracle documentation.
  • Major work on the source and the build scripts as we completed the transition to Java 7, and away from Apple's deprecated Java 6.
  • Incorporated a version of Oracle's appbundler for OS X build. Made heavy modifications to the original version to add features and simplify.
  • Culled un-needed resources from the Java 7 runtime to save space.
  • Unfortunately Java 7 is also much larger than Java 6, so the size change isn't as considerable as we would hope.
  • Remove unused/outdated 'Mangler' Tool example
  • Remove video library for other platforms in download. This saves significant space because we're not doing cross-platform export anymore.
  • Update apple.jar file with new version
  • Update build instructions on Github
  • Many changes to the Supported Platforms page
  • Updates to the Export page to cover changes in this release
  • Removed the 32- and 64-bit selector from the Preferences on OS X.
  • Java 7 on OS X only supports 64-bit, so 32-bit is no longer available.
  • editor fixes:
  • Deal with null/missing folders for Tools and Modes
  • Non-compliant libraries cause crash on "Add Library"
  • Bad tools could bring down the environment
  • Open new PDE maximized when current PDE is maximized
  • cmd-left was bringing up the text area popup, causing X Mode weirdness
  • core bug fixes:
  • This was an Apple bug, and is fixed by our switch to Oracle's Java 7.
  • Background color for present mode had no effect
  • Add desktopPath() and desktopFile() methods for testing (not finished)
  • Unicode NLF causing problems in XML files
  • Fix image transparency in PDF output
  • Java2D images crash after being resized
  • Constrain lerpColor() between 0 and 1. Unlike lerp(), where it might make mathematical sense, going outside the boundary colors produces really messy results.
  • JSONObject/Array.format(-1) not working on embedded JSONObjects
  • Fix insertRow() bug with Table
  • opengl updates:
  • Updated to JOGL 2.1.0
  • Fixed inconsistency with P2D and resetMatrix()
  • Deal with text rendering problems
  • Fix textSize() problem with P2D
  • Repair incorrectly applied transformations in retained mode
  • push/popStyle() was causing color problems with P2D/P3D
  • Child SVG elements were misplaced when rendering with P2D/P3D
  • SUBTRACT and DIFFERENCE blend modes are swapped
  • Throw an error for textureMode(REPEAT)
  • Vertex codes were not being properly set in P2D/P3D
  • Some box normals were inverted
  • new serial library:
  • Incorporate the new serial library. Woohoo!
  • 64-bit version of serial library
  • Closed several serial bugs because they're no longer relevant:
  • font fixes and changes:
  • Add ability to change the editor (and console) font from a menu in the Preferences window.
  • Add ability to change the console font size from the Preferences window.
  • Allow editor and console font changes without restart.
  • Anti-aliasing fix for the editor line status.
  • Change to bold instead of semibold version of Source Code Pro.
  • The semibold wasn't mapping properly as the same family.
  • Use the same font in the console as the editor.
  • Fix Windows/Linux console font issues.
  • movie maker:
  • Fix default gamma issues inside MovieMaker by adding extra atom TGA files cause Movie Maker to not work properly
  • Fix file selection dialog with MovieMaker (instead of the nasty
  • Swing-based version that was in use)
  • Add support for many other image file types to Movie Maker

New in Processing 2.0.3 (Sep 6, 2013)

  • blendMode() change causes OpenGL renderer to be very slow
  • Serious OpenGL performance issues on OS X, this was fixed with the JOGL update in 2.0.2, but we neglected to note it.
  • P2D low quality text rendering
  • Fix issues with slow text rendering and OpenGL
  • Corrupted text with large font and OpenGL
  • loadFont hangs on Processing 2.0 with any OpenGL renderer
  • Rendering artifacts on the diagonal line (topleft to bottomright) in P2D
  • loadShape doesn't load OBJ files in subdirectories properly
  • more OpenGL issues fixed by JOGL or newer drivers
  • Vertical offset when sketch height is indivisible by 2
  • ellipse() causes RuntimeException: java.lang.OutOfMemoryError
  • beginShape()...endShape() lines look wrong at joins/caps with P2D
  • Problem with bit shifting and video
  • Copy doesn't produce a true copy with P2D and P3D renderers
  • Additional improvements to memory handling with images
  • Additional memory handling changes for render buffers
  • PShape does not draw arc properly
  • PShape style is not restored after calling enableStyle in P2D/P3D
  • Other bug fixes:
  • Fix options parsing on loadTable() to handle spaces.
  • PVector.angleBetween() returns 0 for 3D vectors whenever x and y are both 0

New in Processing 2.0.2 (Aug 15, 2013)

  • Bug fixes:
  • Fix Windows issues with associating .pde files
  • Present Mode does not work properly on Windows
  • pixels[] array not updated with Capture and P2D/P3D
  • Unable to get TAB key event with P2D/P3D renderer
  • Setting an INT4 uniform in PShader causes an out of bounds exception
  • Fix "less less" typo
  • Slash breaks syntax highlighting when spaces are involved Fix from Github user hamzaissa - thanks!
  • selectInput() in exported OS X sketch treats .app package as a folder
  • Code with a NUL character causes an error Also remove NUL characters when loading PDE files
  • Allow delete of files in unsaved sketches
  • UnsatisfiedLinkError was causing huge/unreadable message
  • selectInput() in exported OS X sketch treats .app package as a folder
  • Retain blendMode() between frames
  • Contribution managers:
  • Support multiple categories for libraries
  • Notify users that Modes and Tools require restart.
  • Change the location of the manager download to something more stable.
  • Restrict library categories to the ones in the document. If it's not correct, shows up as 'other'.
  • Catch Errors (not just Exceptions) when loading libraries, modes, and tools. Handles UnsupportedClassVersionError and other quirks.
  • Redo handling of "old" versions of contributions.
  • Update example list when library is installed
  • Data, data, data:
  • Error in IntList and FloatList insert()
  • Add a sort() method to Table.
  • Implement version of Table that takes a dictionary file. Syntax is: Table t = loadTable("bigdata.tsv", "dictionary=bigdata-dict.tsv") This allows you to set the data type of columns before loading, which provides much better performance and lower memory usage.
  • Constructing table from an Iterator is missing
  • Add sum() to IntList and FloatList
  • When using increment() on IntList, make sure the index exists and automatically resize the list if necessary. This is more in keeping with increment() in the Dict classes.
  • getSubset() broken in IntList, StringList, and missing from FloatList
  • Add join() method to Int/Float/StringList
  • Add getContent(defaultValue) to XML
  • Add isNull() (returns boolean) to JSONObject/Array
  • Add getXxxx(xxx, defaultValue) methods to JSONObject/Array
  • Internal changes you'll never notice... unless I broke something:
  • Add an exception wrapper for startup, hopefully we can catch/debug more "Processing can't start!" issues with this.
  • Update JNA from 3.2.4 to 3.5.2.
  • Updated JOGL to 2.0.2.
  • Added methods to move files to Trash/Recycle Bin where available.
  • Implement basic proxy server support for update checking and the contribution managers.
  • Basic getShape(ch) implementation for font glyph shapes. Not finished and (therefore) not yet documented.
  • Change QUAD_BEZIER_VERTEX to QUADRATIC_VERTEX to match the API call (because this lives inside PConstants).
  • Add retina switch for PApplet to set useActive with OS X and 7u40. Prevents speed/performance issues with old sketches on retina macs.
  • Add error message for raspberry pi (and others?) about int buffers
  • Changes:
  • Experimental Mode has been removed from the default download, so that it can be updated more frequently. Install it and help us test what will become the 3.0 release of Processing!
  • Add "Processing Foundation" to the Help menu.

New in Processing 2.0.1 (Aug 15, 2013)

  • Bug fixes:
  • Modes, Tools, Libraries not moving properly on Windows
  • Undo seems to not be going to the right location (now with example)
  • Fix a problem with exporting Windows applications from OS X and Linux.
  • getVertex() trying to get three values when no Z-coord is available "PShape getVertex() not implemented properly for SVG files"
  • Fix typo in default printProjection() method
  • Additions:
  • Add error message for that reports what line was bad while parsing a table. (Otherwise confusing ArrayIndexOutOfBoundsException while parsing bad CSV.)
  • Added option to remove the background image at the top of the window.

New in Processing 2.0 (Jun 5, 2013)

  • Bug Fixes:
  • Example window has the Java application icon
  • The update checker sometimes insisted there were updates, even though there were not, due to a build problem.
  • Removed the 'modes' folder from the sketchbook listing
  • Command line tool on OS X was broken due to classpath problems.
  • SaveJSONArray() loops forever, triggers error
  • Patch to make font textures smaller in P2D/P3D
  • .png data written when .jpg file specified with save/saveFrame()
  • Remove() broken in the List classes
  • PGraphics objects that used JAVA2D weren't updating when used with OpenGL
  • P2D/P3D sketches don't get focus until clicked
  • Changes:
  • A handful of tweaks to smooth out the 2.0 user interface. Incorporates some of the feedback while trying to preserve the look & feel of our PDE design.
  • Added built-in fonts (Source Sans and Source Code from Adobe) as the default font for the UI and editor. As usual, the editor font can be changed in preferences.txt. And if you already have a preferences.txt file, the new font won't override it. Fonts for GUI elements can be modified in lib/theme.txt, but be careful with those, and don't complain if/when they break.
  • Added several additional functions for data classes. More details in the reference and coming soon.
  • Changed how null values were handled with binary tables. If anyone was using the (undocument) .bin format for Table, you'll need to re-save your data.
  • Changed XML.toString() (what's called when you print() or println() an XML object) to just send a single line of text instead of a full XML document with a header. Use format(numSpaces) if you want a properly formatted document with declaration at the top.

New in Processing 2.0 Beta 7 (Dec 8, 2012)

  • changes:
  • Removed all imports that aren't covered in the Processing reference. If you use java.awt, java.util, or other classes in your sketch, you will need to add an import line to the beginning of your sketch.
  • Only the classes that are covered in the reference (HashMap, ArrayList, and some others) are now imported by default. This has been done to improve overall cross-platform parity and to avoid users unknowingly adding Java classes, and then the sadness that comes when switching to Android or JavaScript modes.
  • The list of imports is now hard-coded (no longer read from preferences.txt) and includes the following: import java.util.HashMap; import java.util.ArrayList; import java.io.BufferedReader; import java.io.PrintWriter; import java.io.InputStream; import java.io.OutputStream; import java.io.IOException;
  • If we're missing anything that's not covered in the reference, please let us know via the bugs database.
  • A new "experimental" mode has been added. It's the start of combining two of our Google Summer of Code projects (DebugMode and XQMode) to enable a debugger and on-the-fly error checking. We're including it in the release so that folks can test it out and let us know how it's doing. The interface still needs work and its innards may be a bit buggy, but it represents some exciting upcoming improvements for the PDE.
  • hint(ENABLE_ACCURATE_2D) has been renamed to hint(DISABLE_OPTIMIZED_STROKE) to better reflect what it actually does. Reference has been added. OpenGL drawing is significantly faster when the fill and stroke of a shape is drawn separately. This leads to visual artifacts on shapes where both fill and stroke is enabled (not a great idea in 3D anyway), so this option fixes the visual artifacts at the expense of speed. http://code.google.com/p/processing/issues/detail?id=1302
  • Sketch names can no longer begin with underscores (fixes an Android compatibility issue). This was changed in recent releases, but missing here. http://code.google.com/p/processing/issues/detail?id=859
  • More Mac OS X key bindings have been implemented in the editor: http://code.google.com/p/processing/issues/detail?id=1354 http://guides.macrumors.com/Keyboard_shortcuts§ion=10#Text_Shortcuts
  • Set quality level higher when exporting JPEG images. This will result in larger JPEG files with save() and saveFrame(), but the default quality setting in the past was unacceptable for many/most projects. http://code.google.com/p/processing/issues/detail?id=58 See the bug report link for how to implement in case you want to set the quality lower (or even higher) than the new default.
  • Table row iterating syntax has changed. This code: for (TableRow row : table) { ... } has now changed to for (TableRow row : table.getRows()) { ... } (This may change to rows() on the next round, pending other API tweaks)
  • Change default for shift-backspace to just be backspace. To change it back, set editor.keys.shift_backspace_is_delete=true in preferences.txt.
  • Implement clip() and noClip() to set the clipping region.
  • Added blendMode() feature. http://code.google.com/p/processing/issues/detail?id=1385
  • Add different styles of arc drawing. http://code.google.com/p/processing/issues/detail?id=711 http://code.google.com/p/processing/issues/detail?id=1406
  • Added XML.getLong() (also updated Android) http://code.google.com/p/processing/issues/detail?id=1378
  • Implement back-buffer sampler in OpenGL renderers. http://code.google.com/p/processing/issues/detail?id=1169
  • Change how get(x, y, w, h) was handled with offscreen areas. http://code.google.com/p/processing/issues/detail?id=925
  • Make key and mouse events interleave, also improve threading. http://code.google.com/p/processing/issues/detail?id=79
  • Changed event constants to PRESS, RELEASE, CLICK, DRAG, MOVE, ENTER, EXIT instead of past-tense versions of the same.
  • Removed mask(int[]) from PImage.
  • Implement postEvent() to put new events on the queue.
  • Add mouseEntered/Exited on the desktop. http://code.google.com/p/processing/issues/detail?id=500
  • Change output from processing-java to be UTF-8 encoded. http://code.google.com/p/processing/issues/detail?id=1418
  • Disable Quartz renderer to fix line blending problem on OS X. This older renderer was faster but had some bugs, like one that caused lines to composite incorrectly when alpha was used. Add "PApplet.useQuartz = true;" into your PApplet.main() function to switch back to the old method: http://processing.googlecode.com/svn/trunk/processing/build/javadoc/core/processing/core/PApplet.html#useQuartz
  • Remove requirement for Google APIs in Android mode. http://code.google.com/p/processing/issues/detail?id=613
  • bug fixes:
  • mouseButton not being set properly in mouseClicked. http://code.google.com/p/processing/issues/detail?id=1350
  • mouseButton is 0 in mouseReleased() on OS X http://code.google.com/p/processing/issues/detail?id=1373
  • mousePressed() coloring now different from mousePressed http://code.google.com/p/processing/issues/detail?id=41 Still not necessarily perfect, but it's a big improvement. Note for people implementing their own Modes: FUNCTION1 and FUNCTION2 have now been added for functions with parens.
  • 32-bit mode / 64-bit mode preference was ignored on OS X. http://code.google.com/p/processing/issues/detail?id=1426
  • Prevent errors on first line of a new tab from highlighting the last line of the previous tab. In particular, a single letter on a new tab was highlighting the last line of the tab to its left.
  • Android debug information wasn't being passed through to the console. In addition, on Windows, error reporting wasn't working properly (couldn't find the right line or report the error correctly). http://code.google.com/p/processing/issues/detail?id=1440
  • Fix ugly results from resize() command on PImage: http://code.google.com/p/processing/issues/detail?id=332 and similar on Android: http://code.google.com/p/processing/issues/detail?id=239
  • P2D/P3D PGraphics buffer failing to draw if larger than main surface. http://code.google.com/p/processing/issues/detail?id=1255
  • Fix double error report when textMode(SCREEN) was used: textMode(SCREEN) has been removed from Processing 2.0. textMode(256) is not supported by this renderer.
  • image(pgraphics, x, y, w, h) was only drawing once when shrinking. http://code.google.com/p/processing/issues/detail?id=1382
  • beginShape(QUAD) was not working with Java2D. http://code.google.com/p/processing/issues/detail?id=1365
  • Relative coordinates not updated properly on closepath with SVG files. http://code.google.com/p/processing/issues/detail?id=1058
  • PShape and lights results in more lit vertices. http://code.google.com/p/processing/issues/detail?id=1342
  • Implement anisotropic filtering when using OPENGL. http://code.google.com/p/processing/issues/detail?id=502
  • Update reference for begin/endContour. http://code.google.com/p/processing/issues/detail?id=1396
  • Fix "expecting EOF, found 'import'" error on previously working sketch. http://code.google.com/p/processing/issues/detail?id=1376
  • Prevent potential race condition when resizing sketches. http://code.google.com/p/processing/issues/detail?id=697
  • Mode detection wasn't properly ignoring code inside comments. http://code.google.com/p/processing/issues/detail?id=1404
  • Fix error line numbers from command line version to count from one instead of zero, so that they're compatible with other systems. http://code.google.com/p/processing/issues/detail?id=1392
  • Sketches exported to Linux weren't passed the command line arguments http://code.google.com/p/processing/issues/detail?id=1359
  • "electricScroll" feature was causing weird jumps when double-clicking http://code.google.com/p/processing/issues/detail?id=1055
  • Crash during library download was causing empty library list http://code.google.com/p/processing/issues/detail?id=1093
  • In the net library, clientEvent() called even w/o data from server http://code.google.com/p/processing/issues/detail?id=189
  • Add Server.ip() method to get the IP address of the host machine. http://code.google.com/p/processing/issues/detail?id=1228
  • Modify “Copy as HTML” to add second HTML data type when writing the clipboard http://code.google.com/p/processing/issues/detail?id=1065 Fix contributed by Ostap Andrusiv--thanks!
  • Shaders are passed wrong defaults when calling "filter" on a PGraphics object http://code.google.com/p/processing/issues/detail?id=1301
  • beginContour() behaves differently in immediate and retained modes http://code.google.com/p/processing/issues/detail?id=1417
  • P2D/P3D crashes when trying to display unicode text http://code.google.com/p/processing/issues/detail?id=1308
  • Fix for PMatrix3D.mult() when vectors are identical http://code.google.com/p/processing/issues/detail?id=921
  • Curves weren't rendered seperately when P3D or P2D specified. http://code.google.com/p/processing/issues/detail?id=1317
  • FBO handling in PGL is not transparent. http://code.google.com/p/processing/issues/detail?id=1282
  • Use of pixels[] array breaks after resize in OpenGL. http://code.google.com/p/processing/issues/detail?id=1119
  • No stroke with OpenGL sketches on a 2007 Mac Mini (GMA 950) http://code.google.com/p/processing/issues/detail?id=1222
  • ortho() displays strange line widths. http://code.google.com/p/processing/issues/detail?id=1285
  • Resizeable frame crashes sketch with AMD video card. http://code.google.com/p/processing/issues/detail?id=1175
  • set(x, y, PImage) doesn't work with P2D/P3D. http://code.google.com/p/processing/issues/detail?id=1185
  • begin/endShape with a single vertex causing crash on P2D/P3D. http://code.google.com/p/processing/issues/detail?id=1421
  • Using a PGraphics as a texture produces visual artifacts. http://code.google.com/p/processing/issues/detail?id=1420
  • android:
  • Like the desktop release, removed default imports. This includes: android.view.MotionEvent, android.view.KeyEvent,android.graphics.Bitmap due to conflicts w/ the new event system, and hoping to enforce better cross-platform compatibility between Java, JavaScript, and Android modes.
  • Changed event handling to hopefully clean up some inconsistencies. Removed motionX/Y/Pressure... these need to be handled separately. More here: http://wiki.processing.org/w/Android
  • mouseX/Y no longer include history with moves, which reduces fidelity a bit, but will hopefully prevent us overdoing it for future releases.
  • Fix how pmouseX/Y are set. http://code.google.com/p/processing/issues/detail?id=238 http://code.google.com/p/processing/issues/detail?id=1018
  • fixed earlier / cleaning:
  • When turning smoothing on, internal lines of shapes are visible. http://code.google.com/p/processing/issues/detail?id=53
  • textAlign(CENTER) with P3D and OPENGL produces messy result http://code.google.com/p/processing/issues/detail?id=65
  • Signature issue on contributed libraries affects unrelated OpenGL sketches http://code.google.com/p/processing/issues/detail?id=261
  • Implement efficient version of copy() in PGraphicsOpenGL. http://code.google.com/p/processing/issues/detail?id=119
  • copy() does not update the screen with OpenGL. http://code.google.com/p/processing/issues/detail?id=118
  • strokeCap() and strokeJoin() for use with OPENGL. http://code.google.com/p/processing/issues/detail?id=123
  • Fix inconsistent anti-aliasing with OpenGL. http://code.google.com/p/processing/issues/detail?id=217
  • noCursor() + OPENGL = won't get past setup() http://code.google.com/p/processing/issues/detail?id=1345
  • set() requires updatePixels() with OpenGL. http://code.google.com/p/processing/issues/detail?id=89
  • Chopping out triangles in OpenGL (though it's only 2D drawing). http://code.google.com/p/processing/issues/detail?id=193
  • Share interface for 3D across desktop and Android. http://code.google.com/p/processing/issues/detail?id=970
  • Distortion of 2D shapes when sphereDetail() is used. http://code.google.com/p/processing/issues/detail?id=762
  • OPENGL renderer stops rendering after text is written using textMode(SCREEN) http://code.google.com/p/processing/issues/detail?id=710
  • Support 'black' as color for SVG files (fix from PhiLho) http://code.google.com/p/processing/issues/detail?id=1010
  • Catch sun.dc.pr.PRException? http://code.google.com/p/processing/issues/detail?id=39
  • Image created with img.get() works incorrectly when using filter() http://code.google.com/p/processing/issues/detail?id=167
  • copy(image with transparency) doesn't keep the transparency at start up. http://code.google.com/p/processing/issues/detail?id=601
  • Defects in the tessellation of SVG shapes in A3D http://code.google.com/p/processing/issues/detail?id=291
  • Blacked-out screen when restoring Android app from background. http://code.google.com/p/processing/issues/detail?id=381
  • Excessive rotation of application causes memory to run out http://code.google.com/p/processing/issues/detail?id=235
  • Should alpha PImage stuff use a non-4byte config? http://code.google.com/p/processing/issues/detail?id=242
  • Rounded rect support on Android http://code.google.com/p/processing/issues/detail?id=929

New in Processing 1.5.1 (May 16, 2011)

  • This release fixes a handful of regressions and quirks that were found in the Processing 1.5 release last month. "Import Library" was broken for several built-in libraries.
  • Fixed broken update checker.
  • Applets exported on Windows can't find files in the data folder.
  • File > New and Command-N stop working on OS X after running a sketch
  • Reverted to the old createFont() behavior, where native fonts will
  • be used with createFont() in more situations.
  • Improve handling of transformations in SVG files.
  • Fix bug in SVG parser for shorthand curves (T/t and S/s).
  • Prevent shape(PshapeSVG) from failing if SVG contains
  • Fix misshapen quadratic bezier curves when drawing SVG files.

New in Processing 1.1 (Apr 19, 2010)

  • Libraries - All libraries must be placed in a folder named "libraries", inside the sketchbook folder. Do not use the main "libraries" directory in the Processing distribution, as it is reserved for the core libraries, and is not visible on Mac OS X.
  • XML - The XML library is now included by default, so you won't find it in the Import Library menu anymore. In addition, the XML library since 0135 has been greatly improved, making it compatible with far more documents.
  • Processing.app - The Mac OS X release of Processing is now a single .app file, more befitting an OS X application.
  • Processing.exe - The Windows release has a new launcher based on launch4j. Unfortunately, some machines have a problem with the new launcher that we haven't been able to track down. If you have trouble, please help us find the problem. PDE files are also now double-clickable on Windows.
  • OpenGL - All OpenGL sketches now use 2x full screen anti-aliasing. This means that these sketches are always smooth, and the smooth() and noSmooth() commands are ignored. To return to the behavior found in the beta releases, see the hint() reference.
  • P2D and P3D - The P2D renderer has returned (see the size() reference) and smoothing is now enabled for both P2D and P3D. Smoothing support is unfortunately incomplete, however, and sometimes thin lines can be seen inside shapes. This is a very high priority bug to be fixed in a future release.
  • Candy and PShape - The Candy SVG library has been merged into the core, which brings along a new loadShape() command and a new PShape object. The special powers of PShape will be rolled out in future releases. For the time being, loadShape() works best with the default renderer (JAVA2D). Complex shapes will often appear jagged or not at all when rendered with P2D, P3D, and OPENGL. We've also added better support for SVG files created with Inkscape.
  • PVector - We've added a new class called PVector, which is a simple three-dimensional vector (also known as point or tuple) class. This is useful for storing point data, or operations on 3D points.
  • Tools - A new Tools API has been created for developers who want to contribute code that extends the Processing Development Environment in some fashion. Let your creativity flow with fantastical contributions like "Color Selector 2.0", "ROT13 Code Mangler", and "I Am Rich". Visit the developer page on tools for more information. Similar to libraries, tools are installed in a folder of the same name within your sketchbook folder.
  • Asynchronous Images - Big JPEGs and small pipes? We've added a new requestImage() method that loads an image in the background so that your sketch doesn't freeze when loading lots of large images over a slow connection.
  • Sound - We've added Damien Di Fede's Minim library to the download. It uses the JavaSound API to provide an easy-to-use audio library. Minim has a simple API while still providing a reasonable amount of flexibility for more advanced users. Many thanks for Damien for his hard work on this excellent library.
  • Present - Present mode (full screen) is handled differentl in 1.0. When run inside the PDE, only Mac OS X uses full “screen exclusive mode” with Present. Windows and Linux just do full screen windows. When run outside the PDE, all three simply create an undecorated window the size of the entire screen, and on the Mac, an option is added to the Info.plist file to hide the dock and menubar (since that cannot be done programatically from inside Java applications).
  • Compiler - We've removed the old Jikes compiler and are now using the ECJ compiler from the Eclipse project. We've also tried hard to improve the quality of error messages, though some are still real gems that sound like error messages from mainframe computers in 1970s films. If you don't like the messages please help us improve them.
  • Internationalization - For better internationalization support, we've changed to UTF-8 encoding when loading and saving sketches. 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.
  • Java - Linux and Windows now inlude Java 6 update 10 with the download. We still don't have support for Java 1.5 syntax yet, but we hope that the performance boosts in Java 6 will help applications run well.

New in Processing 1.0.1 Revision 0163 (Dec 1, 2008)

  • Bug fixes:
  • ArrayIndexOutOfBoundsException with File > New
  • "CallStaticVoidMethod() threw an exception" on some Mac OS X machines
  • "editor.indent" preference setting does not work properly
  • Fixed some "An error occurred while starting the application" problems
  • Added a note about the Minim library to the changes page.
  • Disable parsing of regexps with the split() command
  • Fixed ArrayIndexOutOfBoundsException in ellipseImpl().
  • Fixed problem where small ellipses weren't showing up.
  • Changes:
  • Implement multi-line tab via tab key (also outdent)
  • Code with 'import' and a space incorrectly parsed as an import statement

New in Processing 1.0 Revision 0162 (Nov 25, 2008)

  • Libraries - All libraries must be placed in a folder named "libraries", inside the sketchbook folder. Do not use the main "libraries" directory in the Processing distribution, as it is reserved for the core libraries, and is not visible on Mac OS X.
  • XML - The XML library is now included by default, so you won't find it in the Import Library menu anymore. In addition, the XML library since 0135 has been greatly improved, making it compatible with far more documents.
  • Processing.app - The Mac OS X release of Processing is now a single .app file, more befitting an OS X application.
  • Processing.exe - The Windows release has a new launcher based on launch4j. Unfortunately, some machines have a problem with the new launcher that we haven't been able to track down. If you have trouble, please help us find the problem. PDE files are also now double-clickable on Windows.
  • OpenGL - All OpenGL sketches now use 2x full screen anti-aliasing. This means that these sketches are always smooth, and the smooth() and noSmooth() commands are ignored. To return to the behavior found in the beta releases, see the hint() reference.
  • P2D and P3D - The P2D renderer has returned (see the size() reference) and smoothing is now enabled for both P2D and P3D. Smoothing support is unfortunately incomplete, however, and sometimes thin lines can be seen inside shapes. This is a very high priority bug to be fixed in a future release.
  • Candy and PShape - The Candy SVG library has been merged into the core, which brings along a new loadShape() command and a new PShape object. The special powers of PShape will be rolled out in future releases. For the time being, loadShape() works best with the default renderer (JAVA2D). Complex shapes will often appear jagged or not at all when rendered with P2D, P3D, and OPENGL. We've also added better support for SVG files created with Inkscape.
  • PVector - We've added a new class called PVector, which is a simple three-dimensional vector (also known as point or tuple) class. This is useful for storing point data, or operations on 3D points.
  • Tools - A new Tools API has been created for developers who want to contribute code that extends the Processing Development Environment in some fashion. Let your creativity flow with fantastical contributions like "Color Selector 2.0", "ROT13 Code Mangler", and "I Am Rich". Visit the developer page on tools for more information. Similar to libraries, tools are installed in a folder of the same name within your sketchbook folder.
  • Asynchronouse Images - Big JPEGs and small pipes? We've added a new requestImage() that loads an image in the background so that your sketch doesn't freeze when loading lots of large images over a slow connection.
  • Present - Present mode (full screen) is handled differently. When run inside the PDE, only Mac OS X uses exclusive mode with Present. Windows and Linux just do full screen windows. When run outside the PDE, all three simply create an undecorated window the size of the entire screen, and on the Mac, an option is added to the Info.plist file to hide the dock and menubar (since that cannot be done programatically from Java).
  • Compiler - We've removed the old Jikes compiler and are now using another. We've also tried hard to improve the quality of error messages, though some are still real gems that invoke the complaints of mainframe computers in 1970s films.
  • Internationalization - For better internationalization support, we've changed to UTF-8 encoding when loading and saving sketches. 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.
  • Java - Linux and Windows now inlude Java 6 update 10 with the download. We still don't have support for Java 1.5 syntax yet, but we hope that the performance boosts in Java 6 will help applications run well.

New in Processing 0157 Beta (Nov 19, 2008)

  • Changes:
  • P2D has returned for the first time since alpha (release 0069). It's probably not yet complete, please test and file bugs if you find things that are missing or not behaving correctly.
  • Bug fixes:
  • Show sketch folder failing for directories containing umlauts.
  • Find in Reference does not open Firefox in 0156 for Linux.
  • Fixed a problem where the default per-platform preference settings were not being set properly, resulting in sadness like ugly default fonts in the editor. You may want to remove your preferences.txt file to reset your settings if your afflicted by an ugly monospaced font in your editor.
  • SVG polygon shapes not drawing since loadShape() and PShape changes.
  • image(img, x, y) was not honoring imageMode(CENTER), now fixed.

New in Processing 0156 Beta (Nov 17, 2008)

  • Bug fixes:
  • For some errors, the line wasn't being highlighted correctly.
  • Present mode was broken (bad placement, no window appearing).
  • Fixed typo in sketch renaming notice message.
  • Don't open more than one "Create Font" or "Color Selector".
  • Changes:
  • Clarify the "no variables in size() command" rule.
  • Disable P2D for size() and createGraphics() since it's not ready yet.
  • Rebuilt the Tools menu to use the Tools API.

New in Processing 0155 Beta (Nov 5, 2008)

  • Bug fixes:
  • "Save canceled" message when saving untitled sketches without first renaming.
  • Fix loadShape() transformation parsing and empty paths (thanks ricardmp).
  • Fix hint(DISABLE_DEPTH_TEST) NullPointerException with OpenGL.
  • Changes:
  • When saving a sketch over itself with "Save As", just do "Save" instead
  • MovieMaker can't make exact 30fps output
  • Automatically create and open the 'libraries' folder if it doesn't exist and a missing library error occurs.

New in Processing 0154 Beta (Oct 27, 2008)

  • Clean up PATH for users who have garbage in the Windows PATH variable
  • Disable renaming of a sketch to the name of a file already in the sketch
  • Deal with com.sun.jdi.AbsentInformationException when running a sketch
  • Only set apple.awt.graphics.UseQuartz on osx, otherwise security error
  • Added skewX() and skewY() to PMatrix/2D/3D
  • Added support style attributes to SVG support
  • Remove setX/Y/Z methods from PVector (not needed with full access to the x, y, and z fields). Also removed copy() (use get() instead), and added mult() and div() methods that act on whole PVector objects.
  • Updated reference and examples for changes and new API.

New in Processing 0136 Beta (May 30, 2008)

  • 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).
  • 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.) 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.
  • 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).
  • 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.
  • curveTangent() implemented by Dave Bollinger. (Thank you!)
  • 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
  • Color selector fixed by Francis Li. (Thanks!)
  • Net library no longer dies unceremoniously on "Connection Refused"
  • Space after OPENGL param no longer breaks export
  • Fix "noLoop()" sketches unresponsive to exit request
  • Fixed bug with subset() when no length parameter was specified
  • Retired the long-standing TIFF in After Effects bug
  • Fix for bezierTangent() problem from Dave Bollinger (Thanks!)
  • Fix problem with get() when imageMode(CORNERS) was in use
  • Fix bug with splice() and arrays
  • PImage mask now works after first call
  • Fix upside-down TGA files
  • Fix problem with g.smooth always returning false in JAVA2D