Title: Downloads


<h1>Apache Wink Downloads</h1>

<hr>

<div class="row">
    <div class="span10">
       <p>Apache Wink is distributed in several formats for your convenience.</p>
       <p>You will be prompted for a mirror - if the file is not found on yours, please be patient, as it may take 24 hours to reach all mirrors.</p>
       <p>Apache Wink is distributed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, version 2.0</a>.</p>
    </div>
</div>

<hr>

<h2>Download Apache Wink 1.4.0</h2>


<div class="row">
    <div class="span10">
    	<table class="table table-hover">
    	<tr>
    	  <th><b>Name</b></th><th><b>Archive</b></th><th><b>MD5</b></th><th><b>SHA-1</b></th><th><b>Signature</b></th>
    	</tr>

    	<tr>
    		<td>Wink-1.4.0 (tar.gz)</td><td><a href="http://www.apache.org/dyn/closer.cgi/wink/1.4.0/apache-wink-1.4.tar.gz">tar.gz</a></td><td><a href="http://www.apache.org/dist/wink/1.4.0/apache-wink-1.4.tar.gz.md5">MD5</a> </td><td>  <a href="http://www.apache.org/dist/wink/1.4.0/apache-wink-1.4.tar.gz.sha1">SHA-1</a>  </td><td> <a href="http://www.apache.org/dist/wink/1.4.0/apache-wink-1.4.tar.gz.asc">ASC</a> </td>
    	</tr>

    	<tr>
    		<td> Wink-1.4.0 (zip) </td><td> <a href="http://www.apache.org/dyn/closer.cgi/wink/1.4.0/apache-wink-1.4.zip">zip</a> </td><td>  <a href="http://www.apache.org/dist/wink/1.4.0/apache-wink-1.4.zip.md5">MD5</a> </td><td>  <a href="http://www.apache.org/dist/wink/1.4.0/apache-wink-1.4.zip.sha1">SHA-1</a> </td><td> <a href="http://www.apache.org/dist/wink/1.4.0/apache-wink-1.4.zip.asc">ASC</a> </td>
    	</tr>

    	<tr>
    		<td> Wink-1.4.0 (Source tar.gz) </td><td> <a href="http://www.apache.org/dyn/closer.cgi/wink/1.4.0/apache-wink-1.4-src.tar.gz">tar.gz</a> </td><td>  <a href="http://www.apache.org/dist/wink/1.4.0/apache-wink-1.4-src.tar.gz.md5">MD5</a>  </td><td> <a href="http://www.apache.org/dist/wink/1.4.0/apache-wink-1.4-src.tar.gz.sha1">SHA-1</a> </td><td> <a href="http://www.apache.org/dist/wink/1.4.0/apache-wink-1.4-src.tar.gz.asc">ASC</a> </td>
    	</tr>

    	<tr>
    		<td> Wink-1.4.0 (Source zip) </td><td> <a href="http://www.apache.org/dyn/closer.cgi/wink/1.4.0/apache-wink-1.4-src.zip">zip</a> </td><td>  <a href="http://www.apache.org/dist/wink/1.4.0/apache-wink-1.4-src.zip.md5">MD5</a> </td><td>  <a href="http://www.apache.org/dist/wink/1.4.0/apache-wink-1.4-src.zip.sha1">SHA-1</a> </td><td> <a href="http://www.apache.org/dist/wink/1.4.0/apache-wink-1.4-src.zip.asc">ASC</a> </td>
    	</tr>

    	<tr>
    		<td> Release Notes </td><td> <a href="1.4.0/release_notes.html">1.4.0</a> </td><td> </td><td> </td><td> </td></tr><tr class="a"><td> KEYS </td><td> <a href="http://svn.apache.org/repos/asf/wink/tags/wink-1.4.0/KEYS">KEYS</a> </td><td> </td><td> </td><td> </td>
    	</tr>
    	</table>

		<p>Instructions for checking hashes and signatures is indicated on the <a href="http://www.apache.org/info/verification.html">Verifying Apache Software Foundation Releases</a> page.</p>
		<p>You can also retrieve the source files from our svn repository by typing :</p>

		<pre>svn co http://svn.apache.org/repos/asf/wink/tags/wink-1.4.0/</pre>

        <h4> Using Maven </h4>

        <p>We strongly encourage our users to configure a Maven repository mirror closer to their location, please read <a href="http://maven.apache.org/guides/mini/guide-mirror-settings.html">How to Use Mirrors for Repositories</a>.

        <strong>Dependencies</strong>

        <p>Add the following dependencies to your Maven pom.xml to include the Apache Wink Client module or the Server module.</p>

        <strong>Server:</strong>
        <pre>&lt;dependency&gt;
    &lt;groupId&gt;org.apache.wink&lt;/groupId&gt;
    &lt;artifactId&gt;wink-server&lt;/artifactId&gt;
    &lt;version&gt;1.4.0&lt;/version&gt;
&lt;/dependency&gt;</pre>

        <strong>Client:</strong>
        <pre>&lt;dependency&gt;
    &lt;groupId&gt;org.apache.wink&lt;/groupId&gt;
    &lt;artifactId&gt;wink-client&lt;/artifactId&gt;
    &lt;version&gt;1.4.0&lt;/version&gt;
&lt;/dependency&gt;</pre>
    </div>
</div>


<h2>Previous Releases</h2>

<div class="row">
    <div class="span10">
        All previous releases of Apache Wink can be found in the <a href="http://archive.apache.org/dist/wink/">archives</a>.
    </div>
</div>