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