2019-10-14  Rico Tzschichholz  <ricotz@ubuntu.com>

	Release 0.40.17

2019-10-09  Rico Tzschichholz  <ricotz@ubuntu.com>

	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  <arnaud.bonatti@gmail.com>

	glib-2.0: DateTime.from_iso8601() can take a null TimeZone

2019-10-09  Rico Tzschichholz  <ricotz@ubuntu.com>

	sqlite3: Fix use of possibly unassigned parameter `errmsg'

	valadoc: Explicitly pass --pkg libvala@PACKAGE_SUFFIX@ as for doclets/tests

2019-10-09  Christian Kellner  <christian@kellner.me>

	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  <ricotz@ubuntu.com>

	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  <jeremy.philippe@gmail.com>

	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  <ricotz@ubuntu.com>

	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  <mike@vee.net>

	sqlite3: Bind sqlite3_expanded_sql() and sqlite3_normalised_sql()

2019-10-09  Rico Tzschichholz  <ricotz@ubuntu.com>

	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  <ricotz@ubuntu.com>

	vala: Allow direct access to the integer constants of an error-domain
	Fixes https://gitlab.gnome.org/GNOME/vala/issues/732