2019-10-14 Rico Tzschichholz Release 0.40.17 2019-10-09 Rico Tzschichholz gtk+-3.0: Fix ownership mismatch of ColorButton.rgba property-accessor Regression of 9a5cc9e58e160d8bb5308fe5bfc8b433d8c269f5 in combination with our gtk+-3.0 metadata: // Keep properties non-abstract as before *#interface.*#property abstract=false Fixes https://gitlab.gnome.org/GNOME/vala/issues/844 Regenerate GIDL-based bindings to fix getter ownership of struct properties Regenerate GIR-based bindings to fix getter ownership of struct properties vala: Trust "value_owned" when writing property getter vala: No-accessor struct properties in GLib.Object class must be owned Real structs are returned as heap-allocated structor by g_object_get() and not defining them with owned getter results in memory leaks. Additionally force DelegateType, PointerType and ValueType as unowned to preserve the current behaviour for binding generation. Regenerate GIR-based bindings to pick up copy/free attributes Fixes https://gitlab.gnome.org/GNOME/vala/issues/863 codegen: Use gtype-boxed API for structs with "g_boxed_free" attribute See https://gitlab.gnome.org/GNOME/vala/issues/863 girparser: Add required copy/free attributes for gtype-boxed structs See https://gitlab.gnome.org/GNOME/vala/issues/863 vala: Don't issue a warning for non-public struct fields in bindings tokyocabinet: Fix deprecation warnings gnutls: Fix "use of possibly unassigned parameter" warnings avahi-client: Fix "use of possibly unassigned parameter" warnings xcb: Fix "missing return statement at end of subroutine body" errors vala: Fix compatible/disposable check between structs and their subtypes This fixes memory leaks due to missing copy/destroy and improperly created dup functions and allows direct assignment between structs and their subtypes. Fixes https://gitlab.gnome.org/GNOME/vala/issues/861 tests: Add dedicated "delegate without target through varargs" test codegen: Initialize delegate temp-var which is assigned by property getter Found by -Werror=maybe-uninitialized codegen: Preserve full access to delegate variables and its target/destroy cvalues Don't unconditionally set delegate_target_destroy_notify_cvalue to NULL for any variable access. glib-2.0: Set default_value attribute for GLib.pointer ccode: Implicitly register declaration for added CCodeFunction This will prevent the user's vala source to override implicitly defined functions of vala's boilerblate for a type. codegen: Accept children after generating type specific declarations vala: Output "params" qualifier of parameters vala: Report dedicated error message for params-array parameter mismatch tests: Add more "invalid expression" tests to increase coverage tests: Extent "post-condition" creation method test to increase coverage tests: Add invalid "parser" tests to increase coverage gio-unix-2.0: Fix DesktopAppInfo.get_string(), UnixFDMessage.steal_fds() ... and DesktopAppInfoLookup.get_default_for_uri_scheme() Additionally adjust some header references. Directly use "memmove()" while g_memmove() is deprecated since 2.40 gobject-2.0: Some cherry-picking from GIR generated binding valadoc: Explicitly pass --pkg libgvc ... to deal with a race with valadoc@PACKAGE_SUFFIX@.deps generation 2019-10-09 Arnaud Bonatti glib-2.0: DateTime.from_iso8601() can take a null TimeZone 2019-10-09 Rico Tzschichholz sqlite3: Fix use of possibly unassigned parameter `errmsg' valadoc: Explicitly pass --pkg libvala@PACKAGE_SUFFIX@ as for doclets/tests 2019-10-09 Christian Kellner posix: add *at() calls and related constants Add missing calls from the *at() call family that was added in POSIX.1-2008, and related constants. Fixes https://gitlab.gnome.org/GNOME/vala/issues/823 2019-10-09 Rico Tzschichholz vala: Reject unary operations on nullable integer/floating and boolean type Prefer to report a semantic error rather than creating invalid c-code. Fixes https://gitlab.gnome.org/GNOME/vala/issues/772 libvaladoc: Don't traverse into close circles with parent SymbolResolver.resolve_thrown_list() adds error-type nodes which are allowed to be NodeType.ERROR_DOMAIN and NodeType.CLASS. This can result in a cycle on invoking Node.accept_all_children(), Node.parse_comments() or Node.check_comments() Fixes https://gitlab.gnome.org/GNOME/vala/issues/829 genie: Creation methods should not be static Revealed by ba8122d3a64e44eac44c5254c93fb181df601b0a json-glib-1.0: Change abstract methods of Serializable to virtual All those interface methods have default implementations. Additionally drop superfluous metadata. Fixes https://gitlab.gnome.org/GNOME/vala/issues/840 codegen: Don't cause double-free due append_local_free() in uncaught-errors See https://gitlab.gnome.org/GNOME/vala/issues/838 2019-10-09 Jeremy Philippe glib-2.0: Fix MutexLocker binding glib-2.0: Use 'GStatBuf' as ctype for 'Stat' The documentation of g_stat () states: In Microsoft's compiler, by default struct stat means one with 64-bit time fields while in MinGW struct stat is the legacy one with 32-bit fields. To hopefully clear up this mess, the gstdio.h header defines a type GStatBuf which is the appropriate struct type depending on the platform and/or compiler being used. On POSIX it is just struct stat, but note that even on POSIX platforms, stat() might be a macro. codewriter: Write "weak" modifier for properties 2019-10-09 Rico Tzschichholz girparser/gidlparser: "value_owned = true" by default for property types This represents an internal implementation detail which is available from vala sources and it does not effect the ownership of property accessors. tests: Add dedicated "property ownership" tests gio-2.0: Drop metadata for NativeSocketAddress tests: Extend "pre- and post-condition" test to increase coverage libsoup-2.4: soup_auth_new is not a constructor but a factory method Fixes https://gitlab.gnome.org/GNOME/vala/issues/791 vala: Add missing closing brace/bracket in to_string() vala: Init formal_target_type of ArrayCreationExpr from InitializerList formal_target_type is expected to be set when inferring generic type parameters. Fixes https://gitlab.gnome.org/GNOME/vala/issues/835 linux: Add more Input and update UserspaceInput bindings Fixes https://gitlab.gnome.org/GNOME/vala/issues/830 cairo: Add 1.16 symbols 2019-10-09 Michael Gratton sqlite3: Bind sqlite3_expanded_sql() and sqlite3_normalised_sql() 2019-10-09 Rico Tzschichholz vala: Support static methods in error-domains Actually generate methods defined inside error-domains and state that instance methods are not supported yet. See https://gitlab.gnome.org/GNOME/vala/issues/829 2019-10-08 Rico Tzschichholz vala: Allow direct access to the integer constants of an error-domain Fixes https://gitlab.gnome.org/GNOME/vala/issues/732