vala 0.44.10



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 G_TYPE_INSTANCE_GET_INTERFACE to get vtable for base-access
    + Fix setting of generic-type properties for gobject chain up [#654702]
    + Make type-parameter properties readable [#190]
    + Reduce code duplications when generation base-access
  - vala:
    + Warn when passing arrays to typeof(), except for "string[]" [#868]
    + Don't falsely resolve binary-expression to bool [#869]
    + Do not allow += for arrays with fixed length
    + Infer array length of inline allocated arrays for fields [#644046]
    + Do not allow to .resize() on arrays with fixed length
    + Do not allow to change .length of arrays with fixed length
    + Improve error message for arrays as type arguments
    + Improve error reporting for invalid interface prerequisites [#437]
    + Write value of constants/enums in fast-vapi if constant only [#461]
    + Restore DestroysInstance behaviour for non-compact classes [#873]
  - parser: `owned` is not allowed on Constants
  - girparser: Detect and replace "-" in parameter names
  - girwriter: Add readable="0"/private="1" attribute to type-specific fields
  - gidl:
    + Calculate size correctly, avoid use-after-free
    + Avoid use of uninitialized "markup" warning
    + Ignore flags like -mfpmath=sse, -msse or -msse2
  - valadoc:
    + libvaladoc: Fix parameter and property ownership declarations
    + Fix ownership declarations of Constants
  - pkg-config:
    + vala: Add missing gmodule-2.0 to Requires.private of pkg-config file
    + libvaladoc: Move gmodule-2.0 to Requires.private of pkg-config file

 * Bindings:
  - glib-2.0: Guard against passing null source to GLib.Memory.copy()
  - gtk+-3.0: Skip _MountOperationHandler* symbols
  - gtk4,gtk4-unix-print: Update to 3.96.0+ab407ba5
  - libusb-1.0: Don't depend on glib-2.0
  - libusb-1.0: Remove unused private "malloc" binding
  - linux: Add memfd_create(2)
  - posix: Bind some essential memory allocation functions


ChangeLog
=========
https://download.gnome.org/sources/vala/0.44/vala-0.44.10.changes  (4.34K)

Download
========
https://download.gnome.org/sources/vala/0.44/vala-0.44.10.tar.xz (3.21M)
  sha256sum: 0d252ed0a31ef137294a83d05dd170d0479874e27dc8a13c0d5d2b4c4c9a5dcf



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