<!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="cn" class="no-js">
  <head>
    <meta charset="utf-8">

<!-- begin SEO -->









<title>ServiceComb Pack Release Notes - Apache ServiceComb</title>




<meta name="description" content="ServiceComb Pack Release Notes">




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

<meta property="og:locale" content="cn">
<meta property="og:site_name" content="Apache ServiceComb">
<meta property="og:title" content="ServiceComb Pack Release Notes">


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



  <meta property="og:description" content="ServiceComb Pack Release Notes">



  <meta name="twitter:site" content="@ServiceComb">
  <meta name="twitter:title" content="ServiceComb Pack Release Notes">
  <meta name="twitter:description" content="ServiceComb Pack Release Notes">
  <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="/cn"><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="/cn/">首页</a>
                
              </li>
            
          
            
          
          
            
              <li class="masthead__menu-item" onmouseenter="$('#childrenShow').css('display', 'none')">
                
                  <a href="/cn/developers/">项目</a>
                
              </li>
            
          
            
          
          
            
            <li class="def-nav-li" onmouseenter="$('#childrenShow').css('display', 'block')">
              
              
              

              
                <a href="/cn/docs/users/">文档</a>
              

              <ul id="childrenShow" class="def-children-show-cn" onmouseleave="$('#childrenShow').css('display', 'none')">
                
                <li><a href="/cn/docs/getting-started/" class="">入门指南</a></li>
                
                <li><a href="/cn/docs/users/" class="">用户手册</a></li>
                
                <li><a href="/cn/slides/" class="">大咖视频</a></li>
                
                <li><a href="/cn/faqs/" class="">常见问题</a></li>
                
              </ul>
            </li>
          
          
            
          
          
            
              <li class="masthead__menu-item" onmouseenter="$('#childrenShow').css('display', 'none')">
                
                  <a href="/cn/year-archive/">博文</a>
                
              </li>
            
          
            
          
          
            
              <li class="masthead__menu-item" onmouseenter="$('#childrenShow').css('display', 'none')">
                
                  <a class="active" href="/cn/release/">下载</a>
                
              </li>
            
          
        </ul>
        <button><div class="navicon"></div></button>
        <ul class="hidden-links hidden"></ul>
        <div class="nav-lang">
          
            
            
            <a href=/release/pack-release-notes/>English</a>
          
        </div>
      </nav>
    </div>
  </div>
</div>


    



<div id="main" role="main">
  
  <div class="sidebar sticky">
      
      <div class="back-to-home"><a href="/cn/">首页</a> > ServiceComb Pack Release Notes</div>
      
  
  
    
      
      
      
    
    
      

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

        
        <ul>
          
            
            

            
            

            <li><a href="/cn/release/service-center-release-notes/" class="">发布说明</a></li>
          
            
            

            
            

            <li><a href="/cn/release/service-center-downloads/" class="">发布包</a></li>
          
        </ul>
        
      </li>
    
      <li>
        
          <span class="nav__sub-title">Kie</span>
        

        
        <ul>
          
            
            

            
            

            <li><a href="/cn/release/kie-release-notes/" class="">发布说明</a></li>
          
            
            

            
            

            <li><a href="/cn/release/kie-downloads/" class="">发布包</a></li>
          
        </ul>
        
      </li>
    
      <li>
        
          <span class="nav__sub-title">Java-Chassis</span>
        

        
        <ul>
          
            
            

            
            

            <li><a href="/cn/release/java-chassis-release-notes/" class="">发布说明</a></li>
          
            
            

            
            

            <li><a href="/cn/release/java-chassis-downloads/" class="">发布包</a></li>
          
        </ul>
        
      </li>
    
      <li>
        
          <span class="nav__sub-title">Mesher</span>
        

        
        <ul>
          
            
            

            
            

            <li><a href="/cn/release/mesher-release-notes/" class="">发布说明</a></li>
          
            
            

            
            

            <li><a href="/cn/release/mesher-downloads/" class="">发布包</a></li>
          
        </ul>
        
      </li>
    
      <li>
        
          <span class="nav__sub-title">Pack</span>
        

        
        <ul>
          
            
            

            
            

            <li><a href="/cn/release/pack-release-notes/" class="active">发布说明</a></li>
          
            
            

            
            

            <li><a href="/cn/release/pack-downloads/" class="">发布包</a></li>
          
        </ul>
        
      </li>
    
      <li>
        
          <span class="nav__sub-title">Toolkit</span>
        

        
        <ul>
          
            
            

            
            

            <li><a href="/cn/release/toolkit-release-notes/" class="">发布说明</a></li>
          
            
            

            
            

            <li><a href="/cn/release/toolkit-downloads/" class="">发布包</a></li>
          
        </ul>
        
      </li>
    
      <li>
        
          <span class="nav__sub-title">Saga Actuator</span>
        

        
        <ul>
          
            
            

            
            

            <li><a href="/cn/release/saga-actuator-release-notes/" class="">发布说明</a></li>
          
            
            

            
            

            <li><a href="/cn/release/saga-actuator-downloads/" class="">发布包</a></li>
          
        </ul>
        
      </li>
    
      <li>
        
          <span class="nav__sub-title">Saga</span>
        

        
        <ul>
          
            
            

            
            

            <li><a href="/cn/release/saga-release-notes/" class="">发布说明</a></li>
          
            
            

            
            

            <li><a href="/cn/release/saga-downloads/" class="">发布包</a></li>
          
        </ul>
        
      </li>
    
  </ul>
</nav>

    
  
  </div>



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

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

      <section class="page__content" itemprop="text">
        <div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>    Release Notes - Apache ServiceComb - Version pack-0.7.1
</code></pre></div></div>

<h2>        Sub-task
</h2>
<ul>
<li>[<a href="https://issues.apache.org/jira/browse/SCB-2657">SCB-2657</a>] -         Fix wrong version placeholder for branch 0.7.x 
</li>
</ul>

<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>    Release Notes - Apache ServiceComb - Version pack-0.7.0
</code></pre></div></div>

