commit 7e571ea62074243eef36110c240e192e5682a687
Author: Christoph Reiter <reiter.christoph@gmail.com>
Date:   Thu Mar 1 17:57:08 2018 +0100

    release

 NEWS | 9 +++++++++
 1 file changed, 9 insertions(+)

commit 1138bc7e0aeb8d4e7354c6cfd5a63edaa724d3fb
Author: Christoph Reiter <reiter.christoph@gmail.com>
Date:   Tue Feb 27 12:46:11 2018 +0100

    setup.py: fix distcheck

 MANIFEST.in | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit 79ee93ea667c7a2cdacf9c770c0e60dc624ced0b
Author: Christoph Reiter <reiter.christoph@gmail.com>
Date:   Fri Feb 23 18:15:55 2018 +0100

    coverage: exclude external headers. See #168

    While we could just pass --no-external we want the coverage of
    the gobject-introspection files.

 .gitlab-ci/coverage-docker.sh | 6 ++++++
 1 file changed, 6 insertions(+)

commit 9ae49b49850dca86566b745966104bdd33914df7
Author: Christoph Reiter <reiter.christoph@gmail.com>
Date:   Fri Feb 23 17:33:55 2018 +0100

    coverage.py: ignore errors

    not sure where that path is comming from, it worked in the MR..

 .gitlab-ci/coverage-docker.sh | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit 2d812a6bc4d0952997a3ed3c63c4b09d8c95c103
Author: Christoph Reiter <reiter.christoph@gmail.com>
Date:   Fri Feb 23 11:02:03 2018 +0100

    gitlab-ci: Add Windows coverage support. See #168

    Use coverage.py and cygwin lcov to generate coverage files.
    In the report generation step fixup the Windows paths in the coverage
    files to match the Linux/Docker ones.

 .gitlab-ci.yml                | 42
 +++++++++++++++++++++++++++---------------
 .gitlab-ci/coverage-docker.sh |  3 +++
 .gitlab-ci/fixup-cov-paths.py | 35 +++++++++++++++++++++++++++++++++++
 .gitlab-ci/test-docker.sh     |  5 +++++
 .gitlab-ci/test-msys2.sh      | 33 +++++++++++++++++++++++++++++++--
 5 files changed, 101 insertions(+), 17 deletions(-)

commit 1534289ce5934b73b5c980f8e246192009337776
Author: Christoph Reiter <reiter.christoph@gmail.com>
Date:   Tue Feb 20 16:38:25 2018 +0100

    gitlab-ci: Add MSYS2 test jobs

    This assumes a gitlab runner with a "win32" tag which has
    MSYS2 installed in the default path and uses the "cmd" shell.

 .gitlab-ci.yml           | 32 +++++++++++++++++++++++++++-----
 .gitlab-ci/test-msys2.sh | 28 ++++++++++++++++++++++++++++
 2 files changed, 55 insertions(+), 5 deletions(-)

commit 20fa66387020877a3ae20a6b48bba52153c7bd6c
Author: Christoph Reiter <reiter.christoph@gmail.com>
Date:   Tue Feb 20 18:17:15 2018 +0100

    tests: skip one more GdkAtom test on Windows

    This has started to crash with newer gtk

 tests/test_atoms.py | 2 ++
 1 file changed, 2 insertions(+)

commit d3cd49ce8777312cbb91b82bd076c0e4b761c848
Merge: 5ec1aea8 aab23dbd
Author: Christoph Reiter <reiter.christoph@gmail.com>
Date:   Sun Feb 18 08:32:22 2018 +0000

    Merge branch 'gilabissue123' into 'master'

    Performance improvements to avoid GIL congestion

    See merge request GNOME/pygobject!13

commit 5ec1aea8ab4599a7a0945bd5754ce79c7c5cbef3
Author: Christoph Reiter <reiter.christoph@gmail.com>
Date:   Sat Feb 17 18:13:47 2018 +0100

    coverage: don't just use the major python version number for coverage
    files names

    all py3 jobs wrote to the same file, oops..

 .gitlab-ci/test-docker.sh | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit af7aa11acebd9a34e6aee41dc77c0d7c3000fd47
