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