After more than half a year and 4000 commits after previous feature release, 0.5.95, we are proud to announce LeechCraft 0.6.60 “Accelerated Evolution”!

This version introduces a lot of new plugins, new features in existing plugins and, of course, bugfixes. Well, even the brief changelog omitting non-significant changes is around 300 lines long, and this version has 297 tasks on our tracker (stats included), which is almost three times more than the previous record! So let’s see what’s new.

Desktop mode

LeechCraft already had quite a few plugins offering features that are usually a part of a desktop environment, like a power manager or removable storage manager, so we decided to take one step further and turn it into a proper Desktop Environment. This day has finally come, jokes aside!

Desktop mode is a new special mode of LeechCraft which basically turns it into a full-featured desktop environment. For example, the SB2 sidebar (which contains elements like a taskbar or app launcher) turns into a separate always-visible dock panel that covers other applications:

Desktop mode is activated via the --desktop command line switch, and there are already session files for login managers to offer LeechCraft as a desktop environment.

But desktop mode is not only comprised from customized behavior of existing plugins with hte --desktop switch, it also relies heavily on a few plugins added in this release, like:

Of course, other plugins like Vrooby, Liznoo or Launchy may also be found useful in the desktop mode.

Desktop mode is very experimental for now and in its early stages, some things are known to not work, and we are hoping for some feedback about what should be added or changed.

LMP improvements

LMP, our social collection-oriented audio player, migrated from Phonon to pure GStreamer, getting proper gapless playback support and compatibility with GStreamer 1.x. Mac OS X builds can also properly play various files now, while LMP on Mac was dumb during Phonon times.

Some other features are now possible because of the migration, like a proper equalizer, ReplayGain support or visualization. They are planned for future releases, though.

LMP now also supports instant queues when one can schedule some tracks in the playlist to be played right after the current one. This is useful, for example, to finish playback of the current album and then move to completely different artist.

There are a lot of smaller changes and improvements, among them:

Using LMP as a sound notification backend is broken now, though, and will be fixed shortly after this release. Consider using Dumbeep module for now.

VK messaging support

This release also adds support for VKontakte messaging via the new Azoth subplugin, Azoth Murm.

Murm supports quite a few VKontakte features like friends groups, multiuser chats, and it automatically fetches media content embedded in messages like attached photos, audios, videos and reposts. Murm also offers the audios to be played or queued in media players like LMP:

The messages can also be encrypted via OTR if the corresponding plugin is installed and if the other chat participant supports OTR encryption.

Blasq

Blasq is our new plugin for cloud image photo albums like Picasa. The exact services are implemented via subplugins, and there are already four of them for Flickr, LiveJournal, Picasa and VKontakte.

The plugin supports collections of photos, uploading (and mass-uploading) new photos and deleting them. Other plugins like Blogique may also use Blasq as the source of images to be inserted into blog posts.

Other new plugins

A few other plugins have also been added in this release, among them:

Core and existing plugins

Azoth and subplugins

Blogique

Poshuku

Poshuku, our web browser module, now supports data filters for handling page screenshots, allowing the user to automatically upload them to imagebins, for example.

History handling has been optimized a lot. Particularly, it doesn’t make LeechCraft freeze for a few seconds each 15 minutes if the history is quite big now.

Poshuku CleanWeb, the ad blocker, has also been heavily optimized. Particularly, filters parsing and loading is now asynchronous and threaded, greatly reducing module load time. Filtering itself is also threaded now, utlizing all available CPU cores, so page loading is much faster now as well. Filters handling has been improved as well, particularly the element hiding logic which now catches more garbage.

Error handling

AnHero depended on KDE’s crash handling system before this release, and we’ve finally rewrote it to avoid this dependency. Now it has its own KDE-free crash handler:

It is also able now to automatically save crash logs and backtraces as a bonus. On the other hand, Dolozhee now supports attaching files to the reports and automatically checks for any files left by AnHero upon startup. So, installing both these modules makes crash reporting quite easy: it’s enough to just start LeechCraft after a crash, and Dolozhee will automatically pick AnHero’s traces and offer the user to create a bugreport. All that’s left for the user is to fill in the Steps to reproduce field.

Moreover, AnHero now also works under Mac OS X! If you want to leave crash handling to the default Mac OS X handler, you could just deactivate this plugin.

Other plugins

Probably the most notable issue fixed in this release is a race condition in Qt network disk cache code leading to frequent crashes on some systems. A crash in QML caused by HotSensors under load on some systems is also fixed.

LeechCraft is also quite faster now, particularly during startup, as all plugin checks and initial loading is threaded now, utilizing all available CPU cores. Plugins initialization has also been moved to separate threads where possible. A few algorithmic optimizations have also been performed on loading process.

Saving settings has also been optimized and moved into its own thread, so huge system IO doesn’t block LeechCraft if it has to save its state after, say, a group in Azoth roster has been folded or unfolded.

The source package is already available, so is Mac OS X build. Packages for other operating systems and distros will be available soon.