vala 0.55.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:
  - Add support for partial classes [#370]
  - Add support for nested methods (local functions) [#1232]
  - Add multi-line support to Vala.Report [#764]
  - Support "emit" for explicit signal emission
  - Add native support to specify non default length-type for arrays [#607]

 * Various improvements and bug fixes:
  - codegen:
    + Move some errors to semantic analyzer pass
    + Stop generating wrappers for dynamic signal connections
    + gdbus: Use g_dbus_method_invocation_take_error() as simplification
    + Initialize type parameter properties for generics earlier [#67]
    + Initialize "result" variable on declaration for abstract methods only
    + Use __once instead of __volatile in generated code
    + Generated SimpleType structs don't have a type id
  - vala:
    + Add optional SourceReference parameter to DataType classes
    + Preserve the source reference when resolving data types
    + Set source references of created DataType instances in OCE
    + Set TypeParameter as symbol of GenericType
    + Add accessibility check of type for constants and structs base type
    + Don't allow casting to void [#1070]
    + Don't allow casting real structs to classes or simple-types [#1249]
    + Check accessibility of initializer for constant and enum value
    + Show source location when reporting deprecations

 * Bindings:
  - Add gnome-desktop-4, gnome-bg-4 and gnome-rr-4 bindings
  - Add libsoup-3.0 binding
  - Add webkit2gtk-5.0 bindings
  - glib-2.0: Add Unicode 14.0 symbols
  - glib-2.0: Update 2.72 symbols
  - gstreamer: Update from 1.19.3+ git master
  - gstreamer-1.0: Make Gst.Uri a sealed class
  - gtk4: Update to 4.6.0+06e5da45
  - webkit2gtk-*.0: Update to 2.35.1
  - vapi: Update GIR-based bindings


ChangeLog
=========
https://download.gnome.org/sources/vala/0.55/vala-0.55.1.changes  (477)

Download
========
https://download.gnome.org/sources/vala/0.55/vala-0.55.1.tar.xz (3.74M)
  sha256sum: 50da2a47d49e07e60fbf868b43de888496163589a49790553b51e4e85aa5a4d4



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