Development roundup: June 2009

Filed under: Roundup — Chris on September 21, 2009 @ 1:36 pm — Permalink

Regular visitors to our blog may have noticed a lack of development roundups over the past few months. This was due to some non-DMDirc commitments/difficulties experienced by some of the developers. Never fear, though, we’re now back and gearing up for DMDirc 0.6.3m2, which should be out on the 1st of November according to our release schedule. We’ll try to clear up the backlog of roundups over the next few days.

So, going back to June. Almost the entire month was spent in a feature freeze for DMDirc 0.6.3m1. We made around 70 commits to our git repository, fixing a large number of bugs ranging from typos, to windowing/title problems, and various minor UI tweaks.

On the 28th of June, we released DMDirc 0.6.3m1, the full changelog for which can be seen on the wiki.

Improving the DMDirc release cycle

Filed under: General, QA — Shane on July 5, 2009 @ 3:16 pm — Permalink

Once again, we are looking at improving the DMDirc release cycle. First, a bit of history. When we first started with DMDirc back in 2007 we had very regular releases, but these have slowly started getting longer and longer:

  • 0.1 was released on the 1st of March 2007
  • 0.2 quickly followed 5 days later (6th March)
  • 0.3 was 1 month, 18 days after that (24th April)
  • 0.4 followed after 1 month, 18 days again (11th June)
  • 0.5 then came 3 months, 15 days later (26th September)
  • 0.5.1 was then released as a bug fix a mere 11 days after that (7th October)

So that was six releases in just over 7 months. We were happy to be doing regular releases as we felt it was more likely to keep users with us as the client evolved quickly. However, this pace soon died down and 3 months, 23 days later (which was at the time the longest we’d gone without a release), with no sign of 0.6 being finished any time soon, we made the decision to release 0.5.5. This was intended as a half-way point between 0.5 and 0.6 to try and keep the releases regular, with the idea that 0.6 would follow in a similar time scale. This was not quite the case, as it took us a further 7 months, 12 days before 0.6 was released!

Shortly before the release of 0.6 we looked at the time between releases, and took the decision to split our workload for 0.7 into 3 separate parts (as described here) in order to try and bring the release time down to a more reasonable time scale. After some time it became obvious from the amount of outstanding issues for 0.6.3 that this again wouldn’t work, as six months in we still had a large number of major features outstanding. We therefore decided once again to split the release further into a set of “milestone” releases — 0.6.3m1 (which we’ve just released), 0.6.3m2 (up next) and then probably 0.6.3 proper. These milestone releases were supposed to be point in time where we thought the client was in a good state that we would finish anything we were working on, tidy up the code and release.

Well, 9 months, 16 days after the release of 0.6 we released the long-awaited version 0.6.3m1. We once again took a hard look at this and have come to the conclusion that this simply isn’t acceptable, despite two attempts at breaking the release down it still took us 9 months to do what essentially boils down to 1/9th of the 0.7 release we had originally planned (assuming that 0.6.6 and 0.7 will also be split into two milestone releases).

So now we are going to introduce yet another change to our release cycle. We are going to continue with 0.6.3, 0.6.6 and 0.7 as separate release targets, but instead tweak how we handle milestone releases. Currently we decide to release a milestone randomly when we feel that the client is stable, instead we are going to try and stick to a reasonably fixed release cycle of 4 months in between releases. Approximately 3 months after the last release we are going to start the process of preparing for a milestone release. This will entail a feature freeze and the bumping of any non-essential issues back to the next milestone. Following this we will finish any currently outstanding issues (or bump them if there is still too much to do), a reasonably quick QA cycle (during which we open up the UNSTABLE updater channel to allow for testing of the upcoming release) and then release after the 4th month and repeat.

So with this new release cycle we hope to go back to our original faster-paced release strategy without losing any of the quality we like in a release, and should be looking at releasing the next milestone on or around the 1st of November, so watch out during October for news of the pending release of 0.6.3m2!

Development roundup: May 2009

Filed under: Roundup — Chris on June 29, 2009 @ 8:28 pm — Permalink

