Hello IronPython Community,
I’m pleased to announce IronPython 2.0 Beta 3. We have fixed around 34 bugs in this release (~16 of them reported on Codeplex and ~18 reported internally). Apart from the bug fixes, this release contains the following improvements:
- We have worked on perf – specifically generators, exception handling, and shootout perf have improved. We are aware of some late-breaking degrades which we expect to fix by the next release.
- An auto-templating feature has been added to the Dynamic Language Runtime which should improve performance in highly dynamic scenarios.
- cmath and _winreg modules have been implemented.
There is a change in packaging this time. The Dynamic Silverlight sources and binaries, compatible with Silverlight 2 Beta 2, are now included in this release. This makes the package a single place to get both the desktop and Silverlight versions of IronPython. The Visual Studio solution file (IronPython.sln) has been updated to build under “Silverlight Release” and “Silverlight Debug” configurations as well. Please note that this requires Silverlight 2 Beta 2 to build properly.
IronPython2005.sln is no longer part of the package as was mentioned in the last beta release notes. This means that Visual Studio 2008/.NET 3.5 is required to build IronPython.sln. Ofcourse /toolsversion:2.0 flag can still be passed to msbuild and hence IronPython can be built to run against .NET 2.0 runtime as well.
The following codeplex workitems have been closed since IronPython 2.0 Beta 2:
- nt.access is missing Closed Issue Medium Jun 2 at 7:24 PM
- Trivial: throw WindowsError (with 'errno' of 17) when nt.mkdir called on pre-existing directory
- '_' is in the result of dir() after first expression evaluation
- -X:MTA option not supported by IP 2.0A
- expresion-1 if condition else expresion-2 working incorrectly
- Python Parser class is internal
- PythonType.HasGetAttribute property does not detect inherited implementation.
- _winreg is not implemented
- SyntaxError(...).dict is not a dict
- Using 'with' statment with IDisposable .NET type doesn't work
- IronPython forces objects in sys.meta_path to be new-style classes
- imp.load_module("os", ...) broken
- DUPLICATE: Run ipyw .exe ( Iron Python 2 Beta 2 )
- REJECTED: Can't create & return nested function from CreateDelegate
- id returns Int64 not int or long
- Overriding properties has strange syntax
We’d like to thank everyone in the community who reported these bugs: py_sunil, jhardy, awilkins, oldman, and 05031972, Ronnie Maor, Jonathan Amsterdam, sanxiyn, jackeyoo, Thane Plummer, Vizcayno Tamparantan, Michael Foord, Alex Henderson
We’ve also closed these bugs that were reported internally:
- Trivial: Exception messages are not directed to sys.stderr
- Python25: new exception hierarchy
- when base class provide over one ctor function,IronPython can not distinguish them just like Cpython do.
- AttributeError: 'file' object has no attribute 'truncate'
- ImportError: No module named xxsubtype
- cmath module isn't implemented (complex arithmetic)
- long("0X20",16) throws ValueError: invalid integer number literal
- ImportError: No module named _winreg
- dir(*()) returns something unexpected
- "print asuperobject" throws TypeError
- old style class constructed with an unpacked tuple containing a single None barfs
- DLR crashes with stack overflow when ironpython.dll is missing
- Enable turning whole object models dynamic in IronPython
- Trivial: There is no "md5" module in IronPython2.0 when run the file of testhmac.py
- TypeError: don't know how to disassemble code objects
- sys.meta_path is not implemented
- calling setattr got an error .
- issubclass(Exception,object) return different result against Ironpython and Cpython
You can download IronPython 2.0 Beta 3 at: http://www.codeplex.com/IronPython/Release/ProjectReleases.aspx?ReleaseId=12988
The IronPython Team
ToyScript, a small scripting language built on top of the DLR, is merely a DLR sample and not some new scripting language Microsoft has created. Also, ToyScript is not intended to be distributed with IronPython on a permanent basis.