Vala 0.5.3

Long time no post, I’ll try to get better. Yesterday we’ve released Vala 0.5.3. Tarballs are available from the GNOME FTP servers.

  • D-Bus server support has been rewritten to directly use libdbus. Avoiding dbus-glib marshalling helps Vala to support complex D-Bus types more easily.
  • All Vala structs will now be registered with GBoxed.
  • Many critical warnings and crashes on invalid code have been fixed and replaced by better understandable error messages.
  • Private class fields and class destructors (base_finalize) are now supported.
  • vala-gen-project has been dropped from the package, it is now part of Vala Toys for gEdit, which is progressing very well.
  • Many bug fixes all over the place.

In the following weeks and months we will focus on bug fixing, finishing some partially implemented features, and switching to GObject Introspection trunk for our bindings. We’re aiming to release a stable Vala 1.0 in March 2009.

3 Responses to “Vala 0.5.3”

  1. Pretty cool on the D-Bus front. I wonder if the Vala code could be abstracted to make better D-Bus GLib bindings. Something like adding annotation to methods comments and having a vala subset parse that during a build.

  2. juergbi says:

    We actually already have experimental support for generating nice GObject based D-Bus binding. For the following code snippet

    [DBus (name = "org.gnome.Foo")]
    public interface Foo : Object {
    public abstract void frobnicate (string bar);
    }

    Vala will generate an internal class FooDBusProxy that implements the interface Foo and you can use the following generated function from C to use the D-Bus service:

    Foo* foo_dbus_proxy_new (DBusGConnection* connection, const char* name, const char* path);