WebLaF v1.2.9 release and upcoming changes

Not to waste any time I’ll start with important part – WebLaF v1.2.9 release is now available on GitHub. It’s been in development for quite a few years in which library API undergone some major changes and improvements. Most of the components have been updated or completely revamped. A lot of “bridge” methods that have been haunting me in older versions have been removed in favor of the new unified styling system. A few new big components like WebDockablePane and WebMultiSplitPane have been added to the library. A lot of managers and utilities undergone some changes and improvements. Countless bugs and memory leaks have been squished. You can check condensed patch notes on GitHub release page.

Now you probably still have a few questions:

  • Why is it just v1.2.9 while changes are worth a whole 2.0?
  • What is going to happen in the future updates?
  • Why are some components still have older style structure?
  • Where is the promised new site and guides?

I’ll try to answer those questions and more in this post.

Roadmap

First of all I would like to share the plans I have for the future updates as this will answer some of the questions straight up.

Next few updates I have planned are v1.2.10, v1.2.11, v1.2.12 etc – those will feature multiple smaller improvements I’ve left out to make a usable styling library version now. You can always check which improvements are planned for which version on GitHub Project pages – I try to always keep them up to date and add everything I’m working on as separate issues on the tracker.

Next, once I have a polished v1.2.x version – I’m going to work on v1.3.0 update that will feature last major improvements I’m planning to make before moving on to WebLaF v2.x.x. So v1.3.x will effectively be the last WebLaF version supporting JDK 6+.

Starting with v2.0.0 WebLaF will be switching to JDK 8+ support. Earlier v1.x.x version will be kept in a separate branch and important fixes will still be added into it, but it will not receive any new features or components that will be added to v2.x.x.

Looking even further into the future – start with v3.x.x I will be switching to JDK 11+ (or possibly even later) support. Similarly to v1.x.x – v2.x.x will be moved into a separate branch and will only receive important fixes.

Site revamp

Now that I’m done with v1.2.9 update – I have a bit more time to wrap up the work required to bring new site to life and that is exactly what I’m working on right now. This is probably the last post & update current site version will see.

New site will have no user interaction features and will simply act as a front page for the library. All the questions, issues and improvements will be handled through either GitHub issues, Gitter chat or direct emails.

Q&A

Now here is a small Q&A for the questions I have received over the last few months –

  • Why is it just v1.2.9 while changes are worth a whole v2.0.0?
    Mostly because at this point it would be quite hard to change all the version-related materials that are already there. Also partially because v1.2.9 doesn’t contain all the styling changes I wanted to make, instead they will be added one by one before v1.3.0 update.
  • What is going to happen in the future updates?
    Hopefully the Roadmap part above already answered this question, but shortly – all planned changes are still going to happen and I have a better plan to when and what will be released. I also have plans for moving to newer JDK version support in newer WebLaF versions.
  • Why are some components still have older style structure?
    As mentioned before – not all changes made it to v1.2.9 but since it is already perfectly usable and way more polished than earlier version I wanted to release it as soon as possible. Changes for the older components will be coming soon in smaller updates.
  • Where is the promised new site and guides?
    Site is coming as well as multiple new wiki articles on GitHub. If you find any mistakes or outdated information in any of the articles – don’t hesitate to contact me about it.
  • Should I use v1.2.9 or wait for more updates first?
    I strongly recommend using v1.2.9 instead of any earlier releases, especially pre-release versions or snapshots. It is stable and polished. It is simply missing some styling convenience for a few components and some improvements for API I would like to add.
  • Any license changes yet?
    Nope, there are still the very same three licenses – GPLv3 and two commercial options. I’m not going to change them until at least v2.0.0 is out. Also all commercial licenses purchased now will get free update to all new versions – any possible license changes will not apply to already purchased ones.
  • I want to contribute, what should I do?
    The best way to contribute is to report issues – it helps more than it might seem to. You can of course submit pull request for new features, improvements and fixes as well, but unfortunately due to complexity of new styling system, some managers and Swing in general – I might take a long while to review and add those changes, I might even have to decline some.