vala 0.46.0



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
====

 * Highlights:
  - Add boolean CodeContext.keep_going and corresponding compiler option

 * Various improvements and bug fixes:
  - vala:
    + Move find_parent_type_symbol/get_this_type() to SemanticAnalyzer
    + Exclude nullable simple-type structs from gobject-property support
    + Reject unary operations on nullable integer/floating/boolean type [#772]
  - codegen:
    + Don't append unreachable clean-up section of Block [#838]
    + Don't cause double-free due append_local_free() in uncaught-errors [#838]
    + Don't unconditionally add/return internal "result" variable [#838]
  - codewriter: Write "weak" modifier for properties
  - girparser: Improve evalution of instance-parameter information [#836]
    (Regenerate GIR-based bindings to pick up out/ref instance-parameters)
  - girparser/gidlparser: "value_owned = true" by default for property types
  - libvaladoc: Don't traverse into close circles with parent [#829]
  - genie: Creation methods should not be static

 * Bindings:
  - glib-2.0: Fix MutexLocker binding
  - glib-2.0: Add missing "DestroysInstance" attributes to Mutex/Locker API
  - glib-2.0: Use 'GStatBuf' as ctype for 'Stat'
  - glib-2.0: Add new symbols from 2.62
  - gio-2.0: Drop metadata for NativeSocketAddress
  - gstreamer: Update from 1.17.0+ git master
  - gtk4: Regenerate to pick up DestroyInstance attributes
  - json-glib-1.0: Change abstract methods of Serializable to virtual [#840]
  - libsoup-2.4: soup_auth_new is not a constructor but a factory method [#791]
  - vapi: Update GIR-based bindings


ChangeLog
=========
https://download.gnome.org/sources/vala/0.46/vala-0.46.0.changes  (4.25K)

Download
========
https://download.gnome.org/sources/vala/0.46/vala-0.46.0.tar.xz (3.21M)
  sha256sum: a10a3b9d60bdfe3349afd3778cd4518b1eb517b59134a70ab5ac845432220c17



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