Source code for the Processing Core and Development Environment (PDE)
PROCESSING 3.3.5 (REV 0262) - 23 June 2017
Fixes for a couple problems introduced in the last release.
[ everything that went bad ]
+ Console window was only remembering two lines of text
because of a name collision in the preferences handling.
https://github.com/processing/processing/issues/5110
+ Something went wrong with the 64-bit Linux release:
"libjli.so: cannot open shared object file: No such file or directory"
https://github.com/processing/processing/issues/5111
+ "Could not parse -1 for --display" message on some Windows machines
https://github.com/processing/processing/issues/5118
https://github.com/processing/processing/pull/5141
[ some new things hopefully going good ]
+ Fix a NullPointerException that showed up with textWidth() and OpenGL
https://github.com/processing/processing/issues/5137
https://github.com/processing/processing/pull/5138
+ Per request, use native file choosers by default on Linux. I'm told
that the default Linux file choosers have grown up in the last decade.
I'm trusting the person who is making that claim and making them default.
https://github.com/processing/processing/issues/5122
To get the old behavior in the Editor, change preferences.txt to say:
chooser.files.native = false
Or in your code, add this line:
useNativeSelect = false;
PROCESSING 3.3.4 (REV 0261) - 3 June 2017
Several useful bug fixes and improvements. Some big, many small.
[ fixes you'll notice ]
+ Exported applications no longer report as "Damaged" on macOS Sierra
https://github.com/processing/processing/issues/4705
+ Prevent the console from freezing up when print() and println()
are used to print thousands of lines of output.
https://github.com/processing/processing/pull/4935
https://github.com/processing/processing/issues/4825
+ Apple broke key repeat in macOS Sierra, here's how to fix it:
https://github.com/processing/processing/wiki/Troubleshooting#key-repeat-on-macos-sierra
+ Fix the keyPressed variable when multiple keys are pressed
https://github.com/processing/processing/pull/5050
https://github.com/processing/processing/issues/5049
[ some you probably won't ]
+ Clarify wording of error message regarding sketchbook location
https://github.com/processing/processing/issues/4942
+ Remove 'run sketches on display' error text that showed up even
when using Processing for the first time
+ Implement alternate 'ant app' target for macOS application debugging
+ Added a null check to sketch loading to prevent some issues such as
https://github.com/processing/processing/issues/4980
+ Handle edge case for set() being called with a 2D vector, on a 3D vector
https://github.com/processing/processing/issues/5092
[ incomplete additions ]
+ Add exec() with StringList options (documentation coming soon)
+ Begin work on a shell() function to do exec() via a shell
[ other contributions - thank you! ]
+ Add install/uninstall scripts for Linux and correct mime types for the PDE
https://github.com/processing/processing/pull/5106
+ IO library updates for ARM
https://github.com/processing/processing/pull/5044
+ Check $SUDO_USER on Linux for locating the sketchbook folder
https://github.com/processing/processing/pull/5055
https://github.com/processing/processing/pull/5054
+ Debugging the "files changed" detector in the Editor
https://github.com/processing/processing/issues/4713
https://github.com/processing/processing/pull/5021
https://github.com/processing/processing/pull/4849
+ Still more updates to the change detector
https://github.com/processing/processing/pull/5075
+ Warn user to use L when creating a number constant that won't fit into an int
https://github.com/processing/processing/issues/4878
https://github.com/processing/processing/pull/5077
PROCESSING 3.3.3 (REV 0260) - 2 May 2017
Happy birthday to my Dad and baby brother!
Let's celebrate with a couple bug fixes:
+ keyPressed not returning false once a key is released
https://github.com/processing/processing/issues/5033
+ Image tint() was broken in 3.3.x
https://github.com/processing/processing/issues/5040
https://github.com/processing/processing/pull/5042
+ Deal with loadBytes() regressions introduced by their rewrite
(was breaking p5jsMode because of its use of loadBytes(File)
PROCESSING 3.3.2 (REV 0259) - 25 April 2017
Broke a few eggs with that last omelette, and left a little eggshell behind.
This version takes care of a handful of revisions.
[ bug fixes, mostly for regressions in 3.3.1 ]
+ ArrayIndexOutOfBoundsException when using tint() or loadFont()
https://github.com/processing/processing/issues/5028
https://github.com/processing/processing/pull/5029
+ createInput() wasn't returning null for files that were not found
https://github.com/processing/processing/issues/5026
+ Assigning Pixels Vertically Flipped in P2D
https://github.com/processing/processing/issues/5013
[ useful updates, that hopefully aren't regressions ]
+ Improve loadBytes() performance
https://github.com/processing/processing/pull/5027
+ 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
https://github.com/processing/processing/issues/4993
PROCESSING 3.3.1 (REV 0258) - 23 April 2017
With Casey and Ben together in Boston for a conference, we managed to
wrap up a few things and prepare a new release. Highlights include:
+ The UI now supports Arabic with a new translation provided by Omar Hommos
+ Several bug fixes have been implemented for high-res display support
on Windows and Linux
+ 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.
And now on with the countdown:
[ bug fixes ]
+ Fix gap between tab headers and text area at 125% and 150% scaling on Windows
https://github.com/processing/processing/issues/4902
+ Some line heights were wrong on hi-dpi displays
https://github.com/processing/processing/issues/4936
https://github.com/processing/processing/issues/5007
+ Fix small tooltip text on high-dpi screens
https://github.com/processing/processing/issues/4914
+ Ugly button images at 125% and 150% scaling on Windows
https://github.com/processing/processing/issues/4901
https://github.com/processing/processing/pull/4906
+ Get rid of error message when exporting sketches with the video library
https://github.com/processing/processing/issues/4971
+ Fix preprocessing of code with double backslash in string or char literal
https://github.com/processing/processing/issues/4903
https://github.com/processing/processing/pull/4907
+ Fix breakpoints in inner classes
https://github.com/processing/processing/pull/5008
https://github.com/processing/processing/issues/2946
+ Fix preprocessor skipping one char after a block comment
https://github.com/processing/processing/issues/4995
https://github.com/processing/processing/pull/4999
+ Synchronize input event processing
https://github.com/processing/processing/pull/4998
+ Scrub comments: skip the second chracter in the escape sequence
https://github.com/processing/processing/pull/5019
https://github.com/processing/processing/issues/5016
[ additions & changes ]
+ Added Arabic translation
https://github.com/processing/processing/pull/4970
+ Added Jump to Declaration
https://github.com/processing/processing/pull/4707
https://github.com/processing/processing/issues/4668
+ Fix the JRE downloader and upgrade to Java 8 update 131
+ Add another warning for yet another a bad NVIDIA driver
https://github.com/processing/processing/issues/4997
+ 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
https://github.com/processing/processing/pull/5011
+ Improve sum() functions in processing.data
Add sum() to IntDict and FloatDict
Add sumLong() to IntList, IntDict (to handle cases outside integer range)
Add sumDouble() to FloatList, FloatDict (to handle outside float range)
Throw exception when using sum() with numbers that are too large or small
+ 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
https://github.com/processing/processing/issues/4956
+ 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
https://github.com/processing/processing/pull/5002
+ Hardware I/O updates for ARM
https://github.com/processing/processing/pull/4931
+ Fix MeshTweening vertex shader
https://github.com/processing/processing-docs/issues/523
https://github.com/processing/processing-docs/pull/524
+ ARM: Allow Raspberry Pi's Mesa GL driver to use up to 8 lights
https://github.com/processing/processing/pull/4915
...and revert it back again
https://github.com/processing/processing/pull/4922
+ Retry with multisampling disabled if creating a framebuffer
fails because of INCOMPLETE_MULTISAMPLE
https://github.com/processing/processing/pull/4921
+ Report more error conditions in validateFramebuffer
https://github.com/processing/processing/pull/4920
+ Add more Raspberry Pi related fixes to JOGL
https://github.com/processing/processing/pull/4911
+ Unblock hardware-accelerated P3D on ARM Mali devices
https://github.com/processing/processing/pull/5014
PROCESSING 3.3 (REV 0257) - 12 February 2017
This release adds the ability to the scale the UI or high-resolution
(known as HiDPI) screens on Windows and Linux. Sketches don't scale yet,
but this will at least make the Editor and Contribution Manager usable
again on more recent Windows and Linux laptops.
Note: the scaling feature is only meant to patch up problems on HiDPI
devices, it does not provide an all-purpose means for scaling UI elements
independent of the OS.
This release also attempts to fix several other Windows bugs, detailed
below. The "unconfirmed" fixes section is a handful of issues that I've
never been able to reproduce, but that should now be fixed. Please
confirm at the links listed to let me know if it's working.
This is release 3.3 instead of 3.2.5 due to the huge change to the PDE
for scaling, as well as minor API modifications (see below).
[ big fixes ]
+ PDE was too small on high-res Windows and Linux machines. If you're
having trouble with this, change the "Interface scaling" option in
the Preferences window. On Windows, it will attempt to auto-detect.
https://github.com/processing/processing/issues/2411
https://github.com/processing/processing/issues/4183
[ unconfirmed fixes ]
+ Visual artifacts on Windows 10 when using menus
https://github.com/processing/processing/issues/4700
+ Broken characters in the Welcome Page and the Contribution Manager
https://github.com/processing/processing/issues/4747
+ Add a dialog box to warn Windows users about NVIDIA driver problems
https://github.com/processing/processing/issues/4853
+ Blank window on startup where the "Welcome" screen should be
https://github.com/processing/processing/issues/3933
[ minor fixes ]
+ Prevent unnecessary 'file not found' errors in the console during Export
[ fixed earlier ]
+ Contribution Manager does not show all libraries until filter cleared
https://github.com/processing/processing/issues/4840
[ changes to core ]
+ StringDict(TableRow) constructor to create a dictionary from a table row
+ Allow lone double quotes in the midst of CSV strings. This improves
compatibility with spreadsheets exported from Google Sheets.
+ Return null (rather than NullPointerException) for PApplet.trim(null)
+ Make trim() work on column titles as well
+ Make Table.trim() also remove unused rows and columns. This will remove
extra rows or columns at the beginning as well, since that's what trim()
does to whitespace on strings.
+ Consume Unicode BOM (0xFEFF) in createReader() and Table parser
+ Return null for getString(), getJSONObject(), and getJSONArray()
when key is not present, more in line w/ other API
+ Several fixes for memory leaks from jdf
https://github.com/processing/processing/pull/4862
https://github.com/jdf/processing.py/issues/233
https://github.com/processing/processing/pull/4873
PROCESSING 3.2.4 (REV 0256) - 29 January 2017
Just getting in as many bug fixes as we can before the end of days.
The majority of these are from Jakub Valtar, plus a handful of other
contributors are noted below. Read all the way to the end for fun
new features.
[ the pde & the editor ]
+ Detect changes to 'hosts' file in case users modify/remove localhost.
No sketch window would open after hitting Run if someone had monkeyed
with their /etc/hosts file.
https://github.com/processing/processing/issues/4738
https://github.com/processing/processing/issues/1868
https://github.com/processing/processing/issues/3123
https://github.com/processing/processing/issues/4735
+ Ctrl-J (for debugger) is inserting newline
https://github.com/processing/processing/issues/3830
https://github.com/processing/processing/pull/4806
https://github.com/processing/processing/issues/4804
+ Spaces not handled correctly in when installing "processing-java" on macOS
https://github.com/processing/processing/issues/4779
+ println(int(byte(245))) throwing error
https://github.com/processing/processing/issues/4652
https://github.com/processing/processing/pull/4744
+ 'web colors' next to each other fail to parse in certain situations
https://github.com/processing/processing/issues/4752
https://github.com/processing/processing/pull/4753
+ Pasting code from editor to empty editor produces Exception
https://github.com/processing/processing/issues/4522
https://github.com/processing/processing/pull/4761
+ possible infinite loop on modified externally
https://github.com/processing/processing/issues/3965
https://github.com/processing/processing/pull/4762
+ Report missing brace in correct tab, suppress other errors until fixed
https://github.com/processing/processing/pull/4777
+ Improvements to sketch launching and stopping
https://github.com/processing/processing/pull/4848
+ Syntax highlighting issues (fixed with #4761)
https://github.com/processing/processing/issues/4286
+ Sketchbook window wasn't updating when sketches added, renamed, etc
https://github.com/processing/processing/issues/2944
https://github.com/processing/processing/pull/4842
[ contribution manager ]
+ Set text style properly for Contribution Manager error message
+ Added the remove filter feature (Akarshit)
https://github.com/processing/processing/pull/3890
+ Several Contribution Manager fixes
https://github.com/processing/processing/pull/4844
+ Add missing equals() and hashCode() to Contribution
https://github.com/processing/processing/pull/4843
+ Contribution Manager does not show all libraries until filter cleared
https://github.com/processing/processing/pull/4843
https://github.com/processing/processing/issues/4840
+ Mode, requiring update, appears in Updates tab but not in Modes tab
https://github.com/processing/processing/issues/4822
also fixed w/ https://github.com/processing/processing/pull/4843
[ internal changes ]
+ Only require reference.zip to be present for build
+ Move the DEBUG flag into an external file or preferences.txt.
Replace java.util.logging code with built-in logging.
+ Split GUI and non-GUI portions of console for earlier startup.
(Otherwise System.err/out not going to a file unless we have a GUI,
which means we couldn't debug before the GUI shows up)
+ Fix JRE download failure during ant build due to Oracle change
https://github.com/processing/processing/issues/4823
[ the core ]
+ Write exec() documentation
https://github.com/processing/processing/issues/4740
+ XML fixes for getChild() producing valid XML. Add xmlns to
elements procured from getChild(), and making sure newline
is added after XML header when formatting.
+ Adding missing docs and keywords for TableRow
https://github.com/processing/processing/pull/4333
+ PShape in Java2D wasn't respecting 'kind'
https://github.com/processing/processing/issues/4826
https://github.com/processing/processing/pull/4834
+ Sketches still running in the background after closing
https://github.com/processing/processing/issues/4831
(needed to allow JAVA2D to terminate when animation thread dies)
https://github.com/processing/processing/pull/4839
[ closing bugs in opengl ]
+ PShape array index out of bounds when using P3D
https://github.com/processing/processing/issues/4773
+ Disable modelX/Y/Z() in P2D because they don't exist in 2D
https://github.com/processing/processing/issues/4813
+ Fix typo in GLSL preprocessor
https://github.com/processing/processing/issues/4810
https://github.com/processing/processing/pull/4816
+ Keep Windows timer resolution high for OpenGL sketches.
Prevents frame rate in OpenGL hovering around 30 instead of 60.
https://github.com/processing/processing/pull/4847
https://github.com/processing/processing/issues/4846
[ the jakubfx renderer ]
+ FX: Prevent matrix stack overflow
https://github.com/processing/processing/pull/4799
https://github.com/processing/processing/issues/4206
+ FX: Reset transform to identity before drawing background
https://github.com/processing/processing/pull/4795
+ FX: Implement mouse wheel event
https://github.com/processing/processing/issues/4169
https://github.com/processing/processing/pull/4796
+ FX: Fix curveVertex drawing all curves together as one long curve
https://github.com/processing/processing/pull/4800
https://github.com/processing/processing/issues/4382
+ FX: Add exception handler which reports exceptions from user code
https://github.com/processing/processing/pull/4798
https://github.com/processing/processing/issues/4339
+ Unify mouse pressed/released events across renderers
https://github.com/processing/processing/issues/4361
https://github.com/processing/processing/pull/4797
[ new features ]
+ Add listPaths(), listFiles()
https://github.com/processing/processing/issues/4622
+ Add increment() method that takes IntDict to merge another dictionary.
Calling this increment() since it doesn't make sense in practice for
the other dictionary types, even though it's technically an add().
+ Added Entry class for iterating StringDict, IntDict, FloatDict
+ Added XML.print() method (prints with indent of 2)
PROCESSING 3.2.3 (REV 0255) - 7 November 2016
Lots of fixes to the Contribution Manager and a couple OpenGL tweaks.
[ 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
https://github.com/processing/processing/issues/4715
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
https://github.com/processing/processing-docs/issues/478
https://github.com/processing/processing/issues/4696
https://github.com/processing/processing/pull/4712
+ Major clean-ups to the Contribution Manager code
[ contributions to the manager ]
+ Up-to-date status disappears after filter is removed (contributed)
https://github.com/processing/processing/issues/4084
+ Updates tab blank after adding, removing, updating a contribution
https://github.com/processing/processing/issues/4082
https://github.com/processing/processing/issues/4704
+ Fixes the removal of redundant contribution and update related issues
https://github.com/processing/processing/pull/4086
[ another fix ]
+ Warn user to restart browser when it hangs on macOS
https://github.com/fathominfo/processing-p5js-mode/issues/4
[ opengl improvements ]
+ Automatic detection of POINT and LINE shaders fails
https://github.com/processing/processing/issues/4725
+ Show warning when frameRate() less than 1 is called with P2D and P3D
https://github.com/processing/processing/issues/4716
PROCESSING 3.2.2 (REV 0254) - 30 October 2016
Lots of bug fixes.
[ fixes ]
+ Find in reference for size() opens StringList.size()
https://github.com/processing/processing/issues/4224
https://github.com/processing/processing/issues/4655
+ 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
https://github.com/processing/processing/issues/4695
+ Fix extensions handling in CFBundleDocument code from appbundler
https://github.com/processing/processing/issues/4615
+ Update launch4j to 3.9, fixing a problem with exported applications
on Windows reporting "This application requires a Java Runtime Environment
1.8.0_74", when 1.8.0_101 or later were installed.
https://github.com/processing/processing/issues/4682
+ Minor String comparison fix for Tweak mode
https://github.com/processing/processing/issues/4670
+ Fix quoting problem in IntDict.toJSON()
+ Add getRenderer() to SurfaceInfo for Andres
https://github.com/processing/processing/issues/4441
+ Exceptions thrown in OpenGL apps when hitting the window's close box
https://github.com/processing/processing/issues/4690
+ Add getRowMap() function to Table
+ Go back to textMode(MODEL) is native font not available for textMode(SHAPE)
https://github.com/processing/processing/issues/4680
+ NPE thrown when using textMode(SHAPE) with a .vlw font
https://github.com/processing/processing/issues/4680
+ 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().
[ gottfried's goodness ]
+ Simplify font situation to make it possible to use vanilla JRE trees
https://github.com/processing/processing/pull/4639
https://github.com/processing/processing/pull/4641
+ Updates for ARM
https://github.com/processing/processing/pull/4640
[ andres can do anything ]
+ Automatic handling of screen FBOs breaks readPixels() for user-provided FBO
https://github.com/processing/processing/issues/4643
+ PGraphicsOpenGL: camera info not updated
https://github.com/processing/processing/issues/4609
+ Fix PShape, updateTessellation, matrix transformations
https://github.com/processing/processing/issues/4662
+ QUAD_STRIP as child shape draws extra lines
https://github.com/processing/processing/issues/4656
+ Remove extra glClear() calls
https://github.com/processing/processing/issues/4694
+ PShapes do not show up in PDF with P2D renderer
https://github.com/processing/processing/issues/4647
+ Some semi-transparent edges of sphere() meshes rendered in higher density
https://github.com/processing/processing/issues/4720
+ P2D and P3D not stopping with empty draw() blocks
https://github.com/processing/processing/issues/4722
[ other contributed fixes ]
+ Chinese translation updates
https://github.com/processing/processing/pull/4661
+ Spanish translation updates
https://github.com/processing/processing/pull/4697
+ Spanish "open sketch folder" fix
https://github.com/processing/processing/pull/4710
+ Contribution Manager showing 'null' for PeasyCam version
https://github.com/processing/processing/pull/4712
https://github.com/processing/processing/issues/4696
+ Call glGetProgramiv to retrieve program log length
https://github.com/processing/processing/issues/4659
https://github.com/processing/processing/pull/4660
+ JSONObject get() method is private
https://github.com/processing/processing/issues/4334
https://github.com/processing/processing/pull/4336
PROCESSING 1.5.1 (REV 0197) - 15 May 2011
This release fixes a handful of regressions and quirks that were found in
the Processing 1.5 release last month.
[ editor ]
+ Windows splash screen for version 1.5 says "1.2"
http://code.google.com/p/processing/issues/detail?id=631
+ "Import Library" was broken for several built-in libraries.
http://code.google.com/p/processing/issues/detail?id=637
+ Fixed broken update checker.
+ Reverted to the old shell script on Linux.
http://code.google.com/p/processing/issues/detail?id=633
+ Applets exported on Windows can't find files in the data folder.
http://code.google.com/p/processing/issues/detail?id=666
+ File > New and Command-N stop working on OS X after running a sketch
http://code.google.com/p/processing/issues/detail?id=664
[ core ]
+ Reverted to the old createFont() behavior, where native fonts will
be used with createFont() in more situations.
http://code.google.com/p/processing/issues/detail?id=662
[ svg ]
+ Improve handling of transformations in SVG files.
http://code.google.com/p/processing/issues/detail?id=388
+ Fix bug in SVG parser for shorthand curves (T/t and S/s)
http://code.google.com/p/processing/issues/detail?id=350
+ Prevent shape(PshapeSVG) from failing if SVG contains <path d=""/>
http://code.google.com/p/processing/issues/detail?id=434
+ Fix misshapen quadratic bezier curves when drawing SVG files.
[ examples ]
+ HsvSpace example sketch in 1.5 download requires additional import
http://code.google.com/p/processing/issues/detail?id=661
+ Obsolete Network > HTTPClient sketch
http://code.google.com/p/processing/issues/detail?id=655