vala 0.40.20



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:
    + Don't initialize stack-allocated array with local-constant length [#910]
    + Add destroy of parameter in vfunc of delegate property setter [#919]
    + Reset outdated array _size_ variable after use as ref parameter [#929]
    + Use memset to init inline-allocated array with non-constant size [#910]
  - vala:
    + Properly set CodeNode.error when reporting an error
    + Improve robustness of analyzer pass for language-servers [#911]
    + Add local-variables to current scope regardless its error state
    + Fix circular reference in Property/EnumValueType
    + Report an internal error for unavailable context and bail
    + Prevent possible stack-overflow in Class.is_subtype_of()
    + Fix search for Parameter.base_parameter
    + Use error() instead of Report.error() inside of CodeContext.get()
    + Accept enum-values as length for inline allocated arrays [#935]
    + Improve copy of required attributes from delegate to lamdba method
    + Inherit lambda parameter attributes from delegate
    + Inline-allocated array aren't instantiated with creation expression [#926]
  - Add missing CodeContext.pop() calls
  - girparser:
    + Report a warning for conflicting class and instance methods
    + Decrease return_array_length_idx for transformed function
    + Delay adding of "GLib.Object" prerequisite to interfaces
  - vapigen: Define "GOBJECT" corresponding to set profile of CodeContext [#933]
  - valadoc: Create and register current Vala.CodeContext properly
  - parser: Improve error message for invalid ArrayCreationExpression [#939]
  - testrunner: Pass G_DEBUG=fatal-warnings to invalid test
  - manual: Update from wiki.gnome.org

 * Bindings:
  - Add some fundamental deps files to improve --nostdpkg support [#911]
  - glib-2.0: Add binding for g_poll() [#924]
  - glib-2.0: Add binding for g_win32_ftruncate()
  - glib-2.0: Add missing IOChannel's win32 API
  - glib-2.0: Add missing "type_id"/"has_type_id" attributes to structs [#921]
  - glib-2.0: Memory profiling ("g_mem_*") is deprecated since 2.46
  - gio-2.0: Add binding for g_io_error_from_win32_error()


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

Download
========
https://download.gnome.org/sources/vala/0.40/vala-0.40.20.tar.xz (3.28M)
  sha256sum: 052f6dbe1580c10316f65147262b82cc68ed1bcc02fca050b7205b9cf40dd8aa



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