Code has been released for the open-source version of Silverlight that closes the gap on the as-yet-unfinished next version of Microsoft's browser-based media player.
Moonlight 2.0 has been delivered for preview featuring APIs from Microsoft's Silverlight 3.0 that the project's organizers said it made sense to add. Moonlight puts Microsoft's Silverlight on Linux and Unix.
Moonlight 2.0 is modeled on Silverlight 2.0 but since work began on the second version of Moonlight, Microsoft released a beta for the third edition of Silverlight with final code expected later this year.
Silverlight 3.0 brings major changes in workflow, video streaming, and hardware acceleration. Plus, there's the ability to drag content built in Silverlight out of the browser to run on the desktop.
APIs from Silverlight 3.0 in the second Moonlight will also let content run outside the browser using some manual tweaking, let you safely save content authored in Silverlight, provide expanded support for Silverlight's DeepZoom, and let you write codecs in managed code. You can see a list of the Silverlight 3.0 APIs included here.
Last October, Moonlight's organizers promised feature parity with the latest, official release of Silverlight - version 2.0 - in Moonlight 2.0.
Moonlight developer Chris Toshok blogged that it had made sense to spend a little extra time to add some of the features from Silverlight 3.0, given Microsoft released the beta after work had begun on Moonlight 2.0. Moonlight lead Miguel de Icaza said they'd decided to expose the Silverlight 3.0 APIs in a "forward-compatible fashion".
Otherwise, Miguel de Icaza called this the version of Moonlight he'd wanted to build since Microsoft released Silverlight 2.0 in late 2008.
Features from Silverlight 2.0 in the Moonlight preview include the CoreCLR security model to divide code by three criteria (transparent, safe-critical and critical) as well as controls released to open source by Microsoft under its OSI-approved Permissive License (Ms-PL), the ability to write content using IronRuby and IronPython, and adaptive streaming to adapt content flow to the bit-rate that's available. ®