vala 0.48.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:
    + 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:
    + 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]
    + Add SourceReference.contains() and SourceLocation.to_string()
    + 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()
    [#340]
  - 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
    [#968]
  - gstreamer-1.0: Don't skip GST_*_FORMAT strings [#970]
  - gtk4: Update to 3.98.3
  - vapi: Update GIR-based bindings


ChangeLog
=========
https://download.gnome.org/sources/vala/0.48/vala-0.48.4.changes  (4.68K)

Download
========
https://download.gnome.org/sources/vala/0.48/vala-0.48.4.tar.xz (3.28M)
  sha256sum: 2f28765d1cb1de29de56e6160d8ce0718c49f29294a527abc71556fd4a1d0d73



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