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