Seed 0.3 - The New Year's Release

2009.01.02 in code and gnome

Robb, Matt, and I finally wrapped our the second Seed release this week! It's the cumulation of almost two months of continued work...

I completely updated the tutorial, and it uses a new coding style which we're going to use universally from now on (I also partially updated Lights Off to this style...) It should definitely work on Fedora now, too!

There are packages for Seed in our PPA, if you use Ubuntu. Matt has provided us with a Arch package that builds from SVN, as well. Otherwise, grab it from SVN and build it yourself:

svn://svn.gnome.org/svn/seed/trunk

A slightly shortened version of the Changelog, after the jump...

Seed 0.3, Wednesday Morning 3AM (2009.01.01)

  • Memory usage is excellent, finally.
  • Innumerable bug fixes.
  • Structs work now! Things like GdkRectangle: you can allocate them, get at their members, etc.
  • GObject subclassing, which was rushed in to a 0.1 point release, is reliable now! We've also added signal installation.
  • Multiple context support, rather than the silly global context.
  • Support for string array argument conversion.
  • C extension Modules (readline, Multiprocessing/pipes, sqlite3, canvas)
  • 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.
  • 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.
  • External API is pretty usable now, and comes with a turtle graphics example.
  • Threading sort of works now. It's rather unpredictable, but async callbacks and stuff are fine.
  • Many more Seed examples. Ranging from a 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.
  • New builtins: Seed.spawn, Seed.repl/glib_repl/thread_repl. They're all somewhat useful for debugging.
  • Removed builtin: Seed.prototype: Now use Gtk.Window.prototype
  • Removed builtins: Seed.closure/Seed.closure_native: automatically handeled
  • Removed builtin: Seed.readline: Moved to readline module.