After seven months of development, (sorry it slipped, I was a bit busy with school) I’m proud to announce the release of version 1.3.0 of the Muon Suite.
The Muon Package Management Suite is a collection of package management applications that make package management easy on Debian-based systems, whether or not you know what “package management” means. Packages for Kubuntu 11.10 “Oneiric Ocelot” are available in the QApt PPA. Packages for the development version of Kubuntu 12.04 are available through the official repositories.
The focus of this release has been refining the various applications in the Muon Suite to be rock-solid. All reported crashes have been fixed, leaving zero crash reports open in the bug tracker. :D This being said, Muon Suite 1.3 is not without some very nifty new features, including a totally new Update Manager to replace the old updater that was just a stripped-down version of the Muon Package Manager, as well as some additional bling for the Muon Software Center.
I would like to also thank the KDE translation team for their awesome work this cycle. The Muon Suite is now over 70% translated in 29 different languages, making it accessible to a wide variety of users across the world. Thanks a bunch, kde-l10n!
Muon Update Manager
By far the biggest feature for 1.3, the Muon Update Manager has seen a rewrite. Before, the Muon Update Manager was really just a stripped down version of the Muon Package Manager, with the filters and package search removed. The new design for 1.3 was built with an update management workflow in mind, and is much more user-friendly and update-oriented.
Updates are split up into three sections: Application Updates for applications, System Updates for packages that aren’t applications (libraries and other boring stuff.), and security updates for updates that fix vulnerabilities in the software on your computer. This segregation allows users to easily check out what’s new with what they really care about (Changes in their applications), without having to wade through a bunch of library packages that they have no idea about in regards to what they are.
Clicking on an item will cause a changelog viewer to expand with a smooth animation to display all Debian changelog entries since the version currently installed. Updates that require the installation of new packages/removal of other packages are not selected by default, but can be selected separately (along with a dialog showing the required changes.)
During update installation, a progress bar shows download and installation progress. (Download speed is shown once APT has had enough time to make a sensible reading, it had not had time to make a sane estimate by the time I took the below screenshot.)
The updater also provides a warning about starting an update while not connected to power. If the power becomes disconnected at any point before during the update, the warning will show up.The warning animates in nicely and will go away on its own when the power is plugged back in.
All in all, I feel that the Muon Update Manager provides a very smooth, slick, and easy-to-use interface for managing updates. Additionally, the Muon Update Manager can now be launched manually from the “System” section of Kickoff/Simple KMenu.
Muon Software Center
- The package name has been added to the version string on the application details page.
- The Muon Software Center now warns you when removing an application will remove other packages.
- The screenshot viewer popup dialog has been replaced with an in-window overlay on the application details page. It has a blurred, transparent background and animates in and out nicely.
Muon Package Manager
Far from being neglected, the Muon Package Manager has received several new bugfixes and optimizations.
- Added a confirmation dialog when changes to a package require changes to other packages. This can be disabled from the Muon Package Manager’s settings dialog, if so desired.
- Marking multiple packages at once has been made 3x faster than before.
- Issues where a package couldn’t be unmarked for installation/upgrade since they were dependencies of another package marked for installation have been resolved.
At this point in Muon’s release cycle, usually nothing has been done for the next version. This time, however, the Muon team has grown by one with the addition of Aleix Pol Gonzalez who is working on the Muon Suite as part of his job at Netrunner OS. As a consequence, git master already has some nifty new features that I will not spoil here, but will have addressed when Aleix or I (or both of us) blog about them in the near future. 8) Notwithstanding things that have already been done, here is what I personally wish to accomplish over the next six months:
- (Optional, I know some people would prefer not to have it) Support for the Ubuntu App Store.
- More (optional) data columns in the main view of the Muon Package Manager.
- An “In Progress” view for the Muon Software Center to show currently running/pending transactions
- Add a configuration GUI for whether or not to show confirmation dialogs (in case they were accidentally disabled)
Like I said, the list is a bit sparse, but that’s because several neat new features have already been added for 1.4 in git master. ;-) Expect a blog about these in the near future. (Or go check out git master for yourself, this is FOSS after all. :P)
If you’re a developer developing a package management frontend using QApt, then QApt 1.3 will be a nice upgrade. There are some things that probably need to be said first, however. LibQApt 1.3 has now dropped legacy support for PolKit-Qt 0.98.x. Polkit-Qt 0.99 or greater is now required. Additionally, features of the new C++11 standard are utilized, and require GCC 4.6+ to compile. With that out of the way, here’s an overview of what’s new on the QApt front:
The new Changelog class provides a container for parsing Debian changelog files. Individual changelog entries (QApt::ChangelogEntry) can be pulled from the Changelog object, with each ChangelogEntry providing methods for version, date, and the text of the changelog entry. In the future, methods for returning bug and CVE links will also be available.
- Added Backend::markPackages() for marking multiple packages at once. It utilizes event compression, avoiding additional internal dependency checking or emitting packageChanged() signals until everything is marked. Increases the speed of marking multiple packages by 300% in Muon.
- Added Backend::setCompressEvents() function so that programs can utilize the event compression speed benefits in their own custom marking loops if they can’t use Backend::markPackages().
- Added Backend::stateChanges() to provide lists of changed packages since a given CacheState. Useful for showing what changed after marking a package.
- Added QApt::Package::archives() function to return a list of archives that a package is available from. (E.g. oneiric, oneiric-updates, sid, etc)