Releases: processing/processing4
Processing 4.3
Revision 1293 – 26 July 2023
This release incorporates several contributed fixes (see below) and a few additional bug fixes and changes. The icons have ben updated a bit so that Processing is less likely to be confused with Visual Studio Code when seen in the dock or task bar, and the splash screen colors and layout have design tweaks as well.
-
Update documentation and process for updating language files for localization 722
-
Inherit dark mode from system settings on macOS 699
-
Use calculated text height instead of OS ascent for better vertical centering. Note: this may cause some sketches to look slightly different if textAlign(..., CENTER) is being used. 739
-
Bumped Java to 17.0.8+7.
-
Fix
NullPointerException
whenbackground()
exceeds color range when writing PDF 740
Contributions
-
Updated icons and splash screen colors from @fathompaul.
-
Register pde:// browser protocol for .pdez and .pdex files on Linux from @lala-lala-lori 674, 696
-
Syntax error highlighting placement / width incorrect from @sampottinger 714, 715
-
Better comment/uncomment key shortcut for French systems from @ThinkDumbIndustries 625, 660
-
Fix tweak mode issue with hex codes including transparency from @sampottinger 720, 721
-
Also reference support for Language Server Protocol from @Efratror 684, 690
-
Updates to the Spanish and Catalan translations from @trikaphundo 744, 746, 743, 745
-
Debugger was listing immediate array dimension last, fix from @WillRabalais04 606, 729
-
Second
beginDraw()
/endDraw()
call clearsPGraphics
object when created w/P2D
641, 728
Processing 4.3.1
What's Changed
- Clarify tutorial in ARM32.md by @SableRaf in #837
- Update core-maven by @Stefterv in #851
- Release Core to Maven CI/CD by @Stefterv in #852
- Added Code of Conduct by @rouxpz in 773a657
- Updated README.md by @SableRaf
- Added all-contributors bot by @SableRaf
- Add contributors from processing/processing repo by @SableRaf in #847
New Contributors
Full Changelog: processing-1293-4.3...processing-1294-4.3.1
Processing 4.2
Revision 1292 – 20 February 2023
Impress your friends with new pde://
protocol handlers! With Processing 4.2, you can link to .pdex
and .pdez
files to immediately run and install libraries and sketches. How it works:
-
Linking to
pde://processing.org/somesketch.pdez
in the browser will downloadsomesketch.pdez
and load it into the editor. It also works for files, for instancepde:///Users/ada/Desktop/somesketch.pdez
will open an archive found on the Desktop. -
This also works for contributions (Libraries, Modes, Tools) archived as
.pdex
files.
Both file types are simply a renamed .zip
file. So to create sketches in .pdez
format, use Tools → Archive Sketch, and replace the .zip
with .pdez
.
This is implemented for macOS and Windows (#559), based on this article which appears to be from @pboucher. Thank you! We still need help with implementing and testing it on Linux (#674). We would also like to add a warning dialog when opening files this way (#560).
In addition to the protocol handlers, there are a number of fixes in this release, especially for Windows users (and soon, for Python users).
Windows users, we still love you
-
The
.pde
,.pdex
, and.pdez
icons now work on Windows! -
Exporting projects to Windows resulted in “cannot find Java” errors, now fixed. #667
Snake people, we love you too
- Several internal changes have been made to better support future releases of Python Mode. Fingers crossed that we'll be able to launch some of this soon.
And still we fix the bugs
-
Fix encoding problem in “has been resized from 100?100 to 116?100 by the window manager” messages when using OpenGL.
-
fullScreen(P2D)
not using the full screen when Windows display is scaled to fractional sizes. #514. -
Table.getString()
raises stack overflow when column type set todouble
. #671 -
Added support chained decimals during SVG Parsing (contribution from @bsapozhnikov) #515, #659
-
Applications were being exported to the wrong folder. #601
-
Fixed more
/tmp
folder problems on Linux. #666
Processing 4.1.3
Revision 1291 – 9 February 2023
Rollup of bug fixes from the past few weeks. Mostly in the Contributions Manager, several others too.
bug fixin'
-
Lots of work on the Contributions Manager to deal with concurrency issues (and myriad problems revealed in the process). #640
-
Preferences were not saved when closing Processing under certain circumstances. #608
community contributin'
house cleanin'
-
Warn users about multiple libraries with the same name.
-
Tool tips for errors and warnings not picking up correct colors from the theme. Also made fixes for the margins and border of the popup.
-
Many more updates to the contribs wiki
internal changin'
Processing 4.1.2
Revision 1290 – 16 January 2023
Happy Martin Luther King Jr. day!
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()
andPGraphicsJava2D
. #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
Processing 4.1.1
Revision 1289 – 28 November 2022
See the release notes for 4.1 and 4.0.2 for major updates since 4.0.1 was released in August.
This release adds a single file for Language Server support that was missing in the 4.1 release from a few hours ago.
And if you'd like to try out the Language Server with Visual Studio Code, you can give this project a try.
Processing 4.1
Revision 1288 – 28 November 2022
Compared with the 4.0.2 release which was focused on stability, this 4.1 release is focused on instability adding a couple new features. They'll need more testing, but hopefully you'll find them useful.
what makes this 4.1 instead of 4.0.3
-
This release adds initial support for Language Server Protocol, which means we will soon be able to integrate the compile/run process with other editors like Visual Studio Code. There is still a lot of work to be done here (this code is probably more “alpha” quality) but it's a good step forward. To use it, we'll first need an LSP “client,” which can be a community contribution so keep an eye out for that in the coming weeks and months. Thanks to @kgtkr for the LSP code here, it's a huge help. #117
-
Support has been added for extended language tags, which makes available a Traditional Chinese (
zh_TW
) translation in addition to the previously available Simplified Chinese translation (originallyzh
, now renamed tozh_CN
). You can see the full list of supported language tags here. We will keep the existing two-digit tags in place for now, and update them as needed when new language translations are added. Read more on the Translations page on the Wiki. Thanks to @jsyeh for thezh_TW
translation. #600 -
Since the redesign of Processing.org, the offline reference is too large to include the download. In this release, a “Download Offline Reference” item was added to the Help Menu, for people who need an offline copy. It creates a file called
reference.zip
in the sketchbook. If that file is present, then the Help menu links and Find in Reference will use that copy of the reference. If it is not present, online URLs will be used. You can also manually copy thereference.zip
file from sketchbook to sketchbook. Putreference.zip
in the root of your sketchbook and restart Processing so that it picks up the new file. For instance, in a class situation, you might put the file on a shared server and tell people where to find it. Read more on the Offline Reference page on the Wiki. #524, #213
contributed fixes
-
size(863,863/2)
insidesetup()
function (fix from @sampottinger) #602, #609 -
Pre-processor was inserting extra spaces (another from @sampottinger) #607, #609
-
Fix the JavaDoc for mousePressed variable from @SableRaf. #605
other updates
-
In some cases, the Theme was not being saved after Processing was restarted. #565
-
A few updates and clarifications in the
size()
reference. -
The Java version has been bumped from 17.0.4 to 17.0.5.
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.
Processing 4.0.1
Revision 1286 – 9 August 2022
And what sort of anniversary would it be without a regression that breaks a major feature? Ahem. Here's 4.0.1…
-
In the 4.0 release, switching to p5.js Mode caused an error message to pop up. Now fixed. #530
-
One minor addition: in the Preferences window, clicking the “More preferences can be found…” text will open the wiki page with more details about all these wonderful options.
Other than that, please see the release notes for 4.0…
Processing 4.0
4.0.1 is available! A nasty bug was found just after the release. So once you're done reading the notes below, please proceed to download the latest instead: https://github.com/processing/processing4/releases/
Revision 1285 – 9 August 2022
On the 21st anniversary of the very first Processing release (revision 0001), we're posting the final 4.0, which is the 286th release of the software.
The primary goal for Processing 4 is to keep everyone's code running, even as operating systems, hardware, and hairlines continue to change.
There are really too many changes to list, but you can start by reading about them at this link.
Below is a list of the incremental changes in this release since beta 9 a few days ago:
welcome, welcome!
-
Added a new “Welcome” screen that links to a couple examples as well as the changes and updates page.
-
The splash screen has also been updated with a new image for 4.0.
wait, what?
-
Export to Application was almost completely broken on macOS, where all apps were reporting as “damaged” when transferred to another machine. It's now working again, and also prompts users to install the Xcode tools. See the wiki for more information about how to work with Apple's code signing restrictions.
-
There was a lot of out-of-date material on the wiki pages in the Processing 3 repository on Github. We now have new versions of the major pages in the Processing 4 repository. This includes pages on Themes, Supported Platforms, Exporting Applications, Troubleshooting, and the FAQ.
-
There are many entries in
preferences.txt
that are important, but not important enough to make it into the Preferences window. Some of those are now documented here. -
Processing sometimes creates a lot of temporary files (basically, each time you run a sketch), which didn't always get cleaned up by the operating system. With 4.0, those are all being written to a separate “processing” folder, so that they can be automatically removed after 7 days. #529
the last of the bugs
-
When using Export to Application, errors in the code would cause the software to just report “error during export.” Now it provides the usual error message (about the error itself).
-
The dropdown menu in the Theme Selector wasn't updating properly when new themes were selected.
-
The rollover and pressed color for the console scrollbar was always blue.
-
Inside Movie Maker,
ffmpeg
wasn't available on all platforms, that's now fixed. We've also updated to version 5.0.1.
you probably won't notice
-
Examples have been updated, and are now being pulled from the processing-examples repository. May have also had to remove the sin/cos lookup tables from the Rotating Arcs example so that we could comfortably put it on the Welcome screen.
-
Compress
jdk/Contents/Home/legal
into a single zip. It was 300 files, or 60% of the 500 files in the entire JDK. Lawyers FTW.