3.44.1 - 2023-03-24
-------------------

* Fix tests with glib 2.76 :mr:`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 :mr:`184`
* meson: bump minimum version to 0.53.0 and update subprojects :mr:`227`
* gimodule: fix floating state of python objects created with g_object_new :mr:`129`
* Gtk.Template: Accept PathLike objects as a filename :mr:`195`
* info: Show which type/object callables are bound to :mr:`194`
* IntrospectionModule: handle two threads loading type at same time :mr:`149`
* Port to Py_TRASHCAN_BEGIN :mr:`226`
* Other cleanups/improvements: :mr:`181` :mr:`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 :mr:`180`
* Add a workaround for a PyPy 3.9+ bug when threads are used :mr:`200`
* Fix crashes when marshaling zero terminated arrays for certain item types :mr:`191`
* Fix a crash/refcounting error in case marshaling a hash table fails :mr:`191`
* Make the test suite pass again with PyPy :mr:`191`
* tests: support running tests with (MSVC) CPython 3.8+ on Windows :mr:`206`
* interface: Fix leak when overriding GInterfaceInfo :mr:`204`
* setup.py: look up pycairo headers without importing the module
  (helps with building on Windows and MSVC CPython 3.8+) :mr:`205`


3.42.1 - 2022-04-17
-------------------

* Do not error out for unknown scopes :mr:`179`
* gtk overrides: restore Gtk.ListStore.insert_with_valuesv with newer gtk4 :issue:`467`
* gtk overrides: Do not override Treeview.enable_model_drag_xx for GTK4 :mr:`175`
* Implement DynamicImporter.find_spec() to silence a deprecation warning with Python 3.10 :issue:`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() :issue:`470`
* docs: document Gtk.Template. :issue:`396`
* dev: Add poetry support
* meson: use main branch for glib subproject
* Fix some small memory leaks :mr:`178`


3.40.1 - 2021-03-30
-------------------

* Fix tests with glib 2.68 :mr:`166`
* Fix a regression with marshalling partial() objects :mr:`165` :issue:`464`


3.40.0 - 2021-03-19
-------------------

* GTK 4 compatibility fixes :mr:`148` :mr:`159` :mr:`144` :mr:`145`
* Python 3.9 and 3.10 compatibility fixes :mr:`152` :mr:`156`
* New minimal dependency requirements due to dropping support for Ubuntu 16.04 :mr:`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 :issue:`392` for details

* meson: Make the `pycairo` option a feature :mr:`146` :mr:`147`
* gdk overrides: Fix wrapping of scroll events :mr:`141`
* Add overrides for Gtk.Button set/get_focus_on_click :mr:`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) :issue:`257` :issue:`386` :issue:`341` :mr:`140` (:user:`Jean Felder <jfelder>`)
* Gtk.Template: Fix errors when calling init_template() multiple times :mr:`140` (:user:`Jean Felder <jfelder>`)


3.36.0 - 2020-03-08
-------------------

This will be the last release supporting Python 2.

* pygobject-object: Avoid checking whether NULL is floating :mr:`135` (:user:`Alexandru Băluț <aleb>`)
* 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 (:user:`Marinus Schraal <mschraal>`)
* Docs:

  * Update openSUSE instructions (:user:`sharkwouter`)
  * Add Gaphor to Who is Using PyGObject (:user:`Dan Yeaw <danyeaw>`)
  * Remove reference to a fixed bug (:user:`Christian Stadelmann <genodeftest>`)


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 :mr:`121` (:user:`Mathieu Bridon <mbridon>`)
* pygobject: ignore GParameter deprecations :mr:`122` (:user:`Christian Hergert <chergert>`)
* pygobject-object: fix refcount of floating return values :mr:`120` (:user:`Mathieu Duponchelle <mathieudu>`)
* pygi-info: remove some dead code :issue:`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+ :issue:`320`
* Fix a crash when marshalling a GError to Python fails :mr:`115`
* Fix leak of transfer-full/container C arrays :mr:`117` (:user:`Tomasz Miąsko <tmiasko>`)
* Python 3.8b1 compatibility fixes


3.32.1 - 2019-04-20
-------------------

* tests/gimarshallingtestsextra.c/h: relicense to LGPLv2.1+ :issue:`320`
* meson: add ``tests`` option for disabling tests :mr:`113` (:user:`Adam Duskett <aduskett>`)
* meson: tests: pass ``--quiet`` to g-ir-scanner :mr:`114` (:user:`Tim-Philipp Müller <tpm>`)
* Fix a crash when marshalling a GError to Python fails :mr:`115`
* Fix leak of transfer-full/container C arrays :mr:`117` (:user:`Tomasz Miąsko <tmiasko>`)


