2020-10-06  Rico Tzschichholz  <ricotz@ubuntu.com>

	Release 0.40.24

2020-09-29  Rico Tzschichholz  <ricotz@ubuntu.com>

	tests: Add "async constructor argument check" test to increase coverage

	libvaladoc: Fix a couple of C compiler warnings

	g-i: Fix a couple of C compiler warnings

	testrunner: Filter external -0X flags to preserve current default -O0

	testrunner: Pass --enable-checking to increase coverage

	codegen: Don't pass CCodeFunctionCall to NULL-aware free macro
	This resulted in invalid C code:
	    error: lvalue required as left operand of assignment

	webkit2gtk-4.0: Update to 2.30.1

2020-09-05  Rico Tzschichholz  <ricotz@ubuntu.com>

	Don't use locale dependent string functions on syntax strings
	Replace usage of string.down() with string.ascii_down(),
	and string.up() with string.ascii_up()

	Fixes https://gitlab.gnome.org/GNOME/vala/issues/1067

	libvaladoc/gtkdoc-importer: Don't let parse_block_taglet() return null
	This caused criticals like:

	  valadoc_taglets_param_set_is_c_self_param: assertion 'self != NULL' failed

	libvaladoc/gtkdoc-importer: Correctly retrieve "url" from "ulink" elements
	This caused criticals like:

	  g_uri_parse_scheme: assertion 'uri != NULL' failed

	libvaladoc/girimporter: Fallback to "name" for callback
	This caused criticals like:

	  valadoc_importer_gir_documentation_importer_attach_comment: assertion 'cname != NULL' failed

	girparser: Additionally fallback to "glib:type-name" to retrieve the cname

	libvaladoc/girimporter: Fallback to "glib:type-name" for class, interface and record
	This caused criticals like:

	  valadoc_importer_gir_documentation_importer_attach_comment: assertion 'cname != NULL' failed

	libvaladoc/girimporter: Improve parse_symbol_doc() and don't use parse_doc()

	libvaladoc/girimporter: Skip "attribute" elements
	This is the same patch as in commit 6ea19c61015d0dd6cacb581397c8fe37ace9df4a

	manual: Update from wiki.gnome.org

2020-09-05  Alistair Thomas  <astavale@yahoo.co.uk>

	codegen: Always include base_struct declaration if available
	This fixes inheritance of structs across source files while not using
	a header file.

	Fixes https://gitlab.gnome.org/GNOME/vala/issues/464

2020-09-05  Rico Tzschichholz  <ricotz@ubuntu.com>

	codegen: Don't append unreachable clean-up section of Block
	Found by -Werror=unreachable-code

	Improvements for https://gitlab.gnome.org/GNOME/vala/issues/838

	Fixes https://gitlab.gnome.org/GNOME/vala/issues/169

	Revert "codegen: Don't append unreachable clean-up section of Block"
	This reverts commit 8f3a0a0b64e0c7fbcc9231c3058247920dd6eeda.

	doc: Update AUTHORS in manpages

	webkit2gtk-4.0: Update to 2.29.91

	vala: Set parent_node for child nodes of lambda-expression
	Fixes https://gitlab.gnome.org/GNOME/vala/issues/1062

	tests: Add "pre-post-increment with side effect" tests to increase coverage
	See https://gitlab.gnome.org/GNOME/vala/issues/1061

	Force usage of temporary variables for "tainted" member accesses
	This is required to handle the side effect of postfix- and unary-
	increment/decrement expressions.

	Regression of 32ffc862417be39d42a1b8eeb3d0748b3e138aff
	and b9035aaf17a9a97a070812a8ee83251fd3893b1e

	Fixes https://gitlab.gnome.org/GNOME/vala/issues/1061

	vala: Move transformation of unary increment/decrement to codegen
	In preparation for https://gitlab.gnome.org/GNOME/vala/issues/1061

	Add TraverseVisitor for traversing the tree with a callback
	This will allow cleaning up virtual methods of code nodes
	and more stateful to stateless code conversion.

	tests: Don't rely on undefined use-after-free behaviour of glibc
	Makes this check work with musl >= 1.2.1

	https://bugzilla.gnome.org/show_bug.cgi?id=736774

2020-08-10  Rico Tzschichholz  <ricotz@ubuntu.com>

	tests: Add "nested namespace" girwriter test to increase coverage
	See https://gitlab.gnome.org/GNOME/vala/issues/1059

	tests: Add "constant and union" gir test to increase coverage

	tests: Add "property accessor with try statement" test to increase coverage

	tests: Add more "invalid" tests to increase coverage

	Revert "girwriter: Use appropriate get_ccode_* functions"
	This reverts commit 7b0498d4f4fcaa3bd9e04d65560324847136f0ac.

	Fixes https://gitlab.gnome.org/GNOME/vala/issues/1059

	tests: Add "signal error marshalling" test to increase coverage

