Changelog — PyGObject

# Changelog

Versions with an odd minor version are unstable releases (e.g. 3.27.x) while versions with even minor version are stable releases (e.g. 3.28.x). This list is sorted by release date.

For more details see the GIT log: https://gitlab.gnome.org/GNOME/pygobject/commits/master

## 3.46.0 - 2023-09-10

- build: Drop Python 3.7 support !238

- build: Require glib 2.64 and gobject-introspection 1.64 !243

- Add support for Python 3.12 (minor test fixes) !247

- Drop GTK 2 support (after being effectively unsupported for 12 years) !182

- meson: Require meson 0.56.0 !220

- meson: Set PYTHONPATH in devenv !235

- meson: define pycairo_dep in case pycairo=disabled !242

- meson: Use pycairo from target python before pkg-config !223

- Complete the PEP-451 implementation in gi.importer !229

- Replace usage of deprecated FFI closure API !241

- Fix invalid marshalling in some cases for boxed values, for example with Gtk.StyleContext.get_property() !213

- Consistent setting of enum and flag property !192

- Fix docstring for methods that return an array and have a length (out) argument !249

- overrides: Fix incompatibility for CssProvider.load_from_data() (GTK 4.10) !231

- overrides: Allow Gdk.{Color,RGBA} instances to be compared with other objects !233

- overrides: Add overrides for Gdk.FileList in Gdk-4.0 !245

- docs: Fix underline too short warning !246

- docs: Fix build failure due to extlinks with Sphinx 6 !244

- docs: List additional projects using PyGObject !230

- docs: Update Development Environment Docs !232

- docs: Update docs and code examples to GTK 4 !215

## 3.44.1 - 2023-03-24

- Fix tests with glib 2.76 !240

## 3.44.0 - 2023-03-19

No changes compared to 3.43.1

## 3.43.1 - 2023-01-28

- Note: PyGObject is in need of more maintainers, please read https://www.bassi.io/articles/2022/12/02/on-pygobject/

- Note: This is an unstable release.

- Drop support for Python 3.6 !184

- meson: bump minimum version to 0.53.0 and update subprojects !227

- gimodule: fix floating state of python objects created with g_object_new !129

- Gtk.Template: Accept PathLike objects as a filename !195

- info: Show which type/object callables are bound to !194

- IntrospectionModule: handle two threads loading type at same time !149

- Port to Py_TRASHCAN_BEGIN !226

- Other cleanups/improvements: !181 !173

- This release also includes all changes from 3.42.1 and 3.42.2

## 3.42.2 - 2022-07-16

- Error out instead of crashing when marshaling unsupported fundamental types in some cases !180

- Add a workaround for a PyPy 3.9+ bug when threads are used !200

- Fix crashes when marshaling zero terminated arrays for certain item types !191

- Fix a crash/refcounting error in case marshaling a hash table fails !191

- Make the test suite pass again with PyPy !191

- tests: support running tests with (MSVC) CPython 3.8+ on Windows !206

- interface: Fix leak when overriding GInterfaceInfo !204

- setup.py: look up pycairo headers without importing the module (helps with building on Windows and MSVC CPython 3.8+) !205

## 3.42.1 - 2022-04-17

- Do not error out for unknown scopes !179

- gtk overrides: restore Gtk.ListStore.insert_with_valuesv with newer gtk4 #467

- gtk overrides: Do not override Treeview.enable_model_drag_xx for GTK4 !175

- Implement DynamicImporter.find_spec() to silence a deprecation warning with Python 3.10 #473

- Some test/CI fixes

## 3.42.0 - 2021-09-19

- meson: Bump minimum meson_version to 0.47.0

- Expose GObject.Object.run_dispose() #470

- docs: document Gtk.Template. #396

- dev: Add poetry support

- meson: use main branch for glib subproject

- Fix some small memory leaks !178

## 3.40.1 - 2021-03-30

- Fix tests with glib 2.68 !166

- Fix a regression with marshalling partial() objects !165 #464

## 3.40.0 - 2021-03-19

- GTK 4 compatibility fixes !148 !159 !144 !145

- Python 3.9 and 3.10 compatibility fixes !152 !156

- New minimal dependency requirements due to dropping support for Ubuntu 16.04 !151 * Python 3.6+ * glib 2.56+ * gobject-introspection 1.56+ * pycairo 1.16+

## 3.38.0 - 2020-09-12

- Python 2 is no longer supported.

  Note for distros/packagers:

    In case you want to keep Python 2 support you’ll likely split any existing package into a Python 2 and 3 version. Since these aren’t parallel installable here are some recommendations on how to make it work:

    - Build the devel package from the Python 3 source package

    - Drop the headers/.pc files from the Python 2 build/package

    - Make sure no Python 2 using package depends on the devel package (@Arch: gnumeric can be build without Python support for example)

    See #392 for details

- meson: Make the pycairo option a feature !146 !147

- gdk overrides: Fix wrapping of scroll events !141

- Add overrides for Gtk.Button set/get_focus_on_click !132

## 3.36.1 - 2020-05-06

- tests: Fix failing tests with pytest 5.4.0+

- Gtk: Add override to make sure both TreeModelSort.new_with_model and TreeModel.sort_new_with_model exist independend of the gtk version

- Gtk.Template: Fix initialisation order errors with Widgets getting created from C (potentially through other templates) #257 #386 #341 !140 (Jean Felder)

- Gtk.Template: Fix errors when calling init_template() multiple times !140 (Jean Felder)

## 3.36.0 - 2020-03-08

This will be the last release supporting Python 2.

- pygobject-object: Avoid checking whether NULL is floating !135 (Alexandru Băluț)

- Avoid various new glib deprecation warnings

- Port to g_object_new_with_properties()

- Drop Python 2 support on Windows

- gtk overrides: Drop Menu, MenuItem for Gtk 4 (Marinus Schraal)

- Docs:

  - Update openSUSE instructions (sharkwouter)

  - Add Gaphor to Who is Using PyGObject (Dan Yeaw)

  - Remove reference to a fixed bug (Christian Stadelmann)

## 3.34.0 - 2019-09-09

- No changes since 3.33.1

## 3.33.1 - 2019-08-18

- Make GLib.Variant.unpack a bit less costly !121 (Mathieu Bridon)

- pygobject: ignore GParameter deprecations !122 (Christian Hergert)

- pygobject-object: fix refcount of floating return values !120 (Mathieu Duponchelle)

- pygi-info: remove some dead code #303

## 3.32.2 - 2019-06-23

- Python 3.8b1 compatibility fixes

- tests: fix a test error when run under wayland

- setup.py: specify python_requires

## 3.30.5 - 2019-06-16

- tests/gimarshallingtestsextra.c/h: relicense to LGPLv2.1+ #320

- Fix a crash when marshalling a GError to Python fails !115

- Fix leak of transfer-full/container C arrays !117 (Tomasz Miąsko)

- Python 3.8b1 compatibility fixes

## 3.32.1 - 2019-04-20

- tests/gimarshallingtestsextra.c/h: relicense to LGPLv2.1+ #320

- meson: add `tests` option for disabling tests !113 (Adam Duskett)

- meson: tests: pass `--quiet` to g-ir-scanner !114 (Tim-Philipp Müller)

- Fix a crash when marshalling a GError to Python fails !115

- Fix leak of transfer-full/container C arrays !117 (Tomasz Miąsko)

## 3.32.0 - 2019-03-10

- No changes since 3.31.4

## 3.31.4 - 2019-03-07

- docs: document GObject.Object.weak_ref() #245

- cairo: Add cairo pattern foreign struct support !111 (Renato Florentino Garcia)

- cairo: Add cairo_matrix_t converter to GValue !112 (Renato Florentino Garcia)

## 3.31.3 - 2019-02-02

- Speed up destruction of boxed types !106 and GObject.Value.set_value() calls. This makes appending to a Gtk.TreeModel nearly twice as fast for example #46, #218

- Allow passing None for boolean parameters

- meson: Install .egg-info directory to arch’d dir. !109 (Elliott Sales de Andrade)

- gtk overrides: raise in case Gtk.Window is instantiated after gtk_init failed #298

- gio overrides: Warn when creating various dbus types without a constructor #15

- tests: Fix tests with glib 2.59.x #287

- tests: fix test_atoms failing in some environments #300

## 3.31.2 - 2018-12-15

- Changes included in 3.30.4

- 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() !105 (Tomasz Miąsko)

## 3.30.4 - 2018-11-30

- gtk overrides: Fix rows getting inserted on the wrong level with TreeStore.insert_before/insert_after if parent=None. #281 (3.30 regression, thanks to Cian Wilson for the report)

## 3.30.3 - 2018-11-27

- GValue: fall back to the custom C marshaller to support fundamental types. This makes GValue work with GstFraction. #280

- 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. #267

## 3.31.1 - 2018-11-17

- Changes included in 3.30.2

- overrides: add Pango.Layout.set_text() override. #259 !89

- docs: link updates !93 (tijder)

- overrides: Use functools.wraps instead of custom version. #271 !95 (Kai Willadsen)

- 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. #250

## 3.30.2 - 2018-11-11

- 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. #255

- Various meson/distutils build fixes for MSVC. !91 (Chun-wei Fan)

- foreign-cairo: Fix cairo marshalling not using the foreign converters in some cases. #260

- build: setup.py reproducible build fixes. !94 (Bernhard M. Wiedemann)

## 3.30.1 - 2018-09-14

- Fix various crashes on big endian systems. #247 (Dan Horák)

- meson: Don’t link against libpython on non-Windows systems. #253 !84

## 3.30.0 - 2018-08-31

- Various test suite fixes to get things to pass with Ubuntu 18.10.

## 3.29.3 - 2018-08-16

- meson: Support building pycairo as a subproject. !76

- meson: Declare_dependency for use by potential superprojects (Mathieu Duponchelle)

- meson: Update glib wrap file. !80 (Carlos Soriano)

- meson: Fix the Python 2 build not not use the system pycairo extension when running tests. #242

- pygi-convert.sh: Various fixes and updates. !77 !78 (Sander Sweers)

- Gtk.Template: Fix instantiation error when using the new code with older PyGObject. !79 (Kai Willadsen)

- Gtk.Template: Don’t error out when loading a resource that is only available in an overlay. #230

- Fix various crashes when running against a debug Python 3.7 build. !82 (Simon McVittie)

- overrides: Allow calling GObject.Binding.unbind() multiple times with GLib 2.58+. #240

- overrides: Gio.ListStore overrides use splice() when adding/removing many items with GLib 2.58+. #115 !83

- Work around pylint reporting bogus warnings regarding a missing self argument for normal functions. #217

- Add override for GdkPixbuf.Pixbuf.new_from_data() to wrap new_from_bytes() to work around a use after free. #225 !74

## 3.28.3 - 2018-05-31

- Fix Gio.Application leak in case no signal handler is set before. #219

- Squash critical warning when using array as hash value (Philip Withnall)

## 3.29.2 - 2018-05-16

- Add a meson build system. #165 (Mathieu Duponchelle)

- Gtk.Template: Allow marking children as “internal-child”. !58

- Gio.ListModel: implement most of the mutable sequence protocol. #115 !59

- Gio.Settings: implement __iter__.

- Gio.Settings: support range types in __setitem__. #134

- Add overrides for Gio.ListStore.sort and Gio.ListStore.insert_sorted. #130

- Make Gtk.Widget.freeze_child_notify a context manager. #45

- OptionParser.parse_args: return leftover arguments. #200

- Release the GIL when emitting a signal. !66 (John Bassett <john.bassett@pexip.com>)

- Add ActionMap and ActionMap.add_action_entries() to overrides. #29 !65 (yangfl)

- importer: raise ImportError in load_module() and not find_module(). #213

- Don’t wrap GValue in GValue when creating GValueArray. !66 (Stian Selnes <stian@pexip.com>)

- ossig: Don’t leak the callbacks in case the event loops are not stopped through SIGINT. #219 !72

- Various fixes (Havard Graff <havard.graff@gmail.com>)

- Destroy custom GLib.Source instances when they get freed. #193

- 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__. !66

Documentation:

  - Added StackOverflow (with PyGObject tag) as an contact resource. (buhtz)

  - Add introduction to handling GLib.Error. !68 (Kai Willadsen)

  - Add pycairo requires for development setup. !70 (Kai Willadsen)

## 3.29.1 - 2018-04-15

- Support for PyPy and PyPy3. #180

- cairo: support `cairo.Matrix` conversion. #16

- Speed up repeated closure creation by caching the closure cache in the argument cache #103 (Garrett Regier, Christoph Reiter)

- setup.py: make setuptools/pkg_resources optional. #186

- setup.py: print installation instructions in case a dependency is missing. #194

- Remove autotools build system.

- overrides: Make `Gtk.ListStore.insert_before()`, `Gtk.ListStore.insert_after()`, `Gtk.TreeStore.insert_before()` and `Gtk.TreeStore.insert_after()` atomic.

- Make `GLib.Error` picklable. #145

- Add basic support for template based widgets through `Gtk.Template`. #52

- Various documentation improvements. !29 (Dan Yeaw)

- Add PEP518/pyproject.toml file. !44 (James Tocknell)

- Avoid truncating value returned from g_value_info_get_value. !51 (Tomasz Miąsko)

- Fix typo in BoundSignal disconnect. !55 (Vladislav Glinsky)

## 3.28.2 - 2018-03-27

- setup.py: Don’t install the test C extension when it’s built. #181

- setup.py: Always define PY_SSIZE_T_CLEAN. #185

- Fix __str__ return type of Gtk.TreePath with depth == 0. #143

- Fix a crash when setting a str property with a value containing surrogates. #169

- tests: Fix a potential crash during tests

## 3.28.1 - 2018-03-17

- Fix a GValue leak (regression). #176 (Mathieu Duponchelle)

- setup.py: don’t install the tests package

- Various fixes for 64bit Windows. !34 (Mathieu Duponchelle)

- Fix tests with glib 2.56.0

- Various fixes for Python 3.7. #170 !28

## 3.28.0 - 2018-03-12

- GLib.Variant: Fix creation of guchar arrays from bytes (3.27.2 regression). #174 !30

## 3.27.5 - 2018-03-01

- Re-revert transfer-none boxed copy changes (!23). Now with more fixes and tests. !24 (Mathieu Duponchelle)

- Add caching for boxed type lookup and try to avoid the import lock. !13 (Mikhail Fludkov)

## 3.27.4 - 2018-02-14

- tests: Fix tests under Wayland. #163

- tests: Make it possible to use pytest directly.

- Reverted transfer-none boxed copy changes (!10) due to regressions in gnome-music. #164 !23

## 3.27.3 - 2018-02-10

- Fix a 3.27.2 regression where functions return invalid boxed values. !16 (thanks to Mikhail Fludkov for providing a test)

- tests: Make tests run without Gtk/Gdk installed. !17 (Mikhail Fludkov)

- tests: Remove dependency on `localedef`. 64b02e301

- tests: Require/Use pytest. !20 #153

## 3.27.2 - 2018-02-07

- setup.py: Add a “quality” command which is equal to “make check.quality”.

- setup.py: Add a “test” command which is equal to “make check”. !5

- setup.py: Install pkg-config and header files.

- setup.py: Improve pycairo header lookup with pycairo >=1.16. #150

- autotools: “make check.quality” now requires flake8.

- overrides: Fix `Gtk.Adjustment.__init__()` overrides not setting “value” sometimes. #151 !3

- overrides: `GLib.Variant`: add support to create maybe types. #152 !4 (Alberto Ruiz)

- Make it possible to resolve ambiguous vmethod names. Ambiguities can be resolved by implementing methods named “do_$namespaced_base_class_name_$vfunc_name”. !9 #105 (Mathieu Duponchelle)

- Fix setting a property installed in Python from C in some cases. !8 (Mathieu Duponchelle)

- pygobject-object: fix memory corruption around list of closures. !12 #158 (Mikhail Fludkov)

- Don’t copy the boxed if we are the sole owner of the wrapper after a closure. !14

- Only copy transfer-none boxed values in closures once the closure exists. This allows modifying the passed boxed while allowing to keep the wrapper around after the closure is done. !10 (Mathieu Duponchelle)

## 3.27.1 - 2017-12-11