3.32.0 - 2019-03-10
-------------------

* No changes since 3.31.4


3.31.4 - 2019-03-07
-------------------

* docs: document GObject.Object.weak_ref() :issue:`245`
* cairo: Add cairo pattern foreign struct support :mr:`111` (:user:`Renato Florentino Garcia <renato_garcia>`)
* cairo: Add cairo_matrix_t converter to GValue :mr:`112` (:user:`Renato Florentino Garcia <renato_garcia>`)


3.31.3 - 2019-02-02
-------------------

* Speed up destruction of boxed types :mr:`106` and GObject.Value.set_value() calls.
  This makes appending to a Gtk.TreeModel nearly twice as fast for example :issue:`46`, :issue:`218`
* Allow passing None for boolean parameters
* meson: Install .egg-info directory to arch'd dir. :mr:`109` (:user:`Elliott Sales de Andrade <QuLogic>`)
* gtk overrides: raise in case Gtk.Window is instantiated after gtk_init failed :issue:`298`
* gio overrides: Warn when creating various dbus types without a constructor :issue:`15`
* tests: Fix tests with glib 2.59.x :issue:`287`
* tests: fix test_atoms failing in some environments :issue:`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()
  :mr:`105` (:user:`Tomasz Miąsko <tmiasko>`)


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.
  :issue:`281` (3.30 regression, thanks to :user:`Cian Wilson <cianwilson>`
  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. :issue:`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. :issue:`267`


3.31.1 - 2018-11-17
-------------------

* Changes included in 3.30.2
* overrides: add Pango.Layout.set_text() override. :issue:`259` :mr:`89`
* docs: link updates :mr:`93` (:user:`tijder`)
* overrides: Use functools.wraps instead of custom version.
  :issue:`271` :mr:`95` (:user:`Kai Willadsen <kaiw>`)
* 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. :issue:`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. :issue:`255`
* Various meson/distutils build fixes for MSVC.
  :mr:`91` (:user:`Chun-wei Fan <fanc999>`)
* foreign-cairo: Fix cairo marshalling not using the foreign converters in
  some cases. :issue:`260`
* build: setup.py reproducible build fixes.
  :mr:`94` (:user:`Bernhard M. Wiedemann  <bmwiedemann>`)


3.30.1 - 2018-09-14
-------------------

* Fix various crashes on big endian systems.
  :issue:`247` (:user:`Dan Horák <sharkcz>`)
* meson: Don't link against libpython on non-Windows systems.
  :issue:`253` :mr:`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. :mr:`76`
* meson: Declare_dependency for use by potential superprojects
  (:user:`Mathieu Duponchelle <mathieudu>`)
* meson: Update glib wrap file. :mr:`80` (:user:`Carlos Soriano <csoriano>`)
* meson: Fix the Python 2 build not not use the system pycairo extension when
  running tests. :issue:`242`
* pygi-convert.sh: Various fixes and updates. :mr:`77` :mr:`78`
  (:user:`Sander Sweers <infirit>`)
* Gtk.Template: Fix instantiation error when using the new code with older
  PyGObject. :mr:`79` (:user:`Kai Willadsen <kaiw>`)
* Gtk.Template: Don't error out when loading a resource that is only available
  in an overlay. :issue:`230`
* Fix various crashes when running against a debug Python 3.7 build. :mr:`82`
  (:user:`Simon McVittie <smcv>`)
* overrides: Allow calling GObject.Binding.unbind() multiple times with
  GLib 2.58+. :issue:`240`
* overrides: Gio.ListStore overrides use splice() when adding/removing many
  items with GLib 2.58+. :issue:`115` :mr:`83`
* Work around pylint reporting bogus warnings regarding a missing self
  argument for normal functions. :issue:`217`
* Add override for GdkPixbuf.Pixbuf.new_from_data() to wrap new_from_bytes()
  to work around a use after free. :issue:`225` :mr:`74`


3.28.3 - 2018-05-31
-------------------

* Fix Gio.Application leak in case no signal handler is set before.
  :issue:`219`
* Squash critical warning when using array as hash value
  (:user:`Philip Withnall <pwithnall>`)


3.29.2 - 2018-05-16
-------------------

* Add a meson build system. :issue:`165`
  (:user:`Mathieu Duponchelle<mathieudu>`)
* Gtk.Template: Allow marking children as "internal-child". :mr:`58`
* Gio.ListModel: implement most of the mutable sequence protocol.
  :issue:`115` :mr:`59`
