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)

 

_______________________________________________
users mailing list
users@lists.ironpython.com
http://lists.ironpython.com/listinfo.cgi/users-ironpython.com

Reply via email to