Submitted by rtyler on Mon, 2010-03-15 06:15
Finishing off the second week in March, the Hudson team rolled Hudson 1.350 off the assembly line last Friday, bringing a slew of fixes. Of particular interest to users of Hudson's various native packages for Red Hat, openSuSE, Ubuntu/Debian and Solaris, was a change that suppress the "self-upgrade" functionality in the "Manage Hudson" page. On the enhancements side of the fence, the team added authentication support to the Hudson CLI (issue 3796) allowing Hudson users with locked down installations to take advantage of everything the CLI has to offer.
Internal to Hudson, some more changes from Alan Harder (a.k.a mindless, a.k.a The Garbage Man), deprecating or otherwise removing deprecated APIs. Alan's been doing some great work on Hudson's internals, if you're coming out to this weekend's hackathon, but sure to pat him on the back for his tireless efforts.
Last Friday, March 5th, Hudson 1.349 was pushed out into the wild with an even split of bug fixes and enhancements. Included in this release is Alan Harder's (a.k.a
mindless) old data monitor code, discussed previously in the post "Call for Testers: The older the better." Included in this release were further updates to the japanese and german localizations of Hudson; if you're interested in helping localize Hudson into more languages you can join the effort via the Internationalization page on the wiki.
Now for the breakdown of the 1.349 release:
Fix deserialization problem with fields containing double underscore.
Fix deserialization problem for Exception objects where the XML has bad/old data.
Fix serialization problem with empty CopyOnWriteMap.Tree.
Fixed a bug that can cause 404 in the form validation check.
Remote build result submission shouldn't hang forever even if Hudson goes down.
Added a monitor for old or unreadable data in XML files and a manage screen to assist
in updating files to the current data format and/or removing unreadable data from plugins
that are no longer active. "Manage Hudson" page will show a link if any old/unreadable
data was detected.
Added a mechanism to bundle init.groovy inside the war for OEM.
Added an extension point to annotate console output.
Hudson 1.349 contains 43 commits from 6 contributors, due to the merging in of Alan Harder's old-data-monitor branch the commit count is a bit off from the amount of code change that actually went out in 1.349.
As usual, you can go grab the latest .war file straight from
hudson-ci.org or if you're using a native package, use your package manager to upgrade.
A couple weeks ago in the post outlining the release of Hudson 1.347 I mentioned that Alan Harder (a.k.a. mindless) had undertaken a deprecation-crusade; that is to say Alan has taken it upon himself to rid Hudson's code-base, particularly in the plugin area, of older code. One of Alan's branches
old-data-monitor was merged into trunk with
r28147 bringing with it some changes to help migrate older plugin datasets to newer formats.
When I reached out to Alan earlier today on IRC (
#hudson on the Freenode) about the subject he agreed that polling the community for beta testers would be a good idea; this is where you come in. Per Alan's message to the
dev@ mailing list:
Visit your "Manage Hudson" screen to see if the notice about old/unreadable data appears. I'll be curious to see which of the old deprecated data structures are actually out there in people's XML files.
Instead of waiting for the release candidate to be packaged Wednesday evening, I've gone ahead and published the artifact from build #4544 which can be downloaded here: hudson.war
If you have an old Hudson installation with, testing this build would be incredibly useful. Alan went on to say:
If people find issues with OldDataMonitor, they should file them at issues.hudson-ci.org in "core" component and assign them to "mindless".
This change does not mutate any data (or at least it shouldn't) so it should be safe, be on the look out for exceptions in Hudson's log on startup.
Michael Donohue, a Hudson developer who has taken on the role of master bug triage guy for Hudson, does something regularly which I've really come to appreciate as a Hudson developer myself: he sends out emails to the dev list with the top 10 voted issues at that time. This gives those of us in the Hudson development community a good sense of what's really important to our users, which in turn helps us decide where to focus our efforts. If you're interested, you can see the top voted issues over at our JIRA server.
A good number of those issues have been high on the list for a while - I'm actually in the early stages of work on a plugin to answer HUDSON-682, the current #1 most voted-for issue, two and a half years after it was opened. But I'm sure there are some equally useful features Hudson users would like to see added which aren't on that list. So I'm asking you, dear readers: what are you looking for in Hudson that isn't already there? Take a look around the existing issues - you may find a request that fits what you want lurking just out of the top 10, needing only your vote to push it into the spotlight. If no one's yet created an issue requesting your desired feature, well, create one.
Or, better still, write a plugin or contribute a patch yourself!
Editor's Note: If you're interested in writing a plugin, you can check out Hudson's wiki and/or this guide on the subject.
Andrew Bayer (
abayer) has been a contributor to Hudson since early 2009, contributing to the ClearCase plugin, Hudson's core and a small number of other plugins.