trust, and codes within such assemblies cannot call critical methods (methods which can cause system-wide changes); neither can transparent assemblies contain unverifiable code (use the unsafe C# keyword or use pointers) or invoke system functions by means of P/Invoke. Code in both critical and safecritical assemblies run with full trust, and are therefore not subject to such limitations. However, a transparent method can call a safecritical method, and a safecritical method can call a critical method. In such a case, the safecritical method will verify that the call is both safe and within the limited rights of the caller; if so, then the safecritical method will proxy the call to the requested critical method. In fact, the IsoStorage APIs are exposed as safecritical methods. An assembly whose security attribute is unset is run as a transparent method. Analogous limitations also apply to type-inheritance; namely, in the cases of virtual-method calls and interface-method calls. Silverlight assemblies can contain members that are not usable by CoreCLR, as long as they can be processed by the .NET Framework CLR; such methods will not be loaded when the assembly is being executed by CoreCLR. However, only platform code is allowed to be marked as critical or safecritical. The Silverlight runtime ensures that platform assemblies are loaded only from the Silverlight installation directory, and are digitally signed by Microsoft. This effectively means that user-application assemblies can only be transparent code (run under partial trust and limited rights). Platform code can be marked with either attribute. The BCL methods of the .NET Framework, which have the Internet attribute set, allowing them to be called from untrusted code originating from the Internet, are exposed in Silverlight BCL as transparent methods. Silverlight 3 Silverlight 3 was announced at the International Broadcasting Convention (IBC) 2008 show in Amsterdam on September 12, 2008. It was unveiled at MIX09 in Las Vegas on March 18, 2009. A beta version was made available for download the same day. The final version was released July 9, 2009. Silverlight 3 includes an increased number of controls—including DataGrid, TreeView, various layout panels, DataForm for forms-driven applications and DataPager for viewing paginated data. Some of these controls are from the Silverlight Toolkit. In addition, Silverlight 3 includes a navigation framework to let Silverlight applications use the hyperlinked navigation model as well as enabling deep-linking (linking directly to specific pages) within Silverlight applications. On the media front,