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

  • Update glib annotations (Rico Tzschichholz)

  • build: require meson 0.50.1

  • build: use proper dylib versioning on macOS !177 (Tom Schoonjans)

  • scanner: Support array arguments with static keyword !176 (Emmanuele Bassi)

  • website: Add Ruby-GNOME to user list !178 (kojix2)

  • Fix non-libtool code being run with no nob-libtool dependencies !179 (Alistair Buxton)

  • meson: change “cairo” from a boolean to a feature option !180

  • meson: change “doctool” from a boolean to a feature option !181

  • Fix a memory leak in g_irepository_get_object_gtype_interfaces() !182 (Philip Chimento)

  • ccompiler.py: Fix macro defines with quotes on MSVC !183 (Chun-wei Fan)

  • tests: Actually test libregress by specifying the LD_LIBRARY_PATH !174 (Corentin Noël)

  • examples: Make self contained and add build system integration examples !189

  • autotools: Make INTROSPECTION_GIRDIR/INTROSPECTION_TYPELIBDIR respect prefix/datadir/libdir !190

  • girepository: Also store GType cache misses !191 (Carlos Garnacho)

  • docs: Document GI_CROSS_LAUNCHER envvar !175 (Emmanuele Bassi)

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

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

1.58.2 - 2018-12-09

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