Vala Changelog

What's new in Vala 0.42.3

November 8th, 2018
  • Various improvements and bug fixes:
  • codegen:
  • Initialize internal temp-variables used as reference parameter
  • Improve ccode for fixed-length array parameters (#163)
  • Fix regex literal compile flags
  • Add prototype for *_register_type() function
  • Don't emit *_free() of derived compact classes
  • Add prototype for *_new() of abstact compact classes
  • girwriter: Fix ctype of out/ref and array parameters
  • ccode: Fix typo and actually check "end_decls" (#672)
  • abstract syntax tree:
  • Always analyze nodes after they are inserted into the AST
  • Add source_reference to local variable of catch-clause
  • Add missing replace_expression() implementations
  • Fix several construction/parenting issues
  • DataType for GLib.Error should be should resolved as ErrorType
  • libvaladoc: Add "unlock" to keywords in Highligher
  • posix:
  • Add replacement for G_(BEGIN|END)_DECLS
  • Don't check for GLib.Variant casting
  • testrunner: Reset $run_prefix before generating next test script
  • build: Unconditionally add conditional VALAFLAGS to make bootstrap
  • doc: Fix build of internal-api-docs
  • manual: Update from wiki.gnome.org
  • Bindings:
  • glib-2.0: Computing length once is enough in string.to_utf8()/splice()
  • glib-2.0: Add binding for g_test_add()
  • glib-2.0: Add array length to string.skip (#695)
  • gio-2.0: Result of DBusMessage.get_header() is unowned
  • gobject-2.0,gtk+-*.0: Fix some GLib.Value out/ref parameters
  • gstreamer: Update from 1.15+ git master
  • gtk+-4.0: Update to 3.94.0+b4b30b49

New in Vala 0.42.2 (September 26th, 2018)

  • Various improvements and bug fixes:
  • codewriter: Prepend "yield" if is_yield_expression is set on MethodCall and ObjectCreationExpression
  • codegen: Fix typo in is_pure_ccode_expression() [#673]
  • gobject-introspection: Fix use after free in scanner [#674]
  • vala: Check if ArrayType supports its given element-type in analyzer pass
  • valadoc: Fix some string escaping which gettext complains about
  • Bindings:
  • Update GIDL-based bindings to fix unsupported type-arguments
  • glib-2.0: Add feature_test_macro details for Time struct's methods
  • glib-2.0: Set DateTime.now () to use local time zone as the default
  • gstreamer: Update from 1.15+ git master
  • gtk+-4.0: Update to 3.94.0+d90e2733
  • libxml-2.0: Add missing context parameter in OutputWriteCallback
  • x11: Add binding for XCreateSimpleWindow

New in Vala 0.42.1 (September 19th, 2018)

  • Various improvements and bug fixes:
  • vapigen: Warn if the library argument doesn't match any package attribute [#669]
  • Bindings:
  • glib-2.0: Add some 2.58 symbols
  • gtk+-4.0: Update to 3.94.0+f3e6d00d
  • Add gnome-desktop-3.0 bindings [#668]
  • Remove libgda-4.0, libgda-report-4.0 bindings [#667]
  • Update GIR-based bindings

New in Vala 0.40.9 (August 20th, 2018)

  • Various improvements and bug fixes:
  • girparser: Actually resolve type-arguments to be able to box them if needed
  • girparser: Handle unsupported aliases which could not be fully processed
  • codegen: Free errors after returning them on GDBusMethodInvocation [#657]
  • codegen: Fix invocation of abstract/virtual methods with NoWrapper in compact classes
  • vala: Allow read-only properties
  • manual: Update from wiki.gnome.org
  • Bindings:
  • glib-2.0: Add Array.remove*() wrapper to avoid leaking generic elements
  • glib-2.0: Add (u)long.parse/try_parse() and float.parse/try_parse() [#649]
  • glib-2.0: Add return-type of Queue.remove*(), add HashTable.foreach_steal()
  • gtk+-3.0: Update to 3.23.2+6b6e53fd
  • gtk+-4.0: Update to 3.94.0+4e868584
  • webkit2gtk-4.0: Update to 2.20.5

New in Vala 0.42.0 Beta 2 (August 11th, 2018)

  • Various bug fixes:
  • codegen: Call ref_sink on objects passed to generic type [#655]
  • codegen: Free errors after returning them on GDBusMethodInvocation [#657]
  • girparser: Actually resolve type-arguments to be able to box them if needed
  • vala: Add consts/methods to retrieve and check library version [#304]
  • Bindings:
  • glib-2.0: Add Array.remove*() wrapper to avoid leaking generic elements
  • glib-2.0: Add (u)long.parse/try_parse() [#649]
  • gstreamer: Update from 1.15+ git master
  • gtk+-3.0: Update to 3.23.2+6b6e53fd
  • gtk+-4.0: Update to 3.94.0+4e868584

New in Vala 0.42.0 Beta (July 26th, 2018)

  • Highlights
  • Reintroduce POSIX profile
  • parser: Add support for explicit "unlock" syntax
  • vala: Support anonymous definitions of delegates in bindings
  • codegen: Support automatic properties as GtkChild
  • codegen: Apply G_PARAM_EXPLICIT_NOTIFY on properties with "notify = false"
  • codegen: Drop support for non-auto property initializer in gobjects
  • codegen: Avoid using deprecated "g_type_class_add_private"
  • Various bug fixes:
  • vala: Constants and signals are not lockable
  • codegen: Don't apply ref_sink_function if target_type is floating_reference
  • vala: Treat floating method-return-type as nullable if error may be thrown
  • vala: Transfer floating-reference attribute while casting
  • analyzer: Break cyclic references of BasicBlock
  • vala: Break reference chain between DataType and Symbol if possible
  • codegen: Fix invocation of abstract/virtual methods with NoWrapper in compact classes
  • vala: Report error for invalid base access in method/property of compact class
  • libvaladoc: Replace void* with corresponding Vala API
  • codegen: Don't include the full absolute path in line directives
  • codegen: Add source_reference to unsupported floating reference error
  • Bindings:
  • gobject-2.0: Make GLib.Signal a struct of uint and bind g_signal_new*
  • clutter-1.0: Change type of Clutter.Key.* constants to uint
  • gdk-3.0: Change type of Gdk.Key.* constants to uint
  • gtk+-4.0: Change type of Gdk.Key.* constants to uint
  • gstreamer: Update from 1.15+ git master
  • webkit2gtk-4.0: Add JSC namespace to javascriptcoregtk-4.0 and fix depends
  • Remove clutter-gst-1.0, GStreamer 0.10, rest-0.6, tracker-indexer-module-1.0, libsoup-2.2, gdu and gdu-gtk, twitter-glib-1.0, mx-1.0
  • Remove vala-specific deprecations

New in Vala 0.40.8 (July 16th, 2018)

  • Various improvements and bug fixes:
  • Fix links in the Manual
  • libvaladoc: Change link to Valadoc wiki page for HTML doclet
  • valadoc: Use HTML5 doctype in HTML doclet
  • codegen: Let methods return -1 on error by default if possible [#526]
  • Allow TypeModule subclasses as parameter-type in module-init-method [#648]
  • girparser: Allow changing the type of constants using metadata [#643]
  • girwriter: Add boolean GIR visible attribute to allow skipping symbols
  • vala: Report error for error-domains without any code
  • parser: Accept "empty" enums/error-domains [#253]
  • codewriter: Output bodies of code-blocks if in VAPIGEN mode [#253]
  • Bindings:
  • gobject-2.0: Add lower_case_csuffix attributes to Type* symbols
  • gdk-3.0,gtk+-3.0: Update to 3.23.0+df045423
  • gio-2.0: Add custom IOError.from_errno() to make it work as expected [#253]
  • gtk+-4.0: Update to 3.94.0+bf5f27c6
  • gstreamer-rtsp-server-1.0: Update from 1.14+ git master [#653]

New in Vala 0.40.7 (June 21st, 2018)

  • Various improvements and bug fixes:
  • Update bugtracker links to http://gitlab.gnome.org/GNOME/vala/issues
  • codegen:
  • Handle delegate_target attribute of fields [#520]
  • Free generic elements of glib collections [#694765]
  • Fix warning for source_funcs parameter of g_source_new()
  • Actually treat GLib.Source as compact class
  • Custom abstract methods of GLib.Source are handled differently [#641]
  • Consistently use gpointer for delegate targets
  • Unify some delegate-type check patterns
  • Use default_init instead of base_init when registering interfaces [#699550]
  • girparser: Add support for bool delegate_target [#520]
  • girwriter:
  • Output deprecated="1"
  • construct-only properties don't have a setter method
  • Don't write any custom attributes [#608]
  • valadoc: Fix TreeBuilder.create_array() for stacked Arrays
  • Bindings:
  • glib-2.0:
  • Do not mark simple-type out-parameters as nullable [#634]
  • Make Source.attach() use the default MainContext by default
  • Make Bytes.slice() use the memory-efficient Bytes.from_bytes() [#638]
  • Fix Bytes.with_free_func()
  • gio-2.0:
  • Mark ActionEntry.parameter_type/state fields as nullable [#632]
  • Delegate fields of DBus*VTable do not have implicit target fields
  • Apply delegate_target = false on ActionEntry callbacks and make them weak [#630]
  • Add default to all io_priority parameters
  • gstreamer: Cherry-pick some fixes from 0.42, add gst-editing-services-1.0
  • gtk+-3.0: Update to 3.22.30+9ac7f906
  • gtk+-4.0: Update to 3.93.0+29fee2e8
  • webkit2gtk-4.0: Update to 2.21.4
  • Update GIR-based bindings

New in Vala 0.40.6 (May 21st, 2018)

  • Regression fix:
  • codegen: Avoid critical for array in-parameters with custom length-type
  • tests: Drop assert which is failing on big-endian archs

New in Vala 0.40.5 (May 21st, 2018)

  • Various improvements and bug fixes:
  • Warn if --gir is used without --library [#708693]
  • Report an error if rank attribute is required but was not found [#660991]
  • scanner: Accept R and N escape sequences in regex literals [#749576]
  • scanner: Accept backreferences 1 through 99 in regex literals [#728574]
  • codegen:
  • Avoid critical in get_basic_type_info() when there is no signature [#729517]
  • Fix serializing multidimensional arrays [#735437]
  • Guard get_default_ref_sink_function() against null base-class
  • Respect cname ccode-attribute of lockable fields
  • Fix casting of length for "ref" array parameters
  • codewriter: Add 'new' to symbols if needed to match the original source [#614686]
  • girparser: Deal with missing "name" attribute by falling back on "c:type"
  • girwriter: Drop errornous indent
  • girwriter: Properly output variadic methods and use introspectable="0"
  • genie: Add support for the v escape character [#664689]
  • genie: Add support for the uXXXX escape sequence
  • Bindings:
  • glib-2.0: Fix IConv.iconv() [#634753]
  • gobject-2.0: Make constructor of ParamSpecBoxed public
  • gstreamer: Cherry-pick some fixes from 0.42
  • gtk+-3.0: Update to 3.22.30+21fddc39
  • gtk+-4.0: Update to 3.93.0+3a860719
  • javascriptcoregtk-4.0: buffer of String.get_utf8_cstring() is not "ref" [#788113]
  • posix: Add missing cname = "int" to Posix.Signal enum
  • sqlite3: Add additional constants for flags of Database.open_v2() [#795627]
  • webkit2gtk-4.0: Cherry-pick some fixes from 0.42

New in Vala 0.40.4 (April 25th, 2018)

  • Various improvements and bug fixes:
  • girparser: Add support for NoAccessorMethod metadata
  • Bindings:
  • glib-2.0: Mark str parameter of Variant.take_string() as owned
  • gstreamer: Update from 1.15+ git master
  • gtk+-*.0: Set NoAccessorMethod on Gtk.Radio*.group properties (Regression in gtk+-3.0)
  • gtk+-4.0: Update to 3.93.0+fc6018f1
  • json-glib-1.0: Mark return-type of gvariant_deserialize*() as nullable
  • webkit2gtk-4.0: Update to 2.20.1

New in Vala 0.40.2 (April 1st, 2018)

  • Various bug fixes:
  • gdbus: Fix missing declaration of _fd_list for async methods [#794566]
  • Bindings:
  • glib-2.0: Use g_value_*et_schar instead of deprecated g_value_*et_char
  • gobject-2.0: Add ParamSpecGType
  • gtk+-*.0: Hide dedicated constructors of compact classes bound as structs [#794733]

New in Vala 0.40.1 (March 26th, 2018)

  • Various bug fixes:
  • codegen: Don't add target fields for captured delegates without target
  • codegen: Don't add length fields for captured fixed-length array variables
  • valadoc: Bump VALA_0_xx defines and glib_minor to match 0.40 series
  • Bindings:
  • Add libgeoclue-2.0 bindings [#794376]
  • gobject-2.0: Cherry-pick some changes from 0.42
  • gdk-3.0,gtk+-3.0: Update to 3.22.29
  • gtk+-4.0: Update to 3.93.0+433517fd
  • gtk+-*.0: Fix iter parameter of TextView.backward*/forward*/move_visually( [#794345]
  • gstreamer-1.0: Update to 1.13.91 and add gstreamer-webrtc-1.0 bindings
  • libgsf-1: Switch to GIR and update to 1.14.42
  • linux: Add various symbols
  • posix: Add various symbols
  • posix: Include sys/sysmacros.h for major(), minor() and makedev() [#794651]
  • webkit-1.0: Update to 2.4.11
  • webkit2gtk-4.0: Update to 2.20.0
  • Update GIR-based bindings

New in Vala 0.40.0 (March 14th, 2018)

  • Various bug fixes:
  • compiler: Fix critical when vala is called without run args [#793657]
  • Bindings:
  • alsa: Add the major part of the ALSA Sequencer API [#763127]
  • gstreamer-1.0: Update to 1.13.90
  • gtk+-4.0: Update to 3.93.0+527d265b
  • linux: Add various symbols
  • posix: Add various symbols [#663633]
  • Update GIR-based bindings

New in Vala 0.40.0 RC (March 7th, 2018)

  • Highlights:
  • Add support for feature test macros [#793444] e.g. [CCode (feature_test_macro = "_GNU_SOURCE")]
  • Various bug fixes:
  • codegen:
  • Use pointers when accessing constant multi-dimensional arrays [#604371]
  • Add valid support for const multi-dimensional arrays [#604371]
  • Don't append fixed-length of array fields in initializers
  • Add source_reference to some store_local/_field() calls
  • Properly handle array-initializers inside struct-initializers [#622178]
  • The rank of an array-initializer should match the target's rank [#744923]
  • Make SemanticAnalyzer.check_arguments() independent of context
  • Check with same rules for dbus compatibility as in GBusModule [#793859]
  • Fix recursive declaration in generic base type [#688732]
  • Prevent WITH_CGRAPH conditional having an impact on generated sources
  • Update manual from wiki.gnome.org
  • Bindings:
  • glib-2.0, posix: Add feature test macro _GNU_SOURCE for pow10(3), pow10f(3), exp10(3) and exp10f(3) [#614788]
  • gstreamer-1.0: Update from 1.13.1+ git master
  • linux: Add dup3 [#729803]
  • linux: Add feature_test_macros to non-POSIX file control constants and dup3
  • posix: Fix sig*set and sigprocmask parameters to be out/ref [#727425]
  • posix: Add feature_test_macro _GNU_SOURCE to sighandler_t [#761975]
  • libgnome-menu-3.0: Add deps file
  • Update GIR-based bindings

New in Vala 0.38.6 (January 30th, 2018)

  • Various bug fixes:
  • girparser:
  • Set NoAccessorMethod for non-readable and construct-only properties
  • Ignore conflicting closure/destroy indexes
  • Don't accept methods as property-accessor which throw errors [#792998]
  • codegen:
  • Infer error parameter from abstract/virtual base methods [#614294]
  • Fix return-type for cancelled async creation methods of classes [#792942]
  • vala: Variadic constructors without a real first parameter are not allowed
  • libvaladoc: Keep bootstrap-support with valac >= 0.16.1
  • Bindings:
  • gstreamer-1.0: Update from 1.13+ git master
  • gtk+-4.0: Only override type of "event" parameters

New in Vala 0.39.6 (January 30th, 2018)

  • Highlights:
  • Add --abi-stability option for ABI stability of libraries
  • It ensures that the order of class/interface members in Vala sources will be preserved in generated C source (instance/type structs) [#789069]
  • Various bug fixes:
  • girparser:
  • Set NoAccessorMethod for non-readable and construct-only properties
  • Ignore conflicting closure/destroy indexes
  • Don't accept methods as property-accessor which throw errors [#792998]
  • codegen:
  • Infer error parameter from abstract/virtual base methods [#614294]
  • Internally generated delegates don't require a typedef [#787521]
  • Fix return-type for cancelled async creation methods of classes [#792942]
  • Use G_PARAM_STATIC_STRINGS
  • vala: Variadic constructors without a real first parameter are not allowed
  • libvaladoc: Keep bootstrap-support with valac >= 0.16.1
  • Bindings:
  • gtk+-3.0: Fix cheader_filename of Plug and Socket
  • gtk+-4.0: Update to 3.93.0+4d36a0bf
  • gtk+-4.0: Only override type of "event" parameters
  • posix: Add ctime(3) and fix binding of struct hostent and gethostbyname(3)

New in Vala 0.39.5 (January 21st, 2018)

  • Various bug fixes:
  • libvaladoc: Allow @link tags to be split over multiple lines [#646982]
  • libvaladoc: Add support for single line documentation comments [#736483]
  • girparser: Improve instance method detection [#732460]
  • codegen: Add support for abstract/virtual methods and properties in compact classes [#741465]
  • vala: Fix parameter type inference of overridden async methods [#792660]
  • codewriter: Don't use string.replace() to apply header_to_override [#731322]
  • Bindings:
  • gio-unix-2.0: Update to 2.55.1
  • gtk+-4.0: Update to 3.93.0+60d3378d
  • libwnck-3.0: Update to 3.24.1
  • webkit2gtk-4.0: Update to 2.19.5
  • webkit2gtk-web-extension-4.0: Fix DOM.EventTarget interface

New in Vala 0.39.3 (January 5th, 2018)

  • Various bug fixes:
  • Fix chain-up regression with real non-null struct parameters [#791785]
  • Release taken references to CodeContext after using it [#712694] and keep custom invocations of parse_file() possible [#791936]
  • parser: Accept comma-separated list in case-statements of switchs [#614015]
  • Bindings:
  • Remove bindings which are shipped upstream for some years
  • gedit 3 [#776021], libgnome-keyring [#776022],
  • gtksourceview-3.0 [#776023], libgdata [#776024], librsvg-2.0 [#776025]
  • glib-2.0: Add GLib.OPTION_REMAINING and GLib.OptionFlags.NONE
  • gstreamer-1.0: Update from 1.13+ git master
  • gtk+-2.0: Mark MessageDialog constructor parameter, message_format, as nullable [#791570]
  • gtk+-4.0: Update to 3.93.0+6aeae2c8
  • webkit2gtk-4.0: Update to 2.19.3

New in Vala 0.39.2 (December 27th, 2017)

  • Various bug fixes:
  • vala: Don't transform an explicit "null" into valid format-string [#791215]
  • codegen: Don't create null-safe destroy-wrapper for GenericType [#791283]
  • Improve error message for missing type-parameter on enclosing type [#587905]
  • GIR parser:
  • Allow change of parameter names
  • Handle metadata for fields inside a transparent union
  • Accept setters with boolean return-type as valid property-accessor
  • Don't mark simple-type out-parameters with '?' as nullable
  • Valadoc
  • libvaladoc: Actually resolve "percnt;" to '%'
  • Bindings:
  • glib-2.0: Fix potential null pointer dereference in string.joinv() [#791257]
  • gobject-2.0: Add missing GType constants for fundamentals [#791023]
  • gstreamer-1.0: Update from 1.13+ git master
  • gtk+-3.0: Switch to GIR [#730746]
  • gtk+-4.0: Update to 3.93.0+6af4947e
  • posix: Move signal constants to an enum and add few missing ones [#790958]

New in Vala 0.39.1 (November 30th, 2017)

  • Highlights
  • Report warning if property-type is not compatible with GLib.Object [#693932]
  • Allow to pass compatible delegates to signal.connect() [#787521]
  • Allow unscoped enum values where possible
  • Avoid use of temp-var for some callables returning ValueType and to access in/ref parameters [#789071]
  • Reformat generated source declarations and definitions for better readability [#688447]
  • Various bug fixes:
  • Use array_length_cexpr to support fixed-arrays for return-values [#784691]
  • Properly parse arguments for vala interpeter-mode [#663070]
  • Enforce name-length >= 3 for structs using GType [#764041]
  • Report error for missing type-parameter on enclosing type [#587905]
  • Add boolean "use_inplace" ccode-attribute for methods [#750840]
  • Improve handling of unowned/owned keyword occurrences
  • Methods need to throw compatible error if target delegate throws one
  • Discover invalid member access to instance field [#790903]
  • Improve error output of mismatching overriding methods
  • Valadoc
  • Acknowledge possible properties in structs [#784705]
  • Fix fatal typo in GtkdocRenderer.visit_symbol_link() [#790266]
  • Bindings:
  • glib-2.0: Use type-id/marshaller-type for (u)int16/(u)short from (u)int32 [#693932]
  • glib-2.0: Add optional 'unparsed' parameter to *.try_parse () [#774124]
  • gobject-2.0: Add some missing symbols
  • gstreamer-1.0: Bind GST_TIME_ARGS, GST_STIME_ARGS macros [#750840]
  • gstreamer-1.0: Bind GST_DEBUG_BIN_TO_DOT_FILE/*_WITH_TS [#785215]
  • gstreamer-1.0: Update from 1.13+ git master
  • gtk+-3.0: Update to 3.22.26+9ce824d3
  • gtk+-4.0: Split Gsk.RenderNode into several classes
  • gtk+-4.0: Update to 3.93.0+2d797dd8
  • webkit2gtk-4.0: Update to 2.19.2

New in Vala 0.38.3 (November 28th, 2017)

  • Various bug fixes:
  • codegen: Prioritize "array_length=true" over "array_null_terminated=true" [#788775]
  • codegen: Avoid possible conflicts with internal property/signal defines [#788964]
  • Bindings:
  • gio-2.0: Expose g_task_get_source_object as Task.get_unowned_source_object
  • gstreamer-1.0: Update from 1.13+ git master
  • gtk+-4.0: Update to 3.92.1
  • libxml-2.0: Add DTD methods [#789442]

New in Vala 0.38.2 (October 29th, 2017)

  • Various bindings updates:
  • gstreamer-1.0,gtk+-3.0,gtk+-4.0: Update from git master
  • gnutls: Fix free_function ccode-attribute of Certificate [#788181]

New in Vala 0.38.1 (September 13th, 2017)

  • Various bug fixes:
  • valadoc: Don't use 'stderr' as variable name [#787305]
  • codegen: Try to use a more unique internal define for properties [#787436]
  • vala: Update list of used attributes
  • method: Use prototype-string for error-reports of return-type mismatches
  • Bindings:
  • glib-2.0: Fix MainContext.check(), OptionEntry[] params are null-terminated, Bind g_convert_with_fallback() and g_convert_with_iconv()

New in Vala 0.38.0 (September 7th, 2017)

  • Various bug fixes:
  • Improve error output for incompatible method signatures (Add CallableType as base for DelegateType, MethodType, SignalType)
  • codegen:
  • Initialize temp-variable for fixed-size arrays to zero first [#787152]
  • Add support for "type-func" in ui-files [#787033]
  • Bindings:
  • gtk+-3.0,gtk+-4.0: Update
  • libxml-2.0: Bind xmlLastElementChild and xmlPreviousElementSibling
  • pangocairo: CairoFontMap.set_default() is not an instance method
  • gio-2.0: Application.set_default() is not an instance method

New in Vala 0.36.4 (June 29th, 2017)

  • Highlights:
  • Don't warn about deprecated symbols if installed_version is older
  • Add --gresourcesdir option [#783133]
  • Various bug fixes:
  • gdbus: Don't leak nested HashTable on deserialization [#782719]
  • Fix finally blocks with async yields [#741929]
  • Handle non-null in coalescing expression [#611223]
  • Make the task_complete flag for < 2.44 more similar to >= 2.44 [#783543]
  • Nullable ValueType requires POINTER as marshaller signature [#783897]
  • NoAccessorMethod attribute is allowed for gobject-properties only
  • girparser: Fix parsing of delegate-alias without target
  • compiler: Use API_VERSION instead of stripping PACKAGE_SUFFIX
  • girwriter: Write length-parameters of arrays with rank > 1 [#758019]
  • Bindings:
  • gio-2.0: Use default 'length = null' for DataInputStream.read_line_utf8* [#783351]
  • gobject-2.0: Add GLib.ParamSpecPointer
  • poppler-glib: Update to 0.54.0
  • gstreamer-1.0: Various binding fixes

New in Vala 0.36.3 (May 3rd, 2017)

  • Various bug fixes:
  • scanner: Fix calculation of column value for tokens after multiline comment [#652899]
  • codegen: Unref GLib.AsyncResult on uncaught errors in coroutines [#641171]
  • Keep initializing result-variable for struct constructors [#782056]

New in Vala 0.36.1 (April 4th, 2017)

  • Various bug fixes:
  • Always consider a method compatible with itself [#773135]
  • Perform arguments-check against actual .end() method-signature [#684208]
  • Slightly improve lamdba-expression error on target-type mismatch
  • Fix delegate initializer for instance fields [#683925]
  • Don't leak target-reference when casting/assigning owned delegates [#780426]
  • GIR parser and writer:
  • girparser: Add destroy argument for metadata [#750838]
  • vapigen: Add --nostdpkg option like in valac
  • Bindings:
  • gstreamer-1.0: Fix Pad.set_*_function() bindings [#750838]
  • glib-2.0: Add missing version macro and constants, unichar.to_string doesn't return null
  • gtk+-2.0,gtk+-3.0: Mark "intersection" param of Widget.intersect() as out
  • gtk+-4.0: Update to 3.90.0

New in Vala 0.36.0 (March 29th, 2017)

  • Highlights
  • Update manual using DocBook from wiki.gnome.org as source [#779090]
  • Add support for array-parameters with rank > 1 in signals [#778632]
  • Use GTask instead of GSimpleAsyncResult with GLib 2.36/2.44 target [#763345]
  • Deny access to protected constructors [#760031]
  • Support [DBus (signature = ...)] for properties [#744595]
  • Add [CCode ("finish_instance = ...")] attribute [#710103]
  • Support [HasEmitter] for vala sources [#681356]
  • Add support for the v escape charactor [#664689]
  • Add explicit copy method for arrays [#650663]
  • Allow underscores in type parameter names [#644938]
  • Support [FormatArg] attribute for parameters
  • Ignore --thread commandline option and drop gthread-2.0 references
  • Check inferred generic-types of MemberAccess [#775466]
  • Check generic-types count of DelegateType [#772204]
  • Fix type checking when using generics in combination with subtype [#615830]
  • Fix type parameter check for overriding generic methods
  • Use g_signal_emit where possible [#641828]
  • Only emit notify of properties if value actually changed [#631267] [#779955]
  • Mark chained relational expressions as stable [#677022]
  • Perform more thorough compatibility check of inherited properties [#779038]
  • Handle nullable ValueTypes in signals delegates properly [#758816]
  • New bindings:
  • gtk+-4.0, gtk+-unix-print-{2,3,4}.0, libgrss
  • Removed bindings:
  • clutter-json-1.0
  • Updated bindings. Some fixes may need to be wrapped in your Vala code with the preparser directive #if VALA_0_36
  • cairo: Add bindings for cairo_*_user_data()
  • clutter-1.0: Fix constructors which weren't detected as such
  • clutter-gst-2.0: Skip VideoTexture.get_audio_streams/get_subtitle_tracks
  • clutter-gst-3.0: Three commits
  • gdk-2.0: Include gdk/gdkkeysyms.h for Gdk.Key
  • gdk-3.0: Three commits
  • gdk-pixbuf-2.0: Three commits
  • gobject-introspection-1.0: Prettify and fix the whole thing
  • gsl.vapi: Fix attribute typos
  • gstreamer-1.0: Make ElementFactory.get_static_pad_templates fully "unowned", Mark *.make_writable with "ReturnsModifiedPointer", Fix Gst.Base.Adapter.map/take bindings
  • gtk+-3.0: Various updates
  • gtk+-X.0: Mark "iter" param of ListStore.remove() as ref
  • libarchive: Add ReadDisk
  • libxml-2.0: Adding missing API and nullable parameters
  • linux: add non-posix fcntl constants
  • polkit-gobject-1: Fix constructors which weren't detected as such
  • poppler-glib: Update to 0.52.0
  • rest-0.7: Fix some ownership problems
  • sdl: Make Palette and PixelFormat a struct
  • webkit2gtk-4.0: Update to 2.16
  • webkit2gtk: URI*.get_http_headers returns unowned Soup.MessageHeaders
  • Updated GLib core bindings:
  • gio-2.0:
  • Fix async constructors of DBusConnection,DBusObjectManagerClient...
  • Fix binding of Resolver.lookup_service*()
  • Keep GLib.Socket API compatible with gio < 2.48
  • Update SettingsBackend related bindings
  • Add/"Unlock" missing GTask symbols
  • gio-unix-2.0:
  • Add "g_unix_mounts_for" and fix "g_unix_mount_at"
  • glib-2.0:
  • Add GPOINTER_TO_* as from_pointer()
  • Add G_CHECKSUM_SHA384
  • Add "g_utf8_make_valid"
  • Add more Error bindings
  • Add simple fast-path to string.replace()
  • Add UCS-4 and UTF-16 related bindings
  • Add uuid_string_*
  • Fix g_bookmark_file_load_from_*/to_file bindings
  • Mark delegates in Test.add_data_func/add_func() as scope=async
  • Mark va_list.arg() with simple-generics to allow int64 or double
  • Update Unicode symbols
  • gobject-2.0:
  • Add a bunch of missing symbols
  • Add some missing "array_length_type" annotations
  • GIR parser and writer:
  • Add [GIR ("fullname = ...")] attribute, set fullname of GType [#775591]
  • More complete parsing of field information [#772902]
  • Use the correct tag- and element-name for an annotation [#769597]
  • Use type_id information from gir if not already overridden
  • No support for fixed-size array as return-value
  • Let alias inherit more information from base_type
  • Improve function to method conversion
  • Avoid fatal handling of nameless unions
  • Allow to specify the base_type of an alias
  • Add metadata-support for "returns_modified_pointer" [#759255]
  • D-Bus code generation:
  • Check there is a return error location before using it [#779652]
  • Fix memory-leak using g_task_propagate_pointer [#778993]
  • Initialize intermediate variables [#778540]
  • Handle errors when extracting FDs from dbus messages [#778540]
  • Ensure extracted data from the GVariant is freed on error [#778540]
  • C code hardening and reproducibility:
  • Fix build with -Werror=enum-compare -Werror=switch
  • Build testsuite with -Werror=format-nonliteral -Werror=format-security -Werror=int-conversion -Werror=redundant-decls
  • Add G_GNUC_FORMAT attribute for FormatArg functions [#774060]
  • Add G_GNUC_PRINTF/SCANF attribute for Printf/ScanfFormat functions [#710862]
  • gtkmodule: Order required-gtype-classes for reproducibility [debian#802528]
  • Reduce incompatible-pointer-type C code warnings:
  • Cast vfunc pointer assigns of abstract overrides [#777958]
  • Fix vfunc cast for async method implementation/override
  • Default to void-return for vfunc cast of *_async methods
  • Cast *_destroy_func of generic-types calls to GDestroyNotify
  • Cast destroy_data for g_cclosure_new to GClosureNotify
  • Pass pointer of matching type to property-getter
  • memberaccess: Don't resolve base_method/property twice
  • Genie:
  • Allow comma-separated identifiers in definition of enums [#776833]
  • Add empty file check to read_token() [#633083]
  • Various bug fixes:
  • codegen: Don't create duplicated complete-async code [#778302]
  • codegen: Don't return void for non-nullable simple-type structs [#778224]
  • vala: Non-null initializers not allowed for owned namespace fields [#777697]
  • codegen: Support casting arbitary value-types to arrays [#777194]
  • codegen: Reference struct fields with their actual cname [#775761]
  • codegen: Add function-prototypes for all register-type calls [#775446]
  • vala: check a property has an accessor and/or a mutator [#773956]
  • codegen: Don't declare CreationMethod for compact-classes twice [#772661]
  • method: Print encountered type if return types mismatch [#769501]
  • codegen: Fix memory-leak with object initializer for properties [#766739]
  • codegen: Fix array length of array returned by lambda [#761360]
  • codegen: Fix emission of constant array length [#756376]
  • codegen: Support deprecating properties and their accessors [#732449]
  • codegen: Don't add static modifier to abstract property setters [#673389]
  • codegen: Fix instance parameter property setter in SimpleType structs [#657346]
  • codegen: Fix base-access from within overriding struct-property-accessor [#764481]
  • vala: Check accessibility of default arguments [#648030]
  • vala: Disallow private accessors in overridable properties [#603491]
  • methodcall: Don't try to remove N_/NC_ while properly handled in C [#642350]
  • vala: Check type arguments in DataType.equals [#641418]
  • parser: Allow cast pointer expressions without enclosing parens [#590641]
  • Don't initialize local variable if not requested
  • codegen: Don't implicitly initialize local variables with initializer
  • Check printf arguments of object creation expressions
  • ccodefunction: Only add G_GNUC_DEPRECATED to declarations
  • codegen: Avoid criticals while unconditionaly trying to chain-up to non-existing property-accessors
  • signalmodule: Add signal-emitter declaration if needed [#779609]
  • signalmodule: Fix deprecation of signals
  • codegen: Properly null-out source on ownership-transfer of delegates
  • vala: Fix MemberAccess.is_non_null() for EnumValue constants [#780050]

New in Vala 0.35.5 (February 15th, 2017)

  • Fix regression.

New in Vala 0.35.3 (January 25th, 2017)

  • Bug fixes and binding updates.
  • Add gtk+-unix-print-{2,3,4}.0 bindings.

New in Vala 0.35.2 (December 30th, 2016)

  • Bug fixes and binding updates.

New in Vala 0.34.4 (December 6th, 2016)

  • Bug fixes.

New in Vala 0.34.3 (November 28th, 2016)

  • Bug fixes and binding updates.

New in Vala 0.34.2 (October 29th, 2016)

  • Bug fixes and binding updates.

New in Vala 0.34.0 (September 24th, 2016)

  • Bug fixes and binding updates.

New in Vala 0.32.1 (June 23rd, 2016)

  • Bug fixes and binding updates.

New in Vala 0.30.1 (February 14th, 2016)

  • Bug fixes and binding updates.

New in Vala 0.31.1 (February 14th, 2016)

  • Introduce [Version] attribute.
  • Require and target GLib >= 2.32.

New in Vala 0.29.3 (August 20th, 2015)

  • Add --shared-library option for GIR files.
  • Bug fixes and binding updates.

New in Vala 0.29.2 (June 23rd, 2015)

  • Bug fixes and binding updates.

New in Vala 0.28.0 (March 22nd, 2015)

  • Binding updates.

New in Vala 0.27.2 (March 20th, 2015)

  • Bug fixes and binding updates.

New in Vala 0.27.1 (January 12th, 2015)

  • Print compiler messages in color.
  • Add clutter-gdk-1.0 bindings.
  • Add clutter-gst-3.0 bindings.
  • Add clutter-x11-1.0 bindings.
  • Add rest-extras-0.7 bindings.
  • Bug fix and binding updates.

New in Vala 0.26.1 (October 13th, 2014)

  • Bug fixes and binding updates.

New in Vala 0.26.0 (September 23rd, 2014)

  • Bug fix and binding updates.

New in Vala 0.25.4 (September 15th, 2014)

  • Add option --vapi-comments.
  • Bug fixes and binding updates.

New in Vala 0.25.3 (September 1st, 2014)

  • Bug fixes and binding updates.

New in Vala 0.25.2 (August 25th, 2014)

  • Require and target GLib >= 2.24.
  • Report warning for private struct fields.
  • Replace webkit2gtk-3.0 bindings with webkit2gtk-4.0 bindings.
  • Always build vapigen.
  • Bug fixes and binding updates.

New in Vala 0.24.0 (August 25th, 2014)

  • Bug fixes and binding updates.

New in Vala 0.23.2 (February 6th, 2014)

  • Bind GDK event structures as compact classes.
  • Switch gdk-x11-3.0 bindings to .gir.
  • Switch librsvg-2.0 bindings to .gir.
  • Bug fixes and binding updates.

New in Vala 0.23.1 (December 23rd, 2013)

  • GIR parser updates.
  • Switch libnotify bindings to .gir.
  • Add libpeas-gtk-1.0 bindings.
  • Add xcb-icccm bindings.
  • Bug fixes and binding updates.

New in Vala 0.22.1 (November 14th, 2013)

  • GIR parser updates.
  • Bug fixes and binding updates.

New in Vala 0.22.0 (September 25th, 2013)

  • Support chain up to constructv functions.
  • Bug fixes and binding updates.

New in Vala 0.21.2 (September 13th, 2013)

  • Recognize ref/unref functions in .gir files.
  • Add geocode-glib bindings.
  • Bug fixes and binding updates.

New in Vala 0.21.1 (August 3rd, 2013)

  • Support \uXXXX escape sequences.
  • Support specifying vfunc order in interfaces to define ABI.
  • Support GTK+ widget templates.
  • Bug fixes and binding updates.

New in Vala 0.20.1 (April 9th, 2013)

  • Bug fixes.

New in Vala 0.20.0 (March 27th, 2013)

  • Bug fixes and binding updates.

New in Vala 0.19.0 (February 21st, 2013)

  • Support scope = "async" attribute for parameters.
  • Add --api-version option.
  • Add atspi-2 bindings.
  • Add gstreamer-rtsp-server-1.0 bindings.

New in Vala 0.18.1 (November 14th, 2012)

  • Bug fixes and binding updates.

New in Vala 0.18.0 (September 26th, 2012)

  • Bug fixes.

New in Vala 0.17.3 (July 17th, 2012)

  • Require and target GLib >= 2.18.
  • Support async creation methods.
  • Bug fixes and binding updates.

New in Vala 0.16.0 (March 27th, 2012)

  • Add udisks2 bindings.
  • Bug fixes and binding updates.

New in Vala 0.14.2 (January 31st, 2012)

  • Add libnl-3.0 bindings.
  • Add packagekit-glib2 bindings.
  • Add xtst bindings.
  • Many bug fixes and binding updates.

New in Vala 0.15.0 (December 6th, 2011)

  • Manage memory of GQueue elements.
  • Switch atk bindings to .gir.
  • Switch gdk-pixbuf-2.0 bindings to .gir.
  • Switch gdk-3.0 bindings to .gir.
  • Add libwnck-3.0 bindings.
  • Many bug fixes and binding updates.

New in Vala 0.13.3 (August 23rd, 2011)

  • Switch pangocairo bindings to .gir.
  • Bug fixes.

New in Vala 0.11.7 (March 17th, 2011)

  • Add support for async signal handlers (Frederik Sdun).
  • More refactoring in the code generator (Luca Bruno).
  • Improvements to the .gir writer (Michal Hruby).
  • Many bug fixes and binding updates.

New in Vala 0.10.4 (March 13th, 2011)

  • Bug fixes and binding updates.

New in Vala 0.11.6 (February 15th, 2011)

  • Add parse and try_parse methods to boolean and numeric types.
  • Add clutter-gtk-1.0 bindings.
  • Add pixmap-1 bindings (Evan Nemerson).
  • Many bug fixes and binding updates.

New in Vala 0.10.3 (January 24th, 2011)

  • Bug fixes and binding updates.

New in Vala 0.11.4 (January 17th, 2011)

  • Add index_of, index_of_char, and char_count to string class.
  • Many bug fixes and binding updates.

New in Vala 0.11.3 (January 6th, 2011)

  • Support BusName sender parameter in GDBus servers.
  • More refactoring in the code generator.
  • Many bug fixes and binding updates.

New in Vala 0.10.2 (December 29th, 2010)

  • Bug fixes and binding updates.

New in Vala 0.11.2 (November 9th, 2010)

  • Update libnotify bindings to 0.7.0.
  • Improvements to the .gir reader.
  • Bug fixes and binding updates.

New in Vala 0.11.1 (October 26th, 2010)

  • Require and target GLib >= 2.16.
  • Guard access to out parameters to allow null arguments.
  • Add support for local constants.
  • Support file descriptor passing with GDBus.
  • Support cached property values in GDBus clients.
  • Support Cancellable parameter in GDBus clients.
  • Support no-reply methods in GDBus clients and servers.
  • More refactoring in the code generator.
  • Many bug fixes and binding updates.

New in Vala 0.9.8 (September 6th, 2010)

  • Add --fatal-warnings commandline option.
  • Deprecate string.len () in favor of string.length.
  • Deprecate use of D-Bus GLib in favor of GDBus.
  • Many bug fixes and binding updates.

New in Vala 0.9.6 (August 18th, 2010)

  • Drop deprecated support for assigning to construct properties.
  • Some refactoring in the code generator.
  • Bug fixes in bindings and vapigen.

New in Vala 0.9.5 (August 9th, 2010)

  • Add version suffix to support parallel installation.
  • Define VALA_X_Y according to compiler version.
  • Enable version header by default.
  • Add vala.m4 with VALA_CHECK_PACKAGES macro.
  • Add gedit-2.20 bindings (Andrea Del Signore).
  • Add tokyocabinet bindings (Evan Nemerson).
  • Various improvements to the Dova profile.
  • Many bug fixes and binding updates.

New in Vala 0.9.4 (July 27th, 2010)

  • Append documentation comments to generated C files.
  • Skip tags in .gir files.
  • Various improvements to the Dova profile.
  • Many bug fixes and binding updates.

New in Vala 0.9.3 (July 15th, 2010)

  • Support newlines in double quoted string literals.
  • Add experimental support for main blocks.
  • Add experimental vala tool to compile and run code.
  • Initial support for generic delegates.
  • Support using GClosure for delegate parameters.
  • Support GBoxed-based memory management.
  • Improvements to the .gir reader and writer.
  • Various improvements to the Dova profile.
  • Many bug fixes and binding updates.

New in Vala 0.9.2 (June 21st, 2010)

  • Initial support for GDBus-based clients and servers.
  • Support implicit and explicit GVariant casts.
  • Add support for [Deprecated] attribute.
  • Add GenericArray as alternative binding to GPtrArray.
  • Add gdk-pixbuf-3.0, gdk-3.0, gdk-x11-3.0, and gtk+-3.0 bindings.
  • Updates to the GLib bindings.
  • Many bug fixes.

New in Vala 0.7.2 (May 8th, 2009)

  • Improvements to the .gir reader and writer (Didier Ptitjes).
  • Many bug fixes and binding updates.

New in Vala 0.5.5 (January 10th, 2009)

  • Improve syntax of owned property getters.
  • Add --enable-deprecated and --enable-experimental commandline options.
  • Remove --disable-non-null commandline option.
  • Many bug fixes.

New in Vala 0.5.1 (November 4th, 2008)

  • This release adds experimental support for yield statements and co-routines, and supports type checks for error domains and error codes.
  • D-Bus clients can now pass and receive GValue and GHashTable values.
  • Various issues in the .gir reader have been fixed.
  • Deprecated support for static classes has been dropped.
  • The code generator has been modularized, and many bugs have been fixed.

New in Vala 0.4.0 (October 22nd, 2008)

  • This release adds support for a more flexible object construction scheme, including constructor chain-up.
  • Partial support for reading and writing GObject Introspection .gir files has been integrated into the compiler and vapigen.
  • The compiler performance has been improved and arrays are now copied where necessary.
  • Tracker indexer bindings have been added. GLib, GTK+, and GStreamer bindings have been updated.
  • Many bugs have been fixed.