PyGObject Changelog

What's new in PyGObject 3.33.1

Aug 27, 2019
  • Make GLib.Variant.unpack a bit less costly
  • pygobject: ignore GParameter deprecations
  • pygobject-object: fix refcount of floating return values
  • pygi-info: remove some dead code

New in PyGObject 3.32.2 (Jun 24, 2019)

  • Python 3.8b1 compatibility fixes
  • tests: fix a test error when run under wayland
  • setup.py: specify python_requires

New in PyGObject 3.31.3 (Feb 6, 2019)

  • Speed up destruction of boxed types :mr:`106` and GObject.Value.set_value() calls. This makes appending to a Gtk.TreeModel nearly twice as fast for example.
  • Allow passing None for boolean parameters
  • meson: Install .egg-info directory to arch'd dir
  • gtk overrides: raise in case Gtk.Window is instantiated after gtk_init failed
  • gio overrides: Warn when creating various dbus types without a constructor
  • tests: Fix tests with glib 2.59.x
  • tests: fix test_atoms failing in some environments

New in PyGObject 3.31.2 (Jan 9, 2019)

  • GLib.Variant.keys: correctly raise TypeError for non-dict types
  • GLib.Variant: implement __bool__ for maybe types
  • cairo: Fix GValue converters in case of NULL
  • setup.py: Print an install command hint when pkg-config is missing
  • pygi-info: wrap g_union_info_get_alignment()

New in PyGObject 3.30.3 (Nov 27, 2018)

  • GValue: fall back to the custom C marshaller to support fundamental types. This makes GValue work with GstFraction.
  • GValue: Work around wrong annotations for GVariant
  • Fix GObject attribute access during instance init which can lead to errors with __getattr__ implementations of subclasses. This lead to criticals when instantiating Gio.DBusProxy.

New in PyGObject 3.31.1 (Nov 23, 2018)

  • overrides: add Pango.Layout.set_text() override.
  • docs: link updates
  • overrides: Use functools.wraps instead of custom version.
  • tests: Make tests run with current gtk4 master
  • Add (again) a pyproject.toml for specifying the pycairo build dep (requires pip >=18.0)
  • setup.py: Make it possible to build without cairo support through the PYGOBJECT_WITHOUT_PYCAIRO env var.

New in PyGObject 3.30.2 (Nov 12, 2018)

  • tests: Fix some test with newer glib.
  • overrides: Fix crash when using non-ascii text with. Gtk.Builder.add_from_string/add_objects_from_string.
  • Various meson/distutils build fixes for MSVC.
  • foreign-cairo: Fix cairo marshalling not using the foreign converters in some cases.
  • build: setup.py reproducible build fixes.

New in PyGObject 3.30.1 (Sep 17, 2018)

  • Fix various crashes on big endian systems.
  • meson: Don't link against libpython on non-Windows systems.

New in PyGObject 3.29.3 (Aug 17, 2018)

  • meson: Support building pycairo as a subproject
  • meson: Declare_dependency for use by potential superprojects
  • meson: Update glib wrap file.
  • meson: Fix the Python 2 build not not use the system pycairo extension when running tests.
  • pygi-convert.sh: Various fixes and updates.
  • Gtk.Template: Fix instantiation error when using the new code with older PyGObject.
  • Gtk.Template: Don't error out when loading a resource that is only available in an overlay.
  • Fix various crashes when running against a debug Python 3.7 build.
  • overrides: Allow calling GObject.Binding.unbind() multiple times with GLib 2.58+.
  • overrides: Gio.ListStore overrides use splice() when adding/removing many items with GLib 2.58+.
  • Work around pylint reporting bogus warnings regarding a missing self argument for normal functions.
  • Add override for GdkPixbuf.Pixbuf.new_from_data() to wrap new_from_bytes() to work around a use after free.

New in PyGObject 3.28.3 (May 31, 2018)

  • Fix Gio.Application leak in case no signal handler is set before.
  • Squash critical warning when using array as hash value.

New in PyGObject 3.29.2 (May 18, 2018)

  • Add a meson build system.
  • Gtk.Template: Allow marking children as "internal-child".
  • Gio.ListModel: implement most of the mutable sequence protocol.
  • Gio.Settings: implement __iter__.
  • Gio.Settings: support range types in __setitem__.
  • Add overrides for Gio.ListStore.sort and Gio.ListStore.insert_sorted.
  • Make Gtk.Widget.freeze_child_notify a context manager.
  • OptionParser.parse_args: return leftover arguments.
  • Release the GIL when emitting a signal.
  • Add ActionMap and ActionMap.add_action_entries() to overrides.
  • importer: raise ImportError in load_module() and not find_module().
  • Don't wrap GValue in GValue when creating GValueArray.
  • ossig: Don't leak the callbacks in case the event loops are not stopped through SIGINT.
  • Various fixes
  • Destroy custom GLib.Source instances when they get freed.
  • Revert "Add PEP518/pyproject.toml file", fixes installation with pip 10, see https://github.com/pypa/pip/issues/5244
  • Various fixes/improvements for PyPy.
  • Don't crash on multiple calls to GObject.Value.__del__.
  • Documentation:
  • Added StackOverflow (with PyGObject tag) as an contact resource.
  • Add introduction to handling GLib.Error.
  • Add pycairo requires for development setup.

New in PyGObject 3.29.1 (Apr 25, 2018)

  • Support for PyPy and PyPy3.
  • cairo: support :class:`cairo.Matrix` conversion.
  • Speed up repeated closure creation by caching the closure cache in the argument cache.
  • setup.py: make setuptools/pkg_resources optional.
  • setup.py: print installation instructions in case a dependency is missing.
  • Remove autotools build system.
  • overrides: Make :meth:`Gtk.ListStore.insert_before`, :meth:`Gtk.ListStore.insert_after`, :meth:`Gtk.TreeStore.insert_before` and :meth:`Gtk.TreeStore.insert_after` atomic.
  • Make :class:`GLib.Error` picklable.
  • Add basic support for template based widgets through ``Gtk.Template``.
  • Various documentation improvements.
  • Add PEP518/pyproject.toml file.
  • Avoid truncating value returned from g_value_info_get_value.
  • Fix typo in BoundSignal disconnect.

New in PyGObject 3.28.2 (Apr 1, 2018)

  • setup.py: Don't install the test C extension when it's built. :issue:`181`
  • setup.py: Always define PY_SSIZE_T_CLEAN. :issue:`185`
  • Fix __str__ return type of Gtk.TreePath with depth == 0. :issue:`143`
  • Fix a crash when setting a str property with a value containing surrogates. :issue:`169`
  • tests: Fix a potential crash during tests

New in PyGObject 3.28.1 (Mar 19, 2018)

  • Fix a GValue leak (regression). :issue:`176` (:user:`Mathieu Duponchelle`)
  • setup.py: don't install the tests package
  • Various fixes for 64bit Windows. :mr:`34` (:user:`Mathieu Duponchelle`)
  • Fix tests with glib 2.56.0
  • Various fixes for Python 3.7. :issue:`170` :mr:`28`

New in PyGObject 3.28.0 (Mar 14, 2018)

  • GLib.Variant: Fix creation of guchar arrays from bytes (3.27.2 regression). :issue:`174` :mr:`30`

