Processing 4.0 beta 9
Revision 1284 – 4 August 2022
Getting very close to 4.0! Just a bit more now…
design, design, design
Perhaps most noticeable, this release includes a ton of refinement on the design.
-
Another set of 16 themes, these with gradients, have been added to the Theme Selector. Have fun!
-
If you've changed the theme in a previous beta, it will be reset the first time you use beta 9, because of major updates to theme handling (many new parameters, others renamed and cleaned up). Relatedly, changing the theme no longer writes a
theme.txt
file to your sketchbook folder. -
Added options to the Theme Selector to write
theme.txt
to your sketchbook folder (so you can make manual edits), and also to reload the theme dynamically (after you've made changes). -
Lots of minor fixes to typography and layout of elements. Hopefully you'll agree that the changes add up to things feeling a lot better.
-
We're now using FlatLaf to improve the look and feel of dialog boxes and other components that we've not customized ourselves.
-
Nearly all PNG-based icons and interface elements have been replaced by SVGs that are automatically re-rendered to match the theme when it changes.
-
The base font being used is now part of the language translation, because specific fonts are required for non-Roman languages, or languages that are not supported by the Source Sans 3 that we use everywhere else. This also helps us get the language-specific overrides for Chinese, Japanese, Korean, Greek, and Arabic out of the code and into something that can be updated more easily.
-
The Preferences window has had a major facelift. It was giving me great anxiety. It was so, so ugly. It is now less ugly.
-
The Contributions Manager is now themed and cleaned up to match the rest of the interface.
-
We're replacing the underscores in tab names with spaces. It looks a little nicer with the default sketch naming. If you'd like to keep underscores, open
preferences.txt
and setsketch.name.replace_underscore = false
. -
Updated the scroll bars to match the theme. #265
-
New icon buttons for the status bar instead of hacky emojis. The clipboard icon even changes to a search icon when holding down shift!
-
Implement 2x versions of the icons for the debugger window/variable inspector. #3921
-
Taken collectively, these are the visual design changes for 4.0. #48
new features
-
New sketch naming schemes! For those who didn't enjoy the sketch plus underscore plus six digit date, your time has come. Visit the Preferences window and behold the naming options available in the dropdown menu. You can now use the “Friendly” naming scheme that folks seem to love, as well as a pair of other less serious alternatives. #6045, #6048, #144
-
It's also possible to create your own naming schemes. Create a file named
naming.json
in your sketchbook folder that follows the same layout in the Processing download. Provide a name, a list of prefixes, and a list of suffixes just like that file. Save it and restart Processing, and your new option will be available in the dropdown.
other big ones
-
We should be fully set for Apple Silicon (i.e. M1 and M2) support. #128
-
Code completion stopped working between beta 4 and beta 5. Now it's back. #491
community contributions!
-
Double-clicking a
.pde
file also opens an untitled/empty sketch. #477, #479, #218 -
Updates to the German translation. #483
-
Add
flatlaf.jar
toconfig.xml
on Windows. #498 -
Fix parsing of java error messages containing ":" #492, #493
-
Exported applications were giving
java.lang.ClassNotFoundException: --full-screen
errors. #488, #502. -
Editor was treating {} brackets as code when they're inside a String, char or comment. #444, #504
-
Add extra Java arguments to enable anti-aliasing for KDE users. #513, reference
bug fixes
-
Fix “Unable to load Java Runtime Environment” errors on Apple Silicon machines. #526
-
Updated the Help menu entries to make sure they're going to the right locations for 4.x. As with the reference, links are no longer local (see #524).
-
Help → Libraries Reference and Help → Tools Reference submenu items were broken. #5839
data updates
-
Added
random()
method to theXxxxList
classes to return a random value from the list. -
Added
getXxxxList()
methods toJSONObject
-
Added
toXxxxList()
methods toJSONArray
-
Renamed
getXxxArray()
totoXxxArray()
inJSONArray
for consistency. The old versions are still available, but deprecated. -
Switch to
toArray()
instead ofarray()
in theXxxxList
classes. Did not deprecate old version because it was actually broken. -
Lots of cleanup (and some bug fixing) in the
XxxxList
classes.
internal changes
-
Bumped the Java version to 17.0.4+8.
-
If you get a “core does not run on this architecture” when running from the source, you may need to run
ant clean-jogl
insidecore
. -
Also added a
clean-libs
target tobuild.xml
files that need it. This will re-download libraries that we rely upon like JOGL, Batik, Ant, and others. -
Cleaned up several files in the download, the footprint should be a few dozen megabytes smaller.
-
Updated to the latest version of JNA (5.12.1) for better Apple Silicon support.
-
All the remaining ancient bug URLs (Bugzilla and Google Code) have been updated and removed from the source. The Google Code issues are re-linked to their Github equivalents, and the old Bugzilla pages have been revived since their disappearance last August.
known issues
-
We've had to remove the offline version of the reference that was accessible from the Help menu. We hope to bring it back some day. #524
-
The mixed mode warning is temporarily missing. #519
-
color
in imports shows up as an error, but code still compiles and runs. #521 -
Need to make it possible to use “module” jars so that other JavaFX classes can be imported. #522, #15