10 KiB
Processing 4.0 alpha 2
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
NullPointerExceptioninContributionManager.updateFlagged()on startup. Now checks for directorymodesandtoolsdirectories 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
PApplet55 - Make edits to core so that AWT can be disabled and LWJGL can run commit
- Add
--disable-awtoption 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/FoldertoShimAWTclass - remove the
java.awt.Frameobject fromPApplet - Move
loadImage()intoShimAWT desktopFile()anddesktopPath()methods are supported, unless we find they're trouble- Move
ShimAWT.loadImage()to thePSurfacesubclasses - Move all
java.awtandjavax.imageioout 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
coloras 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
Processing 4.0 alpha 1
Revision 1270 - 18 January 2020
This is a massive update! With the help of Sam Pottinger, we're working to get Processing to run with Java 11. This will give us a more stable platform for the next few years.
In the process, there are also significant updates which include updated Java syntax support and lots of other long-awaited features.
We've started a Changes in 4.0 document to keep track of all the details.
We recommend using a different sketchbook location for 4.0, to avoid confusion with things that might be incompatible with your 3.0 work.
Sam Did a Lot of Work
- This massive pull request has the changes that got things kicked off. It closes several issues and pull requests, including 5750, 5753, 4415, and others.
- ANTLR has been updated from version 2 to version 4. The grammar has been updated for Java 8 and a new pre-processor created. 3054 and 3055
- Support for Travis CI has been added. 2747
- The macOS integration layer has been updated for Java 11. 5747
- Nested generics now work properly. 4514
- Several fixes for the build process. 12, 6
- Update to JNA 5, and migrate code
Native.load()calls. 7, 15 - Fix console font spacing. 19, 20
- Implement
import static. 18, 5577 - Fixing problems with Windows UI scaling. 21, 30
- Fix display density detection and use
GraphicsConfiguration. 32, 35, 34 - Fix
WARNING: Illegal reflective access by processing.app.ui.Toolkit to field sun.awt.CGraphicsDevice.scalewarning on startup. - Replace macOS-specific fullscreen option for
setResizable(). 36 - Several tests have been added, and are called by default during
ant dist. 38, 8 - Update from Java 11.0.2 to 11.0.5, and eventually 11.0.6. 40, 39
- Fix Java 11 incompatibilities inside
PSurfaceFX. 5286 - Fixed
Table's use of deprecatedisAccessible(). 33, 3
Other Contributed Fixes
- Disable FBO when using Intel HD 3000 Graphics. 4104, 5881
rotateZ()was breaking inPShapeOpenGL. 28, 41
Cross-ported from 3.5.4
- This release includes all updates found in Processing 3.5.4
Known Issues
- Only basic updates have been made to remove references to 3.x. 48
- A complete list of issues can be found here
Revisions for Processing 3.x and earlier have been removed. You can find them here.