Processing 4.x releases (currently in “alpha”) that use Java 11
Processing 4 makes important updates to the code to prepare the platform for its future. Most significantly, this includes the move to JDK 11 and support for new Java language features. The changes should be transparent to most users, but because of the massive shift behind the scenes, this will be 4.0.
We don't have a schedule for a final release. This work is being done by a tiny number of volunteers working in their personal free time.
As with all releases, we'll do everything possible to avoid breaking API. However, there will still be tweaks that have to be made. We'll try to keep them minor. Our goal is stability, and keeping everyone's code running.
changes.mdif you're using
surface.setResizable()with this release on macOS and with P2D or P3D renderers.
PApplethave been removed. These were not documented, hopefully were not in use anywhere.
frameobject has been removed from
PApplet. We've been warning folks to use
surfacesince 2015, but we still should warn users
PImage, which may be a problem for anything that was relying on those internals
new PImage(java.awt.Image)is no longer available. It was an undocumented method that was
publiconly because it was required by subclasses.
MouseEvent.getAmount(). These had been deprecated, not clear they were used anywhere.
export.include_javawhich also embeds a string for the platform for better localization support.
We'll eventually create a new wiki page with the build instructions, but for the time being, the instructions are:
antis installed for your platform.
Open a Terminal window/Command Prompt/whatever and type:
cd /path/to/processing4/build ant run
You might have multiple versions of Java installed. Type
java -versionand if it says something other than 11, you'll need to set the
On macOS, you can use:
export JAVA_HOME="`/usr/libexec/java_home -v 11`"
If you need to go back to Java 8 (i.e. to build Processing 3), you can use:
export JAVA_HOME="`/usr/libexec/java_home -v 1.8`"
On Windows and Linux, you can set
JAVA_HOMEto point at the installation the way you would any other environment variable.
And again, we'll have more complete instructions later once the dust settles.
If you're using Eclipse, it'll complain about the lack of
jogl-all-src.jar. Steps to create your own:
git clone --recurse-submodules git://jogamp.org/srv/scm/jogl.git jogl cd jogl git checkout 0779f229b0e9538c640b18b9a4e095af1f5a35b3 zip -r ../jogl-all-src.jar src
Then copy that
jogl-all-src.jarfile to sit next to the