<div dir="ltr">Hello All, <div><br></div><div>I am <i>extremely </i>pleased to be able to announce the version 0.4 release of xdress.  This version contains much anticipated full support for Clang as a parser!  This is almost entirely due to the efforts of Geoffrey Irving.  Please thank him the next time you get a chance :)</div>

<div><br></div><div>This release also contains a lot of other goodies that you can read about in the release notes below.<br><div><br></div><div>Happy Generating!</div><div>Anthony</div><div><br></div><div><h1 style="margin:0px 0px 0.5em;padding:0.9em 0px 0px;color:rgb(0,0,0);font-family:'Noticia Text',serif;font-weight:normal;line-height:1em;text-align:center;font-size:32px">

XDress 0.4 Release Notes<a class="" href="http://xdress.org/previous/0.4_release_notes.html#xdress-0-4-release-notes" title="Permalink to this headline" style="color:rgb(0,52,105);text-decoration:none;font-size:0.8em;margin:0px 0px 0px 1px;padding:0px 5px 0px 4px;border-top-left-radius:5px;border-top-right-radius:5px;border-bottom-right-radius:5px;border-bottom-left-radius:5px"></a></h1>

<p style="text-align:justify;line-height:21.280000686645508px;color:rgb(0,0,0);font-family:'Open Sans',sans-serif;font-size:16px">XDress is a numpy-aware automatic wrapper generator for C/C++ written in pure Python. Currently, xdress may generate Python bindings (via Cython) for C++ classes, functions, and certain variable types. It also contains idiomatic wrappers for C++ standard library containers (sets, vectors, maps). In the future, other tools and bindings will be supported.</p>

<p style="text-align:justify;line-height:21.280000686645508px;color:rgb(0,0,0);font-family:'Open Sans',sans-serif;font-size:16px">The main enabling feature of xdress is a dynamic type system that was designed with the purpose of API generation in mind.</p>

<p style="text-align:justify;line-height:21.280000686645508px;color:rgb(0,0,0);font-family:'Open Sans',sans-serif;font-size:16px">Release highlights:</p><blockquote style="color:rgb(0,0,0);font-family:'Open Sans',sans-serif;font-size:16px;line-height:22.399999618530273px">

<ul class=""><li style="text-align:justify;line-height:21.280000686645508px">Clang support! All kudos to Geoffrey Irving!</li><li style="text-align:justify;line-height:21.280000686645508px">NumPy dtypes may be created independently of C++ STL vectors</li>

<li style="text-align:justify;line-height:21.280000686645508px">A complete test suite refactor</li><li style="text-align:justify;line-height:21.280000686645508px">Arbitrary source code locations</li><li style="text-align:justify;line-height:21.280000686645508px">

Global run control files</li><li style="text-align:justify;line-height:21.280000686645508px">A plethora of useful bug fixes</li></ul></blockquote><p style="text-align:justify;line-height:21.280000686645508px;color:rgb(0,0,0);font-family:'Open Sans',sans-serif;font-size:16px">

This version of xdress is <em>not</em> 100% backwards compatible with previous versions of xdress. We apologize in the name of progress. It represents ans impressive 245 files changed, 44917 aggregate line insertions (+), and 7893 deletions (-).</p>

<p style="text-align:justify;line-height:21.280000686645508px;color:rgb(0,0,0);font-family:'Open Sans',sans-serif;font-size:16px">Please visit the website for more information: <a class="" href="http://xdress.org/" style="color:rgb(0,52,105);text-decoration:none">http://xdress.org/</a></p>

<p style="text-align:justify;line-height:21.280000686645508px;color:rgb(0,0,0);font-family:'Open Sans',sans-serif;font-size:16px">Ask questions on the mailing list: <a class="" href="https://groups.google.com/forum/#!forum/xdress" style="color:rgb(0,52,105);text-decoration:none">https://groups.google.com/forum/#!forum/xdress</a></p>

<p style="text-align:justify;line-height:21.280000686645508px;color:rgb(0,0,0);font-family:'Open Sans',sans-serif;font-size:16px">Download the code from GitHub: <a class="" href="http://github.com/xdress/xdress" style="color:rgb(0,52,105);text-decoration:none">http://github.com/xdress/xdress</a></p>

