Seed 0.3

After much longer than intended, I'm happy to announce another release of 
Seed. ChangeLog below.

Tarballs can be found at: (Please use 0.3.1, 0.3 was botched)
For those not aware, Seed is a library and standalone interpreter providing 
a bridge between GObject (through GObject-introspection) 
and WebKit's JavaScriptCore, and an API for providing
additional types/embedding. It is suitable for writing standalone applications,
or using as an extension language in your project. 

In short, it provides a set of bindings between the GNOME 
platform and JavaScript (a fast, and lean Javascript interpreter at that).

With this release, I'm much more able to suggest seriously using Seed
than 0.1, as I believe it is in fact (seriously) usable now, for small to 
medium scope projects.

Please see for some short usage examples, or look in the tarballs/SVN for a wide range of examples spanning many common
libraries. In particular lightsoff is an example of a cute game written
in Seed with Clutter.

I still haven't set up a bugzilla, so in the meantime, please feel free
to email me
with any issues, questions, or general thoughts. I'd also appreciate it
if people
could let me know of things they are using it for, and maybe I could
start keeping a 
list on the wiki page.

Seed will be syncing up with the GNOME cycle, and as a result I plan to
make a 0.4
release on the 19th of January, with some useful additions, and a lot of polish
to the 0.3 features.

Happy hacking,

A somewhat disorganized ChangeLog since 0.1 is available:

== Seed 0.3, Wednesday Morning 3AM (2008.12.31) ==

* Lots of memory changes. Memory usage isn't bad anymore, 
  reference counting actually works (no big leaks or anything anymore
  ...there are still a few very small ones you can trigger). 
  Memory usage of most of the examples after they've loaded,
  has about halved (or more in cases like the browser) since 0.1, 
  and now compares very favorably to other
  dynamic languages. Lots of g_slice_alloc, which comes off
  quite nicely when creating bunches of small structs like ClutterColor.

* Innumerable bug fixes.

* Structs work now! Things like GdkRectangle: you can allocate them,
  get at their members, etc.
    * Including struct "literals, i.e." stage.set_color({red: 255, alpha: 

* GObject subclassing, which was rushed in to a 0.1 point release,
  is reliable now! signal installation too.

* Multiple context support, rather than the silly global context.

* Support for string array argument conversion.

* C extension Modules
    * readline
    * Multiprocessing -- Simple IPC pipes. Just an example, really.
    * sqlite
    * canvas -- A little, toy, mostly functional but incomplete HTML Canvas
                implementation. May be useful until we have cairo bindings.
                Supports SVG/PDF output.

* Signals use userdata now. The 'this' argument was removed,
  as it really just lead to organizational issues.

* object.signal.connect is defined for connecting by strings
  (allows for connecting to detailed signals, like property notifications)

* 'out' arguments of methods work, granted in a rather poor fashion,
  not sure of the best way to do this yet.

* Enums use Gtk.WindowType.Normal instead of Gtk.WindowType.normal,
  may break existing code in subtle ways (as Gtk.WindowType.normal
  will now be JavaScript null).

* Licensing update - libseed is LGPL. The trivial examples are BSD,
  the more complete ones are GPL.

* Lots of leaks fixed, and also some reference bugs that lead to crashing.

* External API is pretty usable now.

* External API example (Turtle Graphics)

* Threading sort of works now. It's rather unpredictable,
  but async callbacks and stuff are fine.

* Many more Seed examples. Ranging from Gnio Server, to threading. The
  browser example is pretty neat now, and has sqlite bookmarks, WebInspector,
  and a few other tidbits. lightsoff and browser are the two highlight examples
  to play with.

* Skeleton GTK-Doc for API 

* New builtins: Seed.spawn, Seed.repl/glib_repl/thread_repl.
  Kind of useful for debugging. 

* Removed builtins: Seed.prototype: Now use Gtk.Window.prototype 
		    Seed.closure, Automatically handled now.
                    Seed.closure_native, automagic.
                    Seed.readline, moved in to module.




[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]