It's that time of the year again, when we proudly do a new feature release of Quassel IRC! You might wonder why we've skipped the announcement for 0.6.0, though. The reason for this is that shortly after tagging, we've discovered two serious bugs in that version. One could make the monolithic client try to select the PostgreSQL backend rather than SQlite; the other would lead to a crash on startup in some setups. Since we usually let some days pass between tagging and announcing a release, those bugs were found and fixed before we'd officially released 0.6.0. Two days later, we tagged 0.6.1.
There are several major features in this release:
- Completely reworked client/core connection featuring the long-awaited reconnection and Solid support as well as a streamlined UI
- Support for the new DBus-based system tray of KDE and, in some distros, Gnome (StatusNotifier spec)
- Improved notification handling
- Support for inputting formatted (colored/bold/...) text
- SASL auth support (replaces NickServ e.g. in Freenode)
- Several new languages and improved translations for alreay existing ones
- Build system improvements
See the ChangeLog for a more exhausting list of new features. Of course, we've also fixed many bugs and optimized some things in this release ;-)
As usual, we'll maintain the 0.6.x branch in feature and string freeze at least until 0.7.0 is released. This means that we'll backport bugfixes where it makes sense, but don't introduce new stuff in 0.6.x versions, in order to make packagers of freeze-loving distros happy.
Following KDE's example, Quassel's master branch (what will become 0.7.x) will require CMake >= 2.6.4 for building starting in May (about two weeks from now). The reason for this is that our KDE integration obviously uses parts of KDE's build system, and we'd like to avoid spurious bugs by something not working as expected in some random script included somewhere, just because your CMake is too old.
CMake 2.6.4 has been out for a long time (we've been at 2.8.x for ages!) and should be included in most, if not all, distros. If it isn't, you can just usea recent binary release for cmake, untar it somewhere, and use that instead of the system installed one.
Quassel 0.6.x will continue to work fine with cmake-2.6.2; this change will only affect the development branch.
As mentioned in the previous article, we've been trying out Launchpad/Rosetta for translations for the past few months. It took us a while to get the workflow right, since Qt still uses its own translation format that nothing else uses, and conversion is shaky; but Daniel "al" Albers with some help from Kubuntu translation expert David "dpm" Planella have gotten it working at last. Thanks!
The results have been encouraging; we have quickly gained several new languages, and existing translations have been improved thanks to the Kubuntu translation teams.
However, we also still have several contributors that prefer using their own tools over having to register at Launchpad, and would like to continue to send in translations as patches. Good news: al is willing to handle those and merge them with the Rosetta contributions! It would be best to send them to <translations at quassel-irc org> as that gets straight to the correct person. Please make clear which branch your translation applies to, so we can make sure to apply it correctly!
After we have merged your translation, it will also be included in Rosetta with the next package upload, overriding whatever was there before. We'd suggest having a look at Launchpad first though, to check which languages are already being translated and avoid duplicating work. Or poke us in IRC and ask beforehand, if it makes sense.
Thanks to all of you helping to make Quassel awesome in many languages!
Update: Fixed the mail address that was eaten by Drupal, and also removed some false information about Rosetta branches (looks like it points to master now, rather than the stable branch).
Update 2: Fixed Rosetta links
This is primarily a message for our current translators.
Daniel "al" Albers has finally managed to figure out a workflow how to correctly handle .po (gettext) files for translating Quassel (a non-trivial problem, since Qt stupidly insists in using its own format). Now that Quassel uses what the rest of the world uses, this also means that we now enable the use of standard tools for translating.
It so happens that Quassel has now been imported into Rosetta, Launchpad's (Ubuntu's) tool for managing translations. Which is cool, because in the two days it's been sitting there, we can already see a ton of new translated strings, plus it looks like we are getting heaps of new languages up to fun things like Colognian or Low German...
But this also means that there will be a change in our current way of handling translations. Until now, various cool people have been sending translations patches directly to us, maintaining a dozen of languages that way. In the future, this probably will have to happen via Launchpad. We are still figuring out a workflow how to get the Rosetta translations back upstream, but it certainly is our intention to do that, rather than letting Ubuntu maintain their own set of language packs.
If you helped with translating Quassel before, please wait with further work until we have put all the pieces together. We wouldn't want you to duplicate work, or do work that gets invalidated later. So far, your existing translations have been imported into Rosetta, so nothing got lost :) I will come up with a follow-up blog as soon as we have figured out how to handle translations in the future.
Let's answer a few Q&A:
We have another bugfix release for the 0.5 series. Quassel-0.5.2 mostly contains build system fixes for recent versions of KDE and Qt. Some issues with netsplit handling have also been fixed. Also, if you accidentally had your menu bar vanish, you can now use the context menu on the chatview to re-enable it ;-)
For workarounding the recent flooding issues with Freenode, we have added a quick way to ignore CTCP requests. Since Freenode has fixed the problem the other day, using this should no longer be necessary for now.
You can grab the new release at the usual location!
We have just tagged, packaged and published a bugfix and maintenance release for the 0.5 branch. Most notably, 0.5.1 fixes some problems with the newly released Qt 4.6-rc1. Also, newly joined channels are now properly rejoined on the next core restart. The scrolling behavior on initial backlog fetch for a channel has been fixed, and some more small stuff.
This release also includes updated translations for French, Italian, and Finnish. And you'll get jussi01's dark stylesheet as a bonus!
Anyway, head over to the downloads page to grab it!
We have now switched the git master version of Quassel to support gettext translations (.po files) as opposed to Qt translations (.ts files). Qt >= 4.5 provides the tool
lconvert which can convert between the two, and we (al, in fact) have modified the build system to use that.
It's been a while that we have announced a new release. Somehow, 0.4.2 and 0.4.3 never made it to the frontpage… Anyway, we haven't been lazy and quietly worked on bringing you a brand new feature release: quassel-0.5.0!
You can find most features we have added in the FeatureLog, and if you are really interested, you can also browse the Git history. A list of the most important things has been added below for your convenience. First though I want to get a few important notes out:
Client/Core protocol, database schema and config file update: As mentioned before, a 0.5 Quassel Core will not work with a 0.4 client and vice versa. You will have to update both components. First time you run a 0.5 core or client, the config files and database will automatically be updated to the new format. Downgrades are not supported, so do make a backup if you intend to go back to 0.4 afterwards!
A note for distro packagers: We will maintain a 0.5 branch in our repository that will receive important bugfixes, but no new features. We will probably also do periodic 0.5.x releases from this branch, while new and shiny stuff is being added to the master branch. If you maintain Quassel on a distro that suffers from version or feature freezes, you should make sure to track the 0.5 branch instead.
Read on for a short list of the most important features, then head over to the downloads page to grab it while it's still sizzling!
As we have tagged a 0.5 release candidate now, which has made its way in Kubuntu Karmic and Jaunty backports, among others, we should point out that the client/core protocol used in 0.5 is not compatible to the 0.4.x releases anymore. This means you'll need to use a 0.5-rc1 client with a 0.5-rc1 core. Same for current git master, of course. The protocol change gives you a great performance boost in the core, in particular for startup, shutdown, and joining/quitting large channels. So it's definitely worth it :)
As this is isn't an official release yet, it's not linked from the download page. However, you can find binary builds for Windows and MacOSX here.
People closely following our development in git will have noticed that we have tagged a 0.4.2 release back in May. Some distros also have been shipping 0.4.2 for quite a while now. However, there never was an official release announcement. Why?