Saturday, July 17, 2010

IronPython 2.7 Alpha 1 release (and license change)

The IronPython team have just announced the first release of IronPython 2.7, an alpha 1 release. This targets compatibility with Python 2.7, and comes with interesting news about the license that IronPython is released under. There is also more of Python's standard library included; specifically two more C extension libraries previously unavailable with IronPython.

The next release of IronPython will probably be a bugfix release of IronPython 2.6: 2.6.2. Once 2.7 is complete the IronPython team will move onto IronPython 3, targeting compatibility with 3.2 - which is likely to be the current version of Python 3 when IronPython 3 is completed.

We’re pleased to announce the Alpha release of IronPython 2.7 which can be downloaded at http://ironpython.codeplex.com/releases/view/42434.  This is a major new version of IronPython with a number of significant updates.  Because this is an Alpha release it is not yet feature complete nor fully compatible with CPython 2.7.  Changes thus far include:
  • Updates the language to be compatible with CPython 2.7
  • Adds integrated Visual Studio support (IronPython Tools for Visual Studio)
  • Extends CPython 2.7’s documentation with useful information pertaining to IronPython
  • Adds the mmap and signal modules
  • Includes a number of performance updates and bug fixes
  • Switches the license to Apache License, Version 2.0
  • Requires .NET 4.0 and Silverlight 4.0
Python 2.7 includes a number of features backported from the Python 3.0 series.  This release implements the new builtin _io module, includes dictionary and set comprehensions, set literals, supports multiple context managers in the with statement, and adds several new functions to the itertools methods, and auto indexing for the new string formatting.  There are also numerous updates to the standard library such as ordered dictionaries and the new argparse module.
This release also includes a “IronPython Tools for Visual Studio” option within the IronPython installer.  This enables one install to get both IronPython and IronPython Visual Studio support assuming you have an existing installation of Visual Studio 2010.  This version of IronPython Tools includes a number of bug fixes as well as the start of improved WPF designer support.  We discovered very late that the WPF designer support may crash VS when not running under the debugger.  If you’d like to try the WPF designer support and give us feedback, just launch another Visual Studio instance and attach to the instance in which you are using the WPF designer support.
We’ve also updated the IronPython installer to include documentation based upon the CPython documentation.  This new .chm file includes documentation on the Python language and standard library.  It’s been extended from the normal Python documentation to include IronPython specific topics such as the DLR hosting APIs and extending IronPython from statically typed .NET languages. 
We flushed out more support for missing built-in modules which CPython includes.  This release includes the mmap and signal modules bringing better support for interoperating with unmanaged code.
As usual there are a number of bug fixes and performance improvements.  This release includes major performance improvements in cPickle, the sum built-in function, and includes support for fast exceptions which do not use the .NET exception mechanism.  There have also been improvements to significantly reduce memory usage of the IronPython ASTs.  One of the end results of these numerous improvements is that IronPython’s startup time has decreased by 10% when compared to IronPython 2.6.1.
Finally, with this release we have changed the license from the Microsoft Public License to the Apache License, Version 2.0.  We’ve made this change based upon continual feedback and questions from the community.  The Apache License will be more familiar while remaining an open source license.
- The IronPython Team

No comments:

Post a Comment

Note: only a member of this blog may post a comment.