@benfry benfry released this Jul 26, 2018 · 31 commits to master since this release

Assets 9
PROCESSING 3.4 (REV 0265) - 26 July 2018

Kind of a huge batch of bug fixes and updates. 

We've had trouble on Windows when MS Security Essentials or Windows Defender
decides to defend your machine from our software, removing files from the 
download and making Processing unusable. A few extra checks have been added
so that more helpful warnings can be conveyed when this happens.

The other important fix is better handling in the Contributions Manager 
for sites that use https. This fixes Python Mode installation, and many
others that have recently started reporting "Could not find a ... in the
downloaded file" when installing a Library, Mode, Tool, or Example set.

We're also bumping the release to 3.4 because of a lot of additions,
plus some internal changes that have an impact on API.

[ the big ones ]

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

[ new features ] 

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

[ do you like data? ]

+ 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

[ updates ]

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

+ Change lack of blendMode() to a warning rather than an error in PDF

+ Updated the copyright and year in the launch and About screen.

[ give gohai a hand, because he's all arm ]

+ A large number of changes and fixes for ARM submitted by Gottfried,
  who also posted and 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

+ 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

[ contributed by the community ]

+ 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

[ bug fixes ]

+ Make sure the editor is updated after reloading changes (from Jakub)