I am pleased to announce version 2.27.0 of the Python bindings for GObject.

A lot of fixes went in under the hood include fixes to the Windows build 
environment.  On the Introspection side we are getting closer to parity with 
PyGtk interfaces with notes from people who have successfully ported their 
plugins and apps.    I would like to thank the numerous bug and patch filers 
including the GEdit team for letting us know what they need for us to support 
them.  Keep those bugs coming and hop on irc to pester us until we fix your 
issue.  Some higlights include:

    * better handling of virtual methods
    * fixed gobject inheritance model
    * you can now call dir on dynamic modules to see what member exist
    * the Tree* API is much nicer, exporting a lot of the convenience APIs that 
exist in PyGtk
    * cairo_rectangle_int_t is supported as a foreign type if pycairo exports 
it (patch at https://bugs.freedesktop.org/show_bug.cgi?id=31111)
    * some Python 3 fixes so we can compile under Python 3.2

The new release is available from ftp.gnome.org as and its mirrors:

http://download.gnome.org/sources/pygobject/2.27/

What’s new since PyGObject 2.26.0?

    * Implement richcompare for GIBaseInfo (Jonathan Matthew)
    * [gi] add the rectangle_int_t forign cairo type (John (J5) Palmieri)
    * add a foreign type for cairo_rectangle_int_t and allow it to be 
caller-allocated (John (J5) Palmieri)
    * [gi] add overrides to Gtk.Editable (John (J5) Palmieri)
    * [gi] handle virtual invokers (John (J5) Palmieri)
    * add overrides for the insert* apis of list_store and tree_store (John 
(J5) Palmieri)
    * fix dialogs overrides which were relying on broken inheritance behavior 
(John (J5) Palmieri)
    * Add a overrides registry so we can refrence overrides inside the module 
(John (J5) Palmieri)
    * setup.py: ease maintenance burden for tests installation (Dieter 
Verfaillie)
    * fix inheritence issues in overrides (John (J5) Palmieri)
    * tests: add runtests-windows.py script (Dieter Verfaillie)
    * pygobject_postinstall.py: remove pygobject-2.0.pc treatment from 
postinstall as pkg-config on windows figures out the correct prefix at runtime 
(Dieter Verfaillie)
    * pygobject_postinstall.py: remove shortcut creation (Dieter Verfaillie)
    * setup.py: formatting cleanup, makes things readable (Dieter Verfaillie)
    * setup.py: build and install tests (Dieter Verfaillie)
    * setup.py: install documentation when available on build system (Dieter 
Verfaillie)
    * setup.py: install pygobject-codegen script (Dieter Verfaillie)
    * setup.py: install fixxref.py script (Dieter Verfaillie)
    * setup.py: rearrange constants (Dieter Verfaillie)
    * setup.py: check python version and pkgconig availability before anything 
else (Dieter Verfaillie)
    * setup.py: simplify sys.platform != 'win32' detection and error reporting 
(Dieter Verfaillie)
    * setup.py: rearrange imports (Dieter Verfaillie)
    * README.win32: update build instructions (Dieter Verfaillie)
    * dsextras.py: formatting cleanup, makes things readable (Dieter Verfaillie)
    * dsextras.py: add ggc4 to MSVC compatible struct packing comment (Dieter 
Verfaillie)
    * dsextras.py: use the pkgc_ functions instead of repeating pgk-config 
incantations all over the place (Dieter Verfaillie)
    * dsextras.py: add pkgc_get_version and pkgc_get_defs_dir functions (Dieter 
Verfaillie)
    * dsextras.py: PEP8: Comparisons to singletons like None should always be 
done with 'is' or 'is not', never the equality operators. (Dieter Verfaillie)
    * dsextras.py: use True/False instead of 1/0 (Dieter Verfaillie)
    * dsextras.py: rearrange imports (Dieter Verfaillie)
    * Add distutils generated build/dist directories and eclipse configuration 
files to .gitignore (Dieter Verfaillie)
    * [gi] add tests for calling dir on a dynamic module (John (J5) Palmieri)
    * [gi] dir() now works for modules (Deepankar Sharma)
    * Don't check the inner type when comparing gpointers (Simón Pena)
    * Release GIL when calling into C functions (John (J5) Palmieri)
    * _gi.Repository : Implement missing info bindings. (José Aliste)
    * include Python.h so that PY_VERSION_HEX gets defined (John (J5) Palmieri)
    * [gi] make overrides work for python 3.x protocols and alias for python 
2.x (John (J5) Palmieri)
    * Override Gtk.Widget.translate_coordinates to not return success value 
(Sebastian Pölsterl)
    * Override Gtk.TreeViewColumn.cell_get_position to not return success value 
(Sebastian Pölsterl)
    * Override get_path_at_pos and get_dest_row_at_pos of Gtk.TreeView to not 
return success value (Sebastian Pölsterl)
    * Override Gtk.TreeSortable.get_sort_column_id to not return success value 
(Sebastian Pölsterl)
    * Override forward_search and backward_search of Gtk.TextIter to not return 
success value (Sebastian Pölsterl)
    * Override Gtk.TextBuffer.get_selection_bounds to not return success value 
(Sebastian Pölsterl)
    * Override Gtk.RecentInfo.get_application_info to not return success value 
(Sebastian Pölsterl)
    * Override Gtk.IMContext.get_surrounding to not return success value 
(Sebastian Pölsterl)
    * Override get_item_at_pos, get_visible_range, get_dest_item_at_pos of 
Gtk.IconView to not return success value (Sebastian Pölsterl)
    * Override Gtk.Container.get_focus_chain to not return success value 
(Sebastian Pölsterl)
    * Override Gtk.ComboBox.get_active_iter to not return success value 
(Sebastian Pölsterl)
    * [gi] make parameter check less strict when dealing with GValue params 
(John (J5) Palmieri)
    * Shortcut removal is not needed on post-uninstall (John Stowers)
    * Disable shortcut creation in windows installer (John Stowers)
    * overrides for all subclasses of dialog (John (J5) Palmieri)
    * Make TreeModel behave like in GTK-2.x (Sebastian Pölsterl)
    * Correctly build GIO on windows (John Stowers)
    * Require Python >= 2.6.0 for Windows build (John Stowers)
    * Fix depreciation warning in dsextras.py (John Stowers)
    * Fix build on windows (John Stowers)
    * Support for GCC4 in Windows distutils build - bug 626548 (Michael 
Culbertson)
    * Remove obsolete comments in dsextras.py (John Stowers)
    * Broken dsextras.py pkg-config check error message (John Stowers)
    * add compat functions for the deprecated PyCObject api (John (J5) Palmieri)
    * Add __path__ attributes. (Damien Caliste)
    * Override Gtk.TreeSelection.get_selected to not return success value. 
(Sebastian Pölsterl)
    * Make row optional in Gtk.TreeStore/ListStore.append override (Vincent 
Untz)
    * Revert "add compat functions for the deprecated PyCObject api" (John (J5) 
Palmieri)
    * return NULL instead of -1 which fixes crash when introspection is turned 
off (John (J5) Palmieri)
    * add compat functions for the deprecated PyCObject api (John (J5) Palmieri)
    * fix commit 7fe83108 which didn't use the compat functions for string 
handling (John (J5) Palmieri)
    * Python 3 fixes for dsextras and the python.m4 distribution files (John 
(J5) Palmieri)

Blurb:

GObject is a object system library used by GTK+ and GStreamer.

PyGObject provides a convenient wrapper for the GObject library for use in 
Python programs, and takes care of many of the boring details such as managing 
memory and type casting. When combined with PyGTK, PyORBit and gnome-python, it 
can be used to write full featured Gnome applications.

Like the GObject library itself PyGObject is licensed under the GNU LGPL, so is 
suitable for use in both free software and proprietary applications. It is 
already in use in many applications ranging from small single purpose scripts 
up to large full featured applications.

PyGObject requires glib >= 2.22.4 and Python >= 2.5.1 to build.
GIO bindings require glib >= 2.22.4.

The Introspection module is the next generation Python GObject library 
bindings. Instead of statically wrapping every GObject based library we can now 
dynamically accesses any of those libraries using GObject Introspection. It 
replaces the need for separate modules such as PyGTK, GIO and python-gnome to 
build a full GNOME application. Once new functionality is added to gobject 
library it is instantly available as a Python API without the need for an 
intermediate Python module.

Introspection/Python 2 bindings requires gobject-introspection >= 0.9.5 and 
pycairo >=1.0.2 or py2cairo >=1.8.10
Introspection/Python 3 bindings requires gobject-introspection >= 0.9.5, 
pycairo >=1.8.10 and Python >= 3.1

gobject-introspection bugs are being fixed at a rapid pace so it is recommend 
to use the latest version in git when filing bugs against the Introspection 
module.

–
John (J5) Palmieri
GNOME Foundation member
jo...@redhat.com
-- 
http://mail.python.org/mailman/listinfo/python-announce-list

        Support the Python Software Foundation:
        http://www.python.org/psf/donations/

Reply via email to