vala 0.47.2



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
====

 * Highlights:
  - compiler: Add "--depfile" option writing package dependencies to given file

 * Various improvements and bug fixes:
  - codegen:
    + Fix support of dynamic DBus methods
    + Fix vfunc signature of delegate-typed property in interface
    + Fix precondition in creation method of structs
    + Remove unreachable code in TypeRegisterFunction.init_from_type()
    + Improve *_get_type() fast path (requires glib >= 2.58) [#879]
  - vala:
    + Report error for async creation expression without yield
    + Don't require constant initializer in fast-vapi [#461]
    + VoidType is actually compatible with itself [#878]
    + Improve handling of "void" as generic type [#878]
    + Keep formal_target_type on transform of method-call/object-creation [#835]
    + Add a basic parameter check for [Print] methods
    + Let the parser have set namespace members as static
    + Don't ignore inner errors in Block and acknowledge them further
    + Improve error message for unsupported inner types and declarations
    + Don't allow "va_list" as return-type or type of fields [#884]
    + Check before accessing "name" of parent_symbol which might be null
    + Allow to override base interface properties explicitly
  - gidl/girparser: Creation methods must not be marked as static
  - parser: Implicit "main" method of main-block is public and static
  - scanner: "\x" requires two hex digits at most
  - scanner: Improve check of "\u" escape sequence
  - genie: Fix parser's inner state when a struct is declared after a class

 * Bindings:
  - glib-2.0: Add to_string() for GLib.PollFd and GLib.Pid
  - glib-2.0: Add new symbols from 2.64
  - glib-2.0: Reset errno before calling strto*() functions.
  - gstreamer: Update from 1.17.0+ git master
  - gtk4: Update to 3.96.0+448a4023
  - pango: Update to 1.44+
  - vapi: Update GIR-based bindings
  - webkit2gtk-4.0: Update to 2.27.3


ChangeLog
=========
https://download.gnome.org/sources/vala/0.47/vala-0.47.2.changes  (6.14K)

Download
========
https://download.gnome.org/sources/vala/0.47/vala-0.47.2.tar.xz (3.24M)
  sha256sum: 665af33f757e87cecf412f94f5459be491e0400db3831bf0d439f15784092f9c



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