Support methods returning null-terminated arrays
[vala-lang.git] / NEWS
blobda37da1092b447c3f7c8d475889c0db78350eda4
1 Vala 0.5.4
2 ==========
4  * Support array initializers as expressions.
5  * Support += to efficiently append elements to arrays.
6  * Calculate length for null-terminated arrays.
7  * Support initializers for multi-dimensional arrays.
8  * Add `owned' keyword to replace `#'.
9  * Various fixes in coroutine support.
10  * Support boxed structs as GObject properties.
11  * Many bug fixes.
13 Vala 0.5.3
14 ==========
16  * Rewrite D-Bus server support to directly use libdbus.
17  * Register structs as boxed types.
18  * Improve error reporting on invalid code.
19  * Support private class fields and class destructors.
20  * Add partial raptor and rasqal bindings.
21  * Drop vala-gen-project, moved to vtg.
22  * Many bug fixes.
24 Vala 0.5.2
25 ==========
27  * Report uninitialized local variables.
28  * Report unused fields, methods, and local variables.
29  * Fix error handling in complex statements.
30  * Improve support for generic types.
31  * Support parameter arrays in bindings.
32  * Do not require libgee for foreach statements.
33  * Support enums in D-Bus clients and servers.
34  * Support structs in hash tables in D-Bus servers.
35  * Experimental static D-Bus client support.
36  * Add --dump-tree commandline option to write code tree to file.
37  * Many bug fixes.
39 Vala 0.5.1
40 ==========
42  * Support type checks for error domains and error codes.
43  * Experimental support for yield statements and coroutines.
44  * Support GValue and GHashTable in D-Bus clients.
45  * Various improvements to the .gir reader.
46  * Drop deprecated support for static classes.
47  * Modularize code generator.
48  * Many bug fixes.
50 Vala 0.4.0
51 ==========
53  * Support more flexible constructors.
54  * Partial support for reading and writing .gir files.
55  * Improve compiler performance.
56  * Copy arrays where necessary.
57  * Basic support for static properties.
58  * Partial support for struct holding object references.
59  * Add tracker indexer bindings (Roberto Majadas)
60  * Updates to the GLib, GTK+, and GStreamer bindings.
61  * Many bug fixes.
63 Vala 0.3.5
64 ==========
66  * Notify on property changes by default (Jared Moore)
67  * Add unique-1.0 bindings (Phil Housley)
68  * Updates to the GLib, GTK+, and GStreamer bindings.
69  * Many bug fixes.
71 Vala 0.3.4
72 ==========
74  * Various improvements to D-Bus client and service support.
75  * Basic support for detailed signals.
76  * Check types of printf arguments.
77  * Support `in' operator for Gee.Collection and Gee.Map (Jamie McCracken)
78  * Add libgsf-1 bindings (Michael Lawrence)
79  * Add loudmouth-1.0 bindings (Ali Sabil)
80  * Updates to the GLib, GTK+, and GStreamer bindings.
81  * Many bug fixes.
83 Vala 0.3.3
84 ==========
86  * Support overriding default method handlers of signals.
87  * Support dynamic access to properties and signals of GObjects.
88  * Experimental support for nullable value types.
89  * Improve support for classes not deriving from GLib.Object.
90  * Support """verbatim strings""".
91  * Add parser for Genie (Jamie McCracken)
92  * Experimental support for arrays of arrays.
93  * Documentation improvements (Phil Housley)
94  * Improvements to D-Bus support (Ali Sabil, Philip Van Hoof, Yu Feng)
95  * Add libepc-1.0 bindings (Ali Sabil)
96  * Add libtiff bindings (Christian Meyer)
97  * Updates to the GStreamer bindings (Ali Sabil and Jaap A. Haitsma)
98  * Many bug fixes and performance improvements.
100 Vala 0.3.2
101 ==========
103  * Add support for class constructors, class fields, and class methods.
104  * Various improvements to methods in D-Bus services.
105  * Add support for properties and signals in D-Bus services (Yu Feng)
106  * Add Time API to GLib bindings.
107  * Documentation improvements (Phil Housley)
108  * Updates to the GLib and GTK+ bindings.
109  * Many bug fixes.
111 Vala 0.3.1
112 ==========
114  * Enable non-null types by default.
115  * Add --disable-non-null commandline option.
116  * New handwritten parser.
117  * Support virtual methods in interfaces.
118  * Add `dynamic' type modifier for D-Bus client support.
119  * Add experimental support for writing D-Bus services.
120  * Don't require `new' operator for structs.
121  * Warn when using deprecated syntax.
122  * Add libsexy bindings (Evan Nemerson)
123  * Updates to the GLib and GTK+ bindings.
124  * Many bug fixes.
126 Vala 0.2.0
127 ==========
129  * Support nested namespaces.
130  * Support static constructors.
131  * Register enums with GType (Marc-AndrĂ© Lureau)
132  * Small syntax change for default values of properties.
133  * Add --verbose commandline option (Daniel Silverstone)
134  * Improve pointer support.
135  * Add GNOME Keyring bindings (Andrea Del Signore)
136  * Add SDL bindings (Levi Bard)
137  * Add libftdi bindings (Evan Nemerson)
138  * Updates to the GLib, GTK+, GStreamer, and SQLite bindings.
139  * Many bug fixes all over the place.
141 Vala 0.1.7
142 ==========
144  * Support private property accessors.
145  * Support default values for properties.
146  * Improve support for array length and delegate target parameters.
147  * Improve delegate and signal handler support.
148  * Introduce new syntax to declare errordomains.
149  * Improve exception support.
150  * Report errors for missing return statements.
151  * Report warnings for unreachable code.
152  * Improve support for generic types.
153  * Support pointer member access and pointer element access.
154  * Support pointer arithmetic.
155  * Add --quiet commandline option (Emmanuele Bassi)
156  * Add WebKit bindings.
157  * Add JSON-GLib bindings (Ali Sabil)
158  * Add goocanvas bindings (Roberto Majadas)
159  * Add hildon-fm-2 bindings (Levi Bard)
160  * Add taglib bindings (Andreas Brauchli)
161  * Add libusb bindings (Evan Nemerson)
162  * Add bzip2 bindings (Maciej Piechotka)
163  * Updates to the GLib, GTK+, GStreamer, and libsoup bindings.
164  * Fixes for Windows.
165  * Many bug fixes.
167 Vala 0.1.6
168 ==========
170  * Add support for instance delegates.
171  * Support conditional method compilation.
172  * Add support for nested generic types.
173  * Add size_t and ssize_t.
174  * Use non-null types by default with --enable-non-null option.
175  * Limited support for nullable types.
176  * Add basic support for method pre- and postconditions.
177  * Improve pointer support.
178  * Always enable memory management.
179  * Add libgnome-menu bindings (Roberto Majadas)
180  * Add liboobs-1 bindings (Roberto Majadas)
181  * Updates to the GLib, GTK+, GStreamer, SQLite, and libxml2 bindings.
182  * Small documentation improvements.
183  * Many bug fixes.
185 Vala 0.1.5
186 ==========
188  * Add Vala Project Generator.
189  * Support `in` operator for enums.
190  * Support typeof for generic type parameters.
191  * Replace gidlgen by vala-gen-introspect with a real C parser.
192  * Update all bindings to use vala-gen-introspect.
193  * Fix many gcc warnings.
194  * Fix build with Cygwin and MinGW (Yaakov Selkowitz).
195  * Many bug fixes.
197 Vala 0.1.4
198 ==========
200  * Use .vapi as file extension for bindings.
201  * Add Vala Reference Manual.
202  * Add support for object initializers.
203  * Emit #line directives in debug mode.
204  * Add --basedir option.
205  * Support creation methods in structs.
206  * Add support for [Notify] attribute for properties.
207  * Add experimental support for registering new fundamental classed types.
208  * Improve support for non-GObject classes.
209  * Improve error reporting.
210  * Add vapicheck to verify generated bindings (Mathias Hasselmann).
211  * Drop xml_pp dependency (Alberto Ruiz).
212  * Many bug fixes.
214 Vala 0.1.3
215 ==========
217  * Convert reference-type structs to classes for a more consistent type system.
218  * Support `as` operator (Mathias Hasselmann).
219  * Improve array support.
220  * Experimental D-Bus client support.
221  * Add GConf bindings.
222  * Add libgnome and libgnomeui bindings.
223  * Add Glade bindings.
224  * Add libnotify bindings (Nicolas Christener, Roland Hostettler).
225  * Add GnomeVFS bindings.
226  * Add GtkSourceView bindings.
227  * Add Panel Applet bindings.
228  * Add GNOME Desktop Library bindings.
229  * Add libsoup bindings.
230  * Add libwnck bindings.
231  * Add GtkMozEmbed bindings (Alberto Ruiz).
232  * Add Poppler bindings (Alberto Ruiz).
233  * Add Enchant bindings (Mathias Hasselmann).
234  * Add Hildon bindings (Marcelo Lira).
235  * Add SQLite bindings.
236  * Add curses bindings (Ed Schouten).
237  * Build system fixes (Nicolas Trangez).
238  * Add manual pages for gidlgen and vapigen (Kumar Appaiah).
239  * Many bug fixes all over the place.
241 Vala 0.1.2
242 ==========
244  * Use and support libgee collection library (internal copy for now).
245  * Performance improvements.
246  * Improve support for generic types.
247  * Many memory management fixes.
248  * Add support for inner classes.
249  * Add --cc and -X commandline options to control the C compiler.
250  * Use GSlice for reference-type structs.
251  * Add experimental GStreamer bindings.
253 Vala 0.1.1
254 ==========
256  * Support simple exception handling.
257  * Improve array and string support.
258  * Support multi-dimensional arrays.
259  * Add --thread commandline option.
260  * Improve bindings.
261  * Bug fixes.
263 Vala 0.1.0
264 ==========
266  * Add commandline options for running the C compiler and linker.
267  * Use # modifier for reference transfer in method parameters.
268  * Replace callback keyword by delegate.
269  * Improve and update GLib and GTK+ bindings.
270  * Add experimental GVFS binding.
271  * C89/MSVC portability fixes (Hans Breuer).
272  * Refactor code generator.
273  * Add experimental bindings generator.
274  * Many bug fixes.
276 Vala 0.0.9
277 ==========
279  * Add support for defining new generic classes.
280  * Improve array support.
281  * Memory management fixes.
282  * Improve abstract property support.
283  * Add basic support for flags types.
284  * Improve GLib binding.
285  * Add VTE binding.
286  * Many bug fixes.
288 Vala 0.0.8
289 ==========
291  * Add support for overridden properties.
292  * Support properties and signals in interfaces.
293  * Improve interface runtime suport.
294  * Verify that classes implement all abstract and interface methods.
295  * Basic compile-time support for generic types.
296  * Default to strong references for return values and local variables.
297  * Improve signal support.
298  * Add support for pointers.
299  * Improve support for numeric types.
300  * Support writing GTypeModule-based plug-ins.
301  * Improve manual memory management support.
302  * Improve GTK+ bindings.
303  * Many bug fixes.
305 Vala 0.0.7
306 ==========
308  * New object construction syntax.
309  * Interface implementations don't have to specify override anymore.
310  * Improve interface support.
312 Vala 0.0.6
313 ==========
315  * Improve interface support.
316  * Support do loops.
317  * Improve array support.
318  * Improve enum support.
319  * Add automated testing infrastructure.
320  * Fixes for prefix and postfix operators.
321  * Add more types to GLib bindings.
322  * Many bug fixes.
324 Vala 0.0.5
325 ==========
327  * Support base access.
328  * Support typeof expressions.
329  * Improve array support.
330  * Fix possible memory leak in foreach statements.
331  * Fix many warnings during C compilation.
332  * Improve GTK+ bindings.
334 Vala 0.0.4
335 ==========
337  * Support + operator in strings.
338  * Support unicode character literals.
339  * Add implicit conversions for numeric types.
340  * Improve interface support.
341  * Improve array support.
342  * Support arbitrary signal parameters.
343  * Add threading support.
344  * Support lock statements.
345  * Many improvements to the GTK+ bindings.
347 Vala 0.0.3
348 ==========
350  * Interface fixes.
351  * Support namespace constants.
352  * Support switch statements.
353  * Array creation support.
354  * Provide complete but experimental bindings for GTK+ 2.10 and Cairo 1.2.
355  * Add implicit array length parameter.
356  * Follow package dependencies.
357  * Support hexadecimal and octal integer literals and hexadecimal escape
358    sequences.
359  * Install libvala as shared library.
361 Vala 0.0.2
362 ==========
364  * Support named construction methods.
365  * Basic interface support.
366  * Improve error handling.
367  * Many bug fixes.
370 Vala 0.0.1
371 ==========
373  * Initial release.