* Gio.Settings: implement __iter__.
* Gio.Settings: support range types in __setitem__. :issue:`134`
* Add overrides for Gio.ListStore.sort and Gio.ListStore.insert_sorted.
  :issue:`130`
* Make Gtk.Widget.freeze_child_notify a context manager. :issue:`45`
* OptionParser.parse_args: return leftover arguments. :issue:`200`
* Release the GIL when emitting a signal. :mr:`66`
  (John Bassett <john.bassett@pexip.com>)
* Add ActionMap and ActionMap.add_action_entries() to overrides.
  :issue:`29` :mr:`65` (:user:`yangfl`)
* importer: raise ImportError in load_module() and not find_module().
  :issue:`213`
* Don't wrap GValue in GValue when creating GValueArray. :mr:`66`
  (Stian Selnes <stian@pexip.com>)
* ossig: Don't leak the callbacks in case the event loops are not stopped
  through SIGINT. :issue:`219` :mr:`72`
* Various fixes (Havard Graff <havard.graff@gmail.com>)
* Destroy custom GLib.Source instances when they get freed. :issue:`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__. :mr:`66`

Documentation:
  * Added StackOverflow (with PyGObject tag) as an contact resource.
    (:user:`buhtz`)
  * Add introduction to handling GLib.Error. :mr:`68`
    (:user:`Kai Willadsen <kaiw>`)
  * Add pycairo requires for development setup. :mr:`70`
    (:user:`Kai Willadsen <kaiw>`)


3.29.1 - 2018-04-15
-------------------

* Support for `PyPy <https://pypy.org/>`__ and PyPy3. :issue:`180`
* cairo: support :class:`cairo.Matrix` conversion. :issue:`16`
* Speed up repeated closure creation by caching the closure cache in the
  argument cache :issue:`103` (:user:`Garrett Regier <gregier>`\,
  :user:`Christoph Reiter <creiter>`)
* setup.py: make setuptools/pkg_resources optional. :issue:`186`
* setup.py: print installation instructions in case a dependency is missing.
  :issue:`194`
* Remove autotools build system.
* overrides: Make :meth:`Gtk.ListStore.insert_before`,
  :meth:`Gtk.ListStore.insert_after`, :meth:`Gtk.TreeStore.insert_before` and
  :meth:`Gtk.TreeStore.insert_after` atomic.
* Make :class:`GLib.Error` picklable. :issue:`145`
* Add basic support for template based widgets through ``Gtk.Template``.
  :issue:`52`
* Various documentation improvements. :mr:`29` (:user:`Dan Yeaw <danyeaw>`)
* Add PEP518/pyproject.toml file. :mr:`44` (:user:`James Tocknell <aragilar>`)
* Avoid truncating value returned from g_value_info_get_value. :mr:`51`
  (:user:`Tomasz Miąsko <tmiasko>`)
* Fix typo in BoundSignal disconnect. :mr:`55`
  (:user:`Vladislav Glinsky <cl0ne>`)


3.28.2 - 2018-03-27
-------------------

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


3.28.1 - 2018-03-17
-------------------

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


3.28.0 - 2018-03-12
-------------------

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


3.27.5 - 2018-03-01
-------------------

* Re-revert transfer-none boxed copy changes (:mr:`23`). Now with more fixes
  and tests. :mr:`24` (:user:`Mathieu Duponchelle <mathieudu>`)
* Add caching for boxed type lookup and try to avoid the import lock. :mr:`13`
  (:user:`Mikhail Fludkov <fludkov.me>`)


3.27.4 - 2018-02-14
-------------------

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


3.27.3 - 2018-02-10
-------------------

* Fix a 3.27.2 regression where functions return invalid boxed values. :mr:`16`
  (thanks to :user:`Mikhail Fludkov <fludkov.me>` for providing a test)
* tests: Make tests run without Gtk/Gdk installed. :mr:`17`
  (:user:`Mikhail Fludkov <fludkov.me>`)
