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