This project has moved and is read-only. For the latest updates, please go here.
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 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 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 example (exercise 2.1, tutorial 2) hangs
  • 17236 Michael Armes Cannot import from .NET types containing static variables
  • 17393 harrypierson Move existing 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 which is less than zero did not throw exception
  • 9347 rridge struct.pack() mishandles "x" format
  • 9710 jackeyoo The exe file compiled using 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
  • 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 reduceex / 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 'builtinfunctionor_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(newstyleclass.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(newstyleclass.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/
  • 409571 SNAP blocking: fails with a StackOverflow exception on 64-bit platforms
  • 409590 StackOverflowException when exec "a0==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: throws a StackOverflowException under 64-bit OSes
  • 409635 exec C()//E(), python return 'C.floordiv',but Ironpython return 'C.rfloordiv'
  • 409639 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:

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!

Last edited Sep 17, 2008 at 10:36 PM by dfugate, version 3


No comments yet.