<h2>        Sub-task
</h2>
<ul>
<li>[<a href="https://issues.apache.org/jira/browse/SCB-1370">SCB-1370</a>] -         Support for in-process nested global transactions
</li>
<li>[<a href="https://issues.apache.org/jira/browse/SCB-2219">SCB-2219</a>] -         Use Github secrets to configure snapshot deploy to Nexus authentication
</li>
<li>[<a href="https://issues.apache.org/jira/browse/SCB-2220">SCB-2220</a>] -         Adding Github actions workflow status badge to README.md
</li>
<li>[<a href="https://issues.apache.org/jira/browse/SCB-2223">SCB-2223</a>] -         NEXUS&#39;s secret name is wrong
</li>
<li>[<a href="https://issues.apache.org/jira/browse/SCB-2248">SCB-2248</a>] -         Update jacoco version 0.8.6 for Java 11
</li>
<li>[<a href="https://issues.apache.org/jira/browse/SCB-2397">SCB-2397</a>] -         Add pack-dependencies module management dependencies
</li>
<li>[<a href="https://issues.apache.org/jira/browse/SCB-2421">SCB-2421</a>] -         Migrate Spring-Boot from 2.1.X.RELEASE to 2.3.X.RELEASE
</li>
</ul>

<h2>        Bug
</h2>
<ul>
<li>[<a href="https://issues.apache.org/jira/browse/SCB-2192">SCB-2192</a>] -         servicecomb-pack fails to build on ARM64
</li>
<li>[<a href="https://issues.apache.org/jira/browse/SCB-2227">SCB-2227</a>] -         [UI] Property or field &#39;upTime&#39; cannot be found on null
</li>
<li>[<a href="https://issues.apache.org/jira/browse/SCB-2231">SCB-2231</a>] -         Github Actions only work on apache/servicecomb-pack
</li>
</ul>

<h2>        New Feature
</h2>
<ul>
<li>[<a href="https://issues.apache.org/jira/browse/SCB-275">SCB-275</a>] -         [pack] retry compensation on failure/timeout/crash
</li>
<li>[<a href="https://issues.apache.org/jira/browse/SCB-908">SCB-908</a>] -         TCC Events restful API
</li>
<li>[<a href="https://issues.apache.org/jira/browse/SCB-1467">SCB-1467</a>] -         Provide API to let user integration transaction with their business
</li>
<li>[<a href="https://issues.apache.org/jira/browse/SCB-1510">SCB-1510</a>] -         Add cluster metrics to the dashboard
</li>
<li>[<a href="https://issues.apache.org/jira/browse/SCB-2238">SCB-2238</a>] -         FSM event channel supports Rabbit
</li>
<li>[<a href="https://issues.apache.org/jira/browse/SCB-2239">SCB-2239</a>] -         [JDK11] Support JDK11 LTS
</li>
</ul>

<h2>        Improvement
</h2>
<ul>
<li>[<a href="https://issues.apache.org/jira/browse/SCB-268">SCB-268</a>] -         [pack] compact events to remove unnecessary fields
</li>
<li>[<a href="https://issues.apache.org/jira/browse/SCB-277">SCB-277</a>] -         [pack] concurrent event processing issue
</li>
<li>[<a href="https://issues.apache.org/jira/browse/SCB-751">SCB-751</a>] -         The load balancer of Saga may be faced with peak problem.
</li>
<li>[<a href="https://issues.apache.org/jira/browse/SCB-798">SCB-798</a>] -         GrpcMessageSender uses aync send API
</li>
<li>[<a href="https://issues.apache.org/jira/browse/SCB-835">SCB-835</a>] -         Alpha should call the compensation method once it gets the abort event
</li>
<li>[<a href="https://issues.apache.org/jira/browse/SCB-990">SCB-990</a>] -         Support to lookup the Omega instance if the original instance is not exit
</li>
<li>[<a href="https://issues.apache.org/jira/browse/SCB-1003">SCB-1003</a>] -         Support the transaction suspend and resume
</li>
<li>[<a href="https://issues.apache.org/jira/browse/SCB-1004">SCB-1004</a>] -         Alpha has limit request rate protection
</li>
<li>[<a href="https://issues.apache.org/jira/browse/SCB-1006">SCB-1006</a>] -         Support SagaEnd Callback invocation
</li>
<li>[<a href="https://issues.apache.org/jira/browse/SCB-1057">SCB-1057</a>] -         check the TxEndedEvent is received before doing the compensate
</li>
<li>[<a href="https://issues.apache.org/jira/browse/SCB-1107">SCB-1107</a>] -         Omega should send the compensation failure to alpha
</li>
<li>[<a href="https://issues.apache.org/jira/browse/SCB-1300">SCB-1300</a>] -         Added the accept test of retry then recovery
</li>
<li>[<a href="https://issues.apache.org/jira/browse/SCB-1536">SCB-1536</a>] -         Adapter fegin by spring-cloud-starter-openfeign 2.0.0
</li>
<li>[<a href="https://issues.apache.org/jira/browse/SCB-1583">SCB-1583</a>] -         Polish ServiceComb Pack User document about kyro Usage
</li>
<li>[<a href="https://issues.apache.org/jira/browse/SCB-1596">SCB-1596</a>] -         Support for defining OmegaContext parameters in @SagaStart and @Compensable methods
</li>
<li>[<a href="https://issues.apache.org/jira/browse/SCB-1618">SCB-1618</a>] -         Add a JMS related Saga demo
</li>
<li>[<a href="https://issues.apache.org/jira/browse/SCB-1884">SCB-1884</a>] -         Using Asciidoc to process the ServiceComb Pack docs
</li>
<li>[<a href="https://issues.apache.org/jira/browse/SCB-2203">SCB-2203</a>] -         The version of Java (1.8.0_252) you have used to run this analysis is deprecated and Sonarcloud.io stopped accepting it
</li>
<li>[<a href="https://issues.apache.org/jira/browse/SCB-2204">SCB-2204</a>] -         Acceptance Tests Akka fails
</li>
<li>[<a href="https://issues.apache.org/jira/browse/SCB-2390">SCB-2390</a>] -         ServiceComb Pack Support Mac M1
</li>
<li>[<a href="https://issues.apache.org/jira/browse/SCB-2392">SCB-2392</a>] -         Upgrade the netty version to 4.1.74
</li>
<li>[<a href="https://issues.apache.org/jira/browse/SCB-2394">SCB-2394</a>] -         The random error of AlphaIntegrationWithRandomPortTest
</li>
<li>[<a href="https://issues.apache.org/jira/browse/SCB-2395">SCB-2395</a>] -         Upgrade Log4j version
</li>
<li>[<a href="https://issues.apache.org/jira/browse/SCB-2399">SCB-2399</a>] -         Upgrade the fabric8 docker plugin to fix mac m1 issue
</li>
<li>[<a href="https://issues.apache.org/jira/browse/SCB-2438">SCB-2438</a>] -         Upgrade spring-framework version to 5.2.20
</li>
<li>[<a href="https://issues.apache.org/jira/browse/SCB-2453">SCB-2453</a>] -         Bump junit from 4.12 to 4.13.1
</li>
<li>[<a href="https://issues.apache.org/jira/browse/SCB-2458">SCB-2458</a>] -         Bump commons-io from 2.4 to 2.7
</li>
</ul>

