Skip to content

Releases: ianprime0509/zig-gobject

v0.2.2

11 Oct 02:39
Compare
Choose a tag to compare

Full Changelog: v0.2.1...v0.2.2

This release contains several changes since v0.2.1, most notably, GNOME 47 SDK bindings and restoring compatibility with the latest Zig master (while retaining support for 0.13.0). Release highlights:

  • Breaking change: to ensure conformance with Zig's new requirement for fields and decls to have non-conflicting names, all field names in translated classes, records, and unions are now prefixed with f_.
  • Handling of bool and string properties has been corrected (#71).
  • The generated bindings are now compatible with Zig master again (#73).
  • Bindings for the GNOME 47 SDK have been added, and bindings for the GNOME 45 SDK have been dropped.
  • A new helper, gobject.ext.privateFieldAccessor, is now available to aid in defining properties backed by private fields.
  • The "detail" part of a signal can now be specified when connecting it via the signal connect helper function.

Thanks to @thetek42, @sin-ack, and @robertgzr for their contributions to this release, both in code contributions and issue reports.

v0.2.1

23 Jul 02:59
Compare
Choose a tag to compare

Full Changelog: v0.2.0...v0.2.1

This is a small bugfix release for v0.2.0 with an important fix for signal emission using the gobject.ext.defineSignal helper (#67). It also adds support for signal destroyData (#68).

v0.2.0

05 Jul 05:39
Compare
Choose a tag to compare

Full Changelog: v0.1.1...v0.2.0

This release contains various enhancements, in particular:

  • Zig 0.13.0 support
  • Definitions of properties on object types using gobject.ext.defineProperty
  • Definitions of boxed types using gobject.ext.defineBoxed
  • Definitions of enum types using gobject.ext.defineEnum
  • Definitions of flags types using gobject.ext.defineFlags
  • Fixes for various extension functionality, particularly surrounding gobject.ext.Value

Bindings are provided for the GNOME 45 and 46 SDKs; the GNOME 44 SDK is no longer supported, so no bindings for it are provided.

There are several breaking changes in this release, most notably:

  • The module naming conventions have changed: instead of gtk-4.0, use gtk4, etc.
  • gobject.ext.defineType has been renamed to gobject.ext.defineClass (the former name would have been confusing now that several other GObject types can be defined)
  • Signal connection functions have been moved: instead of gobject.Object.connectSomething, use gobject.Object.signals.something.connect, etc.

v0.1.1

13 Feb 05:14
Compare
Choose a tag to compare

Full Changelog: v0.1.0...v0.1.1

This release includes various bug fixes and a few enhancements. Most notably, bindings are now provided for the GNOME 45 SDK, since #37 was worked around.

This release is compatible with Zig 0.12.0-dev.2711+f995c1b08, though higher or lower versions may also work.

There is only one notable breaking change in this release, which is related to a bug fix: array types which were marked as nullable in GIR are now properly translated as such (744df36).

v0.1.0

31 Jan 06:49
Compare
Choose a tag to compare

This is the initial release of zig-gobject. It should be usable for general applications, and is intended to expose at least the full power of the underlying C APIs to the user. However, it may be missing some additional useful extensions and helpers, and there is always the possibility of a few bugs in translation or in the current extensions.

This release is compatible with Zig 0.12.0-dev.2341+92211135f, though lower or higher versions may also work.

Note: unfortunately, due to the incorrect GIR reported in #37, no GNOME 45 SDK bindings are included in this release, as they are pretty much useless with the incorrect type (which is indirectly referenced by many things).