<html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:x="urn:schemas-microsoft-com:office:excel" xmlns:p="urn:schemas-microsoft-com:office:powerpoint" xmlns:a="urn:schemas-microsoft-com:office:access" xmlns:dt="uuid:C2F41010-65B3-11d1-A29F-00AA00C14882" xmlns:s="uuid:BDC6E3F0-6DA3-11d1-A2A3-00AA00C14882" xmlns:rs="urn:schemas-microsoft-com:rowset" xmlns:z="#RowsetSchema" xmlns:b="urn:schemas-microsoft-com:office:publisher" xmlns:ss="urn:schemas-microsoft-com:office:spreadsheet" xmlns:c="urn:schemas-microsoft-com:office:component:spreadsheet" xmlns:odc="urn:schemas-microsoft-com:office:odc" xmlns:oa="urn:schemas-microsoft-com:office:activation" xmlns:html="http://www.w3.org/TR/REC-html40" xmlns:q="http://schemas.xmlsoap.org/soap/envelope/" xmlns:rtc="http://microsoft.com/officenet/conferencing" xmlns:D="DAV:" xmlns:Repl="http://schemas.microsoft.com/repl/" xmlns:mt="http://schemas.microsoft.com/sharepoint/soap/meetings/" xmlns:x2="http://schemas.microsoft.com/office/excel/2003/xml" xmlns:ppda="http://www.passport.com/NameSpace.xsd" xmlns:ois="http://schemas.microsoft.com/sharepoint/soap/ois/" xmlns:dir="http://schemas.microsoft.com/sharepoint/soap/directory/" xmlns:ds="http://www.w3.org/2000/09/xmldsig#" xmlns:dsp="http://schemas.microsoft.com/sharepoint/dsp" xmlns:udc="http://schemas.microsoft.com/data/udc" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:sub="http://schemas.microsoft.com/sharepoint/soap/2002/1/alerts/" xmlns:ec="http://www.w3.org/2001/04/xmlenc#" xmlns:sp="http://schemas.microsoft.com/sharepoint/" xmlns:sps="http://schemas.microsoft.com/sharepoint/soap/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:udcs="http://schemas.microsoft.com/data/udc/soap" xmlns:udcxf="http://schemas.microsoft.com/data/udc/xmlfile" xmlns:udcp2p="http://schemas.microsoft.com/data/udc/parttopart" xmlns:wf="http://schemas.microsoft.com/sharepoint/soap/workflow/" xmlns:dsss="http://schemas.microsoft.com/office/2006/digsig-setup" xmlns:dssi="http://schemas.microsoft.com/office/2006/digsig" xmlns:mdssi="http://schemas.openxmlformats.org/package/2006/digital-signature" xmlns:mver="http://schemas.openxmlformats.org/markup-compatibility/2006" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns:mrels="http://schemas.openxmlformats.org/package/2006/relationships" xmlns:spwp="http://microsoft.com/sharepoint/webpartpages" xmlns:ex12t="http://schemas.microsoft.com/exchange/services/2006/types" xmlns:ex12m="http://schemas.microsoft.com/exchange/services/2006/messages" xmlns:pptsl="http://schemas.microsoft.com/sharepoint/soap/SlideLibrary/" xmlns:spsl="http://microsoft.com/webservices/SharePointPortalServer/PublishedLinksService" xmlns:Z="urn:schemas-microsoft-com:" xmlns:st="&#1;" xmlns="http://www.w3.org/TR/REC-html40">

<head>
<meta http-equiv=Content-Type content="text/html; charset=iso-8859-1">
<meta name=Generator content="Microsoft Word 12 (filtered medium)">
<style>
<!--
 /* Font Definitions */
 @font-face
        {font-family:"Cambria Math";
        panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
        {font-family:Calibri;
        panose-1:2 15 5 2 2 2 4 3 2 4;}
@font-face
        {font-family:Tahoma;
        panose-1:2 11 6 4 3 5 4 4 2 4;}
@font-face
        {font-family:"Segoe UI";
        panose-1:2 11 5 2 4 2 4 2 2 3;}
 /* Style Definitions */
 p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0in;
        margin-bottom:.0001pt;
        font-size:11.0pt;
        font-family:"Calibri","sans-serif";}
