DMDirc 0.6.3 released

Filed under: News,Release — Chris on March 6, 2010 @ 21:38 — Permalink

We’ve just released DMDirc 0.6.3, which is our first release in 2010. From a development point of view, this release also marks the end of our support for Subversion. An overview of the changes included follows:

 

Window menu enhancement

The window menu now groups windows by server, making it much easier to quickly access a specific window (especially if you’re connected to lots of different servers!).

 

Addon browser

The addon browser was previously available in 0.6.3m2, but was not properly functioning in that release. DMDirc 0.6.3 presents a functioning addon browser, allowing you to browse through plugins, themes and action packs from within DMDirc, and download and install them with one click.

 

Backgrounds

You can now specify background images for both the textpane and the main ‘desktop’ area.

 

Topic improvements

A brand new topic bar now adorns the top of channel windows, allowing you to easily see the current topic at a glance, and edit it right from the channel. The topic history display in the channel settings window has also been completely revamped, showing much more detail than it did previously.

 

Improved URL and channel linking

DMDirc’s already intelligent URL handling has been improved further, now allowing some extra characters to ensure compatibility with non-standard URLs. We’ve also applied the same techniques we use for intelligent URL linking to channel name links, so trailing punctuation and brackets will no longer get in your way when trying to join a channel.

 

DCC fixes

We’ve fixed a whole raft of bugs in the DCC plugin, which should make it work much more reliably in more circumstances than ever before. We’ve also fixed a particularly silly bug which rate limited all DCCs to 10KB/s in past versions.

 

As always, we welcome bug reports and feature requests on our issue tracker, irc channel or as comments on this post. We will also respond to mentions on twitter. DMDirc 0.6.3 continues to be supported on Linux, BSD, Solaris, OS X and Windows, as well as having a standalone Jar file for any other java-capable platforms that are not specifically supported.

DMDirc 0.6.3m2 Released

Filed under: News,Release — Shane on November 22, 2009 @ 23:51 — Permalink

At the start of the month we quietly released DMDirc 0.6.3m2 as part of our new fixed release cycle.

DMDirc 0.6.3m2 is the second milestone release since 0.6.1, and the first release we’ve made as part of the fixed cycle. It contains a large number of bug fixes and minor improvements.

As this is the first release as part of the fixed release cycle, we weren’t used to the limited timescale between releases and as such our usual ‘quiet’ period between releases had a much larger effect than it does normally. This means that we didn’t get as many features into this release as we would have liked, but we still managed to squeeze a few in:

 

Textpane font settings

One of our most requested improvements – you can now set both the font name and size of the text displayed in DMDirc’s textpane. The options can be set globally, per-server or per-channel as usual.

 

Alternate parsers (Twitter support)

DMDirc can now support different parsers in addition to our previous IRC parser. This means better or alternative IRC parsers can be developed in the future, or we can develop parsers to interact with completely different systems. As a proof of concept, we’ve developed a Twitter parser which allows you to read your Twitter news feed and post status updates direct from DMDirc!

 

Configurable server names

You can now configure how DMDirc displays server names in the treeview and the titlebar. This means you can (for example) show your nickname along with the server name (useful if you often connect to the same server twice as different users), or show the network name instead of the server address (in case you use a bouncer to connect to multiple networks).

 

License panel

We’ve also tidied up the ‘License’ panel in the about dialog, to make it much clearer which components are covered by which license. This should make it easier for anyone interested in modifying DMDirc or reusing parts of it to see where they stand.

 

As we’re now committed to releasing on a fixed schedule this will be the last ‘milestone’ release, and for future releases we’ll just add to the minor version number until we’ve implemented the features targeted for the next major release. This means the next release will be 0.6.3, and any further releases before the 0.7 feature set is complete will be 0.6.4, 0.6.5, etc

As always, we welcome bug reports and feature requests on our issue tracker, irc channel or as comments on this post. We will also respond to mentions on twitter. DMDirc 0.6.3m2 continues to be supported on Linux, BSD, Solaris, OS X and Windows, as well as having a standalone Jar file for any other java-capable platforms that are not specifically supported.

DMDirc 0.6.3m1 Released.

Filed under: News,Release — Shane on June 28, 2009 @ 22:07 — 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.

DMDirc 0.6

Filed under: News,Release — Shane on September 13, 2008 @ 00:08 — Permalink

Edit: It was recently brought to our attention that the OS X version previously released contained a bug that prevented the client from starting. This bug has now been fixed in the version available from Google code, we urge OS X users who previously downloaded and tried to use this version of DMDirc to try again with the fixed version.

After a long period of testing we have finally released DMDirc 0.6, and we think this is the best version of DMDirc to date with over 250 feature additions, bug fixes and other changes, including:

  • Themes system revamp to allow multiple themes to be loaded at a time
  • Completely redesigned Actions Manager and Actions Editor dialog (see our previous coverage of these)
  • New installer for OS X
  • The Linux installer can now be used for BSD-like OSs that have Java pre-installed
  • The Linux installer can now be used on Open Solaris
  • The automatic updater can now update plugins

As of DMDirc 0.6 we now support running on more platforms than before: we have installers for Linux, BSD, Solaris, OS X and Windows, as well as a standalone Jar file for any other platforms that we don’t currently provide an installer for.

