Fix capturing delegate parameters in async method.
[vala-lang.git] / NEWS
blob4b8554968cf37e45f5846887fec13bfa89c8c825
1 Vala 0.11.4
2 ===========
4  * Add index_of, index_of_char, and char_count to string class.
5  * Many bug fixes and binding updates.
7 Vala 0.11.3
8 ===========
10  * Support BusName sender parameter in GDBus servers.
11  * More refactoring in the code generator.
12  * Many bug fixes and binding updates.
14 Vala 0.11.2
15 ===========
17  * Update libnotify bindings to 0.7.0.
18  * Improvements to the .gir reader.
19  * Bug fixes and binding updates.
21 Vala 0.11.1
22 ===========
24  * Require and target GLib >= 2.16.
25  * Guard access to out parameters to allow null arguments.
26  * Add support for local constants.
27  * Support file descriptor passing with GDBus.
28  * Support cached property values in GDBus clients.
29  * Support Cancellable parameter in GDBus clients.
30  * Support no-reply methods in GDBus clients and servers.
31  * More refactoring in the code generator.
32  * Many bug fixes and binding updates.
34 Vala 0.11.0
35 ===========
37  * Use byte indices for strings.
38  * Use uint8[] for binary data in bindings.
39  * Add support for parallel compilation.
40  * Improve compiler performance.
41  * More refactoring in the code generator.
42  * Many bug fixes and binding updates.
44 Vala 0.10.0
45 ===========
47  * Port GIR parser and writer to GIR version 1.2.
48  * Update GLib bindings to 2.26 branch.
49  * Bug fixes.
51 Vala 0.9.8
52 ==========
54  * Add --fatal-warnings commandline option.
55  * Deprecate string.len () in favor of string.length.
56  * Deprecate use of D-Bus GLib in favor of GDBus.
57  * Many bug fixes and binding updates.
59 Vala 0.9.7
60 ==========
62  * Fix regression introduced by codegen refactoring.
64 Vala 0.9.6
65 ==========
67  * Drop deprecated support for assigning to construct properties.
68  * Some refactoring in the code generator.
69  * Bug fixes in bindings and vapigen.
71 Vala 0.9.5
72 ==========
74  * Add version suffix to support parallel installation.
75  * Define VALA_X_Y according to compiler version.
76  * Enable version header by default.
77  * Add vala.m4 with VALA_CHECK_PACKAGES macro.
78  * Add gedit-2.20 bindings (Andrea Del Signore).
79  * Add tokyocabinet bindings (Evan Nemerson).
80  * Various improvements to the Dova profile.
81  * Many bug fixes and binding updates.
83 Vala 0.9.4
84 ==========
86  * Append documentation comments to generated C files.
87  * Skip <doc> tags in .gir files.
88  * Various improvements to the Dova profile.
89  * Many bug fixes and binding updates.
91 Vala 0.9.3
92 ==========
94  * Support newlines in double quoted string literals.
95  * Add experimental support for main blocks.
96  * Add experimental vala tool to compile and run code.
97  * Initial support for generic delegates.
98  * Support using GClosure for delegate parameters.
99  * Support GBoxed-based memory management.
100  * Improvements to the .gir reader and writer.
101  * Various improvements to the Dova profile.
102  * Many bug fixes and binding updates.
104 Vala 0.9.2
105 ==========
107  * Initial support for GDBus-based clients and servers.
108  * Support implicit and explicit GVariant casts.
109  * Add support for [Deprecated] attribute.
110  * Add GenericArray as alternative binding to GPtrArray.
111  * Add gdk-pixbuf-3.0, gdk-3.0, gdk-x11-3.0, and gtk+-3.0 bindings.
112  * Updates to the GLib bindings.
113  * Many bug fixes.
115 Vala 0.9.1
116 ==========
118  * Support constants in enums.
119  * Deprecate +=/-= syntax to connect/disconnect signal handlers.
120  * Add experimental support for Dova profile.
121  * Update Genie parser (Jamie McCracken).
122  * Add clutter-gst-1.0 bindings (Ali Sabil).
123  * Add gdu and gdu-gtk bindings.
124  * Add libesmtp bindings (Adrien Bustany).
125  * Add mx-1.0 bindings (Evan Nemerson).
126  * Add orc-0.4 bindings (Fabian Deutsch).
127  * Add rest-extras-0.6 bindings (Adrien Bustany).
128  * Updates to the GLib, GStreamer, Linux, SQLite, and other bindings.
129  * Many bug fixes.
131 Vala 0.8.0
132 ==========
134  * Infer type arguments when calling generic methods.
135  * Support `in' operator for arrays.
136  * Add experimental support for regular expression literals.
137  * Add experimental support for chained relational expressions.
138  * Add va_list support.
139  * Add clutter-gtk-0.10 bindings (Gordon Allott).
140  * Add gdl-1.0 bindings (Nicolas Joseph).
141  * Add gstreamer-app-0.10 bindings (Sebastian Dröge).
142  * Add gstreamer-cdda-0.10 bindings (Sebastian Dröge).
143  * Add gudev-1.0 bindings (Jim Nelson).
144  * Add libgda-report-4.0 bindings (Shawn Ferris).
145  * Add libgvc (graphviz) bindings (Martin Olsson).
146  * Add purple bindings (Adrien Bustany).
147  * Many bug fixes and binding updates.
149 Vala 0.7.10
150 ===========
152  * Support coalescing operator ??.
153  * Support to_string and bitwise complement with enums.
154  * Return handler id when connecting signal handlers.
155  * Support struct comparison.
156  * Support constructor chaining in structs.
157  * Enforce protected member restrictions.
158  * Improve performance of flow analysis.
159  * Support automatic line continuations in Genie.
160  * Improvements to the .gir reader and writer.
161  * Add --enable-mem-profiler commandline option.
162  * Many bug fixes and binding updates.
164 Vala 0.7.9
165 ==========
167  * Support array and string slicing.
168  * Add --symbols commandline option.
169  * Add avahi-gobject bindings (Sebastian Noack).
170  * Add ccss-1 bindings (Ali Sabil).
171  * Add libarchive bindings (Julian Andres Klode).
172  * Add libmagic bindings (Jens Georg).
173  * Add readline bindings (Jukka-Pekka Iivonen).
174  * Add twitter-glib-1.0 bindings (Adrien Bustany).
175  * Many bug fixes and binding updates.
177 Vala 0.7.8
178 ==========
180  * Support constructor chain up to GObject using Object (...).
181  * Add syntax for string templates.
182  * Support (!) non-null casts.
183  * Many bug fixes and binding updates.
185 Vala 0.7.7
186 ==========
188  * Support `using' directives inside namespaces.
189  * Use const only for immutable structs.
190  * Support string marshalling for enums in D-Bus (Didier Ptitjes).
191  * Update Genie parser (Jamie McCracken).
192  * Add libgda-4.0 bindings (Shawn Ferris).
193  * Many bug fixes for closures and async methods.
195 Vala 0.7.6
196 ==========
198  * Add support for closures.
199  * Improve support for asynchronous methods.
200  * Support async methods in D-Bus servers.
201  * Add clutter-1.0 bindings (Rob Taylor).
202  * Add GVariant, GSettings, and dconf bindings (Ryan Lortie).
203  * Add linux, libnl-1, and libasound bindings (Michael 'Mickey' Lauer).
204  * Add gnutls bindings (Jiří Zárevúcky).
205  * Add librest bindings (Adrien Bustany).
206  * Many bug fixes and binding updates.
208 Vala 0.7.5
209 ==========
211  * Add support for static properties.
212  * Add support for delegate properties.
213  * Support virtual default handler for signals.
214  * Add limited support for derived compact classes.
215  * Add libgdata bindings (Víctor Manuel Jáquez Leal).
216  * Add libusb-1.0 bindings (Evan Nemerson).
217  * Many bug fixes and binding updates.
219 Vala 0.7.4
220 ==========
222  * Add support for array properties.
223  * Support implicit and explicit GValue casts.
224  * Add initial support for generic methods.
225  * Add postgres bindings.
226  * Many bug fixes and binding updates.
228 Vala 0.7.3
229 ==========
231  * Add initial support for POSIX profile.
232  * Add --vapi and --gir commandline options.
233  * Add initial x11, xcb, and cairo-xcb bindings.
234  * Many bug fixes and binding updates.
236 Vala 0.7.2
237 ==========
239  * Improvements to the .gir reader and writer (Didier Ptitjes).
240  * Many bug fixes and binding updates.
242 Vala 0.7.1
243 ==========
245  * Introduce new syntax to connect/disconnect signal handlers.
246  * Add experimental support for fixed-length arrays.
247  * Update Genie parser (Jamie McCracken).
248  * Updates to the GLib, Cairo, GTK+, GStreamer, and POSIX bindings.
249  * Many bug fixes.
251 Vala 0.7.0
252 ==========
254  * Do not generate header files unless requested by the -H commandline
255    option. This requires changes in the build system of Vala projects.
256  * Support conditional compilation.
258 Vala 0.6.0
259 ==========
261  * Improvements to the .gir reader and writer (Didier Ptitjes).
262  * Add librsvg-2.0 bindings (Evan Nemerson).
263  * Add Maemo libosso bindings (Jukka-Pekka Iivonen).
264  * Add V4L2 bindings (Matías De la Puente).
265  * Many bug fixes.
267 Vala 0.5.7
268 ==========
270  * Support signals in static D-Bus clients.
271  * Various improvements to asynchronous method support (Ryan Lortie).
272  * Report unused internal methods.
273  * Extend POSIX bindings.
274  * Add FUSE bindings (John Carr).
275  * Add libdaemon bindings (Jukka-Pekka Iivonen).
276  * Many bug fixes.
278 Vala 0.5.6
279 ==========
281  * Do not require libgee for custom indexer access.
282  * Add Log.FILE, Log.LINE, and Log.METHOD constants.
283  * Various improvements to the .gir reader.
284  * Add Lua bindings (pancake and Phil Housley).
285  * Add MySQL bindings (Jukka-Pekka Iivonen).
286  * Add partial POSIX bindings.
287  * Many bug fixes.
289 Vala 0.5.5
290 ==========
292  * Improve syntax of owned property getters.
293  * Add --enable-deprecated and --enable-experimental commandline options.
294  * Remove --disable-non-null commandline option.
295  * Many bug fixes.
297 Vala 0.5.4
298 ==========
300  * Support array initializers as expressions.
301  * Support += to efficiently append elements to arrays.
302  * Calculate length for null-terminated arrays.
303  * Support initializers for multi-dimensional arrays.
304  * Add `owned' keyword to replace `#'.
305  * Various fixes in coroutine support.
306  * Support boxed structs as GObject properties.
307  * Many bug fixes.
309 Vala 0.5.3
310 ==========
312  * Rewrite D-Bus server support to directly use libdbus.
313  * Register structs as boxed types.
314  * Improve error reporting on invalid code.
315  * Support private class fields and class destructors.
316  * Add partial raptor and rasqal bindings.
317  * Drop vala-gen-project, moved to vtg.
318  * Many bug fixes.
320 Vala 0.5.2
321 ==========
323  * Report uninitialized local variables.
324  * Report unused fields, methods, and local variables.
325  * Fix error handling in complex statements.
326  * Improve support for generic types.
327  * Support parameter arrays in bindings.
328  * Do not require libgee for foreach statements.
329  * Support enums in D-Bus clients and servers.
330  * Support structs in hash tables in D-Bus servers.
331  * Experimental static D-Bus client support.
332  * Add --dump-tree commandline option to write code tree to file.
333  * Many bug fixes.
335 Vala 0.5.1
336 ==========
338  * Support type checks for error domains and error codes.
339  * Experimental support for yield statements and coroutines.
340  * Support GValue and GHashTable in D-Bus clients.
341  * Various improvements to the .gir reader.
342  * Drop deprecated support for static classes.
343  * Modularize code generator.
344  * Many bug fixes.
346 Vala 0.4.0
347 ==========
349  * Support more flexible constructors.
350  * Partial support for reading and writing .gir files.
351  * Improve compiler performance.
352  * Copy arrays where necessary.
353  * Basic support for static properties.
354  * Partial support for struct holding object references.
355  * Add tracker indexer bindings (Roberto Majadas)
356  * Updates to the GLib, GTK+, and GStreamer bindings.
357  * Many bug fixes.
359 Vala 0.3.5
360 ==========
362  * Notify on property changes by default (Jared Moore)
363  * Add unique-1.0 bindings (Phil Housley)
364  * Updates to the GLib, GTK+, and GStreamer bindings.
365  * Many bug fixes.
367 Vala 0.3.4
368 ==========
370  * Various improvements to D-Bus client and service support.
371  * Basic support for detailed signals.
372  * Check types of printf arguments.
373  * Support `in' operator for Gee.Collection and Gee.Map (Jamie McCracken)
374  * Add libgsf-1 bindings (Michael Lawrence)
375  * Add loudmouth-1.0 bindings (Ali Sabil)
376  * Updates to the GLib, GTK+, and GStreamer bindings.
377  * Many bug fixes.
379 Vala 0.3.3
380 ==========
382  * Support overriding default method handlers of signals.
383  * Support dynamic access to properties and signals of GObjects.
384  * Experimental support for nullable value types.
385  * Improve support for classes not deriving from GLib.Object.
386  * Support """verbatim strings""".
387  * Add parser for Genie (Jamie McCracken)
388  * Experimental support for arrays of arrays.
389  * Documentation improvements (Phil Housley)
390  * Improvements to D-Bus support (Ali Sabil, Philip Van Hoof, Yu Feng)
391  * Add libepc-1.0 bindings (Ali Sabil)
392  * Add libtiff bindings (Christian Meyer)
393  * Updates to the GStreamer bindings (Ali Sabil and Jaap A. Haitsma)
394  * Many bug fixes and performance improvements.
396 Vala 0.3.2
397 ==========
399  * Add support for class constructors, class fields, and class methods.
400  * Various improvements to methods in D-Bus services.
401  * Add support for properties and signals in D-Bus services (Yu Feng)
402  * Add Time API to GLib bindings.
403  * Documentation improvements (Phil Housley)
404  * Updates to the GLib and GTK+ bindings.
405  * Many bug fixes.
407 Vala 0.3.1
408 ==========
410  * Enable non-null types by default.
411  * Add --disable-non-null commandline option.
412  * New handwritten parser.
413  * Support virtual methods in interfaces.
414  * Add `dynamic' type modifier for D-Bus client support.
415  * Add experimental support for writing D-Bus services.
416  * Don't require `new' operator for structs.
417  * Warn when using deprecated syntax.
418  * Add libsexy bindings (Evan Nemerson)
419  * Updates to the GLib and GTK+ bindings.
420  * Many bug fixes.
422 Vala 0.2.0
423 ==========
425  * Support nested namespaces.
426  * Support static constructors.
427  * Register enums with GType (Marc-André Lureau)
428  * Small syntax change for default values of properties.
429  * Add --verbose commandline option (Daniel Silverstone)
430  * Improve pointer support.
431  * Add GNOME Keyring bindings (Andrea Del Signore)
432  * Add SDL bindings (Levi Bard)
433  * Add libftdi bindings (Evan Nemerson)
434  * Updates to the GLib, GTK+, GStreamer, and SQLite bindings.
435  * Many bug fixes all over the place.
437 Vala 0.1.7
438 ==========
440  * Support private property accessors.
441  * Support default values for properties.
442  * Improve support for array length and delegate target parameters.
443  * Improve delegate and signal handler support.
444  * Introduce new syntax to declare errordomains.
445  * Improve exception support.
446  * Report errors for missing return statements.
447  * Report warnings for unreachable code.
448  * Improve support for generic types.
449  * Support pointer member access and pointer element access.
450  * Support pointer arithmetic.
451  * Add --quiet commandline option (Emmanuele Bassi)
452  * Add WebKit bindings.
453  * Add JSON-GLib bindings (Ali Sabil)
454  * Add goocanvas bindings (Roberto Majadas)
455  * Add hildon-fm-2 bindings (Levi Bard)
456  * Add taglib bindings (Andreas Brauchli)
457  * Add libusb bindings (Evan Nemerson)
458  * Add bzip2 bindings (Maciej Piechotka)
459  * Updates to the GLib, GTK+, GStreamer, and libsoup bindings.
460  * Fixes for Windows.
461  * Many bug fixes.
463 Vala 0.1.6
464 ==========
466  * Add support for instance delegates.
467  * Support conditional method compilation.
468  * Add support for nested generic types.
469  * Add size_t and ssize_t.
470  * Use non-null types by default with --enable-non-null option.
471  * Limited support for nullable types.
472  * Add basic support for method pre- and postconditions.
473  * Improve pointer support.
474  * Always enable memory management.
475  * Add libgnome-menu bindings (Roberto Majadas)
476  * Add liboobs-1 bindings (Roberto Majadas)
477  * Updates to the GLib, GTK+, GStreamer, SQLite, and libxml2 bindings.
478  * Small documentation improvements.
479  * Many bug fixes.
481 Vala 0.1.5
482 ==========
484  * Add Vala Project Generator.
485  * Support `in` operator for enums.
486  * Support typeof for generic type parameters.
487  * Replace gidlgen by vala-gen-introspect with a real C parser.
488  * Update all bindings to use vala-gen-introspect.
489  * Fix many gcc warnings.
490  * Fix build with Cygwin and MinGW (Yaakov Selkowitz).
491  * Many bug fixes.
493 Vala 0.1.4
494 ==========
496  * Use .vapi as file extension for bindings.
497  * Add Vala Reference Manual.
498  * Add support for object initializers.
499  * Emit #line directives in debug mode.
500  * Add --basedir option.
501  * Support creation methods in structs.
502  * Add support for [Notify] attribute for properties.
503  * Add experimental support for registering new fundamental classed types.
504  * Improve support for non-GObject classes.
505  * Improve error reporting.
506  * Add vapicheck to verify generated bindings (Mathias Hasselmann).
507  * Drop xml_pp dependency (Alberto Ruiz).
508  * Many bug fixes.
510 Vala 0.1.3
511 ==========
513  * Convert reference-type structs to classes for a more consistent type system.
514  * Support `as` operator (Mathias Hasselmann).
515  * Improve array support.
516  * Experimental D-Bus client support.
517  * Add GConf bindings.
518  * Add libgnome and libgnomeui bindings.
519  * Add Glade bindings.
520  * Add libnotify bindings (Nicolas Christener, Roland Hostettler).
521  * Add GnomeVFS bindings.
522  * Add GtkSourceView bindings.
523  * Add Panel Applet bindings.
524  * Add GNOME Desktop Library bindings.
525  * Add libsoup bindings.
526  * Add libwnck bindings.
527  * Add GtkMozEmbed bindings (Alberto Ruiz).
528  * Add Poppler bindings (Alberto Ruiz).
529  * Add Enchant bindings (Mathias Hasselmann).
530  * Add Hildon bindings (Marcelo Lira).
531  * Add SQLite bindings.
532  * Add curses bindings (Ed Schouten).
533  * Build system fixes (Nicolas Trangez).
534  * Add manual pages for gidlgen and vapigen (Kumar Appaiah).
535  * Many bug fixes all over the place.
537 Vala 0.1.2
538 ==========
540  * Use and support libgee collection library (internal copy for now).
541  * Performance improvements.
542  * Improve support for generic types.
543  * Many memory management fixes.
544  * Add support for inner classes.
545  * Add --cc and -X commandline options to control the C compiler.
546  * Use GSlice for reference-type structs.
547  * Add experimental GStreamer bindings.
549 Vala 0.1.1
550 ==========
552  * Support simple exception handling.
553  * Improve array and string support.
554  * Support multi-dimensional arrays.
555  * Add --thread commandline option.
556  * Improve bindings.
557  * Bug fixes.
559 Vala 0.1.0
560 ==========
562  * Add commandline options for running the C compiler and linker.
563  * Use # modifier for reference transfer in method parameters.
564  * Replace callback keyword by delegate.
565  * Improve and update GLib and GTK+ bindings.
566  * Add experimental GVFS binding.
567  * C89/MSVC portability fixes (Hans Breuer).
568  * Refactor code generator.
569  * Add experimental bindings generator.
570  * Many bug fixes.
572 Vala 0.0.9
573 ==========
575  * Add support for defining new generic classes.
576  * Improve array support.
577  * Memory management fixes.
578  * Improve abstract property support.
579  * Add basic support for flags types.
580  * Improve GLib binding.
581  * Add VTE binding.
582  * Many bug fixes.
584 Vala 0.0.8
585 ==========
587  * Add support for overridden properties.
588  * Support properties and signals in interfaces.
589  * Improve interface runtime suport.
590  * Verify that classes implement all abstract and interface methods.
591  * Basic compile-time support for generic types.
592  * Default to strong references for return values and local variables.
593  * Improve signal support.
594  * Add support for pointers.
595  * Improve support for numeric types.
596  * Support writing GTypeModule-based plug-ins.
597  * Improve manual memory management support.
598  * Improve GTK+ bindings.
599  * Many bug fixes.
601 Vala 0.0.7
602 ==========
604  * New object construction syntax.
605  * Interface implementations don't have to specify override anymore.
606  * Improve interface support.
608 Vala 0.0.6
609 ==========
611  * Improve interface support.
612  * Support do loops.
613  * Improve array support.
614  * Improve enum support.
615  * Add automated testing infrastructure.
616  * Fixes for prefix and postfix operators.
617  * Add more types to GLib bindings.
618  * Many bug fixes.
620 Vala 0.0.5
621 ==========
623  * Support base access.
624  * Support typeof expressions.
625  * Improve array support.
626  * Fix possible memory leak in foreach statements.
627  * Fix many warnings during C compilation.
628  * Improve GTK+ bindings.
630 Vala 0.0.4
631 ==========
633  * Support + operator in strings.
634  * Support unicode character literals.
635  * Add implicit conversions for numeric types.
636  * Improve interface support.
637  * Improve array support.
638  * Support arbitrary signal parameters.
639  * Add threading support.
640  * Support lock statements.
641  * Many improvements to the GTK+ bindings.
643 Vala 0.0.3
644 ==========
646  * Interface fixes.
647  * Support namespace constants.
648  * Support switch statements.
649  * Array creation support.
650  * Provide complete but experimental bindings for GTK+ 2.10 and Cairo 1.2.
651  * Add implicit array length parameter.
652  * Follow package dependencies.
653  * Support hexadecimal and octal integer literals and hexadecimal escape
654    sequences.
655  * Install libvala as shared library.
657 Vala 0.0.2
658 ==========
660  * Support named construction methods.
661  * Basic interface support.
662  * Improve error handling.
663  * Many bug fixes.
666 Vala 0.0.1
667 ==========
669  * Initial release.