2020-08-10  Jeremy Philippe  <jeremy.philippe@gmail.com>

	posix: Declare WRDE_APPEND constant as public

2020-08-10  Rico Tzschichholz  <ricotz@ubuntu.com>

	tests: Add "return in construct/destructor" tests to increase coverage

	tests: Add "enum typed property" tests to increase coverage

	vala: Mark tranformed member-access as qualified
	Regression of 866258f688d781f3536892b8f93abdd3112198ec

	See https://gitlab.gnome.org/GNOME/vala/issues/57

	gio-2.0: Include "gio/gsettingsbackend.h" for GLib.SettingsBackend members
	Fixes https://gitlab.gnome.org/GNOME/vala/issues/1054

	girparser: Add support for string "feature_test_macro" metadata

	codegen: Include header for base-symbols when connecting vfuncs
	This eases the handling of types which are split over different headers.

2020-08-03  Rico Tzschichholz  <ricotz@ubuntu.com>

	gio-unix-2.0: Fix "g_unix_mount_for" binding
	Fixes https://gitlab.gnome.org/GNOME/vala/issues/1052

2020-07-29  Rico Tzschichholz  <ricotz@ubuntu.com>

	tests: Add "girwriter" tests to increase coverage
	Backported from 0.46 branch

	Fixes https://gitlab.gnome.org/GNOME/vala/issues/158

	webkit2gtk-4.0: Update to 2.29.4

	girwriter: Use appropriate get_ccode_* functions
	This will pick up possible CCode.*name attributes

	girwriter: Don't include symbols outside of a namespace
	Additionally report a warning for symbols which doesn't fulfill this rule.

	Fixes https://gitlab.gnome.org/GNOME/vala/issues/241

	codegen: Properly destroy elements of an inline struct array
	Fixes https://gitlab.gnome.org/GNOME/vala/issues/365

2020-07-26  Rico Tzschichholz  <ricotz@ubuntu.com>

	gtk+-3.0: Update to 3.24.21+ffe2df7b

	girparser: Skip 'docsection' elements in <namespace>
	See https://gitlab.gnome.org/GNOME/gobject-introspection/-/merge_requests/226

	vala: Check error-type accessibility of creation methods and delegates

	codegen: Check param for null before using it
	Regression of 5490b0b21a4089d803d51c91311430d60d266f7b

	This caused criticals like:

	  vala_get_ccode_array_length: assertion 'node != NULL' failed

	See https://gitlab.gnome.org/GNOME/vala/issues/929

	vala: Allow prototype access to signal with emitter
	Fixes https://gitlab.gnome.org/GNOME/vala/issues/1040

	tests: Add "access vfunc pointer" test to increase coverage

2020-07-26  Jean Pierre Dudey  <me@jeandudey.tech>

	girwriter: Write c:symbol-prefix on supported elements
	This specifies the symbol prefix, e.g.: window in gtk_window_new

	Fixes https://gitlab.gnome.org/GNOME/vala/issues/1038

	girwriter: Write c:type="void" when name="none"
	This is to match g-ir-scanner behaviour of using the c:type to
	identify void return value.

	girwriter: Add c:identifier-prefixes to <namespace>
	c:prefix is deprecated and c:identifier-prefixes should be used.

2020-07-26  Rico Tzschichholz  <ricotz@ubuntu.com>

	vala: Improve check of expression passed to yield
	Report a proper error and fix codegen cricical when a signal is given:

	  vala_ccode_function_add_expression: assertion 'expression != NULL' failed

	See https://gitlab.gnome.org/GNOME/vala/issues/1039

	gtk+-3.0: Resolve conflicts of signals with properties

	girparser: Warn about conflicting signals and properties

	vala: Fix code indentation

	libvaladoc: Support exporting the `class` modifier on fields

2020-07-26  Corentin Noël  <corentin.noel@collabora.com>

	libvaladoc: Support exporting the `class` modifier on methods

