Skip to content

Commit 5386ab7

Browse files
committed
typing these release notes is giving me rsi
1 parent c60177f commit 5386ab7

File tree

1 file changed

+287
-0
lines changed

1 file changed

+287
-0
lines changed

build/shared/changes.md

Lines changed: 287 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,290 @@
1+
# Processing 4.0 beta 9
2+
3+
*Revision 1284 – 4 August 2022*
4+
5+
Getting very close to 4.0! Just a bit more now…
6+
7+
8+
## design, design, design
9+
10+
Perhaps most noticeable, this release includes a ton of refinement on the design.
11+
12+
* Another set of 16 themes, these with gradients, have been added to the Theme Selector. Have fun!
13+
14+
* If you've changed the theme in a previous beta, it will be reset the first time you use beta 9, because of major updates to theme handling (many new parameters, others renamed and cleaned up). Relatedly, changing the theme no longer writes a `theme.txt` file to your sketchbook folder.
15+
16+
* Added options to the Theme Selector to write `theme.txt` to your sketchbook folder (so you can make manual edits), and also to reload the theme dynamically (after you've made changes).
17+
18+
* Lots of minor fixes to typography and layout of elements. Hopefully you'll agree that the changes add up to things feeling a lot better.
19+
20+
* We're now using [FlatLaf](https://www.formdev.com/flatlaf/) to improve the look and feel of dialog boxes and other components that we've not customized ourselves.
21+
22+
* Nearly all PNG-based icons and interface elements have been replaced by SVGs that are automatically re-rendered to match the theme when it changes.
23+
24+
* The base font being used is now part of the language translation, because specific fonts are required for non-Roman languages, or languages that are not supported by the Source Sans 3 that we use everywhere else. This also helps us get the language-specific overrides for Chinese, Japanese, Korean, Greek, and Arabic out of the code and into something that can be updated more easily.
25+
26+
* We're replacing the underscores in tab names with spaces. It looks a little nicer with the default sketch naming. If you'd like to keep underscores, open `preferences.txt` and set `sketch.name.replace_underscore = false`.
27+
28+
* Updated the scroll bars to match the theme. [#265](https://github.com/processing/processing4/issues/265)
29+
30+
* Implement 2x versions of the icons for the debugger window/variable inspector. [#3921](https://github.com/processing/processing/issues/3921)
31+
32+
* Taken collectively, these are the visual design changes for 4.0. [#48](https://github.com/processing/processing4/issues/48)
33+
34+
35+
## new features
36+
37+
* New sketch naming schemes! For those who didn't enjoy the sketch plus underscore plus six digit date, your time has come. Visit the Preferences window and behold the naming options available in the dropdown menu. You can now use the “Friendly” naming scheme that folks seem to love, as well as a pair of other less serious alternatives. [#6045](https://github.com/processing/processing/issues/6045), [#6048](https://github.com/processing/processing/pull/6048), [#144](https://github.com/processing/processing4/pull/144)
38+
39+
* It's also possible to create your own naming schemes. Create a file named `naming.json` in your sketchbook folder that follows the same layout in the Processing download. Provide a name, a list of prefixes, and a list of suffixes just like that file. Save it and restart Processing, and your new option will be available in the dropdown.
40+
41+
42+
## other big ones
43+
44+
* We should be fully set for Apple Silicon (i.e. M1 and M2) support. [#128](https://github.com/processing/processing4/issues/128)
45+
46+
* Code completion stopped working between beta 4 and beta 5. Now it's back. [#491](https://github.com/processing/processing4/issues/491)
47+
48+
49+
## bug fixes
50+
51+
* Fix “Unable to load Java Runtime Environment” errors on Apple Silicon machines. [#526](https://github.com/processing/processing4/issues/526)
52+
53+
* Updated the Help menu entries to make sure they're going to the right locations for 4.x. As with the reference, links are no longer local (see [#524](https://github.com/processing/processing4/issues/524)).
54+
55+
* Help → Libraries Reference and Help → Tools Reference submenu items were broken. [#5839](https://github.com/processing/processing/issues/5839)
56+
57+
58+
## community contributions!
59+
60+
* Add `flatlaf.jar` to `config.xml` on Windows. [#498](https://github.com/processing/processing4/pull/498)
61+
62+
* Fix parsing of java error messages containing ":" [#492](https://github.com/processing/processing4/issues/492), [#493](https://github.com/processing/processing4/pull/493)
63+
64+
* Exported applications were giving `java.lang.ClassNotFoundException: --full-screen` errors. [#488](https://github.com/processing/processing4/issues/488), [#502](https://github.com/processing/processing4/pull/502).
65+
66+
* Editor was treating {} brackets as code when they're inside a String, char or comment. [#444](https://github.com/processing/processing4/issues/444), [#504](https://github.com/processing/processing4/pull/504)
67+
68+
* Add extra Java arguments to enable anti-aliasing for KDE users. [#513](https://github.com/processing/processing4/pull/513), [reference](https://docs.oracle.com/javase/7/docs/technotes/guides/2d/flags.html#aaFonts)
69+
70+
71+
## internal changes
72+
73+
* Bumped the Java version to 17.0.4+8.
74+
75+
* If you get a “core does not run on this architecture” when running from the source, you may need to run `ant clean-jogl` inside `core`.
76+
77+
* Also added a `clean-libs` target to `build.xml` files that need it. This will re-download libraries that we rely upon like JOGL, Batik, Ant, and others.
78+
79+
* Cleaned up several files in the download, the footprint should be a few dozen megabytes smaller.
80+
81+
* Updated to the latest version of JNA (5.12.1) for better Apple Silicon support.
82+
83+
* All the remaining ancient bug URLs (Bugzilla and Google Code) have been updated and removed from the source. The Google Code issues are re-linked to their Github equivalents, and the old Bugzilla pages have been [revived](https://download.processing.org/bugzilla/) since their disappearance last August.
84+
85+
86+
## known issues
87+
88+
* We've had to remove the offline version of the reference that was accessible from the Help menu. We hope to bring it back some day. [#524](https://github.com/processing/processing4/issues/524)
89+
90+
known issues
91+
_ mixed mode warning now broken
92+
_ https://github.com/processing/processing4/issues/519
93+
_ 'color' in imports shows up as an error in the editor
94+
_ but code still compiles and runs
95+
_ https://github.com/processing/processing4/issues/521
96+
_ need to make it possible to use module jars
97+
_ https://github.com/processing/processing4/issues/522
98+
_ https://github.com/processing/processing4-javafx/issues/15
99+
100+
101+
design/errors
102+
X errors table theme
103+
X use errors.row.bgcolor as bgcolor for the error list
104+
o change errors.row to errors.list in theme.txt
105+
X add errors.bgcolor instead
106+
107+
design/preferences
108+
X get rid of text box for 'background color when presenting'
109+
X redundant (can type numbers in the dialog) and fussy
110+
X change "sketchbook location" to "sketchbook folder"
111+
X (this is how it's referenced everywhere else in the interface)
112+
X shorten sketchbook location text field
113+
o sketchbook location to single line (drop "location"? say folder?)
114+
X why is sketchbook location text selected when opening window?
115+
X had focus by default, which apparently selects the text
116+
X remove 'smooth text' (too rare: manual editing should suffice)
117+
X switch to BoxLayout before making more layout changes?
118+
X move 'enable complex text' up near language?
119+
X better yet, move language down below font and interface scale
120+
o turn it on when selecting CJKV as a language
121+
X show 'requires restart' only after making a change
122+
X fixed for interface zoom
123+
X hidpiDisableBox
124+
X inputMethodBox
125+
X languageSelectionBox and languageRestartLabel
126+
X preferences.zoom = Interface scale -> preferences.interface_scale = Scale
127+
X preferences.zoom.auto -> preferences.interface_scale.auto
128+
X set link color in prefs window to use accent color
129+
X move 'requires restart' to one thing at the bottom
130+
X preferences.enable_complex_text removed, replaced with
131+
X preferences.enable_complex_text = Enable complex text input
132+
X preferences.enable_complex_text.tip
133+
X preferences.requires_restart = requires restart of Processing
134+
X becomes preferecnes.restart_required = Restart Processing to apply changes
135+
X put language & complex text on same line
136+
X move colons into the language file
137+
X show hand cursor with links for labels
138+
o move delete previous pref to the Export to Application window
139+
o get rid of the pref/just use the setting from export to app
140+
X no clear alternative for disabling this, so remove from prefs window
141+
X but still supported inside preferences.txt for those who must
142+
X it's moving the files to the trash anyway, which should be safe enough
143+
X finish rearranging item order in PreferencesFrame
144+
X all set for now
145+
o move to separate panel
146+
o (maybe not, because not clear which will be inherited by other modes?)
147+
o background when presenting
148+
o continuously check
149+
o code completion
150+
o suggest imports
151+
o increase memory
152+
X opting not to: not enough items, and too disruptive for unclear benefit
153+
X remove extra space between prefs lines
154+
155+
design/manager
156+
X add manager.panel constants for colors
157+
X status panel not updating in updateTheme()
158+
X StatusPanel.getBodyStyle() has hard-coded fonts/sizes
159+
X changed manager.list.search to manager.search
160+
X implement foundation icon using svg
161+
X icons for contrib manager list entries (green/orange PNGs won't do)
162+
X remove ability to rearrange columns in contrib manager
163+
X why tf this is the default is beyond me
164+
X set color of the sort order icon in the ListPanel table header
165+
X also the color of the text?
166+
X override flatlaf for components (search, buttons, dropdown menu) in manager
167+
X popup menu coloring (contribs)
168+
X progress bar in contrib manager
169+
X need monochrome icon for foundation
170+
o do we need other color states for list item icons
171+
X they seem to be find for now
172+
X add updateTheme() to contrib.ListPanel
173+
X right now pulling Theme.getColor() directly
174+
X but need to make sure repaint() is called anyway
175+
X contrib manager theme
176+
X identify coloring for icons
177+
X how much of theme to inherit
178+
X generate manager icons
179+
o slightly taller tabs, though maybe they're better than the Editor?
180+
o editor tabs are different height, as are the footer tabs
181+
X important for prefs window background color too
182+
X remove ManagerFrame constants for NORMAL_PLAIN, SMALL_PLAIN, etc
183+
X these should be read from theme.txt instead
184+
o or not used at all: the defaults from ui.font and FlatLaf should do
185+
X only really need for the bold font
186+
X improved 'close' icon (thicker x)
187+
X better 'search' icon (search.svg with a less enormous eyeglass)
188+
X replace foundation-16, foundation-32, foundation-64 in lib/icons
189+
X contribs exclamation looks like an error, not "update available"
190+
X clean up the updates panel in the manager
191+
X fix column widths in 'updates' tab of contrib manager
192+
X also make them resizable
193+
X section headings look bad (not capitalized, not plural, no bg color change)
194+
X color change might help, but a little fussy at the moment
195+
X gets into whether the type weight should change, and starts affecting too much
196+
X update available icon looks broken (bad winding rule?)
197+
198+
manager
199+
X make ContributionTab.FilterField into a static class
200+
o then perhaps move to another source file
201+
X nah, ContributionTabFilterField is a bit much
202+
X move things around a bit so it's not quite a mess
203+
o add reinstall option?
204+
X nah, too fussy; not a big deal to do remove and install
205+
X remove JProgressBar from ContributionTab/UpdateContributionTab
206+
X StatusPanelDetail creates its own, which is the one used
207+
X after download, list item doesn't update to show installed
208+
X stays stuck with the downloading icon
209+
210+
contrib
211+
X Double-clicking a .pde file also opens an untitled/empty sketch
212+
X https://github.com/processing/processing4/issues/477
213+
X https://github.com/processing/processing4/pull/479
214+
X Update PDE_es.properties
215+
X https://github.com/processing/processing4/pull/480
216+
X https://github.com/processing/processing4/pull/481
217+
X Update PDE_de.properties
218+
X https://github.com/processing/processing4/pull/483
219+
220+
status
221+
X replace emoji buttons in status bar
222+
X re-save svg files using svg 1.0
223+
X sort out hover/press states here (only hovers atm)
224+
X also add state for shift-click to search
225+
X theme colors for emoji buttons (new themes across the board)
226+
X icons in the status bar (using emojis at the moment, now out of place)
227+
X console collapse/expand button
228+
X copy to clipboard button
229+
X implement alpha for url (70, 90, 100)
230+
X remove the color
231+
X get shift down from the editor window and pass to status
232+
X thicker version of the search icon for the status panel
233+
X copy the icon over from the manager
234+
235+
cleaning
236+
o should default to the local Java on Windows and Linux
237+
o have export apps default to the local JRE
238+
o Linux is probably using the system JRE if available
239+
o launch4j may be all set, but double-check
240+
X um, no--we should use the embedded version, b/c who knows what happens
241+
X Blank sketch opened even if opening an existing sketch by double-clicking
242+
X https://github.com/processing/processing/issues/218
243+
o improve the speed of file copying
244+
o use FileChannels, see FileInputStream.getChannel(),
245+
o and use transferFrom() or transferTo().)
246+
o could also use FileUtils in Apache's common io
247+
o http://commons.apache.org/io/api-release/index.html
248+
X Switch to getModifiersEx() in `processing.app`
249+
X https://github.com/processing/processing4/issues/67
250+
X done in beta 2
251+
/ library compilations not ordered properly w/ sorting
252+
/ do we still support library compilations? that was from 2016
253+
X https://github.com/processing/processing/issues/4630
254+
255+
decisions
256+
o preferences in web frame?
257+
o intro page using webkit (launching into examples)
258+
o and maybe the reference too?
259+
X nope, webkit embed way too large
260+
o how to send messages from webkit server to PDE (i.e. for a color tool)
261+
X skipping webkit embed for now
262+
X should we use Java 11 instead of 17 to be less of an outlier?
263+
X default rpi openjdk seems to be 11, we're not using any 17 features
264+
X size change is negligible (17 may even be slightly smaller)
265+
X or is this just a matter of 17 being new and it'll change quickly?
266+
X JavaFX 17 (a good idea) seems to be compatible with Java 11
267+
X JavaFX 11 has fewer builds (no ARM, prolly no Apple Silicon)
268+
X 11 LTS is supported until September 2026, 17 until 2029
269+
X https://dzone.com/articles/whats-new-between-java-11-and-java-17
270+
X switching to 17 as the default because it's now available in rpi os
271+
272+
X allow . to start a number in SVG paths (a little)
273+
X still lots of work to do here, it's an SVG 1.1 (vs 1.0) thing
274+
275+
data
276+
X add getXxxxList() methods to JSONObject
277+
X add toXxxxList() methods to JSONArray
278+
X rename getXxxArray() to toXxxArray() in JSONArray for consistency
279+
X deprecate the old versions
280+
X add random() method to XxxList classes to return a random value from the list
281+
X use toArray() instead of array() in LongList
282+
X did not deprecate old version because it was actually broken
283+
X use toArray() instead of array() in all other List classes
284+
X lots of cleanup (and some bug fixing) in the List classes
285+
286+
287+
1288
# Processing 4.0 beta 8
2289

3290
*Revision 1283 – 23 April 2022*

0 commit comments

Comments
 (0)