[IronPython] IronPython 1.0 RC1 is Released

Kevin Chu redmoon17 at gmail.com
Wed Jul 26 04:31:14 CEST 2006

I am glade to hear about this greate news!
Especially, it implemented a large number of the standard CPython
built-in modules.
But I found md5 module is not implemented yet!

2006/7/26, Dino Viehland <dinov at exchange.microsoft.com>:
> Hello IronPython Community,
> We have just released IronPython 1.0 RC1.  We're anticipating that this build will be the same as 1.0 final unless we hear otherwise.  We're looking for any feedback, but in particular we'd like to know of any blocking issues discovered against this build or fundamental language incompatibilities.  Please try out the latest build over the next 2 weeks and let us know if you encounter any issues as soon as possible.  Additionally, if there are any 1.01 Alpha bugs on CodePlex that are blocking you please bring these to our attention so we can take a second look at them.
> Our goal for IronPython 1.0 is to be compatible with CPython 2.4  We've fixed all known language incompatibilities and implemented a large number of the standard CPython built-in modules with a focus on those most used.  RC1 includes one new module that hasn't shipped previous (cPickle).  We do have some issues remaining but we believe these will not affect compatability with CPython.  In addition RC1 has several new 2.5 Python features that can be enabled with the experimental switch -X:Python25, but by default these are disabled:
>   a.  PEP 308: Conditional Expressions
>   b.  PEP 343: The 'with' statement.  (as per PEP 343, you need to do 'from __future__ import with_statement' for enabling 'with' statement )
>   c.  Other Language Changes
>        1. The dict type has a new hook for letting subclasses provide a default value with '__missing__' method.
>        2. Both 8-bit and Unicode strings have new partition(sep) and rpartition(sep) methods.
>        3. The startswith() and endswith() methods of string types now accept tuples of strings to check for.
>        4. The min() and max() built-in functions gained a 'key' keyword parameter.
>        5. Two new built-in functions, any() and all(), evaluate whether an iterator contains any true or false values.
>        6. The list of base classes in a class definition can now be empty.
> You can download the release from: http://www.CodePlex.com/IronPython
> We'd like to thank everyone in the community for your bug reports and suggestions that helped make this a better release: audespc, Jonathan Jacobs, Lee Culver, Luis M. Gonzalez, Miguel de Icaza, Mike Raath, paparipote, Sanghyeon Seo, and Vincent Wehren.
> Thanks and keep in touch,
> The IronPython Team
> More complete list of changes and bug fixes:
> ============================================
> Bugfix: 824 - IP Fails to trap AttributeError from __getattr__
> Bugfix: 825 - weakref.proxy needs all special methods
> Bugfix: test_descr: two class init issues
> Bugfix: test_descr: minor negative cases we're missing (classmethod, __cmp__, __get__, read-only properties)
> Bugfix: test_descr: dict compat issues
> Bugfix: test_descr: four minor issues (wrong except on invalid format string, hex is uppercase, moduletype, Ellipsis)
> Bugfix: 872 - NullRef exception in finally w/o yield
> ClrModule.Path was deprecated, to be removed in Beta 7, but it's still there
> Also removed sys.LoadAssemblyXXX methods
> Tutorial Update: Added some bulletproofing to pyevent.py so that you could only add callable objects to events, quietly handle removing handlers that aren't there, and r
> emoved some old/unused code.
> Tutorial Update: Added comments to winforms to explain what it was doing and why
> Bugfix: 348 RE_Pattern.match matches start-of-string too optimistically when endpos is specified
> Bugfix: 438 os functions raise wrong exception types
> Bugfix: 897 Memory leak in ClrModule
> Bugfix: 901 SystemError when deriving from a parent class and a grandparent class with __slots__
> Bugfix: 813 Builtin eval with dict subclass as locals does not work as in CPython 2.4
> Bugfix: Add filename, lineno, offset and text to SyntaxError Exception when dealing with pure Python
> Bugfix: test_sys: Implement various missing sys functions WAS: Implement sys.settrace function
> Bugfix: cpython supports backslash to concat long string?
> Bugfix: clr.LoadAssemblyByName and LoadAssemblyByPartialName publish the assembly
> Bugfix: MethodBinder: choose which explicitly implemetned interface methods with the same name
> Bugfix: implement type.mro()Bugfix: test_isinstance: Assertion triggered for test case calling isinstance with a class that has no __bases__ attribute
> Tutorial Update: Tweaks to text for winforms and avalon exercises.
> Added test cases for COM interop
> Bugfix: 1018 - Function call with expanded argument list passes values incorrectly
> Bugfix: AddReference* APIs eat exceptionsBugfix: Some of the ClrModule.LoadAssemblyXxx methods swallow exceptions from the Assembly APIs they call, making debugging difficult
> Bugfix: 940 - Cannot cast OldClass to DynamicType exception when importing xml.dom.minidom
> Bugfix: 922 - __getitem__ is no longer callable w/ multiple indexesBugfix: 930 - Performance degradation between beta 8 and 9 doing multi-dimensional array copies
> Bugfix: CodeDom: Ignore empty Indent and always force it to indent
> Bugfix: 871 - Overriding __call__ on type exposes Caller ContextBugfix: 921 - FancyRepr only splits on \n
> Bugfix: 895 - cmp() on recursive structures produces uncaught StackOverflowException and kills interpreter
> Bugfix: Strange behavior of MonthCalendar control causes cascading message boxes in the tutorial on Embedding IronPython
> Bugfix: - test_descr: three super() issues,  Super had a bunch of issues -
>                #1) Super.__get__ would return an instance of Super not an instance of whatever type Super is
>                #2) Super was passing the wrong values for the descriptor get, resulting in the property's __get__ doing useful work
>                #3) If we're not looking up in a subclass of what super is a super for, then we should search the real type of the insta
> nce, skipping the 1st class in the MRO
>                #4) Super on super - ran into this one while writing the tests, our repr would stack overflow
>                #5) Super __new__ / __init__ was wrong - __new__ is a NOP which yields an empty super, __init__ re-initializes the super
>  and can be called multiple times
>                #6) Our IDynamicObject implementation for Super wasn't reporting the right thing for subclasses
> Bugfix: test_descr: issues with __str__ __repr__ and subclasses of str
> Tutorial Update: Updated tutorial with a new exercise.
> Bugfix: test_descr:  four __slots__ issues
> Bugfix: 1029 - Can't access __builtins__ when runing method compiled with PythondEngine.CompileMethod
> Bugfix: test_file.py failing on CPython---seems like a bug with our "seek" implementation
> Bugfix: Exception.__str__() exception message differs from the message given by CPython
> Test updates: Improvments to tests to ensure they pass on both IronPython & CPython
> Bugfix: Add ISlice interface to IronMath.dll
> Bugfix: If the count argument to re.subn is omitted or 0 then all occurrences should be replaced
> Bugfix: 1054 - IPy Runtime crashes making COM call with missing arguments
> Bugfix: System.Char.Parse('c') in set(['c']) -- fails
> Python 2.5 feature: __MISSING__ on dict
> Bugfix: 894 - Cannot implement an interface that defines an event
> Bugfix: COM Interop: regression - missing some methods
> Bugfix: We seem to be boxing the return value (bool) of 'a' == 'a' every time we call it
> Performance fixes for areas where we were 2-10x slower than CPython:
>        10x boost to tuple slicing perf by using code on object[] rather than on generic Array and smaller boost to List slicing with same code.
>        ~2x boost to builtin and clr method lookup perf with two steps
>          1. Using a customized immutable SymbolId based HashTable
>          2. Not checking the type of self when we know it's ours
>        The performance of looking up methods on builtin and clr types is barely noticeable in pystone and parrotbench, but should be noticeable in many real-world apps and other benchmarks.  This impacts every method call to either a .NET type or a builtin Python type - which are the same thing in IronPython.
>        Also simplified and sped-up Function and OldClass binding rules
> Tutorial Update: Output of dir(FileSystemEventArgs)
> Tutorial Update: Added TypedCode sample for Tutorial 2 Task 3
> Tutorial Update: Fixed obsolete method calls in code sample of Tutorial 6, Exercise 2, Task 1&3
> Bugfix: 758 - Some invalid input doesn't report error in the console
> Bugfix: 776 - datetime.strptime doesn't allow extra non-whitespace characters in format string
> Bugfix: 904 - Ctrl-Z improperly expected for EOF on Unix
> Bugfix: 936 - RE_Match.start doesn't accept group name
> Bugfix: 1015 - Exception stack not filtered/formatted when exception occurs on a different thread
> Improved help's display & __doc__ of built-in functions & properties
> Bugfix: sys.exit(None) prints None to console. PythonSystemExitException.GetExitCode now returns non-integer values and the caller has to handle it appropriately.
> Bugfix: PythonEngine.Evaluate does not work with EngineOptions.ClrDebuggingEnabled.
> Added EngineModule.Import to match PythonEngine.Import which only worked with the DefaultModule.
> Bugfix: CreateLambda throws NullReferenceException if the expression includes a division operator
> Bugfix: Names for generic parameters of CreateLambda and CreateMethod don't follow same pattern as existing FX generic types
> Python 2.5 Feature: with Statement
> Bugfix: CodePlex 1075 - Type Error is not raised
> Bugfix: nt.unlink not deleting file properly
> Bugfix: issue in the marshal module (enable test_marshal.cs)
> Bugfix: date.strftime does not show good data
> Bugfix: COM interop: duplicate entries of __class__ (and __doc__, __init__ etc) in dir(com object) result
> Bugfix: Wrong exception when opening read-only file for write.
> Implemented cPickle module and made associated changes to the runtime.
> Bugfix: 1090 - del sys._getframe
> Add APP ID Icon to ipy.exe and ipyw.exe
> Bugfix: Deleting a class attribute should raise an error
> Bugfix: implement socket.getaddrinfo to ~90% fidelity of CPython
> Add AllowPartiallyTrustedCallers attribute to IronPython.dll and IronMath.dll
> _______________________________________________
> users mailing list
> users at lists.ironpython.com
> http://lists.ironpython.com/listinfo.cgi/users-ironpython.com

Once in a Redmoon

More information about the Ironpython-users mailing list