<h2>        Test
</h2>
<ul>
<li>[<a href="https://issues.apache.org/jira/browse/SCB-306">SCB-306</a>] -         [pack] acceptance tests with all the transaction scenarios
</li>
<li>[<a href="https://issues.apache.org/jira/browse/SCB-2222">SCB-2222</a>] -         Unstable test cases on poor performance CI
</li>
<li>[<a href="https://issues.apache.org/jira/browse/SCB-2391">SCB-2391</a>] -         Add more accept tests of TCC
</li>
</ul>

<h2>        Task
</h2>
<ul>
<li>[<a href="https://issues.apache.org/jira/browse/SCB-1203">SCB-1203</a>] -         Occasional failure TccLoadBalanceSenderTest.participateFailedThenRetry
</li>
<li>[<a href="https://issues.apache.org/jira/browse/SCB-2199">SCB-2199</a>] -         Migrate travis-ci to github workflow
</li>
<li>[<a href="https://issues.apache.org/jira/browse/SCB-2205">SCB-2205</a>] -         Polishing Github actions workflow
</li>
<li>[<a href="https://issues.apache.org/jira/browse/SCB-2275">SCB-2275</a>] -         coveralls-maven-plugin fails on Java 11 - required class missing: DatatypeConverter
</li>
<li>[<a href="https://issues.apache.org/jira/browse/SCB-2368">SCB-2368</a>] -         Introduce dependency check plugin to list the CVE related issues
</li>
<li>[<a href="https://issues.apache.org/jira/browse/SCB-2425">SCB-2425</a>] -         Refactoring the Alpha module using Spring SPI
</li>
<li>[<a href="https://issues.apache.org/jira/browse/SCB-2459">SCB-2459</a>] -         Upgrade the version of zstd-jni and lz4-java
</li>
<li>[<a href="https://issues.apache.org/jira/browse/SCB-2470">SCB-2470</a>] -         Bump spring-cloud-function-core from 3.0.14.RELEASE to 3.1.7
</li>
<li>[<a href="https://issues.apache.org/jira/browse/SCB-2477">SCB-2477</a>] -         Faster release with Maven CI Friendly Versions
</li>
<li>[<a href="https://issues.apache.org/jira/browse/SCB-2486">SCB-2486</a>] -         Pack 0.7.0-SNAPSHOT Release Failed
</li>
</ul>

<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>    Release Notes - Apache ServiceComb - Version pack-0.6.0
</code></pre></div></div>

<h2>        Sub-task
</h2>
<ul>
<li>[<a href="https://issues.apache.org/jira/browse/SCB-1368">SCB-1368</a>] -         Support for Akka-based Alpha clusters
</li>
<li>[<a href="https://issues.apache.org/jira/browse/SCB-1424">SCB-1424</a>] -         The retrieveDataMaps method throws a 500 error in acceptance-pack-akka-spring-demo
</li>
<li>[<a href="https://issues.apache.org/jira/browse/SCB-1627">SCB-1627</a>] -         Wait for compensation feedback after Alpha calls compensation
</li>
<li>[<a href="https://issues.apache.org/jira/browse/SCB-1646">SCB-1646</a>] -         Rename @Compensable property retries and timeout with the &quot;forward&quot; prefix
</li>
<li>[<a href="https://issues.apache.org/jira/browse/SCB-1658">SCB-1658</a>] -         Improve encapsulation on txEntityMap of SagaData
</li>
<li>[<a href="https://issues.apache.org/jira/browse/SCB-1696">SCB-1696</a>] -         Optimize state machine compensation retry strategy using reverseRetries and retryDelayInMilliseconds for FSM
</li>
</ul>

<h2>        Bug
</h2>
<ul>
<li>[<a href="https://issues.apache.org/jira/browse/SCB-1282">SCB-1282</a>] -         Support to inject a customer IdGenerator in Omega Spring Starter
</li>
<li>[<a href="https://issues.apache.org/jira/browse/SCB-1476">SCB-1476</a>] -         SagaStartAnnotationProcessorTimeoutWrapper should handle SagaStart.autoClose()
</li>
<li>[<a href="https://issues.apache.org/jira/browse/SCB-1542">SCB-1542</a>] -         Test build error with Alpha Server
</li>
<li>[<a href="https://issues.apache.org/jira/browse/SCB-1602">SCB-1602</a>] -         Error when generating docker image for alpha server
</li>
<li>[<a href="https://issues.apache.org/jira/browse/SCB-1611">SCB-1611</a>] -         Window not support get CPU total and load average
</li>
<li>[<a href="https://issues.apache.org/jira/browse/SCB-1669">SCB-1669</a>] -         Reverse compensation sort bug in FSM
</li>
<li>[<a href="https://issues.apache.org/jira/browse/SCB-1707">SCB-1707</a>] -         Forward compensation only sends once a failure event if multiple retries fail
</li>
<li>[<a href="https://issues.apache.org/jira/browse/SCB-1842">SCB-1842</a>] -         Akka Actor not found error in pack-0.5.0  under fsm patten
</li>
</ul>

<h2>        New Feature
</h2>
<ul>
<li>[<a href="https://issues.apache.org/jira/browse/SCB-1530">SCB-1530</a>] -         Add omega-transport-hystrix module to support thread context switching
</li>
</ul>

