vala 0.51.1



News
====

 * Highlights:
  - Support "binding" to bind GtkCallback to class of given property [#1093]
  - Add support for type narrowing [#894]
  - Support chain up to simple generics constructor [#342]
  - Perform runtime version check of libvala [#88]
  - girparser: Handle anonymous delegate not backed by virtual-method or signal
  - Add support for 'opaque' compact classes [#1129]
  - Add further support for params arrays in constructors [#128]
  - Improve handling of "NoWrapper" attribute
  - Improve support of SimpleType struct constructors
  - Use __attribute__ instead of G_GNUC_* in POSIX profile
  - Add SDL 2.x bindings [#1032] amd drop SDL 1.x

 * Various improvements and bug fixes:
  - codegen:
    + Improve GValueModule.visit_cast_expression()
    + Drop obsolete dedicated handling of property value-parameter
    + Apply CCodeModifiers.PRINTF to "string_printf" (POSIX)
    + Allow CCode.type_cname for classes and use get_ccode_type_name()
    + Always use G_TYPE_INSTANCE_GET_CLASS/INTERFACE for external symbols
    + Also check array type of variable argument for ref parameters
    + Don't leak array memory after it was implicitly copied
    + Use g_boxed_free in free-wrapper for heap-allocated GLib.Value
    + Don't leak GLib.Value when implicitly unboxing it
    + Don't leak memory moving heap-allocated struct to stack
    + Chain up to base struct destroy function
    + Use g_memdup2 if target glib >= 2.68 is set
    + Replace "g_memdup" with "_vala_memdup2" for target glib < 2.68
    + Correctly retrieve symbol_reference of nested cast expressions [#1134]
    + Strip all nested occurances of CCodeCastExpression [#1134]
  - vala:
    + Improve detection of duplicate package source files
    + GtkChild fields/properties must be declared as unowned [#1121]
    + Don't allow assigning GtkChild fields/properties [#1121]
    + Apply stricter condition for lambda to delegate assignment
    + Don't allow disposable SimpleType structs
    + Rename Loop to LoopStatement and introduce a common base class
    + GLib.Value unboxing returns unowned value
    + Don't allow GLib.Value casting to nullable struct/simple types
    + Add Block.unreachable_exit and have it set by FlowAnalyzer [#838]
    + Convert Report.*() to real printf-like functions
    + Avoid taking extra reference of foreach collection for index iteration
    + Make sure parent_symbol for special async parameters is available
    + Require a valid DataType instance for every TargetValue
  - girparser:
    + Minor improvement to field getter detection
    + Apply "delegate_target" metadata for methods and parameters
    + Apply "destroy_notify_cname" metadata for fields
    + Apply "type_get_function" metadata for classes and inferfaces
    + Set CCode.type_cname for classes if it doesn't match our default
  - girwriter: Infer gir_namespace/version from target GIR filename [#606]
  - girwriter: Write instance-parameter elements [#1128]
  - libvaladoc/html: Don't sort struct fields to keep their original order
  - libvaladoc: Correctly retrieve value for Api.Class.is_compact
  - libvaladoc: Add wrapper for "agedge" of graphviz
  - valadoc: Correctly set verbose flag on CodeContext
  - valadoc: Replace png icons with elementary's svg version

 * Bindings:
  - Add enchant-2 bindings for Enchant 2.x
  - Add gnu.vapi with binding for getopt_long() and some other GNU APIs
  - Add libunwind-generic binding
  - Fix several bindings which lead to invalid code by using them in:
    cairo, gobject-2.0, pango, goocanvas-2.0, curses, alsa, bzlib, sqlite3,
    libgvc, posix, gstreamer-1.0, gdk-3.0, gdk-x11-3.0, gtk+-3.0, gtk4,
    fuse, libxml-2.0
  - curses: Remove initial “w” from some Window method names for consistency
  - gdk-pixbuf-2.0: Fix Pixbuf.save_to_streamv_async()
  - gdk-pixbuf-2.0: Update to 2.42.3~
  - gio-2.0: Fix binding of PollableOutputStream.write*_nonblocking()
  - gio-2.0,gtk+-3.0,gtk4: Drop explicit c-type attributes of va_list parameters
  - gio-2.0: Pick up missing invoker for some AppInfo/File.*() methods
  - gio-2.0: Update to 2.67.3
  - glib-2.0: Add GLib.[S]List.is_empty() convenience methods for non-null
  - glib-2.0: Add new symbols from 2.68
  - glib-2.0: Bind assert_cmp* functions [#395]
  - glib-2.0: Improve type of OptionEntry.flags field
  - glib-2.0: Make PtrArray a subclass of GenericArray
  - gobject-2.0: Add new symbols from 2.68
  - gstreamer-1.0: Set CCode.type_id of MiniObject to G_TYPE_BOXED [#1133]
  - gstreamer: Update from 1.19.0+ git master
  - gtk+-2.0,javascriptcoregtk-4.0: Wrong usage of CCode.type_cname attribute
  - gtk+-3.0,gtk4: Fix some delegate return values and parameters
  - gtk4: Update to 4.1.0+2712f536
  - posix: Add POSIX, GNU and BSD Regex APIs
  - webkit2gtk-4.0: Update to 2.31.1


ChangeLog
=========
https://download.gnome.org/sources/vala/0.51/vala-0.51.1.changes  (10.3K)

Download
========
https://download.gnome.org/sources/vala/0.51/vala-0.51.1.tar.xz (3.39M)
  sha256sum: 1f53fb9cda4f975c5992dcb7570d9254b854582508a1d5373dfadabc1aad0996



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]