[IronPython] IronPython 1.0 RC1 is Released

M. David Peterson xmlhacker at gmail.com
Wed Jul 26 04:37:25 CEST 2006


I've made a quick announcments/thanks to the O'Reilly Windows DevCenter >
and furthermore plan to get a hold of Preston Gralla (the editor of
Windows DevCenter) to discuss the potential of starting up a column specific
to the development needs of the IronPython development community.  While I
can't promise he'll go for it, with enough community interest/support
suggesting this to be something of interest my guess the chances of interest
will be greater than if no interest were to be showcased.

While I have a couple ideas of how to present this to him, one area that I
think would provide a TON of value would be to create an application
"spotlight" area where, for example, you could write a tutorial/overview of
the application of which I would list a quick summary and then a link to
your blog entry.  This brings you traffic and exposure, while providing a
nice service to the O'Reilly community members to gain access to this
content via the same source they're already subscribed to (the O'Reilly
weblog feed)

Would this be of interest to any of you if I were to move forward with the
proposal to Preston?  Feel free to respond to this post directly, or
follow-up in a private thread, either way is fine by me.

Thanks again to each of you involved with bringing this project into

On 7/25/06, Dino Viehland <dinov at exchange.microsoft.com> wrote:
> 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


M. David Peterson
http://mdavid.name | http://www.oreillynet.com/pub/au/2354
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/ironpython-users/attachments/20060725/b641eb1e/attachment.html>

More information about the Ironpython-users mailing list