[IronPython] Announcing IronPython 2.0 Beta 2

Dave Fugate dfugate at microsoft.com
Fri May 2 18:35:56 CEST 2008

Hello IronPython Community,

We're pleased to announce the release of IronPython 2.0 Beta 2.  In addition to the usual bug fixes (~25 reported on CodePlex and ~50 reported internally), this release has been partially focused on improving the performance of IronPython, in particular startup perf.  Another focus of this release was improving upon our traceback support which had regressed quite a bit in 2.0B1 and had largely been broken in the 2.0 Alphas.  Our traceback support should now be superior to that of IronPython 1.1!

We've also made a minor change to our packaging by adding a Microsoft.Scripting.Core.dll in addition to the Microsoft.Scripting.dll that's been around since the start of 2.0.  We are doing this purely as an architectural layering cleanup.  Microsoft.Scripting.Core contains DLR features that are essential to building dynamic languages.  Microsoft.Scripting will contain language implementation helpers that can either be re-used (e.g., BigInts) or copied (possibly e.g., the default binder).  This process is all about our work to get the DLR architecture right and shouldn't have any noticeable IronPython impact except that there's now one more DLL to include in any package.

As a consequence of the new DLL, the deprecated file IronPython2005.sln is broken.  This is the last release that will include this .sln file in the source zip file.  Of course the Visual Studio 2008 version of this file, IronPython.sln, still builds.

The following CodePlex Work Items have been closed since IronPython 2.0 Beta 1 was released:

*         15835 FromImportStatement relative path not working

*         15832 parser is not validating FromImportStatement syntax

*         15793 dynamically bound __getattribute__ is overwritten after modifying __bases__

*         15752 derived __getattribute__ causes stack overflow

*         16057 BY DESIGN: Sublist parameter gets lost by Parser

*         15522 (Ipy2a8) Problems in module "dis"

*         15598 BY DESIGN: Problems with ScriptEngine.Execute on 2.0 Alpha 8

*         16077 incorrect parsing of numeric literal __index__() call

*         945   Pickling exceptions with clsException in dict fails

*         15803 cPickle fails to load pickled object from submodule

*         15882 __delitem__ broken w/ tuple arguments

*         11923 Exception tracebacks lose line numbers after reload()

*         2409  Default exception dumper should get line info out of traceback

*         15715 dir(dict.fromkeys) fails with a cast-related TypeError after calls to dir(dict)

*         13820 __getattribute__ called for magic methods

*         7429  traceback support inside generator and nested try inside except block

*         15884 MAJOR REGRESSION: stack traces of simple errors missing file names, line numbers, etc

*         8291  Tracebacks from compiled code objects dissimilar from CPython

*         11922 AssertionError is printed with an extraneous "None"

*         7766  __builtins__ should be module for main script, dictionary for other modules

*         5803  when __add__ failed

*         2912  traceback's don't get created if exception is caught in same frame

*         6210  RawDecode method fails to return the string according the right encoding

*         13687 2.0 alpha 5: Registering c#-written methods as event handlers from ironpy throws TypeError: object is not callable.

*         11283 SyntaxError doesnt get lineno (or other properties) when created by user code

*         15746 DUPLICATE: ipyw.exe without any parameters crash ( IronPython 2.0 Beta 1 )

We'd like to thank everyone in the community who reported these: kevgu, oldman, christmas, brucec, scottw, fuzzyman, haibo, Seo Sanghyeon, grizlupo, J. Merrill, perhaps, antont, 05031972, Jason Ferrara, Matt Beckius, and Davy Mitchell.

Also, we've closed the following bugs that were reported internally:

*         148394  Trivial: Exception messages are not directed to sys.stderr

*         148481  Trivial: IronPythonConsole.exe with '-' : no response

*         148651  Possible race conditions during lock-unprotected reads from Dictionary<,>

*         149018  Trivial: Python25: new api - deque.remove

*         151051  In CPython, divmod does not try on __floordiv__ and __mod__

*         151094  Misc binary operation bugs

*         221344  Perf: Shootout/fasta is 74% worse when running IronPython 2.0 vs. IronPython 1.1

*         250921  Add more IronPython tests for property sets WRT value types

*         299898  test_coercion.py fails with method "test_cmptypes()" when the two objects to be compared are not the same type in 32bit vista

*         301601  IP2.0 raise a syntaxError instead of an indentationError when exec("foo()\n bar()\n")

*         314124  Implementing __coerce__  cause endless loop

*         314140  __eq__ threw AttributeError in IronPython but didn't in CPython

*         314459  gc.collect() always return 0 and can't have argument

*         314879  AttributeError: 'module' object has no attribute '__debug__'

*         314898  NotImplementedError for co_lnotab.

*         316130  heapq.heapreplace(None,None) throw a AttributeError instead of TypeError

*         316148  sometimes nlargest(n, iterable) not equal to sorted(iterable, reverse=True)[:n]

*         316520  it is different for func_defaults  between Ironpython and Cpython.

*         316523  it is different for func_dict between Ironpython and Cpython

*         317194  AttributeError: 'file' object has no attribute 'mode'

*         319014  it is different between Ironpython and Cpython when exec "dict({}, {})"

*         319028  AttributeError: 'dictproxy' object has no attribute 'items'

*         319487  Instances of Set dosen't provide update() operation in IronPython

*         320078  Trivial: TypeError: hex() argument cannot be converted to hex

*         320514  ImportError: No module named _functools

*         321852  Trivial: KeyError: __module__

*         323570  startfile() can take two argument in cpython2.5

*         325377  dict silently swallows exceptions when a key's __cmp__ method throws

*         359635  "unknow command line:" in the output of "ipy.exe /help"

*         360510  some properties of func_code is not implemented

*         360987  None has a extra attribute '__module__'

*         361443  Re-enable test_traceback_cpy_20

*         363019  yield statement must add an return value against Ironpython. but Cpython don't need.

*         364736  compiling "from . import a" throw syntax error

*         364746  Can't from __future__ import absolute_import

*         365068  __getslice__(self, i, j): gets different result between IrpnPython and CPython with UserList object

*         365242  excise __getattribute__ from derived new-style type

*         365367  sys.path_hooks is not implemented

*         369111  Ipy should try to use base type defined special operators

*         372549  Non-string attributes are not being added to a dictionary in interactive mode

*         400941  REGRESSION: Re-enable merged modules which contain both a .NET namespace and a normal module

You can download IronPython 2.0 Beta 2 at: http://www.codeplex.com/Release/ProjectReleases.aspx?ProjectName=IronPython&ReleaseId=11566

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/20080502/fcb61616/attachment.html>

More information about the Ironpython-users mailing list