Skip to content

Processing 4.0 beta 4

Compare
Choose a tag to compare
@processing-bot processing-bot released this 19 Aug 06:43
· 1311 commits to main since this release

Revision 1279 – 24 January 2022

Loooots of changes under the hood to better support more platforms. And by that, we mean Apple Silicon (now in alpha!) and Raspberry Pi devices (once again). And whatever else gets cooked up in the coming years.

For the Windows users, the scaling issues have finally been sorted out. Use 125% and 250% and whatever weird Windows scaling you want, and it will work. You can safely uncheck the “Disable HiDPI scaling” checkbox in Preferences.

Against my better judgement, I'm posting a release that's native for Apple Silicon. OpenGL is currently broken. Sketches crash immediately. You should only use it if you're a masochist. Or a masochist that likes extremely fast but very incomplete software, and won't file bug reports saying “OpenGL is broken.” But it's being posted for folks who do not need OpenGL, and/or want to help debug. #370

We've also moved the FX2D (JavaFX) renderer to its own library, which is available from the Contributions Manager. In related news, the download size is now 230 MB instead of 493 MB.

New features!

  • New downloads for Apple Silicon (incomplete! #128), and Raspberry Pi (32- and 64-bit). Some things are still broken, so the releases will be on Github but not processing.org/download.

  • The design continues coming together, with new icons for exported applications, document files (.pde, .pdex, and .pdez), plus the Foundation icon used in the Contributions Manager. This work is still in progress, at least until #48 is closed.

  • Re-implement settings.path to support portable versions. #3948, 362, #360, fixed with 1a49263a

We're all regressing, why can't your software?

  • Double-clicking .pde files on macOS was broken in beta 3. #347

  • PShape not allowing attibutes of type int. #344, #363

  • Using P2D with createShape() causing GLException. #353, #367

  • Fix error in internal utility function to invert scaling. #366, #217, #367

Other fixes…

  • Tons of work to get the Windows version of the application to scale properly. Even the opening splash screen is behaving better. #342

  • displayDensity() was returning 1 when run from the PDE on Windows. #339

  • Fix "Could not delete disable_hidpi" message that was showing up on macOS and Linux after closing the Preferences window.

  • Major work inside the Contributions Manager: links to projects, links in description text now working. Some fixes to speed things up. Removing hundreds of lines of vestigial code. Fix the font being used on the progress bar.

  • Removed "Illegal reflective access" warning on Linux. #207

Changes

  • Native libraries for OpenGL are no longer packed inside .jar files. This fixes slowdowns on Windows caused by antivirus software kicking into high gear. It also gives us a path to get OpenGL working on Apple Silicon. Unfortunately, this also means you'll need to set java.library.path in an IDE outside the PDE. #4783, #4239, JOGL, Stack Overflow

  • JavaFX moved to its own library. It no longer works with Tools and Modes as a result, but it was just too hefty relative to its importance. Read about it in #348

  • A massive amount of work for our supported platforms. Some of the gritty details are here but we have six of them. Export to Application has been rewritten. It's now possible to build Processing on all six of these platforms.

  • Cross-platform support for native libraries has also changed significantly. The export.txt file is ignored completely (no libraries required it anyway), and the subfolders names for native libraries have changed. See the layout of core/library for an example. Again, this enables all these platforms from Apple Silicon to Raspberry Pi.

Contributed tidbits

  • Select the entire line when doing Edit → Copy on an empty selection. #100

You probably won't notice, but it's noted here in case you do

  • Set the minimum Java version for Windows launcher to 17.0.1.

  • Bumped Ant from 1.10.10 to 1.10.12.

  • Upgraded JNA from 5.8.0 to 5.10.0.

  • Spent a bunch of time looking into RSyntaxArea. It's not gonna happen. #355, #3199, and the details.