vala 0.43.1
- From: Rico Tzschichholz <install-module master gnome org>
- To: FTP Releases <ftp-release-list gnome org>
- Subject: vala 0.43.1
- Date: Thu, 6 Dec 2018 09:48:34 +0000 (UTC)
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:
- Emit G_DEFINE_AUTOPTR_CLEANUP_FUNC() for classes (requires glib 2.44) [#670]
- Enforce "return yield ..." syntax to be expected [#675]
- Drop deprecated syntax support of += and -= for signals [#676]
- Drop deprecated syntax support of # modifier and operator [#677]
- Allow disabling the build of valadoc [#596]
- Add support for SingleInstance attribute for GObject classes [#647]
- Don't allow to declare array parameters with "type array[]" [#163]
- Collect error_types on demand to allow transformations
- Check for matching ownership of type-arguments [#696]
- Add profile specific delegate target/destroy types
- Don't explicitly add glib headers, the use of symbols will do that [#623]
- Add --enable-debug configure option
- Move setting of default defines for VALA_0_XX and GLIB_2_XX to CodeContext
- Add support for delegate parameters in signals [#205]
- Admit that structs are emtpy even with a static property [#446]
* Various improvements and bug fixes:
- codegen:
+ Fix method pointer cast if instance isn't at first position
+ Transfer ownership of compact class to DestroysInstance method [#645]
+ Add destroy function for GLib.Array [#572]
+ Fix canonical string for quark of error domains
+ Make sure to include declarations for delegate typed parameters
+ Don't emit type_id for enum in non GOBJECT profile
+ Don't emit unused temp variable for element access assignments
+ Actually create method cast for base interface method as needed
+ Mark needle parameter of internal array-contains methods as const [#504]
+ Emit initializer for enum-value into wanted declaration space [#167]
+ Add void to delegate typedef declarations without parameters
+ Deprecate "finish_function" and "ctype" ccode-attribute
+ Fix get_ccode_name() for properties
+ Add ccode getters for GType functions of Classes and Interfaces
+ Don't allow more than one consecutive empty lines in generated code
- vala:
+ Copy instance_pos argument from virtual/abstract base methods [#540483]
+ Compact classes don't allow private/class fields and to lock fields
+ Use comment which was already retrieved in parse_declaration()
+ Add missing re-check guards for Do/For/WhileStatement and SwitchLabel
+ Type check for errors require an error expression [#362]
+ Make check_arguments() more verbose and don't bail on first error [#438]
+ Don't emit member access of assignments on static properties [#573]
+ Use clearer error message for automatic properties in interfaces [#656]
+ Admit that structs are emtpy even with a static property [#684]
+ Let UsingDirective hold reference to UnresolvedSymbol instances only
+ Add ArrayType.length_type and ArrayCreationExpression.length_type [#607]
+ Remove hardcoded "int" length type and use ArrayType.length_type [#607]
+ Use is_weak() for type-arguments in DataType.to_qualified_string()
- girwriter: Write glib-type attributes for Enums/Structs with type_id
- girparser: Skip "source-position" elements and docs in transparent union
- valadoc:
+ Match property signature with vala's codewriter
+ Sort symbols and members where possible
+ Actually assign type_id of Api.Structs
+ Add type_id to Api.Enum/Interface
+ Skip package dependency if target directory already exists
+ Fix a few errors and warnings in stylesheet
+ Adjust stylesheet to unbreak Epiphany [#644]
+ Several API clean ups
+ Add --fatal-warnings command line option
- docs: Use Markdown for README and include build instructions
- testrunner: Compile and run tests separately and pass buildsystem's CC
through to valac, add various -Werror=* build cflags
* Bindings:
- gio-2.0: Add missing File.new_build_filename()
- glib-2.0: Add missing Array.set_clear_func() binding
- glib-2.0: Avoid double-free in GLib.Array if clear_func is set
- glib-2.0: Drop g_object_unref which is part of gobject-2.0
- gobject-2.0: Attribute all symbols with cheader_filename = "glib-object.h"
- gdk-x11-3.0,gtk+-3.0: Update to 3.24.1+356f1f59
- gtk+-3.0: Treat Gtk.IconInfo as GLib.Object which it is since 3.8 [#663]
- gtk+-4.0: Update to 3.94.0+8de1ba2c
- gstreamer: Update from 1.15+ git master
- posix: Add CommandPipe as a sub-type of FILE [#645]
ChangeLog
=========
https://download.gnome.org/sources/vala/0.43/vala-0.43.1.changes (11.7K)
Download
========
https://download.gnome.org/sources/vala/0.43/vala-0.43.1.tar.xz (3.15M)
sha256sum: 2eb68a64f693ad9797327b1ea3862458f93af6323c4df6e50e67cfb4396ab699
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]