vala 0.40.13



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-var for MethodCall with out/ref arguments (#722)
    + Use temp-vars for ellipsis out-arguments to fix memory management (#722)
    + Add default_value for CType to initialize variables if needed (#724)
    + Cast instance parameter for property access in object-initializer
    + 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
  - vala: Report invalid instance member access to property (#605)
  - girparser: Async methods don't allow out-parameters before in-parameters
  - libvaladoc: Build backing Vala.SourceFile for GIRs processed by importer
  - libvaladoc/girimporter: Skip "source-position" elements
  - valadoc: Specify that the "--driver" option is deprecated [#736]
  - compiler: Report deprecated command-line option "--thread"
  - build: Don't leak libvalaccode symbols to libvaladoc
  - Add a basic CONTRIBUTING.md file that links to the relevant Wiki page
  - tests: Fix try_parse() tests to not compare to already free'd memory

 * Bindings:
  - clutter-1.0: Fix BindingPool.override_action()
  - gdk-3.0,gtk+-3.0: Update to 3.24.3+9c8f1478
  - 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
  - gtk+-4.0: Update to 3.94.0+9b15c690
  - libsoup-2.4: Fix Message.add_*_handler() [#731]
  - sqlite3: Correct return C type of Statement.column_text & Value.to_text


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

Download
========
https://download.gnome.org/sources/vala/0.40/vala-0.40.13.tar.xz (3.24M)
  sha256sum: 24703b65dc7d59686c9d0c14d327134b1c6670ae5c8037f77ccd2c0be8caf5e0



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