[IronPython] IronPython 2.0 Beta 5

Dave Fugate dfugate at microsoft.com
Wed Sep 17 23:44:26 CEST 2008

Hello IronPython Community,

We're pleased to announce the release of IronPython 2.0 Beta 5 which includes a plethora of bug fixes (100+).  IronPython 2.0 Beta 5 is our last planned beta release in the 2.0 series - sometime soon we'll be releasing 2.0 Release Candidate 1.  As such, you can expect far fewer changes between this release and the next.  If you intend on upgrading to IronPython 2.0.0, please try out 2.0 Beta 5 now and report any blocking issues back to us ASAP.  This may be your last chance to get them fixed in time for 2.0.0.

This release is significant in a few respects.  First and foremost, the most visible change is the fact that we've performed a major namespace transformation.  We have moved all DLR types that were in the "System" namespace to "Microsoft".  The reason behind this is to fix problems a few people had embedding IronPython in C# projects targeting the .NET 3.5 Framework (see http://lists.ironpython.com/pipermail/users-ironpython.com/2008-August/thread.html#8036 for background).  A consequence of this change is that if you build IronPython from sources you'll notice msbuild emits warning CS1685.  This is safe to ignore and it was necessary to allow this so that IronPython can continue to be run under .NET 2.0 SP1.  More details on this will be coming soon in the form of a blog post...

It's also worth pointing out that the DLR hosting APIs no longer have a default configuration for Python.  Instead you should utilize IronPython.Hosting.Python to create script runtimes and script engines.  On that note, the DLR hosting specifications document has been updated - please see http://compilerlab.members.winisp.net/dlr-spec-hosting.doc if you're interested.

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

*         766         brucec                   CLR methods are visible on some builtin types even if clr module isn't imported

*         1506                                       Explicit interface method implementations should be exposed by simple interface method name

*         10905    tscottw_cp         [Blocking Tutorial on 2.0] winforms.py example (exercise 2.1, tutorial 2) hangs

*         17236    Michael Armes   Cannot import from .NET types containing static variables

*         17393    harrypierson      Move existing site.py code into IronPython.dll

*         17425    dinov                     Too many objects are convertible to IEnumerator

*         861         brucec                  __module__ attribute shows up where it shouldn't

*         1490       hweber                 re module doesn't support (?L) and (?u) in expressions

*         2248       Kristof Wagemans         Missing debug information for IL offset 0 of generated methods

*         3290       beaugunderson                Trivial: cPickle.load(s) throws wrong exception on negative cases

*         5085       dfugate                Implement operator.__not__ and operator.__setitem__

*         6273       dfugate                re.sub(..., "...\?...", ...) broken