<p style="text-align:justify;line-height:21.280000686645508px;color:rgb(0,0,0);font-family:'Open Sans',sans-serif;font-size:16px">XDress is free & open source (BSD 2-clause license) and requires Python 2.7+, NumPy 1.5+, Cython 0.19+, and optionally Clang, GCC-XML, pycparser, dOxygen, or lxml.</p>

<div class="" id="new-features" style="color:rgb(0,0,0);font-family:'Open Sans',sans-serif;font-size:16px;line-height:22.399999618530273px"><h2 style="padding:12px 10px 10px;color:rgb(255,255,255);font-family:'Noticia Text',serif;font-weight:normal;line-height:1em;font-size:26px;clear:both;background-color:rgb(132,166,199);border-style:solid;border-color:rgba(0,0,0,0.121569);border-width:0px 1px 1px 0px;border-top-left-radius:10px;border-top-right-radius:10px;border-bottom-right-radius:10px;border-bottom-left-radius:10px;font-style:italic">

New Features<a class="" href="http://xdress.org/previous/0.4_release_notes.html#new-features" title="Permalink to this headline" style="color:rgb(0,52,105);text-decoration:none;font-size:0.8em;margin:0px 0px 0px 1px;padding:0px 5px 0px 4px;border-top-left-radius:5px;border-top-right-radius:5px;border-bottom-right-radius:5px;border-bottom-left-radius:5px"></a></h2>

<div class="" id="clang-support"><h3 style="padding:0px;font-family:'Noticia Text',serif;font-weight:normal;line-height:1em;font-size:22px">Clang Support<a class="" href="http://xdress.org/previous/0.4_release_notes.html#clang-support" title="Permalink to this headline" style="color:rgb(0,52,105);text-decoration:none;font-size:0.8em;margin:0px 0px 0px 1px;padding:0px 5px 0px 4px;border-top-left-radius:5px;border-top-right-radius:5px;border-bottom-right-radius:5px;border-bottom-left-radius:5px"></a></h3>

<p style="text-align:justify;line-height:21.280000686645508px">Through the herculean efforts of Geoffrey Irving xdress finally has full, first-class Clang/LLVM support! This is major advancement as it allows xdress to wrap more modern versions of C++ than GCC-XML can handle. Because of deficiencies in the existing libclang and Python bindings it was necessary for us to fork libclang for xdress in the short term. We hope to integrate these changes upstream. Clang versions 3.2 - 3.4 are supported.</p>

</div><div class="" id="independent-numpy-dtypes"><h3 style="padding:0px;font-family:'Noticia Text',serif;font-weight:normal;line-height:1em;font-size:22px">Independent NumPy Dtypes<a class="" href="http://xdress.org/previous/0.4_release_notes.html#independent-numpy-dtypes" title="Permalink to this headline" style="color:rgb(0,52,105);text-decoration:none;font-size:0.8em;margin:0px 0px 0px 1px;padding:0px 5px 0px 4px;border-top-left-radius:5px;border-top-right-radius:5px;border-bottom-right-radius:5px;border-bottom-left-radius:5px"></a></h3>

<p style="text-align:justify;line-height:21.280000686645508px">In previous versions of xdress, to create a dtype of type T the user needed to declare the desire for a wrapper of an STL vector of type T. These two desires have now been separated. It is now possible to create a dtype via the <tt class="" style="font-family:'Droid Sans Mono',monospace;font-size:14px;background-color:rgba(0,0,0,0.0745098);border:1px solid rgba(0,0,0,0.0470588);padding:0px 4px;margin:1px;border-top-left-radius:4px;border-top-right-radius:4px;border-bottom-right-radius:4px;border-bottom-left-radius:4px;white-space:nowrap"><span class="">dtypes</span></tt> run control parameter. STL vectors are still wrapped via dtypes. See the dtypes module for more information.</p>

