vala 0.41.90



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
  - Reintroduce POSIX profile
  - parser: Add support for explicit "unlock" syntax
  - vala: Support anonymous definitions of delegates in bindings
  - codegen: Support automatic properties as GtkChild
  - codegen: Apply G_PARAM_EXPLICIT_NOTIFY on properties with "notify = false"
  - codegen: Drop support for non-auto property initializer in gobjects
  - codegen: Avoid using deprecated "g_type_class_add_private"

 * Various bug fixes:
  - vala: Constants and signals are not lockable
  - codegen: Don't apply ref_sink_function if target_type is floating_reference
  - vala: Treat floating method-return-type as nullable if error may be thrown
  - vala: Transfer floating-reference attribute while casting
  - analyzer: Break cyclic references of BasicBlock
  - vala: Break reference chain between DataType and Symbol if possible
  - codegen: Fix invocation of abstract/virtual methods with NoWrapper in
    compact classes
  - vala: Report error for invalid base access in method/property of compact
    class
  - libvaladoc: Replace void* with corresponding Vala API
  - codegen: Don't include the full absolute path in line directives
  - codegen: Add source_reference to unsupported floating reference error

 * Bindings:
  - gobject-2.0: Make GLib.Signal a struct of uint and bind g_signal_new*
  - clutter-1.0: Change type of Clutter.Key.* constants to uint
  - gdk-3.0: Change type of Gdk.Key.* constants to uint
  - gtk+-4.0: Change type of Gdk.Key.* constants to uint
  - gstreamer: Update from 1.15+ git master
  - webkit2gtk-4.0: Add JSC namespace to javascriptcoregtk-4.0 and fix depends
  - Remove clutter-gst-1.0, GStreamer 0.10, rest-0.6,
    tracker-indexer-module-1.0, libsoup-2.2, gdu and gdu-gtk,
    twitter-glib-1.0, mx-1.0
  - Remove vala-specific deprecations <= vala-0.22


ChangeLog
=========
https://download.gnome.org/sources/vala/0.41/vala-0.41.90.changes  (655)

Download
========
https://download.gnome.org/sources/vala/0.41/vala-0.41.90.tar.xz (3.17M)
  sha256sum: 30d2d1d1745861cd0b884839f08d21726a06274137b544004aaac473d7ac410e



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