rolling over for the next release

This commit is contained in:
Ben Fry
2022-08-09 10:19:08 -04:00
parent adce0bcaf2
commit 05fc58fd92
5 changed files with 387 additions and 381 deletions
+2 -2
View File
@@ -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";
+4
View File
@@ -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
+1 -2
View File
@@ -1,5 +1,4 @@
1285 (4.0)
X no changes in core
1286 (4.0.1)
_ concurrent StringDict et al
+378
View File
@@ -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 cant 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
+2 -377
View File
@@ -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 cant 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