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