Yes, yes, I know. Again I have been too quiet on this page, while several major changes have happened in my real life. However, things are slowly settling down, and I could spend more time on Quassel again during the past few months. And as usual, the community has been active as well providing patches, fixes and features - thank you all for that!
So without further ado, I present to you Quassel 0.9.0!
A list of the most important changes can be found in the freshly updated ChangeLog - improved certificate handling, improved OSX support, DockManager compatibility, channel-specific highlights just to name a few features that have been contributed by the community (special thanks goes out to Tucos, who is restless indeed).
Meanwhile, I am slowly continuing to refactor the heart of Quassel, which is the communication between the client and the core. My goal is to abstract the protocol, so in the future it will be easier to write third-party clients. Having a clean protocol abstraction is also a prerequisite for getting things like events and scripting going. Expect more news along those lines in the future!
Oh, we've also switched to GitHub as primary means for source code hosting and managing contributions. The main reason for this is that people were unhappy with Gitorious because it was slow, sometimes unreliable, and has a less advanced web interface. So please, if you like to send patches, use pull requests on GitHub - that way, we'll make sure they won't get lost.
For translations, please continue to use Transifex.
And that's it, I think. Thank you all for your patience and continued support of Quassel, and have fun with the new release!
Has been a while that this page has seen updates, as we, the main developers, are still too busy with real life to get as much done as we would like. So many plans, so little time...
Thankfully, we have some pretty awesome guys from the community (al, Tucos, johu, kode54, Fish-Face, to name but a few) who help out not only with support in our IRC channel, but also with triaging bugs, and especially with sending patches. So we finally managed to clean out our merge request queue and got a new feature release going!
Quassel 0.8.0 brings you the usual slew of bugfixes, a ton of new languages and additional translations for the existing ones, and a few new features such as syslog support, configurable tab completion key, improved desktop integration and more.
Behind the scenes, and hopefully not noticeable for you, we've merged the new event backend into the core. This is more or less a complete rewrite of how the IRC protocol is handled, and the first major step towards full scripting support!
So don't hesitate to grab the new release and get rollin'!
A note for packagers: The Qt 4.8 release introduced an issue with QTreeView handling that causes parts of the nick list (and sometimes the chat lists) not being shown sometimes. For distributions that don't believe in frequent feature upgrades, we've rolled a 0.7.4 release that only contains this and some other bugfixes, but does not introduce new strings or features. If your distribution backports Qt 4.8, we warmly recommend backporting this version of Quassel as well!
On September 8th, the IRC was in turmoil because someone discovered and actively exploited a bug in Quassel's CTCP handling that would cause the core to crash when processing a specially crafted CTCP message. What followed was masses of users quitting from Freenode, because their cores crashed.
We found and fixed the issue within a few hours, and have issued a new bugfix release. We strongly recommend updating your core or monolithic client as soon as possible to avoid crashes. Client-only builds are not affected.
Tarball and static core are available from the download page; some distros have already bumped their packages, others should follow soon. Packages for other platforms are not done yet, they will follow shortly.
If you cannot update your core right now, you (this means, all users of your core) should add an ignore rule to globally ignore CTCP requests. This will avoid the crash as well.
Sorry for the noise, but bugfree code is a myth :)
Because people keep wondering why our repository has been rather... quiet for the past few months, and not everybody finds his way into our IRC channel to ask us in person what's up, I think it's a good idea to finally blog about this.
I can assure everyone that the project isn't dead or anything. But the main developers are currently quite busy with real life, mainly with thesis writing, and Quassel development needs to suffer for that for the next few months. We intend to get back to development full steam once these rather time-consuming commitments have been dealt with, and we still have some cool plans in store to make Quassel an even better client once we're back!
In other news, we did package up 0.7.2 quite a while ago, but we're still waiting for Windows builds, so it's not up on the download page yet. You can get the tarball at the usual location though, and also find packages for Mac and the static core in the download dir. Some distros (Gentoo, *buntu) have already been shipping 0.7.2 packages for a while as well.
In even further news, some exceptionally cool things are being done by some of our users. For one, there is a native (!) Quassel client for Android devices under development. QuasselDroid is still work in progress, but I'm told it's shaping up really nicely.
For Maemo/MeeGo devices, Sandro Giessl is working on Quassel2Go, which at present is a version of the standard client modified for small touchscreens. We intend to merge this into the upstream codebase at some point in the future, but for now he maintains his own fork.
That's it for now. Stay tuned, while I go back to my thesis writing, and rest assured that Quassel will see more development again in just a few months!
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!
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.
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:
Thanks for listening again, and I'm looking forward to seeing our po/ folder fill up! ;-)
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