</div><div class="" id="shiny-new-test-suite"><h3 style="padding:0px;font-family:'Noticia Text',serif;font-weight:normal;line-height:1em;font-size:22px">Shiny New Test Suite<a class="" href="http://xdress.org/previous/0.4_release_notes.html#shiny-new-test-suite" title="Permalink to this headline" style="color:rgb(0,52,105);text-decoration:none;font-size:0.8em;margin:0px 0px 0px 1px;padding:0px 5px 0px 4px;border-top-left-radius:5px;border-top-right-radius:5px;border-bottom-right-radius:5px;border-bottom-left-radius:5px"></a></h3>

<p style="text-align:justify;line-height:21.280000686645508px">The xdress test suite has been completely revamped to include both unit and integration tests which are run for all available parsers. The integration tests are accomplished though two fake projects - cproj and cppproj - on which the xdress CLI is run. These tests are now fully platform independent, unlike the previous BASH-based test suite.</p>

</div><div class="" id="source-paths"><h3 style="padding:0px;font-family:'Noticia Text',serif;font-weight:normal;line-height:1em;font-size:22px">Source Paths<a class="" href="http://xdress.org/previous/0.4_release_notes.html#source-paths" title="Permalink to this headline" style="color:rgb(0,52,105);text-decoration:none;font-size:0.8em;margin:0px 0px 0px 1px;padding:0px 5px 0px 4px;border-top-left-radius:5px;border-top-right-radius:5px;border-bottom-right-radius:5px;border-bottom-left-radius:5px"></a></h3>

<p style="text-align:justify;line-height:21.280000686645508px">Source file paths are now given by either their absolute or relative path. This allows source code to be located anywhere on the user’s file system and enable the wrapping of dependencies or externally supplied libraries as needed. The run control parameter<tt class="" style="font-family:'Droid Sans Mono',monospace;font-size:14px;background-color:rgba(0,0,0,0.0745098);border:1px solid rgba(0,0,0,0.0470588);padding:0px 4px;margin:1px;border-top-left-radius:4px;border-top-right-radius:4px;border-bottom-right-radius:4px;border-bottom-left-radius:4px;white-space:nowrap"><span class="">sourcedir</span></tt> has been deprecated.</p>

</div><div class="" id="global-run-control-files"><h3 style="padding:0px;font-family:'Noticia Text',serif;font-weight:normal;line-height:1em;font-size:22px">Global Run Control Files<a class="" href="http://xdress.org/previous/0.4_release_notes.html#global-run-control-files" title="Permalink to this headline" style="color:rgb(0,52,105);text-decoration:none;font-size:0.8em;margin:0px 0px 0px 1px;padding:0px 5px 0px 4px;border-top-left-radius:5px;border-top-right-radius:5px;border-bottom-right-radius:5px;border-bottom-left-radius:5px"></a></h3>

<p style="text-align:justify;line-height:21.280000686645508px">It is sometimes useful to be able to set system-wide run control parameters. XDress will now search the following files in order of increasing precedence.</p>

<ul class=""><li style="text-align:justify;line-height:21.280000686645508px"><tt class="" style="font-family:'Droid Sans Mono',monospace;font-size:14px;background-color:rgba(0,0,0,0.0745098);border:1px solid rgba(0,0,0,0.0470588);padding:0px 4px;margin:1px;border-top-left-radius:4px;border-top-right-radius:4px;border-bottom-right-radius:4px;border-bottom-left-radius:4px"><span class="">$HOME/.xdressrc</span></tt></li>

<li style="text-align:justify;line-height:21.280000686645508px"><tt class="" style="font-family:'Droid Sans Mono',monospace;font-size:14px;background-color:rgba(0,0,0,0.0745098);border:1px solid rgba(0,0,0,0.0470588);padding:0px 4px;margin:1px;border-top-left-radius:4px;border-top-right-radius:4px;border-bottom-right-radius:4px;border-bottom-left-radius:4px"><span class="">$HOME/.xdressrc.py</span></tt></li>

<li style="text-align:justify;line-height:21.280000686645508px"><tt class="" style="font-family:'Droid Sans Mono',monospace;font-size:14px;background-color:rgba(0,0,0,0.0745098);border:1px solid rgba(0,0,0,0.0470588);padding:0px 4px;margin:1px;border-top-left-radius:4px;border-top-right-radius:4px;border-bottom-right-radius:4px;border-bottom-left-radius:4px"><span class="">$HOME/.config/xdressrc</span></tt></li>

