Vala 0.36 Released

This cycle Vala have received a lot of love from their users and maintainers. Users and maintainers, have pushed hard to get a lot of bug fixes in place, thanks to a lot of patches attached to bug reports.

List of new features an bug fixes are in NEWS file in repository. Bindings have received lot of fixes too, checkout them and see if you need a workaround.

Many thanks to all contributors and maintainers for make this release a big one.

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 GtkTester project

In my recent private developments, I need to create Gtk+ widgets libraries, and test them before use them in applications.

There are plenty of efforts to provide automated GUI testing, this is another one working in my case, I would like to share. It is written in Vala, is a GTK+ library with just one top window, you can attach your widget to test, can add test cases, check status and finish by calling asserts. Feel free to ask any thing you need or add issues, in order to improve it.

Sorry if the name is too GTKish and some one would like to change it to avoid any “Official Backup from GNOME”, which is not the case.

Hope to improve this library, adding more documentation in order to help others to use it, if they found useful.

Enjoy it at GitHub.

GXml 0.14 Released

New version of GXml is in place.

No great changes over DOM4 and previous implementations was made. So you can sleep, because your application will run, may be, just with few changes.

A new more powerful, less footprint and good performance implementation of DOM4 has arrived. It is prefixed Gom. This new implementation will be used for all my projects now and on. It provides better implementation of namespaces and avoids using libxml2 tree internally.

Future plans may involve to implement a kind of Gee.Promise objects, in order to parse XML in parallel or to parse large files. Ideas are welcome.

More improvements on XSD parser will come, to provide good API to access this kind of documents; even better, validate your XML files, a feature just partially implemented in libxml2.

I would like to see if some one wants to help porting W3C XPath or XQuery specification using GOM and DOM4, this will be easy with current infrastructure.

GSVG will be ported to GOM, because GOM was inspired by W3C API specification for SVG requirement of DOM4. For now GSVG will be for XML parsing and editing, bu may in the future some one wants to add Cairo rendering and help to create next GNOME canvas using SVG format.

I would like help to port LibreSCL to GOM, I can pay for.