[IronPython] IronPython 2.0 Alpha 8

Dave Fugate dfugate at microsoft.com
Wed Jan 30 01:36:34 CET 2008

Hello IronPython Community,

We have just released IronPython 2.0 Alpha 8.  Aside from the usual bugs fixes this release includes a fairly major change.  This is the first release of IronPython where the Visual Studio solution file, IronPython.sln, is in Visual Studio 2008 (VS2008) format.  This file is in fact incompatible with Visual Studio 2005 (VS2005) and the msbuild executable distributed with the .NET 2.0 SDK.  If you currently build IronPython from VS2005 or the .NET 2.0 SDK this change will affect you and you have at least a couple of available options:

1.       Upgrade to .NET 3.5 (http://www.microsoft.com/downloads/details.aspx?familyid=333325fd-ae52-4e35-b531-508d977d32a6&displaylang=en) or VS2008.  It's important to point out that internally we pass the "/toolsversion:2.0" flag to msbuild when building from a command prompt.  This isn't mandatory though and the reason we use it is to ensure IronPython continues to run under .NET 2.0.

2.       Continue to build IronPython under VS2005 or the .NET 2.0 SDK using IronPython2005.sln.  IronPython2005.sln is the VS2005 version of IronPython.sln and exists alongside IronPython.sln in the source distribution zip file.  We do not recommend this however as IronPython2005.sln is deprecated and we don't plan on updating it

Another notable change is that all built-in Exception classes are now new-style classes (see http://docs.python.org/whatsnew/pep-352.html).  This improves our CPython 2.5 compatibility and we're now able to run quite a few more CPython 2.5 tests successfully.  On that note, a lot of effort has gone into making IronPython pass more of CPython's 2.5 tests.

The following CodePlex Work Items have been closed since the last Alpha Release:

*         7594 type.__call__ always passes type(type) as 1st parameter

*         2810 Trivial: An unexpected keyword argument exception raised when creating instance of class inherited from file

*         11924 true division (from __future__ import division) doesn't work

*         2729 Trivial: error message for expected type should display full array type info

*         5755 Import in exec doesn't publish into provided dictionary

*         5800 "exec in" is broken

*         7531 re.sub at the start of the string

*         8286 Deleting shadowing global then redefining builtin doesn't work

*         7007 __import__ fails when filename contains '+'

*         3758 super(sometype, inst).__eq__ on derived tuple while overriding tuple stack overflows

*         2687 Setting read-only property raises NullReferenceException

*         10903 [blocking Tutorial on 2.0] Exercise 3.1 in Tutorial 1 references missing file

*         3529 Trivial: int.__int__ does not exist

*         3530 Console doesn't allow new lines inside of dict nested in list

*         3118 <function>.func_code.co_flags is inconsistent

*         6142 Setting func_name on function doesn't show up in __name__

*         778 'site' shows up in dir after it's loaded

*         8246 Bug in handling of keyword arguments for __call__

*         3982 list equality fails for enums

*         7268 Unicode encoder doesn't have backslashreplace method

*         3194 from module import * is broken

We'd like to thank everyone in the community who reported these to make a better release:  Seo Sanghyeon, Shigeru HEMMI, tscottw, pobrien, nriley, jdhardy, hardcoded.software, Jan Szumiec, davidfraser, Simon Dahlbacka, Giles Thomas, Andrzej Krzywda, haypo, and Timothy Fitz.

Additionally, we've closed the following bugs reported internally:

*         131687  setdefaultencoding doesn't self-delete in CPython on call.

*         148185  Implement -m command line parameter

*         148435  Trivial: No builtin module xxsubtype

*         148655  CPython doesn't delete setdefaultencoding on call, but in site.py

*         216665  Puzzle IronPython 1.0.1 sample fails very severely at shutdown under IronPython 1.1RC1

*         303074  eval() can't map dictionary interface

*         303085  Effect of del s[3:10] is different in python and ironpython in test_userstring.py

*         312905  SNAP blocking: test_decimal and test_thread fail under -X:Interpret

*         313703  when a weakref object dispose, Ironpython should not throw TypeError exception but  ReferenceError exception

*         314841  Ironpython throw "Exception: The method or operation is not implemented." but Cpython does not throw.

*         315120  IronPython: from clr import * doesn't work

*         316494  TypeError: Unable to cast object of type 'IronPython.Runtime.Types.OldClass' to type 'Microsoft.Scripting.Types.DynamicType'.

*         316497  AttributeError: no attribute func_dict

*         316507  __doc__ should be  Another way of spelling func_doc

*         317542  ___index__() and operator.index()  aren't  implemented

*         317543  Ironpython file name is case-sensitive when it is called as module. but cpython is not.

*         318143  ImportError: No module named _bsddb

*         318187  ImportError: No module named parser

*         318517  ImportError: No module named _lsprof

*         318971  ImportError: No module named _ctypes

*         318984  random.getrandbits() return different result from CPython 2.5's

*         319880  SNAP blocking:  test_funcattrs.py fails under -X:Interpret mode

*         321793  Trivial: OSError occurs when open file then unlink file.

*         322193  os.tempnam() throw a typeerror exception against Ironpython

*         325811  (4+"")  get different TypeError description between IronPython and Cpython

*         325860  after gc.collect, maybe, weakref.proxy should refer to NoneType .

*         326883  Wrong evaluation order for Augmented assignment

*         359581  generator should gracefully throw if calling itself

*         359750  Yield Statement codegen does properly restore exception stack

*         360718  Previous exc_info() should be restored on function exit, not except-block exit.

*         361127  sys.exc_clear() causes asserts

*         361441  Update test_parrot for CPython 2.5

*         362939  troubling dynamic site code for converting to value type by Converter.Convert

*         363412  calling method on value type object has no impact on the object itself (due to boxing/unboxing)

*         363790  incorrect codegen for value type ctor with keyword argument

You can download IronPython 2.0 Alpha 8 at:  http://www.codeplex.com/Release/ProjectReleases.aspx?ProjectName=IronPython&ReleaseId=9219

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.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/ironpython-users/attachments/20080129/1e719fff/attachment.html>

More information about the Ironpython-users mailing list