<h2>        Improvement
</h2>
<ul>
<li>[<a href="https://issues.apache.org/jira/browse/SCB-1011">SCB-1011</a>] -         Saga interceptor should check the gloable transaction ID
</li>
<li>[<a href="https://issues.apache.org/jira/browse/SCB-1375">SCB-1375</a>] -         clean up the accept test module
</li>
<li>[<a href="https://issues.apache.org/jira/browse/SCB-1502">SCB-1502</a>] -         Code Cleanup
</li>
<li>[<a href="https://issues.apache.org/jira/browse/SCB-1514">SCB-1514</a>] -          Aborting the further Tcc transcations when partcipate call failed
</li>
<li>[<a href="https://issues.apache.org/jira/browse/SCB-1568">SCB-1568</a>] -         Add transport section on the user guide document
</li>
<li>[<a href="https://issues.apache.org/jira/browse/SCB-1585">SCB-1585</a>] -         Optimize the Netty server thread model to split bossEventLoopGroup and workerEventLoopGroup
</li>
<li>[<a href="https://issues.apache.org/jira/browse/SCB-1587">SCB-1587</a>] -         Polish the Design document of ServiceComb Pack
</li>
<li>[<a href="https://issues.apache.org/jira/browse/SCB-1593">SCB-1593</a>] -         Use Netty native transport improve performance
</li>
<li>[<a href="https://issues.apache.org/jira/browse/SCB-1597">SCB-1597</a>] -         Refactoring the accept tests of Pack
</li>
<li>[<a href="https://issues.apache.org/jira/browse/SCB-1599">SCB-1599</a>] -         Modify the sonar warning
</li>
<li>[<a href="https://issues.apache.org/jira/browse/SCB-1604">SCB-1604</a>] -         modify InterruptedException
</li>
<li>[<a href="https://issues.apache.org/jira/browse/SCB-1688">SCB-1688</a>] -         Added prompt information when visit Alpha UI in non-state machine mode
</li>
<li>[<a href="https://issues.apache.org/jira/browse/SCB-1689">SCB-1689</a>] -         Remove “prd” profile
</li>
<li>[<a href="https://issues.apache.org/jira/browse/SCB-1690">SCB-1690</a>] -         omega-transport-resttemplate does not use RestTemplateBuilder
</li>
<li>[<a href="https://issues.apache.org/jira/browse/SCB-1694">SCB-1694</a>] -         Improve unit test coverages for APIv1Controller
</li>
<li>[<a href="https://issues.apache.org/jira/browse/SCB-1695">SCB-1695</a>] -         Add attribute mode to @Compensable annotation
</li>
<li>[<a href="https://issues.apache.org/jira/browse/SCB-1877">SCB-1877</a>] -         Fixed AlphaUI&#39;s Saga list sorted by time bug
</li>
<li>[<a href="https://issues.apache.org/jira/browse/SCB-1878">SCB-1878</a>] -         Alpha UI query error when the ES is empty
</li>
<li>[<a href="https://issues.apache.org/jira/browse/SCB-1879">SCB-1879</a>] -         Support to disable the TCC feature from Alpha Server
</li>
<li>[<a href="https://issues.apache.org/jira/browse/SCB-1880">SCB-1880</a>] -         Remove the EnableOmega annotation
</li>
</ul>

<h2>        Test
</h2>
<ul>
<li>[<a href="https://issues.apache.org/jira/browse/SCB-1501">SCB-1501</a>] -         Occasional UnitTest failure in PackIT.compensatesFailedGlobalTransaction
</li>
<li>[<a href="https://issues.apache.org/jira/browse/SCB-1685">SCB-1685</a>] -         Improve test case doNotCompensateDuplicateTxOnFailure of AlphaIntegrationTest
</li>
</ul>

<h2>        Task
</h2>
<ul>
<li>[<a href="https://issues.apache.org/jira/browse/SCB-1466">SCB-1466</a>] -         Update cluster configuration in fsm document
</li>
<li>[<a href="https://issues.apache.org/jira/browse/SCB-1541">SCB-1541</a>] -         Set the dependency of OpenFeign core scope to be provided
</li>
<li>[<a href="https://issues.apache.org/jira/browse/SCB-1595">SCB-1595</a>] -         ServiceComb Pack integrates with SonarCloud
</li>
<li>[<a href="https://issues.apache.org/jira/browse/SCB-1614">SCB-1614</a>] -         Polishing code
</li>
<li>[<a href="https://issues.apache.org/jira/browse/SCB-1659">SCB-1659</a>] -         Upgrade maven-assembly-plugin to 3.2.0
</li>
<li>[<a href="https://issues.apache.org/jira/browse/SCB-1668">SCB-1668</a>] -         Replace sun.misc.BASE64* with java.util.Base64
</li>
<li>[<a href="https://issues.apache.org/jira/browse/SCB-1670">SCB-1670</a>] -         TransactionContext should be serializable
</li>
<li>[<a href="https://issues.apache.org/jira/browse/SCB-1698">SCB-1698</a>] -         Revert &quot;SCB-1695 Add attribute mode to @Compensable annotation&quot;
</li>
<li>[<a href="https://issues.apache.org/jira/browse/SCB-1724">SCB-1724</a>] -         Update upgrade guide and state-diagram documents for SCB-1696
</li>
<li>[<a href="https://issues.apache.org/jira/browse/SCB-1735">SCB-1735</a>] -         Support Alpha call compensation timeout strategy
</li>
</ul>

<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>    Release Notes - Apache ServiceComb - Version pack-0.5.0
</code></pre></div></div>

<h2> New and Noteworthy </h2>
<ul>
    <li> Provided new Saga Transaction tracking system based on Akka Actor</li>
    <li> Provided a new GUI to check the Saga Transactions</li>
    <li> User can use TransactionContext to pass the transaction id information </li>
  </ul>

<h2>        Sub-task
</h2>
<ul>
<li>[<a href="https://issues.apache.org/jira/browse/SCB-1372">SCB-1372</a>] -         Collection state machine health to metrics
</li>
<li>[<a href="https://issues.apache.org/jira/browse/SCB-1374">SCB-1374</a>] -         Implement Alpha Event Channel Plugin
</li>
<li>[<a href="https://issues.apache.org/jira/browse/SCB-1379">SCB-1379</a>] -         Add alpha benchmark tool document
</li>
<li>[<a href="https://issues.apache.org/jira/browse/SCB-1416">SCB-1416</a>] -         Refactoring the core part of alpha-fsm module  to move to alpha-core
</li>
<li>[<a href="https://issues.apache.org/jira/browse/SCB-1417">SCB-1417</a>] -         Alpha Event Redis Channel Plugin
</li>
<li>[<a href="https://issues.apache.org/jira/browse/SCB-1418">SCB-1418</a>] -         Alpha Event Kafka Channel Plugin
</li>
<li>[<a href="https://issues.apache.org/jira/browse/SCB-1435">SCB-1435</a>] -         State machine manual
</li>
<li>[<a href="https://issues.apache.org/jira/browse/SCB-1439">SCB-1439</a>] -         Optimize class ElasticsearchTransactionRepository persistence parameters
</li>
<li>[<a href="https://issues.apache.org/jira/browse/SCB-1442">SCB-1442</a>] -         Topic initialization  &amp; Class KafkaMessagePublisher needs to use globalTxId as the partitioning strategy.
</li>
</ul>

