Jenkins hits 1.400

Jenkins is now at 1.400 (as of last Monday, yes, I know. But better late than never...). As with 1.300 and 1.200, this release doesn't particularly signify any substantial major release, but nonetheless it is a milestone for those of us who are involved in the project — I think repeating something 400 times is something one can be proud of. It's a bit like climbing a mountain. Left foot, right foot, left foot, right foot, ... and when you look up, voila!

In 2 years since 1.300, which was April 2009, we've added a lot of features. We now have a CLI to manipulate the server, auto-installation of JDK/Ant/Maven to simplify cluster management, concurrent builds of the same job, community-contributed localizations to 20+ languages, boolean expression over the job/label assignment control, parallel initialization based on a dynamically built acyclic directed graph, console annotations to enrich the build output, far more extensible queue (that enabled a lot of plugins), Windows 7 / Vista support, improved master/slave communication stability, Maven 3 support, and then all around performance improvements, in memory footprint, in startup time, and in page rendering speed.

And of course, we had to change the name of the project. That was a real distraction, but now that the divorce is over, things have been moving well for Jenkins. I guess any organization (including any sizable OSS project) is really more than sum of all individuals. If you take a store of Target and replace all its workers by those of nearby Staples, it'll probably not work out well. I think people understand that.

And on the positive side, I do think we came out stronger. We are now running governance meetings on IRC, we now have somewhat more formal governance structure. The core development is actually accelarating with the help of many new developers, such as Olivier Lamy, (scroll to the right), and plugin releases kept coming at amazing rate — we are now at 350+ plugins, more than doubled since 1.300.

Looking at future, we are working on a number of new initiatives in the community, too. For example, Arnaud Héritier is working on revisiting our JIRA project structure, Andrew Bayer is running a contest for new logo, Tyler is in process of getting additional hardwares at OSUOSL for the project. I'm also doing a lot of things, but for example, I'm going to write a proposal to start a stable patch releases of Jenkins that only consists of backported important bug fixes, in addition to the current weekly release model. Several large users maintain private branches of Jenkins, and so I think it makes a lot of sense for those folks to align their efforts around this release line. I'm also thinking that we could launch a community acceptance testing (CAT) effort around this, much like NetBeans and GlassFish have done it. I think the first stable release line would branch off from 1.400, so if anything that's another reason you should upgrade to 1.400.

When I reflect on the project, I'm surprised at just how much work there is to be done, after so much that has been achived. But I'm still excited at what we can do with this platform. I thank everyone for their continued patoronage of Jenkins, and I hope to see more of you in the mailing lists, in the chat rooms, and in the meet-up events. And here is to infinity and beyond!

(Cross-posted to Kohsuke's blog)