Users of DMDirc 0.5.6 (or the recent unstable releases) should be prompted by the 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 (finally!) released we are looking forward to our next release, DMDirc 0.6.3. This will include support for SOCKS proxies, improved support for SSL Servers, a nicer looking Preferences dialog, server lists and more.

As always, we welcome bug reports and feature requests on our issue tracker, irc channel or as comments on this post.

Improving the development process

Filed under: General,QA,Release,Tech — Shane on August 31, 2008 @ 18:09 — Permalink

One of the things that makes DMDirc good (in my opinion) is that the three main developers actively use it pretty much all day, every day. We are all very, very heavy IRC users (unlike the author of mIRC for instance, who admits to only occasionally using IRC), which is what led to us [re]starting DMDirc development — when we all switched to Linux, we couldn’t find an existing client that any of us really liked.

From the start we wanted DMDirc to be an excellent client, and we quickly got it into a usable state (I have logs showing me using it in early May 2007). To help us do this we registered with Google Code, which provided us with a Subversion repository, download hosting and an issue tracker.

In addition to the tools on Google Code we also wrote a service that received error reports from DMDirc clients, and allowed developers to browse them using a web interface. This system never really worked too well; it meant that we in effect had two systems for tracking errors, the automated error system (which was checked manually, and therefore quite infrequently) and the user-facing Google Code issue tracker. The Google Code issue tracker also had quite a few issues of its own [ba-dum-tish] that posed problems for us: we didn’t have much control over it, Google were slow to improve it, and it didn’t allow for dependencies or private issues. The lack of private issues was the reason we felt the need to have two separate systems at the time — automatically reported errors may in some cases contain private information, so we can’t show them publicly.

Sometime just before DMDirc 0.5.5 was released, we decided to start using Mantis as our primary issue tracker. Mantis, whilst not perfect, gave us the control we wanted — it’s written in PHP (which, like Java, we all know very well), and is easy enough to modify. We imported all of our existing issues from Google Code, using a Python script (yay for multi-language proficiency!) to screenscrape the website and build an XML file, and then a PHP script to read the XML file and import the issues into Mantis. With the issues imported, we set about modifying Mantis to better suit our needs.

We (well, Chris and I) had got quite used to using the issue ‘grid view’ offered by Google code, so one of the first things we did when switching to Mantis was implementing our own version of it. We also improved the error reporting backend to raise new Mantis issues (marked as private, of course). Later on, we also enabled SVN integration, which initially meant writing a script to parse e-mails from Google Code (where our SVN repository was still hosted) and passing the information on to Mantis for it to use. After a while, we modified the integration to include links to our Fisheye instance, and also map Subversion users to Mantis users in order to add comments with the appropriate username instead of just ‘SVN user’.

More recently, we’ve improved the Fisheye aspect of the integration dramatically; we now access Fisheye and include its representation of the changes directly in Mantis, allowing you to see a list of affected files and even view diffs of the changes without leaving the issue page. We also parse any stack traces in the issue description, and automatically link relevant lines to the Fisheye view of the specified file and revision, if the information is available. You can see an example of both of these modifications in this issue.

Now, as I mentioned above, we are all heavy IRC users so having to periodically check Mantis for new bugs wasn’t very appealing to us, so we modified it some more so that it communicated with an IRC bot we have which is designed to relay notifications. Mantis tells us everything that happens — new issues, edited issues, property changes on issues — anything that happens there, we instantly know about it.

This setup worked well for us for about 4 months, after which we decided to switch over to using a self-hosted SVN Repository, which opened up even more possibilities. We added post-commit hooks to replace the email-parsing hacks for Mantis support, enabled reporting of commits to IRC, and created a pre-commit hook to make sure that every commit was linked to an issue on Mantis.

Not long after that we discovered and implemented Bamboo into our development process. Bamboo is a Continuous Integration server, which means that every time we commit something to the trunk (or active branches), it will rebuild the project on our server, run our collection of unit tests and then publish and store the results. Bamboo also notifies us via Jabber if you cause a build to fail. Of course this wasn’t quite perfect, and after a short while we discovered a plugin that can execute post-build scripts. One Bash script later and Bamboo was reporting to IRC like everything else. We also, of course, integrated Bamboo with Mantis. If you check this issue again you will see that the results of the build from Bamboo are also reported under the the commit that triggered it.

As mentioned before, we have a collection of unit tests to make sure things work as expected. Every so often we generate Clover reports to show how much code coverage we have, and in the last month we have also discovered and began using the FEST Swing library to allow us to start unit testing the DMDirc GUI.

So as you can see, what we have now is a very tightly integrated system to help ensure that DMDirc is a quality product. Everything reports to IRC so we know as soon as things happen, our issue tracker is almost omnipotent in that it can tell nearly everything about an issue from being raised to being fixed, and to top it all off, we have Nagios running and monitoring it all for us (and of course, this reports to IRC also!)

Of course this setup wouldn’t be possible if it wasn’t for a few choice products provided for free — Mantis, Fisheye, Bamboo, Clover and many others. We would like to thank the developers of these products for helping us make DMDirc great.

Next Page »

Powered by WordPress