On Tuesday, 8 April 2025 at 16:57:02 UTC, Ian wrote:
On Monday, 31 March 2025 at 01:22:12 UTC, Element Green wrote:
[giD](https://gid.dub.pm) v0.9.5 has now been released which adds several additional bindings with the total library count now over 60 with [high API coverage](https://github.com/Kymorphia/gid/blob/main/report.txt).

This is amazing. Thank you!

Would you say GTK4 is already usable? It should be judging from the example, but just checking if you think it's still missing large chunks or will have large breaking changes.

As Dejan said, gid:gtk4 support has a very high [API coverage](https://github.com/Kymorphia/gid/blob/main/report.txt) (99.6% method coverage currently) and is very usable. You can see a list of unsupported APIs in the linked report.txt.

gid:gtk3 actually has better coverage and support for Gtk3 than gtk-d does as well.

Having said that, we do consider the API to be unstable at the moment, hence the < 1.x version. The most recent release (v0.9.6) adds GObject property method support and did some significant renames to be more consistent (VariantG -> Variant, ObjectG -> ObjectWrap, etc) for example. Having said that, at this point I don't expect any major API breaking changes and we are nearing a 1.x release. At which point, the API will be kept as stable as possible within a major version.

There are still areas that [gidgen](https://gidgen.dub.pm) does not support with respect to GIR APIs, such as GObject "virtual class" methods, and certain data type/ownership scenarios. Bindings for such APIs (though few) could be created manually or support added as needed. Virtual class method support will be added in the next release, though I have seldom used those, since there are typically alternative ways to execute them, since they are often connected to signals or used only when implementing a native GObject.

More unit tests and user testing is also needed before I feel more confident there aren't any bugs or memory leaks. But I have been using it in a port of a rather large commercial audio synthesizer project [Kymorphia Alkimiya](https://www.kymorphia.com/products/alkimiya/index.html) with great success for a while now (website is a bit dated as it is still WIP), which was my original inspiration for creating giD.

Reply via email to