2018-12-06 Rico Tzschichholz Release 0.43.1 2018-12-05 Rico Tzschichholz vapi: Update GIR-based bindings gtk+-4.0: Update to 3.94.0+8de1ba2c gstreamer: Update from 1.15+ git master girparser: Skip possible docs in transparent union See https://gitlab.gnome.org/GNOME/gobject-introspection/merge_requests/75 2018-12-04 Corentin Noël vala: Trigger understandable errors with GLib target version 2018-12-03 Rico Tzschichholz girparser: Skip "source-position" elements See https://gitlab.gnome.org/GNOME/gobject-introspection/merge_requests/75 2018-12-01 Vivek Raj vala: Use clearer error message for automatic properties in interfaces Fixes https://gitlab.gnome.org/GNOME/vala/issues/656 2018-11-30 Rico Tzschichholz codegen: Emit initializer for enum-value into wanted declaration space Fixes https://gitlab.gnome.org/GNOME/vala/issues/167 vala: Allow null-type as intializer for static struct fields See 1a4a14d5550bb23414c0dc66e8951f4b03bd4137 2018-11-29 Rico Tzschichholz vala: Report dedicated error for static field/property initializer in struct This fixes criticals and doesn't rely on codegen error reporting. Fixes https://gitlab.gnome.org/GNOME/vala/issues/446 vala: Admit that structs are emtpy even with a static property See https://gitlab.gnome.org/GNOME/vala/issues/446 2018-11-28 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-11-28 Rico Tzschichholz vala: Don't emit member access of assignments on static properties Fixes https://gitlab.gnome.org/GNOME/vala/issues/573 build: Fix typo in --enable-debug check codegen: Add support for delegate parameters in signals Fixes https://gitlab.gnome.org/GNOME/vala/issues/205 2018-11-27 Rico Tzschichholz 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 vala: Add missing re-check guards for Do/For/WhileStatement and SwitchLabel tests: Add and improve "foreach iterator" tests to increase coverage tests: Add invalid "switch" tests to increase coverage 2018-11-25 Rico Tzschichholz 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. 2018-11-25 Jiří Janoušek valadoc: Add --fatal-warnings command line option To be able to treat warnings as fatal. 2018-11-25 Rico Tzschichholz glib-2.0: Cast strcmp to GCompareFunc This will silence some incompatible pointer type warnings. build: Use dedicated PACKAGE_VALADOC_* defines libvaladoc: Drop cname parameter from Api.* constructors libvaladoc: Clean up Api.Field constructor libvaladoc: Clean up Api.Signal constructor libvaladoc: Clean up Api.TypeSymbol constructor libvaladoc: Clean up Api.ErrorDomain/ErrorCode constructor libvaladoc: Clean up Api.Method constructor libvaladoc: Clean up Api.Struct constructor libvaladoc: Clean up Api.Interface constructor libvaladoc: Clean up Api.Class constructor libvaladoc: Drop unused to_string() methods valadoc: Drop some get_ccode_*() wrappers libvaladoc: Clean up Api.Property/PropertyAccessor constructor libvaladoc: Clean up Api.TypeReference constructor libvaladoc: Drop PropertyAccessorType libvaladoc: Drop PropertyBindingType libvaladoc: Drop AttributeArgument libvaladoc: Drop MethodBindingType libvaladoc: Drop Api.Member libvaladoc: Drop Api.Browsable libvaladoc: Replace SymbolAccessibility with Vala.SymbolAccessibility libvaladoc: Replace FormalParameterType with Vala.ParameterDirection 2018-11-24 Rico Tzschichholz tests: Add default defines test for VALA_0_XX and GLIB_2_XX vala: Move setting of default defines for VALA_0_XX and GLIB_2_XX to Context This avoids duplicated code and reduces the setup burden for library users. Also start to warn about redefinitions, especially for our default defines. 2018-11-22 Rico Tzschichholz codegen: Don't use temp variable for stack allocated simple type assignment vala: Don't replace assignments for local variables with non-null simple-types codegen: Don't emit unused temp variable for element access assignments Regression of 2bcda488725cf28b3c3c358f2c348632bb7ba232 tests: Extend assignment and array element access tests vala: Minor clean up assignment to binary expression transformation codegen: Replace if-else-tree with switch build: Add --enable-debug configure option 2018-11-21 Rico Tzschichholz codegen: Don't emit type_id for enum in non GOBJECT profile codegen: Don't explicitly add glib headers, using symbols will do that See https://gitlab.gnome.org/GNOME/vala/issues/623 codegen: Improve adding of delegate target type declaration codegen: Add required headers for ctor/dtor of compact classes and structs codegen: Add type declaration for errors and error domains as needed codegen: Add type declarations required for generics as needed vala: Use DataType.get_type_arguments() vala: Add Delegate/Method/ObjectTypeSymbol.has_type_parameters() and use them tests: Add some minimal test cases to catch insufficient headers glib-2.0: Drop g_object_unref which is part of gobject-2.0 codegen: Add target/destroy type declarations for delegates as needed This improves the support of POSIX profile. codegen: Add profile specific delegate target/destroy types Make sure to use them in all delegate related contexts. This improves the support of POSIX profile. 2018-11-21 Alistair Thomas posix: Add CommandPipe as a sub-type of FILE A FILE opened with popen() should be closed with pclose() This is enabled by adding CommandPipe as a sub-class of FILE Fixes https://gitlab.gnome.org/GNOME/vala/issues/645 2018-11-20 Rico Tzschichholz codegen: Make sure to include declarations for delegate typed parameters So call generate_type_declaration() with all parameter types. vapi: Update GIR-based bindings gtk+-4.0: Update to 3.94.0+40ae5c13 gdk-x11-3.0,gtk+-3.0: Update to 3.24.1+356f1f59 gstreamer: Update from 1.15+ git master 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-11-20 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-11-19 Rico Tzschichholz 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. testrunner: Add -Werror=strict-prototypes ccode: Add void to delegate typedef declarations without parameters Found with -Werror=strict-prototypes testrunner: Pass buildsystem's CC through to valac ccode: Don't allow more than one consecutive empty lines in generated code 2018-11-19 Michael James Gratton valadoc: Adjust stylesheet to unbreak Epiphany Fixes https://gitlab.gnome.org/GNOME/vala/issues/644 2018-11-19 Rico Tzschichholz valadoc: Fix a few errors and warnings in stylesheet 2018-11-18 Rico Tzschichholz codegen: Add ccode getters for GType functions of Classes and Interfaces and use them where possible. girwriter: Write glib-type attributes for Enums/Structs with type_id codegen: Fix canonical string for quark of error domains 2018-11-17 Rico Tzschichholz vala: Fix bootstrap with valac >= 0.16.1 vala: Compact classes don't allow private/class fields and to lock fields This conveniently moves 2 error reports from codegen to semantic check too. 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 vala: Clean up constructor/destructor API of Class/Struct genieparser: Use dedicated Class.add_constructor/destructor() methods 2018-11-16 Corentin Noël tests: Add more GLib.Array tests codegen: Add destroy function for GLib.Array Fixes https://gitlab.gnome.org/GNOME/vala/issues/572 glib-2.0: Avoid double-free in GLib.Array if clear_func is set 2018-11-16 Rico Tzschichholz glib-2.0: Add missing Array.set_clear_func() binding valadoc: Use new to_string() methods of enumerations in InitializerBuilder libvaladoc: Use Scanner.get_identifier_or_keyword() instead of outdated copy 2018-11-15 Rico Tzschichholz vala: Use new to_string() methods of enumerations in CodeWriter vala: Add AssignmentOperator.to_string() vala: Add SymbolAccessibility.to_string() vala: Add UnaryOperator.to_string() vala: Add BinaryOperator.to_string() tests: Add enum/errordomain tests for GIR parser to increase coverage 2018-11-14 Rico Tzschichholz doc: Include dependencies for internal-api-docs to get reference linking valadoc/html: Skip package dependency if target directory already exists Simply assume we already generated the documentation for this dependency in a previous invocation running with --deps. libvaladoc: Add type_id to Api.Enum/Interface libvaladoc: Actually assign type_id of Api.Structs libvaladoc: Link against private libvalaccodegen codegen: Fix get_ccode_name() for properties Handle them the same way as signals and hold the canonical representation as ccode name. libvaladoc/html: Sort symbols and members where possible libvaladoc: Match property signature with vala's codewriter 2018-11-13 Rico Tzschichholz 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 2018-11-13 Corentin Noël gio-2.0: Add missing File.new_build_filename() 2018-11-12 Rico Tzschichholz tests: Avoid use of g_ptr_array_find() which requires glib >= 2.54 2018-11-09 Rico Tzschichholz codegen: Deprecate "ctype" ccode-attribute This is an alias for "type" glib-2.0: Replace ctype ccode-attributes with type codegen: Deprecate "finish_function" ccode-attribute This is an alias for "finish_name" gio-2.0: Replace finish_function ccode-attributes with finish_name 2018-11-08 Rico Tzschichholz 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: 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. Sync NEWS from 0.42