vala 0.45.1



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:
  - Require and target GLib >= 2.48 [#671]
  - Add support for --target-glib=auto [#761]
  - Report error for public creation methods of abstract classes [#766]
  - Report error for yield statements without async context
  - Write "Source" attribute in fast-vapi mode
  - No-accessor struct properties in GLib.Object class must be owned
  - Support GObject properties with nullable GType-based struct type [#792]
  - Always use G_TYPE_CHECK_INSTANCE_TYPE for external symbols
  - valadoc: Drop obsolete "Driver" API

 * Various improvements and bug fixes:
  - parser: Multiple corrections for source-location of code-nodes
  - build: Pass some useful G_LOG_DOMAIN definitions
  - girwriter: Mention that this file is generated and not meant to be modified
  - girwriter: Properly resolve GLib.TypeInterface instead of hardcoding it
  - girwriter: Multiple improvements and fixes for e.g. GType classes
  - girparser: Add support for string "ctype" metadata [#793]
  - codegen: Move GObject property validity checks to SemanticAnalyzer
  - When freeing local variables don't stop at "switch" on "continue" [#799]
  - compiler: Add OptionFlags.NO_ARG to deprecated "--thread" option

 * Bindings:
  - Remove vte, vte-2.90 bindings [#584]
  - Rename graphene-1.0 to graphene-gobject-1.0
  - glib-2.0: Don't annotate dedicated GLib.assert_*() functions with [Assert]
    [#769]
  - clutter-1.0: Bind Margin, PaintVolume, Point, Rect and Size as struct [#795]
  - cogl-1.0: Fix out-params in Cogl.get_modelview_matrix/projection_matrix/
    bitmasks [#794]
  - gstreamer: Update from 1.17.0+ git master
  - gtk4: Update to 3.96.0+322507f2
  - vapi: Update GIR-based bindings


ChangeLog
=========
https://download.gnome.org/sources/vala/0.45/vala-0.45.1.changes  (5.73K)

Download
========
https://download.gnome.org/sources/vala/0.45/vala-0.45.1.tar.xz (3.20M)
  sha256sum: 3fb81693822b9d37c07db464dd9bbcab3b95d8d18077182c3248b1b4f80f7a07



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