Towards Gnash 0.8.6

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.

The major changes are probably not visible to end-users. There is a new custom GTK widget for Gnash, which is rather more flexible than the old one. Above all, ActionScript interpretation is in the process of a thorough overhaul.

The developer of swfdec, Benjamin Otte, is well known for an apparently scathing criticism of Gnash's code. Despite the fact that Gnash does many things rather better than swfdec (which is a much older project), it must be admitted that swfdec gets some basic things right that Gnash has never been able to do.

These include ActionScript class construction, class inheritance, and generally the construction of objects. It seems surprising that Gnash works as well as it does, given the fact that almost none of these things is implemented properly.

Now we are in the middle of refactoring Gnash so that these problems are fixed. As well as helping towards to the goal of having a fully re-entrant core library (another annoying failing of Gnash), it is also essential for AVM2.

It's unlikely that either re-entrancy or AVM2 will be finished projects by the release date, but at least the advantages of more correct inheritance from built-in and native classes should be felt. The site blip.tv currently won't work in Gnash because of problems with class inheritance. It is fixed for 0.8.6, and is surely not the only site that works much better.