DMDirc 0.6.3 released

Filed under: News, Release — Chris on March 6, 2010 @ 9:38 pm — 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.

Releasing for lazy people

Filed under: Development, Tech — Chris on February 16, 2010 @ 9:03 pm — Permalink

In preparation for DMDirc 0.6.3, we’ve just finished enhancing our release procedures considerably. Previously, a typical set of steps needed to release a version of DMDirc would be:

  1. Create a new tag in a local Git repository
  2. Push the new tag
  3. Run the relevant ant task to create an installer
  4. Upload the installers and jar file to the correct place
  5. Go through each plugin and upload each one (one at a time) to the addons site
  6. Find or clone a copy of the main website repository
  7. Update a PHP file to contain details of each supported OS and each download and its size, etc
  8. Commit the website changes
  9. Push the website changes

Obviously, this process was distinctly not enjoyable. A lot of it now lends itself quite well to being automated, but we hadn’t tried this in the past for various reasons (such as our use of SVN prior to Git, and the huge length of time between releases prior to the introduction of our fixed-length release cycle). Now we have the tools and the motivation (we don’t want to be doing that process every four months for each alpha, beta, release candidate and stable version!), we set about automating the entire procedure.

We already had a set of scripts which monitored our Git repositories for new commits, and did various useful things such as announcing the commits to IRC and updating our bug tracker. Some extra code was introduced for commits to the client repository that checks if the commit looks like a release, determines which updater channel it’s for (alpha, beta and rcs are unstable, plain versions are stable), and then builds the relevant installers. Once the installer’s built, it copies or uploads the files as appropriate, automatically updates the website as needed and commits and pushes the changes, and then automatically submits every plugin to the addons site. This means our release process is now:

  1. Create a new tag in a local Git repository
  2. Push the new tag

Which I’m sure you’ll agree is decidedly simpler. Of course, we still have to announce the release to the world. Anyone wanting to develop an artificial intelligence to automatically create changelogs, release notes, blog posts, news stories and tweets for each release should get in touch!

SVN Deprecation

Filed under: Development — Shane on January 3, 2010 @ 5:33 am — Permalink

Despite using Git for all of our DMDirc development work for over a year, we have continued to maintain a copy of the entire codebase in an SVN repository. This was primarily to facilitate some of our automated scripts, which we’ve finally finished migrating to use Git. This means that we no longer have any need to keep the SVN Repository up to date, and will stop doing so after the release of 0.6.3 in early March.

Anyone who is still using an SVN checkout should read http://www.dmdirc.com/git and switch to using Git, which brings numerous advantages and makes contributing back to DMDirc easier thanks to Gerrit.

If you have any questions about DMDirc development, feel free to join us in #DMDirc on Quakenet.

Introducing Gerrit

Filed under: Development, QA — Shane on November 26, 2009 @ 3:33 am — Permalink

For the past year, the ever-growing DMDirc code base has been managed using the Git version control system. We still mirror our code to an SVN repository, and a couple of our automated tools still use the SVN version of things, but we’re slowly and surely modifying, upgrading or scrapping these in favour of Git-based solutions.

Recently we began a trial of using Gerrit to manage commits made to the main DMDirc repositories for the client and the parser. Gerrit is a code review tool, which developers submit their changes to (instead of pushing them directly to the Git repositories); other developers can then review the changes, test them, and leave feedback, before ultimately approving or rejecting the change. Only once a change has been approved is it allowed to go into the repository.

This has helped us greatly improve the quality of the code that makes it into the client. Another advantage to using Gerrit is that it now allows us to open up the repositories a bit more and allow third-party contributions with much more ease than before: it is now possible for anybody to sign up to Gerrit and begin committing to DMDirc right away! We even have a guide on our Git wiki page detailing how to do just that.

If you would like to contribute to DMDirc, either by committing (via Gerrit!) or in other ways, we suggest paying a visit to #DMDirc on either Quakenet, Freenode, OTFC, Coldfront or Chatspike! (Don’t worry: we have a system in place to link all the channels together!)

DMDirc 0.6.3m2 Released

Filed under: News, Release — Shane on November 22, 2009 @ 11:51 pm — 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.

Next Page »

Powered by WordPress