vala 0.40.21



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:
    + Don't append unreachable clean-up section of Block [#838]
    + Emit postconditions before free'ing local variables
    + Correctly access captured parameter in precondition of method [#144]
    + Append initializer for "_*_size_" of array field in internal struct
    + Avoid critical trying to serialize an unsupported type to Variant [#952]
    + Don't free value if property setter takes ownership [#953]
    + Correct field declaration for captured inline-allocated array [#954]
    + Correctly handle transformation of translated string-literal constants
    + Don't pass CCodeCastExpression to NULL-aware free macro [#953]
    + Fix binary 'in' operator on array with boxed value-typed needle [#951]
    + Add support for delegate parameters in signals [#205]
    + Use get_value_*_function() in GSignalModule.generate_marshaller() [#468]
    + Correctly handle signals returning real non-nullable struct [#466]
    + Use specified indices to access multidimensional array constants [#905]
    + codegen: Reduce code duplications when generation base-access
    + Fix base-access to non-abstract/non-virtual properties [#204]
    + Fix default of CCode.pos for parameters in async methods
  - vala:
    + Support struct initializer list in non-constant array [#949]
    + Handle unlock() statement in CodeWriter
    + Handle all ctors and dtors in CodeWriter
    + Consider boolean types are compatible with each other
    + Parse standalone integer/real literals as expression statement [#961]
    + Set default_construction_method in semantic-analyzer check if required
    + Fix cleaning of output in CodeContext.pkg_config_modversion()
    + Don't use possibly uninitialized backing field of package_name [#971]
    + Check assigned handler of dynamic signal before proceeding further
    + Don't perform version check on internal lambda method
    + Perform version check for types of non-external variable declarations
    + Quote symbol on report by version attribute check
    + Ensure non-empty argument list for "disconnect" before accessing it
  - girparser
    + Move special handling for certain parameters to process_callable()
    + Drop special handling of GLib.Data, GLib.PtrArray and GLib.String
    + Improve detection of AsyncReadyCallback/AsyncResult parameters [#340]
  - parser: Handle incomplete expression statements
  - testrunner: Compile and run tests separately
  - testrunner: Warnings and criticals should be fatal on compile time too

 * Bindings:
  - gio-2.0: Add "async_result_pos" attributes to *.call_with_unix_fd_list()
    [#340]
  - glib-2.0: Guard Pid.to_string() with GLIB_2_50 to deal with G_PID_FORMAT
  - gstreamer-app-1.0: Don't merge Src.push_buffer_*() signal with its method
    [#968]
  - gtk+-3.0: Update to 3.24.18
  - webkit2gtk-4.0: Update to 2.28.0 [#974]


ChangeLog
=========
https://download.gnome.org/sources/vala/0.40/vala-0.40.21.changes  (7.21K)

Download
========
https://download.gnome.org/sources/vala/0.40/vala-0.40.21.tar.xz (3.30M)
  sha256sum: 8ffca70c0e9cd829829556bcdfd868cc9703cbaa7b325dad707b92967e38006b



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