Finally the long awaited Nebula NatTable 1.0.0 release is out. It took us longer than we initially planned, but as it is a the increase of the major version number indicates, there are plenty of enhancements included.
First of all, Nebula NatTable is now a mature phase project that is out of incubation with this release. This means that we demonstrated that we are an open-source project with an open and transparent process. We have an actively involved and growing community and provide Eclipse Quality technology which is proven by passing the Eclipse Release Review (Read more about the Eclipse Development Process here).
So what are the mentioned improvements? Let’s start with the infrastructural enhancements. We were active in working on our third-party dependencies and our build process. The NatTable extensions have dependencies to GlazedLists and Apache POI. As they weren’t available as OSGi bundles before, our build process had some workarounds which didn’t work out on the build server. With the update to GlazedLists 1.9 and the efforts on bringing GlazedLists and Apache POI into Eclipse Orbit, we were able to update our target platform and our build process. This enables us to provide automated builds for NatTable core and the extensions everytime we commit and push updates to the repository. These builds are available as SNAPSHOT releases to give users the opportunity to always use the latest developments. We also started to release the Javadoc. While our code is still not completely documented, we started working on that front within the classes we touched for 1.0.0, so we hope it will be helpful for our users to understand the codebase better.
There is a lot of new stuff and enhancement of the codebase at several places. One thing you won’t notice in your code, but definitely on using NatTable is the enhancement of the viewport to support smooth scrolling. While scrolling in NatTable was column/row based before, which means that on scrolling the table jumped cell wise, the scrolling is now pixel based, which increases the user experience on scrolling. It also enables the NatTable to support scrolling of cells that are larger than the available space, which was not possible before.
At the API side we cleaned up the code regarding editing. You shouldn’t notice them if you didn’t customize the editing behaviour by creating and using your own editing bindings or custom editors. The creation of new editors for the NatTable is now more straight forward as we extended the necessary interfaces and abstract implementations. These modifications allow to specify editors that open in subdialogs, and even support editors that are based on SWT or JFace dialogs.
There are several other enhancements and additions which are all related to stabilizing the codebase and the featureset, and making the usage and configuration of the NatTable as flexible as possible. The RowReorderLayer that was missing until now, a Excel like filter row and the possibility to set expand/collapse icons in a tree are just three notable enhancements.
For every enhancement and bug there is a corresponding ticket in Bugzilla. We resolved 122 tickets for NatTable 1.0.0 over the past months. So if you are interested in a detailed changelog you should have a look there. To get an overview of the notable changes you can also have a look at the New & Noteworthy page. There you will also find a link for the Bugzilla query to list the resolved tickets.
To all of our users that have waited so long for the 1.0.0 release, sorry for the delay. But we hope we can satisfy your needs and you are happy with using Nebula NatTable 1.0.0. It is always great to get feedback, so don’t hesitate with comments (and critics).