<!doctype html>
<!--
  Minimal Mistakes Jekyll Theme 4.4.1 by Michael Rose
  Copyright 2017 Michael Rose - mademistakes.com | @mmistakes
  Free for personal and commercial use under the MIT license
  https://github.com/mmistakes/minimal-mistakes/blob/master/LICENSE.txt
-->
<html lang="en" class="no-js">
  <head>
    <meta charset="utf-8">

<!-- begin SEO -->









<title>ServiceComb Releases - Apache ServiceComb</title>




<meta name="description" content="ServiceComb Releases">




<meta name="author" content="">

<meta property="og:locale" content="en">
<meta property="og:site_name" content="Apache ServiceComb">
<meta property="og:title" content="ServiceComb Releases">


  <link rel="canonical" href="https://github.com/pages/apache/incubator-servicecomb-website/release/">
  <meta property="og:url" content="https://github.com/pages/apache/incubator-servicecomb-website/release/">



  <meta property="og:description" content="ServiceComb Releases">



  <meta name="twitter:site" content="@ServiceComb">
  <meta name="twitter:title" content="ServiceComb Releases">
  <meta name="twitter:description" content="ServiceComb Releases">
  <meta name="twitter:url" content="">

  
    <meta name="twitter:card" content="summary">
    
  

  



  

  












  <script type="application/ld+json">
    {
      "@context" : "http://schema.org",
      "@type" : "Person",
      "name" : "Apache ServiceComb",
      "url" : "https://github.com/pages/apache/incubator-servicecomb-website",
      "sameAs" : null
    }
  </script>



  <meta name="google-site-verification" content="HvJjNd7vvJ-yjSTHlBiIWEYxp_Hrz-PYEY5Idz9LRcA" />




<!-- end SEO -->


<link href="/feed.xml" type="application/atom+xml" rel="alternate" title="Apache ServiceComb Feed">

<!-- http://t.co/dKP3o1e -->
<meta name="HandheldFriendly" content="True">
<meta name="MobileOptimized" content="320">
<meta name="viewport" content="width=device-width, initial-scale=1.0">

<script>
  document.documentElement.className = document.documentElement.className.replace(/\bno-js\b/g, '') + ' js ';
</script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/clipboard.js/1.7.1/clipboard.min.js"></script>
<script src="/assets/vendor/prism/prism.js"></script>

<script type="text/javascript" async
  src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.1/MathJax.js?config=TeX-MML-AM_CHTML">
</script>

<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0-beta/css/bootstrap.min.css" integrity="sha384-/Y6pD6FV/Vv2HJnA6t+vslU6fwYXjCFtcEpHbNJ0lyAFsXTsjBbfaDjzALeQsN6M" crossorigin="anonymous">

<script src="https://www.apachecon.com/event-images/snippet.js"></script>
<script src="https://code.jquery.com/jquery-3.2.1.slim.min.js" integrity="sha384-KJ3o2DKtIkvYIK3UENzmM7KCkRr/rE9/Qpg6aAZGJwFDMVNA/GpGFF93hXpG5KkN" crossorigin="anonymous"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.11.0/umd/popper.min.js" integrity="sha384-b/U6ypiBEHpOf/4+1nzFpr53nxSS+GLCkfwBdFNTxtclqqenISfwAzpKaMNFNmj4" crossorigin="anonymous"></script>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0-beta/js/bootstrap.min.js" integrity="sha384-h0AbiXch4ZDo7tp9hKZ4TsHbi047NrKGLO3SEJAg45jXxnGIfYzk4Si90RDIqNm1" crossorigin="anonymous"></script>
<!-- For all browsers -->
<link rel="stylesheet" href="/assets/css/main.css">
<link rel="stylesheet" href="/assets/vendor/prism/prism.css">

