[IronPython] IronPython 1.0 Beta 6

Dino Viehland dinov at exchange.microsoft.com
Fri Apr 21 02:15:30 CEST 2006

Hello IronPython Community,

We have just released IronPython 1.0 Beta 6. This release focuses primarily on fixing bugs and improving compatibility with CPython.  Major cleanups includes supporting __metaclass__ at the module level, using __mro__ for new-style class method resolution, and a massive cleanup to make sure all of our comparisons are identical to CPython.  With this release we've also improved the performance of calls to arbitrary .NET assemblies by enabling our call-optimization for all assemblies and updated the tutorial for beta 6.

One change that has the potential to break people in beta 6 is that we are deprecating clr.Path and instead suggesting everyone switch over to using sys.path instead.  This is more inline with how CPython searches for .pyd extension files and we believe will simplify the loading story.  This also means that the current working directory will be included in the search path by default which seems to have been an issue that caused many problems.

In this release of IronPython we've introduced a breaking change concerning the treatment of .NET value types. We'd like to elicit your feedback on this change to determine if it needs tweaking or outright changes prior to a V1.0 release.  You can read more about this specific change at http://channel9.msdn.com/wiki/default.aspx/IronPython.ValueTypes

A more complete list of changes follows at the end.

You can download the release from: http://www.microsoft.com/downloads/details.aspx?FamilyId=F5BB7DEF-7C71-40D0-9AD7-81E60E85E3DB&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, Erin Renshaw, John Platt, Jonathan Jacobs, Mat Steeples, Mathew Yeates, Nathan R. Ernst, Nichlas Jacobson, Richard Hsu, Seo Sanghyeon, Stanpinte, Szymon Kobalczyk, Tragic_hip, William Reade.

Thanks and keep in touch,
The IronPython Team

More complete list of changes and bug fixes:
Fixed precision formatting bugs in string formatting
Enable ReflectOptimization for all assemblies and methods (improve .NET function call performance)
Add update and other missing functionality to module & class dictionaries
Fixed bugs in list comprehension code gen
Implemented -W (warning filters) command line parameter
Improve IronPython test suites ability to run on both IronPython & CPython
Able to run test_list from standard CPython library distribution (w/ 2 tests disabled)
Fix equality check in if statements
Cleanup semantic issues in IronPython code base
Fix tabs to align at offset of 8 rather than incrementing by 8
Add Line information to PythonSyntaxError
Fix for x in d.keys() at console not raising syntax error
Fix repr / str results on old class to match CPython
Fix > 5 arg case for calling optimized functions w/ params
Make sys.exc_traceback a writeable attribute
Add __mro__ for new-style classes and use it for method resolution
Add support for __metaclass__ defined at the module scope
Enable inheritance from both new-style classes and old-style classes
Prevent subclassing from the same type twice
Enforce inheritance restrictions for MRO.
Can now run test_slice unchanged from CPython standard library regressions
Add running test_xrange from CPython standard library regressions
Disable useless assignment to mutable value types
Console end-of-input detection cleaned up
Bugfix: sgmllib still not compiling (re module bug)
Implement popen in os module, and other functionality as well
Bugfix: File object lacks closed attribute
Add support for creating file from .NET stream w/ mode
Bugfix: File object lacks tell method
Bugfix: loading a py file crashes winforms (race in winforms.py)
Fix RemoveRange in conversion wrappers
Bugfix: IronPython lets you delete builtin functions by specifying the name
Support getting CLR type object from Python type object (clr.GetClrType)
Bugfix: Assigning or Deleting events should throw a TypeError exception
Bugfix: selfmodifyingComparison in list.sort
Bugfix: Match CPython 2.4 behavior for base64.b64decode
Fix IndexOf bugs that can result in IndexOutOfRangeExceptions in conversion wrappers
Bugfix: enable deriving from complex
Bugfix: leading space sometimes not reported as a syntax error
Bugfix: False == None ?
More FxCop cleanup
Move rarely used object dictionaries into SymbolId dictionary
Enable access to CLI assemblies & namespaces via __dict__
Bugfix: generation of RealEntryPoint in CodeDom
Bugfix: CodeDom no newline afer def of _ConstructorFieldInitFunction leading to parsing errors
Bugfix: CodeDom: Empty try blocks not handled correctly
Bugfix: CodeDom: Emitting a try with multiple except clauses aligns indentations incorrectly
Bugfix: COM import does not iterate over interfaces
Add COM interop test harness
Bugfix: Types don't evaluate to True, instead they throw
Bugfix: reg ex differs from CPython (matching & groups)
Fix filename shown in file
Fix bug in startswith
Improve error message in XRange.AddSequence/MultiplySequence
Improve error checking on function calls
Add large number of compatibility tests for comparisons of built-in types, new-style and old-style classes
Bugfix: Fix CodeDom generation & round tripping of fields w/ init expressions
Bugfix: Fix CodeDom resolution of private methods
Improve testing of console
Bugfix: CodeDom IterationStatement parsing and generation is broken
Bugfix: CodeDom CodeConditionStatement parsing w/ non-null FalseStatements is broken
Bugfix: Fix some issues w/ empty blocks in CodeDom
Bugfix: ReflectedNamespace.DeleteAttr wasn't working correctly & other object ID keys fixed
Fix ArrayOps issues
Enable use of instance operators defined from C++/CLI
Fix StackOverflow when calling Ops methods
Bugfix: Fix handling of unmappable Unicode characters in CodeDom
Bugfix: Invalid generation of CodePrimitiveExpressions for single chars
Bugfix: Fix MulticallGenerator issues
Improve thread safety of IronPython
Improve & fix issues in IronPython Tutorial
Bugfix: ReflectOptimizer doesn't call Ops.ToPython
Implement sys.setrecursionlimit and set default recursion limit to unlimited
Fix CodeDom support for using a TextReader
Improve stack trace shown after keyboard interrupt
Support in-memory compilation in CodeDom
Remove clr.Path and use sys.path for assembly loading

Do you want to help develop Dynamic languages on CLR?<http://members.microsoft.com/careers/search/details.aspx?JobID=6D4754DE-11F0-45DF-8B78-DC1B43134038> (http://members.microsoft.com/careers/search/details.aspx?JobID=6D4754DE-11F0-45DF-8B78-DC1B43134038)

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/ironpython-users/attachments/20060420/07d23ae8/attachment.html>

More information about the Ironpython-users mailing list