Processing 4.0 alpha 2
·
2704 commits
to main
since this release
Revision 1271 - 15 September 2020
Several fixes for this round, plus working on the guts quite a bit to prepare for newer/faster/better rendering methods.
The minimum system version for macOS (for the PDE and exported applications) is now set to 10.13.6 (the last update of High Sierra). Apple will likely be dropping support for High Sierra in late 2020, so we may make Mojave (10.14) the minimum by the time Processing 4.x ships.
Known Issues
- If you're using P2D or P3D on macOS, and have
surface.setResizable(true)
insidesetup()
, you'll need to (temporarily) move that intodraw()
. We had to do an ugly hack at release time due to issue 124. The ugly hack also involves the window flickering once when it first opens in this situation. We should have that fixed for the next release.
Bug Fixes
- Break
buildMenu()
intopopulateMenu()
method to delay Debugger init 73 - Fix broken macOS build 83
- Bump JDK to 11.0.8, then rolled back to JDK 11.0.6 again 121, 123
- Make macOS notarization part of the build process 24
NullPointerException
inContributionManager.updateFlagged()
on startup. Now checks for directorymodes
andtools
directories and read/write access on startup 6034- PDF was broken on
getImage()
call 62, commit
Changes for AWT
To make way for more advanced rendering options, the exorcism of AWT from the base classes inside core has begun. More about that here: https://github.com/processing/processing4/wiki/Exorcising-AWT
- Remove all usage of AWT from
PApplet
55 - Make edits to core so that AWT can be disabled and LWJGL can run commit
- Add
--disable-awt
option toPApplet.main()
- Fix for precision issues with PDF 5801
- Implement
displayDensity(int)
, it's been returning the main display's value - Show “displays have separate spaces” warning message when the param is unset
- Show it in the console, which allows us to get rid of
JOptionPane
- Catalina seems to have it un-set, but the default is the same
- Show it in the console, which allows us to get rid of
- Move
selectInput/Output/Folder
toShimAWT
class - remove the
java.awt.Frame
object fromPApplet
- Move
loadImage()
intoShimAWT
desktopFile()
anddesktopPath()
methods are supported, unless we find they're trouble- Move
ShimAWT.loadImage()
to thePSurface
subclasses - Move all
java.awt
andjavax.imageio
out ofPImage
- Make the switch to
getModifiersEx()
instead ofgetModifiers()
4 - Fix
PImage.save()
breakage due to AWT changes above (saving to PNG was broken in anything but the default renderer) 80
Sam was at it again
- Zoom dialog fonts based on user scale setting 111, 125
- Resolve rewrite of pixelDensity to settings in preproc 58, 60
- Resolve PDF renderer parse issue in preproc 66, 68
- Bump JOGL 2.4 to the new release candidate (20200307) 85
- Remove debugging printout from Open Recent 78, 79
- Fix broken tests 92, 93
- Refactor out preproc.issue 96
- Debug button in the toolbar is currently broken 94, 95
- Fix
WARNING: Illegal reflective access by processing.opengl.PSurfaceJOGL” on getContextCapabilities()
50, 76 - Migrate JSSC to sampottinger/jssc 71, 75
- Rewrite size call for all renderers 90, 91
- Switch to JFileChooser on Mac with VAqua 88
- Cut/Copy/Paste while saving a sketch on macOS was going to the editor, not the save dialog 77
- Implement the basics of Dark Mode for the Mac 89
color
as return type was broken 104, 105- Automated (jenkins) build broken because ant 1.10.7 download no longer available 106, 107
- Processing IDE interface too small on high-res Windows displays 102
- Ensure not trying to use Toolkit zoom before ready 103
Other Contributed Changes
- Remove some redundant boxing and casting 51