- 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) (bz#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)

## 3.27.0 - 2017-12-08

- demo: pep8 fixes (Christoph Reiter)

- Fix ctypes.PyDLL construction under Windows (Christoph Reiter) (bz#622084)

- configure.ac: Error out in case autoconf-archive isn’t installed (Christoph Reiter) (bz#784428)

- Move pygi-convert.sh into tools (Christoph Reiter)

- README: Convert to reST (Christoph Reiter)

- demo: Move demo into examples and dist it (Christoph Reiter) (bz#735918)

- demo: Add new Gtk.FlowBox example (Gian Mario Tagliaretti) (bz#735918)

- demo: Use HeaderBar for main app window (Simon Feltman) (bz#735918)

- demo: PyFlakes and PEP8 fixes (Simon Feltman) (bz#735918)

- demo: Rename gtk-demo.py to demo.py (Simon Feltman) (bz#735918)

- demo: Rename demos/gtk-demo to simply demo (Simon Feltman) (bz#735918)

- Remove AUTHORS file (Christoph Reiter)

- Remove pre-commit.hook (Christoph Reiter)

- setup.py: Port to distutils/setuptools (Christoph Reiter) (bz#789211)

- Install a default SIGINT handler for functions which start an event loop (Christoph Reiter) (bz#622084)

- Make Python OS signal handlers run when an event loop is idling (Christoph Reiter) (bz#622084)

- Drop Python 3.3 support (Christoph Reiter) (bz#790787)

- Drop set_value usage in Gtk.List/TreeStore.set override (Sander Sweers) (bz#790346)

- pygobject-object: Fix Python GC collecting a ref cycle too early (Christoph Reiter) (bz#731501)

- Fix potential uninitialized memory access during GC (Daniel Colascione) (bz#786872)

- test: revert parts of the previous test as it’s broken on 32 bit builds (Christoph Reiter) (bz#786948)

- flags: Add testcase for bug 786948 (Christoph Reiter) (bz#786948)

- fix potential overflow when marshalling flags from py interface (Philippe Renon) (bz#786948)

- to_py_array: Properly handle enum array items (Christoph Reiter) (bz#788890)

- pygobject.doap: Add myself as maintainer (Christoph Reiter)

- closure: Fix unaligned and out-of-bounds access (James Clarke) (bz#788894)

- build: Fix not installing .egg-info file (Christoph Reiter) (bz#777719)

- Drop pygobject-3.0-uninstalled.pc file (Christoph Reiter)

- tests: Windows fix (Christoph Reiter)

- tests: some more C locale fixes (Christoph Reiter)

- tests: Make the test suite pass with the C locale (Christoph Reiter)

- configure.ac: post-release version bump to 3.27.0 (Christoph Reiter)

## 3.26.1 - 2017-10-27

- pygobject-object: Fix Python GC collecting a ref cycle too early (Christoph Reiter) (bz#731501)

- Fix potential uninitialized memory access during GC (Daniel Colascione) (bz#786872)

- test: revert parts of the previous test as it’s broken on 32 bit builds (Christoph Reiter) (bz#786948)

- flags: Add testcase for bug 786948 (Christoph Reiter) (bz#786948)

- fix potential overflow when marshalling flags from py interface (Philippe Renon) (bz#786948)

- to_py_array: Properly handle enum array items (Christoph Reiter) (bz#788890)

- closure: Fix unaligned and out-of-bounds access (James Clarke) (bz#788894)

- build: Fix not installing .egg-info file (Christoph Reiter) (bz#777719)

- configure.ac: version bump to 3.26.1 (Christoph Reiter)

## 2.28.7 - 2017-10-13

- Move property and signal creation into _class_init() (Martin Pitt)

- gio-types.defs: change some enums to flags (Ryan Lortie)

- Fix set_qdata warning on accessing NULL gobject property (Ivan Stankovic)

- Disable introspection support by default (Dieter Verfaillie)

- Don’t install codegen for Python 3 (Arfrever Frehtes Taifersar Arahesis)

- Ship tests/te_ST@nouppera in release tarballs for tests to succeed (Martin Pitt)

- [gi] Port test_properties from static gio to GI Gio (Martin Pitt)

- [python3] fix build. PYcairo_IMPORT doesn’t exists anymore (Ignacio Casal Quinteiro)

- [python3] Fix maketrans import (Martin Pitt)

- [gi-overrides] fix MessageBox so it correctly handles the type constructor param (John (J5) Palmieri)

- gdbus tests: Fix hang if test case fails (Martin Pitt)

- Fix crash in Gtk.TextIter overrides (Martin Pitt)

- correctly initialize the _gi_cairo_functions array to be zero filled (John (J5) Palmieri)

- [gtk-override] print warning if user imports Gtk 2.0 (John (J5) Palmieri)

- Add support for enums in gobject.property (Johan Dahlin)

## 3.26.0 - 2017-09-12

- 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) (bz#781582)

- configure.ac: post-release version bump to 3.25.2 (Christoph Reiter)

## 3.25.1 - 2017-04-21

- Bump pycairo requirement to 1.11.1 (Christoph Reiter) (bz#707196)

- configure.ac: Always disable -Werror (Christoph Reiter)

- foreign-cairo: Enable cairo.Region support also on Python 2 if available (Christoph Reiter)

- configure.ac: remove unused PLATFORM variable (Christoph Reiter)

- configure.ac: Remove unused PySignal_SetWakeupFd check (Christoph Reiter)

- tests: remove python 2.5/3.2 compat code (Christoph Reiter)

- configure.ac: Require Python 3.3 (Christoph Reiter)

- tests: Make test suite run with GTK+ 4 (Christoph Reiter)

- tests: always call require_version; add TEST_GTK_VERSION env var (Christoph Reiter)

- tests: Fix make check.valgrind (Christoph Reiter)

- tests: Don’t skip Regress tests when cairo is missing (Christoph Reiter)

- tests: fix invalid regex escaping (Christoph Reiter)

- tests: avoid mapping a GtkWindow (Christoph Reiter) (bz#780812)

- tests: silence some glib deprecation warnings (Christoph Reiter) (bz#780812)

- tests: avoid deprecation warnings for assertRegexpMatches/assertRaisesRegexp (Christoph Reiter) (bz#780812)

- pygi-source: clear exceptions in finalize handler (Christoph Reiter) (bz#780812)

- Fix pep8 errors (Christoph Reiter)

- Remove gi._gi._gobject and gi._gobject modules (Christoph Reiter) (bz#735206)

- Remove gi._gi._glib module (Christoph Reiter) (bz#735206)

- GValue: add overflow checking for py -> gint; forward marshaling exceptions (Christoph Reiter) (bz#769789)

- pygobject_lookup_class: clear exceptions between calls and don’t return with one set (Christoph Reiter) (bz#773394)

- Avoid some new deprecation warnings (Christoph Reiter) (bz#780768)

- Raise RuntimeError in case an uninitilialized GObject.Object is marshaled (Christoph Reiter) (bz#730908)

- closure: support unichar args (Christoph Reiter) (bz#759276)

- Add support for bytes and non-utf-8 file names. (Christoph Reiter) (bz#746564)

- test_gi: use correct min/max constants for gsize/gssize (Christoph Reiter) (bz#780591)

- Don’t use long format string for formatting pointers (Christoph Reiter) (bz#780591)

- Fix conversion from pointers to hashfunc return values. (Christoph Reiter) (bz#780591)

- Fix PyLong <-> GPid conversion on 64bit Windows (Christoph Reiter) (bz#780591)

- property: support setting flags (Christoph Reiter) (bz#726484)

- overrides: warn on instantiation of Gio.VolumeMonitor (Christoph Reiter) (bz#744690)

- Remove gi.overrides.overridefunc (Christoph Reiter) (bz#686835)

- tests: Reduce usage of timeout_add() and sleep() (Christoph Reiter) (bz#698548)

- tests: Remove TestMainLoop.test_concurrency (Christoph Reiter) (bz#698548)

- Update .gitignore: add `*.dll`, `*.dylib`, `.DS_STORE` (Christoph Reiter)

- tests: Make test suite run on Windows (Christoph Reiter) (bz#780396)

- tests: Make test suite run on macOS (Christoph Reiter) (bz#780396)

- Fix various compiler warnings for 32bit builds (Christoph Reiter) (bz#780409)

- pep8 fix (Christoph Reiter)

- testhelper: only link against libpython on Windows (Christoph Reiter) (bz#773803)

- overrides: Fix Gtk.TextBuffer.insert_with_tags_by_name() with no tags (Garrett Regier) (bz#772896)

- Make use of instance-argument annotations (Christoph Reiter) (bz#735076)

- Remove pyglib_gil_state_ensure/pyglib_gil_state_release (Christoph Reiter) (bz#699440)

- Remove support for building without threads (Christoph Reiter) (bz#699440)

- pygtkcompat: Allow multiple calls to enable(), enable_gtk() as long as the version matches (Christoph Reiter) (bz#759009)

- tests: Update Makefile for building tests on OS X (Simon Feltman) (bz#762176)

- testhelper: propagate exception if _gobject could not be imported (Mikhail Fludkov) (bz#772949)

- pygi-info: initialize GIArgument before passing it to g_constant_info_get_value (Christoph Reiter) (bz#772949)

- tests: build libregress with disabled cairo (Mikhail Fludkov) (bz#772949)

- tests: use g-ir utils found by pkg-config (Mikhail Fludkov) (bz#772949)

- Add a foreign type for cairo_region_t. (Shyouzou Sugitani) (bz#667959)

- aclocal: make local file discover by reading AC_CONFIG_MACRO_DIR work (Christoph Reiter) (bz#777713)

- Port from gnome-common to autoconf-archive (Christoph Reiter) (bz#777713)

- Fix various potential compiler warnings (Christoph Reiter) (bz#777713)

- configure.ac: post-release version bump to 3.25.0 (Christoph Reiter)

- Remove egg make target (Christoph Reiter) (bz#777719)

- Remove legacy docs (Christoph Reiter) (bz#777719)

## 3.24.1 - 2017-04-10

- pygi-info: initialize GIArgument before passing it to g_constant_info_get_value (Christoph Reiter) (bz#772949)

- configure.ac: post-release version bump to 3.24.1 (Christoph Reiter)

## 3.24.0 - 2017-03-20

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

## 3.23.92 - 2017-03-13

- overrides: Update for Gdk-4.0 and Gtk+-4.0 (Fabian Orccon) (bz#777680)

- Disable -Werror=missing-prototypes (Christoph Reiter) (bz#777534)

- Fix new PEP8 errors (Christoph Reiter) (bz#776009)

- Move pep8/pyflakes tests from ‘make check’ to ‘make check.quality’ (Christoph Reiter) (bz#764087)

- overrides: Update for Gtk-4.0 (Christoph Reiter) (bz#773315)

- Handle exception unreffing Variant at exit (Dan Nicholson) (bz#776092)

- Handle multiple deinit of callable cache (Dan Nicholson) (bz#776092)

- configure.ac: post-release version bump to 3.23.0 (Christoph Reiter)

## 3.22.0 - 2016-09-19

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

## 3.21.92 - 2016-09-11

- Handle nullable filename parameters (Christoph Reiter) (bz#770821)

- Fix list/hashtable enum <-> hash conversion on 64-bit big endian (Aurelien Jarno) (bz#770608)

- Allow passing sockets to io_add_watch on win32 (Lukas K) (bz#766396)

- tests: use dbus-run-session instead of dbus-launch to run tests (Michael Biebl) (bz#770798)

- configure.ac: post-release version bump to 3.21.92 (Christoph Reiter)

## 3.21.91 - 2016-08-25

- Allow installing with pip (Mathieu Bridon) (bz#767988)

- Skip a test with older glib (Christoph Reiter) (bz#740301)

- Fix a test with Python 3.1/3.2 (Arfrever Frehtes Taifersar Arahesis, Christoph Reiter) (bz#740324)

- tests: Use places kwarg for assertAlmostEqual (Arfrever Frehtes Taifersar Arahesis, Christoph Reiter) (bz#740337)

- Print exception if marshalling a signal argument fails (Christoph Reiter) (bz#748198)

- overrides: allow treemodel sequence shorthands (Marinus Schraal) (bz#766580)

- Remove pygobject-external.h (Christoph Reiter) (bz#767084)

- Remove pygobject-private.h and rename pygobject.c to pygobject-object.c (Christoph Reiter) (bz#767084)

- Merge pyglib-private.h into pyglib.h (Christoph Reiter) (bz#767084)

- Remove pygi.h and pygi-private.h (Christoph Reiter) (bz#767084)

- configure.ac: post-release version bump to 3.21.1 (Simon Feltman)

## 3.21.0 - 2016-04-24

- gi: Add require_versions() function (Dustin Falgout) (bz#761141)

- test_gerror_novalue: Don’t assign the error to a variable (Iain Lane) (bz#764165)

- build: Do not enable code coverage based on lcov (Emmanuele Bassi) (bz#764075)

## 3.20.1 - 2016-04-24

- test_gerror_novalue: Don’t assign the error to a variable (Iain Lane) (bz#764165)

## 3.20.0 - 2016-03-21

## 3.19.92 - 2016-03-15

## 3.19.91 - 2016-03-01

- Fix marshaling of GError stored in GValue (Simon Feltman) (Thibault Saunier) (bz#761592)

- Fix marshaling or GError from Python to C from function calls (Simon Feltman) (bz#685197)

- Error handling/reporting fixes (Christoph Reiter) (bz#751956)

- Fix crash due to GVariant implemented as PyGBoxed not PyGIStruct (Christoph Reiter) (bz#751956)

- Fix crash with GValueArray stored in GValue (Mikhail Fludkov) (bz#754359)

## 3.19.90 - 2016-02-20

- tests: Set the active style context state before retrieving values (Simon Feltman)

- tests: Fix crash with empty drag source icon names (Simon Feltman) (bz#762392)

- Try to import GdkX11 in Gdk overrides (Christoph Reiter) (bz#673396)

- Fix import warnings pointing to the wrong code with CPython 3.3/3.5 (Christoph Reiter) (bz#757184)

## 3.19.2 - 2015-10-31

- tests: Fix failure due to new GTK+ warning regarding size_allocate() (Simon Feltman)

- Fix build warnings regarding _POSIX_C_SOURCE redefinition (Simon Feltman)

- Drop -std=c90 for now (Matthias Clasen)

## 3.19.1 - 2015-10-30

- Use a named tuple for returning multiple values (Christoph Reiter) (bz#727374)

- enum/flags: use gir info for type names and __repr__ instead of the gtype name (Christoph Reiter) (bz#657915)

- Improve and unify __repr__ format for PyGObject, PyGBoxed and PyGIStruct (Christoph Reiter) (bz#657915)

- Don’t leak internal RepositoryError on import. (Christoph Reiter) (bz#756033)

- Import dependencies when importing typelibs from gi.repository (Christoph Reiter) (bz#656314)

- Fix Gdk.rectangle_intersect/rectangle_union missing with GTK+ 3.18 (Christoph Reiter) (bz#756364)

- Don’t import inspect at module level (Christoph Reiter)

- invoke state: add a free memory cache for PyGIInvokeArgState (Christoph Reiter) (bz#750658)

- invoke/closure: reduce g_slice_alloc usage (Christoph Reiter) (bz#750658)

- pep8: ignore new errors reported by pep8 1.6 (Christoph Reiter)

- Bump g-i dependency to latest stable (Garrett Regier)

- Avoid calling g_slist_length() during invoke (Garrett Regier)

- Simplify closure_convert_arguments() (Garrett Regier)

- Remove a level of indentation in convert_ffi_arguments() (Garrett Regier)

- Prevent passing the user data multiple times to callbacks (Garrett Regier) (bz#750347)

- Support throwing exceptions in closures (Garrett Regier) (bz#710671)

- Don’t emit require_version warning if namespace was loaded previously using g_irepository_require (Christoph Reiter) (bz#754491)

- configure.ac: post release version bump to 3.19.1 (Garrett Regier)

## 3.18.2 - 2015-10-24

- configure.ac: post release version bump to 3.18.2 (Christoph Reiter)

## 3.18.1 - 2015-10-23

- Fix Gdk.rectangle_intersect/rectangle_union missing with GTK+ 3.18 (Christoph Reiter) (bz#756364)

- pep8: ignore new errors reported by pep8 1.6 (Christoph Reiter)

- Don’t emit require_version warning if namespace was loaded previously using g_irepository_require (Christoph Reiter) (bz#754491)

- configure.ac: post release version bump to 3.18.1 (Garrett Regier)

## 3.18.0 - 2015-09-22

## 3.17.90 - 2015-08-19

- Allow passing unicode lists to GStrv properties on Python 2 (Christoph Reiter) (bz#744745)

- Avoid a silent long to int truncation (Rui Matos) (bz#749698)

- Handle gtype marshalling (Mathieu Bridon) (bz#749696)

- pygi-foreign-cairo.c: fix include for py3cairo.h (Daniel Hahler) (bz#746742)

- tests: Silence various error messages and warnings (Christoph Reiter) (bz#751156)

- Fix test regression when xdg-user-dirs is not installed (Christoph Reiter) (bz#751299)

- Explicitly check if an override exists instead of ImportError (Garrett Regier) (bz#749532)

## 3.17.1 - 2015-06-15

- Add gi.PyGIWarning used when import version is not specified (Christoph Reiter) (bz#727379)

- Remove Gdk.Rectangle alias with newer gobject-introspection and GTK+ (Christoph Reiter) (bz#749625)

- overrides: Provide _overrides_module attribute (Christoph Reiter) (bz#736678)

- overrides: Conditionalize touch override support in Gdk (Simon Feltman) (bz#747717)

- Field setters: Remove unneeded type/range checks and unused code (Christoph Reiter) (bz#746985)

- pygi-argument: Remove unused imports/includes (Christoph Reiter) (bz#746985)

- Improve test coverage for field setters/getters (Christoph Reiter) (bz#746985)

## 3.16.2 - 2015-06-15

- overrides: Provide _overrides_module attribute (Christoph Reiter) (bz#736678)

## 3.16.1 - 2015-04-13

- overrides: Conditionalize touch override support in Gdk (Simon Feltman) (bz#747717)

## 3.16.0 - 2015-03-24

## 3.15.91 - 2015-03-05

- tests: Don’t use deprecated override attributes (Christoph Reiter) (bz#743514)

- Add GLib.MINFLOAT etc. and mark GObject.G_MINFLOAT etc. deprecated (Christoph Reiter) (bz#743514)

- Emit PyGIDeprecationWarning when accessing deprecated override attributes (Christoph Reiter) (bz#743514)

- Add namespace and container name to all warnings/error messages (Christoph Reiter) (bz#743468)

- tests: Add test for GIRepository.UnionInfo.get_size() (Garrett Regier) (bz#745362)

- Avoid duping filenames when marshalling from Python to C (Garrett Regier) (bz#744719)

## 3.15.0 - 2015-02-20

- Avoid copying bytearrays from Python to C when transfer nothing (Garrett Regier) (bz#743278)

- Allows passing arguments to opaque Boxed types (Garrett Regier) (bz#743214)

- Emit ImportWarning when gi.require_version() is not used (Christoph Reiter) (bz#727379)

- Refactor overrides import/modules (Christoph Reiter) (bz#736678)

- Replace statically bound GLib.Variant.new_tuple() with GI (Simon Feltman) (bz#735199)

- overrides: Add Gdk.EventTouch union discrimination (Simon Feltman) (bz#736380)

- PyGObjectFlags: Remove a trailing comma on the enum. (Murray Cumming)

- Remove redefinitions of function and vfunc cache typedefs (Simon Feltman) (bz#737874)

## 3.14.0 - 2014-09-22

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

## 3.13.92 - 2014-09-15

- tests: Add test for Gio.Application.add_main_option() (Simon Feltman)

- tests: Split up various test cases (Simon Feltman) (bz#735193)

- Fix invalid read error in argument cleanup code (Simon Feltman)

- Fix memory management problems with struct arguments to signals (Simon Feltman) (bz#736175)

## 3.13.91 - 2014-09-01

- docs: Fix return types in auto-generated doc strings (Simon Feltman)

- Special case signal output arguments which are structs as pass-by-reference (Simon Feltman) (bz#735486)

- Ignore closure callbacks when Python is not initialized (Simon Feltman) (bz#722562)

- Change boxed init with args to warn instead of raise (Christoph Reiter) (bz#727810)

- Fix crash in GList/GSList marshaling error handling path. (Christoph Reiter) (bz#735201)

- Fix reference counting problems with GLib.Variant.new_tuple() (Simon Feltman) (bz#735166)

- Skip marshalling NULL output arguments in Python closures (Simon Feltman) (bz#735090)

## 3.13.90 - 2014-08-18

- Support array lengths on struct fields (Simon Feltman) (bz#688792)

- Fast path Python property get access (Simon Feltman) (bz#723872)

- Unify accessing properties through props and get_property() (Simon Feltman) (bz#726999)

- Refactor boxed wrapper memory management strategy (Simon Feltman) (bz#726999)

- Replace GObject.signal_query with introspected version (Simon Feltman) (bz#688792)

- Fix memory leak with unboxed caller allocated structs (Simon Feltman)

- tests: Add failing tests for GObject sub-class doc-strings (Piotr Iwaniuk) (bz#731452)

- Don’t mask GObject sub-class doc strings in meta-class (Tobias Mueller) (bz#731452)

## 3.13.4 - 2014-08-14

- Marshaling cache refactor and cache usage in vfuncs (Garrett Regier) (bz#727004)

- Fix array argument out and inout marshaling from vfuncs (Garrett Regier) (bz#702508)

- Cleanup input args when marshaling in closures (Garrett Regier) (bz#727004)

- Add deprecation warning for connect_object() with non-GObject argument (Simon Feltman) (bz#688064)

- Add Python implementation of Object.connect_data() (Simon Feltman) (bz#701843)

- Add GClosure marshaling cleanup (Simon Feltman) (bz#695128)

- Fix GCallback Python wrapper leak (Simon Feltman) (bz#695130)

- tests: Add failing test for marshaling an array of GValues through signals (Martin Pitt) (bz#669496)

- Add protection against attempts at importing static bindings (Simon Feltman) (bz#709183)

- Update and deprecate gi.overrides.keysyms (Simon Feltman) (bz#721295)

- Generate .dll libraries on windows (Ignacio Casal Quinteiro) (bz#734288)

- Windows build fixes (Alexey Pavlov) (bz#734284, bz#734289, bz#734286, bz#734287)

## 3.13.3 - 2014-06-23

- demos: Cleanup CSS accordion demo to use a loop for adding buttons (Simon Feltman)

- refactor: Move builder connection utilities outside of Builder class (Simon Feltman) (bz#701843)

- tests: Move TestSignals from test_everything into test_signal (Simon Feltman) (bz#701843)

## 3.13.2 - 2014-05-26

- Python 3.4 make check fixes (Simon Feltman) (bz#730411)

- overrides: Add Gtk.Container.child_get/set overrides (Simon Feltman) (bz#685076)

- overrides: Make value argument to Widget.style_get_property optional (Simon Feltman) (bz#685076)

- overrides: Make value argument to Container.child_get_property optional (Simon Feltman) (bz#685076)

- Add GTypeClass methods as Python GObject class methods (Johan Dahlin) (bz#685218)

- Add marshalling coercion for Python classes and instances to GTypeClass (Simon Feltman) (bz#685218)

- Replace direct parent class call by super() (Andrew Grigorev) (bz#729970)

- Add cairo marshaling support for non-introspected signals (Simon Feltman) (bz#694604)

- [New API] Add gi.require_foreign (Simon Feltman) (bz#707735)

- Initialize the foreign API at PyGI load time (Simon Feltman) (bz#694604)

- Move pygi foreign API into pygi-foreign-api.h (Simon Feltman) (bz#694604)

- Unify GLib.GError and GLib.Error (Simon Feltman) (bz#712519)

- PEP8 fixes (Simon Feltman)

## 3.12.2 - 2014-05-26

- PEP8 fixes (Simon Feltman)

- Python 3.4 make check fixes (Simon Feltman) (bz#730411)

## 3.13.1 - 2014-04-28

- Raise TypeError if arguments are passed to Boxed.__init__ (Christoph Reiter) (bz#727810)

- Gdk.Event: Override __setattr__ to set fields based on the event type (Christoph Reiter) (bz#727810)

- Gdk.Event: Include GdkEventType in __repr__ (Christoph Reiter) (bz#727810)

- Fix crash with type checking for GObject arguments (Simon Feltman) (bz#727604)

- Do not leak info of destroy notify (Paolo Borelli)

- Ignore GValueArray deprecations (Simon Feltman)

- Raise ImportError when importing modules not found in repository (Simon Feltman) (bz#726877)

- tests: Rename test_overrides to test_import_machinery (Simon Feltman) (bz#726877)

## 3.12.1 - 2014-04-14

- Fix crash with type checking invalid GObject arguments (Simon Feltman) (bz#727604)

- Do not leak info of destroy notify (Paolo Borelli)

## 3.12.0 - 2014-03-24

## 3.11.92 - 2014-03-17

- configure.ac: Remove option to build without libffi (Simon Feltman)

- docs: Standardize Python doc strings (Simon Feltman)

- Fix reference leaks with (transfer full) foreign struct returns (Owen W. Taylor) (bz#726206)

## 3.11.91 - 2014-03-03

- Use ffi_call directly instead of g_callable_info_invoke (Simon Feltman) (bz#723642)

- configure.ac: Use -std=c90 and error on declaration-after-statement (Simon Feltman)

- Fix Build on Visual Studio (Chun-wei Fan) (bz#725122)

## 3.11.90 - 2014-02-17

- Use GObject type checking for instance arguments (Simon Feltman) (bz#724009)

- configure.ac: post release version bump to 3.11.90 (Simon Feltman)

## 3.11.5 - 2014-02-03

- cache refactoring: Move all cache marshalers into files based on type (Simon Feltman) (bz#709700)

- tests: Add test for an owned boxed struct passed in a callback (Mike Gorse) (bz#722899)

- build: Add –without-common configure option for package maintainers (Patrick Welche) (bz#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) (bz#712197)

- Add test for callback user data arguments with following arguments (Martin Pitt) (bz#722104)

## 3.11.4 - 2014-01-13

- overrides: Fix __repr__ for various Gdk structs (Simon Feltman)

- Add enum and flags member methods (Simon Feltman) (bz#693099)

- python.m4: g/c JD_PYTHON_CHECK_VERSION (Patrick Welche) (bz#721662)

- Support union creation with PyGIStruct (Simon Feltman)

- docs: List constructors in object and struct doc strings (Simon Feltman) (bz#708060)

- docs: Fix array length argument skipping with preceding out arguments

- docs: Add return values and skip implicit out arguments in functions (Simon Feltman) (bz#697356)

- docs: Skip implicit array length args when building function doc strings (Simon Feltman) (bz#697356)

- gtk-demo: Add CSS demos (Gian Mario Tagliaretti) (bz#719722)

- build: Avoid clash between gi/types.py and stdlib (Colin Watson) (bz#721025)

## 3.11.3 - 2013-12-16

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

## 3.11.2 - 2013-11-17

- gkt-demo: Change main info/source notebook into a GtkStack (Simon Feltman)

- Add deprecation warnings and cleanup class initializer overrides (Simon Feltman) (bz#705810)

- Fix dir method for static GParamSpec in Python 3 (Simon Feltman)

- Remove overzealous argument checking for callback userdata (Simon Feltman) (bz#711173)

## 3.10.2 - 2013-11-11

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

## 3.11.1 - 2013-10-28

- Fix toggleref safety problems by always enabling the GIL (Simon Feltman) (bz#709223)

- Add consistent GLib.MainLoop SIGINT cleanup (Simon Feltman) (bz#710978)

- docs: Add a keyword value of None for allow-none annotations (Simon Feltman) (bz#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) (bz#710447)

- Add dir method to GObject props accessor (Simon Feltman) (bz#705754)

- Remove PyGObjectWeakRef now that g_binding_unbind exists (Simon Feltman) (bz#699571)

- Fix lots of memory leaks leaks (Simon Feltman) (bz#693402, bz#709397)

- Add support for variable user data arguments (Simon Feltman) (bz#640812)

- Bump glib and g-i dependencies to latest stable. (Martin Pitt)

- Fix TypeError when setting drag target_list to None (Nuno Araujo) (bz#709926)

- Use qdata for wrapper retrieval in toggle reference notifications (Simon Feltman) (bz#709223)

- Expose all GI enum and flags types (Simon Feltman) (bz#709008)

- Add support for default arguments annotated with allow-none (Simon Feltman) (bz#640812)

- Refactor argument cache handling (Simon Feltman) (bz#640812)

- Remove support for allowing PyObjects as void pointers (Simon Feltman) (bz#688081)

## 3.10.1 - 2013-10-14

- Fix TypeError when setting drag target_list to None (Nuno Araujo) (bz#709926)

- Use qdata for wrapper retrieval in toggle reference notifications (Simon Feltman) (bz#709223)

- Fix memory leak for caller allocated GValue out arguments (Simon Feltman) (bz#709397)

## 3.10.0 - 2013-09-23

- Fix test_gi.TestProjectVersion.test_version_str() (Martin Pitt)

## 3.9.92 - 2013-09-16

- Fix union argument regression when marshaling from python (Simon Feltman) (bz#703873)

- Fix GLib.Source sub-classing with initializer args (Simon Feltman) (bz#707904)

- Copy __doc__ when wrapping function (Vratislav Podzimek)

## 3.9.91 - 2013-09-02

- Fix GObject signal methods to work with new annotations (Simon Feltman) (bz#707280)

- Fix build on C89 Compilers (Chun-wei Fan) (bz#707264)

- Change boxed type checking in marshaling to use __gtype__ attribute (Simon Feltman) (bz#707140)

- Use G_IS_VALUE for checking return values in closure marshaling (Simon Feltman) (bz#707170)

- Fix PEP-8 errors in propertyhelper.py (Yanko Kaneti) (bz#706319)

## 3.9.90 - 2013-08-19

- Create GLib.Pid in the same way on python 2 and 3 (Benjamin Berg) (bz#705451)

- Use PyLong_Type.tp_new for GLib.Pid (Benjamin Berg) (bz#705451)

- Add accumulator and accu_data arguments to GObject.Signal decorator (Simon Feltman) (bz#705533)

- Pass return values through the GObject.Signal.emit wrapper (Simon Feltman) (bz#705530)

## 3.9.5 - 2013-07-29

- Ensure exceptions set in closure out argument marshaling are printed (Simon Feltman) (bz#705064)

- Always raise OverflowError for marshaling integers from Python (not ValueError or OverflowError) (Simon Feltman) (bz#705057)

- Cleanup invoke args and kwargs combiner code (Simon Feltman) (bz#640812)

- gtk-demo: Change demo to use Gtk.Application (Simon Feltman) (bz#698547)

- Add callable and descriptor protocols to PyGICallableInfo (Simon Feltman) (bz#704037)

- Unify basic type argument marshaling for methods, closures, and properties (Simon Feltman) (bz#693405)

- Override GValue.set/get_boxed with static C marshaler (Simon Feltman) (bz#688081, bz#693405)

- Add deprecation warning for marshaling arbitrary objects as pointers (Simon Feltman) (bz#688081)

- Replace usage of __import__ with importlib.import_module (Simon Feltman) (bz#682320)

- Always unref the GiTypeInfo when generating an argument cache (Mike Gorse) (bz#703973)

- Unref interface info when fetching enums or flags (Mike Gorse) (bz#703960)

- Speed up MRO calculation (Daniel Drake) (bz#703829)

- Add GIL safety to pyobject_copy for copying boxed PyObjects (Simon Feltman) (bz#688081)

- Add marshaling of GI_TYPE_TAG_VOID held in a GValue to int (Simon Feltman) (bz#694233)

- GTK overrides: Make connect_signals handle tuple (Cole Robinson) (bz#693994)

- Re-add support for passing GValue’s by reference (Simon Feltman) (bz#701058)

- Clear return value of closures to zero when an exception occurs (Simon Feltman) (bz#702552)

- Don’t use doctest syntax in docstrings for examples (Martin Pitt) (bz#701009)

- Add support for properties of type GInterface (Garrett Regier) (bz#703456)

- pygtkcompat: Fix for missing methods on Windows (Martin Pitt) (bz#702787)

- gi/pygi-info.c: Avoid C99-style variable declaration (Chun-wei Fan) (bz#702786)

## 3.8.3 - 2013-07-05

- 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) (bz#694233)

- pygtkcompat: Fix for missing methods on Windows (Martin Pitt) (bz#702787)

- gi/pygi-info.c: Avoid C99-style variable declaration (Chun-wei Fan) (bz#702786)

- Clear return value of closures to zero when an exception occures (Simon Feltman) (bz#702552)

- Re-add support for passing GValue’s by reference (Simon Feltman) (bz#701058)

- Don’t use doctest syntax in docstrings for examples, to fix test failures with pyflakes 0.7.x (Martin Pitt) (bz#701009)

- examples/option.py: Port to GI and Python 3 (Martin Pitt)

## 3.9.2 - 2013-05-28

- examples/option.py: Port to GI and Python 3 (Martin Pitt)

- Fix vfunc info search for classes with multiple inheritance (Simon Feltman) (bz#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) (bz#677091)

- Replace usage of pyg_begin_allow_threads with Py_BEGIN_ALLOW_THREADS (Simon Feltman) (bz#699440)

- Remove and deprecate API for setting of thread blocking functions (Simon Feltman) (bz#699440)

## 3.8.2 - 2013-05-13

- Fix vfunc info search for classes with multiple inheritance (Simon Feltman) (bz#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) (bz#699096)

- Test results of g_base_info_get_name for NULL (Simon Feltman) (bz#698829)

- Change interpretation of NULL pointer field from None to 0 (Simon Feltman) (bz#698366)

- Remove Python keyword escapement in Repository.find_by_name (Simon Feltman) (bz#697363)

## 3.9.1 - 2013-04-30

- gtk-demo: Wrap description strings at 80 characters (Simon Feltman) (bz#698547)

- gtk-demo: Use textwrap to reformat description for Gtk.TextView (Simon Feltman) (bz#698547)

- gtk-demo: Use GtkSource.View for showing source code (Simon Feltman) (bz#698547)

- Use correct class for GtkEditable’s get_selection_bounds() function (Mike Ruprecht) (bz#699096)

- Test results of g_base_info_get_name for NULL (Simon Feltman) (bz#698829)

- Add ObjectInfo.get_class_struct() (Johan Dahlin) (bz#685218)

- Change interpretation of NULL pointer field from None to 0 (Simon Feltman) (bz#698366)

- Do not build tests until needed (Sobhan Mohammadpour) (bz#698444)

- pygi-convert: Support toolbar styles (Kai Willadsen) (bz#698477)

- pygi-convert: Support new-style constructors for Gio.File (Kai Willadsen) (bz#698477)

- pygi-convert: Add some support for recent manager constructs (Kai Willadsen) (bz#698477)

- pygi-convert: Don’t transform arbitrary keysym imports (Kai Willadsen) (bz#698477)

- Remove Python keyword escapement in Repository.find_by_name (Simon Feltman) (bz#697363)

- Optimize signal lookup in gi repository (Daniel Drake) (bz#696143)

- Optimize connection of Python-implemented signals (Daniel Drake) (bz#696143)

- Consolidate signal connection code (Daniel Drake) (bz#696143)

- Fix setting of struct property values (Daniel Drake)

- Optimize property get/set when using GObject.props (Daniel Drake) (bz#696143)

- configure.ac: Fix PYTHON_SO with Python3.3 (Christoph Reiter) (bz#696646)

- Simplify registration of custom types (Daniel Drake) (bz#696143)

- pygi-convert.sh: Add GStreamer rules (Christoph Reiter) (bz#697951)

- pygi-convert: Add rule for TreeModelFlags (Jussi Kukkonen)

- Unify GI marshalling code (Simon Feltman) (bz#693405)

- Use distutils.sysconfig to retrieve the python include path. (Christoph Reiter) (bz#696648)

- Support PEP 3149 (ABI version tagged .so files) (Christoph Reiter) (bz#696646)

- Fix stack corruption due to incorrect format for argument parser (Simon Feltman) (bz#696892)

- Deprecate GLib and GObject threads_init (Simon Feltman) (bz#686914)

- Drop support for Python 2.6 (Martin Pitt)

- Remove static PollFD bindings (Martin Pitt) (bz#686795)

- Drop test skipping due to too old g-i (Martin Pitt)

- Bump glib and g-i dependencies (Martin Pitt)

## 3.8.1 - 2013-04-15

- pygi-convert.sh: Add GStreamer rules (Christoph Reiter) (bz#697951)

- pygi-convert: Add rule for TreeModelFlags (Jussi Kukkonen)

- Fix enum and flags marshaling type assumptions (Simon Feltman)

- Use g_strdup() consistently (Martin Pitt) (bz#696650)

- Fix stack corruption due to incorrect format for argument parser (Simon Feltman) (bz#696892)

## 3.8.0 - 2013-03-25

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

## 3.7.92 - 2013-03-18

- Fix stack smasher when marshaling enums as a vfunc return value (Simon Feltman) (bz#637832)

- Change base class of PyGIDeprecationWarning based on minor version (Simon Feltman) (bz#696011)

- autogen.sh: Source gnome-autogen to fix out of source builddir (Alban Browaeys) (bz#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) (bz#695420)

- Give more informative error when setting property to incorrect type (Simon Feltman) (bz#695420)

## 3.7.91.1 - 2013-03-05

- Revert “Drop gi.overrides.overridefunc()” (Martin Pitt) (bz#695199)

## 3.7.91 - 2013-03-04

- Fix many memory leaks (bz#675726, bz#693402, bz#691501, bz#510511, bz#691501, bz#672224, and several more which are detected by our test suite) (Martin Pitt)

- Dot not clobber original Gdk/Gtk functions with overrides (Martin Pitt) (bz#686835)

- Optimize GValue.get/set_value by setting GValue.g_type to a local (Simon Feltman) (bz#694857)

- Run tests with G_SLICE=debug_blocks (Martin Pitt) (bz#691501)

- Add override helper for stripping boolean returns (Martin Pitt) (bz#694431)

- Drop obsolete pygobject_register_sinkfunc() declaration (Martin Pitt) (bz#639849)

- Fix marshalling of C arrays with explicit length in signal arguments (Martin Pitt) (bz#662241)

- Fix signedness, overflow checking, and 32 bit overflow of GFlags (Martin Pitt) (bz#693121)

- gi/pygi-marshal-from-py.c: Fix build on Visual C++ (Chun-wei Fan) (bz#692856)

- Raise DeprecationWarning on deprecated callables (Martin Pitt) (bz#665084)

- pygtkcompat: Add Widget.window, scroll_to_mark, and window methods (Simon Feltman) (bz#694067)

- pygtkcompat: Add Gtk.Window.set_geometry_hints which accepts keyword arguments (Simon Feltman) (bz#694067)

- Ship pygobject.doap for autogen.sh (Martin Pitt) (bz#694591)

- Fix crashes in various GObject signal handler functions (Simon Feltman) (bz#633927)

- pygi-closure: Protect the GSList prepend with the GIL (Olivier Crête) (bz#684060)

- generictreemodel: Fix bad default return type for get_column_type (Simon Feltman)

## 3.7.90 - 2013-02-19

- overrides: Fix inconsistencies with drag and drop target list API (Simon Feltman) (bz#680640)

- pygtkcompat: Add pygtk compatible GenericTreeModel implementation (Simon Feltman) (bz#682933)

- overrides: Add support for iterables besides tuples for TreePath creation (Simon Feltman) (bz#682933)

- Prefix __module__ attribute of function objects with gi.repository (Niklas Koep) (bz#693839)

- configure.ac: only enable code coverage when available, to fix autogen.sh with older gnome-commons (Jonathan Ballet) (bz#693328)

- Correctly set properties on object with statically defined properties (Jonathan Ballet) (bz#693618)

- autogen.sh: Use gnome-autogen.sh (Martin Pitt) (bz#693328)

- Fix reference leaks with transient floating objects (Simon Feltman) (bz#687522)

## 3.7.5.1 - 2013-02-05

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

## 3.7.5 - 2013-02-04

- Move various signal methods from static bindings to GI (Simon Feltman) (bz#692918)

- GLib overrides: Support unpacking ‘maybe’ variants (Paolo Borelli) (bz#693032)

- Fix ref count leak when creating pygobject wrappers for input args (Mike Gorse) (bz#675726)

- Prefix names of typeless enums and flags for GType registration (Simon Feltman) (bz#692515)

- Fix compilation with non-C99 compilers such as Visual C++ (Chun-wei Fan) (bz#692856)

- gi/overrides/Glib.py: Fix running on Windows/non-Unix (Chun-wei Fan)

- Do not immediately initialize Gdk and Gtk on import (Martin Pitt) (bz#692300)

- Accept ±inf and NaN as float and double values (Martin Pitt) (bz#692381)

- Fix repr() of GLib.Variant (Martin Pitt)

- Fix gtk-demo for Python 3 (Martin Pitt)

- Define GObject.TYPE_VALUE gtype constant (Martin Pitt)

- gobject: Go through introspection on property setting (Olivier Crête) (bz#684062)

- Clean up caller-allocated GValues and their memory (Mike Gorse) (bz#691820)

- Use GNOME_COMPILE_WARNINGS from gnome-common (Martin Pitt)

## 3.7.4 - 2013-01-14

- Allow setting values through GtkTreeModelFilter (Simonas Kazlauskas) (bz#689624)

- Support GParamSpec signal arguments from Python (Martin Pitt) (bz#683099)

- pygobject_emit(): Fix cleanup on error (Martin Pitt)

- Add signal emission methods to TreeModel which coerce the path argument (Simon Feltman) (bz#682933)

- Add override for GValue (Bastian Winkler) (bz#677473)

- Mark caller-allocated boxed structures as having a slice allocated (Mike Gorse) (bz#699501)

- pygi-property: Support boxed GSList/GList types (Olivier Crête) (bz#684059)

- tests: Add missing backwards compat methods for Python 2.6 (Martin Pitt) (bz#691646)

- Allow setting TreeModel values to None (Simon Feltman) (bz#684094)

- Set clean-up handler for marshalled arrays (Mike Gorse) (bz#691509)

- Support setting string fields in structs (Vadim Rutkovsky) (bz#678401)

- Permit plain integers for “gchar” values (Martin Pitt)

- Allow single byte values for int8 types (Martin Pitt) (bz#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) (bz#688971)

- Use g-i stack allocation API (Martin Pitt) (bz#615982)

- pyg_value_from_pyobject: support GArray (Ray Strode) (bz#690514)

- Fix obsolete automake macros (Marko Lindqvist) (bz#691101)

- Change dynamic enum and flag gtype creation to use namespaced naming (Simon Feltman) (bz#690455)

- Fix Gtk.UIManager.add_ui_from_string() override for non-ASCII chars (Jonathan Ballet) (bz#690329)

- Don’t dup strings before passing them to type registration functions (Mike Gorse) (bz#690532)

- Fix marshalling of arrays of boxed struct values (Carlos Garnacho) (bz#656312)

## 3.7.3 - 2012-12-17

- Add support for caller-allocated GArray out arguments (Martin Pitt) (bz#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) (bz#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) (bz#688949)

- Ship pygi-convert.sh in tarballs (Martin Pitt) (bz#688697)

## 3.7.2 - 2012-11-19

- [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) (bz#641944)

- [API change] Deprecate void pointer fields as general PyObject storage. (Simon Feltman) (bz#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) (bz#678620)

- Fix Gdk.Atom to have a proper str() and repr() (Martin Pitt) (bz#678620)

- Make sure g_value_set_boxed does not cause a buffer overrun with GStrvs (Simon Feltman) (bz#688232)

- Fix leaks with GValues holding boxed and object types (Simon Feltman) (bz#688137)

- Add doc strings showing method signatures for gi methods (Simon Feltman) (bz#681967)

- Set Property instance doc string and blurb to getter doc string (Simon Feltman) (bz#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) (bz#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) (bz#686942)

- Move property and signal creation into _class_init() (Martin Pitt) (bz#686149)

- Fix duplicate symbols error on OSX (John Ralls)

- [API add] Add get_introspection_module for getting un-overridden modules (Simon Feltman) (bz#686828)

- Work around wrong 64 bit constants in GLib Gir (Martin Pitt) (bz#685022)

- Mark GLib.Source.get_current_time() as deprecated (Martin Pitt)

- Fix OverflowError in source_remove() (Martin Pitt) (bz#684526)

## 3.4.2 - 2012-11-12

- 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) (bz#688067)

- Fix various bugs in GLib.IOChannel (Martin Pitt)

- Work around wrong 64 bit constants in GLib Gir (Martin Pitt) (bz#685022)

- Fix OverflowError in source_remove() (Martin Pitt) (bz#684526)

- Fix Signal decorator to not use base class gsignals dict (Simon Feltman) (bz#686496)

## 3.7.1 - 2012-10-22

- Bump version to 3.7.1; let’s follow the real GNOME versioning from now on (Martin Pitt)

- Change install_properties to not use getattr on classes (Simon Feltman) (bz#686559)

- Move property install function into propertyhelper.py (Simon Feltman) (bz#686559)

- Fix Signal decorator to not use base class gsignals dict (Simon Feltman) (bz#686496)

- tests: Consistently use GLib.MainLoop (Martin Pitt)

- Install the .egg-info files into correct multilib directory (Kalev Lember) (bz#686315)

- Fix leaked vfunc return values (Simon Feltman) (bz#686140)

- Skip Regress tests with –disable-cairo (Martin Pitt) (bz#685094)

- Fix leak with python callables as closure argument. (Simon Feltman) (bz#685598)

- Gio overrides: Handle setting GSettings enum keys (Martin Pitt) (bz#685947)

- tests: Check reading GSettings enums in Gio overrides (Martin Pitt)

- Fix unsigned values in GArray/GList/GSList/GHash (Martin Pitt) (bz#685860)

- _pygi_marshal_from_py_uint64(): Use correct data type in py2.7 check (Alban Browaeys) (bz#685000)

- Install an .egg-info file (Johan Dahlin) (bz#680138)

- PyGProps_getattro(): Fix GObjectClass leak (Johan Dahlin) (bz#685218)

- pygobject.c: Don’t leak GObjectClass reference (Olivier Crête) (bz#684062)

- Fix memory leak in _pygi_argument_to_array() (Alban Browaeys) (bz#685082)

- Fix error messages for out of range numbers (Martin Pitt) (bz#684314)

- Kill dbus-daemon after running tests (Martin Pitt) (bz#685009)

- GVariant overrides: Support empty tuple arrays (Martin Pitt) (bz#684928)

- tests: Fix wrong return type in test_int64_callback() (Martin Pitt) (bz#684700)

- Fix GValue marshalling of long and unsigned long (Giovanni Campagna) (bz#684331)

- Clean up deprecation message for assigning gpointers to objects. (Simon Feltman) (bz#683599)

- pygi-property: Lookup property in base classes of non-introspected types (Olivier Crête) (bz#684058)

## 3.4.1.1 - 2012-10-17

- Bump g-i dependency to >= 1.34.1.1 (Paolo Borelli)

- Fix leaked vfunc return values (Simon Feltman) (bz#686140)

- Install egg-info files in the right dir Kalev Lember) (bz#686315)

## 3.4.1 - 2012-10-15

- Skip Regress tests with –disable-cairo (Martin Pitt) (bz#685094)

- Fix leak with python callables as closure argument. (Simon Feltman) (bz#685598)

- Gio overrides: Handle setting GSettings enum keys (Martin Pitt) (bz#685947)

- Fix unsigned values in GArray/GList/GSList/GHash (Martin Pitt) (bz#685860)

- _pygi_marshal_from_py_uint64(): Use correct data type in py2.7 check (Alban Browaeys) (bz#685000)

- Install an .egg-info file (Johan Dahlin) (bz#680138)

- PyGProps_getattro(): Fix GObjectClass leak (Johan Dahlin) (bz#685218)

- pygobject.c: Don’t leak GObjectClass reference (Olivier Crête) (bz#684062)

- Fix memory leak in _pygi_argument_to_array() (Alban Browaeys) (bz#685082)

- Fix error messages for out of range numbers (Martin Pitt) (bz#684314)

- Kill dbus-daemon after running tests (Martin Pitt) (bz#685009)

- GVariant overrides: Support empty tuple arrays (Martin Pitt) (bz#684928)

- tests: Fix wrong return type in test_int64_callback() (Martin Pitt) (bz#684700)

- Fix GValue marshalling of long and unsigned long (Giovanni Campagna) (bz#684331)

- Clean up deprecation message for assigning gpointers to objects. (Simon Feltman) (bz#683599)

- pygi-property: Lookup property in base classes of non-introspected types (Olivier Crête) (bz#684058)

## 3.4.0 - 2012-09-24

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

## 3.3.92 - 2012-09-17

- [API add] Add ObjectInfo.get_abstract method (Simon Feltman) (bz#675581)

- Add deprecation warning when setting gpointers to anything other than int. (Simon Feltman) (bz#683599)

- argument: Fix 64bit integer convertion from GValue (Nicolas Dufresne) (bz#683596)

- Improve setting pointer fields/arguments to NULL using None (Simon Feltman) (bz#683150)

- Bump g-i dependency to 1.33.10 (Martin Pitt)

- Fix -uninstalled.pc.in file (Thibault Saunier) (bz#683379)

- Various test suite additions and improvements (Martin Pitt)

## 3.3.91 - 2012-09-03

- Fix exception test case for Python 2 (Martin Pitt)

- Bump g-i dependency to >= 1.3.9 (Martin Pitt)

- Show proper exception when trying to allocate a disguised struct (Martin Pitt) (bz#639972)

- Support marshalling GParamSpec signal arguments (Mark Nauwelaerts) (bz#683099)

- Add test for a signal that returns a GParamSpec (Martin Pitt) (bz#683265)

- [API add] Add Signal class for adding and connecting custom signals. (Simon Feltman) (bz#434924)

- Fix pygtkcompat’s Gtk.TreeView.insert_column_with_attributes() (Martin Pitt)

- Add override for Gtk.TreeView.insert_column_with_attributes() (Marta Maria Casetti) (bz#679415)

- .gitignore: Add missing built files (Martin Pitt)

- Ship tests/gi in tarball (Martin Pitt)

- Split test_overrides.py (Martin Pitt) (bz#683188)

- _pygi_argument_to_object(): Clean up array unmarshalling (Martin Pitt)

- Fix memory leak in _pygi_argument_to_object() (Alban Browaeys) (bz#682979)

- Fix setting pointer fields/arguments to NULL using None. (Simon Feltman) (bz#683150)

- Fix for python 2.6, officially drop support for < 2.6 (Martin Pitt) (bz#682422)

- Allow overrides in other directories than gi itself (Thibault Saunier) (bz#680913)

- Clean up sys.path handling in tests (Simon Feltman) (bz#680913)

- Fix dynamic creation of enum and flag gi types for Python 3.3 (Simon Feltman) (bz#682323)

- [API add] Override g_menu_item_set_attribute (Paolo Borelli) (bz#682436)

## 3.3.90 - 2012-08-20

- Implement marshalling for GParamSpec (Mathieu Duponchelle) (bz#681565)

- Fix erronous import statements for Python 3.3 (Simon Feltman) (bz#682051)

- Do not fail tests if pyflakes or pep8 are not installed (Martin Pitt)

- Fix PEP-8 whitespace checking and issues in the code (Martin Pitt)

- Fix unmarshalling of gssize (David Malcolm) (bz#680693)

- Fix various endianess errors (David Malcolm) (bz#680692)

- Gtk overrides: Add TreeModelSort.__init__(self, model) (Simon Feltman) (bz#681477)

- Convert Gtk.CellRendererState in the pygi-convert script (Manuel Quiñones) (bz#681596)

## 3.3.5 - 2012-08-06

- Fix list marshalling on big-endian machines (Martin Pitt) (bz#680693)

- Beautify class/interface type mismatch error messages (Martin Pitt)

- Skip instead of fail tests which need Pango, Atk, Gdk, Gtk (Martin Pitt)

- [API add] pygtkcompat: Add more pixbuf creation functions (Simon Feltman) (bz#680814)

- Fix error messages on interface/class type mismatches (Martin Pitt)

- Fix crash when returning (False, None) from Gtk.TreeModel.do_get_iter() (Simon Feltman) (bz#680812)

- Add test case for Gtk.TextIter.forward_search() (Martin Pitt) (bz#679415)

- pygi-info.c: Robustify pointer arithmetic (Martin Pitt)

- Add set_attributes() override to Gtk.TreeViewColumn (Manuel Quiñones)

- Gtk overrides: Add TreePath.__getitem__() (Simon Feltman) (bz#680353)

- Fix property type mapping from int to TYPE_INT for python3. (Simon Feltman) (bz#679939)

- Convert Gtk.DestDefaults constants in pygi-convert.sh script (Manuel Quiñones) (bz#680259)

- Convert all Gdk.WindowState constants in pygi-convert.sh (Manuel Quiñones) (bz#680257)

- [API add] Add API for checking pygobject’s version (Joe R. Nassimian) (bz#680176)

- pygi-convert.sh: Add some missing Gdk.CursorTypes (Manuel Quiñones) (bz#680050)

- pygi-convert.sh: convert rsvg.Handle(data=…) (Manuel Kaufmann) (bz#680092)

## 3.3.4 - 2012-07-16

- pygi-convert.sh: Drop bogus filter_new() conversion (Martin Pitt) (bz#679999)

- Fix help() for GI modules (Martin Pitt) (bz#679804)

- Skip gi.CallbackInfo objects from a module’s dir() (Martin Pitt) (bz#679804)

- Fix __path__ module attribute (Martin Pitt)

- pygi-convert.sh: Fix some child → getChild() false positives (Joe R. Nassimian) (bz#680004)

- Fix array handling for interfaces, properties, and signals (Mikkel Kamstrup Erlandsen) (bz#667244)

- Add conversion of the Gdk.PropMode constants to pygi-convert.sh script (Manuel Quiñones) (bz#679775)

- Add the same rules for pack_start to convert pack_end (Manuel Quiñones) (bz#679760)

- Add error-checking for the case where _arg_cache_new() fails (Dave Malcolm) (bz#678914)

- Add conversion of the Gdk.NotifyType constants to pygi-convert.sh script (Manuel Quiñones) (bz#679754)

- Fix PyObject_Repr and PyObject_Str reference leaks (Simon Feltman) (bz#675857)

- [API add] Gtk overrides: Add TreePath.__len__() (Martin Pitt) (bz#679199)

- GLib.Variant: Fix repr(), add proper str() (Martin Pitt) (bz#679336)

- m4/python.m4: Update Python version list (Martin Pitt)

- Remove “label” property from Gtk.MenuItem if it is not set (Micah Carrick) (bz#670575)

## 3.3.3.1 - 2012-06-25

- Do not escape enum and flag names that are Python keywords (Martin Pitt)

## 3.3.3 - 2012-06-25

- Remove obsolete release-tag make target (Martin Pitt)

- Do not do any python calls when GObjects are destroyed after the python interpreter has been finalized (Simon Schampijer) (bz#678046)

- Do not change constructor-only “type” Window property (Martin Pitt) (bz#678510)

- Escape identifiers which are Python keywords (Martin Pitt) (bz#676746)

- Fix code for PEP-8 violations detected by the latest pep8 checker. (Martin Pitt)

- Fix crash in GLib.find_program_in_path() (Martin Pitt) (bz#678119)

- Revert “Do not bind gobject_get_data() and gobject_set_data()” (Martin Pitt) (bz#641944)

- GVariant: Raise proper TypeError on invalid tuple input (David Keijser) (bz#678317)

## 3.3.2 - 2012-06-05

- foreign: Register cairo.Path and cairo.FontOptions foreign structs (Bastian Winkler) (bz#677388)

- Check types in GBoxed assignments (Marien Zwart) (bz#676603)

- [API add] Gtk overrides: Add TreeModelRow.get_previous() (Bastian Winkler) (bz#677389)

- [API add] Add missing GObject.TYPE_VARIANT (Bastian Winkler) (bz#677387)

- Fix boxed type equality (Jasper St. Pierre) (bz#677249)

- Fix TestProperties.testBoxed test (Jose Rostagno) (bz#676644)

- Fix handling of by-reference structs as out parameters (Carlos Garnacho) (bz#653151)

- tests: Add more vfunc checks for GIMarshallingTestsObject (Martin Pitt)

- Test caller-allocated GValue out parameter (Martin Pitt) (bz#653151)

- GObject.bind_property: Support transform functions (Bastian Winkler) (bz#676169)

- Fix lookup of vfuncs in parent classes (Carlos Garnacho) (bz#672864)

- tests/test_properties.py: Fix whitespace (Martin Pitt)

- gi: Support zero-terminated arrays with length arguments (Jasper St. Pierre) (bz#677124)

- [API add] Add GObject.bind_property method (Simon Feltman) (bz#675582)

- pygtkcompat: Correctly set flags (Jose Rostagno) (bz#675911)

- Gtk overrides: Implement __delitem__ on TreeModel (Jose Rostagno) (bz#675892)

- Gdk Color override should support red/green/blue_float properties (Simon Feltman) (bz#675579)

- Support marshalling of GVariants for closures (Martin Pitt) (bz#656554)

- _pygi_argument_from_object(): Check for compatible data type (Martin Pitt)

- pygtkcompat: Fix color conversion (Martin Pitt)

- test_gi: Check setting properties in constructor (Martin Pitt)

- Support getting and setting GStrv properties (Martin Pitt)

- Support defining GStrv properties from Python (Martin Pitt)

- Add GObject.TYPE_STRV constant (Martin Pitt)

- Unref GVariants when destroying the wrapper (Martin Pitt) (bz#675472)

- Fix TestArrayGVariant test cases (Martin Pitt)

- pygtkcompat: Add gdk.pixbuf_get_formats compat code (Jose Rostagno) (bz#675489)

- pygtkcompat: Add some more compat functions (Jose Rostagno) (bz#675489)

- Fix tests for Python 3 (Martin Pitt)

- Fix building with –disable-cairo (Martin Pitt)

- tests: Fix deprecated assertions (Martin Pitt)

- Run tests with `MALLOC_PERTURB_` (Martin Pitt)

## 3.2.2 - 2012-05-14

- pygtkcompat: Correctly set flags (Jose Rostagno) (bz#675911)

- Gtk overrides: Implement __delitem__ on TreeModel (Jose Rostagno) (bz#675892)

## 3.2.1 - 2012-05-10

- Reindent files in tests to use 4-space indentation (Sebastian Pölsterl

- Add missing override for TreeModel.iter_previous() (Martin Pitt)

- GSettings: allow extra keyword arguments (Giovanni Campagna)

- pygtkcompat: Correct Userlist module use (Jose Rostagno)

- test_gdbus: Call GetConnectionUnixProcessID() with correct signature (Martin Pitt)

- GTK overrides: Add missing keyword arguments (Martin Pitt)

- pygi-convert.py: Drop obsolete drag method conversions (Martin Pitt)

- Fix len_arg_index for array arguments (Bastian Winkler)

- Add missing GObject.TYPE_GTYPE (Martin Pitt)

- Fix “distcheck” and tests with out-of-tree builds (Martin Pitt)

- Add GtkComboBoxEntry compatibility (Paolo Borelli)

## 3.3.1 - 2012-04-30

- GSettings: allow extra keyword arguments (Giovanni Campagna) (bz#675105)

- pygtkcompat: Correct Userlist module use (Jose Rostagno) (bz#675084)

- Add release-news make rule (Martin Pitt)

- Add “make check.nemiver” target (Martin Pitt)

- Test flags and enums in GHash values (Martin Pitt) (bz#637466)

- tests: Activate test_hash_in and apply workaround (Martin Pitt) (bz#666636)

- Add special case for Gdk.Atom array entries from Python (Martin Pitt) (bz#661709)

- test_gdbus: Call GetConnectionUnixProcessID() with correct signature (Martin Pitt) (bz#667954)

- Add test case for Gtk.ListStore custom sort (Martin Pitt) (bz#674475)

- GTK overrides: Add missing keyword arguments (Martin Pitt) (bz#660018)

- [API change] Add missing override for TreeModel.iter_previous() (Martin Pitt) (bz#660018)

- pygi-convert.py: Drop obsolete drag method conversions (Martin Pitt) (bz#652860)

- tests: Replace deprecated assertEquals() with assertEqual() (Martin Pitt)

- Plug tiny leak in constant_info_get_value (Paolo Borelli) (bz#642754)

- Fix len_arg_index for array arguments (Bastian Winkler) (bz#674271)

- Support defining GType properties from Python (Martin Pitt) (bz#674351)

- Handle GType properties correctly (Bastian Winkler) (bz#674351)

- Add missing GObject.TYPE_GTYPE (Martin Pitt)

- Fix test_mainloop.py for Python 3 (Martin Pitt)

- Make callback exception propagation test stricter (Martin Pitt) (bz#616279)

- [API add] Add context management to freeze_notify() and handler_block(). (Simon Feltman) (bz#672324)

- Add support for GFlags properties (Martin Pitt) (bz#620943)

- [API add] Wrap GLib.Source.is_destroyed() method (Martin Pitt) (bz#524719)

- Fix error message when trying to override a non-GI class (Martin Pitt) (bz#646667)

- Fix segfault when accessing __grefcount__ before creating the GObject (Steve Frécinaux) (bz#640434)

- [API change] Do not bind gobject_get_data() and gobject_set_data() (Steve Frécinaux) (bz#641944)

- Add test case for multiple GLib.MainLoop instances (Martin Pitt) (bz#663068)

- Add a ccallback type which is used to invoke callbacks passed to a vfunc (John (J5) Palmieri) (bz#644926)

- Regression test: marshalling GValues in GHashTable (Alberto Mardegan) (bz#668903)

- Update .gitignore (Martin Pitt)

- Fix “distcheck” and tests with out-of-tree builds (Martin Pitt)

- Add a pep8 check to the makefile (Johan Dahlin) (bz#672627)

- PEP8 whitespace fixes (Johan Dahlin) (bz#672627)

- PEP8: Remove trailing ; (Johan Dahlin) (bz#672627)

- tests: Replace deprecated Python API (Martin Pitt)

- Fail tests if they use or encounter deprecations (Martin Pitt)

- Do not run tests in two phases any more (Martin Pitt)

- test_overrides: Find local gsettings schema with current glib (Martin Pitt)

- Add GtkComboBoxEntry compatibility (Paolo Borelli) (bz#672589)

- Correct review comments from Martin (Johan Dahlin) (bz#672578)

- Correct pyflakes warnings/errors (Johan Dahlin) (bz#672578)

- Make tests fail on CRITICAL logs, too, and apply to all tests (Martin Pitt)

- Support marshalling GI_TYPE_TAG_INTERFACE (Alberto Mardegan) (bz#668903)

- Fix warnings on None values in added tree/list store rows (Martin Pitt) (bz#672463)

- pygtkcompat test: Properly clean up PixbufLoader (Martin Pitt)

## 3.2.0 - 2012-03-26

- No changes since 3.1.93 except version number.

## 3.1.93 - 2012-03-22

- Fix warnings on None values in added tree/list store rows. (bz#672463, Martin Pitt)

- Support marshalling GI_TYPE_TAG_INTERFACE (bz#668903, Alberto Mardegan)

- test_overrides: Find local gsettings schema with current glib (Martin Pitt)

- pygtkcompat test: Properly clean up PixbufLoader (Martin Pitt)

## 3.1.92 - 2012-03-19

- Correct Gtk.TreePath.__iter__ to work with Python 3 (Johan Dahlin)

- Fix test_everything.TestSignals.test_object_param_signal test case (Martin Pitt)

- Add a PyGTK compatibility layer (Johan Dahlin)

- pygtkcompat: Remove first argument for get_origin() (Johan Dahlin)

- Fix pygtkcompat.py to work with Python 3 (Martin Pitt)

- GtkViewport: Add a default values for the adjustment constructor parameters (Johan Dahlin)

- GtkIconSet: Add a default value for the pixbuf constructor parameter (Johan Dahlin)

- PangoLayout: Add a default value for set_markup() (Johan Dahlin)

- Gtk[HV]Scrollbar: Add a default value for the adjustment constructor parameter (Johan Dahlin)

- GtkToolButton: Add a default value for the stock_id constructor parameter (Johan Dahlin)

- GtkIconView: Add a default value for the model constructor parameter (Johan Dahlin)

- Add a default value for column in Gtk.TreeView.get_cell_area() (Johan Dahlin)

- Atomic inserts in Gtk.{List,Tree}Store overrides (Martin Pitt)

- Fix Gtk.Button constructor to accept use_stock parameter (Martin Pitt)

- Correct bad rebase, remove duplicate Window (Johan Dahlin)

- Add bw-compatible arguments to Gtk.Adjustment (Johan Dahlin)

- GtkTreePath: make it iterable (Johan Dahlin)

- Add a default argument to TreeModelFilter.set_visible_func() (Johan Dahlin)

- Add a default argument to Gtk.TreeView.set_cursor (Johan Dahlin)

- Add a default argument to Pango.Context.get_metrics() (Johan Dahlin)

- Fix double-freeing GValues in arrays (Martin Pitt)

- Renamed “property” class to “Property” (Simon Feltman)

- Fix Python to C marshalling of GValue arrays (Martin Pitt)

- Correct the Gtk.Window hierarchy (Johan Dahlin)

- Renamed getter/setter instance attributes to fget/fset respectively. (Simon Feltman)

- Add Gtk.Arrow/Gtk.Window constructor override (Johan Dahlin)

- Fix marshalling to/from Python to work on big endian machines. (Michel Dänzer)

- Use gi_cclosure_marshal_generic instead of duplicating it. (Michel Dänzer)

- Override Gtk.TreeView.get_visible_range to fix return (René Stadler)

- Plug memory leak in _is_union_member (Paolo Borelli)

- tests: Split TestInterfaces into separate tests (Sebastian Pölsterl)

- README: Update current maintainers (Martin Pitt)

## 3.1.1 - 2012-02-20

- Don’t use C99 style (Sebastian Pölsterl)

- Add test for GPtrArray with transfer full (Martin Pitt)

- Drop obsolete g_thread_init() (Martin Pitt)

- Fix deprecated g_source_get_current_time() (Martin Pitt)

- Fix deprecated g_value_[gs]et_char() (Martin Pitt)

- Make pygiconvert.sh correctly convert gtk.gdk.x11_* (Simon Schampijer)

- Raise required glib version to 2.31 because of g_value_(get|set)_schar (Sebastian Pölsterl)

- Fix cset_first typo (Dieter Verfaillie)

- pygi-convert: Handle Clutter and Cogl (Bastian Winkler)

- Provide access to gpointer struct values (Cédric Krier)

- Add some GType tests (Paolo Borelli)

- Split GStrv and array variant tests in their own classes (Paolo Borelli)

- Add unit test for builder’s connect_after (Paolo Borelli)

- fix GtkBuilder signal connection ‘after’ logic (Ryan Lortie)

- test(1) uses ‘=’ to test if strings are identical (Patrick Welche)

- pygspawn: improve error checking (Ryan Lortie)

## 3.0.4 - 2012-02-09

- Revert “Convert all strings to utf-8 encoding when retrieving from TreeModel” (Martin Pitt)

- Fixed bug where GObject.property did not respect minimum and maximum values (Sebastian Pölsterl)

- Remove mention of removed option –enable-docs (Tomeu Vizoso)

## 3.1.0 - 2012-02-06

- Updated DOAP file to only include people currently actively working on the project (Sebastian Pölsterl)

- Revert “Convert all strings to utf-8 encoding when retrieving from TreeModel” (Sebastian Pölsterl)

- tests: Fixed issues with python3 (Sebastian Pölsterl)

- Properly distinguish between different integer types for properties (Sebastian Pölsterl)

- Distinguish between GArray and GPtrArray when cleaning up (Sebastian Pölsterl)

- Add null_gerror_callback unit test (Paolo Borelli)

- pyglib_error_check: Re-add missing NULL check (Martin Pitt)

- Add tests/runtests-windows.py to source tarball (Michael Culbertson)

- Don’t issue a depreciation warning for GtkDialog’s NO_SEPARATOR flag, even when unused (Sebastian Pölsterl)

- Fix bool() operations on GLib.Variant objects (Nirbheek Chauhan)

- Fix hash() and __eq__() for GLib.Variant objects (Nirbheek Chauhan)

- Fix method names of callback tests (Martin Pitt)

- Cairo: add missing braces around array-of-struct definition (Will Thompson)

- g_instance_init: cast to PyGObject * as needed (Will Thompson)

- Fix a few set-but-not-used warnings. (Will Thompson)

- pygmainloop: allow for extra arguments in ‘quit’ method (Stefano Facchini)

- Fix bytearray test compatibility with python3 (Alexandre Rostovtsev)

- Respect transfer-type when demarshalling GErrors (Alberto Mardegan)

- Support GHashTable and GError as callback/closure arguments (Alberto Mardegan)

- Don’t leak when marshalling GErrors to C (Will Thompson)

- Support functions which return GError (Will Thompson)

- Fix indentation of _pygi_argument_to_object() (Alberto Mardegan)

- Avoid C99 syntax. (Paolo Borelli)

- Connect to first action of a radio group. (Paolo Borelli)

- Use g_slist_free_full in pygi-closure. (Paolo Borelli)

- Avoid O(n^2) behavior when marshalling lists (Paolo Borelli)

- Handle NULL as a valid case of a char** array (Paolo Borelli)

- Branching, bump version to 3.1.0 (Tomeu Vizoso)

- Add notes about branching to HACKING (Tomeu Vizoso)

- Fixed bug where GObject.property did not respect minimum and maximum values (Sebastian Pölsterl)

- Remove mention of removed option –enable-docs (Tomeu Vizoso)

- Fix sebp’s name in NEWS (Tomeu Vizoso)

## 3.0.3 - 2011-12-12

- Convert all modifier constants to Gdk.ModifierType (Manuel Quiñones)

- Convert all strings to utf-8 encoding when retrieving from TreeModel (Sebastian Pölsterl)

- 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)

## 3.0.2 - 2011-10-21

- Add tests for boxed properties. (Ignacio Casal Quinteiro)

- Allow GBoxed types as property (Timo Vanwynsberghe)

- when converting an object with transfer none, make sure the wrapper owns a ref (John (J5) Palmieri)

- unit test for checking ref count of object param in signals (John (J5) Palmieri)

- Gdk overrides: Unbreak for Gdk-2.0 (Martin Pitt)

- Do union member checks for unions that are parameters (John (J5) Palmieri)

## 3.0.1 - 2011-09-30

- 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”

## 3.0.0 - 2011-09-19

- up version required of gobject-introspection to 1.29.0 (John (J5) Palmieri)

- fix most warnings (John (J5) Palmieri)

## 2.90.4 - 2011-09-15 (3.0 pre-release)

- do not pass in len(str) to the length argument of gtk_test_buffer_insert* apis (John (J5) Palmieri)

- Switch tarball compression format to tar.xz only. (Dieter Verfaillie)

- Remove pygtk_version attribute from internal gi._gobject module. (Dieter Verfaillie)

- remove overridesdir from the .pc file and add it to the gi module (John (J5) Palmieri)

- fix tests to correctly construct a dummy Gtk.TargetEntry (John (J5) Palmieri)

- we now assume that C arrays of structs are flat so memcpy them when marshalling (John (J5) Palmieri)

- only update the arg counts once if child arg comes before parent arg (John (J5) Palmieri)

- Fix refcount bug by not creating python wrapper during gobject init stage (John (J5) Palmieri)

- don’t destroy just created wrapper when object is created via g_object_new (John (J5) Palmieri)

- Remove deprecated API from pygobject.h (Steve Frécinaux)

- Convert gtk.TRUE/FALSE to Python True/False. (Marcin Owsiany)

- Drop legacy __gobject_init__ method of GObject.Object. (Steve Frécinaux)

- AM_CHECK_PYTHON_LIBS does not work for lib64 (Dieter Verfaillie)

- Remove common_ldflags from Makefile.am as it is no longer used. (Dieter Verfaillie)

- check if object is actually a PyGFlag before trying to access g_type (John (J5) Palmieri)

- fix regression - add instance type checks since Py3 no longer does this for us (John (J5) Palmieri)

- refactor in/out marshalling to be to_py/from_py (John (J5) Palmieri)

- Examples: fix cairo-demo.py imports (Dieter Verfaillie)

- Fix paths and add missing overridesdir variable used in uninstalled pkgconfig file (Dieter Verfaillie)

- Remove no longer used variables from pkgconfig files (Dieter Verfaillie)

- docs/Makefile.am and m4/python.m4: Python3 portability fixes (Dieter Verfaillie)

- Refactor and clean Makefile.am files (Dieter Verfaillie)

- Remove all PLATFORM_VERSION = 2.0 traces (Dieter Verfaillie)

- Remove gi/tests/ directory as all the tests now live in tests/ (Dieter Verfaillie)

- autogen.sh: Use autoreconf instead of a custom script and honor ACLOCAL_FLAGS (Dieter Verfaillie)

- use improved python.m4 macros to search for Python headers and libs (Dieter Verfaillie)

- Make maintiner mode enabled by default (Javier Jardón)

- Disable documentation for now since they are completely wrong for GI. (Dieter Verfaillie)

- Fix documentation installation directory (Dieter Verfaillie)

- Remove distutils based build system. (Dieter Verfaillie)

- [gtk-demo] Fix syntax highlighter encoding issue (Dieter Verfaillie)

- overrides: add constants for atoms (Ignacio Casal Quinteiro)

- Drop pygobject_construct() from public API. (Steve Frécinaux)

## 2.90.3 - 2011-08-31(3.0 pre-release)

- 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)

## 2.90.2 - 2011-08-18 (3.0 pre-release)

- remove tests that were removed from gi (John (J5) Palmieri)

- don’t calculate item_size using is_pointer (John (J5) Palmieri)

- Updated signal example to use GObject introspection (Timo Vanwynsberghe)

- Updated properties example to use GObject introspection (Timo Vanwynsberghe)

- Add override for GLib.Variant.split_signature() (Martin Pitt)

- [pygi-convert.sh] Handle the import of pygtk and require Gtk 3.0 (Timo Vanwynsberghe)

- Install pygobject.h again. (Ignacio Casal Quinteiro)

- update the doap file (John (J5) Palmieri)

## 2.90.1 - 2011-08-14 (3.0 pre-release)

- pass exta keywords to the Box constructor (John (J5) Palmieri)

- add (Tree|List)Store set method override (John (J5) Palmieri)

- add test for object arrays (John (J5) Palmieri)

- only support C pointer arrays for structs and objects (John (J5) Palmieri)

- revert Gtk.Window override because it causes issues with subclasses (John (J5) Palmieri)

- take GIL in _pygi_invoke_closure_free (bug bz#647016) (Jonathan Matthew)

- Add a default parameter to GtkTreeModel.filter_new (Johan Dahlin)

- Add vbox/action_area properties (Johan Dahlin)

- Add a couple of constructors (Johan Dahlin)

- Do not always pass in user_data to callbacks. (Johan Dahlin)

- Add a default detail value for Widget.render_icon (Johan Dahlin)

- Add an override for Gdk.color_parse() (Johan Dahlin)

- Support function calling with keyword arguments in invoke. (Laszlo Pandy)

- remove references to deprecated GI_INFO_TYPE_ERROR_DOMAIN (John (J5) Palmieri)

- Fix gobject vs. gi.repository warning (Martin Pitt)

- make GObject and GLib able to take overrides (John (J5) Palmieri)

- avoid dependency issue by importing the internal gobject (John (J5) Palmieri)

- fix tests to use the new GLib module (John (J5) Palmieri)

- add DynamicGLibModule which works like DynamicGObjectModule (John (J5) Palmieri)

- refactor, add objects and types to the correct internal module (John (J5) Palmieri)

- rename the pyglib shared library so we don’t load the old one (John (J5) Palmieri)

- refactor tests to only use PyGObject 3 syntax (John (J5) Palmieri)

- refactor the internal _glib module to import correct modules (John (J5) Palmieri)

- refactor to use the new internal _glib and _gobject modules (John (J5) Palmieri)

- refactor gi module to import and use internal _gobject module (John (J5) Palmieri)

- move the static bits internal to gi and refactor build files (John (J5) Palmieri)

- remove pygtk.py (John (J5) Palmieri)

- introspection is no longer optional (John (J5) Palmieri)

- up platform version to 3.0 (John (J5) Palmieri)

- [gi] Handle GVariants from callback return values (Martin Pitt)

- Handle GVariants for callback arguments (Martin Pitt)

- [gi] Fix crash: check return value of _invoke_state_init_from_callable_cache() before continuing. (Laszlo Pandy)

- [gi] Pass gtype as first parameter to vfuncs (instead of using kwargs). (Laszlo Pandy)

- remove codegen (John (J5) Palmieri)

- remove some left over ifdefs to complete merge of the invoke-rewrite branch (John (J5) Palmieri)

- rename pygi-invoke-ng to pygi-invoke (John (J5) Palmieri)

- make invoke-ng the only invoker (John (J5) Palmieri)

- Merge branch ‘master’ into invoke-rewrite (John (J5) Palmieri)

- Merge branch ‘master’ into invoke-rewrite (John (J5) Palmieri)

- split the marshalling routines into two source files (John (J5) Palmieri)

- Ship tests/te_ST@nouppera in release tarballs for tests to succeed (Martin Pitt)

- [invoke] break out caller_allocates allocating into its own function (John (J5) Palmieri)

- [invoke] missed a bit when removing constructor_class usage (John (J5) Palmieri)

- [invoke] don’t hold on to the constructor class, just add a TODO (John (J5) Palmieri)

- [gi] Port test_properties from static gio to GI Gio (Martin Pitt)

- [python3] Fix maketrans import (Martin Pitt)

- [caching] remove all inline compiler flags (John (J5) Palmieri)

- [caching] refactor function names to be less confusing (John (J5) Palmieri)

- [overrides] deprecate the use of type keyword MessageDialog constructor (John (J5) Palmieri)

- gdbus tests: Fix hang if test case fails (Martin Pitt)

- use an enum instead of booleans to denote function type (John (J5) Palmieri)

- rename aux arguments to child arguments to make their purpose clearer (John (J5) Palmieri)

- Fixed the cairo example (Timo Vanwynsberghe)

- Add override binding for Gtk.ListStore.prepend(). (Adam Dingle)

- Fix crash in Gtk.TextIter overrides (Martin Pitt)

- use gssize instead of int for arg indexes (John (J5) Palmieri)

- [cache] remove refrence to default value as it is not implemented yet (John (J5) Palmieri)

- Handle arguments that are flags correctly (Sebastian Pölsterl)

- correctly initialize the _gi_cairo_functions array to be zero filled (John (J5) Palmieri)

- correctly initialize the _gi_cairo_functions array to be zero filled (John (J5) Palmieri)

- pass in the address of the gerror, not the gerror itself (John (J5) Palmieri)

- [gi] handle marshalling gerrors arguments for signals (John (J5) Palmieri)

- [gi-invoke-ng] fix NULL check to check before we access the cache struct (John (J5) Palmieri)

- [gi-tests] add test for PyGObject->PyObject TreeModel storage (John (J5) Palmieri)

- [gtk-overrides] special case TreeModel columns of PYGOBJECT types (John (J5) Palmieri)

- [gi-invoke-ng] copy structs when transfer is full for array (John (J5) Palmieri)

- [gtk-override] print warning if user imports Gtk 2.0 (John (J5) Palmieri)

- [gtk-overrides] allow the message_type keyword to be used for MessageDialogs (John (J5) Palmieri)

- Add support for enums in gobject.property (Johan Dahlin)

- Add support for enums in gobject.property (Johan Dahlin)

- [gi-invoke-ng] use g_slice for allocating GValues that are caller allocated (John (J5) Palmieri)

- [gi-invoke-ng] Convert Overflow errors to ValueErrors when marshalling integers (John (J5) Palmieri)

- [gi-invoke-ng] only cache caller allocates for interfaces as some API are broken (John (J5) Palmieri)

- [gi-invoke-ng] handle in pointer array marshalling (John (J5) Palmieri)

- Adding GPtrArray tests (Alex Eftimie)

- [gi-invoke-ng] fix array element offset calculations (John (J5) Palmieri)

- [gi] don’t clean up arguments that weren’t yet processed during in arg failure (John (J5) Palmieri)

- [gi-overrides] use new instead of init when constructing a GLib.VariantBuilder (John (J5) Palmieri)

- [gi-invoke-ng] actual code to import overrides (John (J5) Palmieri)

- [gi-invoke-ng] import pytypes so we get overrides (John (J5) Palmieri)

- [gi-invoke-ng] handle gvariants now that they are not foreign (John (J5) Palmieri)

- [gi-invoke-ng] do not try to clean up NULL arguments (John (J5) Palmieri)

- Merge branch ‘master’ into invoke-rewrite (John (J5) Palmieri)

- Merge branch ‘master’ into invoke-rewrite (John (J5) Palmieri)

- closure: avoid double free crash (Ignacio Casal Quinteiro)

- Added __eq__ method for Gdk.Color and Gdk.RGBA (Jason Siefken)

- closure: Check the out arg is not null. Fixes bug bz#651812 (Ignacio Casal Quinteiro)

- Use constants instead of literals (Tomeu Vizoso)

- GVariant has now a GType, take that into account (Tomeu Vizoso)

- GVariantType is a boxed struct (Tomeu Vizoso)

- Use _gi.Struct to wrap fundamentals (Tomeu Vizoso)

- Merge gi/HACKING into /HACKING (Tomeu Vizoso)

- Fix GC-related crash during PyGObject deallocation (Daniel Drake)

- [gi-invoke-ng] enable invoke-ng by default (John (J5) Palmieri)

- [gi-invoke-ng] add code to clean up when input values fail to marshal (John (J5) Palmieri)

- [gi-invoke-ng] add hash cleanup routines (John (J5) Palmieri)

- [gi-invoke-ng] handle arrays with transfers of GI_TRANSFER_CONTAINER (John (J5) Palmieri)

- [gi-invoke-ng] add list cleanup routines (John (J5) Palmieri)

- indentation fix (John (J5) Palmieri)

- [gi-invoke-ng] add out array cleanup (John (J5) Palmieri)

- [gi-invoke-ng] do not allocate null terminator for garray (John (J5) Palmieri)

- [gi-invoke-ng] add array cleanup for in arrays (John (J5) Palmieri)

- [gi-invoke-ng] remove remaining bits of the invoke stage state machine (John (J5) Palmieri)

- [gi-invoke-ng] revamp cleanup framework to be orthogonal to cache setup (John (J5) Palmieri)

- [gi-invoke-ng] stub out a cleaner way of cleaning up after ourselves (John (J5) Palmieri)

- Doc Extractor: Correct the logic of the –no-since option. (José Alburquerque)

- Doc Extractor: Add a –no-since option. (José Alburquerque)

- [gi-invoke-ng] tweek cleanup routines (John (J5) Palmieri)

- Fix symbol names to be locale independent (Martin Pitt)

- [gi] pygi-convert.sh: Convert gtk.gdk.CROSSHAIR (Martin Pitt)

- [gi-invoke-ng] handle filename cleanup with the utf8 cleanup function (John (J5) Palmieri)

- [gi-invoke-ng] handle caller allocates cleanup (John (J5) Palmieri)

- [gi-invoke-ng] refactor the cleanup code and add utf8 cleanup as initial test (John (J5) Palmieri)

- use PyCapsule when importing pycairo/require pycairo 1.10.0 for python3 builds (John (J5) Palmieri)

- [python3] fix build. PYcairo_IMPORT doesn’t exists anymore (Ignacio Casal Quinteiro)

- Updated DOAP file (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 static ABI for setting string gvalues from python objects (John (J5) Palmieri)

- dsextras.py: ensure eol characters are preserved when writing template files (so n does not become rn) (Dieter Verfaillie)

- dsextras.py: remove r as wel as n character (Dieter Verfaillie)

- use PyCapsule when importing pycairo/require pycairo 1.10.0 for python3 builds (John (J5) Palmieri)

- [python3] fix build. PYcairo_IMPORT doesn’t exists anymore (Ignacio Casal Quinteiro)

- Updated DOAP file (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-invoke-ng] fix prototype (John (J5) Palmieri)

- [gi-invoke-ng] create new framework for cleaning up args (John (J5) Palmieri)

- [gi] Added support for GVariant arguments (Sebastian Pölsterl)

- [gi-invoke-ng] fix marshal header that is no longer part of pygi-arguments.h (John (J5) Palmieri)

- [gi-invoke-ng] code style space fixes (John (J5) Palmieri)

- [gi-invoke-ng] don’t decref value taken from a dict as it is borrowed (John (J5) Palmieri)

- [gi-invoke-ng] return None when appropriate so we don’t crash (John (J5) Palmieri)

- [gi-invoke-ng] fix aux value caching (John (J5) Palmieri)

- [gi-invoke-ng] backport handling flags with no gtype (John (J5) Palmieri)

- [gi-invoke-ng] backport raw gvalue handling (John (J5) Palmieri)

- [gi-invoke-ng] marshal instances seperately since they differ slightly from other args (John (J5) Palmieri)

- [gi-invoke-ng] refactor FunctionCache to be more generic CallableCache (John (J5) Palmieri)

- [gi-invoke-rewrite] backport glib error handling (John (J5) Palmieri)

- [gi-invoke-ng] backport closure passing from invoke (John (J5) Palmieri)

- [gi-invoke-ng] handle vfuncs and fix cosntrutors (John (J5) Palmieri)

- [gi-invoke-ng] handle foreign types correctly (John (J5) Palmieri)

- [gi] remove the class parameter from the argument list of constructors (John (J5) Palmieri)

- fix static ABI for setting string gvalues from python objects (John (J5) Palmieri)

- dsextras.py: ensure eol characters are preserved when writing template files (so n does not become rn) (Dieter Verfaillie)

- dsextras.py: remove r as wel as n character (Dieter Verfaillie)

- [gi] make new invoke-ng codepath compile correctly (John (J5) Palmieri)

- [gi] conditionalize invoke code paths (John (J5) Palmieri)

- [gi] revert back to the type.py from master (John (J5) Palmieri)

- [gi] revert pygi-argument.h and move the invoke-ng code to pygi-marshal.h (John (J5) Palmieri)

- Merge branch ‘master’ into invoke-rewrite (John (J5) Palmieri)

- [gi] foreign types now take interface infos instead of type infos (John (J5) Palmieri)

- Fix GSchema tests for separate build tree (Martin Pitt)

- [gi] start of merge from master (John (J5) Palmieri)

- [gi] marshal raw closures (John (J5) Palmieri)

- pygi-convert.sh add GObject.xxx and webkit (John Stowers)

- pygi-convert.sh remove gobject tests, GObject works now (John Stowers)

- [gi-demos] add pickers demo (John (J5) Palmieri)

- [gi-demos] add menu demo (John (J5) Palmieri)

- [gi-overrides] fix exception block so it works in Python 2.5 (John (J5) Palmieri)

- Revert “Deduce PYTHON_LIBS in addition to PYTHON_INCLUDES” (Martin Pitt)

- setup.py: fix user_access_control option (Dieter Verfaillie)

- [gi] Respect the MessageType for Gtk.MessageDialog (Martin Pitt)

- [gi] Do not require signature for D-BUS methods without arguments (Martin Pitt)

- [gi-overrides] TreeViewColumn.set_cell_data_func func_data can be None (John Stowers)

- [gi-demos] dont try and run demos that represent directories (John Stowers)

- [gi-demos] some python 3 compat fixes (John (J5) Palmieri)

- [gi-demos] add liststore demo (John (J5) Palmieri)

- [gi-demos] catch the correct error class (John (J5) Palmieri)

- Do not leak python references when using the gobject.property() helper. (Steve Frécinaux)

- handle uchar as bytes, not strings in python 3 (John (J5) Palmieri)

- [gi-overrides] handle unichar gvalues when setting treemodels (John (J5) Palmieri)

- [gi-overrides] special case python 2 keywords that crept in (John (J5) Palmieri)

- check for the py3 _thread module in configure.ac if thread is not found (John (J5) Palmieri)

- [gi-demos] add iconview demo (John (J5) Palmieri)

- [gi] wrap the keyword argument in a dict so we don’t break Python 2.5 (John (J5) Palmieri)

- [gi-demos] add the combobox with string ids section to the demos (John (J5) Palmieri)

- [gi-overrides] add an override for Gdk.RGBA (John (J5) Palmieri)

- [gi-demos] fix up search-entry to reflect annotations fixed in Gtk+ master (John (J5) Palmieri)

- [gi-demos] add search entry demo (John (J5) Palmieri)

- [gi] wrap map in a list for Python 3 compat (John (J5) Palmieri)

- [gi-demos] fix up the validation combobox (John (J5) Palmieri)

- add overridesdir variable in the .pc file for 3rd party overrides (John (J5) Palmieri)

- setup.py: Set bdist_wininst user-access-control property (Dieter Verfaillie)

- Fix uninitialized variable in gi.require_version() (Martin Pitt)

- Run tests with LC_MESSAGES=”C” (Martin Pitt)

- [gi-overrides] override Gtk.stock_lookup to not return success (John (J5) Palmieri)

## 2.28.6 - 2011-06-11

- closure: avoid double free crash (Ignacio Casal Quinteiro)

- [gi] backport of “GVariant has a GType” fe386a (John (J5) Palmieri)

- [gi] fixes to backport commit 6b5a65 - in 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 bz#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)

## 2.28.4 - 2011-04-18

- 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 rn) (Dieter Verfaillie)

## 2.28.3 - 2011-03-23

- fix a typo when converting objects to strings gvalues (John (J5) Palmieri)

## 2.28.2 - 2011-03-22

- fix static ABI for setting string gvalues from python objects (John (J5) Palmieri)

- 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)

## 2.28.1 - 2011-03-21

- pygi-convert.sh remove gobject tests, GObject works now (John Stowers)

- pygi-convert.sh add GObject.xxx and webkit (John Stowers)

- [gi] marshal raw closures (John (J5) Palmieri)

- Revert “Deduce PYTHON_LIBS in addition to PYTHON_INCLUDES” (Martin Pitt)

- setup.py: fix user_access_control option (Dieter Verfaillie)

- [gi-overrides] fix marshalling pygobjects in treemodels (John (J5) Palmieri)

- [gi] Respect the MessageType for Gtk.MessageDialog (Martin Pitt)

- [gi] Do not require signature for D-BUS methods without arguments (Martin Pitt)

- [gi-demos] add pickers demo (John (J5) Palmieri)

- [gi-demos] add menu demo (John (J5) Palmieri)

- [gi-overrides] TreeViewColumn.set_cell_data_func func_data can be None

- [gi-demos] dont try and run demos that represent directories (John Stowers)

- [gi-overrides] fix exception block so it works in Python 2.5 (John (J5) Palmieri)

## 2.28.0 - 2011-03-08

- [gi-demos] some python 3 compat fixes (John (J5) Palmieri)

- [gi-demos] catch the correct error class (John (J5) Palmieri)

- Try not to sink objects returned by C functions. (Steve Frécinaux)

- Do not leak python references when using the gobject.property() helper. (Steve Frécinaux)

- [gi] fix try except blocks so they work in Python 2.5 (John (J5) Palmieri)

- handle uchar as bytes, not strings in python 3 (John (J5) Palmieri)

- [gi-overrides] handle unichar gvalues when setting treemodels (John (J5) Palmieri)

- [gi-overrides] special case python 2 keywords that crept in (John (J5) Palmieri)

- check for the py3 _thread module in configure.ac if thread is not found (John (J5) Palmieri)

- [gi-demos] add iconview demo (John (J5) Palmieri)

- [gi] wrap the keyword argument in a dict so we don’t break Python 2.5 (John (J5) Palmieri)

- [gi-demos] add the combobox with string ids section to the demos (John (J5) Palmieri)

- [gi-overrides] add an override for Gdk.RGBA (John (J5) Palmieri)

- [gi-demos] fix up search-entry to reflect annotations fixed in Gtk+ master (John (J5) Palmieri)

- [gi-demos] add search entry demo (John (J5) Palmieri)

- [gi] wrap map in a list for Python 3 compat (John (J5) Palmieri)

- [gi-demos] fix up the validation combobox (John (J5) Palmieri)

- add overridesdir variable in the .pc file for 3rd party overrides (John (J5) Palmieri)

- [gi] remove unref for closures since they are floating objects that get sunk (John (J5) Palmieri)

- setup.py: Set bdist_wininst user-access-control property (Dieter Verfaillie)

- Fix uninitialized variable in gi.require_version() (Martin Pitt)

- Run tests with LC_MESSAGES=”C” (Martin Pitt)

- [gi-overrides] override Gtk.stock_lookup to not return success (John (J5) Palmieri)

## 2.27.91 - 2011-02-28 (2.28 pre-release)

- [gi-tests] use Gdk.test_simulate_button instead of emitting event ourselves (John (J5) Palmieri)

- [gi-tests] tests for EventButton override. (Laszlo Pandy)

- Skip interfaces when checking for conflicts in the MRO (Tomeu Vizoso)

- [gi-overrides] Add event methods to all event union members (John (J5) Palmieri)

- [gi] check to see if object is a member of a union when validating paramaters (John (J5) Palmieri)

- [gi] Remove DyanmicModule.load() to _load() to prevent overriding GI attrs. (Laszlo Pandy)

- Test case with John’s fix for crash with C arrays and a GError is set. (Laszlo Pandy)

- [gi-overrides] fix setting rows in treeview to accept None as a value (John (J5) Palmieri)

- [gi] Add value_name for enum and flags from introspection “c:identifier” (if attr is available). (Laszlo Pandy)

- Don’t force loading of DynamicModule until set in sys.modules (Laszlo Pandy)

- Fix flags with multiple names for the same value. (Laszlo Pandy)

- [gi-demos] add liststore demo (John (J5) Palmieri)

- [gi-demos] run through the demos and remove the FIXMEs that have been fixed (John (J5) Palmieri)

- Load typelibs at import time, add gi.require_version() (Tomeu Vizoso)

- use GValue support to marshal GtkTreeModel values correctly (John (J5) Palmieri)

- [gi] pass raw GValues instead of trying to marshal them (John (J5) Palmieri)

- [gi-demos] add icon view edit and drag-and-drop demo (John (J5) Palmieri)

- [gi] Register GType for non-GType enums and flags at runtime. (Laszlo Pandy)

- [gi-demos] add info bars demo (John (J5) Palmieri)

- tests/runtests.py: Add missing “import sys” (Martin Pitt)

- [gi] Add Pythonic gdbus method invocation (Martin Pitt)

- Skip GError out parameters in Python closure. (Laszlo Pandy)

- [gi-demos] added rotate text demo (John (J5) Palmieri)

- [gi-demos] add images demo (John (J5) Palmieri)

- [gi-demos] add pixbuf demo (John (J5) Palmieri)

- [gi-demos] remove fixmes from print demo, fixed in pango (John (J5) Palmieri)

- [gi-demos] add printing demo (John (J5) Palmieri)

- [gi-overrides] add cursor overrides (John (J5) Palmieri)

- [gi-demos] add the links demo (John (J5) Palmieri)

- [gi-demos] add expander demo (John (J5) Palmieri)

- [gi-overrides] use pop instead of del and add extra tests for Gtk.Table kwargs (John (J5) Palmieri)

- [tests] Separate processes for GI and static binding tests. (Laszlo Pandy)

- [GI] Remove implicit loading of gi module preserve the code path for static bindings. (Laszlo Pandy)

- [gi-demos] add dialogs demo (John (J5) Palmieri)

- [gi-overrides] fix typo in GtkTable constructor (John (J5) Palmieri)

- [gi-demos] keep popup menu from destroying itself by holding a ref in app class (John (J5) Palmieri)

- [gi-overrides] add a Gtk.Menu override for the popup method (John (J5) Palmieri)

- [gi-demos] fix the about dialog in appwindow demo (John (J5) Palmieri)

- [gi-demos] fix clipboard demo so DnD works (John (J5) Palmieri)

- [gi-demos] fix clipboard demo to reflect new API (John (J5) Palmieri)

- [gi-demo] Fix color dialog demo to run with new draw, style and color apis (John (J5) Palmieri)

- [gi-demos] fix most of the combobox app (John (J5) Palmieri)

- Use PyGI type conversion (to fix foreign types) for signal callbacks. (Laszlo Pandy)

- [gi-demos] fix drawingarea app to use the new draw api (John (J5) Palmieri)

- [gi-overrides] for Gtk 3 alias Gdk.Rectangle to cairo.RectangleInt (John (J5) Palmieri)

- [gi-overrides] let user set the proper property names in Gtk.Table (John (J5) Palmieri)

- [gi-demos] get appwindow demo working again (John (J5) Palmieri)

- [gi-demos] fixed use of tree_iter_get (John (J5) Palmieri)

## 2.27.90 - 2011-02-11 (2.28 pre-release)

- 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)

## 2.27.0 - 2010-11-10

- 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)

## 2.26.0 - 2010-09-24

- Wrap g_get_system_{config,data}_dirs () (John Strowers)

- fixed make check and make dist (John (J5) Palmieri)

- Disable GI tests when introspection disabled (John Stowers)

- Wrap g_uri_list_extract_uris. Fixes bug bz#584431 (Tomeu Vizoso)

- Fix a few uses of TRUE and FALSE in the docs (Paul Bolle)

- pygi: always free the invocation_state struct (Damien Caliste)

- Start implementing something equivalent to g_variant_new (Tomeu Vizoso)

- fixed typo - missing comma in glib.option module (John (J5) Palmieri)

- add checks so we can compile under python 3 by setting PYTHON=python3 (John (J5) Palmieri)

- Rename static methods as functions (Tomeu Vizoso)

- fix a couple of compiler warnings (John (J5) Palmieri)

- remove unused code (John (J5) Palmieri)

- Check the type of the instance object (John (J5) Palmieri)

- include the correct pycairo version (John (J5) Palmieri)

- Use PyMapping_Keys to determine if an object is a dict (py3k fix) (John (J5) Palmieri)

- fix handling of UINT64 and INT64 arguments in py3k (John (J5) Palmieri)

- properly handle ulongs properties in py3k (John (J5) Palmieri)

- Specify encoding of tests/test_gi.py (Tomeu Vizoso)

- use actual unicode in the tests on py3k, not the byte representation (John (J5) Palmieri)

- s/METH_KEYWORDS/METH_VARARGS|METH_KEYWORDS/ when defining object methods (John (J5) Palmieri)

- fix subclassing PyLong by calling __new__ correctly (John (J5) Palmieri)

- minor py3k fixups for python modules (John (J5) Palmieri)

- minor fixes in tests for py3k compat (John (J5) Palmieri)

- compilation: Fix syntax error (Colin Walters)

- Add missing file (Tomeu Vizoso)

- Add override for GLib.Variant.new_tuple (Tomeu Vizoso)

- fix for changes in the gi test libraries (John (J5) Palmieri)

- Gtk.DialogFlags.NO_SEPARATOR has been removed in Gtk 3.0 (John (J5) Palmieri)

- no need to offset arg positions when is_method is true (John (J5) Palmieri)

- gi: Add support for more property types (Tomeu Vizoso)

- use PyObject_SetAttrString, not PyDict_SetItemString when setting __gtype__ (John (J5) Palmieri)

- Rename GArgument to GIArgument (Tomeu Vizoso)

- fix up tests so they run in py3k (John (J5) Palmieri)

- tests: Port to new introspection tests (Colin Walters)

- we need to specify tp_hash since we overide tp_richcompare (John (J5) Palmieri)

- working enum/flags/pid subclasses of long (John Ehresman)

- make vfuncs work in py3k (John (J5) Palmieri)

- make cairo module compile in py3k (John (J5) Palmieri)

- fix exceptions so they work in python 3.x (John (J5) Palmieri)

- make the gi module compile under 3.x (John (J5) Palmieri)

- fix up testshelper module so it compiles in python 3.x (John (J5) Palmieri)

- convert to using PYGLIB_DEFINE_TYPE for module objects (John (J5) Palmieri)

- some more p3k PyString and PyInt eradication in GI (John (J5) Palmieri)

- pyglib: Fix typo (Leo Singer) (Tomeu Vizoso)

- Add defines for size_t and ssize_t conversion functions (Gustavo Noronha Silva)

- pyglib: Fix a compiler warning (Colin Walters)

- Don’t force gtk 2.0 (Tomeu Vizoso)

- Fix some ref leaks in hook_up_vfunc_implementation() (Steve Frécinaux)

- handle strings correctly in gio (John (J5) Palmieri)

- make giomodule compile under py3k (John (J5) Palmieri)

- for py3k we need to do some more processing to get bytes from a unicode string (John (J5) Palmieri)

- use Bytes instead of Unicode when reading io (John (J5) Palmieri)

- prefix compat macros with PYGLIB (John (J5) Palmieri)

- Gtk.Button unit tests (John (J5) Palmieri)

- [Gtk] Add overrides for Button (Johan Dahlin)

- Make Cairo an optional dependency (Simon van der Linden)

- Don’t import again PyGObject (John Ralls) (Tomeu Vizoso)

- move to using richcompare slot instead of compare (John (J5) Palmieri)

- Replace autogen.sh by a newer version (Simon van der Linden)

- Fix some warnings (Simon van der Linden)

- Fix caller-allocates emergency free. (Simon van der Linden)

- Remove useless checks. (Simon van der Linden)

- Call valgrind with G_SLICE=always-malloc G_DEBUG=gc-friendly (Tomeu Vizoso)

- Fix some warnings. (Ignacio Casal Quinteiro)

- Add myself as a maintainer (Simon van der Linden)

- Properly allocate boxed structs that are (caller-allocates) (Tomeu Vizoso)

- override gdk.Event to return attribute from the proper event object (Toms Baugis)

- check if z# needs an int or Py_ssize_t (John (J5) Palmieri)

- make sure we parse parameters to python object vars not glib vars (John (J5) Palmieri)

- Make an example and a demo work out of the box (Paul Bolle)

- make sure caller allocated structs are freed when they go out of scope (John (J5) Palmieri)

- Revert “override gdk.Event to return attribute from the proper event object.” (Tomeu Vizoso)

- PyGI: properly quit cairo-demo (Paul Bolle)

- override gdk.Event to return attribute from the proper event object. (Toms Baugis)

- Clean and improve the test infrastructure (Simon van der Linden)

- Add some more transformations to pygi-convert.sh (Tomeu Vizoso)

- Adapt to API changes: g_irepository_enumerate_versions (Tomeu Vizoso)

- Add GValue<->GArgument marshalling for some more types (Tomeu Vizoso)

- Chain up with the non-introspection implementation for properties if needed (Tomeu Vizoso)

- Improve error reporting for missing attributes in introspection modules (Tomeu Vizoso)

- Implement getting and setting properties using introspection information. (Tomeu Vizoso)

- Readd Gdk.Rectangle override for Gtk-2.0 (Tomeu Vizoso)

- Allow specifying a version when loading a typelib (Tomeu Vizoso)

- treat GFreeFunc as equivalent to GDestroyNotify when scanning callbacks (Jonathan Matthew)

- Don’t use == to compare doubles, use <= and =>. (Simon van der Linden)

- Allow passing ints as enum args (Tomeu Vizoso)

- Make error message less ambiguous (Tomeu Vizoso)

- fix passing in type names as a GType and add gtype unit tests (John (J5) Palmieri)

- Increase a bit verbosity of tests so people know which test failed (Tomeu Vizoso)

- Actually add the files for GVariant foreign structs (Tomeu Vizoso)

- Add foreign struct support for GVariant (Tomeu Vizoso)

## 2.21.5 - 2010-07-12

- 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)

## 2.21.4 - 2010-06-29

- 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)

## 2.21.3 - 2010-06-21

- 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)

## 2.21.2 - 2010-06-10

- Drop sinkfuncs. (Tomeu Vizoso)

- Clear error if we failed the import (Colin Walters)

- Added missing , to keyword list of gio.GFile.set_attribute (John Ehresman)

- Fix arg conversion in gio.GFile.set_attribute (John Ehresman)

- Set constants under python 2.5 or before (John Ehresman)

- Doc Extractor: Use replacements that make sense for &…; expressions. (José Alburquerque)

- Add build docs for windows (John Stowers)

- Setup.py cosmetic tidy (John Stowers)

- Fix crash when importing gio (John Stowers)

- Bug 589671 - Dont use generate-constants (John Stowers)

- Bug 589671 - Fix setup.py for windows build (John Stowers)

- Include pygsource.h (John Stowers)

- codegen/docextract_to_xml.py: One more &…; replacement (&nbsp;). (José Alburquerque)

- codegen/docextract_to_xml.py: Replace some &..; that cause errors. (José Alburquerque)

- codegen/docextract_to_xml.py: Handle C++ multi-line comments. (José Alburquerque)

- codegen/docextract.py: Stop final section processing on first match. (José Alburquerque)

- Update doc extraction tool to handle GObjectIntrospection annotations. (José Alburquerque)

- Docs: replace gio.IO_ERROR_* with gio.ERROR_* (Paul Bolle)

- Bug 613341 - pygobject tests seem to require pygtk causing a circular (Gian Mario)

- Don’t raise an error in _pygi_import if pygi support is disabled (Simon van der Linden)

- Initialize PyGPollFD_Type.fd_obj to NULL (Tomeu Vizoso)

- Bug 605937 - pygobject: Makefile.am sets $TMPDIR, disrupting distcc (Gian Mario)

- Wrap gio.Cancellable.make_pollfd() and add a test (Gian Mario)

- Make cancellable an optional parameter in many methods (Gian Mario)

## 2.21.1 - 2010-01-02

- Wrap gio.Volume.eject_with_operation (Gian Mario)

- Wrap gio.Mount.eject_with_operation (Gian Mario)

- Wrap gio.Mount.unmount_mountable_with_operation (Gian Mario)

- Wrap File.unmount_mountable_with_operation (Gian Mario)

- Wrap gio.File.stop_mountable (Gian Mario)

- Wrap gio.File.start_mountable (Gian Mario)

- Wrap gio.File.replace_readwrite_async (Gian Mario)

- Wrap gio.File.poll_mountable (Gian Mario)

- Wrap gio.File.open_readwrite_async (Gian Mario)

- Wrap gio.File.eject_mountable_with_operation (Gian Mario)

- Wrap gio.File.create_readwrite_async (Gian Mario)

- Wrap gio.Drive.stop (Gian Mario)

- Wrap gio.Drive.start (Gian Mario)

- Wrap gio.SocketListener.accept_socket_async|finish (Gian Mario)

- Wrap gio.SocketListener.accept_finish (Gian Mario)

- Wrap gio.SocketListener.accept_async (Gian Mario)

- Wrap gio.SocketListener.accept_socket (Gian Mario)

- Wrap gio.SocketListener.accept (Gian Mario)

- Make cancellable optional in gio.SocketClient.connect_to_host (Gian Mario)

- Wrap gio.SocketListener.add_address (Gian Mario)

- Wrap gio.SocketClient.connect_to_service_async (Gian Mario)

- Wrap gio.SocketClient.connect_to_host_async (Gian Mario)

- Wrap gio.SocketClient.connect_async (Gian Mario)

- Wrap gio.SocketAddressEnumerator.next_async (Gian Mario)

- Add a missing object gio.InetSocketAddress new in GIO 2.22 (Gian Mario)

- Make cancellable optional for gio.SocketAddressEnumerator.next (Gian Mario)

- Wrap gio.Socket.condition_wait (Gian Mario)

- Wrap gio.Socket.condition_check (Gian Mario)

- Wrap gio.Resolver.lookup_service_finish (Gian Mario)

- Wrap gio.Resolver.lookup_service_async (Gian Mario)

- Wrap gio.Resolver.lookup_service (Gian Mario)

- Wrap gio.Resolver.lookup_by_address_async (Gian Mario)

- Wrap gio.Resolver.lookup_by_name_finish (Gian Mario)

- Wrap gio.Drive.eject_with_data (Gian Mario)

- Deprecate old gio.Drive methods (Gian Mario)

- Wrap gio.Resolver.lookup_by_name (Gian Mario)

- Make cancellable optional in gio.Resolver.lookup_by_address (Gian Mario)

- Strip `g_` prefix for many other functions (Gian Mario)

- Strip `g_` prefix from InetAddress functions (Gian Mario)

- Fix function name gio.resolver_get_default (Gian Mario)

- Wrap gio.FileIOStream.query_info_async (Gian Mario)

- Register enums and flags in PyGI if needed (Tomeu Vizoso, bz#603534)

- Wrap gio.IOStream.close_async (Gian Mario)

- Make cancellable optional in GFile.create_readwrite (Gian Mario)

- Remove a duplicate entry in gio.defs (Gian Mario)

- Wrap gio.FileInfo.set_modification_time (Gian Mario)

- Wrap gio.EmblemedIcon.get_emblems (Gian Mario)

- Update Enums and Flags with new API (Gian Mario)

- Fix handling of uchar in pyg_value_from_pyobject (Bastian Winkler)

## 2.21.0 - 2009-12-18

- pygmainloop: fix use of PySignal_WakeUpFD API for nested loops (Philippe Normad, bz#481569)

- Add capabilities to import wrappers from pygi (Simon van der Linden)

- Move threads_init() function from ‘gobject’ to ‘glib’ (Paul)

- Fix wrong minimum checking in float properties (Paul, bz#587637)

- Wrap new API added in GIO 2.22 (Gian Mario)

- Fix bad name when rebuilding the unix source module (Gian Mario)

- Add the missing limit constants from glibconfig.h (Tomeu Vizoso, bz#603244)

- Suppress warnings about format conversion (Simon van der Linden, bz#603355)

- Properly define Connectable as interface type and not object type (Gian Mario)

- Wrap new API added in GIO-UNIX 2.22 (Gian Mario)

- Wrap g_find_program_in_path (Gian Mario, bz#598435)

- Add pygi-external.h into Makefile SOURCES (Gian Mario)

## 2.20.0 - 2009-09-23

- Allow to use automake 1.11 (Paolo Borelli)

- Specify programming language in .devhelp file (Frédéric Péters)

- Plug reference leak of GSource in pyg_main_loop_init (Paul)

- Updated uninstalled.pc file (Brian Cameron)

## 2.19.0 - 2009-08-10

- Add macros to help with Python list to/from GList/GSList conversions. (John Finlay)

- GIO docs practically completed (Gian)

- GFileInfo.list_attributes should accept None/NULL (Gian)

- Strip out Windows DLL API macros (John Finlay)

- Document that many functions got moved gobject -> glib (Paul)

- Allow h2def.py to work when there are tabs or multiple spaces after the struct keyword. (Murray Cumming)

- Fix build when builddir is not the same as srcdir (Theppitak Karoonboonyanan)

- Make gio.Emblem constructor new-style (Paul)

- Cleanup GIO overrides to use Python function/method names (Paul)

- Make codegen report errors using Python function/method names (Paul)

- Fix object type in gio.BufferedInputStream_fill_async (Gian)

- Wrap gio.BufferedInputStream.fill_async (Gian)

- Add gio.BufferedOutputStream which was forgotten in the types (Gian)

- Split overrides for gio.MemoryOutputStream (Gian)

- Wrap gio.memory_input_stream_new_from_data (Gian)

- Introduces the girepository module from the former PyBank (Simon van der Linden)

- Add API appeared in 2.20 but not marked as such in gio docs (Gian)

- Wrap gio.FileOutputStream.query_info_async (Gian)

- Wrap gio.FileInputStream.query_async (Gian)

- Install executable codegen parts with executing permissions (Paul)

- Wrap gio.DataInputStream.read_line_async and read_until_async (Paul)

- Fix gio.OutputStream.splice_async (Paul)

- Add GIO 2.20 API and update docs (Gian)

## 2.18.0 - 2009-05-24

- Improve gio docs with some more classes (Gian)

- Wrap gio.OutputStream.splice_async() (Gian)

- Add Python ver into installed libpyglib name (Emilio Pozuelo Monfort)

- Wrap gio.OutputStream.flush_async() (Gian)

- Use ‘Requires.private’ for libffi in ‘.pc’ files (Josselin Mouette)

- Add wrapper for gio.FileAttributeMatcher (Gian)

- Mark relevant glib.IOChannel methods as METH_NOARGS (Paul)

- Retire hand-written ChangeLog; autocreate from Git history (Paul)

- Wrap gio.InputStream.skip_async() (Gian)

- Add in codegen -n –namespace option and the code to remove dll API in headers, added documentation (Siavash Safi)

- Properly mark glib.get_user_special_dir() as a keywords method (Paul)

## 2.17.0 - 2009-04-30

- Write a good part of the docs for gio (Gian)

- Wrap g_mount_guess_content_type g_mount_guess_content_type_finish g_mount_guess_content_type_sync (Gian, bz#580802)

- Swap first two arguments of gio.File.query_info_async (Paul, bz#580490)

- Fix a crash in pyg_type_add_interfaces (Paul, bz#566571)

- Remove an empty structure, use sizeof(PyObject) instead (Paul, bz#560591)

- Wrap four g_get_user_*_dir() functions (Paul, bz#575999)

- Remove ‘ltihooks.py’ as using deprecated Python module (Paul)

- Code maintenance: add .gitignore files (Paul)

- CellRendererPixbuf stock-size property has wrong type (Paul, bz#568499)

- Add a doap file after git migration (Johan Dahlin)

- missing dep on libffi in pygobject-2.0.pc (Götz Waschk, bz#550231)

- g_volume_monitor_tp_new new function, return the singleton object. (Paul, bz#555613)

- Remove a DeprecationWarning under python 2.6 (James Westby, bz#573753)

- several scripts from codegen directory are not distributed (Krzesimir Nowak)

- g_file_copy_async change argument order to keep it consistent with the other methods (Gian)

- memory leak in gio.File.copy_async (Paul Pogonyshev, bz#578870)

- g_file_monitor should accept None for cancellable and set the default flag to G_FILE_MONITOR_NONE (Gian)

- pyg_notify_free needs to ensure it has GIL before calling Py_XDECREF (Jonathan Matthew)

- Wrap g_file_set_display_name_async (Gian)

- Add a semi-private method to return the option context C object from an option context wrapper (Tristan Hill)

- Converting a negative long Python value to a GUINT64 GValue doesn’t error out as it should (Gustavo J. A. M. Carneiro, bz#577999)

- Wrap g_file_set_attributes_async and g_file_set_attributes_finish (Gian)

- g_file_query_filesystem_info_async fix a typo (Gian)

- Wrap g_file_query_filesystem_info_async (Gian)

- Add missing g_file_query_filesystem_info_async and g_file_query_filesystem_info_finish (Gian)

- Wrap g_file_eject_mountable (Gian)

- g_file_copy callback cannot be optional (Gian)

- Swap various kwargs names to reflect the code (Gian)

- Update the address of the FSF (Tobias Mueller, bz#577134)

- Add g_volume_should_automount (Gian)

- Wrap g_drive_enumerate_identifiers and g_volume_enumerate_identifiers (Gian)

- Add a couple of convinence functions to convert from/to a python list and an array of strings (Gian)

- Allow setting pytype wrapper class (Mark Lee, John Ehresman, bz#559001)

- Wrap g_file_enumerator_close_async (Gian Mario Tagliaretti)

## 2.16.1 - 2009-02-22

- Apply the patch provided by Cygwin Ports maintainer (Paul Pogonyshev, bz#564018)

- Bad -I ordering can break build, patch from [dmacks netspace org] (Gian Mario Tagliaretti, bz#566737)

- Fix keyword list to be in sync with positional arguments (Paul, bz#566744)

- Add a comment explaining why the two for loops for registering interfaces (Gustavo Carneiro)

- Huge cleanup of GIO overrides (Paul, bz#566706)

- gtk.Buildable interface method override is not recognized (Paul, bz#566571)

- Do not escape the ampersand “&” in entity references. Replace some unusual entity references in the output with their literal values. (Daniel Elstner, bz#568485)

- gio.InputStream.read_async can cause memory corruption. (Paul, bz#567792)

- Inconsistent use of tabs and spaces in pygtk.py (Paul, bz#569350)

- Huge fix of memory leaks in GIO (Paul, Paolo Borelli, Gian, bz#568427)

- non-async functions don’t release python locks before calling blocking C functions (Gian, Gustavo, bz#556250)

- Change comment to avoid false positives when grep’ing for deprecated gtk functions (Andre Klapper)

- ltihooks.py updating license header from GPL to LGPL (James Henstridge)

## 2.16.0 - 2009-01-04

- gobject.timeout_add_seconds() not found in docs (Paul Pogonyshev, bz#547119)

- _wrap_g_output_stream_write_async not adding a reference to the buffer passed (Paul, bz#564102)

- gio.VolumeMonitor segfaults (Gian Mario Tagliaretti, bz#555613)

- Test if domain is not-null before using it to avoids segfaults (Paul, bz#561826)

- g_output_stream_write_all use gsize instead of gssize (Gian)

- add __repr__ to gio.Drive, gio.Mount and gio.Volume (Paul, bz#530935)

- Missing AC_CONFIG_MACRO_DIR([m4]) (Loïc Minier, bz#551227)

- Make codegen not import when corresponding argument types are not registered (Paul, bz#551056)

- Fix typos breaking compilation (Frederic Peters bz#551212)

- GFile load_contents methods chop data at first 0 (Jonathan Matthew, bz#551059)

## 2.15.4 - 2008-09-03

- Fix typo in GPointer type registration (Loïc Minier,:bzbug:550463)

- support G_TYPE_CLOSURE in codegen (Gian)

## 2.15.3 - 2008-08-31

- Beginning of porting to 3.0. glib & gobject module ported.

- Wrap g_app_info_* functions (Gian)

- Wrap gio.FileAttributeInfo (Gian)

- Wrap g_vfs_get_supported_uri_schemes (Johan, bz#545846)

- Wrap g_file_info_get_modification_time (Johan, bz#545861)

- Wrap gio.Volume.mount/eject (Johan)

- Wrap gio.File.move (Johan)

- Wrap gio.query_writable_namespaces (Gian, bz#545920)

- Separate glib & gobject documentation

- Wrap GFile.append_to_async (Gian, bz#545959)

- Wrap GFile.create_async (Gian, bz#546020)

- Change return value from ‘gboolean’ to ‘int’ and changed semantics to Pythonic (Paul, bz#544946)

- Wrap GFile.replace_async and query_info_async (Gian, bz#546046)

- GIcon and implementations improvements (Paul, bz#546135)

- Improve __repr__ and richcompare for gio classes (Paul)

- Missing Py_INCREFs for some file async methods (Jonathan Matthew, bz#546734)

- File.copy progress_callback does not work (Paul, bz#546591)

- add File.replace_contents, replace_contents_async, replace_contents_finish. (Jonathan Matthew, bz#547067)

- Add GFile.query_default_handler (Gian)

- fix docstring line length (Jonathan Matthew, bz#547134)

- improve runtime type wrapper creation (Paul, bz#547104)

- make gio.File more Pythonic (Paul, bz#546120)

- No TypeError raised when type is None (Paul, bz#540376)

- wrap a few memory stream methods (Paul, bz#547354)

- wrap gio.DataInputStream.read_line and …read_until (Paul, bz#547484)

- wrap four important asynchronous methods in gio.Drive and gio.Mount (Paul, bz#547495)

- gio.InputStream.read() looks broken (Paul, bz#547494)

- wrap g_content_types_get_registered() (Paul, bz#547088)

- cannot create new threads when pygtk is used (Paul, bz#547633)

- an unitialized variable in PyGLib (Paul, bz#549351)

- Constructor of gtk.TreeView raises TypeError when model is None (Paul, bz#549191)

- Fix memory problems reported by valgrind due to invalid tp_basicsize in PyGPropsDescr_Type. (Gustavo, bz#549945)

## 2.15.2 - 2008-07-26

- New module: glib, which contains the parts of the old gobject bindings which are in the glib library. MainLoop/MainContext/Sources/GOption and a few others has now moved.

- Add a new installed library libpyglib-2.0, which contains the extension API for third-part modules instead of relying on macros which accesses struct fields.

- Add bindings for gio.File.enumerate_children_async, gio.FileEnumerator.next_files_async, gio.Mount.mount, gio.File.mount_mountable, gio.File.mount_enclosing_volume, gio.File.unmount_mountable, gio.File.copy.

- Add a new api for mapping a GError domain to an exception and register an exception for GIOError.

- Remove leading IO_* prefix for the gio flags and register a quark for the domain.

- Use GSlice in the glib module and bump required version to 2.14.

## 2.15.1 - 2008-07-15

- Rename pygtk-codegen-2.0 to pygobject-codegen-2.0 to avoid conflicting with PyGTK (Paul Pogonyshev)

## 2.15.0 - 2008-07-15

- Add GIO bindings (Johan, Mario Tagliaretti, Thomas Leonard)

- Move codegen from PyGTK (Johan, Paul Pogonyshev, bz#542821)

- Add more variables to the .pc files (Damien Carbery, Paul, Dan Winship, bz#486876)

- Add pyg_option_group_new to the public API (Johan)

- Add g_get_application_anme and g_get_progname (Sebastian Rittau)

- Avoid making wakeups when using Python 2.6 (Johan, Gustavo, Adam Olsen, Josselin Mouette, Philippe Normand, Guido Van Rossum)

- Only link against libffi when found (Ed Catmur, bz#496006)

- Improve gobject.property (Tomeu Vizoso, bz#523352)

- Improve enum comparision and warnings (Paul, Phil Dumont, bz#428732)

- Many gobject.Source improvements (Bryan Silverthorn)

- Apply some fixes to make pylint happier (Johan, Simon Schampijer, bz#523821)

- Fix error message in pyg_io_add_watch (Juha Sahkangas)

- Improve h2def.py (Oliver Crete, Murray Cumming, Lauro Moura)

## 2.14.2 - 2008-05-23

- Allow gobject.property work with subclasses. (bz#523352, Tomeu Vizoso)

- Unbreak Source.prepare (bz#523075, Bryan Silverthorn)

- Never override customly set ‘tp_new’ and ‘tp_alloc’ (Paul Pogonyshev)

- Don’t link against libffi if we cannot find libffi on the system. (bz#496006, Ed Catmur)

- Dist .m4 files. (bz#496011, Ed Catmur)

- Don’t return NULL after warning of enum comparsion (bz#519631, Paul Pogonyshev)

## 2.14.1 - 2008-01-03

- Avoid wakeups when using Python trunk (Johan Dahlin, bz#481569)

- Add an uninstalled.pc (Damien Carbery, bz#486876)

## 2.14.0 - 2007-09-16

- Fix a Python 2.6 deprecation warning (Johannes Hölzl, bz#342948)

- Wrap g_timeout_add_seconds, when compiling with glib 2.14 (Gustavo)

- Always fully initialize the PyGObject (Ed Catmur, bz#466082)

- Fix compilation in Solaris, again (bz#339924, Gustavo)

- Fix check for default value in boolean type (Marco Giusti, bz#470230)

- Fix new style properties with subclasses (Johan Dahlin, bz#470718)

- Docs generation fixes (John Finlay)

## 2.13.2 - 2007-07-07

- Fix build on opensolaris (Damien Carbery, bz#339924)

- Proxy GOption exceptions from Python to C (Johannes Hölzl, bz#342948)

- Support G_TYPE_VALUE boxed args/signals (Ed Catmur, Carlos Martin, bz#351072)

- pyg_error_exception_check bug fix (Sebastian Granjoux, bz#449879)

- Toggle references bug fix (bz#447271, Gustavo Carneiro)

- use python-config to get python includes (bz#448173, Sebastien Bacher)

- Support GObject properties in new properties API (Gustavo)

- generate-constants fixes (Muntyan)

- Allow running autogen.sh from outside $srcdir (Muntyan)

## 2.13.1 - 2007-05-02

- Generic CClosure marshaller using libffi (Johan, bz#353816)

- Uninstalled .pc file (Damien Carbery, bz#385129)

- Fix leak in GFlags handling (Daniel Berrange, bz#428726)

- Use dirname in autogen (Loïc Minier, bz#409234)

- Treat None in a GValueArray as pointer/NULL (Ed Catmur, bz#352209)

- Toggle reference bug fix in tp_setattro (Gustavo, bz#434659)

- Add a simplified helper for creating properties (Johan, Gustavo, bz#338089)

- Avoid throwing an exception in GValue converter (James Livingstone, Ed Catmur, bz#374653)

- Build fix in .pc file (Luca Ferretti, bz#435132)

## 2.13.0 - 2007-04-23

- Release the GIL in g_object_set_property (Edward Hervey, bz#395048)

- Break PyGObject<->GObject reference cycle (Gustavo Carneiro, bz#320428)

- use static inline functions for init_pygobject (Gustavo, bz#419379)

- Wrap g_set_application_name, g_set_prgname (Havoc Pennington, bz#415853)

- New pyg_gerror_exception_check API (Gustavo, bz#425242)

- New API to get/set multiple properties (Gian Mario Tagliaretti, bz#403212)

- Misc. bug fixes.

## 2.12.3 - 2006-11-18

- distutils build fixes (Cedric)

- documentation updates (John)

- gobject.handler_block_by_func and friends now accept methods (Johan, Dima, bz#375589)

- avoid truncating of gparamspec (Yevgen Muntyan, bz#353943)

- set __module__ on gobject derived types (Johan, Osmo Salomaa, bz#376099)

- Ensure exceptions are raised on errors in gobject.OptionGroup (Johan, Laszlo Pandy, bz#364576

## 2.12.2 - 2006-10-03

- Make PyGObject 64-bit safe for Python 2.5 (Gustavo)

- All headers are now LGPL and not GPL (Johan)

- Remove a couple of GCC warnings (Gustavo)

- Revive distutils support (Cedric Gustin)

- Emission hook reference count bugfix (Gustavo)

- MSVC/ANSI C compilation fix (John Ehresman)

- Bump Ctrl-C timeout handler from 100ms to 1000 (Johan)

## 2.12.1 - 2006-09-04

- Corrected version check (Sebastian Dröge, bz#354364)

## 2.12.0 - 2006-09-04

- Install the html files even when using –disable-docs (bz#353159, Johan, Matthias Clasen)

## 2.11.4 - 2006-08-27

- Include pre-generated html docs in the tarball (Johan)

- Fix bug in do_set_property called from constructor (Gustavo, bz#353039)

- Fix type registration involving interfaces with signals and/or properties (Gustavo)

## 2.11.3 - 2006-08-21

- Documentation updates (John)

- Documentation build fixes (Johan, John, Gian Mario Tagliaretti)

- PyGObject can now be compiled using a C++ compiler (Murray Cumming)

- Type registration bug fix (Gustavo)

## 2.11.2 - 2006-08-08

- Add fixxref.py from PyGTK (Johan)

- Fix parallel build (bz#350225, Ed Catmur)

## 2.11.1 - 2006-08-04

- Add John Finlay’s reference manual (Johan, John)

- Fix GOption mem leak (Gustavo)

- Infrastructure for lazy type registration (Johan)

- Enum/Flags fixes (Gustavo, John)

- Eliminate some GCC warnings (Johan)

## 2.11.0 - 2006-07-12

- Add GOption support (bz#163645, Johannes Hölzl)

- GObject metaclass converted to Python code (Gustavo)

- Register GType constants from Python-land (Johan)

- Distutils updates (John Ehresman, Cedric Gustin)

- Add support for signal emission hooks (bz#154845, Johan)

- g_spawn_close_pid support (Gustavo)

- Add new APIs do add or disable log redirections (Muntyan, bz#323786)

- “sub-sub-type” bug fixed (Gustavo)

- Coverity report code fixes (Johan)

- Support retrieving signal and property info from interfaces (Finlay)

- Support parameters of type G_TYPE_GSTRING in signals (Gustavo)

- Wrap a few g_filename_* APIs (Gustavo)

## 2.10.1 - 2006-04-11

- uint64 property bug fix (Andy Wingo)

- Hard code path to 2.0 (Gustavo)

- Allow only tuples and lists in strv to value (Gustavo)

- Include dsextras.py in the dist (Johan)

## 2.10.0 - 2006-03-13

- enum/leak fix (Michael Smith)

## 2.9.1 - 2006-01-16

## 2.9.0 - 2006-01-16

- Signal accumulator support (Gustavo)

- GObject doc string generation improvements (Gustavo)

- Discover GInterfaces in runtime (Gustavo)

- Warn if return value in iowatch callback is not bool (Gustavo)

- Convert string arrays properly (Christopher Aillon)

## 2.8.0 - 2006-01-09

- Initial release, split of from PyGTK.

- Updates for Python 2.5’s richcompare (Manish Yosh)

- PyFlags bug fixes (Gustavo)

- Fix leak in pygobject_new_with_interfaces (Johan)

- Undeprecate gobject.type_register (Johan)