We’re pleased to announce the release of IronPython 2.6 Beta 1. As you might imagine, this release is all about supporting new CPython 2.6 features such as the ‘bytes’ and ‘bytearray’ types (PEP 3112), decorators for classes (PEP 3129), advanced string formatting (PEP 3101), etc and as such includes nearly all of the new Python 2.6 features. The small number of remaining features will be implemented for Beta 2. The minimum .NET version required for this release is the same as IronPython 2.0; namely .NET 2.0 Service Pack 1.
There’ve also been several new features added: ctypes, sys.getframe, pyc for pre-compilation, and improved help. Ctypes provides access to C-based APIs and provides a way for Python developers to optimize performance or access libraries that would otherwise be unavailable. sys.
getframe is commonly used by Python programs to introspect the call stack and can now be enabled with the –X:Frames and –X:FullFrames command line options; for better compatibility with programs that check for the presence of sys._getframe it is now not available unless these options are provided. The pyc.py pre-compiler is now shipped with IronPython and is available in the Tools\Scripts directory. Finally the help of many builtin functions and types has been improved by including IronPython.xml and IronPython.Modules.xml.
Another focus has been on improving startup time of large applications. This release accomplishes that through the adaptive compilation feature announced with 2.6 Alpha 1 and also includes many other enhancements to reduce the amount of code generation required to start applications. But only do these improvements help large applications but they also significantly speed up basic hello worlds startup time.
As usual we’ve also fixed a large number of bugs for this release. We’d like to thank everyone who took the time to report them: atifaziz, Anders M. Mikkelsen, cjacobs, Dan Eloff, davec, fwereade, gjones, hhonisch, jdhardy, Kevin Chu, Kyle Howland-Rose, leppie, Mark Rees, orestis, RuiDC, Seo Sanghyeon, soulfry, tatwright, ufechner, and wilberforce.
There’s also a few minor changes since IronPython 2.0.1 that are worth calling out here:
- Binaries are ngen’d for both 32-bit and 64-bit platforms on install by default
- IronPython.msi now offers a little more selection with respect to what you’d like to install. For example, Silverlight templates are optional
- The default installation location of IronPython.msi no longer indicates whether the 2.6 release is an Alpha, Beta, or a patched release. Future IronPython 2.6 installations will replace previous 2.6 releases which will be uninstalled automatically
- The -X:PreferComInteropAssembly flag has been removed. All COM interop is now done through normal COM dispatch
The IronPython TeamIMPORTANT NOTE
If you currently have IronPython 2.6 Alpha 1
installed on your machine, you'll need to uninstall it from the Control Panel
before attempting to install the MSI for IronPython 2.6 Beta 1
. Quite late in 2.6 Beta 1 testing we discovered the MSI upgrade code wasn’t updated for this release. The net effect of this being that the Windows Installer acts like 2.6 Beta 1 is actually 2.6 Alpha 1 and refuses to install 2.6 Beta 1 until 2.6 Alpha 1 has been removed.