vala 0.46.7



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]
    + Emit postconditions before free'ing local variables
    + Correctly access captured parameter in precondition of method [#144]
    + Use memset to init inline-allocated array with non-constant size [#910]
    + Initialize temp-var for property array length before calling getter
    + Include "glib.h" for g_return_*() usage [#940]
  - 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 cairo-gobject binding
  - Add harfbuzz-gobject binding [#909]
  - Add some fundamental deps files to improve --nostdpkg support [#911]
  - cairo: Add missing type_id attributes guarded by GOBJECT define
  - 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()
  - gtk+-3.0: Update to 3.24.14
  - gtk+-*.0,gtk4: Fix iter parameter of TextIter.order() [#908]
  - gtk4: Update to 3.98.0+410dbdf6
  - linux: Don't depend on GLib.Time when using POSIX profile
  - poppler-glib: Update to 0.85
  - posix: Add pathconf and fpathconf bindings
  - webkit2gtk-4.0: Update to 2.27.90


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

Download
========
https://download.gnome.org/sources/vala/0.46/vala-0.46.7.tar.xz (3.25M)
  sha256sum: f302f9a396e5fdc7302d38ba166b9ffe7387fc62f9dce15d68e732ad693f3a95



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