Hello Python Community,
We’re pleased to announce the release of IronPython 2.6.1 RC1. This version of IronPython makes great strides in stability and compatibility, including a considerable number of targeted bugfixes. Because this is our largest servicing release to date, and due to our decision against incrementing the assembly version numbers, it is important that we get everything right. To this end, we present our first-ever RC for a minor dot release. Of course, your feedback is imperative to the quality of this release, so we’d love to hear from you!
IronPython 2.6.1 comes in two flavors – one that runs on top of .NET 4.0 RC, and one that runs on any other framework starting with .NET 2.0 SP1. If you're looking for the .NET 2.0 compatible release, follow this link: IronPython 2.6.1 RC1 for .NET 2.0 SP1Note
: The .NET Framework 4.0 RC
is required to use this release.
IronPython 2.6.1 RC1 includes fixes for well over 50 bugs, large and small. Ctypes has had a number of significant updates, including union support, variant_bool, and wintypes. Another focus has been on sys.settrace, making debugging more reliable. For example, sys.settrace now returns the correct frame, supports tracing through modules, and no longer interferes with “import os”. Other notable fixes include thread-safe importing, and the missing error code in _winreg exception.
In addition, we’ve made a substantial improvement in import time. Not only does this reduce startup time, but can speed up the importing of large, definition-heavy modules by up to 50%.
As you might imagine, the .NET 4.0 flavor of IronPython 2.6.1 RC1 has a few of its own changes designed for better interoperability with the framework. These include fixing some errors with Func<> and better runtime isolation when similarly-named assemblies in different locations are loaded in multiple engines. In addition, both the .NET 2.0 and .NET 4.0 builds support the new .NET 4.0 IStructuralEquatable and IStructuralComparable interfaces and maps them to the appropriate operations (__eq__, __hash__, __gt__, etc.). In the case of .NET 4.0, this replaces IValueEquality as the gold standard for defining equality in an interop-friendly manner. In the .NET 2.0 build, these interfaces are copied so that their use can be phased in while retaining IValueEquality for backwards compatibility.
Special thanks to Albert Szilvasy, cendalc, clovery, egonw_, essey, fabiofz, igalse, jazzcat, jlunder, laughingboy, marten_range, László de Almásy, lbaker, Lukas Cenovsky, pl6306, roinet, sanxiyn, Thomas Heller, vernondcole, and Wolfram for reporting issues. Happy Scripting!
- The IronPython Team