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