White space fix
[gnome.seed] / NEWS
1 == Seed 2.29.90, "Fort Nightly" (2010.02.08) ==
2
3 * To avoid potential filename collisions, the imports system now supports:
4   imports['somedir/somefile.js'] (Alan Knowles)
5
6 * Fix crash involving gtk_tree_model_get_value (Alan Knowles)
7
8 * Fix subtle crash in DBus bindings (Rob Taylor)
9
10 == Seed 2.29.5.3, "Twist and Shout" (2010.01.11) ==
11
12 * Pass null structs through as "null" instead of empty seed_structs
13
14 * Revert one of the 64-bit type safety commits from 2.29.5.2 until someone
15   can take a closer look at it; it broke enum typing on Linux
16
17 * Fix potential segfault in various modules (missing null sentinels)
18
19 == Seed 2.29.5.2, "Third Stage" (2010.01.07) ==
20
21 * Move tests to automake-style 'make check', away from the previous,
22   Python-based 'make test' tool; all tests are now assertion-based, instead of
23   the previous output-based style
24
25 * Fix various segfaults on Mac OS X (and possibly *BSD) related to 64-bit type
26   safety problems
27
28 * Fix functionality of out arguments
29
30 * Interpreter now returns non-zero status code if it exits with an exception
31
32 == Seed 2.29.5.1, "Achtung Baby" (2010.01.01) ==
33
34 * Fix "duplicate symbol" errors on non-Linux platforms
35
36 == Seed 2.29.5, "Icky Thump" (2009.01.01) ==
37
38 * Fix build on non-GNU platforms (primarily Mac OS X)
39
40 * Distribute the REPL snippet with Seed again; the built-in REPL will work now
41
42 * Fix segfault when accidentally protecting already-garbage-collected values
43
44 * Fix segfault when accidentally unreffing nonexistant GIBaseInfos
45
46 == Seed 2.29.4, "( )" (2009.12.17) ==
47
48 * Improve type conversion portability; add seed_value_(to|from)_(s)size
49   functions.
50
51 * Small random cleanup of unused arguments.
52
53 == Seed 2.29.3 (2009.11.30) ==
54
55 No changes.
56
57 == Seed 2.29.2, "Never Mind the Bollocks" (2009.11.16) ==
58
59 * Change semantics of seed_value_from_string and _from_filename; they 
60   now return JavaScript null if passed a null input value.
61
62 * Seed interpreter adds --version argument
63
64 * libseed adds --seed-version argument
65
66 * Clutter extension wrapper for animate_with_alpha
67
68 == Seed 2.28.0, "The Rise and Fall of Ziggy Stardust and the Spiders
69    from Mars" (2009.09.21) ==
70
71 * First official stable release!
72
73 == Seed 2.27.92, "Metal Machine Music" (2009.09.07) ==
74
75 * Fix a bug in module building; modules are now versionless
76
77 * The instanceof operator now works for GTypes
78
79 * Add global support for G_TYPE_STRV
80
81 == Seed 2.27.91, "Yellow Submarine" (2009.08.21) ==
82
83 * Added seed_context_collect, to provide an interface for forcing
84   garbage collection manually
85
86 == Seed 2.27.90, "London Calling" (2009.08.10) ==
87
88 * Expanded and updated documentation; also available at:
89            http://library.gnome.org/devel/seed/unstable/
90
91 * All JavaScript contexts now have a __script_path__ property, which
92   exposes the absolute, canonical path to the evaluated script
93
94 * Add __init__.js functionality; if an imported folder contains __init__.js,
95   it will be evaluated with the imported context as the 'this' object
96
97 * Fix bug which caused inheritance from a GType created in Seed to fail
98
99 * Add "pretty" property installation, see:
100            tests/javascript/gtypes/gtype-property-nice.js
101
102 * New FFI module, provides an interface for calling non-introspected
103   native C functions from JavaScript
104
105 == Seed 0.8.5, "Self Portrait" (2009.07.10) ==
106
107 * Significant reorganization and expansion of the reference documentation
108
109 * New native modules:
110         * gettext
111         * MPFR (partially complete)
112
113 * Same Seed has moved to the gsoc-seed-games branch of Gnome Games
114   (and will eventually move to master)
115
116 * Add seed-module.h, which includes a handful of macros to make writing modules
117   slightly more attractive. Look at gettext or the reference docs for examples.
118
119 * Prefix native modules with seed_ (libseed_readline.so, etc.); this fixes the
120   need to incessantly 'make clean' seed and cuts down on ambiguity in naming.
121
122 * Add 'seed_value_is_string', 'seed_value_is_number', and
123   'seed_value_is_object_of_class' to libseed
124
125 * Update examples to latest (now frozen) Clutter API changes.
126
127 * Fixes a bug with the importer search path which resulted in the search path
128   being overwritten each time something was imported
129  
130 * The importer now also searches the directory in which the script being
131   executed is located by default.
132
133 == Seed 0.8, "Bringing It All Back Home" (2009.05.27) ==
134
135 * Importer now supports constructing directory objects, to avoid manipulation
136   of search path. Importer directory objects now support property enumeration.
137
138 * Fix small leak in GObject wrapper initialization. (and also simplify
139   the process).
140
141 * GtkBuilder module to handle GtkBuilder automatic signal connection.
142
143 * *_init methods now take normal arrays (by value) in addition to the special
144   Seed.argv array.
145
146 * GObject constructors (init methods) now take "self" as a parameter.
147
148 * Passing non gobject-properties to a GObject constructor will set the
149   properties on the GObject wrapper.
150   
151 * Module documentation rewritten in docbook, and builds one nice manual.
152
153 * New Cairo module, supports most of the cairo API, with automatic memory
154   management and everything you would expect.
155
156 * Fix a reference count leak introduced in the last few releases.
157   in some cases with non INITIALLY_UNOWNED objects.
158
159 * Some work on ClutterPad examples, and writing examples which live inside of it
160   (lots of fun to play with!, cairo example...fun spring example...ClutterBox2D)
161
162 * Working around a WebKit bug (which is actually fixed in SVN now), should
163   prevent a crash that happened sometimes with C modules.
164
165 * Clutter animatev wrapper looks up property type wrapper now, so as to avoid
166   having to pass [GObject.TYPE_FOO, bar]
167
168 * Implement some varargs functions which can be implemented on top of non-vararg
169   variants in JavaScript extensions.
170
171 * JSON stuff (stringify,parse) is now in gnome-js-common.
172
173 * Add seed_value_to_format to API, for converting an Array of SeedValue based
174   on a format string.
175   
176 * Install seed-debug.h so modules can make use of it.
177
178 * Search path now works in nonstandard prefix, default search path includes
179   gnome-js-common moduledir (from pkgconfig).
180   
181 * Support to/from Date objects to time_t.
182
183 == Seed 0.7, "Another Side of Bob Dylan" (2009.05.13) ==
184
185 * Support for library init methods.
186
187 * The REPL now supports multi-line entry.
188
189 * Signal disconnection.
190
191 * Significant Gtk-Doc reorganization.
192
193 * New C modules:
194         * sandbox - provides sandboxed JavaScriptCore contexts.
195         * DBus - Client side DBus bindings.
196         * libxml - XML parsing, XPath, etc.
197
198 * Examples:
199         * New: ClutterPad (initially by Johan Euphrosine).
200         * New: dbus-banshee, dbus-consolekit, dbus-networkmanager
201         * New: xml-dom.js xml-tree.js, xml-xpath.js.
202         * Pango examples have returned.
203         * Same Seed performance is increased significantly.
204         * Many examples now use "recent" style; some were completely rewritten
205         
206 * Improvements to test system, and quite a few more tests.
207
208 * Improvements to error checking/handling in signal code.
209
210 * Reorganization of API related to GClosure handling, much cleaner and easier.
211
212 * Several new API methods.
213
214 * GC related crash fixes.
215
216 * Improvements to seed_value_to_string (mostly formatting improvements).
217
218 * Void methods now properly return undefined instead of null.
219
220 * seed_make_exception takes format strings now.
221
222 == Seed 0.6, "Beatles for Sale" (2009.04.29) ==
223
224 * Significant build fixes and cleanups. Should build on more distros
225   with weird libffis now.
226
227 * Depend on GObject-introspection from GIT.
228
229 * Some API additions.
230
231 * Reimplement Seed.import_namespace in terms of the new imports system,
232   will be entirely deprecated for 0.6.
233
234 * Improve memory management in signals and closures.
235
236 * Rewrite the GType subclassing to avoid using FFI, 
237   saves memory and improves performance.
238
239 * GType "init" now means "constructor" and not "instance init".
240
241 * Signal installation, is now handled by an array on the type definition
242   rather than in class_init (which was clunky and C-like).
243
244 * Lots of new documentation, including a documentation index, a description
245   of the mapping from C to JavaScript, an example index, and updates to
246   the rest of the documentation.
247
248 * Significant cleanup of all of the examples, a lot of them had bit
249   rotted a bit, being written months ago.
250  
251 == Seed 0.5, "Transformer" (2009.04.16) ==
252
253 * Many, many crash fixes.
254
255 * Significantly better base memory usage (on the order of MB) for some apps.
256
257 * Enums use Gtk.WindowType.NORMAL instead of Gtk.WindowType.Normal.
258   This may break existing code in subtle ways (as Gtk.WindowType.Normal
259   will now be JavaScript null).
260
261 * instance_init is now just init when creating new GTypes. This will require 
262   changes in any code using subclassing.
263
264 * Enum types are validated when passed in to functions now.
265
266 * Complete rewrite of import system, spanning GObject Introspection namespaces, 
267   native modules, and JavaScript files, which is compatible with Gjs.
268
269 * Along with above, deprecate Seed.import_namespace.
270
271 * New 'os' module, similar to that of Python. Provides access to a significant
272   quantity of low-level system features unavailable from GLib.
273
274 * Significant updates to Canvas module - most features are compatible with the
275   Mozilla/WebKit implementations at this point.
276
277 * Clutter 0.9 animation API wrappers.
278
279 * Add seed_repl_expose; gives the ability to drop to a JavaScript REPL from
280   within C, and magically expose JSValueRefs to JS in a simple way.
281
282 * Seed.readline history persists between sessions (stored in ~/.seed_history)
283
284 * Support for several more array types.
285
286 * Added Seed.breakpoint(), which inserts a breakpoint instruction.
287
288 * API additions: Lots of API additions. Including a significant amount 
289 of API documentation.
290
291 * New examples:
292     * opengl-glib examples (teapot, gears, triangle)
293     * Gtk Twitter client (from the Ars Technica article)
294     * Same Seed (Clutter 0.9 rewrite of Same Gnome)
295     * Clutter-COGL example
296     * Reddit client (Gio and JSON)
297     * Library of Clutter "slide transitions"
298     * Rewrote clutter example for 0.9
299
300 * The Lights Off example now lives in Gnome Games.
301
302 == Seed 0.3, "Wednesday Morning 3AM" (2008.12.31) ==
303
304 * Lots of memory changes. Memory usage isn't bad anymore, 
305   reference counting actually works (no big leaks or anything anymore
306   ...there are still a few very small ones you can trigger). 
307   Memory usage of most of the examples after they've loaded,
308   has about halved (or more in cases like the browser) since 0.1, 
309   and now compares very favorably to other
310   dynamic languages. Lots of g_slice_alloc, which comes off
311   quite nicely when creating bunches of small structs like ClutterColor.
312
313 * Innumerable bug fixes.
314
315 * Structs work now! Things like GdkRectangle: you can allocate them,
316   get at their members, etc.
317     * Including struct "literals, i.e." stage.set_color({red: 255, alpha: 220}).
318
319 * GObject subclassing, which was rushed in to a 0.1 point release,
320   is reliable now! signal installation too.
321
322 * Multiple context support, rather than the silly global context.
323
324 * Support for string array argument conversion.
325
326 * C extension Modules
327     * readline
328     * Multiprocessing -- Simple IPC pipes. Just an example, really.
329     * sqlite
330     * canvas -- A little, toy, mostly functional but incomplete HTML Canvas
331                 implementation. May be useful until we have cairo bindings.
332                 Supports SVG/PDF output.
333
334 * Signals use userdata now. The 'this' argument was removed,
335   as it really just lead to organizational issues.
336
337 * object.signal.connect is defined for connecting by strings
338   (allows for connecting to detailed signals, like property notifications)
339
340 * 'out' arguments of methods work, granted in a rather poor fashion,
341   not sure of the best way to do this yet.
342
343 * Enums use Gtk.WindowType.Normal instead of Gtk.WindowType.normal,
344   may break existing code in subtle ways (as Gtk.WindowType.normal
345   will now be JavaScript null).
346
347 * Licensing update - libseed is LGPL. The trivial examples are BSD,
348   the more complete ones are GPL.
349
350 * Lots of leaks fixed, and also some reference bugs that lead to crashing.
351
352 * External API is pretty usable now.
353
354 * External API example (Turtle Graphics)
355
356 * Threading sort of works now. It's rather unpredictable,
357   but async callbacks and stuff are fine.
358
359 * Many more Seed examples. Ranging from Gnio Server, to threading. The
360   browser example is pretty neat now, and has sqlite bookmarks, WebInspector,
361   and a few other tidbits. lightsoff and browser are the two highlight examples
362   to play with.
363
364 * Skeleton GTK-Doc for API 
365
366 * New builtins: Seed.spawn, Seed.repl/glib_repl/thread_repl.
367   Kind of useful for debugging. 
368
369 * Removed builtins: Seed.prototype: Now use Gtk.Window.prototype 
370                     Seed.closure, Automatically handled now.
371                     Seed.closure_native, automagic.
372                     Seed.readline, moved in to module.