<!--[if lte IE 9]>
  <style>
    /* old IE unsupported flexbox fixes */
    .greedy-nav .site-title {
      padding-right: 3em;
    }
    .greedy-nav button {
      position: absolute;
      top: 0;
      right: 0;
      height: 100%;
    }
  </style>
<![endif]-->

<meta http-equiv="cleartype" content="on">

    <!-- start custom head snippets -->

<!-- insert favicons. use http://realfavicongenerator.net/ -->
<link href="https://fonts.loli.net/css?family=Roboto:400,500,700|Source+Code+Pro" rel="stylesheet">
<script src="/assets/js/custom.js"></script>
<!-- end custom head snippets -->

  </head>

  <body class="layout--single">

    <!--[if lt IE 9]>
<div class="notice--danger align-center" style="margin: 0;">You are using an <strong>outdated</strong> browser. Please <a href="http://browsehappy.com/">upgrade your browser</a> to improve your experience.</div>
<![endif]-->
    <div class="masthead" onmouseleave="$('#childrenShow').css('display', 'none')">
  <div class="masthead__inner-wrap">
    <div class="masthead__menu">
      <nav id="site-nav" class="greedy-nav">
	      
          <a class="site-title active" href="/"><img src="https://www.apache.org/img/servicecomb.png"></a>
	      
        <ul class="visible-links">
          
            
          
          
            
              <li class="masthead__menu-item" onmouseenter="$('#childrenShow').css('display', 'none')">
                
                  <a href="/">Home</a>
                
              </li>
            
          
            
          
          
            
              <li class="masthead__menu-item" onmouseenter="$('#childrenShow').css('display', 'none')">
                
                  <a href="/developers/">Projects</a>
                
              </li>
            
          
            
          
          
            
            <li class="def-nav-li" onmouseenter="$('#childrenShow').css('display', 'block')">
              
              
              

              
                <a href="/docs/users/">Documentation</a>
              

              <ul id="childrenShow" class="def-children-show-en" onmouseleave="$('#childrenShow').css('display', 'none')">
                
                <li><a href="/docs/getting-started/" class="">Getting started</a></li>
                
                <li><a href="/docs/users/" class="">Docs</a></li>
                
                <li><a href="/slides/" class="">Video</a></li>
                
                <li><a href="/faqs/" class="">FAQ</a></li>
                
              </ul>
            </li>
          
          
            
          
          
            
              <li class="masthead__menu-item" onmouseenter="$('#childrenShow').css('display', 'none')">
                
                  <a href="/year-archive/">Blogs</a>
                
              </li>
            
          
            
          
          
            
              <li class="masthead__menu-item" onmouseenter="$('#childrenShow').css('display', 'none')">
                
                  <a class="active" href="/release/">Downloads</a>
                
              </li>
            
          
        </ul>
        <button><div class="navicon"></div></button>
        <ul class="hidden-links hidden"></ul>
        <div class="nav-lang">
          
            
            <a href=/cn/release/>中文</a>
          
        </div>
      </nav>
    </div>
  </div>
</div>


    



<div id="main" role="main">
  
  <div class="sidebar sticky">
      
      <div class="back-to-home"><a href="/">Home</a> > ServiceComb Releases</div>
      
  
  
    
      
      
      
    
    
      

