vala 0.42.3



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:
    + Initialize internal temp-variables used as reference parameter
    + Improve ccode for fixed-length array parameters (#163)
    + Fix regex literal compile flags
    + Add prototype for *_register_type() function
    + Don't emit *_free() of derived compact classes
    + Add prototype for *_new() of abstact compact classes
  - girwriter: Fix ctype of out/ref and array parameters
  - ccode: Fix typo and actually check "end_decls" (#672)
  - abstract syntax tree:
    + Always analyze nodes after they are inserted into the AST
    + Add source_reference to local variable of catch-clause
    + Add missing replace_expression() implementations
    + Fix several construction/parenting issues
    + DataType for GLib.Error should be should resolved as ErrorType
  - libvaladoc: Add "unlock" to keywords in Highligher
  - posix:
    + Add replacement for G_(BEGIN|END)_DECLS
    + Don't check for GLib.Variant casting
  - testrunner: Reset $run_prefix before generating next test script
  - build: Unconditionally add conditional VALAFLAGS to make bootstrap
  - doc: Fix build of internal-api-docs
  - manual: Update from wiki.gnome.org

 * Bindings:
  - glib-2.0: Computing length once is enough in string.to_utf8()/splice()
  - glib-2.0: Add binding for g_test_add()
  - glib-2.0: Add array length to string.skip (#695)
  - gio-2.0: Result of DBusMessage.get_header() is unowned
  - gobject-2.0,gtk+-*.0: Fix some GLib.Value out/ref parameters
  - gstreamer: Update from 1.15+ git master
  - gtk+-4.0: Update to 3.94.0+b4b30b49


ChangeLog
=========
https://download.gnome.org/sources/vala/0.42/vala-0.42.3.changes  (4.49K)

Download
========
https://download.gnome.org/sources/vala/0.42/vala-0.42.3.tar.xz (3.18M)
  sha256sum: 5fc73dd1e683dc7391bb96d02b2f671aa8289411a48611a05265629e0048587d



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