Change Log

GtkD 3.10.0

Nov 11, 2021
  • Support wingtk and vcpkg
  • Update GtkSourceview
  • Update GLib an Atk
  • Bug fixes

GtkD 3.9.0

May 28, 2019
  • Update the libraries to the latest versions.

GtkD 3.8.5

Jan 6, 2019
  • Set the correct version number.

GtkD 3.8.4

Nov 22, 2018
  • Fix a memory leak when signals are used on a widget in a container. #254
  • Update the GdkPixbuf Lookup file for the canges in 2.38. #250
  • Add a get template for gobject.Value.
  • Don't hardcode pkg-config #249
  • All function names and parameters that are D keywords are now post fixed with an underscore.
    This is instead of the more random substitutes used previously.
  • Fix an out-of-bounds write in toStringzArray #248

GtkD 3.8.3

May 28, 2018
  • Make sure we only use one toggle reference per GObject.
  • Allow empty arrays in the Dialog constructor.
  • Fix Windows build script. #242

GtkD 3.8.2

Apr 20, 2018
  • Check for null in the ObjectG opCast, so we can cast objects that are null. #241
  • Add len and index methods to PtrArray

GtkD 3.8.1

Apr 16, 2018
  • Fix the gobject.Value constructor for Objects. #239
  • Also use toggle references for getInterfaceInstance. #239

GtkD 3.8.0

Apr 2, 2018
  • Update the libraries to the latest versions.
  • Implement a DClosure. #225
  • Add a Signals.connect overload for D functions and delegates.
  • Bring back the OpCast changes for ObjectG.
  • Add ldc support to the Build.d script.
  • Clean up Idles and Timeouts when they are destroyed on the C side.
  • Add missing properties for gtk.TreeIter.

GtkD 3.7.5

Mar 1, 2018
  • Check for null when returning an object in gtkd.Implement.
  • Handle out parameters correctly in gtkd.Implement.

GtkD 3.7.4

Feb 28, 2018
  • Fix building with dmd 2.079.

GtkD 3.7.3

Dec 16, 2017
  • Use the Slice allocator to allocate structs. #221

GtkD 3.7.2

Nov 26, 2017
  • Don't use the phobos version of Scoped, to avoid issues when the struct is moved. #220
  • Fix the Windows build script for dmd 2.077.

GtkD 3.7.1

Nov 1, 2017
  • Revert the opCast changes for the 3.7 release.
  • Use hasMember instead of hasStaticMember.

GtkD 3.7.0

Oct 15, 2017
  • Add GstMpegts bindings.
  • Add GstBase and GstApp bindings. #215
  • Add an opCast for ObjectG.
  • Add properties for simple structs with fields marked as writable.
  • Templatize ListStore.setValue, TreeStore.setValue andthe gobject.Value constructor to allow for more types.
  • Also generate constants. #213
  • Add gobject.Signals.Signals.connect(). #207
  • Update some of the demos to the Gtk3 way of doing things. #204, #205 and #206
  • Remove GtkGlExt demos.

GtkD 3.6.6

Aug 6, 2017
  • Fix a memory leak with signals. #211
  • Fix a scoped issue with gtkDGL.
  • Include libPeas in the "shared" make file target. #203

GtkD 3.6.5

May 30, 2017
  • Fix the Windows build script.
  • Fix the workaround for 64bit Windows. #201

GtkD 3.6.4

May 26, 2017
  • Don't add deprecation warnings in a bugfix release.

GtkD 3.6.3

May 14, 2017
  • Fix the destroyNotify error when destroying an object with unref.
  • Retrieve the library names from the gir files instead of gtkd.paths.

GtkD 3.6.2

May 11, 2017
  • Fix dub.json.
  • Call free in the destructors of classes not derived from ObjectG.

GtkD 3.6.1

Apr 24, 2017
  • Fix the GNUMakefile. #196

GtkD 3.6.0

Apr 22, 2017
  • Update the libraries to the latest versions.
  • Add librsvg. #193
  • Allow for not using the runtime linker when generating the binding.
  • Add mixin templates to generate the boilerplate needed to implement Gtk interfaces or overrideing Gtk functions.

GtkD 3.5.1

Jan 10, 2017
  • Set the correct path for the pkgconfig files. #181

GtkD 3.5.0

