GNOME Platform Bindings 2.5.7 (Release Candidate)
Posted on: 04/01/2004 07:56 AM

GNOME Platform Bindings 2.5.7 has been released:

Please note that the GNOME Platform Bindings are now in API freeze, so only very important API changes will be allowed before the fully-frozen GNOME Platform Bindings 2.6.0 release, on April 12th.

(See the big list of changes below if you've read this blurb before.)

This is a scheduled developement release of the GNOME Platform Bindings, which provide a stable GNOME development platform for programming languages other than C, in the style of those languages. We very much hope that Linux distributions will distribute these bindings as a supported development platform.

For the GNOME 2.5/2.6 schedule, we have bindings for C++, Java, and Perl:

These bindings follow these rules: and this schedule:

Note that those rules do not guarantee 100% API coverage, but they do guarantee API/ABI stability.

There are also "Beta Bindings" for C#, which are likely to be on the full release schedule for GNOME 2.7/2.8, but they are not yet following the official schedule or rules for 2.5/2.6.

Note that other bindings also exist: but they are not on this release schedule and they do not necessarily follow the same rules.

If you have questions about the GNOME Platform Bindings release set please send email to If you have questions about the individual bindings, please send email to their own mailing lists. You can find links to the individual projects here:

*** Download

You can download source tarballs from

*** Changes, for each binding:

** C++ (gtkmm):

glibmm 2.3.8:

* Fix crash when using Glib::Main signals.
(Martin Schulze)
* Corrected the configure-time SUN compiler check.
(Murray Cumming, Alexander Nedotsukov)

gtkmm 2.3.7:

* Gtk:
- Action:
- create_tool_item(), create_menu(), and create_icon() return specific types.
(Bryan Forbes)
- Constructors: Give 0 instead of "" to GTK+ for empty strings, to make
stock items work. (Murray Cumming)
- Container: Keep managed child widgets alive when remove()ing them.
(Murray Cumming)
- IconTheme: Wrapped the changed signal. (Murray Cumming)
- FileFilter: It's a Gtk::Object, not a Glib::Object. (Murray Cumming)
- TreeView: Added move_column_to_start(). (Andrew E. Makeev)
- UIManager: Fixed typo in disconnect_proxy signal name. (Bryan Forbes)
- many: Do the extra reference for several get_*() methods.
(Bryan Forbes, Murray Cumming)

* Documentation:
- Reference documentation: Corrected some mention of null parameters, and g_free(),
in generated-from-C docs. (Murray Cumming)
- Book: Corrected typos and updated libsigc++ syntax. (Elijah Newren)
- FAQ: Don't mention gtkmm 1.2 so much. (Elijah Newren)
- Examples: Adde book/menus_and_toolbars, to show UIManager. (Murray Cumming)

libglademm 2.3.3:

* get_widget():
- Don't create a C++ object with a null C object, when the
C object can not be found. (jdhall)
- Really return existing widget wrappers. (Murray Cumming)
* Stop accidental need for doxygen when building from tarballs.
(Murray Cumming)
* win32: Test for -mms-bitfields / -fnative-struct.

gnome-vfsmm 2.5.3:

* Added utility functions, such as escaping/unescaping of strings.
(Murray Cumming)
* Added Glib::Value specializations for enums.
(Bryan Forbes)

libgnomeuimm 2.5.3:

* Stock items: Fix linker error when using these.
(Bryan Forbes)
* PixmapEntry: Correct the base class.
* Entry: Really deprecate it.
(Bryan Forbes)

** Java (java-gnome):

2.5.7 (2.6 Beta 2)
Updated Classes:
glib.CustomEvents - Reverted implementation to original implementation
plus a
fix for the update bug. (far better performance when adding events)
[Mark Howard]
glib.Boxed glib.GObject - implemented hashCode equals methods
glib.Enum glib.Flags - Fixed memory leak in equals method [Jonas
gdk.Color - Fixed handle allocation bug [Jonas Berlin]
gdk.Drawable - added the following methods: [Jeffrey Morgan]
gtk.ComboBox - fixed problem with no-op constructor so it now uses
simpler API when not supplying model [Jeffrey Morgan]
gtk.ComboBoxEntry - fixed problem with no-op constructor so it now
simpler API when not supplying model [Jeffrey Morgan]
gtk.Expander - fixed signature of native set_expanded method [Jeffrey
gtk.FileChooserDialog - updated API due to gtk change [Jeffrey
gtk.FileChooserWidget - updated API due to gtk change [Jeffrey
gtk.Item - fixed bug with no-op constructor setting up events prior
object creation [Jeffrey Morgan]
gtk.TextBuffer - fixed selectRange method [Mark Howard]
- fixed set/get acceptsTab/overwrite [Mark Howard]
- Fixed problem when creating TreeView via glade [Jeffrey Morgan]
gtk.ToolButton - fixed bug when handling null Icons in object
[Jeffrey Morgan]
gtk.ToolItem - fixed bug that caused failure in creating subclasses
[Jeffrey Morgan]
gtk.TreeIter - Fixed bug in TreeIter object construction. Fixes:
[Mark Howard]
- fixed object creation bug [Jeffrey Morgan]
- enabled event handling [Jeffrey Morgan]
glib.Value - Fixed Pixbuf handling [Mark Howard]
Updated Interfaces:
gtk.FileChooser - updated API due to gtk change [Jeffrey Morgan]
- Added dynamic loading of gconf and gtkhtml libraries. [Jeffrey
- fixed gnome api doc linkoffline setting
- Updated example applications to use new widgets.
- Removed all empty generated JNI/C files. [Jeffrey Morgan]
- Added tutorial examples to eclipse classpath [Jeffrey Morgan]
- Updated the tutorial to reflect new API [Jeffrey Morgan]
- Fixed native widget to multiple java object mapping problems (and
memory leak)
- Fixed memory leak with Strings in signals [Mark Howard]
- Fixed event intialisation [Mark Howard]
- Added shell script to help run example apps [Mark Howard]

** Perl (gtk2-perl):

Overview of Changes in Gnome2::Canvas 1.0

* Require stable Glib/Gtk2 1.040
* Add import version checking.
* Spit and polish.

Overview of changes in Gnome2-VFS 1.001

* Made all version checks refer to stable releases.
* Made the test suite more robust.

Overview of changes in Gnome2::GConf 1.000

* New test suite for GConfClient. [Emmanuele]
* Adapted version information methods to the current policy. [Toersten]
* Updated documentation. [Emmanuele]
* Require Glib 1.040. [Emmanuele]

Overview of Changes in Gtk2::GladeXML 1.0

* Import version checking.
* Build improvements.

Overview of changes in Gnome2 1.00

* Depend on Glib 1.04, Gnome2::Canvas 1.00, and Gnome2::VFS 1.00.

Overview of Changes in Glib 1.040

Since 1.02x (the previous stable series)
* Updated build requirement
- ExtUtils: :Depends >= 0.2
* Support for a few new API features in glib-2.4.x.
* Functions that use GErrors in C throw magical Glib::Error exception
objects; these objects overload the stringification operator, so
old code won't be broken, but new code can match errors without
worrying about translated error messages. User code and other
extensions can register their own error domains. See the
Glib::Error manpage for more info.
* Glib::Type enhancements
- Perl code can register enum and flags types for use as
property types.
- During Glib::Object class initialization, invoke INIT_BASE in the
object's package, if it exists. (Analogue for GTypeClass's
- It is now possible to add GInterface implementations to
types derived in Perl code.
- New param spec, Glib::ParamSpec::scalar
* Glib::MakeHelper is generally more helpful.
* The POD generation tools allow specification of cumulative data
type descriptions, and much finer control over the format and
content of the generated documentation.
* Glib can now export useful constants on request.
* New versioning API, see Glib::version.

Since 1.0391
* Nothing. :-)

Overview of Changes in Gtk2 1.040

Since 1.02x (the previous stable series)
* Updated requirements:
- Glib >= 1.040
- ExtUtils: :Depends >= 0.2 (required only at build time)
- ExtUtils::PkgConfig >= 1.03 (require only at build time)
* Add support for new objects and API in gtk+-2.4.0.
* Derivation of Gtk2::CellRenderer has been reworked; it's much more
sane now, but we retain backward compatibility with the 1.02x code.
* It is now possible to implement GInterfaces in Perl code, so you
can now implement your own Gtk2::TreeModels and
Gtk2::CellEditables. Examples are included.
* The SPLICE operation is now supported on Gtk2::SimpleList's tied
* New, standardized versioning API and documentation.
* Documentation enhancements all around.
* Huge test suite expansion and amazing increase in API coverage.
* New utility module Gtk2::TestHelper wraps up some of the
boilerplate involved in testing Gtk2-based modules.

Since 1.0391
* Test fixes. [Torsten]
* Use INT2PTR to quell cast warnings. [muppet]
* Documentation updates. [all]
* Hide private symbols from ABI. [muppet]
* Add examples/ [Ross]
* Assorted bits of code cleanup. [muppet]

Murray Cumming

Printed from Linux Compatible (