Releases: ianprime0509/zig-gobject
v0.2.2
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
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
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
, usegtk4
, etc. gobject.ext.defineType
has been renamed togobject.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
, usegobject.Object.signals.something.connect
, etc.
v0.1.1
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
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).