Glib 1.011, Gtk2 1.011, Gnome2::Canvas 0.34

At long last, we're out of CVS, and back on the beta trail towards a stable release. I wanted to have beta release version numbers like the version objects that are coming in perl 5.10, but we'll just have to wait. Glib in CVS was 1.01, this release is 1.011, next will be 1.012, and the next stable version will be 1.02.

Source is available on the project page,

Please test these out and report any and all bugs as soon as you find them.

The change logs are rather interesting, especially if you haven't been keeping up lately.

Most of the activity since 1.00 has involved new tools for automagical generation of API reference pod from the xs source code.

Changes in Glib Since 1.00:

A few new modules have been introduced:
   Glib::ParseXSDoc is a tool to parse xsub prototypes and pod
   Glib::GenPod turns the output of Glib::ParseXSDoc into pod
   Glib::MakeHelper helps automate a lot of boilerplate that goes
        into the Makefile.PL for Glib-based extensions.

Much documentation has been added, mostly in the form of a new manpage and pod file for each module in the source. Glib::index lists the generated documentation.

Glib::Type includes several introspection utilities, such as list_values, list_signals, and list_ancestors.

GFlags types are now blessed as descendents of Glib::Flags, so that several new overloaded operators may be used on them. This allows bitfields to be used in much more natural ways, and more efficiently, without breaking any existing code.

A new toy for your convenience, $glibobject->tie_properties ties a Glib::Object's object properties to hash keys in the instance variable. This is not turned on by default, since it may break existing code.

New type variant gchar_ornull (and typemap) removes the need to check for undef specially on string returns and args.

New type and typemap, GPerlFilename, handles conversions between GLib/Gtk+'s internal UTF-8 and the unicode/locale encoding used by perl and the local filesystem.

New header, gperl_marshal.h, includes macros to make life easier for binding developers who need to write custom signal marshallers.

Fixed a reference-counting bug in signal marshaling that caused complex Perl-derived widgets not to destroy properly.

Changes in Gtk2 Since 1.00:
We require Glib >= 1.011 in order to get the API reference documentation generation tools that are new in Glib. Gtk2 creates and installs over 150 manpages detailing the call signatures and object properties for the various widgets. You can now find out what methods are available for a button and how to call them with commands like 'man Gtk2::Button' or 'perldoc Gtk2::Button'.

It is now possible to create custom Gtk2::CellRenderers in Perl. See the included examples for inspiration.

The class names for Gtk2::HScrollbar and Gtk2::VScrollbar were misspelled in all previous releases, with capital 'B's. The old spelling is still accepted for compatibility, but the correct spelling is preferred.

Gtk2::Editable's insert-text signal is no longer broken.

Most functions dealing with filenames attempt to convert the encoding by using the new GPerlFilename typemap in Glib. If there are any problems with this, please report them ASAP to gtk-perl-list gnome org
Gtk2::Gdk::Rectangle's accessors are now mutators.

Added several missing methods and data types. Removed some pango functions that are of no use to application developers.

Several bugfixes.

Note: support for gtk+ 2.3.0 has been added to CVS, but is not included in this release. Since 2.3.x is an unstable series, it is being supported on a separate branch which will be merged when 2.4.0 is released. To get to the code supporting 2.3.0, check out the branch unstable-2-3-x-branch.

Changes in Gnome2::Canvas since 0.32:

Added API reference documentation generation, via Glib >= 1.01.

Added accessors for $canvas->pixels_per_unit.

Routed GnomeCanvas' log messages through Perl's warn(), so that warnings and assertions will show the closest Perl line number.

muppet <scott at asofyet dot org>

[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]