<nav class="nav__list">
  
  <input id="ac-toc" name="accordion-toc" type="checkbox" />
  <label for="ac-toc">Toggle Menu</label>
  <ul class="nav__items">
    
      <li>
        
          <span class="nav__sub-title">Service-Center</span>
        

        
        <ul>
          
            
            

            
            

            <li><a href="/release/service-center-release-notes/" class="">Release Notes</a></li>
          
            
            

            
            

            <li><a href="/release/service-center-downloads/" class="">Downloads</a></li>
          
        </ul>
        
      </li>
    
      <li>
        
          <span class="nav__sub-title">Kie</span>
        

        
        <ul>
          
            
            

            
            

            <li><a href="/release/kie-release-notes/" class="">Release Notes</a></li>
          
            
            

            
            

            <li><a href="/release/kie-downloads/" class="">Downloads</a></li>
          
        </ul>
        
      </li>
    
      <li>
        
          <span class="nav__sub-title">Java-Chassis</span>
        

        
        <ul>
          
            
            

            
            

            <li><a href="/release/java-chassis-release-notes/" class="">Release Notes</a></li>
          
            
            

            
            

            <li><a href="/release/java-chassis-downloads/" class="">Downloads</a></li>
          
        </ul>
        
      </li>
    
      <li>
        
          <span class="nav__sub-title">Mesher</span>
        

        
        <ul>
          
            
            

            
            

            <li><a href="/release/mesher-release-notes/" class="">Release Notes</a></li>
          
            
            

            
            

            <li><a href="/release/mesher-downloads/" class="">Downloads</a></li>
          
        </ul>
        
      </li>
    
      <li>
        
          <span class="nav__sub-title">Pack</span>
        

        
        <ul>
          
            
            

            
            

            <li><a href="/release/pack-release-notes/" class="">Release Notes</a></li>
          
            
            

            
            

            <li><a href="/release/pack-downloads/" class="">Downloads</a></li>
          
        </ul>
        
      </li>
    
      <li>
        
          <span class="nav__sub-title">Toolkit</span>
        

        
        <ul>
          
            
            

            
            

            <li><a href="/release/toolkit-release-notes/" class="">Release Notes</a></li>
          
            
            

            
            

            <li><a href="/release/toolkit-downloads/" class="">Downloads</a></li>
          
        </ul>
        
      </li>
    
      <li>
        
          <span class="nav__sub-title">Saga Actuator</span>
        

        
        <ul>
          
            
            

            
            

            <li><a href="/release/saga-actuator-release-notes/" class="">Release Notes</a></li>
          
            
            

            
            

            <li><a href="/release/saga-actuator-downloads/" class="">Downloads</a></li>
          
        </ul>
        
      </li>
    
      <li>
        
          <span class="nav__sub-title">Saga</span>
        

        
        <ul>
          
            
            

            
            

            <li><a href="/release/saga-release-notes/" class="">Release Notes</a></li>
          
            
            

            
            

            <li><a href="/release/saga-downloads/" class="">Downloads</a></li>
          
        </ul>
        
      </li>
    
  </ul>
</nav>

    
  
  </div>



  <article class="page" itemscope itemtype="http://schema.org/CreativeWork">
    <meta itemprop="headline" content="ServiceComb Releases">
    <meta itemprop="description" content="ServiceComb Releases">
    
    <meta itemprop="dateModified" content="May 16, 2022">

    <div class="page__inner-wrap">
      
        
          <header>
            <h1 class="page__title" itemprop="headline">ServiceComb Releases
</h1>
            
          </header>
        
      

      <section class="page__content" itemprop="text">
        <p>Use the links below to download the ServiceComb toolkits releases from one of our mirrors. You must verify the integrity of the downloaded files using signatures downloaded from our main distribution directory.</p>

<p>Only current recommended releases are available on the main distribution site and its mirrors.</p>

<p><strong>Stable Release - Latest Version:</strong></p>

<ul>
  <li>
    <p><a href="/release/pack-downloads/">ServiceComb Pack 0.7.1</a> (released on 2022-08-09)</p>
  </li>
  <li>
    <p><a href="/release/service-center-downloads/">ServiceComb Service-Center 2.1.0</a> (released on 2022-03-15)</p>
  </li>
  <li>
    <p><a href="/release/toolkit-downloads/">ServiceComb toolkit 0.2.0</a> (released on 2020-01-05)</p>
  </li>
  <li>
    <p><a href="/release/java-chassis-downloads/">ServiceComb Java-Chassis 2.7.0</a> (released on 2022-04-07)</p>
  </li>
  <li>
    <p><a href="/release/saga-actuator-downloads/">ServiceComb Saga Actuator 0.3.0</a> (released on 2018-12-18)</p>
  </li>
  <li>
    <p><a href="/release/saga-downloads/">ServiceComb Saga 0.2.1</a> (released on 2018-11-23)</p>
  </li>
  <li>
    <p><a href="/release/mesher-downloads/">ServiceComb Mesher 1.6.3</a> (released on 2019-9-9)</p>
  </li>
  <li>
    <p><a href="/release/kie-downloads/">ServiceComb Kie 0.1.0</a> (released on 2019-10-26)</p>
  </li>
