Uniform handling of callback, signal and method arguments
Automatically convert array elements to GValue
Support inline array fields
Support struct fields
Improved field setters and getters
Support many more types of properties
Support skipped arguments and return values
Fix refcount for the result of IBaseInfo#container
Check bounds in GLib::PtrArray#index and GLib::Array#index
Deprecate several methods
Lots of refactoring
Handle GArrays of booleans and structs
Improve handling of gbooleans
Handle inline arrays of structs
Implement equality operator for container types
Fix element size calculation for GArray
Represent enum types by modules wrapping FFI::Enum
Support functions on enums
Handle zero-terminated arrays of types other than int32
Add override for GLib::Variant#get_string
Handle non-throwing arguments and return values of type GError
Handle arguments and return values of type GPtrArray
Handle caller-allocated arguments of type GArray
Deprecate GObject::Value#ruby_value, replacing it with get_value
Make use of enums as element type for GHashTable and other containers work
Handle introspectable types with introspectable parent types
Handle SizedArray containing enums
Support Rubinius
Lots of refactoring
Handle signal details in GObject.signal_connect and .signal_emit
Make GValue#set_value check object GType compatibility
Eliminate GObject::Helper module
Handle more argument types
Support Ruby 2.0.0
Properly handle zero-terminated arrays of :filename
Loosen dependencies on ffi and minitest
Update ffi dependency
Add finalizer to release memory for IBaseInfo and descendents
Remove deprecated methods
Remove pretty-printing functionality
Refactor argument handling
Remove gobject-introspection version check
Make tests pass with gobject-introspection 1.34
Ongoing refactoring
Make objects and interfaces wrap poiners in the class that matches their GType.
Remove workarounds for older versions of gobject-introspection
Mark certain methods as deprecated. These will be removed in 0.5.0
Handle :filename type arguments in InPointer
Refactoring
Move Gtk+ bindings to their own gem (gir_ffi-gtk).
Correctly set FFI return type when callbacks that return GObjects have incomplete type specification.
Correctly map Interface types in callbacks.
Improve process of defining initializers in derived classes.
Make interfaces know their GType.
Make classes created by the Unintrospectable builder know their GType.
Create property accessors instead of field accessors for GObjects.
Add Ruby-style getter and setter methods (by Antonio Terceiro).
Add signal_connect instance method (by Antonio Terceiro).
Make GirFFI's tests pass with gobject-introspection 0.10.
Improve unintrospectable type handling.
Bug fixes and refactorings.
Start implementing define_type, for creating descendent types that the GObject system knows about.
Fix issue #7: methods that take GValues will autoconvert other values.
Fix method lookup when include'ing a module that is an Interface.
Various refactorings.
Fix issue #19: Check if a GLib::PtrArray.add method was generated before attempting to remove it.
Fix two issues with pretty printing that made output for GLib have syntax errors.
Fix handling of output parameters that are arrays of pointers to structures (i.e., of type Foo***).
Add support for properties, with get_property and set_property.
Add support for fields.
Create field accessor methods.
Get rid of #[] and #[]=.
Explicitely load libgirepository with ABI version 1.
Improve implementation of GLib container classes (GList etc.):
Real constructors.
append and friends are instance methods now.
Conversion methods to cast Ruby containers to GLib containers.
Start implementing pretty printing.
Various refactorings.
Put bindings for GObjectIntrospection in their own namespace.
GirFFI.setup no longer loads overrides.
Add ffi-gtk2 and ffi-gtk3 files for loading Gtk+ overrides.
Support GObject Introspection version 1.30:
Add support for layouts with fixed-length arrays.
Handle type names starting with underscores.
Call g_signal_emitv directly to avoid conflict in introspection info with earlier versions of GObject Introspection.
Remove IErrorDomain related code. This functinality was removed from GObject Introspection in version 1.29.17
No longer use _id2ref to locate objects past as user data pointers.
Fix failing tests on JRuby.
Change interface to the underlying builder in generated modules and classes.
Handle string, enum, union, flags signal arguments.
Handle string arguments in GObject.signal_emit.
Handle enum signal arguments.
Fix finding signals in non-introspectable types.
Fix method setup in non-introspectable types.
Refactoring.
Handle GObject interfaces properly.
Create types only defined by the GType system.
Support GType array return values.
More complete support for the basic types.
Improved support for GList, GSList, GStrv, and GValue.
Add support for GHashTable, GVariant, GByteArray, and GArray.
Generate constants.
When setting up a module, set up its dependencies as well.
Test against the GIMarshallingTests test namespace.
Use minitest/spec for testing.
Various bug fixes and internal improvements.
Generate modules with names starting with a lowercase letter (like cairo).
Allow specifying the typelib version on setup.
Rename methods methods and type of the introspection classes to avoid clashing with standard Ruby methods.
Refactoring.
Support gobject-introspection 0.10, drop support for earlier versions.
Use Regress, not Everything, for testing.
Deal with functions that are no longer introspectable.
Correctly handle constructors that declare their return type different from their class.
Implement RubyClosure, a GObject::Closure for handling ruby callbacks.
Handle GLib's singly and doubly linked lists.
Handle callback types defined in-place (like Closure's marshal).
Refactoring.
Cast returned GObjects to their actual type.
Properly cast callback arguments.
Handle the case where functions formally return interfaces.
Make sure Gtk::Window has the correct number of references after creation.
Refactoring and some small fixes.
Don't create instance methods out of functions and vice versa.
Find signals on interfaces, too.
Implement tests for most of Everything.
Correctly handle array + size arguments.
Handle most other argument types.
Various internal changes and other fixes.
Lots of changes to the internals.
Handle out-only arguments.
Make use of callbacks from other namespaces work.
Handle virtual methods where the invoker method has a different name.
Implement usable signal_connect and signal_emit.
Sink floating references when creating a GObject.
Implement Union type.
Many small bug fixes.
Update to restore Ruby 1.9 support.
Handle functions with the 'throws' property set.
Handle classes without specified fields.
Several fixes to method creation.
Initial release.