Category Archives: releases

Xfce 4.8 Release Cycle Information

At the end of August, we've entered the development phase for the Xfce 4.8 release cycle. Today, we're hitting dependency freeze and I think this is a good time to inform you about how the cycle will look like and what we're planning to achieve for 4.8.

The final 4.8 release is scheduled for April 12th, 2010, which is in about 8 months. We're trying to stick to a well-defined release policy for the first time. This includes frequent development releases of individual components and, most importantly, a time-based release cycle.

I'm confident that we can meet the schedule you can see below and would like to encourage everyone to participate in the development and continued improvement of Xfce 4.8, be it as a developer, a translator or a generally active member of the Xfce community.

Below you find detailed information about the 4.8 schedule, the release team, dependencies and planned features. This information is also available on the wiki.

Schedule

2009-08-16 - 2009-08-30: Planning phase
2009-08-31 - 2009-09-13: Extended planning phase
2009-09-13: Dependency freeze

2009-08-31 - 2010-01-31: Development phase
2010-02-01 - 2010-04-12: Release phase

2010-02-01: Xfce 4.8pre1 release / Feature freeze
2010-03-01: Xfce 4.8pre2 release / String freeze
2010-03-29: Xfce 4.8pre3 release / Code freeze

2010-04-12: Xfce 4.8 final release

Release Team

   Release Manager: Jannis Pohlmann
QA Official: Stephan Arts
Release Assistants: Jérôme Guelfucci
Ali Abdallah
Yves-Alexis Perez
Robby Workman
Vincent Tunru

You can read up on the roles of these people on this page if you feel like you need to contact one of them because there's something going wrong with the development or release process.

Dependencies

Xfce 4.8 will depend on the following libraries and applications:

  • cairo >= 1.0.0
  • dbus-1 >= 1.0.0
  • dbus-glib-1 >= 0.73
  • gdk-pixbuf-2.0 >= 2.14.0
  • gio-2.0 >= 2.18.0
  • glib-2.0 >= 2.18.0
  • gmodule-2.0 >= 2.18.0
  • gobject-2.0 >= 2.18.0
  • gthread-2.0 >= 2.18.0
  • gtk+-2.0 >= 2.14.0
  • libpng12 >= 1.2.0
  • libwnck-1.0 >= 2.22
  • x11 >= 1.1.0

The following dependencies are still left open:

  • garcon-1 (no release yet, but used in different places)
  • tumbler (no release yet, but used in different places)
  • sphinx (for documentation)

Planned Features

In the following, we give you an overview of the features we are planning to implement for 4.8. Please note that due to the voluntary nature of the Xfce development, none of features are guaranteed to make it into the final release. This feature list may also not be complete as we might be able to implement even more during the cycle. This list is meant to give you an insight in what we're up to and what you might be able to expect in 8 months.

You can find a (hopefully) always up to date list on the wiki page. Each of the pages linked there contains more detailed information about the features, their implementation status and sometimes also who has taken the responsibility to work on them.

We welcome people to help in achieving these goals. All of our repositories are now managed using git (on http://git.xfce.org/) so it's easy to clone them and contribute code to Xfce.

exo

  • Remove deprecated APIs and rename library to exo-1
  • Add GIO module for URI handling to support gtk_show_uri()

libxfce4ui

  • Port all Xfce core components to libxfce4ui instead of libxfcegui4
  • Object-oriented session client
  • GtkBuilder support for e.g. XfceTitledDialog

thunar

  • Finish the migration to GIO/GVfs. Among other features, this will give us network browsing (windows shares, SSH, FTP etc.).
  • Implement our own volume monitoring backend for GIO (based on HAL or DeviceKit-disks)
  • Update thunar-volman to work with this volume monitoring backend and port it to xfconf
  • Integration of remote locations in the side pane
  • Improve integration of tumbler for thumbnailing
  • Port all ThunarVFS thumbnailers to tumbler, write backwards-compatible tumbler plugin for thunar-thumbnailers
  • Use a single progress dialog, grouping all file operations
  • Extend the D-Bus interface so that e.g. xfdesktop can re-use the file properties dialog
  • Startup notification support in the custom actions plugin

xfce4-appfinder

  • Drop libxfce4menu and migrate to garcon
  • Improve keyboard navigation
  • Use startup notification when spawning applications
  • Perhaps implement an extension API, so that xfce4-appfinder can act as a replacement for xfrun4 in the future.

xfce4-panel

  • Finish the completely rewritten panel. This adds a lot of neat features and revamped dialogs. Amongst other things:
  • Introduce an xfconf API for plugins
  • Add an improved launcher plugin based on GIO, garcon and exo-desktop-item-edit
  • Improved transparency support
  • Better panel placement and multi-head support

xfce4-settings

  • Netbook-friendly dialogs
  • Improve keyboard shortcuts (seem to cause a lot of problems)
  • Improve display and pointer settings dialogs
  • Add a clipboard manager daemon
  • Finish/fix the settings editor

xfdesktop

  • Use GIO for the icon view
  • Use garcon for the menu instead of libxfce4menu
  • Improve icon view drawing routines
  • Proper keyboard handling for the icon view
  • Free icon positioning
  • Allow right-click menus to be arranged differently

I think that's it. I hope you enjoy Xfce and are looking forward to the 4.8 release together with us!

Long Overdue Update

I haven't posted anything in a while, but I'm not complaining. The last month I've been mostly busy pretending to be busy. Ok, to be honest, that's not entirely true. Over at Xfce, we have achieved a lot in August:

  • We've moved all Xfce repositories (including the goodies) over to Git. Kudos to Brian for doing most of the work.
  • All Xfce translation updates are now submitted via Transifex. Thanks to the Transifex developers for all the support and for being such a friendly bunch. It amazes me that Dimitris, the founder of Indifex, is also active on our translations mailing list to support people!
  • The migration of the Thunar core to GIO is complete and has been merged into the main development branch. The overall delta was 2.9MB, although admittedly, a big part of that is due to the removal of ThunarVFS, so I can only take credit for about 16,000 of the 24,335 insertions and 6,000 of the 41,356 deletions.
  • We've kicked off the Xfce 4.8 development cycle on August 16th. The schedule and all other details are available on the wiki. Xfce 4.8 is scheduled for April 12th, 2010. Expect development releases of the various core components soon!

Other things I've been planning to blog about but didn't have the time to:

  • Samuel is still busy setting up Buildbot. With less time than he had hoped for at hands this might still take a while.
  • I was provided with a free Linutop 2 in June. I'd like to thank the Linutop company again for this gift! So far, I've only found the time to give it a few test boots but I'm planning to set it up as a Xfce test machine soon. Its limited hardware makes it much better platform than my rather powerful laptop and/or virtual machines for testing the speed and memory demand of Xfce.
  • My thesis is progressing slowly. I think I have at least 3/4 finished now. I'll keep you posted about the result. I'm hoping to kick off the six month learning phase for my final exams before October because a friend of mine is already waiting for me. ;)

The new Xfce release manager for users and packagers

I deleted the last post about the release manager because due to the high number of changes I made it was soon out of date. So let's get back to the topic again. I'll split it up into two posts: this one which is for users and packagers mostly, and another one directed to developers or, more precisely, maintainers.

Let's start with a simple question (with a long answer): what am I talking about and what is this release manager anyway?

First, a bit of background. At Xfce, we are currently working on improving our infrastructure. We are about to switch to git and along with that, our repository layout will change. Xfce and goodie repositories will no longer be found in separate locations. We thought it would be nice to implement the same layout in other places as well, like Bugzilla and our download archive.

Nick went ahead and enabled so-called bugzilla classifications and used those to resemble the repository layout on bugzilla.xfce.org.

That still left us with separate download archives for core Xfce, goodies and other stuff. For goodies, we had a very simple release manager web application written in PHP that uploaded tarballs to http://goodies.xfce.org/releases/ and was able to send release announcements to mailing lists. The design however was very limited. For Xfce releases we had nothing like that. Uploading and copying tarballs around manually for each release was what we had to do.

And this is where the new all-in-one release manager comes into play. It's called Moka, it is written in Ruby using Sinatra, ERB and JSON and the source code can be found here.

For you as a user or packager, it does two things:

  1. it uploads all (core and goodies) tarballs to http://archive.xfce.org which uses the same layout as our future git repositories and bugzilla
  2. it pushes release announcements out to mailinglists, Atom feeds, identi.ca and Twitter.

Download archive

The layout is described in the archive reorganization section of this mail. It contains releases of all projects, be they goodies, core components or something else. Again, we use classifications like apps, libs, bindings or core to add semantics the archive layout.

All tarballs are accompanied by an MD5 and SHA1 checksum file. In the future, we're hoping to also support PGP signing of tarballs. So, for the 0.4.0 release of terminal, you'll get these three files:

  • Terminal-0.4.0.tar.bz2
  • Terminal-0.4.0.tar.bz2.md5
  • Terminal-0.4.0.tar.bz2.sha1

If you download one of the checksum files along with the tarball you can verify the download went fine with md5sum -c Terminal-0.4.0.tar.bz2.md5 or sha1sum -c Terminal-0.4.0.tar.bz2.sha1.

Announcements