Jan 6, 2017
  • Allow removing signal handlers and register each handler seperatly with GTK. #170
  • Add dub configurations for the demos. #177
  • Fix gio.Socket.receive. #178
  • Use the correct Homebrew path. #172

GtkD 3.4.1

Dec 30, 2016
  • Properly remove toggle references when an object is destroyed. #169

GtkD 3.4.0

Dec 28, 2016
  • Wraps the GTK+ 3.22 API.
  • Update to GTK 3.22
  • Properly finalize GTK objects. #165
  • Reset the ID for glib.Timeout. #154
  • Add libPeas Binding. #152
  • Load libraries in the Global namespace to avoid Sourceview errors.
  • Check the "GTK_BASEPATH" and "HOMEBREW_ROOT" environment variables on OSX. #164
  • Print a more informative error message when we fail to load a library.

GtkD 3.3.0

Mar 23, 2016
  • Wraps the GTK+ 3.20 API.

GtkD 3.2.3

Mar 7, 2016
  • Fix some memory errors. #146
  • Add a scoped version of addOnCommandline. #142

GtkD 3.2.2

Jan 21, 2016
  • Add ddox generation script by Gerald Nunn.
  • Allocate GTK structs with g_malloc0.
  • GIO Action and Popover demo by Gerald Nunn. #140
  • Don't create new objects in ListG and ListSG toArray.

GtkD 3.2.1

Nov 23, 2015
  • Fix ListG.toArray, and the unittest. #129
  • Returning a TreeIter from a custom TreeModel should be optional. #130
  • New CoreGL demo by: Sebastien Alaiwan. #132
  • New Multithreading demo by: Gerald Nunn. #134
  • Fix the vte path. #135

GtkD 3.2.0

Oct 11, 2015
  • Wraps the GTK+ 3.18 API.

GtkD 3.1.5

Oct 3, 2015
  • The Wrapper now shows file and linenumber on errors in the GIR files.
  • Fix iterating ListG and ListSG. Fix #123
  • Fix building GtkDGL.

GtkD 3.1.4

Jul 6, 2015
  • Fix issues with dmd 2.068.
  • Throw GExceptions before ConstructionExceptions. Fix #118
  • Add addMany and removeMany to gstreamer.Bin. Fix #116

GtkD 3.1.3

May 25, 2015
  • Don't document length parameters that arn't there.
  • Don't treat guchar* as string. Fix #115
  • Set the TreeModel after retrieving the TreeIter. Fix #113

GtkD 3.1.2

April 12, 2015
  • Fix gtk.Builder.Builder.addFromFile.

GtkD 3.1.1

March 27, 2015
  • Remove conflicting GStreamer Files.

GtkD 3.1.0

March 26, 2015
  • Wraps the GTK+ 3.16 API.
  • Add TreeModelFilter and TreeModelSort constructors, #110.

GtkD 3.0.0

March 15, 2015
  • New Generator based on the gir files. for changes because of it see the wiki.
  • Wraps the GTK+ 3.14 API.
  • Deprecated the addOnDraw function that doesn't use scoped.
  • Improve memory management for classes derived from gobject.ObjectG.
  • Don't use absolute paths for the GTK libraries on OSX, Issue #97.

GtkD 2.4.2

November 28, 2014
  • Fix issue #102, stop allocating in the ObjectG destructor.

GtkD 2.4.1

November 9, 2014
  • Fix memory leak with gdk.Pixbuf.
  • On Windows search for an copy of GTK+ in <exe path>\gtk.

GtkD 2.4.0

August 4, 2014
  • Calling unsupported functions now throws an Error.
  • Add a Scoped overload for addOnDraw.

    Since the GC can keep a lot of Contexts alive before a collection cycle starts,
    some memory and GDI/X11 handles arn't released when no longer needed.
    The Scoped overload destroys the Context at the end of the call releasing there resources.

  • Avoid DLL issues on Windows.

    GtkD now searches for the correct copy of Gtk+.

  • Add a toArray function to glib.ListG and glib.ListSG.
  • Add VTE binding, provided by Deadalnix.
  • Remove D1 support.

    There are a few reasons to do this:

    1. All three compilers have discontinued there D1 version.
    2. GtkD with D1 + Tango has been broken for a year now, without any complaints.
    3. I hope to better support D2 features like const, imutable, nothrow, pure.

  • bug fixes.