<!DOCTYPE html>
<!--
 -
 - Licensed to the Apache Software Foundation (ASF) under one
 - or more contributor license agreements.  See the NOTICE file
 - distributed with this work for additional information
 - regarding copyright ownership.  The ASF licenses this file
 - to you under the Apache License, Version 2.0 (the
 - "License"); you may not use this file except in compliance
 - with the License.  You may obtain a copy of the License at
 -
 -   http://www.apache.org/licenses/LICENSE-2.0
 -
 - Unless required by applicable law or agreed to in writing,
 - software distributed under the License is distributed on an
 - "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
 - KIND, either express or implied.  See the License for the
 - specific language governing permissions and limitations
 - under the License.
 -
-->
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
  <head>
    <title>Releases - Apache Qpid&#8482;</title>
    <meta http-equiv="X-UA-Compatible" content="IE=edge"/>
    <meta name="viewport" content="width=device-width, initial-scale=1.0"/>
    <link rel="stylesheet" href="/site.css" type="text/css" async="async"/>
    <link rel="stylesheet" href="/deferred.css" type="text/css" defer="defer"/>
    <script type="text/javascript">var _deferredFunctions = [];</script>
    <script type="text/javascript" src="/deferred.js" defer="defer"></script>
    <!--[if lte IE 8]>
      <link rel="stylesheet" href="/ie.css" type="text/css"/>
      <script type="text/javascript" src="/html5shiv.js"></script>
    <![endif]-->

    <!-- Redirects for `go get` and godoc.org -->
    <meta name="go-import"
          content="qpid.apache.org git https://git-wip-us.apache.org/repos/asf/qpid-proton.git"/>
    <meta name="go-source"
          content="qpid.apache.org
https://github.com/apache/qpid-proton/blob/go1/README.md
https://github.com/apache/qpid-proton/tree/go1{/dir}
https://github.com/apache/qpid-proton/blob/go1{/dir}/{file}#L{line}"/>
  </head>
  <body>
    <div id="-content">
      <div id="-top" class="panel">
        <a id="-menu-link"><img width="16" height="16" src="" alt="Menu"/></a>

        <a id="-search-link"><img width="22" height="16" src="" alt="Search"/></a>

        <ul id="-global-navigation">
          <li><a id="-logotype" href="/index.html">Apache Qpid<sup>&#8482;</sup></a></li>
          <li><a href="/documentation.html">Documentation</a></li>
          <li><a href="/download.html">Download</a></li>
          <li><a href="/discussion.html">Discussion</a></li>
        </ul>
      </div>

      <div id="-menu" class="panel" style="display: none;">
        <div class="flex">
          <section>
            <h3>Project</h3>

            <ul>
              <li><a href="/overview.html">Overview</a></li>
              <li><a href="/components/index.html">Components</a></li>
              <li><a href="/releases/index.html">Releases</a></li>
            </ul>
          </section>

          <section>
            <h3>Messaging APIs</h3>

            <ul>
              <li><a href="/proton/index.html">Qpid Proton</a></li>
              <li><a href="/components/jms/index.html">Qpid JMS</a></li>
              <li><a href="/components/messaging-api/index.html">Qpid Messaging API</a></li>
            </ul>
          </section>

          <section>
            <h3>Servers and tools</h3>

            <ul>
              <li><a href="/components/broker-j/index.html">Broker-J</a></li>
              <li><a href="/components/cpp-broker/index.html">C++ broker</a></li>
              <li><a href="/components/dispatch-router/index.html">Dispatch router</a></li>
            </ul>
          </section>

          <section>
            <h3>Resources</h3>

            <ul>
              <li><a href="/dashboard.html">Dashboard</a></li>
              <li><a href="https://cwiki.apache.org/confluence/display/qpid/Index">Wiki</a></li>
              <li><a href="/resources.html">More resources</a></li>
            </ul>
          </section>
        </div>
      </div>

      <div id="-search" class="panel" style="display: none;">
        <form action="http://www.google.com/search" method="get">
          <input type="hidden" name="sitesearch" value="qpid.apache.org"/>
          <input type="text" name="q" maxlength="255" autofocus="autofocus" tabindex="1"/>
          <button type="submit">Search</button>
          <a href="/search.html">More ways to search</a>
        </form>
      </div>

      <div id="-middle" class="panel">
        <ul id="-path-navigation"><li><a href="/index.html">Home</a></li><li>Releases</li></ul>

        <div id="-middle-content">
          <h1 id="releases">Releases</h1>

