Fix struct initialization when the instance variable is captured
[vala-lang.git] / NEWS
blob71fb3f390c30974c7b79ab8fafdc709abf94b019
1 Vala 0.8.0
2 ==========
4  * Infer type arguments when calling generic methods.
5  * Support `in' operator for arrays.
6  * Add experimental support for regular expression literals.
7  * Add experimental support for chained relational expressions.
8  * Add va_list support.
9  * Add clutter-gtk-0.10 bindings (Gordon Allott).
10  * Add gdl-1.0 bindings (Nicolas Joseph).
11  * Add gstreamer-app-0.10 bindings (Sebastian Dröge).
12  * Add gstreamer-cdda-0.10 bindings (Sebastian Dröge).
13  * Add gudev-1.0 bindings (Jim Nelson).
14  * Add libgda-report-4.0 bindings (Shawn Ferris).
15  * Add libgvc (graphviz) bindings (Martin Olsson).
16  * Add purple bindings (Adrien Bustany).
17  * Many bug fixes and binding updates.
19 Vala 0.7.10
20 ===========
22  * Support coalescing operator ??.
23  * Support to_string and bitwise complement with enums.
24  * Return handler id when connecting signal handlers.
25  * Support struct comparison.
26  * Support constructor chaining in structs.
27  * Enforce protected member restrictions.
28  * Improve performance of flow analysis.
29  * Support automatic line continuations in Genie.
30  * Improvements to the .gir reader and writer.
31  * Add --enable-mem-profiler commandline option.
32  * Many bug fixes and binding updates.
34 Vala 0.7.9
35 ==========
37  * Support array and string slicing.
38  * Add --symbols commandline option.
39  * Add avahi-gobject bindings (Sebastian Noack).
40  * Add ccss-1 bindings (Ali Sabil).
41  * Add libarchive bindings (Julian Andres Klode).
42  * Add libmagic bindings (Jens Georg).
43  * Add readline bindings (Jukka-Pekka Iivonen).
44  * Add twitter-glib-1.0 bindings (Adrien Bustany).
45  * Many bug fixes and binding updates.
47 Vala 0.7.8
48 ==========
50  * Support constructor chain up to GObject using Object (...).
51  * Add syntax for string templates.
52  * Support (!) non-null casts.
53  * Many bug fixes and binding updates.
55 Vala 0.7.7
56 ==========
58  * Support `using' directives inside namespaces.
59  * Use const only for immutable structs.
60  * Support string marshalling for enums in D-Bus (Didier Ptitjes).
61  * Update Genie parser (Jamie McCracken).
62  * Add libgda-4.0 bindings (Shawn Ferris).
63  * Many bug fixes for closures and async methods.
65 Vala 0.7.6
66 ==========
68  * Add support for closures.
69  * Improve support for asynchronous methods.
70  * Support async methods in D-Bus servers.
71  * Add clutter-1.0 bindings (Rob Taylor).
72  * Add GVariant, GSettings, and dconf bindings (Ryan Lortie).
73  * Add linux, libnl-1, and libasound bindings (Michael 'Mickey' Lauer).
74  * Add gnutls bindings (Jiří Zárevúcky).
75  * Add librest bindings (Adrien Bustany).
76  * Many bug fixes and binding updates.
78 Vala 0.7.5
79 ==========
81  * Add support for static properties.
82  * Add support for delegate properties.
83  * Support virtual default handler for signals.
84  * Add limited support for derived compact classes.
85  * Add libgdata bindings (Víctor Manuel Jáquez Leal).
86  * Add libusb-1.0 bindings (Evan Nemerson).
87  * Many bug fixes and binding updates.
89 Vala 0.7.4
90 ==========
92  * Add support for array properties.
93  * Support implicit and explicit GValue casts.
94  * Add initial support for generic methods.
95  * Add postgres bindings.
96  * Many bug fixes and binding updates.
98 Vala 0.7.3
99 ==========
101  * Add initial support for POSIX profile.
102  * Add --vapi and --gir commandline options.
103  * Add initial x11, xcb, and cairo-xcb bindings.
104  * Many bug fixes and binding updates.
106 Vala 0.7.2
107 ==========
109  * Improvements to the .gir reader and writer (Didier Ptitjes).
110  * Many bug fixes and binding updates.
112 Vala 0.7.1
113 ==========
115  * Introduce new syntax to connect/disconnect signal handlers.
116  * Add experimental support for fixed-length arrays.
117  * Update Genie parser (Jamie McCracken).
118  * Updates to the GLib, Cairo, GTK+, GStreamer, and POSIX bindings.
119  * Many bug fixes.
121 Vala 0.7.0
122 ==========
124  * Do not generate header files unless requested by the -H commandline
125    option. This requires changes in the build system of Vala projects.
126  * Support conditional compilation.
128 Vala 0.6.0
129 ==========
131  * Improvements to the .gir reader and writer (Didier Ptitjes).
132  * Add librsvg-2.0 bindings (Evan Nemerson).
133  * Add Maemo libosso bindings (Jukka-Pekka Iivonen).
134  * Add V4L2 bindings (Matías De la Puente).
135  * Many bug fixes.
137 Vala 0.5.7
138 ==========
140  * Support signals in static D-Bus clients.
141  * Various improvements to asynchronous method support (Ryan Lortie).
142  * Report unused internal methods.
143  * Extend POSIX bindings.
144  * Add FUSE bindings (John Carr).
145  * Add libdaemon bindings (Jukka-Pekka Iivonen).
146  * Many bug fixes.
148 Vala 0.5.6
149 ==========
151  * Do not require libgee for custom indexer access.
152  * Add Log.FILE, Log.LINE, and Log.METHOD constants.
153  * Various improvements to the .gir reader.
154  * Add Lua bindings (pancake and Phil Housley).
155  * Add MySQL bindings (Jukka-Pekka Iivonen).
156  * Add partial POSIX bindings.
157  * Many bug fixes.
159 Vala 0.5.5
160 ==========
162  * Improve syntax of owned property getters.
163  * Add --enable-deprecated and --enable-experimental commandline options.
164  * Remove --disable-non-null commandline option.
165  * Many bug fixes.
167 Vala 0.5.4
168 ==========
170  * Support array initializers as expressions.
171  * Support += to efficiently append elements to arrays.
172  * Calculate length for null-terminated arrays.
173  * Support initializers for multi-dimensional arrays.
174  * Add `owned' keyword to replace `#'.
175  * Various fixes in coroutine support.
176  * Support boxed structs as GObject properties.
177  * Many bug fixes.
179 Vala 0.5.3
180 ==========
182  * Rewrite D-Bus server support to directly use libdbus.
183  * Register structs as boxed types.
184  * Improve error reporting on invalid code.
185  * Support private class fields and class destructors.
186  * Add partial raptor and rasqal bindings.
187  * Drop vala-gen-project, moved to vtg.
188  * Many bug fixes.
190 Vala 0.5.2
191 ==========
193  * Report uninitialized local variables.
194  * Report unused fields, methods, and local variables.
195  * Fix error handling in complex statements.
196  * Improve support for generic types.
197  * Support parameter arrays in bindings.
198  * Do not require libgee for foreach statements.
199  * Support enums in D-Bus clients and servers.
200  * Support structs in hash tables in D-Bus servers.
201  * Experimental static D-Bus client support.
202  * Add --dump-tree commandline option to write code tree to file.
203  * Many bug fixes.
205 Vala 0.5.1
206 ==========
208  * Support type checks for error domains and error codes.
209  * Experimental support for yield statements and coroutines.
210  * Support GValue and GHashTable in D-Bus clients.
211  * Various improvements to the .gir reader.
212  * Drop deprecated support for static classes.
213  * Modularize code generator.
214  * Many bug fixes.
216 Vala 0.4.0
217 ==========
219  * Support more flexible constructors.
220  * Partial support for reading and writing .gir files.
221  * Improve compiler performance.
222  * Copy arrays where necessary.
223  * Basic support for static properties.
224  * Partial support for struct holding object references.
225  * Add tracker indexer bindings (Roberto Majadas)
226  * Updates to the GLib, GTK+, and GStreamer bindings.
227  * Many bug fixes.
229 Vala 0.3.5
230 ==========
232  * Notify on property changes by default (Jared Moore)
233  * Add unique-1.0 bindings (Phil Housley)
234  * Updates to the GLib, GTK+, and GStreamer bindings.
235  * Many bug fixes.
237 Vala 0.3.4
238 ==========
240  * Various improvements to D-Bus client and service support.
241  * Basic support for detailed signals.
242  * Check types of printf arguments.
243  * Support `in' operator for Gee.Collection and Gee.Map (Jamie McCracken)
244  * Add libgsf-1 bindings (Michael Lawrence)
245  * Add loudmouth-1.0 bindings (Ali Sabil)
246  * Updates to the GLib, GTK+, and GStreamer bindings.
247  * Many bug fixes.
249 Vala 0.3.3
250 ==========
252  * Support overriding default method handlers of signals.
253  * Support dynamic access to properties and signals of GObjects.
254  * Experimental support for nullable value types.
255  * Improve support for classes not deriving from GLib.Object.
256  * Support """verbatim strings""".
257  * Add parser for Genie (Jamie McCracken)
258  * Experimental support for arrays of arrays.
259  * Documentation improvements (Phil Housley)
260  * Improvements to D-Bus support (Ali Sabil, Philip Van Hoof, Yu Feng)
261  * Add libepc-1.0 bindings (Ali Sabil)
262  * Add libtiff bindings (Christian Meyer)
263  * Updates to the GStreamer bindings (Ali Sabil and Jaap A. Haitsma)
264  * Many bug fixes and performance improvements.
266 Vala 0.3.2
267 ==========
269  * Add support for class constructors, class fields, and class methods.
270  * Various improvements to methods in D-Bus services.
271  * Add support for properties and signals in D-Bus services (Yu Feng)
272  * Add Time API to GLib bindings.
273  * Documentation improvements (Phil Housley)
274  * Updates to the GLib and GTK+ bindings.
275  * Many bug fixes.
277 Vala 0.3.1
278 ==========
280  * Enable non-null types by default.
281  * Add --disable-non-null commandline option.
282  * New handwritten parser.
283  * Support virtual methods in interfaces.
284  * Add `dynamic' type modifier for D-Bus client support.
285  * Add experimental support for writing D-Bus services.
286  * Don't require `new' operator for structs.
287  * Warn when using deprecated syntax.
288  * Add libsexy bindings (Evan Nemerson)
289  * Updates to the GLib and GTK+ bindings.
290  * Many bug fixes.
292 Vala 0.2.0
293 ==========
295  * Support nested namespaces.
296  * Support static constructors.
297  * Register enums with GType (Marc-André Lureau)
298  * Small syntax change for default values of properties.
299  * Add --verbose commandline option (Daniel Silverstone)
300  * Improve pointer support.
301  * Add GNOME Keyring bindings (Andrea Del Signore)
302  * Add SDL bindings (Levi Bard)
303  * Add libftdi bindings (Evan Nemerson)
304  * Updates to the GLib, GTK+, GStreamer, and SQLite bindings.
305  * Many bug fixes all over the place.
307 Vala 0.1.7
308 ==========
310  * Support private property accessors.
311  * Support default values for properties.
312  * Improve support for array length and delegate target parameters.
313  * Improve delegate and signal handler support.
314  * Introduce new syntax to declare errordomains.
315  * Improve exception support.
316  * Report errors for missing return statements.
317  * Report warnings for unreachable code.
318  * Improve support for generic types.
319  * Support pointer member access and pointer element access.
320  * Support pointer arithmetic.
321  * Add --quiet commandline option (Emmanuele Bassi)
322  * Add WebKit bindings.
323  * Add JSON-GLib bindings (Ali Sabil)
324  * Add goocanvas bindings (Roberto Majadas)
325  * Add hildon-fm-2 bindings (Levi Bard)
326  * Add taglib bindings (Andreas Brauchli)
327  * Add libusb bindings (Evan Nemerson)
328  * Add bzip2 bindings (Maciej Piechotka)
329  * Updates to the GLib, GTK+, GStreamer, and libsoup bindings.
330  * Fixes for Windows.
331  * Many bug fixes.
333 Vala 0.1.6
334 ==========
336  * Add support for instance delegates.
337  * Support conditional method compilation.
338  * Add support for nested generic types.
339  * Add size_t and ssize_t.
340  * Use non-null types by default with --enable-non-null option.
341  * Limited support for nullable types.
342  * Add basic support for method pre- and postconditions.
343  * Improve pointer support.
344  * Always enable memory management.
345  * Add libgnome-menu bindings (Roberto Majadas)
346  * Add liboobs-1 bindings (Roberto Majadas)
347  * Updates to the GLib, GTK+, GStreamer, SQLite, and libxml2 bindings.
348  * Small documentation improvements.
349  * Many bug fixes.
351 Vala 0.1.5
352 ==========
354  * Add Vala Project Generator.
355  * Support `in` operator for enums.
356  * Support typeof for generic type parameters.
357  * Replace gidlgen by vala-gen-introspect with a real C parser.
358  * Update all bindings to use vala-gen-introspect.
359  * Fix many gcc warnings.
360  * Fix build with Cygwin and MinGW (Yaakov Selkowitz).
361  * Many bug fixes.
363 Vala 0.1.4
364 ==========
366  * Use .vapi as file extension for bindings.
367  * Add Vala Reference Manual.
368  * Add support for object initializers.
369  * Emit #line directives in debug mode.
370  * Add --basedir option.
371  * Support creation methods in structs.
372  * Add support for [Notify] attribute for properties.
373  * Add experimental support for registering new fundamental classed types.
374  * Improve support for non-GObject classes.
375  * Improve error reporting.
376  * Add vapicheck to verify generated bindings (Mathias Hasselmann).
377  * Drop xml_pp dependency (Alberto Ruiz).
378  * Many bug fixes.
380 Vala 0.1.3
381 ==========
383  * Convert reference-type structs to classes for a more consistent type system.
384  * Support `as` operator (Mathias Hasselmann).
385  * Improve array support.
386  * Experimental D-Bus client support.
387  * Add GConf bindings.
388  * Add libgnome and libgnomeui bindings.
389  * Add Glade bindings.
390  * Add libnotify bindings (Nicolas Christener, Roland Hostettler).
391  * Add GnomeVFS bindings.
392  * Add GtkSourceView bindings.
393  * Add Panel Applet bindings.
394  * Add GNOME Desktop Library bindings.
395  * Add libsoup bindings.
396  * Add libwnck bindings.
397  * Add GtkMozEmbed bindings (Alberto Ruiz).
398  * Add Poppler bindings (Alberto Ruiz).
399  * Add Enchant bindings (Mathias Hasselmann).
400  * Add Hildon bindings (Marcelo Lira).
401  * Add SQLite bindings.
402  * Add curses bindings (Ed Schouten).
403  * Build system fixes (Nicolas Trangez).
404  * Add manual pages for gidlgen and vapigen (Kumar Appaiah).
405  * Many bug fixes all over the place.
407 Vala 0.1.2
408 ==========
410  * Use and support libgee collection library (internal copy for now).
411  * Performance improvements.
412  * Improve support for generic types.
413  * Many memory management fixes.
414  * Add support for inner classes.
415  * Add --cc and -X commandline options to control the C compiler.
416  * Use GSlice for reference-type structs.
417  * Add experimental GStreamer bindings.
419 Vala 0.1.1
420 ==========
422  * Support simple exception handling.
423  * Improve array and string support.
424  * Support multi-dimensional arrays.
425  * Add --thread commandline option.
426  * Improve bindings.
427  * Bug fixes.
429 Vala 0.1.0
430 ==========
432  * Add commandline options for running the C compiler and linker.
433  * Use # modifier for reference transfer in method parameters.
434  * Replace callback keyword by delegate.
435  * Improve and update GLib and GTK+ bindings.
436  * Add experimental GVFS binding.
437  * C89/MSVC portability fixes (Hans Breuer).
438  * Refactor code generator.
439  * Add experimental bindings generator.
440  * Many bug fixes.
442 Vala 0.0.9
443 ==========
445  * Add support for defining new generic classes.
446  * Improve array support.
447  * Memory management fixes.
448  * Improve abstract property support.
449  * Add basic support for flags types.
450  * Improve GLib binding.
451  * Add VTE binding.
452  * Many bug fixes.
454 Vala 0.0.8
455 ==========
457  * Add support for overridden properties.
458  * Support properties and signals in interfaces.
459  * Improve interface runtime suport.
460  * Verify that classes implement all abstract and interface methods.
461  * Basic compile-time support for generic types.
462  * Default to strong references for return values and local variables.
463  * Improve signal support.
464  * Add support for pointers.
465  * Improve support for numeric types.
466  * Support writing GTypeModule-based plug-ins.
467  * Improve manual memory management support.
468  * Improve GTK+ bindings.
469  * Many bug fixes.
471 Vala 0.0.7
472 ==========
474  * New object construction syntax.
475  * Interface implementations don't have to specify override anymore.
476  * Improve interface support.
478 Vala 0.0.6
479 ==========
481  * Improve interface support.
482  * Support do loops.
483  * Improve array support.
484  * Improve enum support.
485  * Add automated testing infrastructure.
486  * Fixes for prefix and postfix operators.
487  * Add more types to GLib bindings.
488  * Many bug fixes.
490 Vala 0.0.5
491 ==========
493  * Support base access.
494  * Support typeof expressions.
495  * Improve array support.
496  * Fix possible memory leak in foreach statements.
497  * Fix many warnings during C compilation.
498  * Improve GTK+ bindings.
500 Vala 0.0.4
501 ==========
503  * Support + operator in strings.
504  * Support unicode character literals.
505  * Add implicit conversions for numeric types.
506  * Improve interface support.
507  * Improve array support.
508  * Support arbitrary signal parameters.
509  * Add threading support.
510  * Support lock statements.
511  * Many improvements to the GTK+ bindings.
513 Vala 0.0.3
514 ==========
516  * Interface fixes.
517  * Support namespace constants.
518  * Support switch statements.
519  * Array creation support.
520  * Provide complete but experimental bindings for GTK+ 2.10 and Cairo 1.2.
521  * Add implicit array length parameter.
522  * Follow package dependencies.
523  * Support hexadecimal and octal integer literals and hexadecimal escape
524    sequences.
525  * Install libvala as shared library.
527 Vala 0.0.2
528 ==========
530  * Support named construction methods.
531  * Basic interface support.
532  * Improve error handling.
533  * Many bug fixes.
536 Vala 0.0.1
537 ==========
539  * Initial release.