Sputnick's blog

The Lucky (minor) Number -- Releasing Quassel IRC v0.7.1

It's that time of the year when we're releasing a new Quassel, and this time we strongly recommend updating your core or monolithic client at least, as in older versions there was an issue with CTCP handling that might allow bad and ugly people to make your core unresponsive. This issue is also the reason for the 0.7.0 release being officially skipped. People still on 0.6.x and not wanting to update to a new feature release should upgrade to version 0.6.3 in which this issue is fixed as well.

Now read on for a short list of the major new features the 0.7 flavour gives you, besides a ton of bugfixes and translation improvements!

Requiring Qt 4.6

In a few days, the master branch (which will become quassel-0.7) will start depending on Qt 4.6 for the client only. Besides giving us some very welcome API additions, and fixing a few bugs we currently have to work around, this also allows us to use Qt Kinetic and the Animation Framework in the future.

Qt 4.6 has been released about half a year ago, and is also required by the current stable KDE release, so we think that most desktop distros should be up to par by now (or don't care enough about staying up-to-date, in which case they shouldn't be expected to ship a bleeding edge Quassel anyway). By the time quassel-0.7 is released, even more time will have gone by (and the next stable Qt release should be out).

The core's dep will remain at Qt 4.4.0 for now, so people running Debian Stable on their server should be ok. The deps for the current stable release 0.6.x won't be changed, so subsequent 0.6.x releases will still be fine with Qt 4.4 for the core and Qt 4.5 for the client.

YANT (Yet Another Note for Translators)

After doing some more experimenting with translation workflows, our Master of Translation Daniel "al" Albers has agreed to support Transifex as an additional means to create and maintain translations for Quassel. Thus, people not having or wanting a Launchpad account can use the Transifex portal for contributing translations now!

Since we're not dependending on Ubuntu downstream for managing the translations at Transifex, we are a bit more flexible when it comes to working with contributors, and we can sync the codebase with it more easily and more often. Please do check the other system though before starting, in order to not needlessly duplicating work.

al will integrate translations from both systems into Quassel, so we're not abandoning Launchpad/Rosetta, just providing an alternative.

In short, you can now use the following two frontends for helping Quassel be international:

Transifex - the open translation platform
Launchpad/Rosetta - Ubuntu Translators

Thanks for listening again, and I'm looking forward to seeing our po/ folder fill up! ;-)
~ Sputnick

Bumping Quassel: 0.6.1

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.

Now go and grab this latest release of your favorite IRC client!

~ Sputnick

Bumping cmake requirement

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.

Rosetta's Stone Part II

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

Update 3: We now also support translations via Transifex. Please read the followup blog entry for more details.

Rosetta's Stone - Note for Translators

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:

Another Bugfix Release: 0.5.2

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!

~ Sput

Supporting New Cuties - Quassel 0.5.1

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!

Get The Text - Call For Translations

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.

Syndicate content