<p>New Qpid releases are announced on the
<a href="/discussion.html#mailing-lists">Qpid mailing lists</a> and
the
<a href="http://mail-archives.apache.org/mod_mbox/www-announce/">Apache announce list</a>.</p>

<h2 id="current-releases">Current releases</h2>

<div class="two-column">

<ul>
<li><a href="qpid-jms-0.38.0/index.html">Qpid JMS 0.38.0</a>, November 2018</li>
<li><a href="qpid-proton-j-0.30.0/index.html">Qpid Proton-J 0.30.0</a>, November 2018</li>
<li><a href="qpid-dispatch-1.4.1/index.html">Qpid Dispatch 1.4.1</a>, October 2018</li>
<li><a href="qpid-cpp-1.39.0/index.html">Qpid C++ 1.39.0</a>, October 2018</li>
<li><a href="qpid-proton-0.26.0/index.html">Qpid Proton 0.26.0</a>, October 2018</li>
<li><a href="qpid-java-6.1.7/index.html">Qpid for Java 6.1.7</a>, September 2018</li>
<li><a href="qpid-jms-amqp-0-x-6.3.3/index.html">Qpid JMS AMQP 0-x 6.3.3</a>, August 2018</li>
<li><a href="qpid-interop-test-0.2.0/index.html">Qpid Interop-test 0.2.0</a>, August 2018</li>
<li><a href="qpid-broker-j-7.0.6/index.html">Qpid Broker-J 7.0.6</a>, June 2018</li>
<li><a href="qpid-python-1.37.0/index.html">Qpid Python 1.37.0</a>, November 2017</li>
</ul>

</div>

<h2 id="past-releases">Past releases</h2>

<div class="two-column">