<h2>        Bug
</h2>
<ul>
<li>[<a href="https://issues.apache.org/jira/browse/SCB-1264">SCB-1264</a>] -         When setting server.port and alpha.server.port random port is missing the default tag configuration
</li>
<li>[<a href="https://issues.apache.org/jira/browse/SCB-1281">SCB-1281</a>] -         saga-frontend access alpha restful API has cross-domain issues
</li>
<li>[<a href="https://issues.apache.org/jira/browse/SCB-1352">SCB-1352</a>] -         Fixed a typo on ParametersContext class in servicecomb-pack
</li>
<li>[<a href="https://issues.apache.org/jira/browse/SCB-1377">SCB-1377</a>] -         The Notice file of ServiceComb-Pack need to updated
</li>
<li>[<a href="https://issues.apache.org/jira/browse/SCB-1419">SCB-1419</a>] -         ElasticsearchTransactionRepositoryTest failed for CI
</li>
<li>[<a href="https://issues.apache.org/jira/browse/SCB-1421">SCB-1421</a>] -         ElasticsearchTransactionRepositoryTest failed for CI 2
</li>
<li>[<a href="https://issues.apache.org/jira/browse/SCB-1438">SCB-1438</a>] -         Class ElasticsearchTransactionRepository synchronization save method is invalid
</li>
</ul>

<h2>        New Feature
</h2>
<ul>
<li>[<a href="https://issues.apache.org/jira/browse/SCB-1349">SCB-1349</a>] -         support Nacos Discovery
</li>
<li>[<a href="https://issues.apache.org/jira/browse/SCB-1386">SCB-1386</a>] -         Support to send out SagaEnd event in other method
</li>
<li>[<a href="https://issues.apache.org/jira/browse/SCB-1411">SCB-1411</a>] -         Add alpha-ui module to provide a simple Web GUI
</li>
</ul>

<h2>        Improvement
</h2>
<ul>
<li>[<a href="https://issues.apache.org/jira/browse/SCB-575">SCB-575</a>] -         Publish the Java doc of ServiceComb projects
</li>
<li>[<a href="https://issues.apache.org/jira/browse/SCB-1243">SCB-1243</a>] -         Keep the handler name of saga-consumer and saga-producer
</li>
<li>[<a href="https://issues.apache.org/jira/browse/SCB-1247">SCB-1247</a>] -         Set default value in alpha.cluster.address on omega side
</li>
<li>[<a href="https://issues.apache.org/jira/browse/SCB-1272">SCB-1272</a>] -         Improvement Omega timeout processing, interrupt request thread after the timeout
</li>
<li>[<a href="https://issues.apache.org/jira/browse/SCB-1279">SCB-1279</a>] -         add omega context verification
</li>
<li>[<a href="https://issues.apache.org/jira/browse/SCB-1299">SCB-1299</a>] -         Showing the type,createtime in the Saga UI
</li>
<li>[<a href="https://issues.apache.org/jira/browse/SCB-1309">SCB-1309</a>] -         ServicePack CI build should use sprint-boot-2 profile
</li>
<li>[<a href="https://issues.apache.org/jira/browse/SCB-1380">SCB-1380</a>] -         Upgrade Java-Chassis version to 1.2.1
</li>
<li>[<a href="https://issues.apache.org/jira/browse/SCB-1381">SCB-1381</a>] -         Add common api controller to bridge the request of transaction data querying and metrics data querying
</li>
<li>[<a href="https://issues.apache.org/jira/browse/SCB-1385">SCB-1385</a>] -         Provide a common way to pass GID and LID
</li>
<li>[<a href="https://issues.apache.org/jira/browse/SCB-1387">SCB-1387</a>] -         Upgrade Spring Boot version to 2.1.6
</li>
<li>[<a href="https://issues.apache.org/jira/browse/SCB-1391">SCB-1391</a>] -         Add support for explicit tx context passing for TCC
</li>
<li>[<a href="https://issues.apache.org/jira/browse/SCB-1395">SCB-1395</a>] -         Switch to openjdk in servicecomb-pack CI build
</li>
<li>[<a href="https://issues.apache.org/jira/browse/SCB-1399">SCB-1399</a>] -         Drop the support of Spring Boot 1.x for ServiceComb-Pack
</li>
<li>[<a href="https://issues.apache.org/jira/browse/SCB-1432">SCB-1432</a>] -         fix deprecated api
</li>
<li>[<a href="https://issues.apache.org/jira/browse/SCB-1443">SCB-1443</a>] -         Adding a Rolling File Appender for Log4j2
</li>
</ul>

<h2>        Test
</h2>
<ul>
<li>[<a href="https://issues.apache.org/jira/browse/SCB-1397">SCB-1397</a>] -         Acceptance test about Byteman error
</li>
<li>[<a href="https://issues.apache.org/jira/browse/SCB-1403">SCB-1403</a>] -         byteman port configuration conflicts in all acceptance tests.
</li>
<li>[<a href="https://issues.apache.org/jira/browse/SCB-1423">SCB-1423</a>] -         Non-thread-safe method size of ConcurrentLinkedQueue in AlphaIntegrationTest
</li>
</ul>

<h2>        Task
</h2>
<ul>
<li>[<a href="https://issues.apache.org/jira/browse/SCB-1026">SCB-1026</a>] -         Saga compensation should support to define the retry times
</li>
<li>[<a href="https://issues.apache.org/jira/browse/SCB-1238">SCB-1238</a>] -         Introductory article on cluster implementation of ServiceComb Pack
</li>
<li>[<a href="https://issues.apache.org/jira/browse/SCB-1241">SCB-1241</a>] -         Update how to use mysql document
</li>
<li>[<a href="https://issues.apache.org/jira/browse/SCB-1244">SCB-1244</a>] -         Update the configuration of Pack 0.4.0 in the user guide
</li>
<li>[<a href="https://issues.apache.org/jira/browse/SCB-1298">SCB-1298</a>] -         Add Zookeeper as the Alpha server load balancer
</li>
<li>[<a href="https://issues.apache.org/jira/browse/SCB-1314">SCB-1314</a>] -         support zookeeper user_guide
</li>
<li>[<a href="https://issues.apache.org/jira/browse/SCB-1335">SCB-1335</a>] -         Upgrade docker-compose file to 3.0
</li>
<li>[<a href="https://issues.apache.org/jira/browse/SCB-1353">SCB-1353</a>] -         Travis CI should fail fast
</li>
<li>[<a href="https://issues.apache.org/jira/browse/SCB-1356">SCB-1356</a>] -         add NACOS to DiscoveryType
</li>
<li>[<a href="https://issues.apache.org/jira/browse/SCB-1389">SCB-1389</a>] -         Doc for SCB-1385
</li>
<li>[<a href="https://issues.apache.org/jira/browse/SCB-1430">SCB-1430</a>] -         Update the License file of ServiceComb Pack
</li>
<li>[<a href="https://issues.apache.org/jira/browse/SCB-1440">SCB-1440</a>] -         Remove the Kamon dependencies
</li>
</ul>

