Release candidate for Substance 5.0

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:

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:


Related posts:

  1. Release candidate for Substance 4.2 The release candidate for version 4.2 of Substance look-and-feel (code-named Memphis) is available. The list...
  2. Release candidate for Substance 5.1 I am extremely pleased today to announce the availability of release candidate for version 5.1...
  3. Release candidate for Substance 5.2 I am extremely pleased today to announce the availability of release candidate for version 5.2...
  4. Release candidate for Substance 4.1 The release candidate for version 4.1 of Substance look-and-feel (code-named Lima) is available. The list...


19 Responses to “Release candidate for Substance 5.0”

  • Anders Says:

    Hi Kiril

    Congratulations on the release of the rc.
    Really looking forward to try it out.

    /Anders

  • Mike Says:

    “version 4.3 …this version has thirteen bugs backported to it from the main development trunk.”

    thirteen bugs backported…errr..thanks?

  • Jacek Furmankiewicz Says:

    Nice work…it *definitely* feels snappier than previous Substance releases, which always had that somewhat “heavy” feeling to them…5.0 is looking very promising.

    Amazing work!

  • Rob Juurlink Says:

    I don’t get the difference between skins and look&feel. I like the Mist Aqua skin, it’s listed under skins, but it is not in the Substance look&feel list.

    Keep up the great work.

  • Kirill Grouchnikov Says:

    Mike – unfortunate wording on my part. This has been corrected.

    Anders, Jacek – thanks for the kind words.

    Rob – not sure what are you referring to in “look&feel list”. Substance has a number of skins, and each skin can be set in a number of ways. One of the ways is to use a class that can be passed to UIManager.setLookAndFeel. If you have any specific questions, please consider posting them to the project forums or “users” mailing list.

    Thanks
    Kirill

  • ranjith Says:

    Hi, I had been following substance for a few years and this is visually the best release. I will further download and play around!

  • Soma Says:

    wow, slick and way fast!

    Is substance available in a maven repository somewhere?

  • Kirill Grouchnikov Says:

    Soma – as far as i can tell Substance is not available in public maven repositories. I do not have resources to maintain this part and at the present moment it is left to the interested members of the community.

    Thanks
    Kirill

  • Aakash Says:

    The performance improvement is great.

    Great Work~

  • Steve Says:

    Hello,
    Just looked at the WebStart demo, and indeed, it takes much less time to display my app.
    One suggestion though, it would be a great idea to set the “Custom” look as a standard LaF (menu Skins->Custom), because it must be one of the best themes I’ve seen on Substance (along with Creme, Raven*, Magma…)

    The effects are pretty nifty too.
    A thousand thanks for all your work

  • Marc Says:

    Hi.
    First of all, Thank you for your great work and effort.
    In your latest release(s) of substance 5.0. I detected an issue with JTables. I found this around since your 5.0 build of ¿Tuesday?, well I can’t remember. Okay, the thing is that the selected cell isn’t highlighted when SingleSelection Mode is enabled. I tried this in a couple of your skins and the problem repeats. This doesn’t happen with other Look and Feels.
    ¿Is this a BUG or an expected behaviour? And if it’s the expected behaviour ¿how can I solve the issue?
    ThankYou

  • Kirill Grouchnikov Says:

    Marc,

    I don’t see the problem that you’re describing in the test application (linked as WebStart button above). If you have a small (<100 lines) reproducible scenario, please create a new issue in the project issue tracker so that i can fix it in time for the final 5.0 release (september 15).

    Thanks
    Kirill

  • Marc Says:

    Hi,
    I can’t either see the problem in the webstart application. I’m using the runtime library (Substance 5.0 library) Sept 5 2008 12:52 AM.
    I just built a simple app in netbeans showing a jxtable and a jtable with some selected rows. Rows won’t get selected at the JTable but will at the JXTable. (note: I don´t have the substance-swingx.jar in the classpath)

    Image:
    http://img391.imageshack.us/my.php?image=substancesl3.jpg

    It’s a very simple example built in netbeans with the gui editor, and just added:
    …UIManager.setLookAndFeel(new SubstanceBusinessLookAndFeel());…

  • Marc Says:

    Hi
    I finally found the issue!!!
    If you don’t set the table to not show the grids, selectiong won’t show.
    In the webstart demo, comment out the line saying this.table.setShowGrid(false); and voila!
    Bye

  • Marc Says:

    Hi again.
    The issue keeps coming up when you have models with less than 9 columns.
    So in summary, if the table is showing grids or your model < 9 columns, then the rows won’t highlight.

    Sorry for the amount of posts. Hope it helps.

    Again, thank you for your useful and selfless job.

  • tito Says:

    Congrats Kirill!

    I started looking at it last night and it certainly gives a noticeable performance boost – nicely done.

    Once I’ve had a chance to run it for a bit, I’ll let you know how it goes.

    As always, thank you for your great work!

  • Kirill Grouchnikov Says:

    Marc,

    Please continue the discussion by opening a bug report in the project issue tracker.

    Thanks
    Kirill

  • Marc Says:

    Just submitted the issue. Issue 383.

  • Sebastian Says:

    Really impressive. Not only that it feels smoother that 4.3, also the swingx-plugin will likely prove to be convenient.

    Keep up the good work,
    S.