Author: Christoph Reiter <reiter.christoph@gmail.com>
Date:   Sat Feb 17 15:23:49 2018 +0100

    gitlab-ci: Add coverage reports

    Use gcov/lcov and coverage.py; merge all results and provide
    the final html reports as job artifacts.

 .gitignore                    |  1 +
 .gitlab-ci.yml                | 18 ++++++++++++++++++
 .gitlab-ci/Dockerfile         |  1 +
 .gitlab-ci/coverage-docker.sh | 17 +++++++++++++++++
 .gitlab-ci/test-docker.sh     | 20 ++++++++++++++++----
 setup.cfg                     |  7 +++++++
 6 files changed, 60 insertions(+), 4 deletions(-)

commit 8df9570b7f25ceaaa590c8da33952a7bdeade203
Author: Mathieu Duponchelle <mathieu@centricular.com>
Date:   Fri Feb 16 16:54:06 2018 +0100

    array, list: always run items cleanup funcs

 gi/pygi-array.c | 70
 ++++++++++++++++++++++++++++++++-------------------------
 gi/pygi-list.c  | 37 +++++++++++++++---------------
 2 files changed, 58 insertions(+), 49 deletions(-)

commit 9978b521450d9b2a038d48492550dcab49c7b113
Author: Mathieu Duponchelle <mathieu@centricular.com>
Date:   Fri Feb 16 00:49:25 2018 +0100

    pygi-struct-marshal: perform boxed copy ...

    when the cleanup marshaller will not be called, that is when
    marshalling something that is not actually an argument.

    Fixes #164

 gi/pygi-struct-marshal.c | 48
 ++++++++++++++++++++++++++++++++----------------
 1 file changed, 32 insertions(+), 16 deletions(-)

commit e41dd91e9e62eeaeaa0fee97b50500591a87b249
Author: Mathieu Duponchelle <mathieu@centricular.com>
Date:   Thu Feb 15 23:32:37 2018 +0100

    Revert "Revert "to python struct marshalling: copy boxed during
    cleanup""

    This reverts commit 10c062001ddd948b0a70545cbf613b38ed6fa46c.

 gi/pygi-struct-marshal.c | 34 +++++++++++++++++++++++++++-------
 tests/test_gi.py         |  1 -
 2 files changed, 27 insertions(+), 8 deletions(-)

commit b1d1c8d9d8820fe405bddd8e9dea88b5ec2fcce2
Author: Mathieu Duponchelle <mathieu@centricular.com>
Date:   Thu Feb 15 23:32:20 2018 +0100

    Revert "Revert "to python marshalling: collect cleanup data""

    This reverts commit fa555767464fbe551b14cfbc121febc5290b1371.

 gi/pygi-array.c               | 24 ++++++++++++++++++------
 gi/pygi-basictype.c           |  8 +++++---
 gi/pygi-basictype.h           |  3 ++-
 gi/pygi-cache.h               | 13 ++++++++++---
 gi/pygi-closure.c             |  9 +++++++--
 gi/pygi-enum-marshal.c        |  6 ++++--
 gi/pygi-error.c               |  3 ++-
 gi/pygi-hashtable.c           | 13 +++++++++----
 gi/pygi-invoke-state-struct.h |  3 +++
 gi/pygi-invoke.c              | 17 +++++++++++++----
 gi/pygi-list.c                | 38 +++++++++++++++++++++++++++++++-------
 gi/pygi-marshal-cleanup.c     | 13 ++++++++-----
 gi/pygi-object.c              |  8 +++++---
 gi/pygi-struct-marshal.c      |  5 +++--
 14 files changed, 120 insertions(+), 43 deletions(-)

commit 26b7fc3fee55870cc944b0f718da8a75c75f4eae
Author: Mathieu Duponchelle <mathieu@centricular.com>
Date:   Fri Feb 16 00:45:40 2018 +0100

    Revert "Revert "pygi-boxed: make in-place copy safer""

    This reverts commit 700c785367975995d24a8ffd00b2aa028ccf77e8.

 gi/pygi-boxed.c | 8 +++++++-
 1 file changed, 7 insertions(+), 1 deletion(-)