<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>    Release Notes - Apache ServiceComb - Version pack-0.4.0
</code></pre></div></div>

<h2> New and Noteworthy </h2>
<ul>
   <li> Provides Alpha HA implementation </li>
   <li> Support to use eureka or consul to do the service discovery of Alpha</li>
   <li> Fix the event scanner thread exit issue </li>
  </ul>
<h2>        Sub-task
</h2>
<ul>
<li>[<a href="https://issues.apache.org/jira/browse/SCB-1180">SCB-1180</a>] -         Unable to register eureka instance metadata on random gRPC port
</li>
<li>[<a href="https://issues.apache.org/jira/browse/SCB-1187">SCB-1187</a>] -         Update distribution LICENSE for Spring Cloud Starter Netflix
</li>
<li>[<a href="https://issues.apache.org/jira/browse/SCB-1200">SCB-1200</a>] -         Omega with consul
</li>
<li>[<a href="https://issues.apache.org/jira/browse/SCB-1201">SCB-1201</a>] -         alpha-spring-cloud-starter rename alpha-server-cloud-eureka-starter
</li>
<li>[<a href="https://issues.apache.org/jira/browse/SCB-1204">SCB-1204</a>] -         acceptance tests with consul
</li>
<li>[<a href="https://issues.apache.org/jira/browse/SCB-1209">SCB-1209</a>] -         Add a description about the integrated consul
</li>
</ul>

<h2>        Bug
</h2>
<ul>
<li>[<a href="https://issues.apache.org/jira/browse/SCB-1118">SCB-1118</a>] -         EventScanner should catch the exception to keep it running.
</li>
<li>[<a href="https://issues.apache.org/jira/browse/SCB-1159">SCB-1159</a>] -         Rxjs and TypeScript version compatibility issues
</li>
<li>[<a href="https://issues.apache.org/jira/browse/SCB-1216">SCB-1216</a>] -         Alpha Cluster support random gRPC port
</li>
<li>[<a href="https://issues.apache.org/jira/browse/SCB-1217">SCB-1217</a>] -         Consul support random gRPC port
</li>
</ul>

<h2>        New Feature
</h2>
<ul>
<li>[<a href="https://issues.apache.org/jira/browse/SCB-15">SCB-15</a>] -         service discovery with popular open source service registry
</li>
<li>[<a href="https://issues.apache.org/jira/browse/SCB-1155">SCB-1155</a>] -         Generate a random free gRPC port to launch alpha
</li>
<li>[<a href="https://issues.apache.org/jira/browse/SCB-1199">SCB-1199</a>] -         service discovery with consul
</li>
</ul>

<h2>        Improvement
</h2>
<ul>
<li>[<a href="https://issues.apache.org/jira/browse/SCB-1082">SCB-1082</a>] -         Dependency-free-transaction-demo failed on Mac OSX
</li>
<li>[<a href="https://issues.apache.org/jira/browse/SCB-1099">SCB-1099</a>] -         Add nexus SNAPSHOT information to the README repo
</li>
<li>[<a href="https://issues.apache.org/jira/browse/SCB-1100">SCB-1100</a>] -         Updated the user guide for migration from saga 0.2.x
</li>
<li>[<a href="https://issues.apache.org/jira/browse/SCB-1103">SCB-1103</a>] -         TCC should have participate started and ended events
</li>
<li>[<a href="https://issues.apache.org/jira/browse/SCB-1110">SCB-1110</a>] -         omega-transport-feign configure file error
</li>
<li>[<a href="https://issues.apache.org/jira/browse/SCB-1119">SCB-1119</a>] -         Add the order number on the demo
</li>
<li>[<a href="https://issues.apache.org/jira/browse/SCB-1121">SCB-1121</a>] -         Clean up the OmegaContext once the invocation is over
</li>
<li>[<a href="https://issues.apache.org/jira/browse/SCB-1122">SCB-1122</a>] -         Specify the name of RestTemplate in the configuration
</li>
<li>[<a href="https://issues.apache.org/jira/browse/SCB-1124">SCB-1124</a>] -         Rename the Handler name of Omega transport
</li>
<li>[<a href="https://issues.apache.org/jira/browse/SCB-1125">SCB-1125</a>] -         Add omega instanceid to properties
</li>
<li>[<a href="https://issues.apache.org/jira/browse/SCB-1127">SCB-1127</a>] -         Support alpha server registering to Spring Cloud Eureka
</li>
<li>[<a href="https://issues.apache.org/jira/browse/SCB-1128">SCB-1128</a>] -         Omega get Alpha address from Spring Cloud Eureka
</li>
<li>[<a href="https://issues.apache.org/jira/browse/SCB-1130">SCB-1130</a>] -         Alpha cluster need distributed lock function
</li>
<li>[<a href="https://issues.apache.org/jira/browse/SCB-1158">SCB-1158</a>] -          External jars support Alpha
</li>
<li>[<a href="https://issues.apache.org/jira/browse/SCB-1160">SCB-1160</a>] -         SCB-1142 additional
</li>
<li>[<a href="https://issues.apache.org/jira/browse/SCB-1171">SCB-1171</a>] -         Improve unit test coverage for ClusterLockServiceTest
</li>
<li>[<a href="https://issues.apache.org/jira/browse/SCB-1235">SCB-1235</a>] -         Clean up third party license with maven plugin
</li>
</ul>

<h2>        Test
</h2>
<ul>
<li>[<a href="https://issues.apache.org/jira/browse/SCB-306">SCB-306</a>] -         [pack] acceptance tests with all the transaction scenarios
</li>
<li>[<a href="https://issues.apache.org/jira/browse/SCB-1152">SCB-1152</a>] -         About abortTimeoutTxStartedEvent test case failed
</li>
</ul>