2020-07-26  Rico Tzschichholz  <ricotz@ubuntu.com>

	vala: Tranform instance member-access to a static one if possible
	There is a warning issued already and this cleans up the AST to prevent
	unwanted behaviour in the code-generator, which resulted in the
	invocation of "CCodeBaseModule.emit_temp_var()" and criticals like:

	  vala_ccode_function_add_declaration: assertion 'self != NULL' failed
	  vala_ccode_function_add_assignment: assertion 'self != NULL' failed

	Fixes https://gitlab.gnome.org/GNOME/vala/issues/270

	vala: Fully qualify member-access when using-directive was used to resolve
	Fixes https://gitlab.gnome.org/GNOME/vala/issues/57

	tests: Add "pre/post-increment" tests to increase coverage

	codegen: Inline allocated and constant arrays are never NULL
	Found by -Werror=tautological-pointer-compare

	webkit2gtk-4.0: Update to 2.29.3

	vala: Handle parameter initializer without value-type
	This caused criticals like:

	  vala_data_type_compatible: assertion 'self != NULL' failed

	See https://gitlab.gnome.org/GNOME/vala/issues/1029

	codegen: Properly compare string if binary-expression contains string-literal
	Found by -Werror=address

	tests: Add "unique namespace" test
	A namespace symbol is unique for a given name in its CodeContext. This
	means attributes are inherited accross all occurances.

	tests: Extend "default gtype" tests to increase coverage

	vala: Return copy of constant type in get_value_type_for_symbol()

	vala: Recursive check of assignment target to recognize constants
	See https://gitlab.gnome.org/GNOME/vala/issues/944

	vala: Property must be writable when invoking ReturnsModifiedPointer method
	Fixes https://gitlab.gnome.org/GNOME/vala/issues/1023

	vala: Don't allow "resize" invocation on variable with unowned array type
	Fixes https://gitlab.gnome.org/GNOME/vala/issues/928

	glib-2.0: Add AtomicUint, an alternation of AtomicInt for uint
	Fixes https://gitlab.gnome.org/GNOME/vala/issues/915

	vala: Improve error handling of nested initializer lists
	This avoids reporting consequential errors.

	tests: Don't use invalid syntax to declare local variable with array type
	See https://gitlab.gnome.org/GNOME/vala/issues/942

	vala: Avoid subsequent critical caused by invalid array type for constant

2020-06-30  Rico Tzschichholz  <ricotz@ubuntu.com>

	webkit2gtk-4.0: Update to 2.29.2

	tests: Add "named argument" test to increase coverage

	vala: Improve parameter check of "get" method meant to be used by foreach
	The index-based iteration requires the "get" method to take one integer
	compatible parameter. Otherwise continue checking other options.

	Fixes https://gitlab.gnome.org/GNOME/vala/issues/1017

2020-06-30  Chris White  <cxwembedded@gmail.com>

	build: Update git-version-gen to latest upstream
	From commit 8a09003664733eb6bef031f56ef9cd575e403023 of
	https://git.savannah.gnu.org/cgit/autoconf.git/tree/build-aux/git-version-gen

2020-06-22  Rico Tzschichholz  <ricotz@ubuntu.com>

	codegen: Cast initializer-list to struct for non-constant/non-array assignments
	Avoid invalid c-code and use the correct syntax for compound literals.

	Fixes https://gitlab.gnome.org/GNOME/vala/issues/1013

	girparser: Actually respect given cprefix metadata for enumerations

	vala: Use correct value-type for ArrayCreationExpression used as argument
	Copy fixed_length and inline_allocated attributes from formal-target-type.

	Fixes https://gitlab.gnome.org/GNOME/vala/issues/1009

	Consistently use get_ccode_lower_case_prefix() for function names
	Create the expected name for "constructor" and "finalize" functions
	which are non-public API.

	Fixes https://gitlab.gnome.org/GNOME/vala/issues/1008

2020-06-22  Corentin Noël  <corentin.noel@collabora.com>

	libvaladoc/girimporter: Skip "function-macro" elements
	This is the same patch as in commit f51d9dfdaf97ab5b8377d7e5bb78cfc9b232dc86

2020-06-22  Rico Tzschichholz  <ricotz@ubuntu.com>

	girwriter: Append symbol-attributes to callback field rather than its type
	Fixes https://gitlab.gnome.org/GNOME/vala/issues/1006

	vala: Correctly handle qualified struct type reference in initializer list
	Construct member-access including namespace of inferred struct type.

	Fixes https://gitlab.gnome.org/GNOME/vala/issues/1004

	vala: Fix typo in comments

	codegen: Don't call get_ccode_finish_instance() with non-async methods
	and restrict evaluation of CCode.finish_* attributes to async methods only

	vala: Improve source documentation

	codegen: Improve array-dup-wrapper for empty arrays
	Guard against negative lengths and consistently return NULL if allocated
	size would be 0.

	See https://gitlab.gnome.org/GNOME/vala/issues/999

	tests: Extend "s[p]lice" tests to increase coverage

	gtk+-3.0: Deprecated abstract methods are not required to be implemented