commit d08e244d011121f8ffd5c21437e0f11fe9545bbf
Author: Mathieu Duponchelle <mathieu@centricular.com>
Date:   Thu Feb 15 23:32:08 2018 +0100

    Revert "Revert "Revert "Refactor boxed wrapper memory management
    strategy"""

    This reverts commit a506d5e3c64321c43a4ce7c2a72ca8d36e985999.

 gi/gimodule.c            |  6 +---
 gi/overrides/GLib.py     |  4 +++
 gi/overrides/GObject.py  |  3 --
 gi/pygi-boxed.c          | 32 +++++---------------
 gi/pygi-boxed.h          |  4 +--
 gi/pygi-property.c       |  6 +++-
 gi/pygi-source.c         |  6 ++--
 gi/pygi-struct-marshal.c | 78
 ++++--------------------------------------------
 tests/test_gi.py         |  1 +
 tests/test_source.py     |  8 ++---
 10 files changed, 29 insertions(+), 119 deletions(-)

commit c56b4510649dae58519681c1a53aed85d598139e
Author: Christoph Reiter <reiter.christoph@gmail.com>
Date:   Fri Feb 16 17:43:00 2018 +0100

    tests: add tests for boxed in GLists. See !24

 tests/regressextra.c     | 33 +++++++++++++++++++++++++++++++++
 tests/regressextra.h     |  4 ++++
 tests/test_everything.py | 16 ++++++++++++++++
 3 files changed, 53 insertions(+)

commit 9c3cb6b49c33f53d637e80aad68a67e89d0eb944
Author: Christoph Reiter <reiter.christoph@gmail.com>
Date:   Fri Feb 16 10:12:42 2018 +0100

    gitlab-ci: use ccache

 .gitlab-ci.yml           | 9 +++++++++
 .gitlab-ci/Dockerfile    | 3 +++
 .gitlab-ci/run-docker.sh | 6 ++++--
 3 files changed, 16 insertions(+), 2 deletions(-)

commit 91a25c2aa1776e5e5757dc317a798615c31b3854
Author: Christoph Reiter <reiter.christoph@gmail.com>
Date:   Fri Feb 16 09:59:31 2018 +0100

    tests: Add a test for a out transfer-none boxed array

    Makes sure we copy the array items as well.

 tests/regressextra.c     | 18 ++++++++++++++++++
 tests/regressextra.h     |  3 +++
 tests/test_everything.py |  6 ++++++
 3 files changed, 27 insertions(+)

commit e00e38f9c44568f7fab643a069f86c576011ddcc
Author: Christoph Reiter <reiter.christoph@gmail.com>
Date:   Fri Feb 16 08:49:38 2018 +0100

    tests: add a pytest hook for handling unhandled exception in closures

    In PyGObject when an exception is raised in a closure called from
    C then
    the error gets passed to sys.excepthook (on the main thread at least)
    and the error is by default printed to stdout. Since pytest by default
    hides stdout, errors can be easily missed now.

    To make these errors more visible add a test wrapper which checks
    sys.excepthook for unhandled exceptions and reraises them.
    This makes the tests fail and as a bonus also shows the right
    stack trace instead of just the error message.

 tests/Makefile.am      |  1 +
 tests/compathelper.py  |  5 +++++
 tests/conftest.py      | 31 +++++++++++++++++++++++++++++++
 tests/test_glib.py     | 13 +++++++++++++
 tests/test_mainloop.py | 28 ++++++++--------------------
 tests/test_option.py   | 18 +++++++-----------
 6 files changed, 65 insertions(+), 31 deletions(-)

commit aae383cf44ee3eabcc4b4122049ea277524d5001
Author: Christoph Reiter <reiter.christoph@gmail.com>
Date:   Wed Feb 14 02:15:54 2018 +0100

    version bump

 configure.ac | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)