<h2>        Task
</h2>
<ul>
<li>[<a href="https://issues.apache.org/jira/browse/SCB-1151">SCB-1151</a>] -         Add Eureka instructions in the user guide
</li>
<li>[<a href="https://issues.apache.org/jira/browse/SCB-1161">SCB-1161</a>] -         Eureka integration english guide
</li>
<li>[<a href="https://issues.apache.org/jira/browse/SCB-1181">SCB-1181</a>] -         Add mvn wrap script to lock the maven version
</li>
<li>[<a href="https://issues.apache.org/jira/browse/SCB-1182">SCB-1182</a>] -         Also need to use -Pspring-boot-2 by default
</li>
<li>[<a href="https://issues.apache.org/jira/browse/SCB-1189">SCB-1189</a>] -         Update the Eureka Integration User Guide for version 0.4.0
</li>
<li>[<a href="https://issues.apache.org/jira/browse/SCB-1190">SCB-1190</a>] -         Update the mysql manual for use extension jar description
</li>
<li>[<a href="https://issues.apache.org/jira/browse/SCB-1194">SCB-1194</a>] -         Specify alphaEventBus bean with @Qualifier(&quot;alphaEventBus&quot;)
</li>
<li>[<a href="https://issues.apache.org/jira/browse/SCB-1195">SCB-1195</a>] -         About typo in eureka Integrated documentation
</li>
<li>[<a href="https://issues.apache.org/jira/browse/SCB-1215">SCB-1215</a>] -         Update document about alpha cluster
</li>
<li>[<a href="https://issues.apache.org/jira/browse/SCB-1233">SCB-1233</a>] -         Alpha Server should not include eureka dependencies by default
</li>
<li>[<a href="https://issues.apache.org/jira/browse/SCB-1238">SCB-1238</a>] -         Introductory article on cluster implementation of ServiceComb Pack
</li>
</ul>

<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>    Release Notes - Apache ServiceComb - Version pack-0.3.0
</code></pre></div></div>
<h2> New and Noteworthy </h2>
<ul>
   <li> Provides the TCC support </li>
   <li> Rename the package name from "org.apache.servicecomb.saga" to "org.apache.servicecomb.pack"</li>
   <li> Omega supports JDK 1.7 </li>
   <li> Using Spring-Boot 2.1 by default </li>
 </ul>
<h2>        Sub-task
</h2>
<ul>
<li>[<a href="https://issues.apache.org/jira/browse/SCB-817">SCB-817</a>] -         Setup the TCC events
</li>
<li>[<a href="https://issues.apache.org/jira/browse/SCB-818">SCB-818</a>] -         Omega support of TCC
</li>
<li>[<a href="https://issues.apache.org/jira/browse/SCB-819">SCB-819</a>] -         Acceptance test of  TCC Demo
</li>
<li>[<a href="https://issues.apache.org/jira/browse/SCB-820">SCB-820</a>] -         TCC demo
</li>
<li>[<a href="https://issues.apache.org/jira/browse/SCB-856">SCB-856</a>] -         Implement reaction of the event in Alpha Server
</li>
<li>[<a href="https://issues.apache.org/jira/browse/SCB-876">SCB-876</a>] -         Confirm and Cancel invocation support of Omega
</li>
<li>[<a href="https://issues.apache.org/jira/browse/SCB-877">SCB-877</a>] -         Alpha should pesistend the received TCC events
</li>
<li>[<a href="https://issues.apache.org/jira/browse/SCB-923">SCB-923</a>] -         Provide API to access the TCC events
</li>
</ul>

<h2>        Bug
</h2>
<ul>
<li>[<a href="https://issues.apache.org/jira/browse/SCB-739">SCB-739</a>] -         It is useless for @SagaStart timeout,and it could not be compensated under @SagaStart
</li>
<li>[<a href="https://issues.apache.org/jira/browse/SCB-741">SCB-741</a>] -         Caused by: com.mysql.jdbc.MysqlDataTruncation: Data truncation: Data too long for column &#39;payloads&#39; at row 1
</li>
<li>[<a href="https://issues.apache.org/jira/browse/SCB-745">SCB-745</a>] -         RetrySender should not throw exception when go the saga start event.
</li>
<li>[<a href="https://issues.apache.org/jira/browse/SCB-821">SCB-821</a>] -         Add missing dependencyManagement for omega-transport-feign
</li>
<li>[<a href="https://issues.apache.org/jira/browse/SCB-822">SCB-822</a>] -         Update LICENSE/NOTICE for saga
</li>
<li>[<a href="https://issues.apache.org/jira/browse/SCB-824">SCB-824</a>] -         Failed to build saga demos
</li>
<li>[<a href="https://issues.apache.org/jira/browse/SCB-826">SCB-826</a>] -         SagaStart abort event should use LocalTransactionID
</li>
<li>[<a href="https://issues.apache.org/jira/browse/SCB-830">SCB-830</a>] -         Update Chassis from 1.0.0-m2 to 1.0.0 in Saga
</li>
<li>[<a href="https://issues.apache.org/jira/browse/SCB-831">SCB-831</a>] -         Saga UT failed at LoadBalancedClusterMessageSenderTest on Windows environment
</li>
<li>[<a href="https://issues.apache.org/jira/browse/SCB-963">SCB-963</a>] -         Saga transactional method can&#39;t work when compensation happens
</li>
<li>[<a href="https://issues.apache.org/jira/browse/SCB-1081">SCB-1081</a>] -         CompositeOmegaCallback&#39;s compensate(TxEvent event) method has concurrency issues
</li>
<li>[<a href="https://issues.apache.org/jira/browse/SCB-1098">SCB-1098</a>] -         Pack pom need to be updated
</li>
</ul>

<h2>        New Feature
</h2>
<ul>
<li>[<a href="https://issues.apache.org/jira/browse/SCB-665">SCB-665</a>] -         Provide TCC  support
</li>
<li>[<a href="https://issues.apache.org/jira/browse/SCB-730">SCB-730</a>] -         Add Feign transport for supporting Spring Cloud
</li>
<li>[<a href="https://issues.apache.org/jira/browse/SCB-731">SCB-731</a>] -         Add the omega-transport-feign into distribution kit
</li>
<li>[<a href="https://issues.apache.org/jira/browse/SCB-732">SCB-732</a>] -         Add the omega-transport-feign into distribution kit
</li>
<li>[<a href="https://issues.apache.org/jira/browse/SCB-909">SCB-909</a>] -         Add fault tolerance for service comb TCC
</li>
</ul>

