[IronPython] IronPython 1.0 Beta 7 Released!

Dino Viehland dinov at exchange.microsoft.com
Wed May 24 01:08:47 CEST 2006


Hello IronPython Community,

We have just released IronPython 1.0 Beta 7. This release focuses primarily on fixing bugs and improving compatibility with CPython.  We’ve enabled a significant number of CPython regression tests that pass unmodified (test_bufio, test_colorsys, test_dircache, test_dummy_threading, test_filecmp, test_fileinput, test_fnmatch, test_fpformat, test_hexoct, test_htmllib, test_list, test_pkg, test_pkgimport, test_popen, test_popen2, test_sgmllib, test_textwrap, test_univnewlines, test_userstring).  We’ve also partially enabled many tests that pass w/ a few test cases disabled (those include test_bisect, test_decimal, test_decorators, test_iter, test_pow, test_repr, test_scope, test_sort, test_syntax).

Additionally with this release we’ve started strong name signing of IronPython.  If you’d like to build your own strong named version you’ll need to provide your own key and use the Signed Release or Signed Debug build configurations.

A more complete list of changes follows at the end.

You can download the release from: http://www.microsoft.com/downloads/details.aspx?FamilyId=5024FDAA-634B-4A8E-916D-FB2CD2B78821&displaylang=en

We'd like to thank everyone in the community for your bug reports and suggestions that helped make this a better release: Andrzej Krzywda, Anthony Tarlano, Erin Renshaw, J. de Hooge, Michael Foord, Paparipote, Seo Sanghyeon, Sumit Basu, Thottam Sriram, Tom McDonald, Vincent Wehren, Žiga Seilnacht, and 胡 杨.

Thanks and keep in touch,
The IronPython Team


More complete list of changes and bug fixes:
============================================
Support for multiple independent PythonEngine instances
Better handling of returning None from an .NET override that should return a value type
Improved delegate binding to account for default parameter values
Fixed issues w/ SymbolTable fast access using the wrong dictionary type
Fixed classes to follow scoping rules when assigning to a local from a global of the same name
Cleaned up differences between IronPython tutorial & latest IronPython
Removed SimpleAstWalker
Include lstat implementation in nt module
Enum conversions don’t check boundaries
global stmt – expecting SyntaxError, name is assigned to before global declaration
CustomFieldIdDict.Values doesn’t count ExtraKeys values
Unified method dispatch algorithms for unoptimized & optimized code paths
Bugfix: Console does not respond to print statements after running demo
Bugfix: Fixed comparison of custom dictionaries
Bugfix: Binary operators not symmetric or implemented for numeric types and types inherited from them
Implemented –Q command line parameter
Bugfix: Error defining properties with a name already in the global scope
Bugfix: BigNamespaceDictionary & getting inherited values is broken
Bugfix: Comparing container instance with sequence type instance
Bugfix: One more compare issue (or Tuple.Equals has some issue)
Bugfix: corner: expect "%.*f" % (0, -0.33333) to be "-0"
Bugfix: Fix method dispatch w/ >= 5 args param signature
Renamed dialog2.JPG to dialog2.jpg
Bugfix: True division, from __future__ import division
Removed wrappers on COM objects
Bugfix: Assignment w/ multiple targets raised an exception (Reset not implemented)
Bugfix: iter, make sure StopIteration is a sink state
Bugfix: Complex.__lt__ returns the wrong value, and complex compared against None is wrong
Bugfix: Fix many issues w/ binary operators as compared against CPython behavior
Updated test cases to not display any output during generate as snippets mode
Bugfix: TypeError should be raised when bad things are returned from __nonzero__
Bugfix: Consider interfaces when deriving from a new-style class
Bugfix: check for interfaces when assigning to __bases__ and disallow additional interfaces
Bugfix: Inheriting from an open generic instantiation raises a meaningful exception
Bugfix: Optional 'count' argument to re.sub results in behavior contrary to spec
Bugfix: re.findall doesn't return correct list of tuples for patterns containing multiple groups
Bugfix: re.findall("(\d)(\d\d)(\d\d\d)", "123456789123456789") returns wrong list of tuples
Bugfix: IsHexDigit and GetHexVal in PythonRegex appear to be dead code
Bugfix: re.subn("(ab)*", "cd", "abababababab", 10) result doesn't match with CPython's result on the same call
Bugfix: re.sub(r'(?P<id>z)', '\g<id>\g<id>blah', 'zz') does incorrect replacement
Bugfix: re.sub('x*', '-', 'abxd') result different from CPython result
Bugfix: Regex incompatibility (groups is wrong)
Bugfix: Many fixes to enable test_bool
Bugfix: Many fixes to partially enable test_scope
Bugfix: Many fixes to enable test_complex
Finished cleanup to enable sbs comparison tests
Bugfix: static unary negation operator not working from IP
Bugfix: None == ‘’
Bugfix: future division broken for built-in compile method when passing flags
Bugfix: IronPython ignores dont_inherit compiler flag
Bugfix: Many fixes to enable test_decimal
Bugfix: time.strftime('%x %X') is broken
Bugfix: Implement imp.new_module (or make it not return None)
Bugfix: Picking parameterized thread start instead of normal thread start when setting up a delegate to a bound method
Bugfix: thread.start_new, thread.exit_thread, and thread.allocate need to be implemented as synonyms of start_new_thread, exit, and allocate_lock
Bugfix: Assigning multiple keys w/ one key being none throws NullRef exception
Bugfix: os.stat doesn't return time values in seconds
Bugfix: TabError and IndentationError are now truly subtypes of SyntaxError
Bugfix: SyntaxErrors that occur during the Emit phase now have filename and line number info in them (tests in Syntax.py)
SourceFile moved into CompilerContext to fix these cases while simplifying and removing code
Changed void DumpException(...) to string FormatException(...).
Bugfix: Cannot access System.String.Split because Python is "Split" as well.
Bugfix: complex.__lt__ and others: should be fix-able
Bugfix: Adding a string to a float - bug
Bugfix: Printing Exceptions
Bugfix: Inheritance problem
Bugfix: Reflect optimizer has problems w/ leading out params & trailing arguments
Bugfix: method equality comparison is broken
Bugfix: DefaultValue wiredness
Bugfix: "IndentationError not raised for missing expected indented block"
Bugfix: remove assertion, add sort by name to allow consistent ordering.
Improved error handling at console for incomplete statements
IronPython is now strong named
Bugfix: __get__ methods require second argument
Bugfix: improve semantics of classmethod.__get__
Improved white space handling of interactive console
Bugfix: Compat: Classes (types) are missing a __class__ attribute:
Bugfix: Compat: classmethods don't pass the class' metaclass to method constructor
Bugfix: Compat: builtin object super has a lot of limitations
enable test_fpformat
Bugfix: "__module__: ip v. cpython discrepancies for in global scope, functions, and class methods". The ICustomAttribute implementations of PythonFunction and Method now respond to "__module__". Also, Method.TryGetAttr chains to PythonFunction.TryGetA
Instances of builtins (and ReflectedTypes in general) now do not have __dict__ like CPython.
documentation strings for common well-known method names like "__eq__" are now provided so that the doc string does not have to be repeated on every type exposing "__eq__"
Fixed reload(sys)
Bugfix: Support __getslice__, __delslice__, and __setslice__
Bugfix: Compat: metaclass is determined incorrectly


More information about the Ironpython-users mailing list