Is Moonlight running to catch up with Silverlight or has it plans to overtake it? Version 4 has some interesting graphics features and it is even easier to port it to other platforms - including Android and OSX.
Microsoft may not be 100% sure of Silverlight but the Mono project (sponsored by Novell) is pushing ahead with its Linux implementation of Silverlight - Moonlight. The latest is version 4 and while this isn't keeping up with the Silverlight version numbers if promises to support all Silverlight 3 features and a lot of Silverlight 4 features. Of course Microsoft has promised a version 5 some time later in the year. Probably in an effort to keep up the Moonlight developers have opted to skip a final release of version 3 and are planning to move directly to version 4.
The important new features include out of browser execution mode, H.264 and ACC support, GPU acceleration complete with 3D transformations and shaders. It also extends web browser support to Google Chrome.
The use of the GPU is something that currently is only possible in Silverlight 4 in out-of-browser applications or when explicitly turned on in browser apps. It also cannot accelerate shaders or perspective transformations. Overall version 4 of Moonlight makes more extensive use of the GPU than Silverlight.
Moonlight 3D graphics are provided by the Gallium3D open source rendering backend. This will either render using software alone or if the host system has OpenGL installed it will use it to render using the GPU.
Moonlight 4 also uses a new platform abstraction layer which is intended to make it possible to port it to non-Linux or non-X11 environments. The Moonlight team have also done some basic tests on running it on both MacOS and Android. Clearly an Android implementation would be an interesting alternative for Windows Phone 7 programmers.