I am extremely pleased today to announce the availability of release candidate for version 5.0 of Substance look-and-feel. The roadmap for this release has been published in April, and the library has undergone significant internal and external changes to address major performance issues and to ensure the long-term code health of the project.
The release notes for version 5.0 provide detailed information on the major application-facing changes in this version. Some of the applications that have used Substance-specific APIs and client properties or defined a custom skin will have to be modified when upgrading to version 5.0. This was absolutely mandatory to address the performance issues and ensure that the library stays maintainable in the long run. The code has grown a lot of unnecessary complications over the last few releases and had to be significantly refactored to bring it back to a clean and maintainable state.
Here is the list of big changes in Substance 5.0:
- Moving to Java 6 as the minimum runtime requirement.
- Addressing the performance issues. While the first announced drop was 20% faster than release 4.3, the release candidate is 3.5 times faster on static scenarios and 2.7 times faster on dynamic scenarios as measured by the LightBeam testbed.
- New client property to allow using per-window skins.
- Enhanced theming layer.
- Removed 16 VM flags and left only 2.
- Removed 15 client properties, consolidated 3 others into 2 and added 1 new.
- Removed 54 API methods on the main class, pushing some functionality into the theming layer.
- Consolidated theme pack, watermark pack and button shaper pack into the Extras pack that also provides additional skins.
Click on the button below to launch a signed WebStart application that shows the available Substance features.
The following sub-projects are also available as release candidates:
- Substance plugin for SwingX component suite build 1183 from August 31. See test application.
- Substance plugin for Flamingo component suite 3.1RC. See test applications.
- Substance plugin for JIDE common components 2.3.0. Provides support for JIDE button and JIDE split button components in this release.
- Substance Extras pack.
As promised, version 4.3 (the last version that can run on Java 5) is in long-term support mode. At the present moment this version has thirteen bug fixes backported to it from the main development trunk.
You are more than welcome to take Substance 5.0RC for a ride and report any problems in the project mailing lists, forums or issue tracker. The final release is scheduled for September 15. Only bugs will be fixed until that date.
Sample screenshots of Substance in action: