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
- 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.
- 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
). 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>.funccode.coflags is inconsistent
- 6142 Setting funcname 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
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 s3:10 is different in python and ironpython in test_userstring.py
- 312905 SNAP blocking: testdecimal and testthread 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:
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.