* tests: Remove dependency on ``localedef``. :commit:`64b02e301`
* tests: Require/Use pytest. :mr:`20` :issue:`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". :mr:`5`
* setup.py: Install pkg-config and header files.
* setup.py: Improve pycairo header lookup with pycairo >=1.16. :issue:`150`
* autotools: "make check.quality" now requires flake8.
* overrides: Fix ``Gtk.Adjustment.__init__()`` overrides not setting "value"
  sometimes. :issue:`151` :mr:`3`
* overrides: ``GLib.Variant``: add support to create maybe types.
  :issue:`152` :mr:`4` (:user:`Alberto Ruiz <aruiz>`)
* Make it possible to resolve ambiguous vmethod names. Ambiguities can be
  resolved by implementing methods named
  "do_$namespaced_base_class_name_$vfunc_name". :mr:`9` :issue:`105`
  (:user:`Mathieu Duponchelle <mathieudu>`)
* Fix setting a property installed in Python from C in some cases. :mr:`8`
  (:user:`Mathieu Duponchelle <mathieudu>`)
* pygobject-object: fix memory corruption around list of closures. :mr:`12`
  :issue:`158` (:user:`Mikhail Fludkov <fludkov.me>`)
* Don't copy the boxed if we are the sole owner of the wrapper after a closure.
  :mr:`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. :mr:`10`
  (:user:`Mathieu Duponchelle <mathieudu>`)


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) (:bzbug:`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) (:bzbug:`622084`)
* configure.ac: Error out in case autoconf-archive isn't installed (Christoph Reiter) (:bzbug:`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) (:bzbug:`735918`)
* demo: Add new Gtk.FlowBox example (Gian Mario Tagliaretti) (:bzbug:`735918`)
* demo: Use HeaderBar for main app window (Simon Feltman) (:bzbug:`735918`)
* demo: PyFlakes and PEP8 fixes (Simon Feltman) (:bzbug:`735918`)
* demo: Rename gtk-demo.py to demo.py (Simon Feltman) (:bzbug:`735918`)
* demo: Rename demos/gtk-demo to simply demo (Simon Feltman) (:bzbug:`735918`)
* Remove AUTHORS file (Christoph Reiter)
* Remove pre-commit.hook (Christoph Reiter)
* setup.py: Port to distutils/setuptools (Christoph Reiter) (:bzbug:`789211`)
* Install a default SIGINT handler for functions which start an event loop (Christoph Reiter) (:bzbug:`622084`)
* Make Python OS signal handlers run when an event loop is idling (Christoph Reiter) (:bzbug:`622084`)
* Drop Python 3.3 support (Christoph Reiter) (:bzbug:`790787`)
* Drop set_value usage in Gtk.List/TreeStore.set override (Sander Sweers) (:bzbug:`790346`)
* pygobject-object: Fix Python GC collecting a ref cycle too early (Christoph Reiter) (:bzbug:`731501`)
* Fix potential uninitialized memory access during GC (Daniel Colascione) (:bzbug:`786872`)
* test: revert parts of the previous test as it's broken on 32 bit builds (Christoph Reiter) (:bzbug:`786948`)
* flags: Add testcase for bug 786948 (Christoph Reiter) (:bzbug:`786948`)
* fix potential overflow when marshalling flags from py interface (Philippe Renon) (:bzbug:`786948`)
* to_py_array: Properly handle enum array items (Christoph Reiter) (:bzbug:`788890`)
* pygobject.doap: Add myself as maintainer (Christoph Reiter)
* closure: Fix unaligned and out-of-bounds access (James Clarke) (:bzbug:`788894`)
* build: Fix not installing .egg-info file (Christoph Reiter) (:bzbug:`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) (:bzbug:`731501`)
* Fix potential uninitialized memory access during GC (Daniel Colascione) (:bzbug:`786872`)
* test: revert parts of the previous test as it's broken on 32 bit builds (Christoph Reiter) (:bzbug:`786948`)
* flags: Add testcase for bug 786948 (Christoph Reiter) (:bzbug:`786948`)
* fix potential overflow when marshalling flags from py interface (Philippe Renon) (:bzbug:`786948`)
* to_py_array: Properly handle enum array items (Christoph Reiter) (:bzbug:`788890`)
* closure: Fix unaligned and out-of-bounds access (James Clarke) (:bzbug:`788894`)
* build: Fix not installing .egg-info file (Christoph Reiter) (:bzbug:`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) (:bzbug:`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) (:bzbug:`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) (:bzbug:`780812`)
* tests: silence some glib deprecation warnings (Christoph Reiter) (:bzbug:`780812`)
* tests: avoid deprecation warnings for assertRegexpMatches/assertRaisesRegexp (Christoph Reiter) (:bzbug:`780812`)
* pygi-source: clear exceptions in finalize handler (Christoph Reiter) (:bzbug:`780812`)
* Fix pep8 errors (Christoph Reiter)
* Remove gi._gi._gobject and gi._gobject modules (Christoph Reiter) (:bzbug:`735206`)
* Remove gi._gi._glib module (Christoph Reiter) (:bzbug:`735206`)
* GValue: add overflow checking for py -> gint; forward marshaling exceptions (Christoph Reiter) (:bzbug:`769789`)
* pygobject_lookup_class: clear exceptions between calls and don't return with one set (Christoph Reiter) (:bzbug:`773394`)
* Avoid some new deprecation warnings (Christoph Reiter) (:bzbug:`780768`)
* Raise RuntimeError in case an uninitilialized GObject.Object is marshaled (Christoph Reiter) (:bzbug:`730908`)
* closure: support unichar args (Christoph Reiter) (:bzbug:`759276`)
* Add support for bytes and non-utf-8 file names. (Christoph Reiter) (:bzbug:`746564`)
* test_gi: use correct min/max constants for gsize/gssize (Christoph Reiter) (:bzbug:`780591`)
* Don't use long format string for formatting pointers (Christoph Reiter) (:bzbug:`780591`)
* Fix conversion from pointers to hashfunc return values. (Christoph Reiter) (:bzbug:`780591`)
* Fix PyLong <-> GPid conversion on 64bit Windows (Christoph Reiter) (:bzbug:`780591`)
* property: support setting flags (Christoph Reiter) (:bzbug:`726484`)
* overrides: warn on instantiation of Gio.VolumeMonitor (Christoph Reiter) (:bzbug:`744690`)
* Remove gi.overrides.overridefunc (Christoph Reiter) (:bzbug:`686835`)
* tests: Reduce usage of timeout_add() and sleep() (Christoph Reiter) (:bzbug:`698548`)
* tests: Remove TestMainLoop.test_concurrency (Christoph Reiter) (:bzbug:`698548`)
* Update .gitignore: add ``*.dll``, ``*.dylib``, ``.DS_STORE`` (Christoph Reiter)
* tests: Make test suite run on Windows (Christoph Reiter) (:bzbug:`780396`)
* tests: Make test suite run on macOS (Christoph Reiter) (:bzbug:`780396`)
* Fix various compiler warnings for 32bit builds (Christoph Reiter) (:bzbug:`780409`)
* pep8 fix (Christoph Reiter)
* testhelper: only link against libpython on Windows (Christoph Reiter) (:bzbug:`773803`)
* overrides: Fix Gtk.TextBuffer.insert_with_tags_by_name() with no tags (Garrett Regier) (:bzbug:`772896`)
* Make use of instance-argument annotations (Christoph Reiter) (:bzbug:`735076`)
* Remove pyglib_gil_state_ensure/pyglib_gil_state_release (Christoph Reiter) (:bzbug:`699440`)
* Remove support for building without threads (Christoph Reiter) (:bzbug:`699440`)
* pygtkcompat: Allow multiple calls to enable(), enable_gtk() as long as the version matches (Christoph Reiter) (:bzbug:`759009`)
* tests: Update Makefile for building tests on OS X (Simon Feltman) (:bzbug:`762176`)
* testhelper: propagate exception if _gobject could not be imported (Mikhail Fludkov) (:bzbug:`772949`)
* pygi-info: initialize GIArgument before passing it to g_constant_info_get_value (Christoph Reiter) (:bzbug:`772949`)
* tests: build libregress with disabled cairo (Mikhail Fludkov) (:bzbug:`772949`)
* tests: use g-ir utils found by pkg-config (Mikhail Fludkov) (:bzbug:`772949`)
* Add a foreign type for cairo_region_t. (Shyouzou Sugitani) (:bzbug:`667959`)
* aclocal: make local file discover by reading AC_CONFIG_MACRO_DIR work (Christoph Reiter) (:bzbug:`777713`)
* Port from gnome-common to autoconf-archive (Christoph Reiter) (:bzbug:`777713`)
* Fix various potential compiler warnings (Christoph Reiter) (:bzbug:`777713`)
* configure.ac: post-release version bump to 3.25.0 (Christoph Reiter)
* Remove egg make target (Christoph Reiter) (:bzbug:`777719`)
* Remove legacy docs (Christoph Reiter) (:bzbug:`777719`)

