vala 0.36.18



About vala
==========

valac, the Vala compiler, is a self-hosting compiler that translates
Vala source code into C source and header files. It uses the GObject
type system to create classes and interfaces declared in the Vala
source code.

The syntax of Vala is similar to C#, modified to better fit the
GObject type system. Vala supports modern language features as the
following: Interfaces, Properties, Signals, Foreach, Lambda
expressions, Type inference for local variables, Generics, Non-null
types, Assisted memory management, Exception handling, Type modules
(Plugins)

Vala is designed to allow access to existing C libraries, especially
GObject-based libraries, without the need for runtime bindings. All
that is needed to use a library with Vala is an API file, containing
the class and method declarations in Vala syntax. Vala currently comes
with bindings for GLib and GTK+ and many others from the GNOME
Platform.

Using classes and methods written in Vala from an application written
in C is not difficult. The Vala library only has to install the
generated header files and C applications may then access the GObject-
based API of the Vala library as usual. It should also be easily
possible to write a bindings generator for access to Vala libraries
from applications written in e.g. C# as the Vala parser is written as
a library, so that all compile-time information is available when
generating a binding.

News
====

 * Various improvements and bug fixes:
  - codegen:
    + Use temp-vars for ellipsis out-arguments to fix memory management (#722)
    + Don't check boolean values for (in)equality in GTask API (#726)
    + Properly set annotations field of GDBus*Info struct to NULL
    + Cast instance and result of g_async_initable_new_finish() call
    + Use a parameter-map for creation of delegate declaration [#728]
    + Emit struct declaration typedef before resolving its fields [#318]
    + Don't apply address-of operator on literals when casting to array
    + Replace some unfortunate asserts with internal error reports
    + Properly handle and catch inner-error of finally-block (#742)
  - vala:
    + Report invalid instance member access to property (#605)
        + Check inferred variable_type of LocalVariables
        + Parser doesn't ensure "protected" to be applied on TypeSymbol members
  - girparser:
    + Async methods don't allow out-parameters before in-parameters
    + Correctly set array_length_type for delegates returning an array
  - girwriter:
    + Support transfer-ownership="container" for arrays
    + Always use get_gir_name() for TypeSymbols
  - g-i: Fix return value on error in start_discriminator()
  - compiler: Report deprecated command-line option "--thread"
  - Add a basic CONTRIBUTING.md file that links to the relevant Wiki page

 * Bindings:
  - clutter-1.0: Fix BindingPool.override_action()
  - clutter-1.0: Drop deprecated from Actor.pick() (#625)
  - gdk-3.0: Fix ownership of FrameClock.get_current_timings/get_timings()
  - gtk+-unix-print-*.0: Fix PrintJob.get_page_ranges(),
    Printer.get_hard_margins()
  - glib-2.0: Use correct array-length-type for returned arrays (#171)
  - gio-2.0: Fix File.replace_contents_bytes_async() (!37)
  - gobject-2.0: Minor syncing from GIR
  - gobject-2.0: Use correct array-length-type for returned arrays
  - gobject-2.0: Add SignalHandler.disconnect_by_data()
  - libsoup-2.4: Fix Message.add_*_handler() [#731]
  - poppler-glib: Update to 0.74
  - sqlite3: Correct return C type of Statement.column_text & Value.to_text


ChangeLog
=========
https://download.gnome.org/sources/vala/0.36/vala-0.36.18.changes  (4.70K)

Download
========
https://download.gnome.org/sources/vala/0.36/vala-0.36.18.tar.xz (2.77M)
  sha256sum: 0947c63c1c5a3d7447f8db955e75636ec99f956e23203a0bf0c318ffa64e4b33



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]