Changelog

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

For more details see the GIT log: https://gitlab.gnome.org/GNOME/gobject-introspection

1.86.0 - 2025-09-13

  • giscanner: Added ability to add wrapper script arguments [!530]

  • g-ir-tools: Support reading @rspfiles for arguments [!532]

  • Update gobject-introspection-tests [!536]

  • giscanner: support alignof expressions [!538]

  • dumper: Fix introspection binaries missing rpaths for uninstalled ELF shlibs [!540]

  • meson: Fix fs.copyfile semantics breaking GIR build with Ninja 1.12+ [!534]

  • giscanner: Deduplicate arguments and use response files for MSVC [!535]

  • scanner: Prefer some getters over others [!473]

  • girepository: Initialize the async functions parameters [!544]

1.84.0 - 2025-03-15

  • No changes

1.83.4 - 2025-03-08

  • Revert support for “static” virtual functions [!526]

1.83.2 - 2025-03-01

  • Improve GType inspection helper [!494]

  • Parse C11’s _Alignas [#520]

  • Respect custom Python binary [!503]

  • Fix build on the latest Windows SDK [!498]

  • Small performance improvement when looking up a signal information [!504]

  • Use standard imports in the JavaScript templates for g-ir-doctool [!501]

  • Ensure that enumeration members can be marked as deprecated [!512]

  • Add more test coverage for structured union types [!348]

  • Add an option to skip tests when building [!507]

  • Fix various MSVC compatibility issues [!511]

  • Add support for “static” virtual functions [!361]

  • Allow specifying the format of the documentation inside doc blocks [!401]

  • Handle C99’s _Complex [!515]

  • Consider UCRT64 and CLANG64 as mingw32 compilers [!516]

  • Handle static NSString syntax [!518]

  • Add instance parameter checks to strict validation [!506, !521]

  • Documentation improvements [!481, !483, !485, !500]

1.82.0 - 2024-09-13

  • Require GLib 2.82.0

1.81.4 - 2024-09-03

  • Add rpath when building the type dumper on macOS

  • Fix regression in the installation of GIRepository-2.0.typelib [#516]

1.81.2 - 2024-09-03

  • Add strict mode warning for enumeration members starting with a number [#418]

  • Set deprecation message for signals and properties

  • Fix HTML definition lists in the documentation generator

  • Catch up with Python-Markdown 3.4 extension API changes [#439]

  • Propagate scanner errors [#453]

  • Do not break when parsing ARM SVE types in system headers [#502]

  • Pair pointer GTypes with their opaque structure [#508]

  • Fix property accessor pairing

  • Handle pid_t, etc. as their own top-level types

  • Add warning for closure annotation [#449, #450]

  • Warn on invalid callback annotations [#137]

  • Make sure to set a GError with an invalid introspect-dump string [#495]

  • Move gobject-introspection tests to a submodule [#489]

  • Remove dependency on distutils.msvccompiler [#515]

  • Be more thorough about applying -Wl,–no-as-needed option [#505]

  • Documentation and build fixes

1.80.1 - 2024-04-01

  • Require Python 3.8 when running mypy

  • Ensure that POSIX types follow the target architecture

  • Look for finish functions inside the list of constructors

1.80.0 - 2024-03-09

  • Allow using transfer none with GClosure

  • Only allow loading GIRepository-2.0

  • Add marshalling tests for uninitialized and NaN arguments

  • Check for setuptools when building with Python >= 3.12

  • Add fallback doc elements for virtual functions

  • Add doc elements for callback fields

  • Support static inline declarations in the GIR

  • Add annotations for sync, async, and async-finish functions in the GIR

  • Simplify the giscanner module build with Python >= 3.12

  • Allow passing full shared library paths on Windows

1.79.1 - 2023-12-28

  • Build fixes

  • Require Meson ≥ 1.2

  • Avoid test failures with Python ≥ 3.12

  • Update the GIR schema, and validate GIR files as part of the test suite

  • Support (not optional) annotation

  • Allow ownership transfer of structure types with copy/free functions

1.79.0 - 2023-12-24

  • Require GLib >= 2.79

  • Require Python >= 3.8

  • Simplify libtool use with wrappers

  • Drop GIO dependency from libgirepository

  • Do not install the GLib introspection data

1.78.1 - 2023-09-16

  • Avoid undefined behaviour in the Regress test suite [#458]

1.78.0 - 2023-09-08

  • Update the GIR data for GLib, GObject, and GIO

  • Add GObject as a dependency for the Cairo GIR

  • Add more tests for GI marshalling

  • Update regression test suite

  • Fix build on Windows for paths using ‘' as a separator

  • Support different prefix for finding GIR data

  • Add GI_GIR_PATH environment variable for controlling GIR paths

1.76.1 - 2023-03-22

  • Handle null default values [#457]

  • Documentation fixes

1.76.0 - 2023-03-13

  • Documentation fixes

  • Update the GIR data for GLib

1.75.6 - 2023-02-13

  • Documentation fixes

  • Fix build when using GLib as a subproject

  • Update the GIR data for GLib

1.75.4 - 2023-01-09

  • Brown-paper bag release to fix the GLib dependency.

1.75.2 - 2023-01-09

  • Split ‘disguised’ attribute into two separate attributes [#101]

  • Add copy/free function annotations for plain-old data types [#14]

  • Include the default value of GObject properties in the GIR data [#4]

  • Drop wrap files for recursive dependencies

  • Add more marshalling tests [Marco Trevisan]

  • Update the GIR data for GLib, GObject, GModule, and GIO [Sebastian Dröge, Rico Tzschichholz]

1.74.0 - 2022-09-17

  • Update the GIR data for GLib, GObject, GModule, and GIO

1.73.1 - 2022-09-03

  • Update the GIR data for GLib, GObject, GModule, and GIO

  • Disable rpath on Windows [Christoph Reiter]

  • Add llvm/mingw support on Windows [Christoph Reiter]

  • Fix annotations in libgirepository [Philip Chimento]

  • Support C99 designated initializers when parsing C declarations [Jan Tojnar]

  • Add some more types to win32 GIR [Marc-André Lureau]

  • Let doctool prepend emitting objects in GJS signals [Andy Holmes]

  • Require a C99 toolchain like GLib

1.73.0 - 2022-07-13

  • Update the GIR data for GLib, GObject, GModule, and GIO

  • scanner: Support pre-processor macros with zero arguments [Philip Withnall]

  • scanner: Support ISO C varargs in macros [Philip Withnall]

  • Fix subproject build [Andoni Morales Alastruey]

1.72.0 - 2022-03-18

  • Add new utility API to libgirepository for bindings implementing an argument cache [Philip Chimento]

  • Update the GIR data for GLib, GObject, GModule, and GIO

1.71.0 - 2022-02-14

  • Create new API for libffi closures [Sergei Trofimovich, Cimbali]

  • Treat @-prefixed shlib paths as absolute on macOS [Rok Mandeljc]

  • Add new forever scope [#49]

  • Build fixes with newer Meson [#414]

  • Improve regression test suite [Marco Trevisan (Treviño)]

  • Avoid a segfault when using an invalid GType [Lukas Oberhuber]

  • Build fixes on Windows when using g-i as a subproject [Andoni Morales Alastruey]

  • Warn about property name collisions [#386]

  • Add “strict” warnings to g-ir-scanner

  • Add the “emitter” annotation for signal emitters

  • Add a command line option to g-ir-scanner to specify the compiler

  • Add new convenience API to libgirepository [Philip Chimento]

  • Build fixes on Windows when using MSVC [Chun-wei Fan]

  • Documentation fixes [#211, #327]

  • Update the GIR data for GLib, GObject, and GIO

1.70.0 - 2021-09-17

  • Update the GIR data for GLib, GObject, and GIO

1.69.0 - 2021-08-24

  • Fix build when gobject-introspection is a subproject !266

  • Add more float types #384, !269

  • Make test suite work with cross-related options #227

  • Fix several leaks found by Coverity !272

  • Fix enum member c:identifier !264

  • Add g-ir-doc-tool man page !284

  • Export warnlib sources as variables !287

  • Update the GLib annotations !288

  • Add “final” class attribute !257, !291

  • Add option to make .gir files installation paths configurable !63

  • Handle constructors with mismatched GTypes #399, !292

  • Add property accessors annotations #13, !279

1.68.0 - 2021-03-19

  • Update GLib annotations !262

  • docs: cleanup !261

  • Fix syntax errors in gir-1.2.rnc !256

1.67.1 - 2021-03-12

  • Requires Python 3.6+

  • Update GLib annotations

  • Fix compatibility with Python 3.10 #358

  • Fix build with GIR data disabled !248

  • Add test object for signal marshallers !259

1.66.1 - 2020-10-03

  • Update glib annotations

  • Windows: Fix running on different drives !239

  • gimarshallingtests: Add more tests for flags !235

  • Revert “giscanner: Fix section matching for documentation !237” see #360

1.66.0 - 2020-09-12

  • Support the gtk-doc action syntax !203

  • Meson fixes with glib and/or g-i is a subproject !206 !208

  • GITypeInfo storage type utility API !205

  • Meson: Fix build as subproject !214

  • Fixing XDG_DATA_DIRS logic !215

  • libgirepository: Add a couple missing nullable annotations !217 !225

  • dumper: Fix missing symbols in LTO case or with overridden symbol visibility settings !216

  • Documentation improvements: !220 !232

  • Remove old autoconf fallback code for the python tools !221

  • meson: Rename option gi_cross_use_{host -> prebuilt}_gi mr:211

  • meson: Don’t override finding executables when using pre-built tools. !212

  • meson: gir: add a dependency for g-ir-compiler for building .girs !228

  • meson: Use pkgconfig generator !207

  • Fix gi-dump-types.c to build on Windows !218

  • giscanner: parse block comments for members and fields !230

  • Add the notion of standalone doc sections !226

  • giscanner: Add support for using clang-cl !234

  • giscanner: Fix section matching for documentation !237

1.64.1 - 2020-04-05

  • Replace calls to deprecated xml.etree.cElementTree removed in Python 3.9 !202 (Stephen Gallagher)

  • gimarshallingtests: Use g_assert_cmpfloat_with_epsilon. Fixes tests on some architectures !200 (Iain Lane)

1.64.0 - 2020-03-07

1.63.2 - 2020-01-17

1.63.1 - 2019-11-24

1.62.0 - 2019-09-09

  • No changes since 1.61.2

1.61.2 - 2019-08-17

1.61.1 - 2019-08-07

1.60.2 - 2019-06-15

  • docwriter: Fix Exception message attribute !146 (Philip Chimento)

  • meson: fix default cairo DLL name on Windows

  • scanner: Fix error on Windows in case source files are on different drives

  • gi-test: Fix gir file tests with MSVC !151 (Chun-wei Fan)

  • MSVC.README.rst: Update VS 2008/x64 build notes !152 (Chun-wei Fan)

  • giscanner/scannerlexer.l: Include io.h on Windows (Chun-wei Fan)

  • build: Force-include msvc_recommended_pragmas.h on Visual Studio !152 (Chun-wei Fan)

  • Update glib annotations (2.60.4)

1.60.1 - 2019-04-07

  • Update glib annotations (glib-2-60)

  • shlibs: fall back to basename on macOS for relative paths #222

  • meson: always pass –quiet to g-ir-scanner

  • docs: include ‘–c-include’ in g-ir-scanner man page #275

  • tests: Fix compatibility with Python 3.5 #274 (Tomasz Miąsko)

1.60.0 - 2019-03-10

NOTE: This is the last release supporting autotools. Please try building with meson instead and report any problems. This does not affect projects using autotools + g-i, only the build of g-i itself.

1.59.5 - 2019-03-04

  • gir: Include C header in cairo gir file !138 (Tomasz Miąsko)

  • ccompiler: restore customize_compiler() setup for macOS. #268

  • gir: skip glib-enumtypes.h for GObject-2.0 !140

1.59.4 - 2019-02-04

  • tests: Add functions using flat struct arrays. !130 (Tomasz Miąsko)

  • Clean shebangs out of non-executable scripts and drop exec perm from xmlwriter.py. !131 (Dominique Leuenberger)

  • maintransformer: parse deprecation annotations for section blocks. #213 !132

  • repository: g_irepository_get_object_gtype_interfaces. !30 (Colin Walters, Philip Chimento)

  • message: handle fatal errors even if warnings are disabled. #229 !126

  • autotools: Fix build with -Wl,--as-needed. #226 !134

  • maintransformer: Don’t warn on (optional) annotations on (inout) !135 (Guido Günther)

  • girepository: Fix a possible use-after-free if g_mapped_file_new() fails and fix possible leak of transitive dependency names. !136 (Elliott Sales de Andrade)

1.59.3 - 2019-01-08

  • meson: use underscore as a separator in build options (gtk-doc -> gtk_doc etc) !129

  • website: add cppgir C++ binding !124 (Mark Nauwelaerts)

  • scanner: Merge specifiers and qualifiers when merging basic types. Fixes “unsigned char” being wrongly parsed as “unsigned” etc. !125 (Tomasz Miąsko)

  • meson: warn that not all tests will be run if building without cairo/doctool

  • scanner: rework source root directory guessing code to not depend on the build directory

  • scanner: Remove incorrect c:type generated for array of synthesized unions !127 (Tomasz Miąsko)

  • scanner: Flatten multi-dimensional arrays fields !128 (Tomasz Miąsko)

1.59.2 - 2019-01-04

  • Everything included in 1.58.3

  • meson: Various fixes and all tests have been ported (0.47+ is required now) !114 !110 etc. (Tomasz Miąsko, Emmanuele Bassi, Christoph Reiter)

  • scanner: Save preprocessor input and output files with save-temps !107 (Tomasz Miąsko)

  • automake: Use the wildcard function where needed !100 (William Hua)

  • build: extend PYTHONPATH instead of replacing it !101

  • gir/cairo: add cairo_rectangle_t #74 !103 (Yeti)

  • Add a --version option to g-ir-compiler and g-ir-generate #55 !106

  • tests: various test improvements !111 !117 !119 (Tomasz Miąsko)

  • ccompiler: don’t use Python compiler flags #150 !118 !120 (Tomasz Miąsko, Christoph Reiter)

  • parser: Do not bail out when parsing GIR files without doc positions !121 (Emmanuele Bassi)

  • gimarshallingtests: Remove declarations of nonexistent functions !123 (Philip Chimento)

1.58.3 - 2018-12-30

  • docwriter: Support python-markdown 3.x #250

  • scanner: Define grefcount and gatomicrefcount as aliases to gint #254 (Tomasz Miąsko)

  • scanner: make using bool without stdbool include work again #247

  • gir: Update glib annotations for glib 2.58.2

1.59.1 - 2018-12-16

  • Everything included in 1.58.2

  • build: Drop Python 2 support, require Python 3.4+ !69

  • build: Add option to make .gir files installation paths configurable !63 (Kai Kang)

  • build: Skip gobject/gvaluecollector.h when constructing GObject GIR !20 (Tomasz Miąsko)

  • build: Port various tests to work with meson !92 !94 !95 (Tomasz Miąsko)

  • regress: Add test for write-only property !67 (Philip Chimento)

  • regress: Implement interface and override properties !59 (Philip Chimento)

  • writer: Include documentation and symbol position in source files !75 (Thibault Saunier)

  • giscanner: Print relative filename paths when warning !74 (Jonas Ådahl)

  • giscanner: Define grefcount and gatomicrefcount as aliases to gint !76 (Tomasz Miąsko)

  • giscanner: Allow empty declarations. Fixes warnings with mingw headers. #216 !89 (Christoph Reiter)

  • giscanner: Replace linked lists with arrays in source scanner !90 (Tomasz Miąsko)

  • girepository: Various docs cleanups and fixes !96 !97 #66 (Tomasz Miąsko, Christoph Reiter, Jasper St. Pierre)

  • girepository: Don’t abort when calling g_base_info_get_name() on a GITypeInfo #96 !99 (Christoph Reiter)

  • girepository: Add version macros and functions #200 !98 (Christoph Reiter)

1.58.2 - 2018-12-09

  • meson: Fix random build errors (mostly MSVC) !88 (Tomasz Miąsko)

  • scanner: Fix parsing of __typeof__ that is part of a cast expression !78 (Tomasz Miąsko)

  • scanner: Ignore __pragma keyword used by MSVC !87 (Tomasz Miąsko)

1.58.1 - 2018-11-17

1.58.0 - 2018-08-31

• Changes:
  - Update annotations imported from GLib, and require GLib 2.58
  - Ensure that G-I builds on macOS
  - Add a --version argument to the Python-based tools
  - Allow selecting the output format for g-ir-doc-tool
  - Drop the Visual Studio templates
  - Use Sphinx to generate the user documentation; gtk-doc is still
    required for the girepository-1.0 C API reference
  - Support all _Float* C types from ISO/IEC TS 18661-3:2015
  - The autotools build now uses autoconf-archive
  - g-ir-doc-tool: Add DevDocs formatting for GJS (--format=devdocs)
    This adds a dependency on the Python markdown package

• Issues resolved on gitlab.gnome.org:
  - #139 - make check fails for gobject-introspection 1.44.0 on
           OS X 10.10.4
  - #184 - Default element-type not set for GByteArray object
           properties
  - #189 - c:type missing pointer/array information in GIR for
           C array parameters
  - #134 - Allow multiple output formats
  - #218 - gtk2 hits unreachable code after enable -Wswitch-default
  - #113 - Memory leaks in GI regress and marshalling tests property
           setters

• Bugs resolved on bugzilla.gnome.org:
  - #702788 - The girepository DLL is acquiring pointers incorrectly
              on Windows/x64

• Contributors:
  Tomasz Miąsko, Emmanuele Bassi, Rico Tzschichholz, Chun-wei Fan,
  Philip Chimento, Tom Schoonjans, Christoph Reiter, Ray Donnelly,
  Marcus Calhoun-Lopez, Florian Müllner, Evan Welsh, Mathieu Duponchelle

1.56 - 2018-03-13

• Changes:
  - Add _Float128 to the base C types
  - Update annotations imported from GLib, and require GLib 2.56

• Issues resolved on gitlab.gnome.org:
  - #173 - Fails to parse flag-constants
  - #175 - writer: Include documentation and symbol position in
           source files
  - #120 - adding subdir-objects to AM_INIT_AUTOMAKE
  - #190 - const qualifier dropped from c:type on (type filename)
           parameters
  - #188 - giscanner: don't print "suppressed N warnings" if --quiet
           was specified

• Bugs resolved on bugzilla.gnome.org:
  - #764791 - gitypelib.c: increase #define MAX_NAME_LEN from 200 to 255
  - #756921 - g-ir-scanner does not recognize _Thread_local
  - #791991 - Broken shared-library value in gir files on *BSD when
              builddir includes the name of the library
  - #791902 - Building using non-libtool (e.g., meson) on MinGW
  - #629667 - MY_ENUM_VALUE = <constant> only works for last member
  - #699354 - g-ir-compiler man page for --shared-library incorrectly
              says "lib" and ".so" should be removed
  - #761985 - os.name can be wrong in some context
  - #699328 - GI_TYPELIB_PATH is undocumented

• Contributors:
  Ting-Wei Lan, Leslie Giles, Rico Tzschichholz, Christoph Reiter,
  Nicola Fontana, Tomasz Miąsko, Emmanuele Bassi, Philip Chimento,
  Karl-Philipp Richter

Note

For older releases, see the Git log