[Mono-dev] Gtk# Status and Roadmap

Mike Kestner mkestner at novell.com
Fri Sep 12 11:45:05 EDT 2008

In anticipation of the upcoming GNOME 2.24 release we have completed the
gnomeprint and gnomepanel restructuring discussed and announced this
spring.  Beginning with release 2.24.0, the Gnome.Print and
Gnome.PanelApplet APIs have been moved from gnome-sharp.dll into their
own assemblies distributed in the gnome-desktop-sharp package.  This
move was necessary to allow the GNOME project to remove the gnomeprint
libraries from their desktop release.

If you are using either of these APIs, you will need to add
configuration checks or -pkg: entries for the new pkgconfig files:
gnome-print-sharp-2.18.pc and gnome-panel-sharp-2.24.pc.  No other
changes should be necessary, as the APIs themselves did not change, just
their location.  Note, however, that their location in
gnome-desktop-sharp more accurately reflects the instability of the
underlying APIs.  Since gnomeprint is deprecated, it is unlikely to
change.  We will attempt to keep gnome-panel-sharp stable as much as
possible, but the underlying C API has no stability guarantee.

Gnome 2.24 will ship with gtk-sharp-2.12.3, gnome-sharp-2.24.0, and
gnome-desktop-sharp-2.24.0.  These tarballs have been uploaded to the
gnome FTP servers.

We currently plan to release gtk-sharp 2.14 in the GNOME 2.26 release
next spring.  The 2.14 release will integrate the existing gio-sharp
bindings from trunk svn into the gtk-sharp package, as well as updating
the existing assemblies to add the new 2.14 API.  There are no plans for
new GAPI features in this release.

Looking farther down the road, Gtk+ appears to be solidly on a course to
break API stability with a 3.0 release.  The branch toward that goal is
currently slated for around this time next year, releasing a 2.90
release alongside 2.16.  The 3.0 stable release is not planned until
significant new features have been added.  The 2.90 release will remove
all deprecated APIs and hide all structure fields.

Our current long-term strategy for gtk-sharp is to continue to release
gtk-sharp 2.x in the GNOME release following its corresponding gtk+
release.  With the 3.0 picture still fuzzy, we are reserving judgment on
when we will move to it and how much of an API break we will do in
gtk-sharp alongside the C break.  

Whenever it occurs, gtk-sharp-3.0 will be parallel-installable with
gtk-sharp-2.0 to allow for migration to the new version at the user's
pace.  If you want to get a jump on the transition, you will want to
begin moving your use of any Obsolete/deprecated API to its replacement.
Transition guides for most major C deprecations are available in the gtk
+ documentation on gtk.org.

As always, we appreciate any feedback from the community.

Mike Kestner <mkestner at novell.com>

More information about the Mono-devel-list mailing list