<h2>        Improvement
</h2>
<ul>
<li>[<a href="https://issues.apache.org/jira/browse/SCB-244">SCB-244</a>] -         [pack] add demo to use pack with java chassis
</li>
<li>[<a href="https://issues.apache.org/jira/browse/SCB-630">SCB-630</a>] -         Active the -Pdocker profile if detect the docker installation
</li>
<li>[<a href="https://issues.apache.org/jira/browse/SCB-639">SCB-639</a>] -         upgrade docker maven plugin
</li>
<li>[<a href="https://issues.apache.org/jira/browse/SCB-660">SCB-660</a>] -         Update the dubbo example compose file
</li>
<li>[<a href="https://issues.apache.org/jira/browse/SCB-750">SCB-750</a>] -         Dependency management is incomplete in Saga and Java-Chassis
</li>
<li>[<a href="https://issues.apache.org/jira/browse/SCB-785">SCB-785</a>] -         Cannot get the GlobalTxId and LocalTxId in the compensation method
</li>
<li>[<a href="https://issues.apache.org/jira/browse/SCB-805">SCB-805</a>] -         If the node time of alpha and omega are not same, the transaction could be aborted
</li>
<li>[<a href="https://issues.apache.org/jira/browse/SCB-806">SCB-806</a>] -         Polish alpha-server logger
</li>
<li>[<a href="https://issues.apache.org/jira/browse/SCB-813">SCB-813</a>] -         pack-contract-grp module mvn install builds failure
</li>
<li>[<a href="https://issues.apache.org/jira/browse/SCB-829">SCB-829</a>] -         An index on TxEvent (globalTxId) should be added
</li>
<li>[<a href="https://issues.apache.org/jira/browse/SCB-853">SCB-853</a>] -         Support JDK7 in saga-core
</li>
<li>[<a href="https://issues.apache.org/jira/browse/SCB-865">SCB-865</a>] -         Refactoring the Omega Interceptors
</li>
<li>[<a href="https://issues.apache.org/jira/browse/SCB-868">SCB-868</a>] -         Added kamon metrics to Alpha Server
</li>
<li>[<a href="https://issues.apache.org/jira/browse/SCB-874">SCB-874</a>] -         saga dubbo demo insert sql and readme optimization
</li>
<li>[<a href="https://issues.apache.org/jira/browse/SCB-875">SCB-875</a>] -         Start the old saga demo with sh script
</li>
<li>[<a href="https://issues.apache.org/jira/browse/SCB-879">SCB-879</a>] -         Pack the aspectj-wave jar into Alpha Server when using perf profile
</li>
<li>[<a href="https://issues.apache.org/jira/browse/SCB-885">SCB-885</a>] -         saga alpha event scanner delete duplicate events sql optimization
</li>
<li>[<a href="https://issues.apache.org/jira/browse/SCB-913">SCB-913</a>] -         Switch TCC demo JPA implementation
</li>
<li>[<a href="https://issues.apache.org/jira/browse/SCB-916">SCB-916</a>] -         Clean up @order annotation in TransactionAspectConfig
</li>
<li>[<a href="https://issues.apache.org/jira/browse/SCB-1013">SCB-1013</a>] -         Support to disable the event scanner Alpha
</li>
<li>[<a href="https://issues.apache.org/jira/browse/SCB-1018">SCB-1018</a>] -         Upgrade spring boot  version to 1.5.17 and 2.0.6
</li>
<li>[<a href="https://issues.apache.org/jira/browse/SCB-1029">SCB-1029</a>] -         The compensationMethod size is small
</li>
<li>[<a href="https://issues.apache.org/jira/browse/SCB-1036">SCB-1036</a>] -         Throw exception when Compensable retries below -1.
</li>
<li>[<a href="https://issues.apache.org/jira/browse/SCB-1086">SCB-1086</a>] -         Using spring-boot-2 by default
</li>
<li>[<a href="https://issues.apache.org/jira/browse/SCB-1090">SCB-1090</a>] -         Unify the logger output of the Omega transport.
</li>
<li>[<a href="https://issues.apache.org/jira/browse/SCB-1091">SCB-1091</a>] -         Upgrade the dubbo version to 2.6.4
</li>
<li>[<a href="https://issues.apache.org/jira/browse/SCB-1093">SCB-1093</a>] -         Upgrade the Spring Boot version to 2.1.1 Release
</li>
</ul>

<h2>        Test
</h2>
<ul>
<li>[<a href="https://issues.apache.org/jira/browse/SCB-823">SCB-823</a>] -         Set up a fully functional test in kubernetes environment
</li>
</ul>

<h2>        Task
</h2>
<ul>
<li>[<a href="https://issues.apache.org/jira/browse/SCB-648">SCB-648</a>] -         Omega support JDK7
</li>
<li>[<a href="https://issues.apache.org/jira/browse/SCB-766">SCB-766</a>] -         Upgrade Spring Boot version to 2.0.3.Release and 1.5.14.Release
</li>
<li>[<a href="https://issues.apache.org/jira/browse/SCB-784">SCB-784</a>] -         SagaStart annotated method should abort the saga transaction once the exception is thrown
</li>
<li>[<a href="https://issues.apache.org/jira/browse/SCB-973">SCB-973</a>] -         TLP graduation tasks
</li>
<li>[<a href="https://issues.apache.org/jira/browse/SCB-976">SCB-976</a>] -         Create new git repo for ServiceComb Saga-Core module
</li>
<li>[<a href="https://issues.apache.org/jira/browse/SCB-1078">SCB-1078</a>] -         Clean up the saga-core modules from saga-pack repo
</li>
<li>[<a href="https://issues.apache.org/jira/browse/SCB-1097">SCB-1097</a>] -         Clean up the distribution of servicecomb-pack
</li>
</ul>

        
      </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">活动</p>
        <a class="acevent" data-format="square" data-mode="dark" data-event="random"></a>
      </ul>
    </div>
    <div class="col">
      <ul>
        <p class="header">资源</p>
        <li><a href="/cn/docs/getting-started/">入门指南</a></li>
        <li><a href="/cn/docs/users/">用户指南</a></li>
        <li><a href="/cn/slides/">资料</a></li>
        <li><a href="/cn/users/faq/">常见问题</a></li>
      </ul>
    </div>
    <div class="col">
      <ul>
        <p class="header">ASF</p>
        <li><a href="http://www.apache.org">基金会</a></li>
        <li><a href="http://www.apache.org/licenses/">许可证</a></li>
        <li><a href="http://www.apache.org/events/current-event">活动</a></li>
        <li><a href="http://www.apache.org/foundation/sponsorship.html">赞助</a></li>
        <li><a href="http://www.apache.org/foundation/thanks.html">鸣谢</a></li>
      </ul>
    </div>
    <div class="col">
      <ul>
        <p class="header">贡献</p>
        <li><a href="http://issues.apache.org/jira/browse/SCB">报告本网页问题</a></li>
        <li><a href="https://github.com/apache/servicecomb-website/edit/master/_release/cn/pack_releaseNotes.md">在Github上编辑此页</a></li>
        <li><a href="/cn/developers/submit-codes/">代码提交指南</a></li>
        <li><a href="/cn/security">安全</a></li>
      </ul>
    </div>
    <div class="col">
      <ul class="social-icons">
        <p class="header">社区</p>
        <li>
            <a href="mailto:dev-subscribe@servicecomb.incubator.apache.org" rel="nofollow"><span class="mail">邮件列表</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. 技术来自于 <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>