*         7008       jdhardy                os.path.isfile incompatible with CPython when path contains a double quote (")

*         7828       doubleyewdee IronPython lock type does not support context manager methods

*         8018       PeteHufnagel    OldClass.HasSetAttr will not let me inherit __setattr__

*         8721       jackeyoo              DUPLICATE: About function fdopen() in module "nt", the "ValueError"exception is not thrown as expected if set an invalid filemode as the second argument

*         8783       jackeyoo              if the argument of nt.read() which is less than zero did not throw exception

*         9347       rridge                    struct.pack() mishandles "x" format

*         9710       jackeyoo              The exe file compiled using pyc.py is incorrect against IronPython1.1

*         9943       lewisle                  Search for backslash character using re fails

*         10710    Michael Foord   os.path.abspath(None) throws unexpected exception

*         11141    tscottw_cp         The += operator does not work for delegates

*         15032    CurtHagenlocher              DUPLICATE: Bad error message when calling generic function without specifying type

*         16193    srivatsn                new.instance() is missing an overload.

*         16657    Seo Sanghyeon  Regular expression option using (?...) syntax is not          applied

*         16833    Douglas Blank    Improve __repr__ for standard .NET types

*         16866    dfugate                IP implementation of _sha512.__doc__ looks wrong

*         16900    lclj                           Documentation CHM does not work.

*         16979    dfugate                Trivial: Output of "ipy.exe -h" and "ipy.exe -?" slightly different

*         17040    jdhardy                -tt is broken

*         17045    sorokerr               NEED MORE INFO: Calling an extension function from XSLT

*         17047    Eriol                       BY DESIGN: Raw String throws SyntaxError on trailing slash

*         17142    Michael Foord    .NET classes that have default indexers don't support enumeration

*         17181    ais                           Implement INotifyPropertyChanged

*         17325    Christian Muirhead         Can't assign to __doc__ property on instance

*         17326    Christian Muirhead         BY DESIGN: can't set __name__ in a scope when running a script loaded from a source file

*         17351    Eloff                       Cannot match previously matched named group in regex

*         17551    dfugate                int.__dict__.copy() omits .NET members

*         17569    srivatsn                str.rsplit(None) for a string with spaces is incorrect

*         17582    pelikhan               SaveAssemblies not saving main module

*         17652    jdhardy                DUPLICATE:  .decode('hex') fails

*         17683    srivatsn                struct.calcsize('xP') is incorrect in x64 machines

*         17712    felixpollan           ScriptSource.SourceUnit is now Internal ?

*         17759    srid                         DUPLICATE: LINQ: TypeError: Select() takes at least 2147483647 arguments (1 given)

*         17896    jdhardy                unicode('', 'ascii', 'ignore') fails with LookupError: unknown error handler name 'ignore'

*         18346    Eloff                       Package importing regression

*         18349    fuzzyman            sys module oddities when installing import hooks

*         386                                         Improve -X:PrivateBinding support

*         476                                         Implement log / log10 for bigint's larger than double

*         572         Žiga Seilnacht    Binding: Compat: Coercion rules are incorrect for selecting method for binary operators

*         797         Simon Dahlbacka           output of __slots__ member differes from CPython, and exception message is different as well

*         874         Brucec                   Fix os.stat_result storage

*         1089       Brucec                   re.compile(re.escape(foo)) round trip fails in some cases

*         1609       dinov                     Non csc warning cleanup (unusued fields, etc...)

*         2290       Stanislas Pinte     'abc'.encode() requires encoding type

*         2476       mziller                   REJECTED: assert keywork not working?

*         2557       Alexey Borzenkov          strptime uses %c even if there is more than one format

*         3214       ayarrow               DUPLICATE: "<some string>".encode('idna') causes burp in httplib.py

*         3418       Cavingdeep        Can't deal with non-ASCII encoding files on non-English WinXP

*         3731       Mike McGavin    Syntax error location not always determined correctly

*         4564       dfugate                Some functions in the _codecs module require 2 or more parameters when only 1 is needed

*         5633       Eloff                       os.fdopen modifies binary data written

*         6710       dfugate                Trivial: FormatException method of PythonEngine does not work with ExceptionDetail engine option

*         7451       Sanghyeon Seo missing nt.dup and related socket.makefile issue

*         7992       sborde                  Removing a delegate from an event using a strongly-typed delegate does not work

*         8519       heyssion2            a bug about clr.Reference

*         11030    tscottw_cp         Misleading exception message when using nongeneric method as generic

*         11830    dfugate                Caught (global-related) exception within one module breaks imports of next modules

*         12009    tscottw                 shutil.copytree always raises shutil.Error after completing

*         13401    Ronnie Maor     Support __reduce_ex__ / __getnewargs__ on .NET types where it's possible

*         13641    Kelie                 ref parameters with InAttribute should be treated as by-value parameters

*         13704    CurtHagenlocher              Incorrect error message when constructing datetime.datetime with insufficient arguments

*         14005    ktc1                        Trivial: Boolean cast from decimal wrong

*         14904    dfugate                nt.tmpnam() gives bad return value

*         15345    dfugate                UnicodeTranslateError members created from constructor parameters are None

*         15353    dfugate                Python 2.5: Remove "struct" module and replace with "_struct"

*         15972    Davy Mitchell       sys.exit(False) has an incorrect exit code under IronPython

*         16002    wilberforce         name mangling isn't applied to method parameters

*         16003    wilberforce         metaclass not called when constructing classes that inherit from another class first

*         16004    ben2004uk          Queryable.First() gives TypeError: First() takes at least 2147483647 arguments

*         16157    kevgu                    error msg for "continue" inside "finally" not specific enough

*         16225    dfugate                Objects in sys.meta_path should be capable of disabling the importation of modules

*         16241    dfugate                isinstance(..., types.BuiltinFunctionType) fails for <type 'builtin_function_or_method'> objects

*         16249    dinov                     STA threads and finalizable objects and Thread.Sleep

*         16697    dfugate                Only the first object in sys.meta_path is searched

*         16808    paulfelix               Use of custom C# object with overloaded '/' operator breaks when true division is enabled

*         16811    dfugate                len(new_style_class.__dict__) is wrong

*         16868    dfugate                IP does not implement a number of _sha512.sha512's members

*         17186    Eloff                       DUPLICATE: Package import should be case sensitive

*         17300    CurtHagenlocher              Allow non-integer arguments to nt.stat_result

*         17308    jdhardy                try ... else with nested try doesn't work

*         17457    dfugate                Implement rest of exceptions module

*         17459    dfugate                Implement rest of imp module

*         17527    dfugate                str(new_style_class.__dict__) is wrong

*         17550    jdhardy                Thread local storage

*         17561    Lawouach            Metaclass and argument passing may result in IndexError

*         17622    dfugate                __import__("somePkg\\someMod") should not work

*         17799    Ronnie Maor      int64/long incompatibility in hashing

*         17859    srivatsn                time.struct_time's constructor should be able to take an object
Thanks to everyone who reported these bugs!

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

*         409443  Flag deprecated functions with DeprecationWarning; while we're at it, implement -W cmdline option

*         409448  Implement warnings for -Qwarn and -Qwarnall

*         409456  Module datetime is incomplete

*         409503  Trivial: SNAP blocking: testrationalfunction_20 fails on x64 platforms

*         409565  enable compat/sbs_func_args.py

*         409571  SNAP blocking: test_exceptions.py fails with a StackOverflow exception on 64-bit platforms

*         409590  StackOverflowException when exec "a[0]==7" for Ironpython, but Cpython can work

*         409602  TypeError: cannot create weak reference to 'file' object

*         409611  isinstance() can't mask  an attribute error as a  type error

*         409612  issubclass(instance,instance) raise a  type error when instance.getbases() raise a  runtime error

*         409617  got a different result against Ironpython and Cpython when get_header function is called

*         409628  NotImplementedError: Overriding __getattribute__ of built-in types is not implemented

*         409629  lost attribute leads to AttributeError: 'type' object has no attribute 'x'

*         409633  SNAP blocking: test_compile.py throws a StackOverflowException under 64-bit OSes

*         409635  exec C()//E(), python return 'C.__floordiv__',but Ironpython return 'C.__rfloordiv__'

*         409639  test_runpy.py blocking: "TypeError: update() got an unexpected keyword argument '__name__'"

*         409674  array.array('b', 'foo') causing overflowError

*         409715  try __getattr__ if __getattribute__ raise AttributeError

*         409729  old-style base type's __setattr__ is never called

*         409738  del statements ignored by IronPython compiler

*         409752  negative scenario: bad error message "M() takes at least 2147483647 arguments"

*         409777  dir(someObj.someMethod) does not show "__call__"

*         409821  tracking: C# implicit enum conversion allows 0 for any enum type; IronPython does not. make a decision

*         438773  IP throws an unreachable assertion when trying to open files in "U+" modes

*         449685  tf changeset 461435 broke complex forms tests

*         467757  IronPython: incorrect error message for invalid tuple assignment

You can download IronPython 2.0 Beta 5 at: http://www.codeplex.com/IronPython/Release/ProjectReleases.aspx?ReleaseId=15625.

The IronPython Team

If you choose to install IronPython by running IronPython.msi, please note that this will remove the previous installation of IronPython 2.0 Beta 4!
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/ironpython-users/attachments/20080917/974c441a/attachment.html>

More information about the Ironpython-users mailing list