bbyars/mountebank

View on GitHub
src/views/releases/v1.8.0.ejs

Summary

Maintainability
Test Coverage
<h1>v<%= releaseVersion %></h1>

<p>v1.8 is the most important release of mountebank in a very long time. Thanks
    to the many people who helped make it happen.</p>

<p class='info-icon'>Be sure to keep up with the latest releases by subscribing to the
    <a href='http://mbtest.org/feed'>ATOM feed</a>.</p>

<h2>New Features</h2>
<ul class='bullet-list'>
    <li>Added a new <a href='http://<%= host %>/docs/api/behaviors'><code>shellTransform</code></a>
    behavior that allows you to change the response through a shell application. This makes
    mountebank infinitely extensible in any language of your choice</li>
    <li>Added a new <a href='http://<%= host %>/docs/api/behaviors'><code>copy</code></a>
        behavior that allows you to copy a value from the request to the response, using either
        regular expressions, xpath, or jsonpath</li>
    <li>Added a new <a href='http://<%= host %>/docs/security'>security page</a> documenting
        security tips when using the <code>--allowInjection</code> command line flag, including
        using a new <a href='http://<%= host %>/docs/commandLine'><code>--localOnly</code></a> flag
        and a new <a href='http://<%= host %>/docs/commandLine'><code>--ipWhitelist</code></a> flag</li>
</ul>

<h2>Bug Fixes</h2>
<ul class='bullet-list'>
    <li>Config files now allow <a href='https://github.com/bbyars/mountebank/issues/183'>nested
            <code>stringify</code> functions</a></li>
    <li>Now possible to install mountebank behind a <a href='https://github.com/bbyars/mountebank/issues/141'>
            repository manager</a></li>
    <li>Fixed <a href='https://github.com/bbyars/mountebank/issues/176'>command line defaults</a>
    when using a command</li>
    <li>Fixed documentation explaining behavior of <a href='https://github.com/bbyars/mountebank/issues/181'>
            <code>mb stop</code> and <code>mb restart</code></a></li>
    <li>Fixed problem running the build due to missing dependencies</li>
</ul>

<p>Many thanks to the following kind folks for help with this release, either through bug reports,
    suggestions, or direct code contributions:</p>

<ul class='bullet-list'>
    <li>Stephen Tkac and team, for the suggestion and initial implementation of the <code>copy</code> behavior</li>
    <li><a href='http://paulhammant.com/'>Paul Hammant</a>, for initially pointing out some of the security
    concerns with injection and suggesting the <code>--localOnly</code> flag</li>
    <li>Israel Azcuna, for finding the bug around nested <code>stringify</code> functions</li>
    <li><a href='https://github.com/markhu'>markhu</a>, for exposing the missing docs around
    <code>mb stop</code> and <code>mb restart</code></li>
    <li>francois-montmasson-efg, for both finding
    the bug around installing mountebank behind a repository manager and for suggesting the solution</li>
    <li>Nikolaus Piccolotto, for finding missing dependencies in package.json</li>
</ul>

<h2>Install</h2>

<pre><code>npm install -g mountebank@<%= releaseVersion %></code></pre>

<p>or:</p>

<table>
    <tr>
        <th>Option</th>
        <th>node.js required?</th>
        <th>sudo required?</th>
        <th>links</th>
        <th>Description</th>
    </tr>
    <tr>
        <td>Self-contained archives</td>
        <td>No</td>
        <td>No</td>
        <td style="min-width: 5em;">
            <ul>
                <li><a href="https://s3.amazonaws.com/mountebank/v<%= releaseMajorMinor %>/mountebank-v<%= releaseVersion %>-darwin-x64.tar.gz">osx</a></li>
                <li><a href="https://s3.amazonaws.com/mountebank/v<%= releaseMajorMinor %>/mountebank-v<%= releaseVersion %>-linux-x86.tar.gz">linux x86</a></li>
                <li><a href="https://s3.amazonaws.com/mountebank/v<%= releaseMajorMinor %>/mountebank-v<%= releaseVersion %>-linux-x64.tar.gz">linux x64</a></li>
                <li><a href="https://s3.amazonaws.com/mountebank/v<%= releaseMajorMinor %>/mountebank-v<%= releaseVersion %>-win-x86.zip">win x86<sup>*</sup></a></li>
                <li><a href="https://s3.amazonaws.com/mountebank/v<%= releaseMajorMinor %>/mountebank-v<%= releaseVersion %>-win-x64.zip">win x64<sup>*</sup></a></li>
            </ul>
        </td>
        <td>Simply unpack and run <code>mb</code> from inside</td>
    </tr>
    <tr>
        <td>OS-specific packages</td>
        <td>No</td>
        <td>Yes</td>
        <td>
            <ul>
                <li><a href="https://s3.amazonaws.com/mountebank/v<%= releaseMajorMinor %>/mountebank-v<%= releaseVersion %>.pkg">pkg</a></li>
                <li><a href="https://s3.amazonaws.com/mountebank/v<%= releaseMajorMinor %>/mountebank-<%= releaseVersion %>-1.x86_64.rpm">rpm</a></li>
                <li><a href="https://s3.amazonaws.com/mountebank/v<%= releaseMajorMinor %>/mountebank_<%= releaseVersion %>_amd64.deb">deb</a></li>
            </ul>
        </td>
        <td>Puts <code>mb</code> at <code>/usr/local/bin</code>, which is generally in the <code>PATH</code>.</td>
    </tr>
    <tr>
        <td>source tarball</td>
        <td>Yes</td>
        <td>No</td>
        <td>
            <ul>
                <li><a href="https://s3.amazonaws.com/mountebank/v<%= releaseMajorMinor %>/mountebank-v<%= releaseVersion %>-npm.tar.gz">mb</a></li>
            </ul>
        </td>
        <td>source tarball if you roll that way.</td>
    </tr>
</table>

<h2 id='windows-path-limitations'>Windows path limitations</h2>

<p><sup>*</sup>mountebank wishes very much for your Windows experience to be hassle-free, but he is simply not qualified to address
    a particular constraint of Windows Explorer.  For legacy reasons, some Windows applications, including most notably Windows Explorer,
    have a maximum number of characters allowed in a path of 260 characters.  As mountebank writes these words, the longest path he
    includes in the zip files is around 175 characters.  The zip file name, which is likely to represent itself as <i>two</i>
    nested directories if you use the defaults to unzip it, will be around 25 characters.  That gives you very little wiggle room.
    If you unzip the file in your users directory, you may very likely get an error because of this constraint.</p>

<p>The following solutions will all work:</p>

<ul class='bullet-list'>
    <li>Unzip to the root of your C: drive (or a similar small path)</li>
    <li>Use <a href='http://www.7-zip.org/'>7zip</a> to unzip the file instead of Windows Explorer</li>
    <li>Use <code>npm</code> to install mountebank instead of the zip file</li>
</ul>