Foundation for libraries generated by haskell-gi


Version on this page:0.20.8
LTS Haskell 21.23:0.26.4
Stackage Nightly 2023-12-06:0.26.4
Latest on Hackage:0.26.4

See all snapshots haskell-gi-base appears in

LGPL-2.1-only licensed by Will Thompson, Iñaki García Etxebarria, Jonas Platte
Maintained by Iñaki García Etxebarria (garetxe@gmail.com)
This version can be pinned in stack with:haskell-gi-base-0.20.8@sha256:3b8bf9d9edbb392cbeedf76c086978a88a042c79149b63d31402fa48169d795f,2343

Foundation for libraries generated by haskell-gi



  • Fix a bug which could lead to crashes when releasing boxed objects, see issue #130.


  • Fix a memory leak in doConstructGObject.


  • Use g_object_new_with_properties instead of g_object_newv in GLib versions 2.54 or later, to avoid a deprecation warning.


  • Run object finalizers in the main loop. The reason is that for some types the destructor is not thread safe, and assumes that it is being run from the same thread as the thread that created the object, which can lead to crashes when using the threaded runtime.



  • Fixes for GHC 8.2.1 (and the corresponding base-4.10.0).


  • Fix fromGVariant for empty arrays, see #91 for details.


  • Add Data.GI.Base.CallStack, abstracting (and backporting to the extent possible) the HasCallStack constraint present in newer GHCs. Using this, we now include callstacks pervasively in the generated code.

  • Improve the WrappedPtr implementation.

  • Deprecate nulltoNothing, it is better to simply fix the overrides when necessary.

  • Make the semantics of GObject ownership transfer closer to those used by the Python bindings.