vala 0.46.8

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

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

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.


 * Various improvements and bug fixes:
  - codegen:
    + 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]
    + Include "glib.h" for G_BEGIN_DECLS/G_END_DECLS usage
    + 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]
    + 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]
    + 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]
    + Warn about usage of override to implement abstract interface methods
    + 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

 * Bindings:
  - gio-2.0: Add "async_result_pos" attributes to *.call_with_unix_fd_list()
  - glib-2.0: Fix Filename.canonicalize() binding of g_canonicalize_filename
  - 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
  - gstreamer-1.0: Don't skip GST_*_FORMAT strings [#970]
  - gtk+-3.0: Update to 3.24.18
  - harfbuzz-gobject: Sync from 0.48.x

=========  (7.38K)

======== (3.25M)
  sha256sum: 5c6841dc3cba0ec7c17995aa35881ff669e14d62fbc818d7b0a1e1709039117e

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