Release announcements are sent to different mailinglists (almost always to xfce@xfce.org, so you're on the safe side subscribing to that one), identi.ca/xfce and twitter.com/xfceofficial.

The status updates on identi.ca/xfce and twitter.com/xfceofficial use the following format:

terminal 0.4.0 released! http://releases.xfce.org/feeds/project/terminal !Xfce

Atom feeds for all projects are available on http://releases.xfce.org/feeds/project/. There also is a dedicated feed for bundle releases of Xfce core components available on http://releases.xfce.org/feeds/collection/xfce. These feeds provide more information about the releases than the posts on identi.ca or Twitter do. There's no central feed for all releases yet, but you can as well subscribe to the feeds offered to you by identi.ca or Twitter.

Mailinglist announcements and feed posts use the same format. Here's a good example for a project release announcement:

xfce4-power-manager 0.8.3 is now available for download from

  http://archive.xfce.org/src/apps/xfce4-power-manager/0.8/xfce4-power-manager-0.8.3.tar.bz2
  http://archive.xfce.org/src/apps/xfce4-power-manager/0.8/xfce4-power-manager-0.8.3.tar.bz2.md5
  http://archive.xfce.org/src/apps/xfce4-power-manager/0.8/xfce4-power-manager-0.8.3.tar.bz2.sha1

  SHA1 checksum: 2d531b9fc2afec3cff034e1acfc331051d8bf47a
   MD5 checksum: 0db6b6f5b13c8b0829c6a07b7dfdc980


What is xfce4-power-manager?
============================

This software is a power manager for the Xfce desktop, Xfce power
manager manages the power sources on the computer and the devices that
can be controlled to reduce their power consumption (such as LCD
brightness level, monitor sleep, CPU frequency scaling). In addition,
xfce4-power-manager provides a set of freedesktop-compliant DBus
interfaces to inform other applications about current power level so
that they can adjust their power consumption, and it provides the
inhibit interface which allows applications to prevent automatic sleep
actions via the power manager; as an example, the operating system’s
package manager should make use of this interface while it is performing
update operations.

Website:
  http://goodies.xfce.org/projects/applications/xfce4-power-manager


Release notes for 0.8.3
=======================

- Provides more standard org.fd.PowerManagement DBus methods and signal
(bug #5569).
- Make it possible to compile without network manager support.
- Add never show icon to the system tray configuration (bug #5613).
- Fix a typo that prevents from getting the correct critical
configuration (bug #5619).
- Use Gtk as a popup indicator to show the brightness level as the cairo
seems to be 
  problematic on some hardware. (bug #5544 #5632).
- Better alignement in the interface file, worked by Josef Havran.

This is what the new release manager does for you. I think or rather hope that it provides an efficient way to to keep you posted about what's going on. And hopefully, all of you enjoy our efforts to unify our infrastructure and by that make things more transparent. As always, if you have any ideas for improvements, let us know!

News Update

A lot of things are going on lately and it turns out I'm way to busy to update my weblog on a regular basis. So, this is just a short post to keep you all updated.

Last two weeks

  • I took a new student job at the university, at the Institute of Theoretical Computer Science, which I love most. I'll be working on haplotyping algorithms.
  • I went to Barcelona and had a great time at the Ubuntu Developer Summit overall. Stephan and I were very productive. One evening during dinner we discussed our development and release process and later started writing it down. The result is a beautiful document that still needs a bit of polishing. I hope it'll serve as a good foundation for the development and release process of Xfce in the future. Several others commented on it and it looks like we'll give the proposed concept a shot after we've switched to git and all that.
  • Even though the week in Barcelona was great for Xfce, I was disappointed with how it went with regards to the cooperation between Xubuntu and Xfce. I talked it through with Stephan and after I got back, I resigned from my position as the Xubuntu Xfce4 Liaison.

At the moment

  • I've started to implement the so-called thumbnail management D-Bus specification. My implementation is called Tumbler and it will hopefully start serving thumbnails for other apps soon. I'm planning to use it in Thunar, Stephan has expressed interest in using it in Ristretto and when discussing the specification and the existing hildon-thumbnail implementation, Philip van Hoof told me that Hildon/Nokia might be interested in dropping hildon-thumbnail in favor of Tumbler if it's flexible enough. I'm working on it as much as I can and I'm hoping to do a release within the next few weeks.
  • I'm still working on the Transifex installation for Xfce. It's already running but I still need to import all the projects, releases and of course create accounts for maintainers automatically.
  • The migration of Xfce to Git is still work in progress. Brian has most of the repository issues sorted out and is now waiting for me to finish the commit mail script. I have two or three possible implementations lying around but I need to have a look at that again.
  • Jim needs the documentation repository next week, so I'm about to set it up.
  • Our Buildbot server has arrived in Sweden. Today I set up the firewall. Samual is taking care of setting up the Buildbot host VM and other things. We're considering to move a lot of the services not related to development (like the Xfce websites) into separate VMs on that server too, in order to make the current server a development-only machine.

Besides that I'm trying to catch up with the work and personal stuff that piled up while I was away last week. And I really should go and sleep.