Before using GTask in Vala...

...consider this function:

As an exercise, extend this code to use ThreadPool.


Vala 0.22.1 released

A new stable version of the Vala programming language has been released.

Changes since 0.22.0

  • GIR parser updates.
  • Bug fixes and binding updates.
Though the summary above does not seem to be impressive, this release brings important bug fixes, refinements to the compiler and lots of language bindings updates.

More information at the Vala homepage.


Vala 0.21.2 released

This new development version of the Vala programming language has been released. It includes several bindings enhancements.


  • Recognize ref/unref functions in .gir files.
  • Add geocode-glib bindings.
  • Bug fixes and binding updates.
Recognizing ref/unref functions in .gir files is especially useful to avoid calling g_boxed_copy/free instead of _ref/_unref directly, or to catch some compact classes that are not glibish yet reference counted.

More information and download at the Vala homepage.


Vala 0.21.1 released

This is the first 0.21.x develeopment release of the Vala programming language. It includes several bug fixes and enhancements.
The changes since Vala 0.20.1 follows:


  • Support \uXXXX escape sequences.
  • Support specifying vfunc order in interfaces to define ABI.
  • Support GTK+ widget templates.
  • Bug fixes and binding updates.
For a primer on how to use GTK+ widget templates, please see: http://blogs.gnome.org/tvb/2013/05/29/composite-templates-lands-in-vala/
The above tutorial is not up-to-date but it's a good starting point.

About specifying vfunc order, it's done with [CCode (ordering = x)] where x is the desired position of the method in the vtable. Either none or all of the virtual functions must have an ordering.


Vala on Android

Breaking news in the Vala programming language mailing list here.

It has been managed by tarnyko to compile Vala sources under Android and be able to use Cairo. GTK+ has not to been ported. I'm quoting the interesting part of message verbatim below:
I managed to compile a Vala source directly to Android binary yesterday. And I think it might be of some interest to some people here.

For the record, I've written a tutorial here: http://www.tarnyko.net/en/?q=node/25

It's still very limited (only access to core Vala + GLib/Gobject methods) but it could easily be extended by porting libraries having Vala bindings ; although I know it's not easy stuff.

For the graphical part, GTK+ doesn't work yet but I know Cairo has been ported (http://code.google.com/p/cairo4android/) -and Cairo definitely has Vala bindings.

More information at the Vala programming language homepage.


Vala 0.19.0 released

A new development version of the Vala programming language has been released.


  • Support scope = "async" attribute for parameters.
  • Add --api-version option.
  • Add atspi-2 bindings.
  • Add gstreamer-rtsp-server-1.0 bindings.
  • Bug fixes and binding updates. 
It must be noted that the new scope = "async" attribute is implemented only for bindings and not for Vala-written code. The scope = "async" is used with delegates without GDestroyNotify, and it specifies that the delegate will be called only once. So Vala will automatically take care of ref'ing the user data when passing the delegate, and unref'ing it after the delegate has been called.