vala 0.40.7



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:
  - Update bugtracker links to https://gitlab.gnome.org/GNOME/vala/issues
  - codegen:
    + Handle delegate_target attribute of fields [#520]
    + Free generic elements of glib collections [#694765]
    + Fix warning for source_funcs parameter of g_source_new()
    + Actually treat GLib.Source as compact class
    + Custom abstract methods of GLib.Source are handled differently [#641]
    + Consistently use gpointer for delegate targets
    + Unify some delegate-type check patterns
    + Use default_init instead of base_init when registering interfaces
      [#699550]
  - girparser: Add support for bool delegate_target [#520]
  - girwriter:
    + Output deprecated="1"
    + construct-only properties don't have a setter method
    + Don't write any custom attributes [#608]
  - valadoc: Fix TreeBuilder.create_array() for stacked Arrays

 * Bindings:
  - glib-2.0:
    + Do not mark simple-type out-parameters as nullable [#634]
    + Make Source.attach() use the default MainContext by default
    + Make Bytes.slice() use the memory-efficient Bytes.from_bytes() [#638]
    + Fix Bytes.with_free_func()
  - gio-2.0:
    + Mark ActionEntry.parameter_type/state fields as nullable [#632]
    + Delegate fields of DBus*VTable do not have implicit target fields
    + Apply delegate_target = false on ActionEntry callbacks and make them weak
      [#630]
    + Add default to all io_priority parameters
  - gstreamer: Cherry-pick some fixes from 0.42, add gst-editing-services-1.0
  - gtk+-3.0: Update to 3.22.30+9ac7f906
  - gtk+-4.0: Update to 3.93.0+29fee2e8
  - webkit2gtk-4.0: Update to 2.21.4
  - Update GIR-based bindings


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

Download
========
https://download.gnome.org/sources/vala/0.40/vala-0.40.7.tar.xz (3.20M)
  sha256sum: bee662f60ab3a0d5266c1dd66f508cd9ed3254d74622d23c2d6bd94c91990aec



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