3.24.1 - 2017-04-10
-------------------

* pygi-info: initialize GIArgument before passing it to g_constant_info_get_value (Christoph Reiter) (:bzbug:`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) (:bzbug:`777680`)
* Disable -Werror=missing-prototypes (Christoph Reiter) (:bzbug:`777534`)
* Fix new PEP8 errors (Christoph Reiter) (:bzbug:`776009`)
* Move pep8/pyflakes tests from 'make check' to 'make check.quality' (Christoph Reiter) (:bzbug:`764087`)
* overrides: Update for Gtk-4.0 (Christoph Reiter) (:bzbug:`773315`)
* Handle exception unreffing Variant at exit (Dan Nicholson) (:bzbug:`776092`)
* Handle multiple deinit of callable cache (Dan Nicholson) (:bzbug:`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) (:bzbug:`770821`)
* Fix list/hashtable enum <-> hash conversion on 64-bit big endian (Aurelien Jarno) (:bzbug:`770608`)
* Allow passing sockets to io_add_watch on win32 (Lukas K) (:bzbug:`766396`)
* tests: use dbus-run-session instead of dbus-launch to run tests (Michael Biebl) (:bzbug:`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) (:bzbug:`767988`)
* Skip a test with older glib (Christoph Reiter) (:bzbug:`740301`)
* Fix a test with Python 3.1/3.2 (Arfrever Frehtes Taifersar Arahesis, Christoph Reiter) (:bzbug:`740324`)
* tests: Use places kwarg for assertAlmostEqual (Arfrever Frehtes Taifersar Arahesis, Christoph Reiter) (:bzbug:`740337`)
* Print exception if marshalling a signal argument fails (Christoph Reiter) (:bzbug:`748198`)
* overrides: allow treemodel sequence shorthands (Marinus Schraal) (:bzbug:`766580`)
* Remove pygobject-external.h (Christoph Reiter) (:bzbug:`767084`)
* Remove pygobject-private.h and rename pygobject.c to pygobject-object.c (Christoph Reiter) (:bzbug:`767084`)
* Merge pyglib-private.h into pyglib.h (Christoph Reiter) (:bzbug:`767084`)
* Remove pygi.h and pygi-private.h (Christoph Reiter) (:bzbug:`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) (:bzbug:`761141`)
* test_gerror_novalue: Don't assign the error to a variable
  (Iain Lane) (:bzbug:`764165`)