</ul>

<p><strong>Earlier Releases :</strong></p>

<ul>
  <li><a href="/release/service-center-downloads/">ServiceComb Service-Center 2.0.0</a> (released on 2021-06-04)</li>
  <li><a href="/release/service-center-downloads/">ServiceComb Service-Center 1.3.0</a> (released on 2019-11-07)</li>
  <li><a href="/release/service-center-downloads/">ServiceComb Service-Center 1.2.0</a> (released on 2019-04-06)</li>
  <li><a href="/release/service-center-downloads/">ServiceComb Service-Center 1.1.0</a> (released on 2018-11-30)</li>
  <li><a href="/release/service-center-downloads/">ServiceComb Service-Center 1.0.0</a> (released on 2018-08-02)</li>
  <li><a href="/release/service-center-downloads/">ServiceComb Service-Center 1.0.0-m2</a> (released on 2018-06-21)</li>
  <li>
    <p><a href="/release/service-center-downloads/">ServiceComb Service-Center 1.0.0-m1</a> (released on 2018-03-27)</p>
  </li>
  <li><a href="/release/java-chassis-downloads/">ServiceComb Java-Chassis 2.6.0</a> (released on 2021-12-01)</li>
  <li><a href="/release/java-chassis-downloads/">ServiceComb Java-Chassis 2.5.0</a> (released on 2021-08-17)</li>
  <li><a href="/release/java-chassis-downloads/">ServiceComb Java-Chassis 2.3.0</a> (released on 2021-06-22)</li>
  <li>
    <p><a href="/release/java-chassis-downloads/">ServiceComb Java-Chassis 2.2.0</a> (released on 2020-02-28)</p>
  </li>
  <li><a href="/release/pack-downloads/">ServiceComb Pack 0.5.0</a> (released on 2019-08-26)</li>
  <li><a href="/release/pack-downloads/">ServiceComb Pack 0.4.0</a> (released on 2019-04-06)</li>
  <li><a href="/release/pack-downloads/">ServiceComb Pack 0.3.0</a> (released on 2019-01-02)</li>
  <li><a href="/release/saga-downloads/">ServiceComb Saga 0.2.0</a> (released on 2018-06-21)</li>
  <li>
    <p><a href="/release/saga-downloads/">ServiceComb Saga 0.1.0</a> (released on 2018-03-27)</p>
  </li>
  <li><a href="/release/toolkit-downloads/">ServiceComb toolkit 0.1.0</a> (released on 2019-09-04)</li>
</ul>

<p><strong>NOTE:</strong></p>
<ul>
  <li>Please check <a href="/release/compatibleversion">this page</a> for compatible version.</li>
</ul>

<p><strong>Verifying the release</strong></p>

<p>It is essential that you verify the integrity of the downloaded files using the PGP or SHA signatures.
 The PGP signatures can  be verified using GPG or PGP.
 Please download the <a href="https://www.apache.org/dist/servicecomb/KEYS">KEYS</a> as well as the asc signature files for relevant distribution. It is recommended to get these files from the main distribution <a href="https://www.apache.org/dist/servicecomb/">directory</a> and not from the mirrors.</p>
<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code> gpg -import KEYS

 or

 pgpk -a KEYS

 or

 pgp -ka KEYS

</code></pre></div></div>

