<!DOCTYPE html>
<html lang="en-US">

<head>
    <meta charset="utf-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1">

    <link rel="stylesheet" href="/assets/css/custom.css">
    <link rel="stylesheet" href="/assets/css/main.css">
    <link rel="stylesheet" href="/assets/css/font-awesome.min.css">

    <link rel="shortcut icon" href="/favicon.ico?1">
    <!-- Begin Jekyll SEO tag v2.8.0 -->
<title>Nemo Release 0.3 | Nemo</title>
<meta name="generator" content="Jekyll v3.9.3" />
<meta property="og:title" content="Nemo Release 0.3" />
<meta name="author" content="Won Wook SONG" />
<meta property="og:locale" content="en_US" />
<meta name="description" content="Release Notes - Apache Nemo - Version 0.3" />
<meta property="og:description" content="Release Notes - Apache Nemo - Version 0.3" />
<link rel="canonical" href="http://nemo.apache.org//blog/2022/06/07/release-note-0.3/" />
<meta property="og:url" content="http://nemo.apache.org//blog/2022/06/07/release-note-0.3/" />
<meta property="og:site_name" content="Nemo" />
<meta property="og:type" content="article" />
<meta property="article:published_time" content="2022-06-07T00:00:00+09:00" />
<meta name="twitter:card" content="summary" />
<meta property="twitter:title" content="Nemo Release 0.3" />
<script type="application/ld+json">
{"@context":"https://schema.org","@type":"BlogPosting","author":{"@type":"Person","name":"Won Wook SONG"},"dateModified":"2022-06-07T00:00:00+09:00","datePublished":"2022-06-07T00:00:00+09:00","description":"Release Notes - Apache Nemo - Version 0.3","headline":"Nemo Release 0.3","mainEntityOfPage":{"@type":"WebPage","@id":"http://nemo.apache.org//blog/2022/06/07/release-note-0.3/"},"url":"http://nemo.apache.org//blog/2022/06/07/release-note-0.3/"}</script>
<!-- End Jekyll SEO tag -->


    <link rel="canonical" href="http://nemo.apache.org//blog/2022/06/07/release-note-0.3/">
    <link rel="alternate" type="application/rss+xml" title="Nemo" href="http://nemo.apache.org//feed.xml" />
</head>


<body>

    <nav class="navbar navbar-default navbar-fixed-top">
    <div class="container navbar-container">
        <div class="navbar-header">
            <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#navbar" aria-expanded="false" aria-controls="navbar">
        <span class="sr-only">Toggle navigation</span>
        <span class="icon-bar"></span>
        <span class="icon-bar"></span>
        <span class="icon-bar"></span>
      </button>
            <a class="navbar-brand" href="/">
                <span><img src="/assets/img/nemo-logo.png" alt="Logo"></span>
            </a>
        </div>
        <div id="navbar" class="collapse navbar-collapse">
            <ul class="nav navbar-nav">
                <li ><a href="/docs/home/">Docs</a></li>
                <li ><a href="/apidocs">APIs</a></li>
                <li ><a href="/pages/downloads">Downloads</a></li>
                <li ><a href="/pages/talks">Talks</a></li>
                <li ><a href="/pages/team">Team</a></li>
                <li ><a href="/pages/license">License</a></li>
                <li  class="active" ><a href="/blog/2022/09/10/release-note-0.4/">Blog</a></li>
                <li class="dropdown">
                  <a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="false">ASF<span class="caret"></span></a>
                  <ul class="dropdown-menu">
                    <li><a href="http://www.apache.org/">Apache Software Foundation</a></li>
                    <li><a href="https://www.apache.org/foundation/how-it-works.html">How Apache Works</a></li>
                    <li><a href="https://www.apache.org/licenses/">License</a></li>
                    <li><a href="https://www.apache.org/security/">Security</a></li>
                    <li><a href="https://privacy.apache.org/policies/privacy-policy-public.html">Privacy</a></li>
                    <li><a href="https://www.apache.org/foundation/sponsorship.html">Sponsoring Apache</a></li>
                    <li><a href="https://www.apache.org/foundation/thanks.html">Thanks</a></li>
                  </ul>
                </li>
            </ul>
            <div class="navbar-right">
                <form class="navbar-form navbar-left">
                    <div class="form-group has-feedback">
                        <input id="search-box" type="search" class="form-control" placeholder="Search...">
                        <i class="fa fa-search form-control-feedback"></i>
                    </div>
                </form>
                <ul class="nav navbar-nav">
                    <li><a href="https://github.com/apache/incubator-nemo"><i class="fa fa-github" aria-hidden="true"></i></a></li>
                </ul>
            </div>
        </div>
    </div>
