vala 0.53.1



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:
  - Support explicit nullable var-type declarations [#1146]
  - Add support for variadic delegates [#160]
  - Add support for sealed classes [#278]
  - Add support for null-safe access operator [#522]
  - Emit external creation methods in bindings
  - Introduce VALA_EXPORT for public symbols to improve portability
  - girwriter:
    + Use "optional" and "nullable" instead of deprecated "allow-none"
    + Improve struct creation method binding
  - girparser:
    + Improve instance method detection [#1210]
    + Never skip "function" elements
    + Add "move-to" value of functions as Version.replacement

 * Various improvements and bug fixes:
  - codegen:
    + Use ssize_t for length variables in common array helper functions
    + Fix support for public fields on GLib.Source subclasses
  - vala:
    + Add Profile.LIBC as synonym for POSIX and accept "libc" profile
    + Improve semantic check of simple type structs
    + Refactor UnresolvedSymbol/Type constructors
    + Properly check GLib.Object naming convention for properties
    + Add foreach statement support for GLib.GenericArray
  - build: Add "test-asan" make target for convenience
  - build: Add --enable-test-ubsan configure option and "test-ubsan" make target
  - build: Use jing to verify generated GIR file, if available
  - testrunner: Allow checking generated C sources

 * Bindings:
  - Remove gedit-2.20 and webkit-1.0 bindings
  - gio-2.0,glib-2.0: Add new symbols from 2.69.0
  - gio-2.0: Improve DatagramBased.create_source() binding
  - glib-2.0: Wrap TimeZone.identifier() constuctor for proper error support
  - gstreamer-rtp-1.0: Fix some bindings errors [#1177]
  - gstreamer: Update from 1.19.0+ git master
  - javascriptcoregtk-4.0: Fix JSC.Class.add_property() binding
  - linux: Add SocketCAN bindings, and ISOTP constants and options
  - webkit2gtk-4.0: Update to 2.33.3


ChangeLog
=========
https://download.gnome.org/sources/vala/0.53/vala-0.53.1.changes  (619)

Download
========
https://download.gnome.org/sources/vala/0.53/vala-0.53.1.tar.xz (3.70M)
  sha256sum: fa9c4dd85617076ea7f37149297db885c3346e3e9cf0a326a959899ef4555757



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