Roadmap and Release Notes

This page describes current plans, and also lists the changes and additions included in Script# builds since the initial release.

Roadmap and Plans

Script# is an on-going project. There are some unfinished features, as well as various ideas for future development. The current set of builds are considered the v1 generation of the product. If you have thoughts on something that should be included into the plan, please provide feedback.

Additional Features in V1 Plan
The plan is to complete this around the middle of 2008.

  • Unit testing
  • FxCop support
  • Merge Script# and ASP.NET Ajax runtime modes into a single mode by providing a MicrosoftAjaxExtensions script file that can be layered on top of the ASP.NET Ajax runtime for those applications not using the Script# runtime.

Post V1 Plans

  • Generics support
  • Static linking of multiple script files to reduce script sizes and script files.
  • Instrumentation support in generated script
  • Support for custom script generators to facilitate other scenarios (eg. JavaScript 2/EcmaScript4, etc.)
  • Enhance Script# framework

Open sourcing Script#
The plan is to open source parts of the Script# framework and the runtime before V1 is completed, and to open source the compiler itself along with the V1 release.

Release History

0.5.0.0, 4/20/2008 (Current Build)

New

  • Generate asp.net ajax style doc-comments from c# doc-comments
  • Support for generating localized scripts from .resx files
  • Silverlight 2 Support in Silverlight bootstrapper script
  • ScriptNamespace feature to enable namespace-collapsing in generated scripts
  • Support for optional parameters in methods and ctors through [AlternateSignature] attribute and extern methods
  • Add Invoke on Function prototype in sscorlib to facilitate using arbitrary functions as delegates
  • Add support for creating and invoking functions dynamically
  • Add Script.Literal for writing raw script as-is without using eval
  • Addition of Microsoft.Live.Messenger assembly to work against Messenger APIs

Changes

  • Replace DebugConditionalAttribute with ConditionalAttribute
  • ssmoz.js renamed to sscompat.js; now works with Safari/WebKit and Opera
  • Remove TypeDescriptor/IPropertyAccessor/IEventAccessor/IMethodAccessor
  • Stop generation of private const fields since they have been inlined
  • Add some basic level of error handling to better pinpoint source code statements causing compiler failures
  • Add a __scriptsharp global on window with the version of sscorlib being used

Fixes

  • Fix DateTime.Parse to return the right type of value
  • Fix generation of constant values set to a flag set
  • Fix parsing of response headers
  • Fix unexpected unloading prompt in Safari

0.4.5.0, 12/20/2007 (Previous Build)

New:

  • Constant inlining (only within an assembly boundary currently)
  • Casts from double/float to int result in a call to Math.truncate (only in script# mode)
  • Added ability to create Delegates from Function instances
  • Metadata additions/fixes to DOM elements and MicrosoftAjax.dll
  • Added Queue.Peek (script# mode only)
  • Added support for installation into VS2008 in addition to VS2005

Fixes:

  • Fix minimization issues with non-class types defined between class types in the code
  • Fix minimization of record types
  • Fix indexer access on result of Dictionary.GetDictionary
  • Fix indexers on interfaces
  • Fix string concatenation of 4 strings
  • Fix date formatting for dd and d formats
  • Fix JSON serializer to ignore function values

Older Builds (see documentation associated with Script# for full details)
  • 0.4.4.0, 10/25/2007
  • 0.4.3.0, 9/19/2007
  • 0.4.2.0, 9/11/2007
  • 0.4.1.0, 9/6/2007
  • 0.4.0.0, 8/29/2007
  • 0.3.0.0, 5/21/2007
  • 0.2.3.2, 2/13/2007
  • 0.2.3.0, 2/12/2007
  • 0.2.2.0, 1/8/2007
  • 0.2.1.1, 12/27/2006
  • 0.2.1.0, 12/20/2006
  • 0.2.0.0, 11/27/2006
  • 0.1.6.0, 9/10/2006
  • 0.1.5.0, 8/30/2006
  • 0.1.4.1, 8/3/2006
  • 0.1.4.0, 7/23/2006
  • 0.1.3.2, 7/17/2006
  • 0.1.3.1, 7/16/2006
  • 0.1.3.0, 7/15/2006
  • 0.1.2.0, 6/25/2006
  • 0.1.1.0, 6/01/2006
  • 0.1.0.0, 5/22/2006 - Initial Release
Google
   

Script#

Script# compiles C# source code into JavaScript and brings the power and productivity of C# and .NET tools to Ajax development.

Latest Release (Version 0.5.0.0)