Processing 4.0.2
Revision 1287 – 24 November 2022
🦃 Happy Thanksgiving! 🦃
Fixing more regressions and other steps backward found since the 4.0 release. Enjoy!
the big ones
-
OpenGL apps now work with macOS Ventura, once again thanks to @jaegonlee. #544
-
Library version number parsing wasn't ignoring comments properly, so libraries that followed the template closely were showing
The version number for “…” is not a number
. #586, #553 -
The Updates tab of the Contribution Manager was throwing error messages about
this.progressBar
. #567 -
fullScreen()
withpixelDensity(2)
was broken with the default renderer. On startup, the sketch would reportDisplay -1 does not exist, returning 1 for displayDensity(-1)
. #487 -
JSSC update for M1/M2 from @sampottinger #525, #577
the li'l and medium ones
-
After creating 26 sketches, the “take a break” message still showed up after restarting Processing. #582
-
With multiple users sharing a machine, Processing would not work properly for the second user due to a problem with the temporary directory. #549
-
Added explanation for how to fix Processing when a user disallows access to the Documents folder on macOS. #581
-
Fixed an infinite loop that could be caused by running out of options for a sketch naming scheme.
-
When calling
random()
on a list (nowchoice()
) with no elements, it would throw a weirdException
. Now it throws a more descriptive exception.
need some help here
Contributions from the community!
-
Loading SVG file was giving
Illegal base64 character 20 encoding error
. Fixed thanks to @jaegonlee and @vepo. #592, #599 -
Updated Catalan translation thanks to @trikaphundo. #550, #554
-
Updates to the Spanish translation, also from @trikaphundo! #552, #574
-
A couple fixes for the Ukranian language strings from @rzats. #585
-
@LesleyWagner fixed the vertical placement of top elements in the Manager window. #520, #539
-
Preprocessor fix from @sampottinger for function/variable "does not exist" errors reported when defining a class without
setup()
ordraw()
. #579, #597
steps forward
-
Added a
choice()
method to theXxxxList
classes, which returns a random value from the list. SimilarlyremoveChoice()
removes a random element from the list and returns the value. -
Also added a
choice()
method that returns random integers. Soint value = choice(10)
is a shorthand way of sayingint value = (int) random(10)
-
Removed the
choice()
(formerlyrandom()
) method from theXxxxList
classes that took aPApplet
object for its random number seed/generator. Just feels like overkill at this point.
internal changes
-
Using more Java 17 syntax in the code. No plans to really scrub everything to change the syntax over, just a matter of cleaning things up as we go.
-
Fixed a potential casting problem with
Platform
andDefaultPlatform
. Should have been unreachable, but fixed anyway. -
Brought back
getCodeIndex()
for GUI Builder Tool… then removed it again. #545, #596
me talking on the wiki
-
Added a Translations page to the 4.x wiki, which is update to the Localization page from the 3.x repository.
-
Posted an explanation of how to create a
naming.json
file so you can set up your own sketch naming schemes.