Our next release of Gnash, 0.8.7, is due in February, and it comes with plenty of changes. This is the first of a couple of posts explaining what I've been working on since the last release and where you can expect improvements.
The inflexible design we inherited from GameSWF is gradually improving to the point where Gnash almost has a stable API for some of its central classes. You still can't rely on it staying the same, but the better design that's emerging (and the fact that Gnash has a design at all now) means that any changes should be limited.
Haikuzone reports that Gnash runs quite nicely on the Haiku operating system, an open-source implementation of the defunct operating system BeOS.
Since there is no official Haiku release of the proprietary Adobe Flash player (and quite likely never will be), Gnash is the only way to see some web content for Haiku users.
Gnash apparently runs in Google's new(ish) web browser, so for flash-addicts who insist on using Chrome, see rootninja's blog for a howto!
On gershon's YouTube channel is an an interesting example of Gnash's flexibility (and what you can do with some sideways thinking):
Gnash is used with some lua bindings to render a flash movie inside a 3-D game. This makes it possible to use any SWF as an interactive UI that can be developed and tested outside the game - even in a web browser.
The release of Gnash 0.8.6 is scheduled for September, though from experience it's not unlikely to become October.
There are no world-shattering changes so far in this release. The interns for Gnash's summerbash contributed some useful text handling improvement. Some new classes are implemented, and there are the usual minor bugfixes, including some very long-standing ones. It was nice finally to get them off the bug tracker after almost two years. Debugging real SWFs can be a time-consuming exercise.
I wrote a small plugin for Supybot, an IRC bot written in Python, to keep track of the main Gnash repository for our Freenode channel #gnash. The channel bot GnashGordon can show commit log messages, the current status of the repository, and generate diffs. It's now available under the GPL v3 at https://code.launchpad.net/supybot-bzr in - of course - a bzr repository.
There isn't a great demand for this sort of thing, but it seems to be the only such plugin out there, and of course it can be greatly improved if anyone has the time and motivation to do it.
Gnash version 0.8.5 has been released. Official release tarballs can be found at http://ftp.gnu.org/pub/gnu/gnash/0.8.5/
There isn't as much major redesigning for this release, but many smaller rewrites and bug fixes that improve Gnash's compatibility. Above all, many more video sites work (up to SWF version 8).
It took about a day to get Gnash built and more or less running on OpenSolaris. Surprisingly few dependencies are missing, but the ones that are (mainly the Boost C++ libraries) aren't that easy to build.
So the packages I needed to build were:
- bazaar (for retrieving Gnash trunk)
- bjam (for building boost)
- boost 1.37
- AGG 2.5 (Anti-Grain Geometry renderer)