* build: Do not enable code coverage based on lcov
  (Emmanuele Bassi) (:bzbug:`764075`)

3.20.1 - 2016-04-24
-------------------

* test_gerror_novalue: Don't assign the error to a variable
  (Iain Lane) (:bzbug:`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) (:bzbug:`761592`)
* Fix marshaling or GError from Python to C from function calls
  (Simon Feltman) (:bzbug:`685197`)
* Error handling/reporting fixes (Christoph Reiter) (:bzbug:`751956`)
* Fix crash due to GVariant implemented as PyGBoxed not PyGIStruct
  (Christoph Reiter) (:bzbug:`751956`)
* Fix crash with GValueArray stored in GValue
  (Mikhail Fludkov) (:bzbug:`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) (:bzbug:`762392`)
* Try to import GdkX11 in Gdk overrides (Christoph Reiter) (:bzbug:`673396`)
* Fix import warnings pointing to the wrong code with CPython 3.3/3.5
  (Christoph Reiter) (:bzbug:`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) (:bzbug:`727374`)
* enum/flags: use gir info for type names and __repr__ instead of the gtype name (Christoph Reiter) (:bzbug:`657915`)
* Improve and unify __repr__ format for PyGObject, PyGBoxed and PyGIStruct (Christoph Reiter) (:bzbug:`657915`)
* Don't leak internal RepositoryError on import. (Christoph Reiter) (:bzbug:`756033`)
* Import dependencies when importing typelibs from gi.repository (Christoph Reiter) (:bzbug:`656314`)
* Fix Gdk.rectangle_intersect/rectangle_union missing with GTK+ 3.18 (Christoph Reiter) (:bzbug:`756364`)
* Don't import inspect at module level (Christoph Reiter)
* invoke state: add a free memory cache for PyGIInvokeArgState (Christoph Reiter) (:bzbug:`750658`)
* invoke/closure: reduce g_slice_alloc usage (Christoph Reiter) (:bzbug:`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) (:bzbug:`750347`)
* Support throwing exceptions in closures (Garrett Regier) (:bzbug:`710671`)
* Don't emit require_version warning if namespace was loaded previously using g_irepository_require (Christoph Reiter) (:bzbug:`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) (:bzbug:`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) (:bzbug:`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) (:bzbug:`744745`)
* Avoid a silent long to int truncation (Rui Matos) (:bzbug:`749698`)
* Handle gtype marshalling (Mathieu Bridon) (:bzbug:`749696`)
* pygi-foreign-cairo.c: fix include for py3cairo.h
  (Daniel Hahler) (:bzbug:`746742`)
* tests: Silence various error messages and warnings
  (Christoph Reiter) (:bzbug:`751156`)