<ul>
<li><a href="qpid-jms-0.37.0/index.html">Qpid JMS 0.37.0</a>, October 2018</li>
<li><a href="qpid-dispatch-1.4.0/index.html">Qpid Dispatch 1.4.0</a>, October 2018</li>
<li><a href="qpid-cpp-1.38.0/index.html">Qpid C++ 1.38.0</a>, March 2018</li>
<li><a href="qpid-proton-0.25.0/index.html">Qpid Proton 0.25.0</a>, September 2018</li>
<li><a href="qpid-dispatch-1.3.0/index.html">Qpid Dispatch 1.3.0</a>, August 2018</li>
<li><a href="qpid-jms-0.36.0/index.html">Qpid JMS 0.36.0</a>, August 2018</li>
<li><a href="qpid-proton-j-0.29.0/index.html">Qpid Proton-J 0.29.0</a>, August 2018</li>
<li><a href="qpid-proton-j-0.28.1/index.html">Qpid Proton-J 0.28.1</a>, August 2018</li>
<li><a href="qpid-proton-j-0.27.3/index.html">Qpid Proton-J 0.27.3</a>, August 2018</li>
<li><a href="qpid-dispatch-1.2.0/index.html">Qpid Dispatch 1.2.0</a>, July 2018</li>
<li><a href="qpid-jms-0.35.0/index.html">Qpid JMS 0.35.0</a>, July 2018</li>
<li><a href="qpid-proton-j-0.28.0/index.html">Qpid Proton-J 0.28.0</a>, July 2018</li>
<li><a href="qpid-proton-j-0.27.2/index.html">Qpid Proton-J 0.27.2</a>, July 2018</li>
<li><a href="qpid-jms-amqp-0-x-6.3.2/index.html">Qpid JMS AMQP 0-x 6.3.2</a>, July 2018</li>
<li><a href="qpid-jms-0.34.0/index.html">Qpid JMS 0.34.0</a>, June 2018</li>
<li><a href="qpid-dispatch-1.1.0/index.html">Qpid Dispatch 1.1.0</a>, June 2018</li>
<li><a href="qpid-proton-0.24.0/index.html">Qpid Proton 0.24.0</a>, June 2018</li>
<li><a href="qpid-jms-0.33.0/index.html">Qpid JMS 0.33.0</a>, June 2018</li>
<li><a href="qpid-broker-j-7.0.5/index.html">Qpid Broker-J 7.0.5</a>, June 2018</li>
<li><a href="qpid-broker-j-7.0.4/index.html">Qpid Broker-J 7.0.4</a>, June 2018</li>
<li><a href="qpid-jms-0.32.0/index.html">Qpid JMS 0.32.0</a>, May 2018</li>
<li><a href="qpid-proton-0.23.0/index.html">Qpid Proton 0.23.0</a>, May 2018</li>
<li><a href="qpid-broker-j-7.0.3/index.html">Qpid Broker-J 7.0.3</a>, April 2018</li>
<li><a href="qpid-java-6.1.6/index.html">Qpid for Java 6.1.6</a>, April 2018</li>
<li><a href="qpid-proton-0.22.0/index.html">Qpid Proton 0.22.0</a>, April 2018</li>
<li><a href="qpid-proton-j-0.27.1/index.html">Qpid Proton-J 0.27.1</a>, April 2018</li>
<li><a href="qpid-proton-j-0.27.0/index.html">Qpid Proton-J 0.27.0</a>, April 2018</li>
<li><a href="qpid-jms-0.31.0/index.html">Qpid JMS 0.31.0</a>, March 2018</li>
<li><a href="qpid-broker-j-7.0.2/index.html">Qpid Broker-J 7.0.2</a>, March 2018</li>
<li><a href="qpid-proton-0.21.0/index.html">Qpid Proton 0.21.0</a>, March 2018</li>
<li><a href="qpid-jms-0.30.0/index.html">Qpid JMS 0.30.0</a>, March 2018</li>
<li><a href="qpid-dispatch-1.0.1/index.html">Qpid Dispatch 1.0.1</a>, February 2018</li>
<li><a href="qpid-proton-j-0.26.0/index.html">Qpid Proton-J 0.26.0</a>, February 2018</li>
<li><a href="qpid-broker-j-7.0.1/index.html">Qpid Broker-J 7.0.1</a>, February 2018</li>
<li><a href="qpid-dispatch-0.8.1/index.html">Qpid Dispatch 0.8.1</a>, February 2018</li>
<li><a href="qpid-proton-0.20.0/index.html">Qpid Proton 0.20.0</a>, January 2018</li>
<li><a href="qpid-jms-0.29.0/index.html">Qpid JMS 0.29.0</a>, January 2018</li>
<li><a href="qpid-proton-j-0.25.0/index.html">Qpid Proton-J 0.25.0</a>, January 2018</li>
<li><a href="qpid-jms-amqp-0-x-6.3.0/index.html">Qpid JMS AMQP 0-x 6.3.0</a>, November 2017</li>
<li><a href="qpid-cpp-1.37.0/index.html">Qpid C++ 1.37.0</a>, November 2017</li>
<li><a href="qpid-broker-j-7.0.0/index.html">Qpid Broker-J 7.0.0</a>, November 2017</li>
<li><a href="qpid-dispatch-1.0.0/index.html">Qpid Dispatch 1.0.0</a>, November 2017</li>
<li><a href="qpid-java-6.1.5/index.html">Qpid for Java 6.1.5</a>, November 2017</li>
<li><a href="qpid-proton-0.19.0/index.html">Qpid Proton 0.19.0</a>, December 2017</li>
<li><a href="qpid-jms-0.28.0/index.html">Qpid JMS 0.28.0</a>, December 2017</li>
<li><a href="qpid-proton-j-0.24.0/index.html">Qpid Proton-J 0.24.0</a>, December 2017</li>
<li><a href="qpid-jms-0.27.0/index.html">Qpid JMS 0.27.0</a>, November 2017</li>
<li><a href="qpid-proton-0.18.1/index.html">Qpid Proton 0.18.1</a>, November 2017</li>
<li><a href="qpid-interop-test-0.1.0/index.html">Qpid Interop-test 0.1.0</a>, November 2017</li>
<li><a href="qpid-proton-0.18.0/index.html">Qpid Proton 0.18.0</a>, October 2017</li>
<li><a href="qpid-proton-j-0.23.0/index.html">Qpid Proton-J 0.23.0</a>, October 2017</li>
<li><a href="qpid-jms-0.26.0/index.html">Qpid JMS 0.26.0</a>, October 2017</li>
<li><a href="qpid-proton-j-0.22.0/index.html">Qpid Proton-J 0.22.0</a>, September 2017</li>
<li><a href="qpid-jms-0.25.0/index.html">Qpid JMS 0.25.0</a>, September 2017</li>
<li><a href="qpid-proton-j-0.21.0/index.html">Qpid Proton-J 0.21.0</a>, September 2017</li>
<li><a href="qpid-jms-0.24.0/index.html">Qpid JMS 0.24.0</a>, August 2017</li>
<li><a href="qpid-proton-j-0.20.0/index.html">Qpid Proton-J 0.20.0</a>, August 2017</li>
<li><a href="qpid-java-6.1.4/index.html">Qpid for Java 6.1.4</a>, June 2017</li>
<li><a href="qpid-java-6.0.8/index.html">Qpid for Java 6.0.8</a>, June 2017</li>
<li><a href="qpid-java-6.1.3/index.html">Qpid for Java 6.1.3</a>, June 2017</li>
<li><a href="qpid-java-6.0.7/index.html">Qpid for Java 6.0.7</a>, June 2017</li>
<li><a href="qpid-jms-amqp-0-x-6.3.1/index.html">Qpid JMS AMQP 0-x 6.3.1</a>, May 2017</li>
<li><a href="qpid-dispatch-0.8.0/index.html">Qpid Dispatch 0.8.0</a>, May 2017</li>
<li><a href="qpid-jms-0.23.0/index.html">Qpid JMS 0.23.0</a>, May 2017</li>
<li><a href="qpid-proton-j-0.19.0/index.html">Qpid Proton-J 0.19.0</a>, May 2017</li>
<li><a href="qpid-jms-0.22.0/index.html">Qpid JMS 0.22.0</a>, April 2017</li>
<li><a href="qpid-java-6.1.2/index.html">Qpid for Java 6.1.2</a>, March 2017</li>
<li><a href="qpid-proton-j-0.18.0/index.html">Qpid Proton-J 0.18.0</a>, March 2017</li>
<li><a href="qpid-jms-0.21.0/index.html">Qpid JMS 0.21.0</a>, March 2017</li>
<li><a href="qpid-python-1.36.0/index.html">Qpid Python 1.36.0</a>, March 2017</li>
<li><a href="qpid-proton-0.17.0/index.html">Qpid Proton 0.17.0</a>, February 2017</li>
<li><a href="qpid-proton-j-0.17.0/index.html">Qpid Proton-J 0.17.0</a>, February 2017</li>
<li><a href="qpid-jms-0.20.0/index.html">Qpid JMS 0.20.0</a>, January 2017</li>
<li><a href="qpid-cpp-1.36.0/index.html">Qpid C++ 1.36.0</a>, December 2016</li>
<li><a href="qpid-java-6.1.1/index.html">Qpid for Java 6.1.1</a>, December 2016</li>
<li><a href="qpid-java-6.0.6/index.html">Qpid for Java 6.0.6</a>, December 2016</li>
<li><a href="qpid-proton-0.16.0/index.html">Qpid Proton 0.16.0</a>, December 2016</li>
<li><a href="qpid-dispatch-0.7.0/index.html">Qpid Dispatch 0.7.0</a>, November 2016</li>
<li><a href="qpid-java-6.1.0/index.html">Qpid for Java 6.1.0</a>, November 2016</li>
<li><a href="qpid-java-6.0.5/index.html">Qpid for Java 6.0.5</a>, November 2016</li>
<li><a href="qpid-jms-0.11.1/index.html">Qpid JMS 0.11.1</a>, October 2016</li>
<li><a href="qpid-proton-0.15.0/index.html">Qpid Proton 0.15.0</a>, October 2016</li>
<li><a href="qpid-cpp-1.35.0/index.html">Qpid C++ 1.35.0</a>, September 2016</li>
<li><a href="qpid-jms-0.11.0/index.html">Qpid JMS 0.11.0</a>, September 2016</li>
<li><a href="qpid-python-1.35.0/index.html">Qpid Python 1.35.0</a>, August 2016</li>
<li><a href="qpid-proton-0.14.0/index.html">Qpid Proton 0.14.0</a>, August 2016</li>
<li><a href="qpid-java-6.0.4/index.html">Qpid for Java 6.0.4</a>, July 2016</li>
<li><a href="qpid-jms-0.10.0/index.html">Qpid JMS 0.10.0</a>, July 2016</li>
<li><a href="qpid-proton-0.13.1/index.html">Qpid Proton 0.13.1</a>, July 2016</li>
<li><a href="qpid-dispatch-0.6.0/index.html">Qpid Dispatch 0.6.0</a>, June 2016</li>
<li><a href="qpid-proton-0.13.0/index.html">Qpid Proton 0.13.0</a>, June 2016</li>
<li><a href="qpid-java-6.0.3/index.html">Qpid for Java 6.0.3</a>, May 2016</li>
<li><a href="qpid-jms-0.9.0/index.html">Qpid JMS 0.9.0</a>, April 2016</li>
<li><a href="qpid-proton-0.12.2/index.html">Qpid Proton 0.12.2</a>, April 2016</li>
<li><a href="qpid-java-6.0.2/index.html">Qpid for Java 6.0.2</a>, April 2016</li>
<li><a href="qpid-proton-0.12.1/index.html">Qpid Proton 0.12.1</a>, March 2016</li>
<li><a href="qpid-jms-0.8.0/index.html">Qpid JMS 0.8.0</a>, February 2016</li>
<li><a href="qpid-java-6.0.1/index.html">Qpid for Java 6.0.1</a>, February 2016</li>
<li><a href="qpid-proton-0.12.0/index.html">Qpid Proton 0.12.0</a>, February 2016</li>
</ul>