<li style="text-align:justify;line-height:21.280000686645508px"><tt class="" style="font-family:'Droid Sans Mono',monospace;font-size:14px;background-color:rgba(0,0,0,0.0745098);border:1px solid rgba(0,0,0,0.0470588);padding:0px 4px;margin:1px;border-top-left-radius:4px;border-top-right-radius:4px;border-bottom-right-radius:4px;border-bottom-left-radius:4px"><span class="">$HOME/.config/xdressrc.py</span></tt></li>

</ul><p style="text-align:justify;line-height:21.280000686645508px"><tt class="" style="font-family:'Droid Sans Mono',monospace;font-size:14px;background-color:rgba(0,0,0,0.0745098);border:1px solid rgba(0,0,0,0.0470588);padding:0px 4px;margin:1px;border-top-left-radius:4px;border-top-right-radius:4px;border-bottom-right-radius:4px;border-bottom-left-radius:4px;white-space:nowrap"><span class="">$HOME</span></tt> is the user’s home directory. Settings in the project run control file take precedence over the values here.</p>

</div></div><div class="" id="major-bug-fixes" style="color:rgb(0,0,0);font-family:'Open Sans',sans-serif;font-size:16px;line-height:22.399999618530273px"><h2 style="padding:12px 10px 10px;color:rgb(255,255,255);font-family:'Noticia Text',serif;font-weight:normal;line-height:1em;font-size:26px;clear:both;background-color:rgb(132,166,199);border-style:solid;border-color:rgba(0,0,0,0.121569);border-width:0px 1px 1px 0px;border-top-left-radius:10px;border-top-right-radius:10px;border-bottom-right-radius:10px;border-bottom-left-radius:10px;font-style:italic">

Major Bug Fixes<a class="" href="http://xdress.org/previous/0.4_release_notes.html#major-bug-fixes" title="Permalink to this headline" style="color:rgb(0,52,105);text-decoration:none;font-size:0.8em;margin:0px 0px 0px 1px;padding:0px 5px 0px 4px;border-top-left-radius:5px;border-top-right-radius:5px;border-bottom-right-radius:5px;border-bottom-left-radius:5px"></a></h2>

<ul class=""><li style="text-align:justify;line-height:21.280000686645508px">Debug file now always written when in debug mode.</li><li style="text-align:justify;line-height:21.280000686645508px">STL sets of custom types now allowed.</li>

<li style="text-align:justify;line-height:21.280000686645508px">Template parameters now allowed to be enum values.</li><li style="text-align:justify;line-height:21.280000686645508px">Allow classes with no default constructor.</li>

</ul></div><div class="" id="join-in-the-fun" style="color:rgb(0,0,0);font-family:'Open Sans',sans-serif;font-size:16px;line-height:22.399999618530273px"><h2 style="padding:12px 10px 10px;color:rgb(255,255,255);font-family:'Noticia Text',serif;font-weight:normal;line-height:1em;font-size:26px;clear:both;background-color:rgb(132,166,199);border-style:solid;border-color:rgba(0,0,0,0.121569);border-width:0px 1px 1px 0px;border-top-left-radius:10px;border-top-right-radius:10px;border-bottom-right-radius:10px;border-bottom-left-radius:10px;font-style:italic">

Join in the Fun!<a class="" href="http://xdress.org/previous/0.4_release_notes.html#join-in-the-fun" title="Permalink to this headline" style="color:rgb(0,52,105);text-decoration:none;font-size:0.8em;margin:0px 0px 0px 1px;padding:0px 5px 0px 4px;border-top-left-radius:5px;border-top-right-radius:5px;border-bottom-right-radius:5px;border-bottom-left-radius:5px"></a></h2>

<p style="text-align:justify;line-height:21.280000686645508px">If you are interested in using xdress on your project (and need help), contributing back to xdress, starting up a development team, or writing your own code generation plugin tool, please let us know. Participation is very welcome!</p>

