2018-12-20 Rico Tzschichholz Release 0.36.17 gdk-x11-3.0: Update to 3.24.1+356f1f59 2018-12-18 Rico Tzschichholz gobject-introspection-1.0: Pick up version attribute fixes vapi: Regenerate GIR-based bindings to fix non-standard async methods See https://gitlab.gnome.org/GNOME/vala/issues/709 codegen: Handle non-default AsyncResult parameter position Unfortunately gdbus-codegen puts the AsyncResult parameter after possible out-parameters therefore there is an "async_result_pos" attribute required to handle this correctly. Vala supposely follows the common practice to put the AsyncResult before out-parameters by default. Fixes https://gitlab.gnome.org/GNOME/vala/issues/709 codegen: Always emit constants with initializer-list generate_constant_declaration() handles both definition and declaration. This is important when using --use-header where the actual definition would never be written and we ended up with an "extern const ..." in the header only. Fixes https://gitlab.gnome.org/GNOME/vala/issues/81 codegen: Emit delegate/enum typedefs to type-declaration section This fixes compilation of circular dependency of delegates with enums, structs, classes and interfaces. Resolve interface prerequisites after writing forward declarations to fix entagled delegate dependencies in them. Fixes https://gitlab.gnome.org/GNOME/vala/issues/318 2018-12-18 Florian Brosch vala: Break possible endless loop in SymbolResolver.get_type_for_struct() Required to deal with invalid code containing base struct cycles. Fixes https://gitlab.gnome.org/GNOME/vala/issues/444 2018-12-06 Rico Tzschichholz girparser: Skip possible docs in transparent union See https://gitlab.gnome.org/GNOME/gobject-introspection/merge_requests/75 girparser: Skip "source-position" elements See https://gitlab.gnome.org/GNOME/gobject-introspection/merge_requests/75 2018-12-06 Vivek Raj vala: Use clearer error message for automatic properties in interfaces Fixes https://gitlab.gnome.org/GNOME/vala/issues/656 2018-12-06 Rico Tzschichholz codegen: Emit initializer for enum-value into wanted declaration space Fixes https://gitlab.gnome.org/GNOME/vala/issues/167 2018-12-06 Timm Bäder codegen: Mark needle parameter of internal array-contains methods as const This will avoid some -Wdiscarded-qualifiers warnings. Fixes https://gitlab.gnome.org/GNOME/vala/issues/504 2018-12-06 Rico Tzschichholz vala: Don't emit member access of assignments on static properties Fixes https://gitlab.gnome.org/GNOME/vala/issues/573 vala: Make check_arguments() more verbose and don't bail on first error Fixes https://gitlab.gnome.org/GNOME/vala/issues/438 vala: Type check for errors require an error expression Fixes https://gitlab.gnome.org/GNOME/vala/issues/362 tests: Simplify "errors/errors" test a bit codegen: Actually create method cast for base interface method as needed Keep the fallback to base method for now. This will silence some incompatible pointer type warnings. glib-2.0: Cast strcmp to GCompareFunc This will silence some incompatible pointer type warnings. tests: Add default defines test for VALA_0_XX and GLIB_2_XX codegen: Don't emit unused temp variable for element access assignments Regression of 2bcda488725cf28b3c3c358f2c348632bb7ba232 tests: Extend assignment and array element access tests codegen: Make sure to include declarations for delegate typed parameters So call generate_type_declaration() with all parameter types. parser: Use comment which was already retrieved in parse_declaration() This caused to loose comment of first element of enums and error domains. Regression of 540aa1492c342f482be6838b97f54437f3b776e4 2018-12-06 Alistair Thomas docs: Update build instructions and move them to README.md Updates the links for building Vala and how to bootstrap the build docs: Use Markdown for README and move to README.md 2018-12-06 Rico Tzschichholz ccode: Add void to delegate typedef declarations without parameters Found with -Werror=strict-prototypes girwriter: Write glib-type attributes for Enums/Structs with type_id vala: Remove superfluous return_if_fail() tests: Add "static fields" to compact class to increase coverage tests: Add bug specific "lock test" https://bugzilla.gnome.org/show_bug.cgi?id=629593 genieparser: Use dedicated Class.add_constructor/destructor() methods 2018-12-06 Corentin Noël glib-2.0: Avoid double-free in GLib.Array if clear_func is set 2018-12-06 Rico Tzschichholz glib-2.0: Add missing Array.set_clear_func() binding codegen: Transfer ownership of compact class to DestroysInstance method Otherwise it is impossible to call an instance method of a compact class which is a destructor. See https://gitlab.gnome.org/GNOME/vala/issues/645 vapi: Some random fixes on old bindings vala: Copy CCode instance_pos argument from virtual/abstract base methods https://bugzilla.gnome.org/show_bug.cgi?id=540483 vala: Add CodeNode.copy_attribute_*() helper methods Provides an easy way to copy a specific attribute argument from another code node if the source has it set. tests: Avoid use of g_ptr_array_find() which requires glib >= 2.54 tests: Add GenericArray (GPtrArray) tests codegen: Fix method pointer cast if instance isn't at first position By unconditionally putting the instance at first position the CCode instance_pos attribute was not accounted for. gio-2.0: Result of DBusMessage.get_header() is unowned 2018-12-06 Alistair Thomas glib-2.0: Add array length to string.skip Fixes https://gitlab.gnome.org/GNOME/vala/issues/695 2018-12-06 Rico Tzschichholz codegen: Add prototype for *_new() of abstact compact classes Found with -Werror=missing-prototypes codegen: Don't emit *_free() of derived compact classes Found with -Werror=missing-prototypes gobject-2.0: Attribute all symbols with cheader_filename = "glib-object.h" This is essential to pick up the correct header inclusion while the GLib namespace of glib-2.0 and gobject-2.0 is merged internally. glib-2.0: Add GLib.pointer aka gpointer binding 2018-11-05 Rico Tzschichholz codegen: Add prototype for *_register_type() function Found with -Werror=missing-prototypes vala: Fix TokenType.HASH.to_string() codegen: Initialize internal temp-variables used as reference parameter When casting Variant to multi-dimensional arrays the length fields are used as out-parameters and needs to be initialized. They are not guaranteed to be all set in _variant_get*() in this case. Fixes tests with -Werror=maybe-uninitialized 2018-11-05 Ali Sabil codegen: Fix regex literal compile flags The GRegex GRegexCompileFlags were declared as GRegexMatchFlags, leading to a C compiler warning. 2018-10-30 Rico Tzschichholz glib-2.0: Computing length once is enough in string.to_utf8()/splice() tests: Add more string method tests tests: Make "/errors/errors" test fatal manual: Update from wiki.gnome.org 2018-10-28 Rico Tzschichholz vapigen: Warn if the library argument doesn't match any package attribute GIR files can contain a package key referring to the pkg-config name which is the recommended and even required naming of a vapi. Fixes https://gitlab.gnome.org/GNOME/vala/issues/669 gobject-2.0,gtk+-*.0: Fix some GLib.Value out/ref parameters This is required due to GLib.Value being bound as struct. vala: Implement check() for StatementList codegen: Improve ccode for fixed-length array parameters https://gitlab.gnome.org/GNOME/vala/issues/163 vala: DataType for GLib.Error should be should resolved as ErrorType vala: Fix several AST construction/parenting issues tests: Add "captured unassigned local variable" test tests: Add "assigned local variables" tests tests: Add invalid "control-flow" tests to increase coverage tests: Add implicit conversion tests for GLib.Variant 2018-10-28 Luca Bruno vala: Fix and add more to_string() methods to expressions vala: Add missing replace_expression() implementations 2018-10-28 Rico Tzschichholz vala: Add some missing type copying vala: Add source_reference to local variable of catch-clause 2018-10-28 Luca Bruno vala: Always analyze nodes after they are inserted into the AST 2018-10-28 Rico Tzschichholz girwriter: Fix ctype of out/ref and array parameters tests: Add "method override with compatible delegate parameter" test test: Add some invalid "non-null" tests ccode: Fix typo and actually check "end_decls" Note both begin_decls and end_decls must be either not null or null. Fixes https://gitlab.gnome.org/GNOME/vala/issues/672 codegen: Initialize internal temp-variables used as reference parameter Variables for delegate-targets and array-lengths passed as reference in method calls should be initialized to fix "make check" with -O3. codegen: Replace invalid array-length assert with internal error While the test-suite triggers this assert with an invalid test an explicit crash is not wanted.