2021-02-12 Rico Tzschichholz Release 0.51.1 2021-02-08 Rico Tzschichholz sdl2: Fix a couple of binding errors and attribute issues codegen: Include for memcpy usage in _vala_memdup2() 2021-02-07 Rico Tzschichholz codegen: Strip all nested occurances of CCodeCastExpression Triggered by 63551acaf0d83fac8b50904c2759c1098fbfaa71 See https://gitlab.gnome.org/GNOME/vala/issues/1134 build: Ease source for AC_LANG_SOURCE of CGRAPH check libvaladoc: Add wrapper for "agedge" of graphviz codegen: Correctly retrieve symbol_reference of nested cast expressions Regression of 63551acaf0d83fac8b50904c2759c1098fbfaa71 Fixes https://gitlab.gnome.org/GNOME/vala/issues/1134 2021-02-06 Rico Tzschichholz vapi: Add libunwind-generic binding gio-2.0: Update to 2.67.3 gtk4: Update to 4.1.0+2712f536 gstreamer: Update from 1.19.0+ git master 2021-02-05 Rico Tzschichholz gee: Replace Memory.dup() with GLib.malloc() and Memory.copy() gstreamer-1.0: Set CCode.type_id of MiniObject to G_TYPE_BOXED Fixed https://gitlab.gnome.org/GNOME/vala/issues/1133 2021-02-04 Rico Tzschichholz codegen: Replace "g_memdup" with "_vala_memdup2" for target glib < 2.68 "_vala_memdup2" is a copy of "g_memdup2" available in glib >= 2.68 glib-2.0: Add new symbols from 2.68 codegen: Use g_memdup2 if target glib >= 2.68 is set See https://gitlab.gnome.org/GNOME/glib/issues/2319 testrunner: Add "-Werror=return-stack-address" flag vala: Add Block.unreachable_exit and have it set accordingly by FlowAnalyzer Use this control flow information in codegen rather than doing an educated guess based on occurring ReturnStatement nodes. See https://gitlab.gnome.org/GNOME/vala/issues/838 tests: Don't leak array if length is -1 Found by -fsanitize=address codegen: Chain up to base struct destroy function Found by -fsanitize=address 2021-02-03 Rico Tzschichholz codegen: Don't leak memory moving heap-allocated struct to stack Found by -fsanitize=address codegen: Use temp_ref_values list instead of patching the AST Simplyfies 5328619a8141aa11341d479428ebfdcec0ff9756 codegen: Don't leak GLib.Value when implicitly unboxing it Found by -fsanitize=address vala: Don't allow GLib.Value casting to nullable struct/simple types vala: GLib.Value unboxing returns unowned value codegen: Use g_boxed_free in free-wrapper for heap-allocated GLib.Value dup-wrapper is specifically using g_boxed_copy already 2021-02-02 Rico Tzschichholz codegen: Don't leak array memory after it was implicitly copied Found by -fsanitize=address 2021-02-01 Rico Tzschichholz codegen: Improve handling of recursive DelegateType Move dedicated test case into a separate file codegen: Make sure types of implicit delegate parameters are declared codegen: Use CCodeDeclaratorSuffix to emit array length of constants ccode: Minor API cleaning and additions vala: Rename Loop to LoopStatement and introduce a common base class codegen: Also check array type of variable argument for ref parameters codegen: Add get_ccode_no_wrapper() and use it 2021-01-31 Rico Tzschichholz girparser: Set CCode.type_cname for classes if it doesn't match our default tests/girwriter: Add tests for async methods attributed with NoWrapper codegen: Don't emit invoker for async methods attributed with NoWrapper libxml-2.0: Fix a few binding errors fuse: Fix a few binding errors 2021-01-30 Rico Tzschichholz codegen: Always use G_TYPE_INSTANCE_GET_CLASS/INTERFACE for external symbols and get_ccode_type_get_function() for SourceFileType.SOURCE symbols. codegen: Handle NoWrapper attribute of async methods on caller side codegen: Allow CCode.type_cname for classes and use get_ccode_type_name() girparser: Apply "type_get_function" metadata for classes and inferfaces codegen: Add CCode.type_get_function and get_ccode_type_get_function() Allow to overide the macro name, and join get_ccode_class_get_function () and get_ccode_interface_get_function(). gtk+-2.0,javascriptcoregtk-4.0: Wrong usage of CCode.type_cname attribute girwriter: Don't emit invoker for methods attributed with NoWrapper codegen: Don't emit invoker for methods attributed with NoWrapper codegen: Handle NoWrapper attribute of interface methods on caller side vala: NoWrapper methods must be declared abstract or virtual gio-2.0: Pick up missing invoker for some AppInfo/File.*() methods gdk-pixbuf-2.0: Fix Pixbuf.save_to_streamv_async() gobject-2.0: Fix a few binding errors gdk-3.0,gdk-x11-3.0,gtk+-3.0,gtk4: Fix a few binding errors 2021-01-28 Rico Tzschichholz Add further support for params arrays in constructors In addition to 98ab3da89640b8b8a6c67044b4df1194672774bb See https://gitlab.gnome.org/GNOME/vala/issues/128 2021-01-27 Rico Tzschichholz codegen: Improve support of SimpleType struct constructors Additionally stop generating broken and superfluous dup/free functions, and don't create not used GType declarations. vala: Don't allow disposable SimpleType structs gstreamer-1.0: Fix a few binding errors posix: Fix a few binding errors libgvc: Fix a few binding errors sqlite3: Fix a few binding errors bzlib: Fix a few binding errors alsa: Fix a few binding errors curses: Fix a few binding errors 2021-01-26 Rico Tzschichholz girparser: Apply "destroy_notify_cname" metadata for fields vala: Add CallableExpression interface for MethodCall/ObjectCreationExpression goocanvas-2.0: Fix some field types pango: Fix a few binding errors gobject-2.0: Fix a few binding errors gio-2.0,gtk+-3.0,gtk4: Drop explicit c-type attributes of va_list parameters gio-2.0: Fix binding of PollableOutputStream.write*_nonblocking() cairo: Fix some ctor binding errors 2021-01-25 Rico Tzschichholz cairo: Fix a few binding errors gtk+-3.0,gtk4: Fix some delegate return values and parameters girparser: Apply "delegate_target" metadata for methods and parameters vala: Don't prepend "unowned" in VarType and leave that to the CodeWriter codewriter: Append new-line for nested block statements 2021-01-23 Rico Tzschichholz vala: Apply stricter condition for lambda to delegate assignment This moves an internal codegen error to the semantic-analyzer. codegen: Clean up expression casts in CCodeAssignmentModule.visit_assignment() 2021-01-22 Ole André Vadla Ravnås vala: Avoid critical when trying to use symbol_reference of ElementAccess Regression of 6e7be51cb5455e9c5c721d4ba5121a6ab04673dd 2021-01-21 Rico Tzschichholz tests: Add more "parser" tests to increase coverage 2021-01-20 Rico Tzschichholz vala: Improve prototype-string of CallableType Update THANKS from git log valadoc: Replace png icons with elementary's svg version These match what was introduced by 8af8158c106eaafe12a628514f74e5788274d8d2 The icons were written by Daniel Foré for valadoc.org. They were taken from https://github.com/Valadoc/valadoc-org vapi: Update GIR-based bindings gstreamer: Update from 1.19.0+ git master gtk4: Update to 4.0.2 2021-01-19 Rico Tzschichholz girparser: Discover our very own array length fields vala: Make Class.is_compat/is_immutable/is_singleton read-only libvaladoc: Correctly retrieve value for Api.Class.is_compact 2021-01-19 Simon Werbeck Add support for 'opaque' compact classes This change intruduces a new attribute switch [Compact (opaque = true)] which allows to completely hide the implementation of a compact class. This is especially useful for libraries when maintaining a stable abi. An 'opaque' compact class exposes no struct definition in the generated c header, only a typedef is provided. As such, certain requirements apply for members of such classes: - Access to instance fields must be either private or internal. - No abstract/virtual methods or properties are allowed. Fixes https://gitlab.gnome.org/GNOME/vala/issues/1129 2021-01-18 Rico Tzschichholz girwriter: Write instance-parameter elements Fixes https://gitlab.gnome.org/GNOME/vala/issues/1128 tests: Extend "girparser" test and use vapigen to parse generated gir vala: Let method representing property accessor inherit GIR.visible attribute vala: Set this_parameter of method representing property accessor 2021-01-17 Rico Tzschichholz tests: Add more invalid "GtkTemplate" tests to increase coverage vala: Don't allow assigning GtkChild fields/properties These are handled exclusively by GtkBuilder See https://gitlab.gnome.org/GNOME/vala/issues/1121 2021-01-16 Rico Tzschichholz vala: GtkChild fields/properties must be declared as unowned The backing field won't be assigned to hold a dedicated reference. gtk_widget_class_bind_template_child_full will make it point to the instance owned by GtkBuilder. This avoids doing a rogue (but safe) call of _g_object_unref0 on already disposed child. Fixes https://gitlab.gnome.org/GNOME/vala/issues/1121 2021-01-15 Rico Tzschichholz libvaladoc/html: Don't sort struct fields to keep their original order This follows their special handling done in Codewriter.visit_struct(). In addition to a336d75586acb534aff55ca86425eb8f3aa45de4 2021-01-15 Reuben Thomas libvaladoc: Fix typos copyright year 2021-01-14 Reuben Thomas glib-2.0: Improve type of OptionEntry.flags field 2021-01-14 Rico Tzschichholz Regenerate GIR-based bindings gdk-pixbuf-2.0: Update to 2.42.3~ girparser: Minor improvement to field getter detection Allow DataType.compatible() to be called without initialized SemanticAnalyzer Additionally report a warning if field collides with method girparser: Handle anonymous delegate not backed by virtual-method or signal 2021-01-12 Rico Tzschichholz webkit2gtk-4.0: Update to 2.31.1 vala: Improve detection of duplicate package source files 2021-01-11 Rico Tzschichholz Sync NEWS from 0.50