<?xml version='1.0' encoding='UTF-8'?><rss xmlns:atom='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:blogger='http://schemas.google.com/blogger/2008' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0' version='2.0'><channel><atom:id>tag:blogger.com,1999:blog-3863229176846580288</atom:id><lastBuildDate>Tue, 19 Mar 2013 20:13:13 +0000</lastBuildDate><title>Vala Journal</title><description></description><link>http://valajournal.blogspot.com/</link><managingEditor>noreply@blogger.com (Luca Bruno aka Lethalman)</managingEditor><generator>Blogger</generator><openSearch:totalResults>60</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-3863229176846580288.post-5488663912498089084</guid><pubDate>Tue, 19 Mar 2013 20:12:00 +0000</pubDate><atom:updated>2013-03-19T20:13:13.191Z</atom:updated><title>Vala on Android</title><description>Breaking news in the Vala programming language &lt;a href="https://mail.gnome.org/archives/vala-list/2013-March/msg00024.html" target="_blank"&gt;mailing list here&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;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:&lt;br /&gt;&lt;blockquote class="tr_bq"&gt;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.&lt;br /&gt;&lt;br /&gt;For the record, I've written a tutorial here: &lt;a href="http://www.tarnyko.net/en/?q=node/25"&gt;http://www.tarnyko.net/en/?q=node/25&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;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.&lt;br /&gt;&lt;br /&gt;For the graphical part, GTK+ doesn't work yet but I know Cairo has been ported (&lt;a href="http://code.google.com/p/cairo4android/"&gt;http://code.google.com/p/cairo4android/&lt;/a&gt;) -and Cairo definitely has Vala bindings.&lt;/blockquote&gt;&lt;br /&gt;More information at the &lt;a href="http://live.gnome.org/Vala" target="_blank"&gt;Vala programming language homepage&lt;/a&gt;.</description><link>http://valajournal.blogspot.com/2013/03/vala-on-android.html</link><author>noreply@blogger.com (Luca Bruno aka Lethalman)</author><thr:total>0</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-3863229176846580288.post-6095012630762187632</guid><pubDate>Thu, 21 Feb 2013 16:14:00 +0000</pubDate><atom:updated>2013-02-21T16:17:53.578Z</atom:updated><title>Vala 0.19.0 released</title><description>A new development version of the Vala programming language has been released.&lt;br /&gt;&lt;br /&gt;&lt;h3 id="Changes"&gt;Changes&lt;/h3&gt;&lt;ul&gt;&lt;li&gt;Support scope = "async" attribute for parameters. &lt;span class="anchor" id="line-11"&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;Add --api-version option. &lt;span class="anchor" id="line-12"&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;Add atspi-2 bindings. &lt;span class="anchor" id="line-13"&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;Add gstreamer-rtsp-server-1.0 bindings. &lt;span class="anchor" id="line-14"&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;Bug fixes and binding updates.&amp;nbsp;&lt;/li&gt;&lt;/ul&gt;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.</description><link>http://valajournal.blogspot.com/2013/02/vala-0190-released.html</link><author>noreply@blogger.com (Luca Bruno aka Lethalman)</author><thr:total>0</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-3863229176846580288.post-8799020523709924999</guid><pubDate>Tue, 23 Oct 2012 08:02:00 +0000</pubDate><atom:updated>2012-10-23T08:03:24.959Z</atom:updated><title>Vala 0.18.0 + GTK 3.4.2 for Win32</title><description>This is an update of the unofficial build of the &lt;a href="http://live.gnome.org/Vala"&gt;Vala programming language&lt;/a&gt; for Win32 kindly contributed by t&lt;span class="gD" name="tarnyko@tarnyko.net"&gt;arnyko. His announcement is as follows&lt;/span&gt;:&lt;br /&gt;&lt;br /&gt;I come back to announce a bundle for &lt;span class="il"&gt;Vala&lt;/span&gt; 0.18.0 and GTK+ 3.4.2 on Windows. for &lt;span class="il"&gt;Vala&lt;/span&gt; 0.18.0 and GTK+ 3.4.2 on Windows.&lt;br /&gt;Download link here :&lt;br /&gt;&lt;a href="http://www.tarnyko.net/en/?q=node/13" target="_blank"&gt;http://www.tarnyko.net/en/?q=n&lt;wbr&gt;&lt;/wbr&gt;ode/13&lt;/a&gt;&lt;br /&gt;or here :&lt;br /&gt;&lt;a href="http://www.tarnyko.net/dl/vala.htm" target="_blank"&gt;http://www.tarnyko.net/dl/&lt;span class="il"&gt;vala&lt;/span&gt;&lt;wbr&gt;&lt;/wbr&gt;.htm&lt;/a&gt; &lt;br /&gt;(A helpful being told me that my formers installers had the bad habit of  emptying the PATH variable if it was longer than 1023 characters: &lt;a href="http://www.tarnyko.net/en/?q=comment/307#comment-307" target="_blank"&gt;http://www.tarnyko.net/en/?q=c&lt;wbr&gt;&lt;/wbr&gt;omment/307#comment-307&lt;/a&gt;. It is now fixed for all installers ; please re-download them just in case.)&lt;br /&gt;&lt;br /&gt;&lt;b&gt;News for ValaWinPKG users&lt;/b&gt; &lt;br /&gt;&lt;ul&gt;&lt;li&gt;The repos for &lt;span class="il"&gt;Vala&lt;/span&gt; 0.16.0 and 0.18.0 are finally up !&lt;/li&gt;&lt;li&gt;There are some packages regressions:&lt;/li&gt;&lt;ul&gt;&lt;li&gt;FreeGLUT VAPI doesn't seem to work with &lt;span class="il"&gt;Vala&lt;/span&gt; &amp;gt; 0.12.0. Needs some fixes from its original maintainer;&lt;/li&gt;&lt;li&gt;Poppler doesn't work anymore, should apparently be updated. Will do this when I have time.&lt;/li&gt;&lt;li&gt;There is a new package: LibUSB.&lt;/li&gt;&lt;/ul&gt;&lt;li&gt;If you want to use these new repos, you should really update ValaWinPKG before (&lt;a href="http://www.tarnyko.net/en/?q=node/12" target="_blank"&gt;http://www.tarnyko.net/en/?q=&lt;wbr&gt;&lt;/wbr&gt;node/12&lt;/a&gt;). Sorry, but it's the last time it should be necessary.&lt;/li&gt;&lt;li&gt;The new version of ValaWinPKG allows you to have multiple &lt;span class="il"&gt;Vala&lt;/span&gt; installations and maintain their packages separately. See this tutorial (&lt;a href="http://www.tarnyko.net/en/?q=node/14" target="_blank"&gt;http://www.tarnyko.net/en/?q=&lt;wbr&gt;&lt;/wbr&gt;node/14&lt;/a&gt;) for more info. &lt;/li&gt;&lt;/ul&gt;Regards, &lt;br /&gt;Tarnyko</description><link>http://valajournal.blogspot.com/2012/10/vala-0180-gtk-342-for-win32.html</link><author>noreply@blogger.com (Luca Bruno aka Lethalman)</author><thr:total>5</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-3863229176846580288.post-1505646172955236824</guid><pubDate>Tue, 25 Sep 2012 07:37:00 +0000</pubDate><atom:updated>2012-09-25T07:37:20.781Z</atom:updated><title>Gee 0.8.0 released</title><description>Together with Vala 0.18.0, the Vala collections library has also released the major 0.8.0 version, due to changes to the ABI.&lt;br /&gt;&lt;br /&gt;&lt;h3 id="Changes-1"&gt;Changes&lt;/h3&gt;&lt;ul&gt;&lt;li&gt;Fix Traversable.chop (bug #684348)&lt;/li&gt;&lt;li&gt;Remove unnecessary method&lt;/li&gt;&lt;li&gt;Update README&lt;/li&gt;&lt;li&gt;Move everything to GenericAccessor&lt;/li&gt;&lt;/ul&gt;For more information and downloads see the &lt;a href="http://live.gnome.org/Libgee"&gt;Gee homepage&lt;/a&gt;.</description><link>http://valajournal.blogspot.com/2012/09/gee-080-released.html</link><author>noreply@blogger.com (Luca Bruno aka Lethalman)</author><thr:total>0</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-3863229176846580288.post-7123623303413824387</guid><pubDate>Tue, 25 Sep 2012 07:30:00 +0000</pubDate><atom:updated>2012-09-25T07:33:02.908Z</atom:updated><title>Vala 0.18.0 released</title><description>The new stable branch of the Vala programming language has reached the 0.18.x version. There are major fixes and enhancements since the 0.16.x that are described below.&lt;br /&gt;&lt;br /&gt;&lt;h3 id="Changes-1"&gt;Changes since 0.16.0&lt;/h3&gt;&lt;ul&gt;&lt;li&gt;Add libgnome-menu-3.0, gstreamer-1.0 core, gst-plugins-base-1.0, gobject-introspection-1.0 bindings. &lt;/li&gt;&lt;li&gt;Support subclassing of GLib.Source. &lt;span class="anchor" id="line-39"&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;Switch pango bindings to .gir. &lt;span class="anchor" id="line-40"&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;Warn when accessing static members with an instance reference. &lt;span class="anchor" id="line-53"&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;Recompute length when casting between array types.&amp;nbsp;&lt;/li&gt;&lt;li&gt;&lt;div class="line862"&gt;Support [GenericAccessors] attribute for interfaces. &lt;span class="anchor" id="line-55"&gt;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li&gt;Deprecate implicit .begin for async methods.&lt;span class="anchor" id="line-56"&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;Drop Dova and POSIX profile. &lt;span class="anchor" id="line-57"&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;div class="line862"&gt;Require and target GLib &amp;gt;= 2.18. &lt;span class="anchor" id="line-68"&gt;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li&gt;Support async creation methods. &lt;/li&gt;&lt;li&gt;Improve assertion messages. &lt;span class="anchor" id="line-97"&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;Add --enable-gobject-tracing commandline option.&amp;nbsp;&lt;/li&gt;&lt;li&gt;Support simple method-level profiling. &lt;span class="anchor" id="line-108"&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;Add VALA_CHECK_MODULES and VALA_PROG_VAPIGEN to vala.m4. &lt;/li&gt;&lt;li&gt;Bug fixes and binding updates.&lt;/li&gt;&lt;/ul&gt;The [GenericAccessors] attribute allows using generics in interface  methods. Before this change, it was impossible to access the generics  information of a subclass from within an interface method. Adding this  attribute on top of an interface will autogenerate virtual methods at  the C level that are automatically implemented by subclasses. It must be  noted that using this feature on an existing interface will break the  ABI.&lt;br /&gt;&lt;br /&gt;The method-level profiling is enabled by adding the [Profile] attribute  on top of your methods. When your application terminates, some stats  will be printed to the output.&lt;br /&gt;&lt;br /&gt;For more information and download see the &lt;a href="http://live.gnome.org/Vala"&gt;Vala homepage&lt;/a&gt;. </description><link>http://valajournal.blogspot.com/2012/09/vala-0180-has-been-released.html</link><author>noreply@blogger.com (Luca Bruno aka Lethalman)</author><thr:total>0</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-3863229176846580288.post-1175342739559553363</guid><pubDate>Mon, 17 Sep 2012 18:09:00 +0000</pubDate><atom:updated>2012-09-17T18:10:05.131Z</atom:updated><title>Vala bundle for Windows</title><description>Hi,&lt;br /&gt;&lt;span class="hb"&gt;&lt;span class="g2" name="tarnyko"&gt;tarnyko contributed an unofficial Vala bundle containing Vala 0.12.0 and GTK+ 3.4.2 for Windows XP/Vista/7.&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="hb"&gt;&lt;span class="g2" name="tarnyko"&gt;This one contains GTK+ 2.20.0, too, so you can still compile older GTK+ programs without modification.&lt;br /&gt;Download here :&lt;br /&gt;&lt;a href="http://www.tarnyko.net/en/?q=node/1" target="_blank"&gt;http://www.tarnyko.net/en/?q=n&lt;wbr&gt;&lt;/wbr&gt;ode/1&lt;/a&gt;&lt;br /&gt;or here :&lt;br /&gt;&lt;a href="http://www.tarnyko.net/dl/vala.htm" target="_blank"&gt;http://www.tarnyko.net/dl/vala&lt;wbr&gt;&lt;/wbr&gt;.htm&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;For ValaWinPKG users, &lt;/span&gt;&lt;/span&gt;&lt;span class="hb"&gt;&lt;span class="g2" name="tarnyko"&gt;the corresponding repository has been uploaded. A few notes:&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;span class="hb"&gt;&lt;span class="g2" name="tarnyko"&gt;you should definitely update the program (here: &lt;a href="http://www.tarnyko.net/dl/valawinpkg.htm" target="_blank"&gt;http://www.tarnyko.net/dl/vala&lt;wbr&gt;&lt;/wbr&gt;winpkg.htm&lt;/a&gt;) because 0.9b is broken with this bundl;&lt;/span&gt;&lt;/span&gt;&amp;nbsp;&lt;/li&gt;&lt;li&gt;newer GLib allows use to have a Clutter package&lt;span class="hb"&gt;&lt;span class="g2" name="tarnyko"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class="hb"&gt;&lt;span class="g2" name="tarnyko"&gt;newer GLib, however, gives problems with older LibGee and WebKit, so they've been &lt;/span&gt;&lt;/span&gt;removed from this new repo (should only be temporary);&lt;/li&gt;&lt;li&gt;LibMX package is planned.&lt;/li&gt;&lt;/ul&gt;&lt;span class="hb"&gt;&lt;span class="g2" name="tarnyko"&gt;Final note:&lt;br /&gt;A Vala 0.16.0 for Win32 bundle is WIP. It already works, only needs a few tweaks before uploading.&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span class="hb"&gt;&lt;span class="g2" name="tarnyko"&gt;Original discussion here: &lt;a href="https://mail.gnome.org/archives/vala-list/2012-September/msg00065.html"&gt;https://mail.gnome.org/archives/vala-list/2012-September/msg00065.html&lt;/a&gt;&lt;/span&gt;&lt;/span&gt;</description><link>http://valajournal.blogspot.com/2012/09/vala-bundle-for-windows.html</link><author>noreply@blogger.com (Luca Bruno aka Lethalman)</author><thr:total>0</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-3863229176846580288.post-6103914932804884179</guid><pubDate>Mon, 20 Aug 2012 12:46:00 +0000</pubDate><atom:updated>2012-08-20T12:46:54.498Z</atom:updated><title>Vala 0.17.5 has been released</title><description>Hello, the new 0.17.5 development version of the Vala programming language has been released with lots of enhancements, bug fixes and language bindings.&lt;br /&gt;&lt;br /&gt;&lt;h3 id="Changes"&gt;Changes&lt;/h3&gt;&lt;span class="anchor" id="line-10"&gt;&lt;/span&gt;&lt;ul&gt;&lt;li&gt;Support subclassing of GLib.Source. &lt;span class="anchor" id="line-11"&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;Switch pango bindings to .gir. &lt;span class="anchor" id="line-12"&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;Add gstreamer-1.0 core bindings. &lt;span class="anchor" id="line-13"&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;Add gst-plugins-base-1.0 bindings. &lt;span class="anchor" id="line-14"&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;Add gobject-introspection-1.0 bindings. &lt;span class="anchor" id="line-15"&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;Bug fixes and binding updates.&amp;nbsp;&lt;/li&gt;&lt;/ul&gt;More information and download at the &lt;a href="http://live.gnome.org/Vala"&gt;Vala homepage&lt;/a&gt;.</description><link>http://valajournal.blogspot.com/2012/08/vala-0175-has-been-released.html</link><author>noreply@blogger.com (Luca Bruno aka Lethalman)</author><thr:total>0</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-3863229176846580288.post-5901049622084850617</guid><pubDate>Mon, 06 Aug 2012 17:38:00 +0000</pubDate><atom:updated>2012-08-06T17:38:02.553Z</atom:updated><title>Vala 0.17.4 released</title><description>The 0.17.4 development version of the Vala programming language has been released. Some interesting changes have been introduced, while others have been dropped toward a more cleaned up code base.&lt;br /&gt;&lt;br /&gt;&lt;h3 id="Changes"&gt;Changes&lt;/h3&gt;&lt;span class="anchor" id="line-10"&gt;&lt;/span&gt;&lt;ul&gt;&lt;li&gt;Warn when accessing static members with an instance reference. &lt;span class="anchor" id="line-11"&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;Recompute length when casting between array types. &lt;span class="anchor" id="line-12"&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;div class="line862"&gt;Support [GenericAccessors] attribute for interfaces. &lt;span class="anchor" id="line-13"&gt;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li&gt;Deprecate implicit .begin for async methods. &lt;span class="anchor" id="line-14"&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;Drop Dova profile. &lt;span class="anchor" id="line-15"&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;Drop POSIX profile. &lt;span class="anchor" id="line-16"&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;Bug fixes and binding updates.&amp;nbsp;&lt;/li&gt;&lt;/ul&gt;The [GenericAccessors] attribute allows using generics in interface methods. Before this change, it was impossible to access the generics information of a subclass from within an interface method. Adding this attribute on top of an interface will autogenerate virtual methods at the C level that are automatically implemented by subclasses. It must be noted that using this feature on an existing interface will break the ABI.&lt;br /&gt;&lt;br /&gt;More information and download at the &lt;a href="http://live.gnome.org/Vala"&gt;Vala homepage&lt;/a&gt;.</description><link>http://valajournal.blogspot.com/2012/08/vala-0174-released.html</link><author>noreply@blogger.com (Luca Bruno aka Lethalman)</author><thr:total>1</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-3863229176846580288.post-5611245826212390508</guid><pubDate>Tue, 17 Jul 2012 08:02:00 +0000</pubDate><atom:updated>2012-07-17T08:02:31.128Z</atom:updated><title>Vala 0.17.3 released</title><description>The new 0.17.3 version of the Vala programming language has been released. We'll include the changes of the 0.17.1 release as we haven't posted them previously. We skipped the 0.17.2 and 0.16.1 versions as they haven't enhanced any feature.&lt;br /&gt;&lt;br /&gt;&lt;h3 id="Changes"&gt;Changes (both 0.17.3 and 0.17.1)&lt;/h3&gt;&lt;span class="anchor" id="line-10"&gt;&lt;/span&gt;&lt;ul&gt;&lt;li&gt;&lt;div class="line862"&gt;Require and target GLib &amp;gt;= 2.18. &lt;span class="anchor" id="line-11"&gt;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li&gt;Support async creation methods.&lt;/li&gt;&lt;li&gt;Improve assertion messages. &lt;span class="anchor" id="line-40"&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;Add --enable-gobject-tracing commandline option. &lt;span class="anchor" id="line-41"&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;Bug fixes and binding updates.&amp;nbsp;&lt;/li&gt;&lt;/ul&gt;More information and downloads at the &lt;a href="http://live.gnome.org/Vala"&gt;Vala homepage&lt;/a&gt;.</description><link>http://valajournal.blogspot.com/2012/07/vala-0173-released.html</link><author>noreply@blogger.com (Luca Bruno aka Lethalman)</author><thr:total>1</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-3863229176846580288.post-7416767938536613059</guid><pubDate>Fri, 11 May 2012 08:48:00 +0000</pubDate><atom:updated>2012-05-11T08:48:44.520Z</atom:updated><title>Vala 0.17.0 released</title><description>The new 0.17.x development cycle has started. This is the first release introducing several bug fixes and some enhancements.&lt;br /&gt;&lt;br /&gt;&lt;h3 id="Changes"&gt;Changes&lt;/h3&gt;&lt;span class="anchor" id="line-10"&gt;&lt;/span&gt;&lt;ul&gt;&lt;li&gt;Support simple method-level profiling. &lt;span class="anchor" id="line-11"&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;Add VALA_CHECK_MODULES and VALA_PROG_VAPIGEN to vala.m4. &lt;span class="anchor" id="line-12"&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;Bug fixes and binding updates.&amp;nbsp;&lt;/li&gt;&lt;/ul&gt;The method-level profiling is enabled by adding the [Profile] attribute on top of your methods. When your application terminates, some stats will be printed to the output.&lt;br /&gt;&lt;br /&gt;More information at the &lt;a href="http://live.gnome.org/Vala"&gt;homepage of Vala&lt;/a&gt;.</description><link>http://valajournal.blogspot.com/2012/05/vala-0170-released.html</link><author>noreply@blogger.com (Luca Bruno aka Lethalman)</author><thr:total>2</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-3863229176846580288.post-4974172301011956681</guid><pubDate>Thu, 29 Mar 2012 19:38:00 +0000</pubDate><atom:updated>2012-03-29T19:39:31.796Z</atom:updated><title>Vala 0.16.0 released</title><description>The new stable version of the Vala programming language has been released.&lt;br /&gt;&lt;br /&gt;&lt;h3 id="Changes"&gt;  Changes since 0.15.2&lt;/h3&gt;&lt;ul&gt;&lt;li&gt;Add udisks2 bindings. &lt;span class="anchor" id="line-11"&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;Bug fixes and binding updates.&amp;nbsp;&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;More information and downloads at the &lt;a href="http://live.gnome.org/Vala"&gt;Vala homepage&lt;/a&gt;.</description><link>http://valajournal.blogspot.com/2012/03/vala-0160-released.html</link><author>noreply@blogger.com (Luca Bruno aka Lethalman)</author><thr:total>0</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-3863229176846580288.post-2190907996666873328</guid><pubDate>Sat, 25 Feb 2012 19:00:00 +0000</pubDate><atom:updated>2012-02-25T19:01:51.215Z</atom:updated><title>Vala 0.15.2 released</title><description>The new 0.15.2 version of the Vala programming language has been released. This version includes several bug fixes (including some regression fixes) and small but worthy enhancements.&lt;br /&gt;&lt;br /&gt;&lt;h3 id="Changes"&gt;   Changes&lt;/h3&gt;&lt;ul&gt;&lt;li&gt;Switch poppler-glib bindings to .gir. &lt;span class="anchor" id="line-11"&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;Many bug fixes and binding updates. &lt;/li&gt;&lt;/ul&gt;&amp;nbsp;More information at the &lt;a href="http://live.gnome.org/Vala"&gt;Vala homepage&lt;/a&gt;.</description><link>http://valajournal.blogspot.com/2012/02/new-0.html</link><author>noreply@blogger.com (Luca Bruno aka Lethalman)</author><thr:total>0</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-3863229176846580288.post-4656401989789921827</guid><pubDate>Tue, 21 Feb 2012 09:28:00 +0000</pubDate><atom:updated>2012-02-21T09:28:58.975Z</atom:updated><title>Valadoc website renewal</title><description>The &lt;a href="http://unstable.valadoc.org/"&gt;valadoc website for unstable packages&lt;/a&gt; gets renewed:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;A fast search for looking up symbols&lt;/li&gt;&lt;li&gt;Tooltips  to read signature and short descriptions of symbols without leaving the page&lt;/li&gt;&lt;li&gt;Ajax loading of the web pages &lt;/li&gt;&lt;li&gt;It has a slightly new look that resembles gnome.org&lt;/li&gt;&lt;/ul&gt;Planned features:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Comments by the community, for sharing experience and examples&lt;/li&gt;&lt;li&gt;Proper syntax highlighting&lt;/li&gt;&lt;/ul&gt;This new version will be soon available for stable packages as well.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://live.gnome.org/Valadoc"&gt;Valadoc&lt;/a&gt; is a tool for generating documentation for &lt;a href="http://live.gnome.org/Vala"&gt;Vala&lt;/a&gt; projects and external projects featuring a &lt;a href="https://live.gnome.org/GObjectIntrospection/"&gt;GIR&lt;/a&gt; file, and much more.</description><link>http://valajournal.blogspot.com/2012/02/valadoc-website-renewal.html</link><author>noreply@blogger.com (Luca Bruno aka Lethalman)</author><thr:total>7</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-3863229176846580288.post-3263510392099284383</guid><pubDate>Tue, 31 Jan 2012 15:12:00 +0000</pubDate><atom:updated>2012-01-31T15:12:30.534Z</atom:updated><title>Vala 0.14.2 released</title><description>The new 0.14.2 stable version of the Vala programming language has been released. This version doesn't only include many bug fixes but also many enhancements.&lt;br /&gt;&lt;br /&gt;&lt;h3 id="Changes"&gt;Changes&lt;/h3&gt;&lt;span class="anchor" id="line-10"&gt;&lt;/span&gt;&lt;ul&gt;&lt;li&gt;Add libnl-3.0 bindings. &lt;span class="anchor" id="line-11"&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;Add packagekit-glib2 bindings. &lt;span class="anchor" id="line-12"&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;Add xtst bindings. &lt;span class="anchor" id="line-13"&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;Many bug fixes and binding updates.&amp;nbsp;&lt;/li&gt;&lt;/ul&gt;More information at the &lt;a href="http://live.gnome.org/Vala"&gt;Vala homepage.&lt;/a&gt;</description><link>http://valajournal.blogspot.com/2012/01/vala-0142-released.html</link><author>noreply@blogger.com (Luca Bruno aka Lethalman)</author><thr:total>0</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-3863229176846580288.post-4964931542270322769</guid><pubDate>Thu, 26 Jan 2012 23:41:00 +0000</pubDate><atom:updated>2012-01-31T15:13:15.960Z</atom:updated><title>Vala 0.15.1 released</title><description>The new 0.15.1 version of the Vala programming language has been released. This version introduces a lot of enhancements and regression fixes with regards to the previous 0.15.0 release.&lt;br /&gt;&lt;br /&gt;&lt;h3 id="Changes"&gt;  Changes&lt;/h3&gt;&lt;ul&gt;&lt;li&gt;Support arrays with nullable elements. &lt;span class="anchor" id="line-11"&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;div class="line862"&gt;Add &lt;doc&gt; support to .gir reader and writer. &lt;span class="anchor" id="line-12"&gt;&lt;/span&gt;&lt;/doc&gt;&lt;/div&gt;&lt;/li&gt;&lt;li&gt;Switch clutter-gtk-1.0 bindings to .gir. &lt;span class="anchor" id="line-13"&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;Switch gio-2.0 bindings to .gir. &lt;span class="anchor" id="line-14"&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;Add cogl-pango-1.0 bindings. &lt;span class="anchor" id="line-15"&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;Add gdl-3.0 bindings. &lt;span class="anchor" id="line-16"&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;Add libnl-3.0 bindings. &lt;span class="anchor" id="line-17"&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;Add packagekit-glib2 bindings. &lt;span class="anchor" id="line-18"&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;Add xtst bindings. &lt;span class="anchor" id="line-19"&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;Many bug fixes and binding updates.&amp;nbsp;&lt;/li&gt;&lt;/ul&gt;&lt;b&gt;Important breakage note&lt;/b&gt;&lt;br /&gt;Now captured parameters of &lt;u&gt;array type&lt;/u&gt; are no more copied implicitly by Vala. A captured parameter is one of the following:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Either it is a parameter of an async method&lt;/li&gt;&lt;li&gt;Or it is a parameter used inside of a closure &lt;/li&gt;&lt;/ul&gt;The  advantage is that async methods in GIO that have arrays as parameters (like buffers) can finally be overridden, otherwise impossible. Same goes parameters referred by closures.&lt;br /&gt;Therefore, if you were relying on the implicit array copy made by Vala in these cases, please take care of this change.&lt;br /&gt;&lt;br /&gt;More information and downloads at the &lt;a href="http://live.gnome.org/Vala"&gt;Vala homepage&lt;/a&gt;.</description><link>http://valajournal.blogspot.com/2012/01/vala-0151-released.html</link><author>noreply@blogger.com (Luca Bruno aka Lethalman)</author><thr:total>3</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-3863229176846580288.post-7382165072007285116</guid><pubDate>Tue, 06 Dec 2011 20:11:00 +0000</pubDate><atom:updated>2011-12-06T20:15:15.588Z</atom:updated><title>Vala 0.15.0 released</title><description>The development snapshot version 0.15.0 of the Vala programming language has been released. All the bugs fixes shipped with 0.14.1 have been included in 0.15.0 plus other fixes and enhancements.&lt;br /&gt;&lt;br /&gt;&lt;h3 id="Changes"&gt; Changes&lt;/h3&gt;&lt;span class="anchor" id="line-10"&gt;&lt;/span&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Manage memory of GQueue elements. &lt;span class="anchor" id="line-11"&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;Switch atk bindings to .gir. &lt;span class="anchor" id="line-12"&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;Switch gdk-pixbuf-2.0 bindings to .gir. &lt;span class="anchor" id="line-13"&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;Switch gdk-3.0 bindings to .gir. &lt;span class="anchor" id="line-14"&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;Add libwnck-3.0 bindings. &lt;span class="anchor" id="line-15"&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;Many bug fixes and binding updates.&amp;nbsp;&lt;/li&gt;&lt;/ul&gt;Most notably this release fixes the memory management with GLib.Queue. If you were using this data structure, the change will fix several memory leaks.&lt;br /&gt;&lt;br /&gt;More information and download at the &lt;a href="http://live.gnome.org/Vala"&gt;Vala homepage&lt;/a&gt;.</description><link>http://valajournal.blogspot.com/2011/12/vala-0150-released.html</link><author>noreply@blogger.com (Luca Bruno aka Lethalman)</author><thr:total>0</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-3863229176846580288.post-7305368551158916705</guid><pubDate>Wed, 30 Nov 2011 14:43:00 +0000</pubDate><atom:updated>2011-11-30T15:04:42.332Z</atom:updated><title>Vala 0.14.1 released</title><description>The new stable release 0.14.1 of the Vala programming language introduces a number of significant fixes with regards to the first 0.14.0 stable release. It is very recommended to upgrade to 0.14.1.&lt;br /&gt;&lt;br /&gt;&lt;h3 id="Changes"&gt;Changes&lt;/h3&gt;&lt;span class="anchor" id="line-10"&gt;&lt;/span&gt;&lt;ul&gt;&lt;li&gt;Add libwnck-3.0 bindings. &lt;span class="anchor" id="line-11"&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;Many bug fixes and binding updates.&amp;nbsp;&lt;/li&gt;&lt;/ul&gt;&amp;nbsp; &lt;br /&gt;More information and downloads at the &lt;a href="http://live.gnome.org/Vala"&gt;Vala homepage&lt;/a&gt;.</description><link>http://valajournal.blogspot.com/2011/11/vala-0141-released.html</link><author>noreply@blogger.com (Luca Bruno aka Lethalman)</author><thr:total>0</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-3863229176846580288.post-1878613960749708731</guid><pubDate>Sat, 17 Sep 2011 16:25:00 +0000</pubDate><atom:updated>2011-09-17T16:25:49.943Z</atom:updated><title>Vala 0.14.0 released</title><description>Hello,&lt;br /&gt; the new stable 0.14 version of Vala has been released. Changes since 0.13.4 are bug fixes, nothing particularly noteworthy.&lt;br /&gt;&lt;br /&gt;Changes since version 0.12.1:&lt;br /&gt;&lt;span class="anchor" id="line-14"&gt;&lt;/span&gt;&lt;ul&gt;&lt;li&gt;Enable flow analysis for out parameters. &lt;span class="anchor" id="line-11"&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;Refactor attribute handling.&amp;nbsp;&lt;/li&gt;&lt;li&gt;More refactoring in the code generator. &lt;span class="anchor" id="line-11"&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;Improvements to the .gir reader. &lt;span class="anchor" id="line-12"&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;Drop deprecated support for D-Bus GLib in favor of GDBus. &lt;/li&gt;&lt;li&gt;Add gedit-3.0, gtksourceview-3.0, rest-0.7, vte-2.90 and libpeas-1.0 bindings.&lt;/li&gt;&lt;li&gt;Switch pangocairo, gudev-1.0, mx-1.0, clutter-1.0, libgdata, libsoup-2.4 and json-glib-1.0 bindings to use GIR.&lt;span class="anchor" id="line-13"&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;Many bug fixes and binding updates.&amp;nbsp;&lt;/li&gt;&lt;/ul&gt;Additionally you might want to take a look at the notes in the following two links when upgrading to vala 0.14:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://valajournal.blogspot.com/2011/06/vala-0130-released.html"&gt;About discouraged copy of delegates&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://valajournal.blogspot.com/2011/08/vala-0132-released.html"&gt;About libvala breakage, command "valac file.vapi" breakage and warnings for out parameters&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;More information at the &lt;a href="http://live.gnome.org/Vala"&gt;Vala homepage&lt;/a&gt;. </description><link>http://valajournal.blogspot.com/2011/09/vala-0140-released.html</link><author>noreply@blogger.com (Luca Bruno aka Lethalman)</author><thr:total>0</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-3863229176846580288.post-8556031218655366026</guid><pubDate>Wed, 07 Sep 2011 15:51:00 +0000</pubDate><atom:updated>2011-09-07T15:52:01.537Z</atom:updated><title>Vala 0.13.4 has been released</title><description>The new 0.13.4 version of the Vala programming language has been released. Notice that we didn't announce the 0.13.3 version on this blog. So this post will be cumulative of the changes since version 0.13.2:&lt;br /&gt;&lt;br /&gt;&lt;h3 id="Changes"&gt;Changes&lt;/h3&gt;&lt;span class="anchor" id="line-10"&gt;&lt;/span&gt;&lt;ul&gt;&lt;li&gt;Switch pangocairo bindings to .gir. &lt;/li&gt;&lt;li&gt;Switch gudev-1.0 bindings to .gir. &lt;span class="anchor" id="line-11"&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;Switch mx-1.0 bindings to .gir. &lt;span class="anchor" id="line-12"&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;Many bug fixes and binding updates.&amp;nbsp;&lt;/li&gt;&lt;/ul&gt;As usual more information and download at the &lt;a href="http://live.gnome.org/Vala"&gt;Vala homepage&lt;/a&gt;.</description><link>http://valajournal.blogspot.com/2011/09/vala-0134-has-been-released.html</link><author>noreply@blogger.com (Luca Bruno aka Lethalman)</author><thr:total>0</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-3863229176846580288.post-2591792822960445216</guid><pubDate>Fri, 19 Aug 2011 14:35:00 +0000</pubDate><atom:updated>2011-08-19T14:42:13.241Z</atom:updated><title>Libgee 0.7.0 released</title><description>Hello,&lt;br /&gt;the new 0.7.0 version of libgee has been released. Libgee is a collection library providing GObject-based interfaces and classes for commonly used data structures.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;API changes&lt;/span&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Move to delegates with targets&lt;/li&gt;&lt;li&gt;Name of delegates moved into Gee namespace (Alban Browaeys)&lt;/li&gt;&lt;li&gt;Gee.Hashable interface&lt;/li&gt;&lt;li&gt;Moved Iterator.first into BidirIterator.first&lt;/li&gt;&lt;li&gt;Allow checking if iterator is valid by Iterator.valid property&lt;/li&gt;&lt;li&gt;Add highier-level functions by Traversable interface&lt;/li&gt;&lt;li&gt;Add lazy values&lt;/li&gt;&lt;li&gt;Introduce SortedMap interface&lt;/li&gt;&lt;/ul&gt;&lt;span style="font-weight: bold;"&gt;New implementations&lt;/span&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt; TreeMap now implements SortedMap&lt;/li&gt;&lt;/ul&gt;&lt;span style="font-weight: bold;"&gt;Infrastructure&lt;/span&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Use automake 1.11 vala support&lt;/li&gt;&lt;li&gt;Allow installation in parallel with libgee 0.5/0.6&lt;/li&gt;&lt;/ul&gt;&lt;span style="font-weight: bold;"&gt;Code Quality&lt;/span&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Many bug fixes&lt;/li&gt;&lt;li&gt;Allow better code optimization for user by higher level functions&lt;/li&gt;&lt;li&gt;Lots of additional documentation&lt;/li&gt;&lt;/ul&gt;Also please note that now Libgee has its own &lt;a href="http://mail.gnome.org/mailman/listinfo/libgee-list"&gt;mailing-list&lt;/a&gt; and its own #gee IRC channel.&lt;br /&gt;&lt;br /&gt;More information at the &lt;a href="https://live.gnome.org/Libgee"&gt;libgee homepage&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;</description><link>http://valajournal.blogspot.com/2011/08/libgee-070-released.html</link><author>noreply@blogger.com (Luca Bruno aka Lethalman)</author><thr:total>0</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-3863229176846580288.post-771181617393557512</guid><pubDate>Tue, 16 Aug 2011 21:01:00 +0000</pubDate><atom:updated>2011-08-16T21:22:31.684Z</atom:updated><title>Vala 0.13.2 released</title><description>Hello,&lt;br /&gt;after one month of active development, the new 0.13.2 version of the Vala programming language has been released.&lt;br /&gt;&lt;h3 id="Changes"&gt;Changes&lt;/h3&gt; &lt;span class="anchor" id="line-10"&gt;&lt;/span&gt;&lt;ul&gt;&lt;li&gt;Enable flow analysis for out parameters. &lt;span class="anchor" id="line-11"&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;Refactor attribute handling. &lt;span class="anchor" id="line-12"&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;Add gedit-3.0 bindings. &lt;span class="anchor" id="line-13"&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;Add gtksourceview-3.0 bindings. &lt;span class="anchor" id="line-14"&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;Add rest-0.7 bindings. &lt;span class="anchor" id="line-15"&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;Add vte-2.90 bindings. &lt;span class="anchor" id="line-16"&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;Switch clutter-1.0 bindings to .gir. &lt;span class="anchor" id="line-17"&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;Switch libgdata bindings to .gir. &lt;span class="anchor" id="line-18"&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;Switch libsoup bindings to .gir. &lt;span class="anchor" id="line-19"&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;Many bug fixes and binding updates. &lt;/li&gt;&lt;/ul&gt;Some stats since 0.13.1: 216 commits and 77+ bug fixes (56 of which were bug reports).&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;libvala breakage&lt;/span&gt;. Due to the "Refactor attribute handling" point in the release notes, the libvala API regarding the C information of symbols etc. has changed. All the C bits like get_cname() have been moved out of the code tree into CCodeBaseModule. Notice that CCodeBaseModule extensively cache the results of the calls per codenode, and never invalidates it.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;valac file.vapi breakage&lt;/span&gt;. Passing .vapi files to valac won't peek the relative .deps file anymore. This behavior will be available only when using the --pkg switch.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;out parameter warnings&lt;/span&gt;. The "Enable flow analysis for out parameters" point in the release notes means that out parameters must be initialized both before using it and before returning from the method.&lt;br /&gt;&lt;br /&gt;More information and download at the &lt;a href="http://live.gnome.org/Vala"&gt;Vala homepage&lt;/a&gt;.&lt;br /&gt;</description><link>http://valajournal.blogspot.com/2011/08/vala-0132-released.html</link><author>noreply@blogger.com (Luca Bruno aka Lethalman)</author><thr:total>3</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-3863229176846580288.post-7331442779794886687</guid><pubDate>Sat, 09 Jul 2011 07:16:00 +0000</pubDate><atom:updated>2011-07-09T07:36:22.747Z</atom:updated><title>Generators in Vala</title><description>Hello,&lt;br /&gt;here I'll show a cool snippet code making use Vala async functions for emulating Python/Ruby generators. Creating a generator is as simple as extending the &lt;span style="font-weight: bold;"&gt;Generator&lt;/span&gt; class and implementing the &lt;span style="font-weight: bold;"&gt;generate()&lt;/span&gt; method.&lt;br /&gt;&lt;br /&gt;&lt;pre style='color:#000000;background:#ffffff;'&gt;&lt;span style='color:#800000; font-weight:bold; '&gt;abstract&lt;/span&gt; &lt;span style='color:#800000; font-weight:bold; '&gt;class&lt;/span&gt; Generator&lt;span style='color:#808030; '&gt;&amp;lt;&lt;/span&gt;G&lt;span style='color:#808030; '&gt;&gt;&lt;/span&gt; &lt;span style='color:#800080; '&gt;{&lt;/span&gt;&lt;br /&gt;    &lt;span style='color:#800000; font-weight:bold; '&gt;private&lt;/span&gt; &lt;span style='color:#800000; font-weight:bold; '&gt;bool&lt;/span&gt; consumed&lt;span style='color:#800080; '&gt;;&lt;/span&gt;&lt;br /&gt;    &lt;span style='color:#800000; font-weight:bold; '&gt;private&lt;/span&gt; G value&lt;span style='color:#800080; '&gt;;&lt;/span&gt;&lt;br /&gt;    &lt;span style='color:#800000; font-weight:bold; '&gt;private&lt;/span&gt; SourceFunc callback&lt;span style='color:#800080; '&gt;;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;    &lt;span style='color:#800000; font-weight:bold; '&gt;public&lt;/span&gt; Generator &lt;span style='color:#808030; '&gt;(&lt;/span&gt;&lt;span style='color:#808030; '&gt;)&lt;/span&gt; &lt;span style='color:#800080; '&gt;{&lt;/span&gt;&lt;br /&gt;        helper &lt;span style='color:#808030; '&gt;(&lt;/span&gt;&lt;span style='color:#808030; '&gt;)&lt;/span&gt;&lt;span style='color:#800080; '&gt;;&lt;/span&gt;&lt;br /&gt;    &lt;span style='color:#800080; '&gt;}&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;    &lt;span style='color:#800000; font-weight:bold; '&gt;private&lt;/span&gt; async &lt;span style='color:#800000; font-weight:bold; '&gt;void&lt;/span&gt; helper &lt;span style='color:#808030; '&gt;(&lt;/span&gt;&lt;span style='color:#808030; '&gt;)&lt;/span&gt; &lt;span style='color:#800080; '&gt;{&lt;/span&gt;&lt;br /&gt;        yield generate &lt;span style='color:#808030; '&gt;(&lt;/span&gt;&lt;span style='color:#808030; '&gt;)&lt;/span&gt;&lt;span style='color:#800080; '&gt;;&lt;/span&gt;&lt;br /&gt;        consumed &lt;span style='color:#808030; '&gt;=&lt;/span&gt; &lt;span style='color:#800000; font-weight:bold; '&gt;true&lt;/span&gt;&lt;span style='color:#800080; '&gt;;&lt;/span&gt;&lt;br /&gt;    &lt;span style='color:#800080; '&gt;}&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;    &lt;span style='color:#800000; font-weight:bold; '&gt;protected&lt;/span&gt; &lt;span style='color:#800000; font-weight:bold; '&gt;abstract&lt;/span&gt; async &lt;span style='color:#800000; font-weight:bold; '&gt;void&lt;/span&gt; generate &lt;span style='color:#808030; '&gt;(&lt;/span&gt;&lt;span style='color:#808030; '&gt;)&lt;/span&gt;&lt;span style='color:#800080; '&gt;;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;    &lt;span style='color:#800000; font-weight:bold; '&gt;protected&lt;/span&gt; async &lt;span style='color:#800000; font-weight:bold; '&gt;void&lt;/span&gt; feed &lt;span style='color:#808030; '&gt;(&lt;/span&gt;G value&lt;span style='color:#808030; '&gt;)&lt;/span&gt; &lt;span style='color:#800080; '&gt;{&lt;/span&gt;&lt;br /&gt;        &lt;span style='color:#800000; font-weight:bold; '&gt;this&lt;/span&gt;&lt;span style='color:#808030; '&gt;.&lt;/span&gt;value &lt;span style='color:#808030; '&gt;=&lt;/span&gt; value&lt;span style='color:#800080; '&gt;;&lt;/span&gt;&lt;br /&gt;        &lt;span style='color:#800000; font-weight:bold; '&gt;this&lt;/span&gt;&lt;span style='color:#808030; '&gt;.&lt;/span&gt;callback &lt;span style='color:#808030; '&gt;=&lt;/span&gt; feed&lt;span style='color:#808030; '&gt;.&lt;/span&gt;callback&lt;span style='color:#800080; '&gt;;&lt;/span&gt;&lt;br /&gt;        yield&lt;span style='color:#800080; '&gt;;&lt;/span&gt;&lt;br /&gt;    &lt;span style='color:#800080; '&gt;}&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;    &lt;span style='color:#800000; font-weight:bold; '&gt;public&lt;/span&gt; &lt;span style='color:#800000; font-weight:bold; '&gt;bool&lt;/span&gt; next &lt;span style='color:#808030; '&gt;(&lt;/span&gt;&lt;span style='color:#808030; '&gt;)&lt;/span&gt; &lt;span style='color:#800080; '&gt;{&lt;/span&gt;&lt;br /&gt;        &lt;span style='color:#800000; font-weight:bold; '&gt;return&lt;/span&gt; &lt;span style='color:#808030; '&gt;!&lt;/span&gt;consumed&lt;span style='color:#800080; '&gt;;&lt;/span&gt;&lt;br /&gt;    &lt;span style='color:#800080; '&gt;}&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;    &lt;span style='color:#800000; font-weight:bold; '&gt;public&lt;/span&gt; G get &lt;span style='color:#808030; '&gt;(&lt;/span&gt;&lt;span style='color:#808030; '&gt;)&lt;/span&gt; &lt;span style='color:#800080; '&gt;{&lt;/span&gt;&lt;br /&gt;        var result &lt;span style='color:#808030; '&gt;=&lt;/span&gt; value&lt;span style='color:#800080; '&gt;;&lt;/span&gt;&lt;br /&gt;        callback &lt;span style='color:#808030; '&gt;(&lt;/span&gt;&lt;span style='color:#808030; '&gt;)&lt;/span&gt;&lt;span style='color:#800080; '&gt;;&lt;/span&gt;&lt;br /&gt;        &lt;span style='color:#800000; font-weight:bold; '&gt;return&lt;/span&gt; result&lt;span style='color:#800080; '&gt;;&lt;/span&gt;&lt;br /&gt;    &lt;span style='color:#800080; '&gt;}&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;    &lt;span style='color:#800000; font-weight:bold; '&gt;public&lt;/span&gt; Generator&lt;span style='color:#808030; '&gt;&amp;lt;&lt;/span&gt;G&lt;span style='color:#808030; '&gt;&gt;&lt;/span&gt; iterator &lt;span style='color:#808030; '&gt;(&lt;/span&gt;&lt;span style='color:#808030; '&gt;)&lt;/span&gt; &lt;span style='color:#800080; '&gt;{&lt;/span&gt;&lt;br /&gt;        &lt;span style='color:#800000; font-weight:bold; '&gt;return&lt;/span&gt; &lt;span style='color:#800000; font-weight:bold; '&gt;this&lt;/span&gt;&lt;span style='color:#800080; '&gt;;&lt;/span&gt;&lt;br /&gt;    &lt;span style='color:#800080; '&gt;}&lt;/span&gt;&lt;br /&gt;&lt;span style='color:#800080; '&gt;}&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style='color:#800000; font-weight:bold; '&gt;class&lt;/span&gt; IntGenerator &lt;span style='color:#808030; '&gt;:&lt;/span&gt; Generator&lt;span style='color:#808030; '&gt;&amp;lt;&lt;/span&gt;&lt;span style='color:#800000; font-weight:bold; '&gt;int&lt;/span&gt;&lt;span style='color:#808030; '&gt;&gt;&lt;/span&gt; &lt;span style='color:#800080; '&gt;{&lt;/span&gt;&lt;br /&gt;    &lt;span style='color:#800000; font-weight:bold; '&gt;protected&lt;/span&gt; &lt;span style='color:#800000; font-weight:bold; '&gt;override&lt;/span&gt; async &lt;span style='color:#800000; font-weight:bold; '&gt;void&lt;/span&gt; generate &lt;span style='color:#808030; '&gt;(&lt;/span&gt;&lt;span style='color:#808030; '&gt;)&lt;/span&gt; &lt;span style='color:#800080; '&gt;{&lt;/span&gt;&lt;br /&gt;        &lt;span style='color:#800000; font-weight:bold; '&gt;for&lt;/span&gt; &lt;span style='color:#808030; '&gt;(&lt;/span&gt;&lt;span style='color:#800000; font-weight:bold; '&gt;int&lt;/span&gt; i&lt;span style='color:#808030; '&gt;=&lt;/span&gt;&lt;span style='color:#008c00; '&gt;0&lt;/span&gt;&lt;span style='color:#800080; '&gt;;&lt;/span&gt; i &lt;span style='color:#808030; '&gt;&amp;lt;&lt;/span&gt; &lt;span style='color:#008c00; '&gt;10&lt;/span&gt;&lt;span style='color:#800080; '&gt;;&lt;/span&gt; i&lt;span style='color:#808030; '&gt;+&lt;/span&gt;&lt;span style='color:#808030; '&gt;+&lt;/span&gt;&lt;span style='color:#808030; '&gt;)&lt;/span&gt; &lt;span style='color:#800080; '&gt;{&lt;/span&gt;&lt;br /&gt;            yield feed &lt;span style='color:#808030; '&gt;(&lt;/span&gt;i&lt;span style='color:#808030; '&gt;)&lt;/span&gt;&lt;span style='color:#800080; '&gt;;&lt;/span&gt;&lt;br /&gt;        &lt;span style='color:#800080; '&gt;}&lt;/span&gt;&lt;br /&gt;    &lt;span style='color:#800080; '&gt;}&lt;/span&gt;&lt;br /&gt;&lt;span style='color:#800080; '&gt;}&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style='color:#800000; font-weight:bold; '&gt;void&lt;/span&gt; main &lt;span style='color:#808030; '&gt;(&lt;/span&gt;&lt;span style='color:#808030; '&gt;)&lt;/span&gt; &lt;span style='color:#800080; '&gt;{&lt;/span&gt;&lt;br /&gt;    var gen &lt;span style='color:#808030; '&gt;=&lt;/span&gt; &lt;span style='color:#800000; font-weight:bold; '&gt;new&lt;/span&gt; IntGenerator &lt;span style='color:#808030; '&gt;(&lt;/span&gt;&lt;span style='color:#808030; '&gt;)&lt;/span&gt;&lt;span style='color:#800080; '&gt;;&lt;/span&gt;&lt;br /&gt;    &lt;span style='color:#800000; font-weight:bold; '&gt;foreach&lt;/span&gt; &lt;span style='color:#808030; '&gt;(&lt;/span&gt;var i &lt;span style='color:#800000; font-weight:bold; '&gt;in&lt;/span&gt; gen&lt;span style='color:#808030; '&gt;)&lt;/span&gt; &lt;span style='color:#800080; '&gt;{&lt;/span&gt;&lt;br /&gt;        message &lt;span style='color:#808030; '&gt;(&lt;/span&gt;&lt;span style='color:#800000; '&gt;"&lt;/span&gt;&lt;span style='color:#0000e6; '&gt;%d&lt;/span&gt;&lt;span style='color:#800000; '&gt;"&lt;/span&gt;&lt;span style='color:#808030; '&gt;,&lt;/span&gt; i&lt;span style='color:#808030; '&gt;)&lt;/span&gt;&lt;span style='color:#800080; '&gt;;&lt;/span&gt;&lt;br /&gt;    &lt;span style='color:#800080; '&gt;}&lt;/span&gt;&lt;br /&gt;&lt;span style='color:#800080; '&gt;}&lt;/span&gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;You can find the above &lt;a href="http://www.refactory.org/s/generators_in_vala/view"&gt;code snippet here&lt;/a&gt; as well.</description><link>http://valajournal.blogspot.com/2011/07/generators-in-vala.html</link><author>noreply@blogger.com (Luca Bruno aka Lethalman)</author><thr:total>4</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-3863229176846580288.post-6723743878461691146</guid><pubDate>Wed, 06 Jul 2011 15:09:00 +0000</pubDate><atom:updated>2011-07-06T15:16:37.880Z</atom:updated><title>Vala 0.13.1 released</title><description>Hello,&lt;br /&gt;the new  development version 0.13.1 of the Vala programming language has been released.&lt;br /&gt;Below the changes since version 0.13.0:&lt;br /&gt;&lt;br /&gt;&lt;h3 id="Changes"&gt;Changes&lt;/h3&gt;&lt;span class="anchor" id="line-10"&gt;&lt;/span&gt;&lt;ul&gt;&lt;li&gt;New libpeas-1.0 bindings (Michal Hruby).&lt;/li&gt;&lt;li&gt;Many bug fixes and binding updates. &lt;span class="anchor" id="line-11"&gt;&lt;/span&gt;&lt;span class="anchor" id="line-12"&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p class="line867"&gt; &lt;/p&gt;More information and download at the &lt;a href="http://live.gnome.org/Vala"&gt;Vala homepage&lt;/a&gt;.</description><link>http://valajournal.blogspot.com/2011/07/vala-0131-released.html</link><author>noreply@blogger.com (Luca Bruno aka Lethalman)</author><thr:total>0</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-3863229176846580288.post-4278080156851550226</guid><pubDate>Fri, 17 Jun 2011 17:45:00 +0000</pubDate><atom:updated>2011-06-17T18:40:43.002Z</atom:updated><title>Vala 0.13.0 released</title><description>Hello,&lt;br /&gt;after two months of active development, the &lt;a href="http://live.gnome.org/Vala"&gt;Vala programming language&lt;/a&gt; has reached version 0.13.0.&lt;br /&gt;&lt;br /&gt;&lt;h3 id="Changes"&gt;Changes&lt;/h3&gt; &lt;span class="anchor" id="line-10"&gt;&lt;/span&gt;&lt;ul&gt;&lt;li&gt;More refactoring in the code generator. &lt;span class="anchor" id="line-11"&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;Improvements to the .gir reader. &lt;span class="anchor" id="line-12"&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;Switch JSON-GLib bindings to .gir. &lt;span class="anchor" id="line-13"&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;Drop deprecated support for D-Bus GLib in favor of GDBus. &lt;span class="anchor" id="line-14"&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;Many bug fixes and binding updates. &lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;Some numbers: 314 commits and 94 bug fixes since version 0.12.0. So this new development release is a mix of enhancements and fixes.&lt;br /&gt;&lt;br /&gt;A noteworthy change is the deprecation of copying delegates. A delegate is copied when it is assigned to an owned delegate variable like this:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;SourceFunc a = () =&amp;gt; false;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;SourceFunc b = a;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;You will get a warning: "&lt;span style="font-style: italic;"&gt;copying delegates is discouraged&lt;/span&gt;". This is because of the nature of delegates in glib. Owned delegate variables have a related target and a GDestroyNotify, but it's not known how to copy/ref the target. Therefore,  it's impossible to copy/ref a delegate target.&lt;br /&gt;&lt;br /&gt;So, how do we shut the warning? There are two  ways:&lt;br /&gt;&lt;br /&gt;1) If you don't need owned delegate, you can assign to an unowned variable like this:&lt;span style="font-weight: bold;"&gt; unowned SourceFunc b = a&lt;/span&gt;;&lt;br /&gt;2) If you want to transfer the ownership:&lt;span style="font-weight: bold;"&gt; SourceFunc b = (owned) a&lt;/span&gt;; After this, you can still invoke &lt;span style="font-weight: bold;"&gt;a()&lt;/span&gt; but the target will not be destroyed anymore when &lt;span style="font-weight: bold;"&gt;a&lt;/span&gt; runs out of the scope.&lt;br /&gt;&lt;br /&gt;You might experience the same warning for delegate properties as well, like this:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;public SourceFunc func { get; set; }&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Here there are two solutions:&lt;br /&gt;1) If you need owned delegate, use owned set like this: &lt;span style="font-weight: bold;"&gt;public SourceFunc func { get; owned set; }&lt;/span&gt;, while keeping the getter unowned.&lt;br /&gt;2) If you don't need owned delegate: &lt;span style="font-weight: bold;"&gt;public unowned SourceFunc func { get; set }&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;It must be noted that due to a bug (now fixed in this release), although you defined an owned delegate property, it was practically unowned.</description><link>http://valajournal.blogspot.com/2011/06/vala-0130-released.html</link><author>noreply@blogger.com (Luca Bruno aka Lethalman)</author><thr:total>3</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-3863229176846580288.post-2747812045641574955</guid><pubDate>Wed, 01 Jun 2011 19:18:00 +0000</pubDate><atom:updated>2011-06-01T19:32:19.528Z</atom:updated><title>Vala 0.12.1 released</title><description>Hello,&lt;br /&gt;the new stable version 0.12.1 of the Vala programming language has been released.&lt;br /&gt;&lt;br /&gt;Release notes are "Many bug fixes and binding updates.".&lt;br /&gt;From a quantitative view point, this release fixed 42  reported bugs plus other 30 commits with fixes.&lt;br /&gt;&lt;br /&gt;Stay tuned for the 0.13.0 development release&lt;br /&gt;&lt;br /&gt;More information and download at the &lt;a href="http://live.gnome.org/Vala"&gt;Vala homepage&lt;/a&gt;.</description><link>http://valajournal.blogspot.com/2011/06/vala-0121-released.html</link><author>noreply@blogger.com (Luca Bruno aka Lethalman)</author><thr:total>2</thr:total></item></channel></rss>