Changelog for haskell-gi-0.26.13
0.26.12
- Add support for the .gir format dialect generated by vala.
0.26.11
- Don't try to guess which callback arguments are
user_data
arguments, as this can lead to problems, as in issue 447.
0.26.9
- Add a workaround for a GHC issue stopping parallel compilation in GHC >= 9.6.
- Fix compilation issues regarding
time_t
and similar types in introspection data.
0.26.8
- Add support for scope type "forever": see this issue.
0.26.7
- Work around changing conventions on how to annotate user_data arguments in callbacks, see this gobject introspection issue for background.
0.26.6
- Work around changing conventions about what the
closure n
annotation means: many annotations appear on the callback, pointing to the user_data argument, but sometimes it also appears on the user_data argument, pointing to the callback. See issue 407 for a place where this becomes a problem.
0.26.5
- Add a reference to ?self argument in signals. See issue 408 for the motivation.
0.26.0
-
Support for 'HasField' methods, which allows the syntax 'widget.show' or 'widget.add child' for invoking methods using the new RecordDotSyntax in ghc 9.2.
-
And an implicit '?self' parameter for callbacks, for accessing the calling object. See issue 346 where this is necessary in practice in gtk4 to use event controllers.
-
Add an 'After' attribute to connect to signals after the default handler on constructors/setters using attribute syntax, similar to On.
-
Add resolveSignal for showing what an overloaded signal resolves to:
resolveSignal button #notify
will output GI.GObject.Objects.Object.Object::notify.
0.25.0
-
Support non-GObject object attributes.
-
Support for ghc 9.0.1.
-
Improvements in the generated Haddocks.
-
Remove the command line version of the bindings generator.
-
Remove support for non-IsLabel overloading.
-
Add resolveMethod for showing what an overloaded method resolves to:
resolveMethod #show widget
will outputGI.Gtk.Objects.Widget.widgetShow
.
0.24.5
-
Fix an accidental double free for GValues, see issue 320.
-
Accept docsections in gir files, although they are currently ignored. See issue 318.
0.24.4
- Relax bound on ansi-terminal.
0.24.3
- Provide type init functions for GParamSpec types. This solves a puzzling linker error saying that the "intern" symbol could not be resolved, see issue 297 and issue 298.
0.24.2
- Support for allocating GArrays of known size structs in caller-allocates arguments.
0.24.1
-
Add support for delete-attr override, to remove attributes.
-
Allow (but ignore) destroyers in scope async callbacks.
0.24.0
- Added support for non-GObject objects
0.23.2
- Fix a possible segfault in functions that return an out pointer to a dynamically allocated array, but do not initialize the array if it has zero size. See #289 for an example.
0.23.1
- Check whether symbols exist in the dynamic library before trying to generate bindings for them, in order to avoid linker errors.
0.23.0
-
gobjectType now does not require a proxy argument, it needs to be used with TypeApplications instead.
-
Annotated signals are supported:
on widget (signal ::: "detail")
. -
Safe coercions to parent types supported, with
asA
. -
Support for GObject subclassing, and registering custom properties.
-
Use TypeApplications in
AttrInfo
implementation, and inherited methods implementation. -
Add an allocating setting operator
(:&=)
. -
Support for exporting class structs.
-
IsGValue instances for GObjects and boxed objects.
0.22.6
- Fix generated IsX typeclasses for non-GObject interfaces.
0.22.5
- Add support for inheriting overloading info.
0.22.4
- Do not generate bindings for struct/union fields pointing to private/class structs, which we do not bind.
0.22.3
- Sometimes struct fields marked as not introspectable contain invalid introspection info. We are lenient in these cases with parsing errors, and simply ignore the fields.
0.21.5
- Add support for callback-valued properties.
0.21.4
- Try to guess signedness of enums and flags on the C side, fixes #184.
0.21.3
- Do not add nodes in overrides if a node with the same name already exists, fixes #171.
0.21.2
-
Do not free
Ptr Word8
types after performing the call to C, since they only get passed along. Otherwise one could easily double free in functions such as GdkPixbuf.pixbufNewFromData. -
Fix a leak on optional
ScopeTypeAsync
callbacks.
0.20.4
-
Improve marshaling of array arguments with no specified size. This improves the generated bindings for various functions, for instance
GObject.signalEmitv
. -
Replace the enable-overloading flags with a explicit CPP check of the version of
haskell-gi-overloading
we are being compiled against, see issue 124 for the rationale.
0.20.3
-
Make the overloading code protected by a CPP conditional, depending on ENABLE_OVERLOADING being defined. See issue 107.
-
Wrap boxed structs/unions as transient ManagedPtrs in callbacks. This is needed to fix a number of issues, including issue 96 and issue 97.
0.20.2
- Fixes for GHC 8.2.1.
0.20.1
-
gtk-doc parser and haddock generator: while by no means perfect, now the autogenerated bindings come with some reasonable autogenerated documentation.
-
Many bugfixes. A particularly important one is for issue 82, which made compilation of gi-glib fail, for the latest version of gobject-introspection.