New in PyGObject 3.27.5 (Mar 7, 2018)

  • Re-revert transfer-none boxed copy changes (:mr:`23`). Now with more fixes and tests. :mr:`24
  • Add caching for boxed type lookup and try to avoid the import lock. :mr:`13`

New in PyGObject 3.27.4 (Feb 27, 2018)

  • tests: Fix tests under Wayland. :issue:`163`
  • tests: Make it possible to use pytest directly.
  • Reverted transfer-none boxed copy changes (:mr:`10`) due to regressions in gnome-music. :issue:`164` :mr:`23`

New in PyGObject 3.27.1 (Dec 27, 2017)

  • Revert "setup.py: Also set setup_requires to require pycairo" (Christoph Reiter)
  • setup.py: Also set setup_requires to require pycairo (Christoph Reiter)
  • setup.py: Provide a os.path.samefile fallback for Python 2 under Windows (Christoph Reiter)
  • Add sphinx based documentation (Christoph Reiter) (#791448)
  • PKG-INFO: Revert name back to PyGObject (Christoph Reiter)
  • setup.py: Rework pycairo discovery to not use pkg-config (Christoph Reiter)
  • setup.py: Fix the distcheck command on Windows (Christoph Reiter)
  • setup.py: Remove various classifiers and the download-url which aren't accepted by pypi (Christoph Reiter)
  • version bump (Christoph Reiter)

New in PyGObject 3.26.1 (Oct 29, 2017)

  • pygobject-object: Fix Python GC collecting a ref cycle too early (Christoph Reiter) (#731501)
  • Fix potential uninitialized memory access during GC (Daniel Colascione) (#786872)
  • test: revert parts of the previous test as it's broken on 32 bit builds (Christoph Reiter) (#786948)
  • flags: Add testcase for bug 786948 (Christoph Reiter) (#786948)
  • fix potential overflow when marshalling flags from py interface (Philippe Renon) (#786948)
  • to_py_array: Properly handle enum array items (Christoph Reiter) (#788890)
  • closure: Fix unaligned and out-of-bounds access (James Clarke) (#788894)
  • build: Fix not installing .egg-info file (Christoph Reiter) (#777719)
  • configure.ac: version bump to 3.26.1 (Christoph Reiter)

New in PyGObject 3.26.0 (Sep 13, 2017)

  • configure.ac: pre-release version bump to 3.26.0 (Christoph Reiter)
  • closure: silence a new compiler warning (Christoph Reiter)
  • tests: skip some failing test under Windows with Python 3.6 (Christoph Reiter)
  • tests: pyflakes/pep8 fixes (Christoph Reiter)
  • tests: Fix cairo test with pycairo >= 1.13 (Christoph Reiter)
  • Make sure version information passed to require_version is a string. (Benjamin Berg) (#781582)
  • configure.ac: post-release version bump to 3.25.2 (Christoph Reiter)

New in PyGObject 3.24.0 (Mar 29, 2017)

  • configure.ac: pre-release version bump to 3.24.0 (Christoph Reiter)

New in PyGObject 3.22.0 (Sep 24, 2016)

  • configure.ac: pre-release version bump to 3.22.0 (Christoph Reiter)

New in PyGObject 3.22.0 Beta 2 (Aug 31, 2016)

  • Allow installing with pip (Mathieu Bridon) (#767988)
  • Skip a test with older glib (Christoph Reiter) (#740301)
  • Fix a test with Python 3.1/3.2 (Arfrever Frehtes Taifersar Arahesis, Christoph Reiter) (#740324)
  • tests: Use places kwarg for assertAlmostEqual (Arfrever Frehtes Taifersar Arahesis, Christoph Reiter) (#740337)
  • Print exception if marshalling a signal argument fails (Christoph Reiter) (#748198)
  • overrides: allow treemodel sequence shorthands (Marinus Schraal) (#766580)
  • Remove pygobject-external.h (Christoph Reiter) (#767084)
  • Remove pygobject-private.h and rename pygobject.c to pygobject-object.c (Christoph Reiter) (#767084)
  • Merge pyglib-private.h into pyglib.h (Christoph Reiter) (#767084)
  • Remove pygi.h and pygi-private.h (Christoph Reiter) (#767084)
  • configure.ac: post-release version bump to 3.21.1 (Simon Feltman)

New in PyGObject 3.18.2 (Nov 8, 2015)

  • configure.ac: post release version bump to 3.18.2

New in PyGObject 3.19.2 (Nov 8, 2015)

  • tests: Fix failure due to new GTK+ warning regarding size_allocate()
  • Fix build warnings regarding _POSIX_C_SOURCE redefinition
  • Drop -std=c90 for now

New in PyGObject 3.18 Beta 1 (Aug 20, 2015)

  • Allow passing unicode lists to GStrv properties on Python 2 (Christoph Reiter) (#744745)
  • Avoid a silent long to int truncation (Rui Matos) (#749698)
  • Handle gtype marshalling (Mathieu Bridon) (#749696)
  • pygi-foreign-cairo.c: fix include for py3cairo.h (Daniel Hahler) (#746742)
  • tests: Silence various error messages and warnings (Christoph Reiter) (#751156)
  • Fix test regression when xdg-user-dirs is not installed (Christoph Reiter) (#751299)
  • Explicitly check if an override exists instead of ImportError (Garrett Regier) (#749532)

New in PyGObject 3.16.2 (Jun 16, 2015)

  • overrides: Provide _overrides_module attribute

New in PyGObject 3.17.1 (Jun 16, 2015)

  • Add gi.PyGIWarning used when import version is not specified (Christoph Reiter) (#727379)
  • Remove Gdk.Rectangle alias with newer gobject-introspection and GTK+ (Christoph Reiter) (#749625)
  • overrides: Provide _overrides_module attribute (Christoph Reiter) (#736678)

New in PyGObject 3.16.0 Beta 2 (Mar 16, 2015)

  • tests: Don't use deprecated override attributes
  • Add GLib.MINFLOAT etc. and mark GObject.G_MINFLOAT etc. deprecated
  • Emit PyGIDeprecationWarning when accessing deprecated override attributes
  • Add namespace and container name to all warnings/error messages
  • tests: Add test for GIRepository.UnionInfo.get_size()
  • Avoid duping filenames when marshalling from Python to C

New in PyGObject 3.15.0 (Feb 21, 2015)

  • Avoid copying bytearrays from Python to C when transfer nothing (Garrett Regier) (#743278)
  • Allows passing arguments to opaque Boxed types (Garrett Regier) (#743214)
  • Emit ImportWarning when gi.require_version() is not used (Christoph Reiter) (#727379)
  • Refactor overrides import/modules (Christoph Reiter) (#736678)
  • Replace statically bound GLib.Variant.new_tuple() with GI (Simon Feltman) (#735199)
  • overrides: Add Gdk.EventTouch union discrimination (Simon Feltman) (#736380)
  • PyGObjectFlags: Remove a trailing comma on the enum. (Murray Cumming)
  • Remove redefinitions of function and vfunc cache typedefs (Simon Feltman) (#737874)

New in PyGObject 3.14.0 (Sep 23, 2014)

  • configure.ac: pre release version bump to 3.14.0 (Simon Feltman)

New in PyGObject 3.14 RC (Sep 16, 2014)

  • tests: Add test for Gio.Application.add_main_option() (Simon Feltman)
  • tests: Split up various test cases (Simon Feltman) (#735193)
  • Fix invalid read error in argument cleanup code (Simon Feltman)
  • Fix memory management problems with struct arguments to signals (Simon Feltman) (#736175)

New in PyGObject 3.12.2 (Sep 16, 2014)

  • PEP8 fixes (Simon Feltman)
  • Python 3.4 make check fixes (Simon Feltman) (#730411)

New in PyGObject 3.11.5 (Feb 6, 2014)

  • cache refactoring: Move all cache marshalers into files based on type (Simon Feltman) (#709700)
  • tests: Add test for an owned boxed struct passed in a callback (Mike Gorse) (#722899)
  • build: Add --without-common configure option for package maintainers (Patrick Welche) (#721646)
  • demo: Add TreeModel interface implementation demonstration (Simon Feltman)
  • build: Set PLATFORM_VERSION again to 3.0 (Colin Walters)
  • tests: Run PyFlakes and PEP8 only on SUBDIRS (Simon Feltman)
  • Merge static PyGLib and PyGObject modules into PyGI (Simon Feltman) (#712197)
  • Add test for callback user data arguments with following arguments (Martin Pitt) (#722104)

New in PyGObject 3.11.4 (Jan 15, 2014)

  • overrides: Fix __repr__ for various Gdk structs (Simon Feltman)
  • Add enum and flags member methods (Simon Feltman) (#693099)
  • python.m4: g/c JD_PYTHON_CHECK_VERSION (Patrick Welche) (#721662)
  • Support union creation with PyGIStruct (Simon Feltman)
  • docs: List constructors in object and struct doc strings (Simon Feltman) (#708060)
  • docs: Fix array length argument skipping with preceding out arguments
  • docs: Add return values and skip implicit out arguments in functions (Simon Feltman) (#697356)
  • docs: Skip implicit array length args when building function doc strings (Simon Feltman) (#697356)
  • gtk-demo: Add CSS demos (Gian Mario Tagliaretti) (#719722)
  • build: Avoid clash between gi/types.py and stdlib (Colin Watson) (#721025)

New in PyGObject 3.11.3 (Dec 19, 2013)

  • Replace usage of PyGIBoxed_Type with PyGIStruct_Type (Simon Feltman) (#581525)

New in PyGObject 3.11.2 (Nov 21, 2013)

  • gkt-demo: Change main info/source notebook into a GtkStack (Simon Feltman)
  • Add deprecation warnings and cleanup class initializer overrides (Simon Feltman) (#705810)
  • Fix dir method for static GParamSpec in Python 3 (Simon Feltman)
  • Remove overzealous argument checking for callback userdata (Simon Feltman) (#711173)

New in PyGObject 3.10.2 (Nov 12, 2013)

  • Fix thread safety problems by always enabling the GIL (Simon Feltman) (#709223, #710447)

New in PyGObject 3.11.1 (Oct 29, 2013)

  • Fix toggleref safety problems by always enabling the GIL (Simon Feltman) (#709223)
  • Add consistent GLib.MainLoop SIGINT cleanup (Simon Feltman) (#710978)
  • docs: Add a keyword value of None for allow-none annotations (Simon Feltman) (#640812)
  • Remove overrides for supporting pre-3.10 GObject signal functions (Simon Feltman)
  • Add threads_init back as a requirement for non-Python threaded repos (Simon Feltman) (#710447)
  • Add dir method to GObject props accessor (Simon Feltman) (#705754)
  • Remove PyGObjectWeakRef now that g_binding_unbind exists (Simon Feltman) (#699571)
  • Fix lots of memory leaks leaks (Simon Feltman) (#693402, #709397)
  • Add support for variable user data arguments (Simon Feltman) (#640812)
  • Bump glib and g-i dependencies to latest stable. (Martin Pitt)

New in PyGObject 3.10.1 (Oct 15, 2013)

  • Fix TypeError when setting drag target_list to None (Nuno Araujo) (#709926)
  • Use qdata for wrapper retrieval in toggle reference notifications (Simon Feltman) (#709223)
  • Fix memory leak for caller allocated GValue out arguments (Simon Feltman) (#709397)

New in PyGObject 3.10 Beta 2 (Sep 2, 2013)

  • Fix GObject signal methods to work with new annotations (Simon Feltman) (#707280)
  • Fix build on C89 Compilers (Chun-wei Fan) (#707264)
  • Change boxed type checking in marshaling to use __gtype__ attribute (Simon Feltman) (#707140)
  • Use G_IS_VALUE for checking return values in closure marshaling (Simon Feltman) (#707170)
  • Fix PEP-8 errors in propertyhelper.py (Yanko Kaneti) (#706319)

New in PyGObject 3.10 Beta 1 (Aug 20, 2013)

  • Create GLib.Pid in the same way on python 2 and 3 (Benjamin Berg) (#705451)
  • Use PyLong_Type.tp_new for GLib.Pid (Benjamin Berg) (#705451)
  • Add accumulator and accu_data arguments to GObject.Signal decorator (Simon Feltman) (#705533)
  • Pass return values through the GObject.Signal.emit wrapper (Simon Feltman) (#705530)

New in PyGObject 3.9.5 (Jul 29, 2013)

  • Ensure exceptions set in closure out argument marshaling are printed (Simon Feltman) (#705064)
  • Always raise OverflowError for marshaling integers from Python (not ValueError or OverflowError) (Simon Feltman) (#705057)
  • Cleanup invoke args and kwargs combiner code (Simon Feltman) (#640812)
  • gtk-demo: Change demo to use Gtk.Application (Simon Feltman) (#698547)
  • Add callable and descriptor protocols to PyGICallableInfo (Simon Feltman) (#704037)
  • Unify basic type argument marshaling for methods, closures, and properties (Simon Feltman) (#693405)
  • Override GValue.set/get_boxed with static C marshaler (Simon Feltman) (#688081, #693405)
  • Add deprecation warning for marshaling arbitrary objects as pointers (Simon Feltman) (#688081)
  • Replace usage of __import__ with importlib.import_module (Simon Feltman) (#682320)
  • Always unref the GiTypeInfo when generating an argument cache (Mike Gorse) (#703973)
  • Unref interface info when fetching enums or flags (Mike Gorse) (#703960)
  • Speed up MRO calculation (Daniel Drake) (#703829)
  • Add GIL safety to pyobject_copy for copying boxed PyObjects (Simon Feltman) (#688081)
  • Add marshaling of GI_TYPE_TAG_VOID held in a GValue to int (Simon Feltman) (#694233)
  • GTK overrides: Make connect_signals handle tuple (Cole Robinson) (#693994)
  • Re-add support for passing GValue's by reference (Simon Feltman) (#701058)
  • Clear return value of closures to zero when an exception occurs (Simon Feltman) (#702552)
  • Don't use doctest syntax in docstrings for examples (Martin Pitt) (#701009)
  • Add support for properties of type GInterface (Garrett Regier) (#703456)
  • pygtkcompat: Fix for missing methods on Windows (Martin Pitt) (#702787)
  • gi/pygi-info.c: Avoid C99-style variable declaration (Chun-wei Fan) (#702786)

New in PyGObject 3.8.3 (Jul 5, 2013)

  • Add marshalling of GI_TYPE_TAG_VOID held in a GValue to int. While not particularly useful this allows some callbacks in WebKit to function without causing a segfault. (Simon Feltman) (#694233)
  • pygtkcompat: Fix for missing methods on Windows (Martin Pitt) (#702787)
  • gi/pygi-info.c: Avoid C99-style variable declaration (Chun-wei Fan) (#702786)
  • Clear return value of closures to zero when an exception occures (Simon Feltman) (#702552)
  • Re-add support for passing GValue's by reference (Simon Feltman) (#701058)
  • Don't use doctest syntax in docstrings for examples, to fix test failures with pyflakes 0.7.x (Martin Pitt) (#701009)
  • examples/option.py: Port to GI and Python 3 (Martin Pitt)

New in PyGObject 3.9.2 (May 29, 2013)

  • examples/option.py: Port to GI and Python 3 (Martin Pitt)
  • Fix vfunc info search for classes with multiple inheritance (Simon Feltman) (#700092)
  • Fix closure argument conversion for enum and flag in args (Simon Feltman)
  • Fix marshaling Python to FFI return value for enum and flags (Simon Feltman)
  • Remove half implemented GC in PyGIBaseInfo, PyGIStruct, and PyGIBoxed (Simon Feltman) (#677091)
  • Replace usage of pyg_begin_allow_threads with Py_BEGIN_ALLOW_THREADS (Simon Feltman) (#699440)
  • Remove and deprecate API for setting of thread blocking functions (Simon Feltman) (#699440)

New in PyGObject 3.8.2 (May 14, 2013)

  • Fix vfunc info search for classes with multiple inheritance (Simon Feltman) (#700092)
  • Fix closure argument conversion for enum and flag in args (Simon Feltman)
  • Fix marshaling Python to FFI return value for enum and flags (Simon Feltman)
  • Use correct class for GtkEditable's get_selection_bounds() function (Mike Ruprecht) (#699096)
  • Test results of g_base_info_get_name for NULL (Simon Feltman) (#698829)
  • Change interpretation of NULL pointer field from None to 0 (Simon Feltman) (#698366)
  • Remove Python keyword escapement in Repository.find_by_name (Simon Feltman) (#697363)

New in PyGObject 3.9.1 (May 1, 2013)

  • gtk-demo: Wrap description strings at 80 characters (Simon Feltman) (#698547)
  • gtk-demo: Use textwrap to reformat description for Gtk.TextView (Simon Feltman) (#698547)
  • gtk-demo: Use GtkSource.View for showing source code (Simon Feltman) (#698547)
  • Use correct class for GtkEditable's get_selection_bounds() function (Mike Ruprecht) (#699096)
  • Test results of g_base_info_get_name for NULL (Simon Feltman) (#698829)
  • Add ObjectInfo.get_class_struct() (Johan Dahlin) (#685218)
  • Change interpretation of NULL pointer field from None to 0 (Simon Feltman) (#698366)
  • Do not build tests until needed (Sobhan Mohammadpour) (#698444)
  • pygi-convert: Support toolbar styles (Kai Willadsen) (#698477)
  • pygi-convert: Support new-style constructors for Gio.File (Kai Willadsen) (#698477)
  • pygi-convert: Add some support for recent manager constructs (Kai Willadsen) (#698477)
  • pygi-convert: Don't transform arbitrary keysym imports (Kai Willadsen) (#698477)
  • Remove Python keyword escapement in Repository.find_by_name (Simon Feltman) (#697363)
  • Optimize signal lookup in gi repository (Daniel Drake) (#696143)
  • Optimize connection of Python-implemented signals (Daniel Drake) (#696143)
  • Consolidate signal connection code (Daniel Drake) (#696143)
  • Fix setting of struct property values (Daniel Drake)
  • Optimize property get/set when using GObject.props (Daniel Drake) (#696143)
  • configure.ac: Fix PYTHON_SO with Python3.3 (Christoph Reiter) (#696646)
  • Simplify registration of custom types (Daniel Drake) (#696143)

New in PyGObject 3.8.1 (Apr 19, 2013)

  • pygi-convert.sh: Add GStreamer rules (Christoph Reiter) (#697951)
  • pygi-convert: Add rule for TreeModelFlags (Jussi Kukkonen)
  • Fix enum and flags marshaling type assumptions (Simon Feltman)
  • Use g_strdup() consistently (Martin Pitt) (#696650)
  • Fix stack corruption due to incorrect format for argument parser (Simon Feltman) (#696892)

New in PyGObject 3.8.0 (Mar 25, 2013)

  • tests: Fix incorrect assumption when testing pyglib version (Simon Feltman)

New in PyGObject 3.7.92 (Mar 18, 2013)

  • Fix stack smasher when marshaling enums as a vfunc return value (Simon Feltman) (#637832)
  • Change base class of PyGIDeprecationWarning based on minor version (Simon Feltman) (#696011)
  • autogen.sh: Source gnome-autogen to fix out of source builddir (Alban Browaeys) (#694889)
  • pygtkcompat: Make gdk.Window.get_geometry return tuple of 5 (Simon Feltman)
  • pygtkcompat: Initialize hint to zero in set_geometry_hints (Simon Feltman)
  • Remove incorrect bounds check with property helper flags (Simon Feltman)
  • Fix crash when setting property of type object to an incorrect type (Simon Feltman) (#695420)
  • Give more informative error when setting property to incorrect type (Simon Feltman) (#695420)

New in PyGObject 3.7.91.1 (Mar 5, 2013)

  • Revert "Drop gi.overrides.overridefunc()" (Martin Pitt) (#695199)

New in PyGObject 3.7.91 (Mar 5, 2013)

  • Fix many memory leaks (#675726, #693402, #691501, #510511, #691501, #672224, and several more which are detected by our test suite) (Martin Pitt)
  • Dot not clobber original Gdk/Gtk functions with overrides (Martin Pitt) (#686835)
  • Optimize GValue.get/set_value by setting GValue.g_type to a local (Simon Feltman) (#694857)
  • Run tests with G_SLICE=debug_blocks (Martin Pitt) (#691501)
  • Add override helper for stripping boolean returns (Martin Pitt) (#694431)
  • Drop obsolete pygobject_register_sinkfunc() declaration (Martin Pitt) (#639849)
  • Fix marshalling of C arrays with explicit length in signal arguments (Martin Pitt) (#662241)
  • Fix signedness, overflow checking, and 32 bit overflow of GFlags (Martin Pitt) (#693121)
  • gi/pygi-marshal-from-py.c: Fix build on Visual C++ (Chun-wei Fan) (#692856)
  • Raise DeprecationWarning on deprecated callables (Martin Pitt) (#665084)
  • pygtkcompat: Add Widget.window, scroll_to_mark, and window methods (Simon Feltman) (#694067)
  • pygtkcompat: Add Gtk.Window.set_geometry_hints which accepts keyword arguments (Simon Feltman) (#694067)
  • Ship pygobject.doap for autogen.sh (Martin Pitt) (#694591)
  • Fix crashes in various GObject signal handler functions (Simon Feltman) (#633927)
  • pygi-closure: Protect the GSList prepend with the GIL (Olivier Crête) (#684060)
  • generictreemodel: Fix bad default return type for get_column_type (Simon Feltman)

New in PyGObject 3.7.90 (Feb 20, 2013)

  • overrides: Fix inconsistencies with drag and drop target list API (Simon Feltman) (#680640)
  • pygtkcompat: Add pygtk compatible GenericTreeModel implementation (Simon Feltman) (#682933)
  • overrides: Add support for iterables besides tuples for TreePath creation (Simon Feltman) (#682933)
  • Prefix __module__ attribute of function objects with gi.repository (Niklas Koep) (#693839)
  • configure.ac: only enable code coverage when available, to fix autogen.sh with older gnome-commons (Jonathan Ballet) (#693328)
  • Correctly set properties on object with statically defined properties (Jonathan Ballet) (#693618)
  • autogen.sh: Use gnome-autogen.sh (Martin Pitt) (#693328)
  • Fix reference leaks with transient floating objects (Simon Feltman) (#687522)

New in PyGObject 3.7.5.1 (Feb 5, 2013)

  • Fix ABI break with pygobject.h from 3.7.5 (Simon Feltman) (#675726)

New in PyGObject 3.7.4 (Jan 15, 2013)

  • Allow setting values through GtkTreeModelFilter (Simonas Kazlauskas) (#689624)
  • Support GParamSpec signal arguments from Python (Martin Pitt) (#683099)
  • pygobject_emit(): Fix cleanup on error (Martin Pitt)
  • Add signal emission methods to TreeModel which coerce the path argument (Simon Feltman) (#682933)
  • Add override for GValue (Bastian Winkler) (#677473)
  • Mark caller-allocated boxed structures as having a slice allocated (Mike Gorse) (#699501)
  • pygi-property: Support boxed GSList/GList types (Olivier Crête) (#684059)
  • tests: Add missing backwards compat methods for Python 2.6 (Martin Pitt) (#691646)
  • Allow setting TreeModel values to None (Simon Feltman) (#684094)
  • Set clean-up handler for marshalled arrays (Mike Gorse) (#691509)
  • Support setting string fields in structs (Vadim Rutkovsky) (#678401)
  • Permit plain integers for "gchar" values (Martin Pitt)
  • Allow single byte values for int8 types (Martin Pitt) (#691524)
  • Fix invalid memory access handling errors when registering an enum type (Mike Gorse)
  • Fix (out) arguments in callbacks (Martin Pitt)
  • Fix C to Python marshalling of struct pointer arrays (Martin Pitt)
  • Don't let Property.setter() method names define property names (Martin Pitt) (#688971)
  • Use g-i stack allocation API (Martin Pitt) (#615982)
  • pyg_value_from_pyobject: support GArray (Ray Strode) (#690514)
  • Fix obsolete automake macros (Marko Lindqvist) (#691101)
  • Change dynamic enum and flag gtype creation to use namespaced naming (Simon Feltman) (#690455)
  • Fix Gtk.UIManager.add_ui_from_string() override for non-ASCII chars (Jonathan Ballet) (#690329)
  • Don't dup strings before passing them to type registration functions (Mike Gorse) (#690532)
  • Fix marshalling of arrays of boxed struct values (Carlos Garnacho) (#656312)

New in PyGObject 3.7.3 (Dec 18, 2012)

  • Add support for caller-allocated GArray out arguments (Martin Pitt) (#690041)
  • [API add] Re-support calling GLib.io_add_watch with an fd or Python file (Martin Pitt)
  • pygtkcompat: Work around IndexError on large flags (Martin Pitt)
  • Fix pyg_value_from_pyobject() range check for uint (Martin Pitt)
  • Fix tests to work with g-i 1.34.2 (Martin Pitt)
  • Fix wrong refcount for GVariant property defaults (Martin Pitt) (#689267)
  • Fix array arguments on 32 bit architectures (Martin Pitt)
  • Add backwards compatible API for GLib.unix_signal_add_full() (Martin Pitt)
  • Drop MININT64/MAXUINT64 workaround, current g-i gets this right now (Martin Pitt)
  • Fix maximum and minimum ranges of TYPE_(U)INT64 properties (Simonas Kazlauskas) (#688949)
  • Ship pygi-convert.sh in tarballs (Martin Pitt) (#688697)

New in PyGObject 3.7.2 (Nov 21, 2012)

  • [API change] Drop almost all static GLib bindings and replace them with proper introspection. This gets rid of several cases where the PyGObject API was not matching the real GLib API, makes the full GLib API available through introspection, and makes the code smaller, easier to maintain. For backwards compatibility, overrides are provided to emulate the old static binding API, but this will throw a PyGIDeprecationWarning for the cases that diverge from the official API (in particular, GLib.io_add_watch() and GLib.child_watch_add() being called without a priority argument). (Martin Pitt, Simon Feltman)
  • [API change] Deprecate calling GLib API through the GObject namespace. This has always been a misnomer with introspection, and will be removed in a later version; for now this throws a PyGIDeprecationWarning.
  • [API change] Do not bind gobject_get_data() and gobject_set_data(). These have been deprecated for a cycle, now dropped entirely. (Steve Frécinaux) (#641944)
  • [API change] Deprecate void pointer fields as general PyObject storage. (Simon Feltman) (#683599)
  • Add support for GVariant properties (Martin Pitt)
  • Add type checking to GVariant argument assignment (Martin Pitt)
  • Fix marshalling of arrays of struct pointers to Python (Carlos Garnacho) (#678620)
  • Fix Gdk.Atom to have a proper str() and repr() (Martin Pitt) (#678620)
  • Make sure g_value_set_boxed does not cause a buffer overrun with GStrvs (Simon Feltman) (#688232)
  • Fix leaks with GValues holding boxed and object types (Simon Feltman) (#688137)
  • Add doc strings showing method signatures for gi methods (Simon Feltman) (#681967)
  • Set Property instance doc string and blurb to getter doc string (Simon Feltman) (#688025)
  • Add GObject.G_MINSSIZE (Martin Pitt)
  • Fix marshalling of GByteArrays (Martin Pitt)
  • Fix marshalling of ssize_t to smaller ints (Martin Pitt)
  • Add support for lcov code coverage, and add a lot of missing GIMarshallingTests and g-i Regress tests. (Martin Pitt)
  • pygi-convert: remove deprecated GLib → GObject conversions (Jose Rostagno)
  • Add support for overriding GObject.Object (Simon Feltman) (#672727)
  • Add --with-python configure option (Martin Pitt)
  • Do not prefer unversioned "python" when configuring, as some distros have "python" as Python 3. Use Python 3 by default if available. Add --with-python configure option as an alternative to setting $PYTHON, whic is more discoverable. (Martin Pitt)
  • Fix property lookup in class hierarchy (Daniel Drake) (#686942)
  • Move property and signal creation into _class_init() (Martin Pitt) (#686149)
  • Fix duplicate symbols error on OSX (John Ralls)
  • [API add] Add get_introspection_module for getting un-overridden modules (Simon Feltman) (#686828)
  • Work around wrong 64 bit constants in GLib Gir (Martin Pitt) (#685022)
  • Mark GLib.Source.get_current_time() as deprecated (Martin Pitt)
  • Fix OverflowError in source_remove() (Martin Pitt) (#684526)

New in PyGObject 3.4.2 (Nov 14, 2012)

  • Fix marshalling of GByteArrays (Martin Pitt)
  • Fix marshalling of ssize_t to smaller ints (Martin Pitt)
  • Fix crash with GLib.child_watch_add (Daniel Narvaez) (#688067)
  • Fix various bugs in GLib.IOChannel (Martin Pitt)
  • Work around wrong 64 bit constants in GLib Gir (Martin Pitt) (#685022)
  • Fix OverflowError in source_remove() (Martin Pitt) (#684526)
  • Fix Signal decorator to not use base class gsignals dict (Simon Feltman) (#686496)

New in PyGObject 3.4.1 (Oct 16, 2012)

  • Skip Regress tests with --disable-cairo (Martin Pitt) (#685094)
  • Fix leak with python callables as closure argument. (Simon Feltman) (#685598)
  • Gio overrides: Handle setting GSettings enum keys (Martin Pitt) (#685947)
  • Fix unsigned values in GArray/GList/GSList/GHash (Martin Pitt) (#685860)
  • _pygi_marshal_from_py_uint64(): Use correct data type in py2.7 check (Alban Browaeys) (#685000)
  • Install an .egg-info file (Johan Dahlin) (#680138)
  • PyGProps_getattro(): Fix GObjectClass leak (Johan Dahlin) (#685218)
  • pygobject.c: Don't leak GObjectClass reference (Olivier Crête) (#684062)
  • Fix memory leak in _pygi_argument_to_array() (Alban Browaeys) (#685082)
  • Fix error messages for out of range numbers (Martin Pitt) (#684314)
  • Kill dbus-daemon after running tests (Martin Pitt) (#685009)
  • GVariant overrides: Support empty tuple arrays (Martin Pitt) (#684928)
  • tests: Fix wrong return type in test_int64_callback() (Martin Pitt) (#684700)
  • Fix GValue marshalling of long and unsigned long (Giovanni Campagna) (#684331)
  • Clean up deprecation message for assigning gpointers to objects. (Simon Feltman) (#683599)
  • pygi-property: Lookup property in base classes of non-introspected types (Olivier Crête) (#684058)

New in PyGObject 3.4.0 (Sep 27, 2012)

  • Bump g-i dependency to 1.33.14 (Martin Pitt)

New in PyGObject 3.0.3 (Dec 19, 2011)

  • Convert all modifier constants to Gdk.ModifierType (Manuel Quiñones)
  • Convert all strings to utf-8 encoding when retrieving from TreeModel (Sebastian Pöl
  • add test for bytearray variants (John (J5) Palmieri)
  • handle NULL arrays correctly for each array type (John (J5) Palmieri)
  • Revert "Revert "Fix array termination and size calculation"" (John (J5) Palmieri)
  • pygmainloop: avoid lockups if multiple glib.MainLoop exist (Owen W. Taylor)
  • Properly chain up to the class that implements a given vfunc. (Tomeu Vizoso)
  • Revert "Fix array termination and size calculation" (Tomeu Vizoso)
  • Fix array termination and size calculation (Holger Berndt)
  • pygi-convert: fix for Pango.Alignment (Daniel Drake)
  • pygi-convert: fix for Gtk.Orientation (Daniel Drake)
  • Add tests for calling closures (Martin Pitt)
  • fix marshaling of arrays of GVariants (Mikkel Kamstrup Erlandsen)

New in PyGObject 3.0.1 (Oct 17, 2011)

  • when checking instances union members are same type as parent
  • add a floating flag to pygobjects
  • Revert "Fix refcount bug by not creating python wrapper during gobject init stage"

New in PyGObject 3.0.0 (Sep 20, 2011)

  • up version required of gobject-introspection to 1.29.0 (John (J5) Palmieri)
  • fix most warnings (John (J5) Palmieri)

New in PyGObject 2.90.3 (Sep 15, 2011)

  • support skip annotation for return values (John (J5) Palmieri)
  • Test GPtrArray regression (Xavier Claessens)
  • Drop support for old constructor style. (Steve Frécinaux)
  • Drop support for sink functions. (Steve Frécinaux)
  • Reinstate copying of in-line structs in arrays (Mike Gorse)
  • fix inline struct array handling (John (J5) Palmieri)
  • fix on demos (Dieter Verfaillie)
  • Added support for __setitem__ to TreeModel and support for slices to TreeModelRow (Sebastian Pölsterl)
  • Convert ACCEL_* constants into Gtk.AccelFlags. (Olav Vitters)
  • Convert TREE_VIEW_DROP_* constants into Gtk.TreeViewDropPosition (Olav Vitters)

New in PyGObject 2.28.6 (Jun 16, 2011)

  • closure: avoid double free crash (Ignacio Casal Quinteiro)
  • [gi] backport of "GVariant has a GType" fe386a (John (J5) Palmieri)
  • [gi] fixes to backport commit 6b5a65in older glib GVariants are still structs (John (J5) Palmieri)
  • GVariantType is a boxed struct (Tomeu Vizoso)
  • Use _gi.Struct to wrap fundamentals (Tomeu Vizoso)
  • Added __eq__ method for Gdk.Color and Gdk.RGBA (Jason Siefken)
  • Remove useless import (Ignacio Casal Quinteiro)
  • Revert "[gi] Removed hack to avoid using GLib.Variant.new_variant." (Ignacio Casal Quinteiro)
  • closure: Check the out arg is not null. Fixes bug #651812 (Ignacio Casal Quinteiro)
  • Fix GC-related crash during PyGObject deallocation (Daniel Drake)
  • Fix symbol names to be locale independent (Martin Pitt)
  • Updated DOAP file (Sebastian Pölsterl)

New in PyGObject 2.28.4 (Apr 22, 2011)

  • Version bump to 2.24.4 (Sebastian Pölsterl)
  • [gi] Don't create variant twice (Sebastian Pölsterl)
  • pygi-convert.sh: Make sure the uppercase GObject module is imported instead of the lowercase (Sebastian Pölsterl)
  • [gi] Removed hack to avoid using GLib.Variant.new_variant. (Sebastian Pölsterl)
  • [gi] Added additional test case for GVariant handling (Sebastian Pölsterl)
  • [gi] Added support for GVariant arguments (Sebastian Pölsterl)
  • Fix ABI break in old static bindings. (Steve Frécinaux)
  • fetch size from an enum type (Mike Gorse)
  • dsextras.py: ensure eol characters are preserved when writing template files (so \n does not become \r\n) (Dieter Verfaillie)

New in PyGObject 2.28.2 (Mar 23, 2011)

  • fix static ABI for setting string gvalues from python objects (John (J
  • Fix GSchema tests for separate build tree (Martin Pitt)
  • GIO tests: Fix remaining test case for separate build tree (Martin Pit
  • GIO tests: Fix for separate build tree (Martin Pitt)

New in PyGObject 2.27.90 (Feb 14, 2011)

  • fix build to correctly use python-config (John (J5) Palmieri)
  • Run gio tests separately when enabled (Martin Pitt)
  • Revert "Remove gio static bindings" (Martin Pitt)
  • Decrease the refcount for GInitiallyUnowned constructors. (Steve Frécinaux)
  • Ensure the sink functions are only ran once. (Steve Frécinaux)
  • Revert "Fix wrong refcount when calling introspected widget constructors" (Steve Frécinaux)
  • Revert "Fix reference leaks for GInitiallyUnowned objects" (Steve Frécinaux)
  • Run test suite under dbus-launch (Martin Pitt)
  • Fix test_gdbus.py to be Python3 friendly (Martin Pitt)
  • [gi] Provide comfortable GSettings API (Martin Pitt)
  • Fix vfunc search bug when using GInterfaces and a do_* method. (Laszlo Pandy)
  • [GI] Add tests for Gtk.Widget.drag_* methods. (Laszlo Pandy)
  • [python 3] use the right syntaxis to raise exceptions (Ignacio Casal Quinteiro)
  • [gi] return PYGLIB_MODULE_ERROR_RETURN on error and use pygobject_init (Ignacio Casal Quinteiro)
  • [gi] return PYGLIB_MODULE_ERROR_RETURN on error (Ignacio Casal Quinteiro)
  • Fix wrong refcount when calling introspected widget constructors (Steve Frécinaux)
  • Gdk.Window: Map the standard constructor to the *new* constructor (Simon Schampijer)
  • Ship tests/org.gnome.test.gschema.xml in dist tarballs (Martin Pitt)
  • [gi] Add GSettings tests (Martin Pitt)
  • [gi] Provide GtkTextBuffer.insert_with_tags_by_name() (Martin Pitt)
  • [gi] Support tag names in GtkTextBuffer.insert_with_tags() (Martin Pitt)
  • Add MAINTAINERCLEANFILES (Ignacio Casal Quinteiro)
  • Remove .gitignore files and use git.mk (Ignacio Casal Quinteiro)
  • pygi-convert.sh: Convert Pango.TabAlign.* (Martin Pitt)
  • pygi-convert.sh: Drop window -> get_window() conversion (Martin Pitt)
  • pygi-convert.sh: Don't convert self.window assignments (Martin Pitt)
  • Fix leaked python reference in python-defined subclasses (Steve Frécinaux)
  • Add some tests for the number of python refs held at creation time (Steve Frécinaux)
  • Factor out parameter marshalling from construction functions. (Steve Frécinaux)
  • [gi] in python 3 an array of uint8 can be bytes but not string (John (J5) Palmieri)
  • [gi] fix Gio.FileEnumerator to reflect the Python 3 iter protocol (John (J5) Palmieri)
  • [gi] python 3 fixes (John (J5) Palmieri)
  • [gi] fix try/except blocks using depricated raise format (John (J5) Palmieri)
  • [gi] Add docstring to GLib.Variant constructor (Martin Pitt)
  • [gi] update gdbus test cases for previous GVariant change (Martin Pitt)
  • [gi] Accept only a single object in GLib.Variant constructor (Martin Pitt)
  • Speed up _setup_native_vfuncs() (Laszlo Pandy)
  • Speed up class creation: rewrite _setup_vfuncs() to be much more efficient. (Laszlo Pandy)
  • pygi-convert.sh: Convert gtk.UI_MANAGER_* (Sebastian Pölsterl)
  • pygi-convert.sh: Convert gdk.GRAB_* (Sebastian Pölsterl)
  • [gi] set the gtype GValue correctly (Ignacio Casal Quinteiro)
  • [gi] use the right argument type for callback (Ignacio Casal Quinteiro)
  • [gi] Add test cases for GDBus client operations (Martin Pitt)
  • [gi] Add Variant construction/unpack support for boxed Variants (Martin Pitt)
  • Merge branch 'windows-setup-fixes' (Dieter Verfaillie)
  • pygi-convert.sh: GdkPixbuf methods (Thomas Hindoe Paaboel Andersen)
  • pygi-convert.sh: Gdk.COLORSPACE_RGB (Thomas Hindoe Paaboel Andersen)
  • [gi] Support nested objects and empty sequences in GLib.Variant building (Martin Pitt)
  • Uncomment test_gi.TestInterfaceClash (Tomeu Vizoso)
  • Fix reference leaks for GInitiallyUnowned objects (Steve Frécinaux)
  • Add tests for refcount of a GObject owned by a library (Steve Frécinaux)
  • Add a test to check for regular object reference count (Steve Frécinaux)
  • [gi] Update TreeView.enable_model_drag_{source,dest} to current GTK (Martin Pitt)
  • Fix a typo in a private symbol name. (Steve Frécinaux)
  • pygi-convert.sh: Convert glib.source_remove() (Martin Pitt)
  • Fix typo in previous commit to actually convert glib.GError (Martin Pitt)
  • pygi-convert.sh: Move some glib bits which are better handled by gobject (Martin Pitt)
  • Modify override for Gtk.Adjustment to allow position or keyword arguments in __init__(). (Laszlo Pandy)
  • [gi] Fix small typo in previous commit (Martin Pitt)
  • [gi] Add pythonic iterator and indexing for string GVariants (Martin Pitt)
  • Construct structs using default API constructor (Tomeu Vizoso)
  • pygi-convert.sh: Migrate Gdk.Cursor constructor, and some cursor names (Martin Pitt)
  • pygi-convert.sh: Handle .window attributes (Martin Pitt)
  • Also deal with foreign boxed structs (Tomeu Vizoso)
  • [gi] Convert GErrors to GObject.GError exceptions, and throw them upon returning from calling the C function. (Laszlo Pandy)
  • pygi-convert.sh: Don't convert glib -> GLib for now (Martin Pitt)
  • Link libregress.so to GIO_LIBS again (Tomeu Vizoso)
  • Fix attributes 2BUTTON_PRESS and 3BUTTON_PRESS of Gdk.EventType. (Laszlo Pandy)
  • [gi] Fixed typo in exception (Sebastian Pölsterl)
  • [gi] Enable handling of Gdk.EventType.2BUTTON_PRESS and 3BUTTON_PRESS (Sebastian Pölsterl)
  • Revert "Fix Pango FontDescription override" (Martin Pitt)
  • Python iterator interface support for GFileEnumerator. (Tony Young)
  • Remove gio static bindings (Tomeu Vizoso)
  • [gi] set length when marshalling guint8 erases (Ignacio Casal Quinteiro)
  • Convert Gdk.Pixbuf to GdkPixbuf.Pixbuf (Sebastian Pölsterl)
  • Disable calls to PyGILState_* when threads are disabled (Arnaud Charlet)
  • pygi-convert.sh: Do not comment out set_cell_data_func() calls; these should be ported properly (Martin Pitt)
  • pygi-convert.sh: Fix match for adding missing imports (Martin Pitt)
  • pygi-convert.sh: Fix Gtk.Label handling to be idempotent (Martin Pitt)
  • Remove trailing whitespace from gi/overrides/Gtk.py (Laszlo Pandy)
  • Fix Pango FontDescription override (Martin Pitt)
  • tests: Respect existing $GI_TYPELIB_PATH (Martin Pitt)
  • Merge branch 'value' (Sebastian Pölsterl)
  • GTK overrides: Do type conversion to column types of ListStore and TreeStore in set_value (Sebastian Pölsterl)
  • Always register a new GType when a GObject class is subclassed (Steve Frécinaux)
  • Raise required versions of GLib and GObject-Introspection (Simon van der Linden)
  • pygi-convert.sh: Handle keysyms (Martin Pitt)
  • GLib overrides: Add test case for array variant building (Martin Pitt)
  • Remove cairo.RectangleInt from the foreign module (Tomeu Vizoso)
  • Dont try to guess the transfer if its a boxed (Tomeu Vizoso)
  • The tags can be Empty not None. (Ignacio Casal Quinteiro)
  • Add Pythonic iterators and indexing to GVariant (Martin Pitt)
  • Add GLib.Variant.unpack() (Martin Pitt)
  • Add override for gtk_text_buffer_insert_with_tags (Ignacio Casal Quinteiro)
  • Deduce PYTHON_LIBS in addition to PYTHON_INCLUDES (Simon van der Linden)
  • Kill JD_CHECK_PYTHON_HEADERS (Simon van der Linden)
  • Revert "Override Gtk.Box.pack_start and pack_end to set default values to be compliant with pygtk" (Sebastian Pölsterl)
  • Revert "Override Gtk.CellLayout.pack_start and pack_end to add default values to be compliant with pygtk" (Sebastian Pölsterl)
  • Revert "Override Gtk.TreeViewColumn.pack_start, pack_end and set_cell_data_func to add default values to be compliant with pygtk" (Sebastian Pölsterl)
  • pygi-convert.sh: Handle gtk.combo_box_new_text() (Martin Pitt)
  • Override TreeSortable.set_sort_func and set_default_sort_func to add default values to be pygtk compliant (Sebastian Pölsterl)
  • Override Gtk.TreeViewColumn.pack_start, pack_end and set_cell_data_func to add default values to be compliant with pygtk (Sebastian Pölsterl)
  • Override Gtk.CellLayout.pack_start and pack_end to add default values to be compliant with pygtk (Sebastian Pölsterl)
  • Override Gtk.Paned pack1 and pack2 to add default values to be compliant with pygtk (Sebastian Pölsterl)
  • Override Gtk.Box.pack_start and pack_end to set default values to be compliant with pygtk (Sebastian Pölsterl)
  • Handle GObject subclasses in the property helper. (Steve Frécinaux)
  • Fix handling of unicode for GtkTreeModels (Martin Pitt)
  • In IntrospectionModule and DynamicModule classes, make all instance attributes start with an underscore. (Laszlo Pandy)
  • Amend previous enum wrapping commit to remove redundant setting of __info__ attribute. (Laszlo Pandy)
  • pygi-convert.sh: Handle GdkPixbuf.InterpType (Martin Pitt)
  • Fix wrapping of enums: Create new Python type for each non-gtype enum. (Laszlo Pandy)
  • Use g_vfunc_info_invoke for chaining up in vfuncs (Tomeu Vizoso)
  • Move pyglib_{main_context, option_context, option_group}_new into _PyGLib_API (Simon van der Linden)
  • pygi-convert.sh: Handle Gdk.DragAction (Martin Pitt)
  • pygi-convert.sh: Generalize Gtk.Settings migration (Martin Pitt)
  • pygi-convert.sh: Don't change the name of "glib" submodules (Martin Pitt)
  • Plug another memory leak (Paolo Borelli)
  • Plug a small memory leak. (Paolo Borelli)
  • Override Table.attach() to behave like pygtk (Paolo Borelli)
  • pygi-convert.sh: Convert Pango.WrapMode (Martin Pitt)
  • pygi-convert.sh: Don't change the name of "gtk" submodules (Martin Pitt)
  • Fix the __dir__() methods on DynamicModule and IntrospectionModule (Laszlo Pandy)
  • pygi-convert.sh: handle ReliefStyle (Paolo Borelli)
  • setup.py: fix the provides keyword argument (Dieter Verfaillie)
  • setup.py: use the same spaces-less format for all setup() parameters (Dieter Verfaillie)
  • Add a __repr__() method to DynamicModule. (Laszlo Pandy)
  • Go back to using getattr() in DynamicModule.__getattr__ (Tomeu Vizoso)
  • Change __dir__() to report all the attributes that __getattr__ supports (Laszlo Pandy)
  • Bump the minimum gio dependency (Emilio Pozuelo Monfort)
  • Add test for incorrect attributes in Gdk.Event (Tomeu Vizoso)
  • Don't call getattr again in gi.overrides.Gdk.Event.__getattr__ (Simon van der Linden)
  • Release allocated array of arguments when handling closures (Mike Gorse)
  • Release GIValueInfo when checking an enum argument (Mike Gorse)
  • Respect different type lengths when assigning out-argument pointers. (Eitan Isaacson)
  • Fix stupid name clash (Tomeu Vizoso)
  • Add /usr/share to XDG_DATA_DIRS when running the tests (Tomeu Vizoso)
  • Comment out tests that require SRV lookups (Tomeu Vizoso)
  • Use suppresion file when running valgrind (Tomeu Vizoso)
  • Fix warnings. (Ignacio Casal Quinteiro)
  • Allow comparing Gtk.TreePath to None (Jesse van den Kieboom)
  • handle unicode objects in properties (John (J5) Palmieri)
  • dsextras.py: check if gcc is there when platform is win32 and compiler is mingw32 (Dieter Verfaillie)
  • dsextras.py: be consistent in how distutils imports are done (Dieter Verfaillie)
  • dsextras.py: add have_gcc() function (Dieter Verfaillie)
  • dsextras.py: use distutils.spawn.find_executable for have_pkgconfig() (Dieter Verfaillie)
  • setup.py: fix another case of use True/False instead of 1/0 (Dieter Verfaillie)
  • pygi-convert.sh: improve GtkSourceView conversion (Paolo Borelli)
  • pygi-convert.sh: Gtk.DialogFlags conversion (Paolo Borelli)
  • Doc Extractor: Print the gtk-doc blocks sorted by function name. (José Alburquerque)
  • pygi-convert.sh: add more Gtk conversions and sort (Paolo Borelli)
  • pygi-convert.sh: convert Atk (Paolo Borelli)
  • pygi-convert.sh: convert a few more Gio types (Paolo Borelli)
  • pygi-convert.sh: more GLib conversion (Paolo Borelli)
  • pygi-convert.sh: remove two cases handled by overrides (Paolo Borelli)
  • Override Gtk.ScrolledWindow constructor (Paolo Borelli)
  • pygi-convert.sh: Fix 'find' syntax (Paolo Borelli)
  • pygi-convert.sh: start handling Gio and GLib (Paolo Borelli)
  • pygi-convert.sh: convert Gdk.ScrollDirection. (Paolo Borelli)
  • Override Pango.Layout constructor. (Paolo Borelli)
  • Remove Pango.FontDescription() conversion. (Paolo Borelli)
  • Override GtkAction and GtkRadioAction constructors. (Paolo Borelli)
  • Override Adjustment constructor to behave like pygtk (Dmitrijs Ledkovs)
  • add secondary_text apis to MessageDialog (John (J5) Palmieri)
  • [gi] get rid of some debug prints and fix error messages (John (J5) Palmieri)
  • Fix demo for override changes. (Paolo Borelli)
  • Override Pango.FontDescription. (Paolo Borelli)
  • Stop checking that all vfuncs are implemented (Tomeu Vizoso)
  • Fix usage of TreeIter api that is now an override. (Paolo Borelli)
  • Fix Gtk.Label(label="Foo") (Paolo Borelli)
  • Fix typo when raising an exception (Paolo Borelli)
  • pygi-convert.sh: Added more conversions (Sebastian Pölsterl)
  • Override LinkButton constructor to make 'uri' mandatory (Paolo Borelli)
  • Container should be iterable. (Dmitry Morozov)
  • No need to import Gdk (Paolo Borelli)
  • Remove semicolumns (Paolo Borelli)
  • [gi] make sure Gtk.Button override passes all keywords to parent constructor (John (J5) Palmieri)
  • Fix cut&paste error in the Label override (Paolo Borelli)
  • pygi-convert.sh: handle TextWindowType (Paolo Borelli)
  • Override Label constructor to behave like pygtk (Paolo Borelli)
  • Override GtkTable constructor to behave like pygtk (Paolo Borelli)
  • pygi-convert.sh: convert MovementStep (Paolo Borelli)
  • Update Gdk overrides to work with latest Gtk+ 3 (Paolo Borelli)
  • Gtk: add an override for Gtk.main_quit (Johan Dahlin)
  • [gi] handle subtypes when inserting into tree models (John (J5) Palmieri)
  • Override TreeSelection.select_path and TreeView.scroll_to_cell (Paolo Borelli)
  • Override TreePath.__new__ (Paolo Borelli)
  • Override Container to behave like a sequence (Paolo Borelli)
  • refactor Jonathan Matthew recurse vfunc patch so it applys and clean up a bit (John (J5) Palmieri)
  • Recurse up through base classes when setting up vfuncs (Jonathan Matthew)
  • add a profiling torture test for when we fix up invoke (John (J5) Palmieri)
  • moved dynamic and base modules outside of gtk-2.0 directory (John (J5) Palmieri)
  • add test for inout argument count (John (J5) Palmieri)
  • [gi] add check for UNICHAR (John (J5) Palmieri)
  • Support gunichar (Paolo Borelli)
  • pygi-convert.sh: gtk.accel_map -> Gtk.AccelMap._ (Paolo Borelli)
  • pygi-convert.sh: handle "from gtk import gdk" (Paolo Borelli)
  • pygi-convert.sh: add some Pango special cases (Paolo Borelli)
  • Override TextIter (begins|ends|toggles)_tag() (Paolo Borelli)
  • Override TextBuffer.set_text() to make length optional (Paolo Borelli)
  • Override TextBuffer.create_mark() (Paolo Borelli)
  • Fix TextBuffer.get_selection_bounds() override (Paolo Borelli)
  • [gi] fix ActionGroup constructor to allow other keyword properties to be set (John (J5) Palmieri)
  • [gi] require the name parameter when creatin a Gtk.ActionGroup (John (J5) Palmieri)
  • Override UIManager.insert_action_group (Paolo Borelli)
  • Override TreeModel.get() to return a tuple (Paolo Borelli)
  • Make TreeSelection.get_selected_rows compatible with PyGtk (Paolo Borelli)
  • [gi] switch to using sequences/tuples when marshalling cairo_rectangle_int_t (John (J5) Palmieri)
  • [gi] overrides for treeview Drag and Drop (John (J5) Palmieri)
  • [gi] when encountering guint8 arrays treat them as byte arrays (John (J5) Palmieri)
  • pygi-convert.sh: Add pynotify -> Notify (Martin Pitt)
  • pygi-convert.sh: Remove sugar specifics, and allow command line file list (Martin Pitt)
  • pygi-convert.sh: Cover Message and Buttons types (Martin Pitt)
  • [gi] fix actiongroup test since actions are hashed (John (J5) Palmieri)
  • [gi] when converting to UTF-8 accept Python Unicode objects as input (Python 2) (John (J5) Palmieri)
  • Correct a bug in the freeing of memory in pygi-invoke.c. (Damien Caliste)
  • update news for release (John (J5) Palmieri)
  • 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)
  • Merge remote branch 'dieterv/setup-fixes-for-merge' (John Stowers)
  • 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)

New in PyGObject 2.21.5 (Jul 12, 2010)

  • Shut up some compiler warnings (Florian Müllner)
  • Adjust to API break in GObject-Introspection (Florian Müllner)
  • pass in the demo app so demos can use utility methods like requesting file paths (John (J5) Palmieri)
  • demo fixes to keep up with Gtk+ (John (J5) Palmieri)
  • override test fixes for new GTK+ annotations (John (J5) Palmieri)
  • Fix warning. (Ignacio Casal Quinteiro)
  • fix up treeiter usage due to caller-allocates annotations in gtk+ (John (J5) Palmieri)
  • add entry completion demo (John (J5) Palmieri)
  • string changes (John (J5) Palmieri)
  • add the Entry demo directory and the entry_buffer demo (John (J5) Palmieri)
  • fix loading of demo modules to support sub modules (John (J5) Palmieri)
  • add the ability to have demos in sub catagories (John (J5) Palmieri)
  • Add __name__ to DynamicModule class. (Jose Aliste)
  • Do not override GdkRectangle. (Ignacio Casal Quinteiro)
  • Add override for TreeModel implementing __len__() (Philip Withnall)

New in PyGObject 2.21.4 (Jun 29, 2010)

  • Build the cairo shim as a python module so the _gi module stops linking to it (Tomeu Vizoso)
  • add drawing area demo (John (J5) Palmieri)
  • sort the demo list (John (J5) Palmieri)
  • rename iter to treeiter so we aren't using a python reserved word (John (J5) Palmieri)
  • Fixup for change in buffer API (John (J5) Palmieri)
  • add ListStore, TreeStore and TreeViewColumn APIs (John (J5) Palmieri)
  • Add unit test for add_actions user data. (Ignacio Casal Quinteiro)
  • Pass user_data param when adding actions (Paolo Borelli)
  • add an exception type to the try/except block (John (J5) Palmieri)
  • return PyList instead of PyTuple for array, return empty list for NULL arrays (John (J5) Palmieri)
  • Fix 'make distcheck' (Tomeu Vizoso)
  • Allow building pygobject without introspection support by providing --disable-introspection to configure. (Tomeu Vizoso)
  • Make sure that sys.argv is a list and not a sequence. (Tomeu Vizoso)
  • Force loading the GObject typelib so we have available the wrappers for base classes such as GInitiallyUnowned. (Tomeu Vizoso)
  • we shouldn't g_array_free NULL pointers (John (J5) Palmieri)
  • remove unneeded TextIter creation in the tests (John (J5) Palmieri)
  • add override for TextBuffer (John (J5) Palmieri)
  • fix up some build issues (John (J5) Palmieri)
  • make the overrides file git friendly by appending to __all__ after each override (John (J5) Palmieri)
  • Override Dialog constructor and add_buttons method (Paolo Borelli)
  • Merge PyGI (Johan Dahlin)

New in PyGObject 2.21.3 (Jun 21, 2010)

  • Proper handling of null-ok in virtual methods (Ludovic L'Hours)
  • Fall back to use the floating references API in glib if there isn't a sinkfunc defined (Tomeu Vizoso)
  • Revert "Drop sinkfuncs." (Tomeu Vizoso)
  • [giounix] Make it possible to compile on glib 2.20 (Johan Dahlin)
  • Release the lock when potentially invoking Python code. (Sjoerd Simons)