2024-03-04 Rico Tzschichholz Release 0.56.15 2024-03-04 Florian Weimer codegen: Emit diagnostic pragmas for GCC 14, Clang 16 compatibility GCC 14 refuses to compile C sources with certain type errors, to provide prompt feedback to programmers about mistakes. Vala does not have the required information for const qualifiers of parameters and return values which leads to incompatible-pointer warnings/errors. As a stop-gap measure, this commit introduces pragmata to turn the relevant GCC/Clang diagnostics into warnings. For experimentation, this can be avoided at C compilation time by defining VALA_STRICT_C. Clang 16 is broadly similar, except that it is not possible to turn the errors into warnings using #pragma. They have to be disabled completely. In Clang 16 and 17, -Wincompatible-pointer-types is not an error yet, but that is likely to change in future Clang versions, so this commit disables this warning, too. Another error, -Wincompatible-function-pointer-types has been split from that, and needs to be disabled. Fixes https://gitlab.gnome.org/GNOME/vala/issues/1408 2024-03-04 Rico Tzschichholz gio-2.0: Fix pointer-sign errors of some uint8[]-typed paramters Fixes https://gitlab.gnome.org/GNOME/vala/issues/1529 girparser: Don't discard explictly given ctype of parameters tests: Add -Werror=pointer-sign flag 2024-02-29 Rico Tzschichholz gtk4: Update to 4.13.9~f46fb7c6 gio-2.0,gmodule-2.0: Update from 2.79.x git codegen: Don't use pre-assigned *_parent_iface field if an instance is given Fixes https://gitlab.gnome.org/GNOME/vala/issues/1527 2024-02-29 Rico Tzschichholz vala: Follow the logic of GIrParser.locate_gir() to find gir files This adds the abilitiy to retrieve GI_GIRDIR from the enviroment, e.g. while passed to ./configure See https://gitlab.gnome.org/GNOME/gobject-introspection/merge_requests/258 Fixes https://gitlab.gnome.org/GNOME/vala/issues/1518 2024-02-20 Rico Tzschichholz girparser: Issue a warning for `record` inside `transparent union` This prevents aborting on a fatal error 2024-02-15 Sahil Shadwal v4l2: Fix FrameivalEnum.stepwise type mismatch with v4l2_frmivalenum Thanks to Pacer Ecks Fixes https://gitlab.gnome.org/GNOME/vala/issues/1517 2024-02-15 Sudhanshu Tiwari libvaladoc: Fix build with graphviz >= 10.0.1 Replaced TRUE with 1 Fixes https://gitlab.gnome.org/GNOME/vala/issues/1524 2024-01-28 Rico Tzschichholz codegen: Cast generic return value from g_ptr_array_index() Use convert_from_generic_pointer() to generate C code without warnings when accessing scalar elements from a GPtrArray. Found by -Werror=int-conversion In addition to f904c7e269c7f7b0a6dcefa4f8f892b981a71917 2024-01-28 Rico Tzschichholz vala: Move formal_target_type when transforming method-call/object-creation Avoid errornous casting from assumed generic type. Found by -Werror=int-conversion 2024-01-28 Rico Tzschichholz codegen: Correctly return FALSE on uncaught error in async ctor Found by -Werror=int-conversion glib-2.0,posix: Define _GNU_SOURCE for sincos*() Fixes https://gitlab.gnome.org/GNOME/vala/issues/1519 2024-01-28 Valeri Ochinski libsoup-3.0: Don't skip uri_copy gmodule-2.0: Improvements and updates from 2.76 codegen: Remove static mutex initialization Mutex.init documentation points out that "It is not necessary to initialize a mutex that has been statically allocated." 2024-01-28 Valeri Ochinski codegen: Use GWeakRef for [SingleInstance] constructors This prevents a potential race condition if object is destroyed at the same time as it is created, since lock is not taken by the code removing a weak reference. GWeakRef gives atomicity guarantees. 2024-01-28 Valeri Ochinski vala: Treat negative integer/float ranks as non-compatible This allows to improve type safety for handle types. 2024-01-28 Val Och vala: Keep depfile empty if no dependencies were written 2024-01-28 Valeri Ochinski tests: add temporary directories to .gitignore 2024-01-28 Rico Tzschichholz tests: Remove errornous "caller-allocates" attribute in gir test tests: Extend girwriter test with array length-type usage to increase coverage tests: Add invalid "array length type" test to increase coverage vapi: Regenerate for GIR-based bindings to pick up utf8 fix (string vs char) girparser: Don't blindly translate utf8 to string and check the ctype too This fixes array out-parameters with ctype "char**" and array return values with ctype "char*". 2024-01-28 Samuel Dionne-Riel gtk4: Fix GLib.Value parameter in Expression.evaluate()