Processing 3.3.7.1

@gohai gohai released this Jul 1, 2018 · 115 commits to master since this release

This is a special release for ARM only:

  • IO: pinMode() can now set pull-up and pull-down resistors on Raspbian (thanks to @xranby for 64-bit help)
  • 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 (contributed by @OlivierLD)
  • IO: New example sketch showing how to use a TSL2561 light sensor (contributed by @OlivierLD)
  • IO: New example sketch showing how to use a PCA9685 Servo & PWM controller (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")
  • Processing on ARM can now export applications for Microsoft Windows
  • Java got updated to 8u172

Processing 3.3.7

@benfry benfry released this Mar 14, 2018 · 115 commits to master since this release

PROCESSING 3.3.7 (REV 0264) - 13 March 2018

A rollup of several fixes from the last few months. 


[ changes most likely to be noticed ]

+ Windows Defender blocks Processing 3.3.6. Not sure why this was happening,
  but hopefully a new release should be all that's necessary to fix it.
  https://github.com/processing/processing/issues/5329

+ Lots of fixes for the Net Library by Jakub
  https://github.com/processing/processing/pull/5378
  https://github.com/processing/processing/issues/4419
  https://github.com/processing/processing/issues/5360
  https://github.com/processing/processing/issues/3970
  https://github.com/processing/processing/pull/5389

+ Include newlines at end of files (i.e. when saving .pde files)
  https://github.com/processing/processing/issues/5327
  Why do this? https://stackoverflow.com/a/729795

+ Rename (refactor) dialog is unusable on high density screen
  https://github.com/processing/processing/issues/5368

+ Detect errors from curved quotation marks (a headache when copying/pasting)
  https://github.com/processing/processing/issues/5133
  https://github.com/processing/processing/pull/5152

+ NullPointerException on close button with P3D and noLoop
  https://github.com/processing/processing/issues/5214
  https://github.com/processing/processing/pull/5384

+ Fix exception due to version parsing in Java 9
  https://github.com/processing/processing/issues/5275

+ Fix line joins on triangles
  https://github.com/processing/processing/issues/5353
  https://github.com/processing/processing/pull/5354


[ somewhere in the middle ]

+ Fix NullPointerException in ContributionManager.deleteFlagged()
  https://github.com/processing/processing/issues/5342

+ Fix scrub comments for empty block comment /**/
  https://github.com/processing/processing/pull/5265
  https://github.com/processing/processing/issues/5219
  
+ Fix error checker crash when className contains [ or ]
  https://github.com/processing/processing/pull/5304

+ Table.insertRow() causes ArrayIndexOutOfBoundsException (with fix)
  https://github.com/processing/processing/issues/5406

+ blendMode() with PDF isn't showing the warning about it not being available
  https://github.com/processing/processing/issues/5105

+ textureWrap() not updating when changed during draw()
  https://github.com/processing/processing/issues/5322

+ Cap frameRate() to 1000 in OpenGL
  https://github.com/processing/processing/issues/5404

+ ARM tweaks for shaders on the Raspberry Pi
  https://github.com/processing/processing/pull/5297

+ Fix 3D on contemporary versions of Linux
  https://github.com/processing/processing/pull/5428
  https://github.com/processing/processing/issues/5308

+ cursor() don't work after void noCursor() in P2D and P3D
  https://github.com/processing/processing/issues/5330
  https://github.com/processing/processing/pull/5340


[ changes least likely to be noticed ]

+ Fix JRE download issues
  https://github.com/processing/processing/issues/5284

+ Update to Java 8u162

+ PdePreprocessor change is breaking current source
  https://github.com/processing/processing/issues/5413

+ Output .java files in UTF-8 and force compiler to use UTF-8
  https://github.com/processing/processing/pull/5436

+ Refactor to use a few Java 8 features
  https://github.com/processing/processing/pull/5134

+ Remove "Pipe Organ" from exec() docs
  https://github.com/processing/processing/pull/5282

+ Fix typo in Italian translation
  https://github.com/processing/processing/issues/5365

+ Remove useless deprecation on PImage.mask(int[])

+ Make un/registering methods in PApplet thread-safe
  https://github.com/processing/processing/pull/5379

+ set colorModeDefault to true by default

+ Minor bezierPoint() rewrite for performance
  https://github.com/processing/processing/pull/5251


[ additions! new features! ]

+ Added setIndex() method to IntDict, FloatDict, StringDict

+ Added resize() to IntDict, FloatDict, StringDict

+ Fix entries() Iterator in IntDict, FloatDict, StringDict

Processing 3.3.6

@benfry benfry released this Sep 4, 2017 · 226 commits to master since this release

PROCESSING 3.3.6 (REV 0263) - 4 September 2017

A collection of mostly minor bug fixes that have accreted 
since the last release back in June.


[ contributions, we love 'em ]

+ Add Italian translation
  https://github.com/processing/processing/pull/5169
  
+ Wrong tab for missing brace
  https://github.com/processing/processing/pull/5180
  https://github.com/processing/processing/issues/5165

+ Fix typo in German translation
  https://github.com/processing/processing/pull/5195
  https://github.com/processing/processing/issues/5187
  
+ Movie Maker only works once
  https://github.com/processing/processing/issues/5168
  https://github.com/processing/processing/pull/5230
  
+ Add more build products to linux/.gitignore
  https://github.com/processing/processing/pull/5229

+ Add issue template to the repo
  https://github.com/processing/processing/issues/5239
  https://github.com/processing/processing/pull/5245

+ Add workaround for window size = 0 crash
  https://github.com/processing/processing/pull/5234
  https://github.com/processing/processing/issues/5052


[ jakub, we love him ]

+ Fix comment/uncomment adding slashes at wrong indent
  https://github.com/processing/processing/issues/5171
  https://github.com/processing/processing/pull/5185
  
+ Add JavaFX runtime to error checker class path
  https://github.com/processing/processing/pull/5186


[ gottfried, with gusto ]

+ Ironing out the new shell() command
  https://github.com/processing/processing/pull/5082

+ Workaround issues with August 2017 release of Raspbian
  https://github.com/processing/processing/pull/5222

+ Fix bugs in line vert shader
  https://github.com/processing/processing/pull/5184
  https://github.com/processing/processing/issues/5181
  https://github.com/processing/processing/issues/5182
  https://github.com/processing/processing/issues/5183
  https://github.com/processing/processing/issues/5194


[ behind the scenes ]

+ 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)

Processing 3.3.5

@benfry benfry released this Jun 23, 2017 · 291 commits to master since this release

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

@benfry benfry released this Jun 3, 2017 · 300 commits to master since this release

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

@benfry benfry released this May 2, 2017 · 346 commits to master since this release

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

@benfry benfry released this Apr 26, 2017 · 355 commits to master since this release

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

@benfry benfry released this Apr 23, 2017 · 370 commits to master since this release

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

@benfry benfry released this Feb 12, 2017 · 511 commits to master since this release

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