vala 0.40.17



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:
  - vala:
    + Allow direct access to the integer constants of an error-domain [#732]
    + Support static methods in error-domains [#829]
    + vala: Init formal_target_type of built ArrayCreationExpression from
      InitializerList [#835]
    + Add missing closing brace/bracket in to_string() of
      ArrayCreationExpression and InitializerList
    + Reject unary operations on nullable integer/floating/boolean type [#772]
    + Report dedicated error message for params-array parameter mismatch
    + Output "params" qualifier of parameters
    + Fix compatible/disposable check between structs and their subtypes
    + Don't issue a warning for non-public struct fields in bindings
    + No-accessor struct properties in GLib.Object class must be owned
    + Trust "value_owned" when writing property getter and regenerate
      GIDL/GIR-based bindings fix getter ownership of struct properties
  - codegen:
    + Don't cause double-free due append_local_free() in uncaught-errors [#838]
    + Directly use "memmove()" while g_memmove() is deprecated
    + Accept children after generating type specific declarations
    + Preserve full access to delegate variables and its target/destroy cvalues
    + Initialize delegate temp-var which is assigned by property getter
    + Use gtype-boxed API for structs with "g_boxed_free" attribute [#863]
  - ccode: Implicitly register declaration for added CCodeFunction
  - codewriter: Write "weak" modifier for properties
  - girparser/gidlparser: "value_owned = true" by default for property types
  - girparser: Add required copy/free attributes for gtype-boxed structs
    and regenerate GIR-based bindings to pick up copy/free attributes [#863]
  - libvaladoc: Don't traverse into close circles with parent [#829]
  - genie: Creation methods should not be static
  - valadoc: Explicitly pass --pkg libvala@PACKAGE_SUFFIX@ and --pkg libgvc

 * Bindings:
  - avahi-client: Fix "use of possibly unassigned parameter" warnings
  - cairo: Add 1.16 symbols
  - glib-2.0: Fix MutexLocker binding
  - glib-2.0: Use 'GStatBuf' as ctype for 'Stat'
  - glib-2.0: DateTime.from_iso8601() can take a null TimeZone
  - glib-2.0: Set default_value attribute for GLib.pointer
  - gio-2.0: Drop metadata for NativeSocketAddress
  - gio-unix-2.0: Fix DesktopAppInfo.get_string(), UnixFDMessage.steal_fds()
  - gnutls: Fix "use of possibly unassigned parameter" warnings
  - gobject-2.0: Some cherry-picking from GIR generated binding
  - gtk+-3.0: Ownership mismatch of ColorButton.rgba property-accessor [#844]
  - 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]
  - linux: Add more Input and update UserspaceInput bindings [#830]
  - posix: Add *at() calls and related constants [#823]
  - sqlite3: Bind sqlite3_expanded_sql() and sqlite3_normalised_sql()
  - sqlite3: Fix use of possibly unassigned parameter `errmsg'
  - tokyocabinet: Fix deprecation warnings
  - xcb: Fix "missing return statement at end of subroutine body" errors


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

Download
========
https://download.gnome.org/sources/vala/0.40/vala-0.40.17.tar.xz (3.26M)
  sha256sum: 711a2e6f21c30d55dabccaee84f90c8d623f12cc98f304ddd05d2330abbae561



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