</div><div class="" id="authors" style="color:rgb(0,0,0);font-family:'Open Sans',sans-serif;font-size:16px;line-height:22.399999618530273px"><h2 style="padding:12px 10px 10px;color:rgb(255,255,255);font-family:'Noticia Text',serif;font-weight:normal;line-height:1em;font-size:26px;clear:both;background-color:rgb(132,166,199);border-style:solid;border-color:rgba(0,0,0,0.121569);border-width:0px 1px 1px 0px;border-top-left-radius:10px;border-top-right-radius:10px;border-bottom-right-radius:10px;border-bottom-left-radius:10px;font-style:italic">

Authors<a class="" href="http://xdress.org/previous/0.4_release_notes.html#authors" title="Permalink to this headline" style="color:rgb(0,52,105);text-decoration:none;font-size:0.8em;margin:0px 0px 0px 1px;padding:0px 5px 0px 4px;border-top-left-radius:5px;border-top-right-radius:5px;border-bottom-right-radius:5px;border-bottom-left-radius:5px"></a></h2>

<ul class=""><li style="text-align:justify;line-height:21.280000686645508px"><a class="" href="http://scopatz.com/" style="color:rgb(0,52,105);text-decoration:none">Anthony Scopatz</a></li><li style="text-align:justify;line-height:21.280000686645508px">

Geoffrey Irving *</li><li style="text-align:justify;line-height:21.280000686645508px">James Casbon *</li><li style="text-align:justify;line-height:21.280000686645508px">Kevin Tew *</li><li style="text-align:justify;line-height:21.280000686645508px">

Spencer Lyon</li><li style="text-align:justify;line-height:21.280000686645508px">John Wiggins</li><li style="text-align:justify;line-height:21.280000686645508px">Matt McCormick</li><li style="text-align:justify;line-height:21.280000686645508px">

Brad Buran</li><li style="text-align:justify;line-height:21.280000686645508px">Chris Harris *</li><li style="text-align:justify;line-height:21.280000686645508px">Gerald Dalley *</li><li style="text-align:justify;line-height:21.280000686645508px">

Micky Latowicki *</li><li style="text-align:justify;line-height:21.280000686645508px">Mike C. Fletcher *</li><li style="text-align:justify;line-height:21.280000686645508px">Robert Schwarz *</li></ul><p style="text-align:justify;line-height:21.280000686645508px">

An * indicates a first time contributor.</p></div><div class="" id="links" style="color:rgb(0,0,0);font-family:'Open Sans',sans-serif;font-size:16px;line-height:22.399999618530273px"><h2 style="padding:12px 10px 10px;color:rgb(255,255,255);font-family:'Noticia Text',serif;font-weight:normal;line-height:1em;font-size:26px;clear:both;background-color:rgb(132,166,199);border-style:solid;border-color:rgba(0,0,0,0.121569);border-width:0px 1px 1px 0px;border-top-left-radius:10px;border-top-right-radius:10px;border-bottom-right-radius:10px;border-bottom-left-radius:10px;font-style:italic">

Links<a class="" href="http://xdress.org/previous/0.4_release_notes.html#links" title="Permalink to this headline" style="color:rgb(0,52,105);text-decoration:none;font-size:0.8em;margin:0px 0px 0px 1px;padding:0px 5px 0px 4px;border-top-left-radius:5px;border-top-right-radius:5px;border-bottom-right-radius:5px;border-bottom-left-radius:5px"></a></h2>

<ol class="" style="list-style-position:initial"><li style="text-align:justify;line-height:21.280000686645508px">Homepage - <a class="" href="http://xdress.org/" style="color:rgb(0,52,105);text-decoration:none">http://xdress.org/</a></li>

<li style="text-align:justify;line-height:21.280000686645508px">Mailing List - <a class="" href="https://groups.google.com/forum/#!forum/xdress" style="color:rgb(0,52,105);text-decoration:none">https://groups.google.com/forum/#!forum/xdress</a></li>

<li style="text-align:justify;line-height:21.280000686645508px">GitHub Organization - <a class="" href="https://github.com/xdress" style="color:rgb(0,52,105);text-decoration:none">https://github.com/xdress</a></li></ol></div>

</div></div></div>