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 weve 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 weve introduced a breaking change concerning the treatment of
.NET value types. Wed 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-81E60E85E3DBdisplaylang=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 dont
evaluate to True, instead they throw
Bugfix: reg ex differs from
CPython