</nav>


    <div class="page-content">
        <div class="wrapper">
            <div class="container">
    <div class="row">

        <div class="col-md-4">
            <div class="well">
                <h4>RECENT POSTS</h4>
                <ul class="list-unstyled post-list-container">
                    
                    <li><a href="/blog/2022/09/10/release-note-0.4/" >Nemo Release 0.4</a></li>
                    
                    <li><a href="/blog/2022/08/15/beam-runner/" >Beam Nemo Runner documents updated!</a></li>
                    
                    <li><a href="/blog/2022/06/07/release-note-0.3/"  class="active" >Nemo Release 0.3</a></li>
                    
                    <li><a href="/blog/2020/03/09/release-note-0.2/" >Nemo Release 0.2</a></li>
                    
                    <li><a href="/blog/2019/03/02/release-note-0.1/" >Nemo Release 0.1</a></li>
                    
                    <li><a href="/blog/2018/03/23/shuffle-on-nemo/" >Optimizing shuffle performance using Nemo</a></li>
                    
                    <li><a href="/blog/2018/03/23/pado-on-nemo/" >Harnessing transient resources using Nemo</a></li>
                    
                    <li><a href="/blog/2018/03/20/nemo-blog-published/" >Nemo blog published!</a></li>
                    
                    <li><a href="/allposts">All posts ...</a></li>
                </ul>
            </div>
        </div>

        <div class="col-md-8">
            <h1>Nemo Release 0.3</h1>
            <p>Jun 7, 2022 • Won Wook SONG</p>
            <div  id="markdown-content-container"><p>Release Notes - Apache Nemo - Version 0.3</p>

<h3 id="heres-a-brief-summary-about-the-release">Here’s a brief summary about the release:</h3>

<ul>
  <li>This release fixes a few high-priority bugs in 0.2 and has a variety of smaller fixes.</li>
  <li>The release also includes several major functionalities regarding stream processing and dynamic optimizations, such as dynamic task sizing, as well as implementation of the simulation scheduler.</li>
</ul>

<h2>        Sub-task
</h2>
<ul>
<li>[<a href="https://issues.apache.org/jira/browse/NEMO-351">NEMO-351</a>] -         Empowering Nemo with fast I/O using Apache Crail
</li>
</ul>

<h2>        Bug
</h2>
<ul>
<li>[<a href="https://issues.apache.org/jira/browse/NEMO-377">NEMO-377</a>] -         Fix watermark emission when there are no outputs in GBKWindowTransform
</li>
<li>[<a href="https://issues.apache.org/jira/browse/NEMO-411">NEMO-411</a>] -         Bug in ScheduleGroupPass, OutputTag, DuplicateEdgeGroup
</li>
<li>[<a href="https://issues.apache.org/jira/browse/NEMO-447">NEMO-447</a>] -         Fix beam pom.xml to resolve build failure
</li>
<li>[<a href="https://issues.apache.org/jira/browse/NEMO-457">NEMO-457</a>] -         Improve test coverage score on sonar cloud test
</li>
</ul>

<h2>        New Feature
</h2>
<ul>
<li>[<a href="https://issues.apache.org/jira/browse/NEMO-438">NEMO-438</a>] -         Create a Simulator for Simulating an Execution of an Execution Plan
</li>
</ul>

<h2>        Improvement
</h2>
<ul>
<li>[<a href="https://issues.apache.org/jira/browse/NEMO-324">NEMO-324</a>] -         Distinguish Beam&#39;s run and waitUntilFinish methods.
</li>
<li>[<a href="https://issues.apache.org/jira/browse/NEMO-392">NEMO-392</a>] -         Support combine in streaming
</li>
<li>[<a href="https://issues.apache.org/jira/browse/NEMO-433">NEMO-433</a>] -         Improvement of Task Metrics and Collecting Them For Sampling
</li>
<li>[<a href="https://issues.apache.org/jira/browse/NEMO-439">NEMO-439</a>] -         Upgrade current working version to 0.3-SNAPSHOT
</li>
<li>[<a href="https://issues.apache.org/jira/browse/NEMO-459">NEMO-459</a>] -         Enable Automatic Analysis for sonar cloud
</li>
</ul>

</div>
            <hr>
            <ul class="pager">
                
                <li class="previous">
                    <a href="/blog/2020/03/09/release-note-0.2/">
                        <span aria-hidden="true">&larr;</span> Older
                    </a>
                </li>
                 
                <li class="next">
                    <a href="/blog/2022/08/15/beam-runner/">
                      Newer <span aria-hidden="true">&rarr;</span>
                    </a>
                </li>
                
            </ul>
        </div>

    </div>
</div>

        </div>
    </div>

    <footer class="footer">
    <div class="container">
        <div class="row">
            <div class="col-sm-11">
                <p class="text-center">
                    Nemo 2023 |
                    Powered by <a href="https://github.com/aksakalli/jekyll-doc-theme">Jekyll Doc Theme</a>
                </p>
                <br>
                <p class="text-muted text-center">
                    Disclaimer: Apache Nemo (incubating) is an effort undergoing incubation at The Apache Software Foundation (ASF), sponsored by the Apache Incubator. Incubation is required of all newly accepted projects until a further review indicates that the infrastructure, communications, and decision making process have stabilized in a manner consistent with other successful ASF projects. While incubation status is not necessarily a reflection of the completeness or stability of the code, it does indicate that the project has yet to be fully endorsed by the ASF.
                    <br>
                    <br>
                    Copyright © 2022 The Apache Software Foundation. Apache and the Apache feather logo are trademarks of The Apache Software Foundation 
                </p>
                <!-- <p class="text-muted">Place sticky footer content here.</p> -->
            </div>
            <div class="col-sm-1">
                <a href="https://www.apache.org/events/current-event.html">
                    <img src="https://www.apache.org/events/current-event-125x125.png">            
                </a>
            </div>
        </div>
    </div>
</footer>

    <script>
  var baseurl = ''
</script>
<script src="/assets/js/jquery-1.12.4.min.js "></script>
<script src="/assets/js/bootstrap.min.js "></script>
<script src="/assets/js/typeahead.bundle.min.js "></script>

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

</body>

</html>
