Processing 4.1.2

Tuesday 17th January, 2023 - Bruce Sterling

https://github.com/processing/processing4/releases

Contributions Manager
The majority of the work for this release went into cleaning up and fixing the Contributions Manager. (What you see when importing Libraries, managing Modes, etc.) Please, please, please help us out and give it a lot of testing. This is old, messy, and important code that is easy to break in major ways. If you have trouble with it, please file an issue!

The “Manage Modes…” menu item was opening an empty window. #613

Fix Cannot invoke “javax.swing.JProgressBar.setVisible(boolean)” because “this.progressBar” is null error when using Update All. #618

Libraries from the Foundation (i.e. Video, Sound, and JavaFX) will now be reported properly on the stats page.

Updated the Wiki pages about Libraries, Modes, Tools, and Examples for Processing 4. These pages were copied over from the Processing 3 repository, but needed some cleaning. Still more work to do here, but it’s a start.

Implemented per-line indicators for download/install status. Eventually these will replace the progress bar in the bottom panel.

Removed an old workaround for a NullPointerException while making selections. If it reappears, please file a new issue. #3667

@sampottinger saves us again
“Cannot find a class or type named ‘PApplet’” error #626, #635

Cannot use @Override and @Deprecated in static mode #619, #622

color in imports shows up as an error in the editor (even though the code still runs) #521, #636

Sketch folders with spaces or hyphens showing errors in the editor window (even though the code still runs) #610, #637

Other Bug Fixes
Help Menu sometimes disabled on macOS. This is a Java bug, but it’s been closed as “cannot reproduce,” so I managed to find a workaround. #4353, #617, #638

Fixed ClassCastException with copy() and PGraphicsJava2D. #624

Additions? Why Not.
The shortcuts for Find Next and Find Previous (i.e. ctrl-G and ctrl-shift-G on Windows/Linux) now work inside the Find/Replace window.

Show a warning when calling clear() on the primary drawing surface. #627