<html>
<head>
  <meta http-equiv="content-type" content="">
  <title>Releases</title>
</head>

<body>
<h2>Apache Sandesha2/C Releases</h2>

<div align="left">
<p>Sandesha2 project is moving towards the 1.0.0 release and has done it's 0.91
 release. This release is available for download as a source or binary. For 
more information on Apache software releases, please see <a
href="http://www.apache.org/dev/release.html">Apache Releases FAQ</a>.</p>
</div>
<!-- we have a issue with this google analytics code with maven 1.x. see 
https://issues.apache.org/jira/browse/AXIS2-2790 -->
<script src= "http://www.google-analytics.com/urchin.js" type="text/javascript"> 
</script>    
<script type="text/javascript"> 
    _uacct = "UA-1954378-6"; 
    urchinTracker(); 
</script>

<div align="center">
<table class="bodyTable"><tbody>
    <tr>
        <td align="center" valign="middle">0.91</td>
        <td align="center">Release</td>
        <td>MS Windows Distribution<br></br>
        - Source Distribution <a 
        href="[preferred]/ws/sandesha2/c/0.91/sandesha2c-src-0.91.zip" 
        title="[preferred]/ws/sandesha2/c/0.91/sandesha2c-src-0.91.zip"
        onClick="javascript:urchinTracker ('/downloads/sandesha2c-src-0.91.zip');">zip</a>
        <a 
        href="[preferred]/ws/sandesha2/c/0.91/sandesha2c-src-0.91.zip.md5" 
        class="externalLink" title="[preferred]/ws/sandesha2/c/sandesha2c-src-0.91.zip.md5">MD5</a>
        <a 
        href="[preferred]/ws/sandesha2/c/0.91/sandesha2c-src-0.91.zip.asc" 
        title="[preferred]/ws/sandesha2/c/0.91/sandesha2c-src-0.91.zip.asc">PGP</a>
        <br></br>
        - Binary Distribution <a 
        href="[preferred]/ws/sandesha2/c/0.91/sandesha2c-bin-0.91-win32.zip" 
        title="[preferred]/ws/sandesha2/c/0.91/sandesha2c-bin-0.91-win32.zip"
        onClick="javascript:urchinTracker ('/downloads/sandesha2c-bin-0.91-win32.zip');">zip</a>
        <a 
        href="[preferred]/ws/sandesha2/c/0.91/sandesha2c-bin-0.91-win32.zip.md5" 
        title="[preferred]/ws/sandesha2/c/sandesha2c-bin-0.91-win32.zip.md5">MD5</a>
        <a 
        href="[preferred]/ws/sandesha2/c/0.91/sandesha2c-bin-0.91-win32.zip.asc" 
        title="[preferred]/ws/sandesha2/c/0.91/sandesha2c-bin-0.91-win32.zip.asc">PGP</a>
        <br></br>
        Linux Distribution <br></br>
        - Source Distribution <a 
        href="[preferred]/ws/sandesha2/c/0.91/sandesha2c-src-0.91.tar.gz" 
        title="[preferred]/ws/sandesha2/c/0.91/sandesha2c-src-0.91.tar.gz"
        onClick="javascript:urchinTracker ('/downloads/sandesha2c-src-0.91.tar.gz');">tar.gz</a>
        <a 
        href="[preferred]/ws/sandesha2/c/0.91/sandesha2c-src-0.91.tar.gz.md5" 
        title="[preferred]/ws/sandesha2/c/0.91/sandesha2c-src-0.91.tar.gz.md5">MD5</a>
        <a 
        href="[preferred]/ws/sandesha2/c/0.91/sandesha2c-src-0.91.gz.asc" 
        title="[preferred]/ws/sandesha2/c/0.91/sandesha2c-src-0.91.tar.gz.asc">PGP</a>
        <br></br>
        - Binary Distribution <a 
        href="[preferred]/ws/sandesha2/c/0.91/sandesha2c-bin-0.91-linux.tar.gz" 
        title="[preferred]/ws/sandesha2/c/0.91/sandesha2c-bin-0.91-linux.tar.gz"
        onClick="javascript:urchinTracker ('/downloads/sandesha2c-bin-0.91-linux.tar.gz');">tar.gz</a>
        <a 
        href="[preferred]/ws/sandesha2/c/0.91/sandesha2c-bin-0.91-linux.tar.gz.md5" 
        title="[preferred]/ws/sandesha2/c/0.91/sandesha2c-bin-0.91-linux.tar.gz.md5">MD5</a>
        <a 
        href="[preferred]/ws/sandesha2/c/0.91/sandesha2c-bin-0.91-linux.tar.gz.asc" 
        title="[preferred]/ws/sandesha2/c/0.91/sandesha2c-bin-0.91-linux.tar.gz.asc">PGP</a>
      </td>
      <td>03 - 10 - 2007</td>
      <td>0.91 Release</td></tr>
  </tbody></table>
</div>

<div align="left">
  <p>[if-any logo] <a href="[link]"><img align="right" src="[logo]"
    border="0"></a>[end] The currently selected mirror is <b>[preferred]</b>.  If
    you encounter a problem with this mirror, please select another mirror.  If
    all mirrors are failing, there are <i>backup</i> mirrors (at the end of the
    mirrors list) that should be available.
  </p>

  <form action="[location]" method="get" id="SelectMirror">
    Other mirrors: 
    <select name="Preferred">[if-any http][for http]
      <option value="[http]"
      selected="selected">[http]</option>[end][end][if-any ftp][for ftp]
      <option value="[ftp]">[ftp]</option>[end][end][if-any backup][for backup]
      <option value="[backup]">[backup] (backup)</option>[end][end]
    </select>
    <input type="submit" value="Change">
  </form>

  <p>You may also consult the <a href="http://www.apache.org/mirrors/">complete
  list of mirrors</a>.</p>

  <p><strong>Note:</strong> When downloading from a mirror, please check the <a
  href="http://www.apache.org/dev/release-signing#md5">md5sum</a> and verify
  the <a href="http://www.apache.org/dev/release-signing#openpgp">OpenPGP</a>
  compatible signature from the main Apache site. They can be downloaded by
  following the links above. This <a
  href="http://www.apache.org/dist/ws/axis2/c/KEYS">KEYS</a> file contains the
  public keys that can be used for verifying signatures. It is recommended that
  (when possible) a <a
  href="http://www.apache.org/dev/release-signing#web-of-trust">web of
  trust</a> is used to confirm the identity of these keys.</p>
</div>
</body>
</html>
