Releases: ianprime0509/zig-gobject
Release list
v0.3.2
The main highlight of this release is support for Zig 0.16.0 and the GNOME 50 SDK.
What's Changed
- feat: update to 0.16.0 by @psnszsn in #152
- minor fixes to make zig-gobject work with a zig 0.16 project. by @timlau in #155
- ci: fix working directory permissions by @ianprime0509 in #154
- ci: remove unnecessary mkdir by @ianprime0509 in #158
- chore(gir-fixes): remove obsolete fix by @ianprime0509 in #159
- feat: GNOME 50 by @ianprime0509 in #160
- chore(gir-fixes): remove workarounds for false dependency loops by @ianprime0509 in #161
New Contributors
Full Changelog: v0.3.1...v0.3.2
v0.3.1
Apologies for the long delay in releases since the last version. I finally got some time to work on automation for CI and fixing up some test issues that had cropped up since the Zig 0.15 migration, so future releases should hopefully go more smoothly.
The main highlight of this release is support for Zig 0.15, and updates to the supported GNOME SDKs. There have also been several fixes to GIR, which have resulted in more accurate bindings.
The only notable breaking change is with custom property accessors: the API for gobject.ext.Accessor is now more flexible, using gobject.Value directly. The old type-safe accessors can now be created using gobject.ext.typedAccessor, which also now accepts options to control how getters and setters handle ownership of data.
What's Changed
README.md: update module names by @jmc-88 in #99- feat: add support for GNOME 48 SDK by @ianprime0509 in #103
- Fix translation of Null-terminated arrays by @Gothem in #107
- feat: make
gobject.ext.Accessormore flexible by @ianprime0509 in #109 - Add comptime assertion that GObject parameter names are valid. by @jcollie in #116
g_weak_ref_getcan returnNULLby @jcollie in #117- fix: avoid leaks in field accessors by @ianprime0509 in #118
- feat: update to Zig 0.15 by @ianprime0509 in #119
- feat: add support for GNOME 49 by @ianprime0509 in #126
- ci: add automated tests by @ianprime0509 in #141
- ci: add automated tests by @ianprime0509 in #144
- fix(gir): add missing nullability to GLib list functions by @ianprime0509 in #146
- docs: use fork for Autodoc and publish docs by @ianprime0509 in #147
New Contributors
Full Changelog: v0.3.0...v0.3.1
v0.3.0
Full Changelog: v0.2.2...v0.3.0
The main highlight of this release is that the project has been updated to Zig 0.14.0 as the baseline supported version. There are also a few other notable changes:
- Breaking change: Object property definitions have been simplified. The
readableandwritableflags have been removed in favor of making accessor functions optional. See 4cb495f for more details. - A new build helper,
buildCompileResources, has been added, which allows constructing a GResource bundle from lazy paths rather than a staticgresources.xmldescriptor. - The binding generator should now be more usable as its own package thanks to a contribution by @jcollie (#97).
- Various other bug fixes and code cleanups.
Thank you to everyone who contributed code, issue reports, and suggestions to this release!
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
connecthelper 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.defineTypehas 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).