* Fix test regression when xdg-user-dirs is not installed
  (Christoph Reiter) (:bzbug:`751299`)
* Explicitly check if an override exists instead of ImportError
  (Garrett Regier) (:bzbug:`749532`)

3.17.1 - 2015-06-15
-------------------

* Add gi.PyGIWarning used when import version is not specified
  (Christoph Reiter) (:bzbug:`727379`)
* Remove Gdk.Rectangle alias with newer gobject-introspection and GTK+
  (Christoph Reiter) (:bzbug:`749625`)
* overrides: Provide _overrides_module attribute
  (Christoph Reiter) (:bzbug:`736678`)
* overrides: Conditionalize touch override support in Gdk
  (Simon Feltman) (:bzbug:`747717`)
* Field setters: Remove unneeded type/range checks and unused code
  (Christoph Reiter) (:bzbug:`746985`)
* pygi-argument: Remove unused imports/includes
  (Christoph Reiter) (:bzbug:`746985`)
* Improve test coverage for field setters/getters
  (Christoph Reiter) (:bzbug:`746985`)

3.16.2 - 2015-06-15
-------------------

* overrides: Provide _overrides_module attribute
  (Christoph Reiter) (:bzbug:`736678`)

3.16.1 - 2015-04-13
-------------------

* overrides: Conditionalize touch override support in Gdk
  (Simon Feltman) (:bzbug:`747717`)

3.16.0 - 2015-03-24
-------------------

3.15.91 - 2015-03-05
--------------------

* tests: Don't use deprecated override attributes
  (Christoph Reiter) (:bzbug:`743514`)
* Add GLib.MINFLOAT etc. and mark GObject.G_MINFLOAT etc. deprecated
  (Christoph Reiter) (:bzbug:`743514`)
* Emit PyGIDeprecationWarning when accessing deprecated override attributes
  (Christoph Reiter) (:bzbug:`743514`)
* Add namespace and container name to all warnings/error messages
  (Christoph Reiter) (:bzbug:`743468`)
* tests: Add test for GIRepository.UnionInfo.get_size()
  (Garrett Regier) (:bzbug:`745362`)
* Avoid duping filenames when marshalling from Python to C
  (Garrett Regier) (:bzbug:`744719`)

3.15.0 - 2015-02-20
-------------------

* Avoid copying bytearrays from Python to C when transfer nothing (Garrett Regier) (:bzbug:`743278`)
* Allows passing arguments to opaque Boxed types (Garrett Regier) (:bzbug:`743214`)
* Emit ImportWarning when gi.require_version() is not used (Christoph Reiter) (:bzbug:`727379`)
* Refactor overrides import/modules (Christoph Reiter) (:bzbug:`736678`)
* Replace statically bound GLib.Variant.new_tuple() with GI (Simon Feltman) (:bzbug:`735199`)
* overrides: Add Gdk.EventTouch union discrimination (Simon Feltman) (:bzbug:`736380`)
* PyGObjectFlags: Remove a trailing comma on the enum. (Murray Cumming)
* Remove redefinitions of function and vfunc cache typedefs (Simon Feltman) (:bzbug:`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) (:bzbug:`735193`)
* Fix invalid read error in argument cleanup code (Simon Feltman)
* Fix memory management problems with struct arguments to signals
  (Simon Feltman) (:bzbug:`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) (:bzbug:`735486`)
* Ignore closure callbacks when Python is not initialized
  (Simon Feltman) (:bzbug:`722562`)
* Change boxed init with args to warn instead of raise
  (Christoph Reiter) (:bzbug:`727810`)
* Fix crash in GList/GSList marshaling error handling path.
  (Christoph Reiter) (:bzbug:`735201`)
* Fix reference counting problems with GLib.Variant.new_tuple()
  (Simon Feltman) (:bzbug:`735166`)
* Skip marshalling NULL output arguments in Python closures
  (Simon Feltman) (:bzbug:`735090`)

3.13.90 - 2014-08-18
--------------------

* Support array lengths on struct fields (Simon Feltman) (:bzbug:`688792`)
* Fast path Python property get access (Simon Feltman) (:bzbug:`723872`)
* Unify accessing properties through props and get_property()
  (Simon Feltman) (:bzbug:`726999`)
* Refactor boxed wrapper memory management strategy
  (Simon Feltman) (:bzbug:`726999`)
* Replace GObject.signal_query with introspected version
  (Simon Feltman) (:bzbug:`688792`)
* Fix memory leak with unboxed caller allocated structs (Simon Feltman)
* tests: Add failing tests for GObject sub-class doc-strings
  (Piotr Iwaniuk) (:bzbug:`731452`)
