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