vala 0.54.4



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 CCodeConstant for member access of constant symbol
    + Emit constants without initializer list in defines section [#440]
    + Add and use CCodeConstantIdentifier for accessing constants
    + Check required length of enum type name for GType support
    + Add missing check while overriding virtual async interface methods [#852]
    + Drop inconsistent space for ObjectType parameters
    + Accept CCode.type attribute on parameters [#876]
    + Fix CCodeUnaryExpression.write() for PREFIX_INCREMENT/PREFIX_DECREMENT
  - vala:
    + Improve error message for invalid handler of dynamic signal
    + Using SignalHandler.disconnect() is required for dynamic signals
    + Check for unavailable value-type of variable initializer [#1253]
    + Add [Profile] as known attribute for methods
    + Report error on missing gio-2.0 package for async constructors
    + Fix signals with generic return
    + parser: Split out Parser.parse_switch_section_statement()
    + parser: Better handling of misplaced switch sections [#1246]
  - genie:
    + Amend text of indent and dedent for error messages [#497]
    + Accept INTERR token before type arguments when parsing type [#1245]
    + Properly handle plain "get" or "set" property accessors [#1248]
    + "exception" is the expected string for TokenType.ERRORDOMAIN
    + Accept accessibility/async modifiers on "construct" creation methods [#1235]
  - girparser: Accept "sealed" for transformed records and compact classes
  - gtkmodule: Improve error message for invalid signal element in ui-file
  - build: Add "test-update" which passed UPDATE_EXPECTED=1 to refresh c-expected
  - tests: Rename colliding test cases to avoid conflicts

 * Bindings:
  - alsa: Add more API and fix a few things
  - gnome-desktop-3.0: Some parameter fixes
  - gstreamer: Cherry-pick bindings fixes from 0.56
  - gstreamer-base-1.0: Some parameter fixes [#1255]
  - gtk4: Update to 4.5.0~cd9b7307
  - pango: Cherry-pick bindings fixes from 0.56


ChangeLog
=========
https://download.gnome.org/sources/vala/0.54/vala-0.54.4.changes  (4.23K)

Download
========
https://download.gnome.org/sources/vala/0.54/vala-0.54.4.tar.xz (3.73M)
  sha256sum: 6051270a2fc30de023c88562566f2f6043e67beb4da4b799c14cdf12048eb40c



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