* Don't mask GObject sub-class doc strings in meta-class
  (Tobias Mueller) (:bzbug:`731452`)

3.13.4 - 2014-08-14
-------------------

* Marshaling cache refactor and cache usage in vfuncs
  (Garrett Regier) (:bzbug:`727004`)
* Fix array argument out and inout marshaling from vfuncs
  (Garrett Regier) (:bzbug:`702508`)
* Cleanup input args when marshaling in closures
  (Garrett Regier) (:bzbug:`727004`)
* Add deprecation warning for connect_object() with non-GObject argument
  (Simon Feltman) (:bzbug:`688064`)
* Add Python implementation of Object.connect_data()
  (Simon Feltman) (:bzbug:`701843`)
* Add GClosure marshaling cleanup (Simon Feltman) (:bzbug:`695128`)
* Fix GCallback Python wrapper leak (Simon Feltman) (:bzbug:`695130`)
* tests: Add failing test for marshaling an array of GValues through
  signals (Martin Pitt) (:bzbug:`669496`)
* Add protection against attempts at importing static bindings
  (Simon Feltman) (:bzbug:`709183`)
* Update and deprecate gi.overrides.keysyms (Simon Feltman) (:bzbug:`721295`)
* Generate .dll libraries on windows (Ignacio Casal Quinteiro) (:bzbug:`734288`)
* Windows build fixes (Alexey Pavlov)
  (:bzbug:`734284`, :bzbug:`734289`, :bzbug:`734286`, :bzbug:`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) (:bzbug:`701843`)
* tests: Move TestSignals from test_everything into test_signal
  (Simon Feltman) (:bzbug:`701843`)

3.13.2 - 2014-05-26
-------------------

* Python 3.4 make check fixes (Simon Feltman) (:bzbug:`730411`)
* overrides: Add Gtk.Container.child_get/set overrides (Simon Feltman)
  (:bzbug:`685076`)
* overrides: Make value argument to Widget.style_get_property optional
  (Simon Feltman) (:bzbug:`685076`)
* overrides: Make value argument to Container.child_get_property optional
  (Simon Feltman) (:bzbug:`685076`)
* Add GTypeClass methods as Python GObject class methods
  (Johan Dahlin) (:bzbug:`685218`)
* Add marshalling coercion for Python classes and instances to GTypeClass
  (Simon Feltman) (:bzbug:`685218`)
* Replace direct parent class call by super() (Andrew Grigorev) (:bzbug:`729970`)
* Add cairo marshaling support for non-introspected signals
  (Simon Feltman) (:bzbug:`694604`)
* [New API] Add gi.require_foreign (Simon Feltman) (:bzbug:`707735`)
* Initialize the foreign API at PyGI load time (Simon Feltman) (:bzbug:`694604`)
* Move pygi foreign API into pygi-foreign-api.h (Simon Feltman) (:bzbug:`694604`)
* Unify GLib.GError and GLib.Error (Simon Feltman) (:bzbug:`712519`)
* PEP8 fixes (Simon Feltman)

3.12.2 - 2014-05-26
-------------------

* PEP8 fixes (Simon Feltman)
* Python 3.4 make check fixes (Simon Feltman) (:bzbug:`730411`)

3.13.1 - 2014-04-28
-------------------

* Raise TypeError if arguments are passed to Boxed.__init__
  (Christoph Reiter) (:bzbug:`727810`)
* Gdk.Event: Override __setattr__ to set fields based on the event type
  (Christoph Reiter) (:bzbug:`727810`)
* Gdk.Event: Include GdkEventType in __repr__ (Christoph Reiter) (:bzbug:`727810`)
* Fix crash with type checking for GObject arguments (Simon Feltman) (:bzbug:`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) (:bzbug:`726877`)
* tests: Rename test_overrides to test_import_machinery
  (Simon Feltman) (:bzbug:`726877`)

3.12.1 - 2014-04-14
-------------------

* Fix crash with type checking invalid GObject arguments
  (Simon Feltman) (:bzbug:`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) (:bzbug:`726206`)

3.11.91 - 2014-03-03
--------------------

* Use ffi_call directly instead of g_callable_info_invoke
  (Simon Feltman) (:bzbug:`723642`)
* configure.ac: Use -std=c90 and error on declaration-after-statement
  (Simon Feltman)
* Fix Build on Visual Studio (Chun-wei Fan) (:bzbug:`725122`)

3.11.90 - 2014-02-17
--------------------

* Use GObject type checking for instance arguments (Simon Feltman) (:bzbug:`724009`)