a:link, span.MsoHyperlink
        {mso-style-priority:99;
        color:blue;
        text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
        {mso-style-priority:99;
        color:purple;
        text-decoration:underline;}
span.EmailStyle17
        {mso-style-type:personal;
        font-family:"Calibri","sans-serif";
        color:windowtext;}
span.EmailStyle18
        {mso-style-type:personal-reply;
        font-family:"Calibri","sans-serif";
        color:#1F497D;}
.MsoChpDefault
        {mso-style-type:export-only;
        font-size:10.0pt;}
@page Section1
        {size:8.5in 11.0in;
        margin:1.0in 1.0in 1.0in 1.0in;}
div.Section1
        {page:Section1;}
-->
</style>
<!--[if gte mso 9]><xml>
 <o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
 <o:shapelayout v:ext="edit">
  <o:idmap v:ext="edit" data="1" />
 </o:shapelayout></xml><![endif]-->
</head>

<body lang=EN-US link=blue vlink=purple>

<div class=Section1>

<p class=MsoNormal>A newer version of Dino&#8217;s &#8220;World&#8217;s Worst
Paint Program&#8221; sample has just been uploaded to the 2.6.1 download page
as <span style='font-size:9.5pt;font-family:"Segoe UI","sans-serif"'><a
href="http://ironpython.codeplex.com/releases/view/36280#DownloadId=116523"><span
style='color:windowtext'>(Sample) BadPaint.zip</span></a>. This sample shows
how to utilize the DLR/IronPython hosting APIs to manipulate the behavior of C#/VB/etc
.NET 4.0 applications.  In short, you can move around objects on the paint
canvas, change their colors, etc using a poor man&#8217;s Python interactive
session built directly into the paint program.  If you&#8217;ve ever wanted to
see how the hosting APIs work, this is a great place to start!</span><o:p></o:p></p>

<p class=MsoNormal><span style='color:#1F497D'><o:p>&nbsp;</o:p></span></p>

<div>

<div style='border:none;border-top:solid #B5C4DF 1.0pt;padding:3.0pt 0in 0in 0in'>

<p class=MsoNormal><b><span style='font-size:10.0pt;font-family:"Tahoma","sans-serif"'>From:</span></b><span
style='font-size:10.0pt;font-family:"Tahoma","sans-serif"'>
users-bounces@lists.ironpython.com [mailto:users-bounces@lists.ironpython.com] <b>On
Behalf Of </b>David DiCato<br>
<b>Sent:</b> Monday, April 12, 2010 2:54 PM<br>
<b>To:</b> Discussion of IronPython<br>
<b>Subject:</b> [IronPython] Announcing IronPython 2.6.1<o:p></o:p></span></p>

</div>

</div>

<p class=MsoNormal><o:p>&nbsp;</o:p></p>

<p class=MsoNormal>Hello Python Community,<o:p></o:p></p>

<p class=MsoNormal><o:p>&nbsp;</o:p></p>

<p class=MsoNormal>We&#8217;re pleased to announce the final release of
IronPython 2.6.1. This version of IronPython makes great strides in stability
and compatibility, including a considerable number of targeted bugfixes. This
is our largest servicing release to date, and with your help both before and
during the RC phase, along with the simultaneous release of .NET 4.0, this has
become a very exciting release for all of us.<o:p></o:p></p>

<p class=MsoNormal><o:p>&nbsp;</o:p></p>

<p class=MsoNormal>IronPython 2.6.1 comes in two flavors &#8211; one that runs
on top of .NET 4.0, and one that runs on any earlier framework starting with
.NET 2.0 SP1. They can both be downloaded at <a
href="http://ironpython.codeplex.com/releases/view/36280">http://ironpython.codeplex.com/releases/view/36280</a>.<o:p></o:p></p>

<p class=MsoNormal><o:p>&nbsp;</o:p></p>

<p class=MsoNormal>We&#8217;d like to place a particular emphasis on the .NET
4.0 flavor of IronPython 2.6.1 and encourage all of you to try it out. It has a
number of advantages over the 2.0 version, some of which Dave discusses on his
blog at <a href="http://knowbody.livejournal.com/20751.html">http://knowbody.livejournal.com/20751.html</a>.
These include faster startup time, compatibility with C#&#8217;s new dynamic
keyword, and access to the numerous new features present in the updated Framework.
The final release of Microsoft .NET Framework 4.0 is publically available as of
today, and is required for this flavor of IronPython 2.6.1. Download it here: <a
href="http://www.microsoft.com/downloads/details.aspx?FamilyID=9cfb2d51-5ff4-4491-b0e5-b386f32c0992&amp;displaylang=en">http://www.microsoft.com/downloads/details.aspx?FamilyID=9cfb2d51-5ff4-4491-b0e5-b386f32c0992&amp;displaylang=en</a><o:p></o:p></p>

<p class=MsoNormal><o:p>&nbsp;</o:p></p>

<p class=MsoNormal>The IronPython 2.6.1 RC included 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 &#8220;import os&#8221;. Other notable fixes include
thread-safe importing, and the missing error code in _winreg exception.<o:p></o:p></p>

<p class=MsoNormal><o:p>&nbsp;</o:p></p>

<p class=MsoNormal>In addition, we&#8217;ve made a substantial improvement in
import time. Not only does this reduce startup time, but it can speed up the
importing of large, definition-heavy modules by up to 50%.<o:p></o:p></p>

<p class=MsoNormal><o:p>&nbsp;</o:p></p>

<p class=MsoNormal>As you might imagine, the .NET 4.0 flavor of IronPython
2.6.1 RC has a few of its own changes designed for better interoperability with
the framework. These include fixing some errors with Func&lt;&gt; 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&nbsp; 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.<o:p></o:p></p>

<p class=MsoNormal><o:p>&nbsp;</o:p></p>

<p class=MsoNormal>Since the RC, we have fixed numerous other issues, as well
as adding CPython&#8217;s ssl.py to our distribution. We&#8217;ve also made
some major unicode-related changes in response to your feedback on the mailing
list, changes that improve compatibility with certain third-party applications
including Django. In particular, invoking unicode() or using unicode string
formatting will now call __unicode__() first if it is present on the object.
Finally, we&#8217;ve included a new code sample that shows how to use
&nbsp;__clrtype__ to create custom CLR classes from IronPython. This sample is
a sneak preview of what we expect will become a fully supported IronPython module,
so we encourage anyone who is so inclined to try it out and let us know how it
goes.<o:p></o:p></p>

<p class=MsoNormal><o:p>&nbsp;</o:p></p>

<p class=MsoNormal>Special thanks to Albert Szilvasy, amajorek, cendalc,
clovery, egonw_, Eloff, essey, fabiofz, gjones, gpgemini, Haibo Luo, igalse,
jazzcat, jdhardy, jlunder, JustinCle, klrohe, László de Almásy, laughingboy,
lbaker, Lukas Cenovsky, marten_range, olav, paulfelix, pl6306, razam, roinet,
russomf, sanxiyn, see_toronto &lt;at&gt; web &lt;dot&gt; de, Thomas Heller,
variant77, vernondcole, William Reade, and Wolfram for reporting issues and
making this a great release. Happy scripting!<o:p></o:p></p>

<p class=MsoNormal><o:p>&nbsp;</o:p></p>

<p class=MsoNormal>- The IronPython Team<o:p></o:p></p>

<p class=MsoNormal><o:p>&nbsp;</o:p></p>

</div>

</body>

</html>