diff --git a/app/src/processing/app/Base.java b/app/src/processing/app/Base.java index e0253bd09..7cc295433 100644 --- a/app/src/processing/app/Base.java +++ b/app/src/processing/app/Base.java @@ -54,9 +54,9 @@ import processing.data.StringList; public class Base { // Added accessors for 0218 because the UpdateCheck class was not properly // updating the values, due to javac inlining the static final values. - static private final int REVISION = 1285; + static private final int REVISION = 1286; /** This might be replaced by main() if there's a lib/version.txt file. */ - static private String VERSION_NAME = "1285"; //$NON-NLS-1$ + static private String VERSION_NAME = "1286"; //$NON-NLS-1$ static final public String SKETCH_BUNDLE_EXT = ".pdez"; static final public String CONTRIB_BUNDLE_EXT = ".pdex"; diff --git a/core/done.txt b/core/done.txt index fc7c7c7fb..bbe5a0a74 100644 --- a/core/done.txt +++ b/core/done.txt @@ -1,3 +1,7 @@ +1285 (4.0) +X no changes in core + + 1284 (4.0b9) X allow . to start a number in SVG paths (a little) X still lots of work to do here, it's an SVG 1.1 (vs 1.0) thing diff --git a/core/todo.txt b/core/todo.txt index b07a001f0..6464a749e 100644 --- a/core/todo.txt +++ b/core/todo.txt @@ -1,5 +1,4 @@ -1285 (4.0) -X no changes in core +1286 (4.0.1) _ concurrent StringDict et al diff --git a/done.txt b/done.txt index e66791c50..171242195 100644 --- a/done.txt +++ b/done.txt @@ -1,3 +1,381 @@ +1285 (4.0) +X can we compress jdk/Contents/Home/legal into a single zip? +X it's ~300 files of the ~500 in the entire jdk directory +X working on macOS, written up for Windows and Linux +X test on Windows and Linux +X working on an updated welcome screen +X fix usages of .array() method in PDE code +X default naming selection not being set in prefs window +X make sure mono font is coming from languages file when first setting editor pref +X fix the processing.foundation cert +X remove links to old pages from the language translations +X cd build/shared/lib/languages +X grep menu.help * | grep url +X make sure the numbers scripts are working again before launch +o anything else we need to be tracking? +X recent errors from AndroidMode +X seems related to the random JavaBuild issue +X final call on the About screen + +themes +X try gradients in Lab space +X not an obvious win, so set as a pref and come back to it later +X updateTheme() in Theme Selector not updating color for dropdown on changes +X theme_selector.combo_box.enabled.bgcolor +X theme_selector.combo_box.enabled.bgcolor +X doesn't update dynamically unless you (a) select ‘Minerals’ or ‘Alloys’ +X or (b) open, then close the dropdown +X changing between themes not updating the combo box text (though arrow trigger works) +X switching between alloys and minerals will properly update +X rollover color for console scrollbar is always blue +X probably a typo in the theme generator (yep) + +export +X if error in the code during export, was just saying "error during export" +X now sending the error to the status bar as expected +X get code signing to work again on macOS for exported applications +X absolutely floored that it was broken this long +X new docs added, window text redone +X "include Java for macOS" only relevant for current macOS platform +X better to fix that, or make it possible to download both? +X Export to Application on Apple Silicon is including a broken "Universal" appbundler +X need to lipo a new appbundler, or have it export one of the two files +X rewrote Exporting Applications wiki page +X include more details about Gatekeeper et al +X “Array_Test.app” is damaged and can’t be opened. You should move it to the Trash. +X https://github.com/processing/processing/issues/4214 (closed) +X figure out if we can do anything with signing applications +X https://developer.apple.com/forums/thread/128166 +X https://developer.apple.com/forums/thread/701514#701514021 +X https://developer.apple.com/forums/thread/701581#701581021 +/ Xcode command line tools must be installed first +/ show a message before even opening the Export dialog +X can't restrict to installation b/c may want to do other platforms +X or detection of the CLT may not be correct +X or users may be doing their own manual signing anyway +X for now, just cleaning up the messages a bit for clarity +X and bump the font size back up for legibility + +docs +X update theme instructions +X https://github.com/processing/processing4/wiki/Themes +X update the platforms page +X https://github.com/processing/processing4/wiki/Supported-Platforms +o rename to 'platforms'? +X examples still coming from processing-docs repo +X https://github.com/processing/processing-examples +X can safely clone this repo instead of using processing-docs +X 'chars' array is never used in ascii video example +X https://github.com/processing/processing-video/blob/master/examples/Capture/AsciiVideo/AsciiVideo.pde +X add wiki page for preferences and customization +o auto-complete not auto-triggering, change pref for handling? +o Auto-completion: [ ] Disabled [ ] Show on Ctrl-Space [ ] Always show +o https://github.com/processing/processing/issues/5691 +X docs about settings.path and sketchbook.path.four +X https://github.com/processing/processing4/issues/362 +X https://github.com/processing/processing4/wiki/Preferences#sketchbook-and-settings-location +X add a version of the Troubleshooting page to the 4.x repo +X https://github.com/processing/processing/wiki/troubleshooting +X and update the Help menu to link to it +X add a version of the FAQ to the processing4 wiki +X and link to it from the Help menu +X rewrite https://github.com/processing/processing4/wiki/FAQ for 4.0 +X rename changes.md to revisions.md +X this document replaced revisions.txt, and the name was changed to changes.md +X to prevent confusion with the old revisions.txt file +X however, it's far more confusion, because "changes" is used on the wiki +X which documents the differences between 3.x and 4.x et al +X other projects on which p5 is built +X no longer oro matcher and jikes +X add: quaqua, jna, registry stuff, .. ? +X i can't fix these: +An unexpected error has been detected by HotSpot Virtual Machine: +# EXCEPTION_ACCESS_VIOLATION +all i can do is find things that might trigger them, but it's more likely +than not to be a java problem, and not something that can be fixed +X search the source for 'applet' references (i.e. SVG docs) +X add a note about underscores in sketch tabs in prefs doc +X update "changes in 4.0" because so much left out +X update README.md in the root +/ move api/internal changes elsewhere +X link to other wiki things that are more useful + +temp +X temp folders (particularly on Windows) +X a whole section down below about this +X inside Sketch, makeTempFolder() would be the place to modify the location +X perhaps make a 'temp' inside the sketchbook folder? +X on startup, check to see if there are a lot of files, remove them? +X or maybe auto-delete once older than 24 hours? +X also don't search it when walking the sketchbook +X untitled folders are stored in temp folder +o add a note about temp dir to the bug on windows temp dirs +o move away from using a temp dir at all for sketches +o -Djava.io.tmpdir=Z:\temp +o change up how temp directories are handled +o it's sometimes copying the files to a different drive on windows +X clean up /tmp folders used during build +X https://github.com/processing/processing/issues/1896 (moved) +X https://github.com/processing/processing4/issues/529 +X use Platform.delete() to remove untitled sketches +X would allow us to use the /tmp folder + +cleaning +X the gradient.top and gradient.bottom lines are used by makeGradient(), +X so search for makeGradient() calls to see whether they're still in use. +X having brought back some gradient themes for beta 9, we'll keep this in place +X create default tools folder (just like libraries) +o for tools, maybe don't run on event thread? (makes the gui hang) +o but instead, things that affect gui need to be called w/ invokeLater? +X Export to Application was broken with OpenGL (Casey) +X verified to be working +o show warnings about wrong library folder layout? +X nah, too fussy to get this to work; spend time on library dev help instead +o check into offscreen text rendering with JNA +o even just for tab names it'd be so much nicer +o https://github.com/iterate-ch/rococoa +X looking good enough for now +o Pasting text into PDE results in "Clipboard does not contain a string" +X https://github.com/processing/processing/issues/3651 +X this was just a workaround, not a fix +X https://github.com/processing/processing/pull/4040 +X closing in the hope that it's resolved in Java 17 +X Icon instead of an "X" for the "could not connect" message +X https://github.com/processing/processing/issues/3706 +X done back in 3.0.2 +X change to using Platform.delete() instead of Base.removeDir() where possible +X verify that the OS X version uses the real call +X and doesn't just look for .Trash +o move old Google Code SVN back to processing.org +o then cull out the old branches/tags from the Github repo +o and/or start bundling separate source downloads +X managed to merge in what was necessary +o getCoreLibrary() is breaking OpenGL +o "new Library()" constructor needs to go back to private +X this is ancient +o add .bat file to lib on windows so that we can get better debugging info +o add a Tool for removing extended attributes? xattr -cr /path/to/Something.app +o when exporting an app, run xattr on it to handle "app is damaged" errors? +o xattr -cr /path/to/application.app +o -c removes attributes, -r is recursive +o doesn't help b/c it has to be done on the receiving end +o what to double-click when opening p5 projects (.pdp?) +o lack of a project file makes this a little bit of a headache +o dropping a sketch folder onto the PDE should also be implemented +X not necessary, and we have sketch.properties +o add documentation for how to run mode development from Eclipse +o implementation/changes from JDF +o get rid of static mode? only setup/draw mode? or create project that way? +o pro: simplify internal code, fixes some of the worst errors +o con: people love it, most of the books use it heavily +o add === for String.equals() +o might be problematic since it might be opposite the javascript meaning +o jer: it's a decent time to start talking abt references/vars +o automatic import of JavaFX when FX2D is specified (no time) +o allow modes to specify their own base file name +o need to move "is this a sketch?" handling into Mode +o createPreprocessor() added to JavaEditor, creating a mess +o https://github.com/processing/processing/commit/2ecdc36ac7c680eb36e271d17ad80b657b3ae6a0 +o break out Mode-specific options to their own panels in prefs +o Mode should just provide a panel for their prefs +X skipping this for 4: just not enough options in other Modes +X and too much overlap with options that would be used across +X at the end of the day, too confusing +X make the build fail if git pull on processing-docs fails +X remove "save before running" message +o patch to core classpath by Manindra? +o remove toolbar menu references and code to rebuild +o fix single instance server on OS X to load double-clicked files +o when run from Eclipse, the single instance thing punts +X 'recent' menu needs to recognize the p5 app folder +X also should recognize the user's home dir +o possibility of libraries folder inside a particular sketch? +o add font fixes to the rest of the API +o https://github.com/processing/processing/commit/eaff673d173b2d27f276cf5c59e3abf6c0fab86b +o g2.setRenderingHint(RenderingHints.KEY_FRACTIONALMETRICS, +o RenderingHints.VALUE_FRACTIONALMETRICS_ON); +o look through all isPopupTrigger() code +o make sure both press/release are implemented +X add minimum version required (or max version?) to libraries/modes/etc +o reas: code coloring sometimes disappears +X haven't seen this for a while +o PreferencesFrame is a misnomer (not a frame itself) +o change to PreferencesDialog, and make it a dialog? +X nah, it contains a Frame instance; no big deal +o different design of squiggly line +o easy to do inside JavaTextAreaPainter.paintSquiggle() +X build custom scroll bar since the OS versions are so ugly +X see notes in the 'dialogs' section below, implement our own option panes? +/ tiny trail of dots when moving the selection bar up/down on retina +X should be resolved +X need 'actively pressed' version of 'play' and 'stop' +X could do rollover as well, but do other apps use them? +o iTunes has no rollover state but has a 'down' state +o swaps to stop after release +o recent menu gets huge with other p5 versions on osx +X spacing of the updates number/circle in the lower right is off +X https://github.com/processing/processing/issues/4094 +X https://github.com/processing/processing/pull/4097 +o solution is to create a sprite sheet as a psd that'll have better type +o no way we're gonna fix the sizing and spacing for all platforms +o more than a certain amount should just be 10+, +, or whatever +X resolved earlier +X me: undo not in the correct location +X this should be resolved elsewhere +o if the lib folder goes missing from export, give an error +o also any .jar files that are missing, give an error +o showing more debug messages (command line?) +o when exporting to application (or applet) don't copy .java files from folder +o (they'll be copied as source files later) +o make .java files and friends go to correct locations on export (app) +o warn on export when people call their sketches things like Server +o warn if someone extends PApplet but mis-names the sketch +o or don't allow it to be exported +o add bug reference to the faq once added to the db +X or at least add a note about this to the faq +o show error when no main() is included but class extends PApplet +o error can happen or be checked +o exporting application copies .java files +o .java files are copied to the root folder as well as the source folder +o two-tiered dialogs for everything - use big font/little font style throughout +o http://javagraphics.blogspot.com/2008/06/joptionpane-making-alternative.html +X doesn't work as well (and is less necessary) with FlatLaf +o use macosx dialogs for all of the editor stuff +o see about doing the same on windows, linux? +o the others seem to respond ok to the lucida grande since they use defaults +X switched to FlatLaf +o vista style dialogs +o http://msdn.microsoft.com/en-us/library/bb328626.aspx +X switched to FlatLaf +o confirmation dialogs (save and don't save.. who'd a thunk it) +o http://msdn.microsoft.com/en-us/library/aa511273.aspx +o http://i.msdn.microsoft.com/Aa511273.Confirmations03(en-us,MSDN.10).png +X Tooltip over variable decl has wrong style and content +X make all tooltips run through our style +X https://github.com/processing/processing/issues/3940 +X done back in 3.x +X Library path mismatch between processing-java and export +X https://github.com/processing/processing/issues/4493 +X duplicate of https://github.com/processing/processing-video/issues/188 +o need to deal with classpath conflicts +o avoid garbage that people have installed on their machines +o antlr.jar in the classpath will cause trouble.. +o https://forum.processing.org/beta/num_1138652326.html +o jogl jar files, or jogl install will cause trouble +o /System/Library/Java/Extensions or /Library/Java/Extensions +o the /System one contains qtjava +o the /Library one is empty (by default), maybe skip it? +X these should be long fixed +o classpath conflicts also problem with PDE itself +o catch antlr conflicts, and put up an error message +o https://download.processing.org/bugzilla/1225.html (no Google issue) +X also should be long since fixed +o java.ext.dirs for /System/Library/Java/Extensions +o http://java.sun.com/j2se/1.5.0/docs/guide/extensions/spec.html +o can set java.ext.dirs to something else +o on osx, just ignore anything in /Library/Java/Extensions (but not others)? +X removed after Java 8: https://docs.oracle.com/en/java/javase/17/migrate/migrating-jdk-8-later-jdk-releases.html#GUID-2C896CA8-927C-4381-A737-B1D81D964B7B +o native lib stuff, use native.txt in lib folder, then: +o String osName = System.getProperty("os.name"); +o String osArch = System.getProperty("os.arch"); +o http://stackoverflow.com/questions/1611357/how-to-make-a-jar-file-that-include-dll-files +o need better error messages for broken api / library troubles +o e.g. ocd is broken in 0125 because of method signature changes +o make sure there aren't library jar files named the same thing +o i.e. if one library has db.jar, then that's gonna kill another db.jar +o when the files are copied over +X other issues filed for this +X manager huh +X highlight color seems to be incorrect? +o after installing, the item in the manager list doesn't change color +o 'recent' menu doesn't respect examples folder of other p5 versions +o could write that into the file, that it's an example +o or write the path as shown in the PDE to the file as simpler +X oh well; want folks using the latest anyway +X startup is so incredibly slow +X the splash screen comes up fairly quickly, so what gives? +X lots of EDT thread stuff, particularly with loading contribs +X handleNew() taking 2-3s? +X got this in better shape in the 4.x beta series +X remaining bits come down to sketchbook loading rewrites +X and moving more things off the AWT thread + +fonts +X fonts are still really ugly (on non-retina) +o may need to drop use of Source Sans +o what do these do, and are we doing it already? +o System.setProperty("awt.useSystemAAFontSettings","on"); +o System.setProperty("swing.aatext", "true"); +X how are we going to handle fonts for other languages? +X two new fonts have been added, other languages will need more +X need a decent sans with with Unicode coverage +X i.e. https://github.com/processing/processing/pull/3025 +o Implement fallback fonts so we can use Source et al with CJK/Greek/Arabic +X https://github.com/processing/processing/issues/5023 + +movie maker +o break Movie Maker out to its own library? +o another big leap in file size reduction for the PDE download +o nope, spend the time doing auto-download for the binaries +o would need to figure out a good way to highlight it/encourage installation +o ...as well as the other libraries? separate window? +X versions for aarch64 as well +X https://github.com/eugeneware/ffmpeg-static/releases +X ffmpeg binaries for all our platforms +X native version for ARM on macOS, also versions for Raspberry Pi +X updated ffmpeg to 5.0.1 + +waiting/video library +o update Video library to use the new layout +o Export to Application not working with the current video library +o https://github.com/processing/processing-video/issues/188 + +detach sketch names +o remove checkbox for detaching sketch name +o just do this manually, and Save As will reset the name +o should this be a setting in the sketch itself? +X no, some people may want to keep the old behavior, make this obvious +o really need to override the save dialog and add a checkbox there +o or should this be on the rename for the main tab +o and if it's different on 'save as' then it won't update it +o better yet, is it on creating sketches, so it actually is a pref +o i.e. 'new sketches use name Sketch.java' instead of name of sketch as main tab +o that might be closer to where people are expecting it anyway +o and combined w/ the rename checkbox on the main tab, that might do it +X detach sketch name and folder name (use sketch.properties) +X better for git, etc +X single file thing is long gone +o introduce the idea of 'scraps' (ala gist) that are just single page blobs + +welcome +X better startup experience/something to really make it feel like 4 +X set a new preference for it (the old pref had .beta in the name) +o just skip the welcome screen on Windows hidpi dipslays? +o better to launch a web browser +o also use id/ask for login to help understand community? +o tell users about JavaFX, Movie Maker install, changing themes +X make the examples work in the startup window +X smaller images so they're not so crunchy? + +new things ++ themes ++ naming ++ new Movie Maker that uses ffmpeg ++ Apple Silicon support ++ raspberry pi 32/64 support ++ Java 17/faster/more up to date ++ JavaFX now needs to be imported ++ sketch name detached + +minor new things ++ absolutely massive number of small bug fixes and usability tweaks ++ ability to create truly portable versions/more options for school environments + +old things ++ Examples window (Casey will pick 3-4) +* Reference, Discourse, Github, Wiki + + 1284 (4.0b9) X bump to Java 17.0.3+7 X and again to Java 17.0.4+8 diff --git a/todo.txt b/todo.txt index 141ea113c..b310ea02b 100755 --- a/todo.txt +++ b/todo.txt @@ -1,379 +1,4 @@ -1285 (4.0?) -X can we compress jdk/Contents/Home/legal into a single zip? -X it's ~300 files of the ~500 in the entire jdk directory -X working on macOS, written up for Windows and Linux -X test on Windows and Linux -X working on an updated welcome screen -X fix usages of .array() method in PDE code -X default naming selection not being set in prefs window -X make sure mono font is coming from languages file when first setting editor pref -X fix the processing.foundation cert -X remove links to old pages from the language translations -X cd build/shared/lib/languages -X grep menu.help * | grep url -X make sure the numbers scripts are working again before launch -o anything else we need to be tracking? -X recent errors from AndroidMode -X seems related to the random JavaBuild issue -X final call on the About screen - -themes -X try gradients in Lab space -X not an obvious win, so set as a pref and come back to it later -X updateTheme() in Theme Selector not updating color for dropdown on changes -X theme_selector.combo_box.enabled.bgcolor -X theme_selector.combo_box.enabled.bgcolor -X doesn't update dynamically unless you (a) select ‘Minerals’ or ‘Alloys’ -X or (b) open, then close the dropdown -X changing between themes not updating the combo box text (though arrow trigger works) -X switching between alloys and minerals will properly update -X rollover color for console scrollbar is always blue -X probably a typo in the theme generator (yep) - -export -X if error in the code during export, was just saying "error during export" -X now sending the error to the status bar as expected -X get code signing to work again on macOS for exported applications -X absolutely floored that it was broken this long -X new docs added, window text redone -X "include Java for macOS" only relevant for current macOS platform -X better to fix that, or make it possible to download both? -X Export to Application on Apple Silicon is including a broken "Universal" appbundler -X need to lipo a new appbundler, or have it export one of the two files -X rewrote Exporting Applications wiki page -X include more details about Gatekeeper et al -X “Array_Test.app” is damaged and can’t be opened. You should move it to the Trash. -X https://github.com/processing/processing/issues/4214 (closed) -X figure out if we can do anything with signing applications -X https://developer.apple.com/forums/thread/128166 -X https://developer.apple.com/forums/thread/701514#701514021 -X https://developer.apple.com/forums/thread/701581#701581021 -/ Xcode command line tools must be installed first -/ show a message before even opening the Export dialog -X can't restrict to installation b/c may want to do other platforms -X or detection of the CLT may not be correct -X or users may be doing their own manual signing anyway -X for now, just cleaning up the messages a bit for clarity -X and bump the font size back up for legibility - -docs -X update theme instructions -X https://github.com/processing/processing4/wiki/Themes -X update the platforms page -X https://github.com/processing/processing4/wiki/Supported-Platforms -o rename to 'platforms'? -X examples still coming from processing-docs repo -X https://github.com/processing/processing-examples -X can safely clone this repo instead of using processing-docs -X 'chars' array is never used in ascii video example -X https://github.com/processing/processing-video/blob/master/examples/Capture/AsciiVideo/AsciiVideo.pde -X add wiki page for preferences and customization -o auto-complete not auto-triggering, change pref for handling? -o Auto-completion: [ ] Disabled [ ] Show on Ctrl-Space [ ] Always show -o https://github.com/processing/processing/issues/5691 -X docs about settings.path and sketchbook.path.four -X https://github.com/processing/processing4/issues/362 -X https://github.com/processing/processing4/wiki/Preferences#sketchbook-and-settings-location -X add a version of the Troubleshooting page to the 4.x repo -X https://github.com/processing/processing/wiki/troubleshooting -X and update the Help menu to link to it -X add a version of the FAQ to the processing4 wiki -X and link to it from the Help menu -X rewrite https://github.com/processing/processing4/wiki/FAQ for 4.0 -X rename changes.md to revisions.md -X this document replaced revisions.txt, and the name was changed to changes.md -X to prevent confusion with the old revisions.txt file -X however, it's far more confusion, because "changes" is used on the wiki -X which documents the differences between 3.x and 4.x et al -X other projects on which p5 is built -X no longer oro matcher and jikes -X add: quaqua, jna, registry stuff, .. ? -X i can't fix these: -An unexpected error has been detected by HotSpot Virtual Machine: -# EXCEPTION_ACCESS_VIOLATION -all i can do is find things that might trigger them, but it's more likely -than not to be a java problem, and not something that can be fixed -X search the source for 'applet' references (i.e. SVG docs) -X add a note about underscores in sketch tabs in prefs doc -X update "changes in 4.0" because so much left out -X update README.md in the root -/ move api/internal changes elsewhere -X link to other wiki things that are more useful - -temp -X temp folders (particularly on Windows) -X a whole section down below about this -X inside Sketch, makeTempFolder() would be the place to modify the location -X perhaps make a 'temp' inside the sketchbook folder? -X on startup, check to see if there are a lot of files, remove them? -X or maybe auto-delete once older than 24 hours? -X also don't search it when walking the sketchbook -X untitled folders are stored in temp folder -o add a note about temp dir to the bug on windows temp dirs -o move away from using a temp dir at all for sketches -o -Djava.io.tmpdir=Z:\temp -o change up how temp directories are handled -o it's sometimes copying the files to a different drive on windows -X clean up /tmp folders used during build -X https://github.com/processing/processing/issues/1896 (moved) -X https://github.com/processing/processing4/issues/529 -X use Platform.delete() to remove untitled sketches -X would allow us to use the /tmp folder - -cleaning -X the gradient.top and gradient.bottom lines are used by makeGradient(), -X so search for makeGradient() calls to see whether they're still in use. -X having brought back some gradient themes for beta 9, we'll keep this in place -X create default tools folder (just like libraries) -o for tools, maybe don't run on event thread? (makes the gui hang) -o but instead, things that affect gui need to be called w/ invokeLater? -X Export to Application was broken with OpenGL (Casey) -X verified to be working -o show warnings about wrong library folder layout? -X nah, too fussy to get this to work; spend time on library dev help instead -o check into offscreen text rendering with JNA -o even just for tab names it'd be so much nicer -o https://github.com/iterate-ch/rococoa -X looking good enough for now -o Pasting text into PDE results in "Clipboard does not contain a string" -X https://github.com/processing/processing/issues/3651 -X this was just a workaround, not a fix -X https://github.com/processing/processing/pull/4040 -X closing in the hope that it's resolved in Java 17 -X Icon instead of an "X" for the "could not connect" message -X https://github.com/processing/processing/issues/3706 -X done back in 3.0.2 -X change to using Platform.delete() instead of Base.removeDir() where possible -X verify that the OS X version uses the real call -X and doesn't just look for .Trash -o move old Google Code SVN back to processing.org -o then cull out the old branches/tags from the Github repo -o and/or start bundling separate source downloads -X managed to merge in what was necessary -o getCoreLibrary() is breaking OpenGL -o "new Library()" constructor needs to go back to private -X this is ancient -o add .bat file to lib on windows so that we can get better debugging info -o add a Tool for removing extended attributes? xattr -cr /path/to/Something.app -o when exporting an app, run xattr on it to handle "app is damaged" errors? -o xattr -cr /path/to/application.app -o -c removes attributes, -r is recursive -o doesn't help b/c it has to be done on the receiving end -o what to double-click when opening p5 projects (.pdp?) -o lack of a project file makes this a little bit of a headache -o dropping a sketch folder onto the PDE should also be implemented -X not necessary, and we have sketch.properties -o add documentation for how to run mode development from Eclipse -o implementation/changes from JDF -o get rid of static mode? only setup/draw mode? or create project that way? -o pro: simplify internal code, fixes some of the worst errors -o con: people love it, most of the books use it heavily -o add === for String.equals() -o might be problematic since it might be opposite the javascript meaning -o jer: it's a decent time to start talking abt references/vars -o automatic import of JavaFX when FX2D is specified (no time) -o allow modes to specify their own base file name -o need to move "is this a sketch?" handling into Mode -o createPreprocessor() added to JavaEditor, creating a mess -o https://github.com/processing/processing/commit/2ecdc36ac7c680eb36e271d17ad80b657b3ae6a0 -o break out Mode-specific options to their own panels in prefs -o Mode should just provide a panel for their prefs -X skipping this for 4: just not enough options in other Modes -X and too much overlap with options that would be used across -X at the end of the day, too confusing -X make the build fail if git pull on processing-docs fails -X remove "save before running" message -o patch to core classpath by Manindra? -o remove toolbar menu references and code to rebuild -o fix single instance server on OS X to load double-clicked files -o when run from Eclipse, the single instance thing punts -X 'recent' menu needs to recognize the p5 app folder -X also should recognize the user's home dir -o possibility of libraries folder inside a particular sketch? -o add font fixes to the rest of the API -o https://github.com/processing/processing/commit/eaff673d173b2d27f276cf5c59e3abf6c0fab86b -o g2.setRenderingHint(RenderingHints.KEY_FRACTIONALMETRICS, -o RenderingHints.VALUE_FRACTIONALMETRICS_ON); -o look through all isPopupTrigger() code -o make sure both press/release are implemented -X add minimum version required (or max version?) to libraries/modes/etc -o reas: code coloring sometimes disappears -X haven't seen this for a while -o PreferencesFrame is a misnomer (not a frame itself) -o change to PreferencesDialog, and make it a dialog? -X nah, it contains a Frame instance; no big deal -o different design of squiggly line -o easy to do inside JavaTextAreaPainter.paintSquiggle() -X build custom scroll bar since the OS versions are so ugly -X see notes in the 'dialogs' section below, implement our own option panes? -/ tiny trail of dots when moving the selection bar up/down on retina -X should be resolved -X need 'actively pressed' version of 'play' and 'stop' -X could do rollover as well, but do other apps use them? -o iTunes has no rollover state but has a 'down' state -o swaps to stop after release -o recent menu gets huge with other p5 versions on osx -X spacing of the updates number/circle in the lower right is off -X https://github.com/processing/processing/issues/4094 -X https://github.com/processing/processing/pull/4097 -o solution is to create a sprite sheet as a psd that'll have better type -o no way we're gonna fix the sizing and spacing for all platforms -o more than a certain amount should just be 10+, +, or whatever -X resolved earlier -X me: undo not in the correct location -X this should be resolved elsewhere -o if the lib folder goes missing from export, give an error -o also any .jar files that are missing, give an error -o showing more debug messages (command line?) -o when exporting to application (or applet) don't copy .java files from folder -o (they'll be copied as source files later) -o make .java files and friends go to correct locations on export (app) -o warn on export when people call their sketches things like Server -o warn if someone extends PApplet but mis-names the sketch -o or don't allow it to be exported -o add bug reference to the faq once added to the db -X or at least add a note about this to the faq -o show error when no main() is included but class extends PApplet -o error can happen or be checked -o exporting application copies .java files -o .java files are copied to the root folder as well as the source folder -o two-tiered dialogs for everything - use big font/little font style throughout -o http://javagraphics.blogspot.com/2008/06/joptionpane-making-alternative.html -X doesn't work as well (and is less necessary) with FlatLaf -o use macosx dialogs for all of the editor stuff -o see about doing the same on windows, linux? -o the others seem to respond ok to the lucida grande since they use defaults -X switched to FlatLaf -o vista style dialogs -o http://msdn.microsoft.com/en-us/library/bb328626.aspx -X switched to FlatLaf -o confirmation dialogs (save and don't save.. who'd a thunk it) -o http://msdn.microsoft.com/en-us/library/aa511273.aspx -o http://i.msdn.microsoft.com/Aa511273.Confirmations03(en-us,MSDN.10).png -X Tooltip over variable decl has wrong style and content -X make all tooltips run through our style -X https://github.com/processing/processing/issues/3940 -X done back in 3.x -X Library path mismatch between processing-java and export -X https://github.com/processing/processing/issues/4493 -X duplicate of https://github.com/processing/processing-video/issues/188 -o need to deal with classpath conflicts -o avoid garbage that people have installed on their machines -o antlr.jar in the classpath will cause trouble.. -o https://forum.processing.org/beta/num_1138652326.html -o jogl jar files, or jogl install will cause trouble -o /System/Library/Java/Extensions or /Library/Java/Extensions -o the /System one contains qtjava -o the /Library one is empty (by default), maybe skip it? -X these should be long fixed -o classpath conflicts also problem with PDE itself -o catch antlr conflicts, and put up an error message -o https://download.processing.org/bugzilla/1225.html (no Google issue) -X also should be long since fixed -o java.ext.dirs for /System/Library/Java/Extensions -o http://java.sun.com/j2se/1.5.0/docs/guide/extensions/spec.html -o can set java.ext.dirs to something else -o on osx, just ignore anything in /Library/Java/Extensions (but not others)? -X removed after Java 8: https://docs.oracle.com/en/java/javase/17/migrate/migrating-jdk-8-later-jdk-releases.html#GUID-2C896CA8-927C-4381-A737-B1D81D964B7B -o native lib stuff, use native.txt in lib folder, then: -o String osName = System.getProperty("os.name"); -o String osArch = System.getProperty("os.arch"); -o http://stackoverflow.com/questions/1611357/how-to-make-a-jar-file-that-include-dll-files -o need better error messages for broken api / library troubles -o e.g. ocd is broken in 0125 because of method signature changes -o make sure there aren't library jar files named the same thing -o i.e. if one library has db.jar, then that's gonna kill another db.jar -o when the files are copied over -X other issues filed for this -X manager huh -X highlight color seems to be incorrect? -o after installing, the item in the manager list doesn't change color -o 'recent' menu doesn't respect examples folder of other p5 versions -o could write that into the file, that it's an example -o or write the path as shown in the PDE to the file as simpler -X oh well; want folks using the latest anyway -X startup is so incredibly slow -X the splash screen comes up fairly quickly, so what gives? -X lots of EDT thread stuff, particularly with loading contribs -X handleNew() taking 2-3s? -X got this in better shape in the 4.x beta series -X remaining bits come down to sketchbook loading rewrites -X and moving more things off the AWT thread - -fonts -X fonts are still really ugly (on non-retina) -o may need to drop use of Source Sans -o what do these do, and are we doing it already? -o System.setProperty("awt.useSystemAAFontSettings","on"); -o System.setProperty("swing.aatext", "true"); -X how are we going to handle fonts for other languages? -X two new fonts have been added, other languages will need more -X need a decent sans with with Unicode coverage -X i.e. https://github.com/processing/processing/pull/3025 -o Implement fallback fonts so we can use Source et al with CJK/Greek/Arabic -X https://github.com/processing/processing/issues/5023 - -movie maker -o break Movie Maker out to its own library? -o another big leap in file size reduction for the PDE download -o nope, spend the time doing auto-download for the binaries -o would need to figure out a good way to highlight it/encourage installation -o ...as well as the other libraries? separate window? -X versions for aarch64 as well -X https://github.com/eugeneware/ffmpeg-static/releases -X ffmpeg binaries for all our platforms -X native version for ARM on macOS, also versions for Raspberry Pi -X updated ffmpeg to 5.0.1 - -waiting/video library -o update Video library to use the new layout -o Export to Application not working with the current video library -o https://github.com/processing/processing-video/issues/188 - -detach sketch names -o remove checkbox for detaching sketch name -o just do this manually, and Save As will reset the name -o should this be a setting in the sketch itself? -X no, some people may want to keep the old behavior, make this obvious -o really need to override the save dialog and add a checkbox there -o or should this be on the rename for the main tab -o and if it's different on 'save as' then it won't update it -o better yet, is it on creating sketches, so it actually is a pref -o i.e. 'new sketches use name Sketch.java' instead of name of sketch as main tab -o that might be closer to where people are expecting it anyway -o and combined w/ the rename checkbox on the main tab, that might do it -X detach sketch name and folder name (use sketch.properties) -X better for git, etc -X single file thing is long gone -o introduce the idea of 'scraps' (ala gist) that are just single page blobs - -welcome -X better startup experience/something to really make it feel like 4 -X set a new preference for it (the old pref had .beta in the name) -o just skip the welcome screen on Windows hidpi dipslays? -o better to launch a web browser -o also use id/ask for login to help understand community? -o tell users about JavaFX, Movie Maker install, changing themes -X make the examples work in the startup window -X smaller images so they're not so crunchy? - -new things -+ themes -+ naming -+ new Movie Maker that uses ffmpeg -+ Apple Silicon support -+ raspberry pi 32/64 support -+ Java 17/faster/more up to date -+ JavaFX now needs to be imported -+ sketch name detached - -minor new things -+ absolutely massive number of small bug fixes and usability tweaks -+ ability to create truly portable versions/more options for school environments - -old things -+ Examples window (Casey will pick 3-4) -* Reference, Discourse, Github, Wiki +1286 (4.0.1) known issues @@ -388,7 +13,7 @@ _ https://github.com/processing/processing4/issues/522 _ https://github.com/processing/processing4-javafx/issues/15 -finalizing 4.0 +finalizing a release _ submit to Microsoft _ https://www.microsoft.com/en-us/wdsi/filesubmission _ https://aka.ms/wdsi