The release of Gnash 0.8.8 brings various improvements to rendering, ActionScript execution, compatibility, and flexibility.

But the most significant change is more of a removal than an addition: Gnash no longer has any AVM2 code. AVM2, the ActionScript Virtual Machine introduced in the Flash player 9, is increasingly used in new Flash movies.

It was becoming clear that the original implementation (started in about 2006) of the newer ActionScript Virtual Machine was fundamentally flawed. So fundamentally that it was obstructing code for the old virtual machine without any benefit to Gnash at all.

Gnash is now completely compilable and optimizable with the LLVM frontend Clang. The AGG renderer headers have one C++ bug that causes an error. This needs to be fixed externally if you want to use that renderer, as it seems legitimate for a compiler to reject it (even if GCC doesn't).

Clang has already helped to find a few bugs in Gnash. Some warnings picked up things that GCC missed. And most interestingly, there were cases where Gnash's behaviour was relying on the order of evaluating function arguments.

Finally, the Flash Platform has a rich developer ecosystem of both open and proprietary tools and technologies, including developer IDEs and environments such as FDT, IntelliJ, and haXe; open source runtimes such as Gnash; and open source video servers such as Red5.
[2010-05-17]