Highlight of this release is the deprecation of the AWT Applet. Due to an internal dependency on this terminally deprecated class, the LookAndFeel/Spinner editor underwent a substantial refactoring, which will continue with the TableModel editor in the next release.
Additionally, the BurningWave integration is now disabled by default, due to its invasive modification of the JRE. Consumers that need to access internal fields of the Swing components can enable it via the wbp.burningwave.enabled environment variable or by explicitly opening the required modules.
What's Changed
- Use release repository for 1.21.0 by @ptziegler in #1209
- Update projects and dependencies for 2025-12 release by @ptziegler in #1212
- Remove obsolete "ClassLoader" attribute for LookAndFeel UIManager by @ptziegler in #1208
- General cleanup of the Look-and-Feel preference page implementation by @ptziegler in #1205
- Bump actions/setup-java from 4.7.1 to 5.0.0 by @dependabot[bot] in #1203
- General cleanup of EmbeddedSwingComposite by @ptziegler in #1214
- Move access to "focusable" property to AWT event thread by @ptziegler in #1215
- Move calculation of embedded Swing component bounds to AWT thread by @ptziegler in #1206
- Remove dependency to deprecated StringUtils.equals(...) by @ptziegler in #1202
- Extract the LaF Swing preview into a separate class by @ptziegler in #1217
- Avoid deprecated StringUtils.replace() for template strings by @ptziegler in #1218
- EmbeddedSwingComposite must respect wHint and hHint by @ptziegler in #1220
- Deprecate support for Applet/JApplet API #383 by @ptziegler in #1221
- Move setting of LookAndFeel to AWT event thread by @ptziegler in #1219
- Investigate missing test-result reports by @ptziegler in #1032
- Replace deprecated JApplet with JRootPane. by @ptziegler in #1216
- Add default message if no LAS is selected by @ptziegler in #1223
- Update to Nebula 3.2 by @ptziegler in #1191
- Encapsulate the Swing LookAndFeel using an ObservableValue by @ptziegler in #1224
- Cleanup several minor issues in the SpinnerModel dialog by @ptziegler in #1225
- Delete AbstractComboBoxPropertyEditor and deprecated CComboBox #1091 by @ptziegler in #1226
- Try to stabilize JSpinner test by @ptziegler in #1229
- Properly reset the EmbeddedSwingComposite when disposed by @ptziegler in #1231
- Restore full functionality of FontProeprtyEditorTest on Linux by @ptziegler in #1232
- Properly initialize fonts in FontPropertyEditorTest by @ptziegler in #1233
- Repair and execute disabled FormLayout tests by @ptziegler in #1234
- Encapsulate the Swing SpinnerModel using an ObservableValue by @ptziegler in #1227
- Update Jakarta Activation/XML Bind API to their latest release by @ptziegler in #1235
- Replace StringUtils.replace() with String.replace() in test plugin by @ptziegler in #1236
- Add 4.38-I-builds update site to target platform by @ptziegler in #1239
- Remove usage of deprecated StringUtils.replace(...) by @ptziegler in #1241
- Bump eclipse-dash/dash-licenses from 82298640031508f56d15419e8320bf63e4e5ce3e to 1007e5ddce35a16b3b790f719ce8757ad6ec46ee by @dependabot[bot] in #1237
- Decrease contrast of Swing layout icons by @ptziegler in #1238
- Remove checked exception from Border accessors by @ptziegler in #1240
- Don't traverse lambda expressions unless necessary by @ptziegler in #1245
- Remove duplicate ExecutionUtils.runAsync() method by @ptziegler in #1247
- Don't run the dash-license tool on every build by @ptziegler in #1246
- ExecutionUtils.runLogLater() should return a CompletableFuture by @ptziegler in #1248
- Synchronize update of Spinner dialog via CompletableFuture by @ptziegler in #1249
- SwingUtils.runLogLater() should return a CompletableFuture by @ptziegler in #1251
- The getSource() methods in the BorderDialog shouldn't throw exceptions by @ptziegler in #1250
- Move initialization of Border dialog fields to constructor by @ptziegler in #1252
- Remove deprecated StringUtils.removeStart() by @ptziegler in #1255
- Simplify calculation of compatible border composite in BorderField by @ptziegler in #1253
- Move Designer 2.0 specification to GitHub wiki by @ptziegler in #1258
- Replace CSpinner widget in IntegerField with SWT Spinner by @ptziegler in #1259
- Avoid creating a static shell for the BorderDialog by @ptziegler in #1260
- Store generated Java code for BorderField in a local variable by @ptziegler in #1262
- Convert Swing Wizards documentation to AsciiDoc by @ptziegler in #1257
- Add deprecation indication to JApplet wizard and update changelog by @ptziegler in #1263
- Correct behavior when a Border is managed by multiple BorderComposites by @ptziegler in #1264
- Add additional test cases for the BorderDialog editor by @ptziegler in #1261
- Fix NPE when restoring layout to default value by @ptziegler in #1265
- Implement the "setDefaultLayout()" method for SWT by @ptziegler in #1266
- Cleanup LayoutsPreferencePage by @ptziegler in #1268
- Encapsulate Swing Border using a BorderValue class by @ptziegler in #1243
- Migrate several Swing layout tests to use text blocks by @ptziegler in #1269
- Migrate Swing GridBagLayout tests to use text blocks by @ptziegler in #1271
- Move processing of Swing border to AWT event dispatcher thread by @ptziegler in #1270
- Bump eclipse-dash/dash-licenses from 1007e5ddce35a16b3b790f719ce8757ad6ec46ee to 38d5c669c1860d2f134cc428baf10f817cafe2c5 by @dependabot[bot] in #1275
- Partially revert 87d34be by @ptziegler in #1274
- Simplify SWT screenshot logic on GTK/Linux by @ptziegler in #1276
- Avoid using deprecated MigLayout methods by @ptziegler in #1277
- Don't fail tests if test files can't be deleted by @ptziegler in #1280
- Bump eclipse-dash/dash-licenses from 38d5c669c1860d2f134cc428baf10f817cafe2c5 to e6a1bd11cb56d73b4119e19709402788386733e5 by @dependabot[bot] in #1279
- Remove unused SwtResourceManager by @ptziegler in #1272
- Make DesignerPackageBinding compatible with JDT 2025-12 by @ptziegler in #1281
- DesignerEditorTestCase should extend AbstractJavaInfoTest by @ptziegler in #1282
- Create TableModelDescription in Swing UI thread by @ptziegler in #1283
- Bump eclipse-dash/dash-licenses from e6a1bd11cb56d73b4119e19709402788386733e5 to fce3439d169005fa3a33df074fec5690887ecab3 by @dependabot[bot] in #1285
- Bump actions/upload-artifact from 4.6.2 to 5.0.0 by @dependabot[bot] in #1284
- Remove source features by @ptziegler in #1286
- Restore generation of source bundles by @ptziegler in #1288
- Update to Tycho 5.0 by @ptziegler in #1289
- Bump EnricoMi/publish-unit-test-result-action from 2.20.0 to 2.21.0 by @dependabot[bot] in #1290
- Always create 24-bit Swing screenshot images #1287 by @ptziegler in #1291
- Rename "v150.asciidoc" to "v105.asciidoc" by @ptziegler in #1292
- Rename tycho-eclipserun-plugin to tycho-eclipse-plugin by @ptziegler in #1294
- Remove "throws Exception" from getTitle() in VariableSupport by @ptziegler in #1293
- DesignerException should accept generic objects as parameters by @ptziegler in #1295
- Remove "throws Exception" from IObjectRepresentation methods by @ptziegler in #1296
- Throw proper error if layouts are set multiple times by @ptziegler in #1297
- Only run license check on changes to the .target file by @ptziegler in #1299
- Update JAXB-OSGi to 4.0.6 by @ptziegler in #1278
- Make dependency from test plugin to OS support implementation explicit by @ptziegler in #1298
- Typify methods in OSSupport by @ptziegler in #1300
- Disable BurningWave initialization by default #1305 by @ptziegler in #1306
- Use 2025-12 release repository by @ptziegler in #1311
Full Changelog: V1.21.0...V1.22.0