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