Archive for the ‘Vala’ Category

Vala 0.3.3

Wednesday, June 4th, 2008

It’s release time again. Yesterday we’ve released Vala 0.3.3. Tarballs are available from the GNOME FTP servers.

Thanks a lot to all the people helping out and have fun with the new version! For the following two releases we will focus on GObject introspection hacking to make it easy to write great bindings for many languages.

Vala 0.3.1

Tuesday, April 22nd, 2008

We’ve just released Vala 0.3.1. Tarballs are available from the GNOME FTP servers.

  • Non-null types are enabled by default
  • Experimental support for writing D-Bus services
  • New handwritten parser
  • Don’t require `new’ operator for structs
    var color = Color (0×00, 0×88, 0xee);
  • Many bug fixes and binding updates

Vala Roadmap and 0.2.0

Tuesday, April 8th, 2008

Last week I wrote an initial roadmap that we want to follow for the upcoming Vala releases on our way towards guaranteed language stability. Today we’ve released Vala 0.2.0 as planned. Tarballs are available from the GNOME FTP servers. It’s mainly a bug fix release, however, it also got some new features like nested namespaces, static constructors, and GType-registered enums. We also have three new contributed bindings for GNOME Keyring, SDL, and libftdi, and the usual updates for existing bindings.

Vala 0.1.7

Sunday, March 2nd, 2008

We’ve just released Vala 0.1.7. Tarballs are available from the GNOME FTP servers.

  • Enhanced property syntax
    public int foo { get; private set; default (3); }
  • New errordomain syntax
    public errordomain MyError { NOT_FOUND, TIMED_OUT }
  • Detect missing return and break statements and unreachable code
  • Improved pointer support (pointer member access, pointer element access, and pointer arithmetic)
  • New bindings: WebKit, JSON-GLib, goocanvas, hildon-fm-2, taglib, libusb, and bzip2
  • A lot of bug fixes

Vala Project Generator

Sunday, November 25th, 2007

Vala 0.1.5 has been released. Tarballs are available from the GNOME FTP servers. I’ve added a small tool to create new Vala projects:

Vala Project Generator

It generates the necessary autotools magic for a Vala console or GTK+ application including i18n support and it passes distcheck. Suggestions for improvements are more than welcome.

We’ve also replaced the bindings generator gidlgen by vala-gen-introspect which includes a real C parser instead of Perl scripts using regular expressions. The 20 included bindings have all been ported. Some smaller features and many bug fixes can also be found in the new release.

There are two articles about Vala and an interview in the German Linux-Magazin, all by Christian Meyer.

Vala 0.1.4

Tuesday, October 9th, 2007

Vala 0.1.4 has been released. Tarballs are available from the GNOME FTP servers. We’ve added some small enhancements besides bug fixes and the previously mentioned #line support for debugging.

  • Object initializers
    var btn = new Button () { label = “Button” };
  • Creation methods in structs
  • Experimental support for new fundamental classed types
    class MiniObject : TypeInstance { … }
  • [Notify] attribute for properties

Vala and Nemiver

Wednesday, September 5th, 2007

I’ve added preliminary support for #line directives to Vala. This means that the debug information of your application compiled with valac -g will now contain the filename and line number of your Vala sources, instead of the generated C sources. Vala applications can be more or less graphically debugged using Nemiver now :) Mathias was kind enough to create a little demo video as the screencast tools didn’t work well on my system. There are still some issues left but it’s a start.

Vala 0.1.3

Friday, August 31st, 2007

Vala 0.1.3 is out. Tarballs are available from the GNOME FTP servers. There are a lot of new bindings from many contributors: D-Bus, GConf, libgnome, libgnomeui, Glade, libnotify, GnomeVFS, GtkSourceView, Panel Applet, GNOME Desktop Library, libsoup, libwnck, GtkMozEmbed, Poppler, Enchant, Hildon, SQLite, and curses. Many bugs have been fixed all over the place.

A noteworthy change is that the type system has been made more consistent by converting the reference-type structs in the bindings to classes. The [ReferenceType] attribute is gone, you can now declare all reference types as classes in bindings, even if they don’t derive from GObject. A side-effect of this change is that you now always have to specify the base class in your class declarations, e.g. use

using GLib;
public class Bar : Object { … }

to declare a class Bar which derives from GObject. The advantage is that you can be sure now that all structs have value-type semantics and all classes have reference-type semantics, no mixup anymore.

Vala and D-Bus

Monday, August 6th, 2007

I finally started blogging as some people seem to be interested in what’s going on in Vala land. Now to the topic: Vala and D-Bus. It’s really easy to use D-Bus services from Python, compared to C. There is no reason why it should be more difficult to use D-Bus services from Vala, so I’ve just committed experimental D-Bus bindings to Vala SVN. You don’t need any formal specification of the D-Bus service to get started, just get the object and call methods or connect to signals with the correct parameters. It also supports async method calls with a simple callback system. Future versions will support and recommend static checking against a supplied D-Bus introspection file, currently the compiler just assumes that you know what you’re doing. I’ve added a simple example using the Pidgin D-Bus interface to the wiki.


Bad Behavior has blocked 32 access attempts in the last 7 days.