</div>

<p>Still older releases are available in the
<a href="http://archive.apache.org/dist/qpid/">Apache archives</a>.</p>

<h2 id="more-information">More information</h2>

<ul>
<li><a href="https://cwiki.apache.org/confluence/display/qpid/Releases">Releases on the wiki</a></li>
</ul>


          <hr/>

          <ul id="-apache-navigation">
            <li><a href="http://www.apache.org/">Apache</a></li>
            <li><a href="http://www.apache.org/licenses/">License</a></li>
            <li><a href="http://www.apache.org/foundation/sponsorship.html">Sponsorship</a></li>
            <li><a href="http://www.apache.org/foundation/thanks.html">Thanks!</a></li>
            <li><a href="/security.html">Security</a></li>
            <li><a href="http://www.apache.org/"><img id="-apache-feather" width="48" height="14" src="" alt="Apache"/></a></li>
          </ul>

          <p id="-legal">
            Apache Qpid, Messaging built on AMQP; Copyright &#169; 2015
            The Apache Software Foundation; Licensed under
            the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache
            License, Version 2.0</a>; Apache Qpid, Qpid, Qpid Proton,
            Proton, Apache, the Apache feather logo, and the Apache Qpid
            project logo are trademarks of The Apache Software
            Foundation; All other marks mentioned may be trademarks or
            registered trademarks of their respective owners
          </p>
        </div>
      </div>
    </div>
  </body>
</html>
