@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.

+ Lots of fixes for the Net Library by Jakub

+ Include newlines at end of files (i.e. when saving .pde files)
  Why do this?

+ Rename (refactor) dialog is unusable on high density screen

+ Detect errors from curved quotation marks (a headache when copying/pasting)

+ NullPointerException on close button with P3D and noLoop

+ Fix exception due to version parsing in Java 9

+ Fix line joins on triangles

[ somewhere in the middle ]

+ Fix NullPointerException in ContributionManager.deleteFlagged()

+ Fix scrub comments for empty block comment /**/
+ Fix error checker crash when className contains [ or ]

+ Table.insertRow() causes ArrayIndexOutOfBoundsException (with fix)

+ blendMode() with PDF isn't showing the warning about it not being available

+ textureWrap() not updating when changed during draw()

+ Cap frameRate() to 1000 in OpenGL

+ ARM tweaks for shaders on the Raspberry Pi

+ Fix 3D on contemporary versions of Linux

+ cursor() don't work after void noCursor() in P2D and P3D

[ changes least likely to be noticed ]

+ Fix JRE download issues

+ Update to Java 8u162

+ PdePreprocessor change is breaking current source

+ Output .java files in UTF-8 and force compiler to use UTF-8

+ Refactor to use a few Java 8 features

+ Remove "Pipe Organ" from exec() docs

+ Fix typo in Italian translation

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

+ Make un/registering methods in PApplet thread-safe

+ set colorModeDefault to true by default

+ Minor bezierPoint() rewrite for performance

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

[ jakub, we love him ]

+ Fix comment/uncomment adding slashes at wrong indent
+ Add JavaFX runtime to error checker class path

[ gottfried, with gusto ]

+ Ironing out the new shell() command

+ Workaround issues with August 2017 release of Raspbian

+ Fix bugs in line vert shader

[ 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.
+ Something went wrong with the 64-bit Linux release:
  " cannot open shared object file: No such file or directory"

+ "Could not parse -1 for --display" message on some Windows machines

[ some new things hopefully going good ]

+ Fix a NullPointerException that showed up with textWidth() and OpenGL

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

+ Prevent the console from freezing up when print() and println()
  are used to print thousands of lines of output.

+ Apple broke key repeat in macOS Sierra, here's how to fix it:

+ Fix the keyPressed variable when multiple keys are pressed

[ some you probably won't ]

+ Clarify wording of error message regarding sketchbook location

+ 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

+ Handle edge case for set() being called with a 2D vector, on a 3D vector

[ 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

+ IO library updates for ARM
+ Check $SUDO_USER on Linux for locating the sketchbook folder

+ Debugging the "files changed" detector in the Editor

+ Still more updates to the change detector
+ Warn user to use L when creating a number constant that won't fit into an int

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

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

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

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

+ Some line heights were wrong on hi-dpi displays

+ Fix small tooltip text on high-dpi screens
+ Ugly button images at 125% and 150% scaling on Windows

+ 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
  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
+ 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
  ...and revert it back again
+ Retry with multisampling disabled if creating a framebuffer 

+ Report more error conditions in validateFramebuffer

+ Add more Raspberry Pi related fixes to JOGL

+ Unblock hardware-accelerated P3D on ARM Mali devices

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.

[ unconfirmed fixes ]

+ Visual artifacts on Windows 10 when using menus

+ Broken characters in the Welcome Page and the Contribution Manager

+ Add a dialog box to warn Windows users about NVIDIA driver problems

+ Blank window on startup where the "Welcome" screen should be

[ 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

[ 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