<p>To verify the binaries/sources you can download the relevant asc files for it from main distribution directory and follow the below guide.</p>

<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>gpg --verify apache-servicecomb********.asc apache-servicecomb*********

or

pgpv apache-servicecomb********.asc

or

pgp apache-servicecomb********.asc


</code></pre></div></div>

<p>Alternatively you can download the SHA signatures from main distribution <a href="https://www.apache.org/dist/servicecomb/">repo</a> and verify the downloads using sha512sum or shasum.</p>

        
      </section>

      <footer class="page__meta">
        
        


        
      </footer>

      

      

    </div>

    
  </article>

  
  
</div>


    <script async src="//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script>
    <div align="center" style="margin: 0 0;">
    <ins class="adsbygoogle"
         style="display:block; border-bottom: initial;"
         data-ad-client="ca-pub-7328585512091257"
         data-ad-slot="3049671934"
         data-ad-format="auto"></ins>
    </div>

    <div class="page__footer">
      <footer>
        <!-- start custom footer snippets -->

<!-- end custom footer snippets -->

        <div class="container">
  <div class="row justify-content-md-center">
    
    <div class="col">
      <ul>
        <p class="header">Events</p>
        <a class="acevent" data-format="square" data-mode="dark" data-event="random"></a>
      </ul>
    </div>
    <div class="col">
      <ul>
        <p class="header">Resources</p>
        <li><a href="/docs/getting-started/">Getting started</a></li>
        <li><a href="/docs/users/">User Guide</a></li>
        <li><a href="/slides/">Slides</a></li>
        <li><a href="/users/faq/">Common Questions</a></li>
      </ul>
    </div>
    <div class="col">
      <ul>
        <p class="header">ASF</p>
        <li><a href="http://www.apache.org">Foundation</a></li>
        <li><a href="http://www.apache.org/licenses/">License</a></li>
        <li><a href="http://www.apache.org/events/current-event">Events</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>
      </ul>
    </div>
    <div class="col">
      <ul>
        <p class="header">Contribute</p>
        <li><a href="http://issues.apache.org/jira/browse/SCB">Report a Doc Issue</a></li>
        <li><a href="https://github.com/apache/servicecomb-website/edit/master/_release/release.md">Edit This Page on Github</a></li>
        <li><a href="/developers/submit-codes/">Code Submit Guide</a></li>
        <li><a href="/security">Security</a></li>
      </ul>
    </div>
    <div class="col">
      <ul class="social-icons">
        <p class="header">Community</p>
        <li>
            <a href="mailto:dev-subscribe@servicecomb.incubator.apache.org" rel="nofollow"><span class="mail">Mailing List</span></a>
        </li>
        <li>
            <a href="https://github.com/apache?q=ServiceComb" target="_blank"><span class="github">Github</span></a>
        </li>
        <li>
            <a href="https://twitter.com/ServiceComb" target="_blank"><span class="twitter">Twitter</span></a>
        </li>
        <li>
            <a href="/feed.xml" target="_blank"><span class="rss">Feed</span></a>
        </li>
      </ul>
    </div>
  </div>
</div>
<div class="page__footer-bottom">
  <div>&copy; 2024 Apache ServiceComb. Powered by <a href="http://jekyllrb.com" rel="nofollow">Jekyll</a> &amp; <a href="https://mademistakes.com/work/minimal-mistakes-jekyll-theme/" rel="nofollow">Minimal Mistakes</a>.</div>
  <div>All other marks mentioned may be trademarks or registered trademarks of their respective owners.</div>
</div>

      </footer>
    </div>

    <script src="/assets/js/main.min.js"></script>




  <script>
  (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
  (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
  m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
  })(window,document,'script','https://www.google-analytics.com/analytics.js','ga');

  ga('create', 'UA-101622733-1', 'auto');
  ga('send', 'pageview');
</script>







  </body>
</html>