During May the DMDirc developers were gearing up to release DMDirc 0.6.3m1 (which has just been released: see our previous blog post), the first of our “milestone” releases on the way to 0.6.3 proper. During this month we made 113 commits to our git repository, fixing over 30 issues. Some of the more notable changes this month were:

  • Default settings changed from being versioned using SVN revision numbers to using Git commit hashes, which fixes a lot of development error and further paves the way for us to drop SVN support entirely,
  • Several fixes to the profile manager dialog
  • Fixed bug where updater forgets about updates if it checks again, and tidy up some of the updater code
  • Many, many fixes to the DCC plugin which means that it now works on a regular basis
  • Further work on the preferences dialog (including a fix for the long-standing problem relating to plugin icons under Windows)

All of these changes made it into DMDirc 0.6.3m1, which we encourage you to check out. As always, you can leave feedback here, join us in #DMDirc on Quakenet, use the feedback functionality in the client, or have a word with @DMDirc on Twitter.

DMDirc 0.6.3m1 Released.

Filed under: News, Release — Shane on June 28, 2009 @ 10:07 pm — Permalink

After nearly a year, we have just released DMDirc 0.6.3m1, with over 1000 commits resulting in over 200 feature additions, bug fixes and other changes, including:

  • A redesign of the preferences dialog
  • Improved support for SSL certficates (both client and server)
  • Support for SOCKS proxies
  • Ability to automatically restart the client after installing updates
  • Ability for plugins to specify ’services’ that they provide/require.
  • Ability for plugins to export (share) methods with each other
  • Improved MDI support
  • A more robust DCC plugin
  • Moving of the UI to a plugin, allowing for it to be updated separately from the main client

DMDirc 0.6.3m1 is one of our “milestone” releases of the 0.6.3 branch. These milestone releases were a (somewhat failed) attempt to release more often than we have in the past. We periodically decide to stop working on any new features and tidy up the current code-base into a release-ready state to allow users of the stable branch of the client to get some of the new features and fixes we have added sooner than having to wait for a full major release. It’s taken us almost a year to get to 0.6.3m1, so imagine how long it’d take if we went straight to 0.6.3 itself (which is approximately two milestones away)!

Users of previous versions of DMDirc should in the coming days be prompted by the automatic updater (if enabled) to update to the latest version of DMDirc. Alternatively, you can visit our downloads page to grab the latest version yourself.

With DMDirc 0.6.3m1 released we are now looking forward to our next milestone release, DMDirc 0.6.3m2. So far the issue list for this contains exciting additions such as improved handling of different charsets in channels, additional changes to plugins to try and make them less like black magic, server lists, improved support for netbooks (and other low-resolution systems), and a plethora of other bug fixes and general improvements to make the client nicer to use.

As always, we welcome bug reports and feature requests on our issue tracker, irc channel or as comments on this post. We’ve also recently launched an official twitter presence. DMDirc 0.6.3m1 continues to be supported on Linux, BSD, Solaris, OS X and Windows, as well as having a standalone Jar file for any other platforms that are not specifically supported.

Development roundup: April 2009

Filed under: Roundup — Chris on May 25, 2009 @ 8:29 pm — Permalink

April was a fairly slow month for the DMDirc developers. One of our biggest time sinks this month was fixing problems in the UI which appeared after we made some changes to improve thread safety. Throughout the month we had both major and minor issues related to window switching and maximising/restoring, some of which we’re only just getting around to fixing now.

There were a couple of new features introduced this month, such as the ‘restart needed’ dialog which appears when the updater determines that you need to restart the client in order to complete the upgrade process. If you elect to restart using this dialog, the client will close and the DMDirc launcher will automatically reopen the (updated) client.

The windows side of this was done by a new addition to our team, Michael ‘Zipplet’ Nixon, who has now taken responsibility for all of our code that’s native to Windows (primarily the Windows launcher, installer and uninstaller). Previously Michael helped us test DMDirc on Windows, and we’re very grateful that he’s now joined us as a developer. So far he’s helped to clean up a lot of the Windows code, and has fixed several major bugs such as the uninstaller not working.

As always we encourage you to try a nightly build and to provide us with any feedback you have, either as a comment here, on our bug tracker, or in #DMDirc on Quakenet (irc.quakenet.org).

« Previous PageNext Page »

Powered by WordPress