
<!DOCTYPE html>
<html lang="en" dir=ZgotmplZ>

<head>
  


<link rel="stylesheet" href="/bootstrap/css/bootstrap.min.css">
<script src="/bootstrap/js/bootstrap.bundle.min.js"></script>
<link rel="stylesheet" type="text/css" href="/font-awesome/css/font-awesome.min.css">
<script src="/js/anchor.min.js"></script>
<script src="/js/flink.js"></script>
<link rel="canonical" href="https://flink.apache.org/2017/06/01/apache-flink-1.3.0-release-announcement/">

  <meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="description" content="The Apache Flink community is pleased to announce the 1.3.0 release. Over the past 4 months, the Flink community has been working hard to resolve more than 680 issues. See the complete changelog for more detail.
This is the fourth major release in the 1.x.y series. It is API compatible with the other 1.x.y releases for APIs annotated with the @Public annotation.
Users can expect Flink releases now in a 4 month cycle.">
<meta name="theme-color" content="#FFFFFF"><meta property="og:title" content="Apache Flink 1.3.0 Release Announcement" />
<meta property="og:description" content="The Apache Flink community is pleased to announce the 1.3.0 release. Over the past 4 months, the Flink community has been working hard to resolve more than 680 issues. See the complete changelog for more detail.
This is the fourth major release in the 1.x.y series. It is API compatible with the other 1.x.y releases for APIs annotated with the @Public annotation.
Users can expect Flink releases now in a 4 month cycle." />
<meta property="og:type" content="article" />
<meta property="og:url" content="https://flink.apache.org/2017/06/01/apache-flink-1.3.0-release-announcement/" /><meta property="article:section" content="posts" />
<meta property="article:published_time" content="2017-06-01T12:00:00+00:00" />
<meta property="article:modified_time" content="2017-06-01T12:00:00+00:00" />
<title>Apache Flink 1.3.0 Release Announcement | Apache Flink</title>
<link rel="manifest" href="/manifest.json">
<link rel="icon" href="/favicon.png" type="image/x-icon">
<link rel="stylesheet" href="/book.min.22eceb4d17baa9cdc0f57345edd6f215a40474022dfee39b63befb5fb3c596b5.css" integrity="sha256-IuzrTRe6qc3A9XNF7dbyFaQEdAIt/uObY777X7PFlrU=">
<script defer src="/en.search.min.2698f0d1b683dae4d6cb071668b310a55ebcf1c48d11410a015a51d90105b53e.js" integrity="sha256-Jpjw0baD2uTWywcWaLMQpV688cSNEUEKAVpR2QEFtT4="></script>
<!--
Made with Book Theme
https://github.com/alex-shpak/hugo-book
-->

  <meta name="generator" content="Hugo 0.124.1">

    
    <script>
      var _paq = window._paq = window._paq || [];
       
       
      _paq.push(['disableCookies']);
       
      _paq.push(["setDomains", ["*.flink.apache.org","*.nightlies.apache.org/flink"]]);
      _paq.push(['trackPageView']);
      _paq.push(['enableLinkTracking']);
      (function() {
        var u="//analytics.apache.org/";
        _paq.push(['setTrackerUrl', u+'matomo.php']);
        _paq.push(['setSiteId', '1']);
        var d=document, g=d.createElement('script'), s=d.getElementsByTagName('script')[0];
        g.async=true; g.src=u+'matomo.js'; s.parentNode.insertBefore(g,s);
      })();
    </script>
    
</head>

<body dir=ZgotmplZ>
  


<header>
  <nav class="navbar navbar-expand-xl">
    <div class="container-fluid">
      <a class="navbar-brand" href="/">
        <img src="/img/logo/png/100/flink_squirrel_100_color.png" alt="Apache Flink" height="47" width="47" class="d-inline-block align-text-middle">
        <span>Apache Flink</span>
      </a>
      <button class="navbar-toggler" type="button" data-bs-toggle="collapse" data-bs-target="#navbarSupportedContent" aria-controls="navbarSupportedContent" aria-expanded="false" aria-label="Toggle navigation">
          <i class="fa fa-bars navbar-toggler-icon"></i>
      </button>
      <div class="collapse navbar-collapse" id="navbarSupportedContent">
        <ul class="navbar-nav">
          





    
      
  
    <li class="nav-item dropdown">
      <a class="nav-link dropdown-toggle" href="#" role="button" data-bs-toggle="dropdown" aria-expanded="false">About</a>
      <ul class="dropdown-menu">
        
          <li>
            
  
    <a class="dropdown-item" href="/what-is-flink/flink-architecture/">Architecture</a>
  

          </li>
        
          <li>
            
  
    <a class="dropdown-item" href="/what-is-flink/flink-applications/">Applications</a>
  

          </li>
        
          <li>
            
  
    <a class="dropdown-item" href="/what-is-flink/flink-operations/">Operations</a>
  

          </li>
        
          <li>
            
  
    <a class="dropdown-item" href="/what-is-flink/use-cases/">Use Cases</a>
  

          </li>
        
          <li>
            
  
    <a class="dropdown-item" href="/what-is-flink/powered-by/">Powered By</a>
  

          </li>
        
          <li>
            
  
    <a class="dropdown-item" href="/what-is-flink/roadmap/">Roadmap</a>
  

          </li>
        
          <li>
            
  
    <a class="dropdown-item" href="/what-is-flink/community/">Community & Project Info</a>
  

          </li>
        
          <li>
            
  
    <a class="dropdown-item" href="/what-is-flink/security/">Security</a>
  

          </li>
        
          <li>
            
  
    <a class="dropdown-item" href="/what-is-flink/special-thanks/">Special Thanks</a>
  

          </li>
        
      </ul>
    </li>
  

    
      
  
    <li class="nav-item dropdown">
      <a class="nav-link dropdown-toggle" href="#" role="button" data-bs-toggle="dropdown" aria-expanded="false">Getting Started</a>
      <ul class="dropdown-menu">
        
          <li>
            
  
    <a class="dropdown-item" href="https://nightlies.apache.org/flink/flink-docs-stable/docs/try-flink/local_installation/">With Flink<i class="link fa fa-external-link title" aria-hidden="true"></i>
    </a>
  

          </li>
        
          <li>
            
  
    <a class="dropdown-item" href="https://nightlies.apache.org/flink/flink-kubernetes-operator-docs-stable/docs/try-flink-kubernetes-operator/quick-start/">With Flink Kubernetes Operator<i class="link fa fa-external-link title" aria-hidden="true"></i>
    </a>
  

          </li>
        
          <li>
            
  
    <a class="dropdown-item" href="https://nightlies.apache.org/flink/flink-cdc-docs-stable/docs/get-started/introduction/">With Flink CDC<i class="link fa fa-external-link title" aria-hidden="true"></i>
    </a>
  

          </li>
        
          <li>
            
  
    <a class="dropdown-item" href="https://nightlies.apache.org/flink/flink-ml-docs-stable/docs/try-flink-ml/quick-start/">With Flink ML<i class="link fa fa-external-link title" aria-hidden="true"></i>
    </a>
  

          </li>
        
          <li>
            
  
    <a class="dropdown-item" href="https://nightlies.apache.org/flink/flink-statefun-docs-stable/getting-started/project-setup.html">With Flink Stateful Functions<i class="link fa fa-external-link title" aria-hidden="true"></i>
    </a>
  

          </li>
        
          <li>
            
  
    <a class="dropdown-item" href="https://nightlies.apache.org/flink/flink-docs-stable/docs/learn-flink/overview/">Training Course<i class="link fa fa-external-link title" aria-hidden="true"></i>
    </a>
  

          </li>
        
      </ul>
    </li>
  

    
      
  
    <li class="nav-item dropdown">
      <a class="nav-link dropdown-toggle" href="#" role="button" data-bs-toggle="dropdown" aria-expanded="false">Documentation</a>
      <ul class="dropdown-menu">
        
          <li>
            
  
    <a class="dropdown-item" href="https://nightlies.apache.org/flink/flink-docs-stable/">Flink 1.19 (stable)<i class="link fa fa-external-link title" aria-hidden="true"></i>
    </a>
  

          </li>
        
          <li>
            
  
    <a class="dropdown-item" href="https://nightlies.apache.org/flink/flink-docs-master/">Flink Master (snapshot)<i class="link fa fa-external-link title" aria-hidden="true"></i>
    </a>
  

          </li>
        
          <li>
            
  
    <a class="dropdown-item" href="https://nightlies.apache.org/flink/flink-kubernetes-operator-docs-stable/">Kubernetes Operator 1.8 (latest)<i class="link fa fa-external-link title" aria-hidden="true"></i>
    </a>
  

          </li>
        
          <li>
            
  
    <a class="dropdown-item" href="https://nightlies.apache.org/flink/flink-kubernetes-operator-docs-main">Kubernetes Operator Main (snapshot)<i class="link fa fa-external-link title" aria-hidden="true"></i>
    </a>
  

          </li>
        
          <li>
            
  
    <a class="dropdown-item" href="https://nightlies.apache.org/flink/flink-cdc-docs-stable">CDC 3.0 (stable)<i class="link fa fa-external-link title" aria-hidden="true"></i>
    </a>
  

          </li>
        
          <li>
            
  
    <a class="dropdown-item" href="https://nightlies.apache.org/flink/flink-cdc-docs-master">CDC Master (snapshot)<i class="link fa fa-external-link title" aria-hidden="true"></i>
    </a>
  

          </li>
        
          <li>
            
  
    <a class="dropdown-item" href="https://nightlies.apache.org/flink/flink-ml-docs-stable/">ML 2.3 (stable)<i class="link fa fa-external-link title" aria-hidden="true"></i>
    </a>
  

          </li>
        
          <li>
            
  
    <a class="dropdown-item" href="https://nightlies.apache.org/flink/flink-ml-docs-master">ML Master (snapshot)<i class="link fa fa-external-link title" aria-hidden="true"></i>
    </a>
  

          </li>
        
          <li>
            
  
    <a class="dropdown-item" href="https://nightlies.apache.org/flink/flink-statefun-docs-stable/">Stateful Functions 3.3 (stable)<i class="link fa fa-external-link title" aria-hidden="true"></i>
    </a>
  

          </li>
        
          <li>
            
  
    <a class="dropdown-item" href="https://nightlies.apache.org/flink/flink-statefun-docs-master">Stateful Functions Master (snapshot)<i class="link fa fa-external-link title" aria-hidden="true"></i>
    </a>
  

          </li>
        
      </ul>
    </li>
  

    
      
  
    <li class="nav-item dropdown">
      <a class="nav-link dropdown-toggle" href="#" role="button" data-bs-toggle="dropdown" aria-expanded="false">How to Contribute</a>
      <ul class="dropdown-menu">
        
          <li>
            
  
    <a class="dropdown-item" href="/how-to-contribute/overview/">Overview</a>
  

          </li>
        
          <li>
            
  
    <a class="dropdown-item" href="/how-to-contribute/contribute-code/">Contribute Code</a>
  

          </li>
        
          <li>
            
  
    <a class="dropdown-item" href="/how-to-contribute/reviewing-prs/">Review Pull Requests</a>
  

          </li>
        
          <li>
            
  
    <a class="dropdown-item" href="/how-to-contribute/code-style-and-quality-preamble/">Code Style and Quality Guide</a>
  

          </li>
        
          <li>
            
  
    <a class="dropdown-item" href="/how-to-contribute/contribute-documentation/">Contribute Documentation</a>
  

          </li>
        
          <li>
            
  
    <a class="dropdown-item" href="/how-to-contribute/documentation-style-guide/">Documentation Style Guide</a>
  

          </li>
        
          <li>
            
  
    <a class="dropdown-item" href="/how-to-contribute/improve-website/">Contribute to the Website</a>
  

          </li>
        
          <li>
            
  
    <a class="dropdown-item" href="/how-to-contribute/getting-help/">Getting Help</a>
  

          </li>
        
      </ul>
    </li>
  

    


    
      
  
    <li class="nav-item">
      
  
    <a class="nav-link" href="/posts/">Flink Blog</a>
  

    </li>
  

    
      
  
    <li class="nav-item">
      
  
    <a class="nav-link" href="/downloads/">Downloads</a>
  

    </li>
  

    


    









        </ul>
        <div class="book-search">
          <div class="book-search-spinner hidden">
            <i class="fa fa-refresh fa-spin"></i>
          </div>
          <form class="search-bar d-flex" onsubmit="return false;"su>
            <input type="text" id="book-search-input" placeholder="Search" aria-label="Search" maxlength="64" data-hotkeys="s/">
            <i class="fa fa-search search"></i>
            <i class="fa fa-circle-o-notch fa-spin spinner"></i>
          </form>
          <div class="book-search-spinner hidden"></div>
          <ul id="book-search-results"></ul>
        </div>
      </div>
    </div>
  </nav>
  <div class="navbar-clearfix"></div>
</header>
 
  
      <main class="flex">
        <section class="container book-page">
          
<article class="markdown">
    <h1>
        <a href="/2017/06/01/apache-flink-1.3.0-release-announcement/">Apache Flink 1.3.0 Release Announcement</a>
    </h1>
    


  June 1, 2017 -





    <p><p>The Apache Flink community is pleased to announce the 1.3.0 release. Over the past 4 months, the Flink community has been working hard to resolve more than 680 issues. See the <a href="/blog/release_1.3.0-changelog.html">complete changelog</a> for more detail.</p>
<p>This is the fourth major release in the 1.x.y series. It is API compatible with the other 1.x.y releases for APIs annotated with the @Public annotation.</p>
<p>Users can expect Flink releases now in a 4 month cycle. At the beginning of the 1.3 <a href="https://cwiki.apache.org/confluence/display/FLINK/Flink&#43;Release&#43;and&#43;Feature&#43;Plan">release cycle</a>, the community decided to follow a strict <a href="https://cwiki.apache.org/confluence/display/FLINK/Time-based&#43;releases">time-based release model</a>.</p>
<p>We encourage everyone to download the release and check out the <a href="//nightlies.apache.org/flink/flink-docs-release-1.3/">documentation</a>. Feedback through the <a href="http://flink.apache.org/community.html#mailing-lists">Flink mailing lists</a> is, as always, gladly encouraged!</p>
<p>You can find the binaries on the updated <a href="http://flink.apache.org/downloads.html">Downloads page</a>. Some highlights of the release are listed below.</p>
<h1 id="large-state-handlingrecovery">
  Large State Handling/Recovery
  <a class="anchor" href="#large-state-handlingrecovery">#</a>
</h1>
<ul>
<li>
<p><strong>Incremental Checkpointing for RocksDB</strong>: It is now possible to checkpoint only the difference from the previous successful checkpoint, rather than checkpointing the entire application state. This speeds up checkpointing and saves disk space, because the individual checkpoints are smaller. (<a href="https://issues.apache.org/jira/browse/FLINK-5053">FLINK-5053</a>).</p>
</li>
<li>
<p><strong>Asynchronous snapshots for heap-based state backends</strong>: The filesystem and memory statebackends now also support asynchronous snapshots using a copy-on-write HashMap implementation. Asynchronous snapshotting makes Flink more resilient to slow storage systems and expensive serialization. The time an operator blocks on a snapshot is reduced to a minimum (<a href="https://issues.apache.org/jira/browse/FLINK-6048">FLINK-6048</a>, <a href="https://issues.apache.org/jira/browse/FLINK-5715">FLINK-5715</a>).</p>
</li>
<li>
<p><strong>Allow upgrades to state serializers:</strong> Users can now upgrade serializers, while keeping their application state. One use case of this is upgrading custom serializers used for managed operator state/keyed state. Also, registration order for POJO types/Kryo types is now no longer fixed (<a href="//nightlies.apache.org/flink/flink-docs-release-1.3/dev/stream/state.html#custom-serialization-for-managed-state">Documentation</a>, <a href="https://issues.apache.org/jira/browse/FLINK-6178">FLINK-6178</a>).</p>
</li>
<li>
<p><strong>Recover job state at the granularity of operator</strong>: Before Flink 1.3, operator state was bound to Flink’s internal &ldquo;Task&rdquo; representation. This made it hard to change a job’s topology while keeping its state around. With this change, users are allowed to do more topology changes (un-chain operators) by restoring state into logical operators instead of “Tasks” (<a href="https://issues.apache.org/jira/browse/FLINK-5892">FLINK-5892</a>).</p>
</li>
<li>
<p><strong>Fine-grained recovery</strong> (beta): Instead of restarting the complete ExecutionGraph in case of a task failure, Flink is now able to restart only the affected subgraph and thereby significantly decrease recovery time (<a href="https://issues.apache.org/jira/browse/FLINK-4256">FLINK-4256</a>).</p>
</li>
</ul>
<h1 id="datastream-api">
  DataStream API
  <a class="anchor" href="#datastream-api">#</a>
</h1>
<ul>
<li>
<p><strong>Side Outputs</strong>: This change allows users to have more than one output stream for an operator. Operator metadata, internal system information (debugging, performance etc.) or rejected/late elements are potential use-cases for this new API feature. <strong>The Window operator is now using this new feature for late window elements</strong> (<a href="//nightlies.apache.org/flink/flink-docs-release-1.3/dev/stream/side_output.html">Side Outputs Documentation</a>, <a href="https://issues.apache.org/jira/browse/FLINK-4460">FLINK-4460</a>).</p>
</li>
<li>
<p><strong>Union Operator State</strong>: Flink 1.2.0 introduced broadcast state functionality, but this had not yet been exposed via a public API. Flink 1.3.0 provides the Union Operator State API for exposing broadcast operator state. The union state will send the entire state across all parallel instances to each instance on restore, giving each operator a full view of the state (<a href="https://issues.apache.org/jira/browse/FLINK-5991">FLINK-5991</a>).</p>
</li>
<li>
<p><strong>Per-Window State</strong>: Previously, the state that a WindowFunction or ProcessWindowFunction could access was scoped to the key of the window but not the window itself. With this new feature, users can keep window state independent of the key (<a href="https://issues.apache.org/jira/browse/FLINK-5929">FLINK-5929</a>).</p>
</li>
</ul>
<h1 id="deployment-and-tooling">
  Deployment and Tooling
  <a class="anchor" href="#deployment-and-tooling">#</a>
</h1>
<ul>
<li>
<p><strong>Flink HistoryServer</strong>: Flink’s <a href="//nightlies.apache.org/flink/flink-docs-release-1.3/monitoring/historyserver.html">HistoryServer</a> now allows you to query the status and statistics of completed jobs that have been archived by a JobManager (<a href="https://issues.apache.org/jira/browse/FLINK-1579">FLINK-1579</a>).</p>
</li>
<li>
<p><strong>Watermark Monitoring in Web Front-end</strong>: For easier diagnosis of watermark issues, the Flink JobManager front-end now provides a new tab to track the watermark of each operator (<a href="https://issues.apache.org/jira/browse/FLINK-3427">FLINK-3427</a>).</p>
</li>
<li>
<p><strong>Datadog HTTP Metrics Reporter</strong>: Datadog is a widely-used metrics system, and Flink now offers a <a href="//nightlies.apache.org/flink/flink-docs-release-1.3/monitoring/metrics.html#datadog-orgapacheflinkmetricsdatadogdatadoghttpreporter">Datadog reporter</a> that contacts the Datadog http endpoint directly (<a href="https://issues.apache.org/jira/browse/FLINK-6013">FLINK-6013</a>).</p>
</li>
<li>
<p><strong>Network Buffer Configuration</strong>: We finally got rid of the tedious network buffer configuration and replaced it with a more generic approach. First of all, you may now follow the idiom &ldquo;more is better&rdquo; without any penalty on the latency which could previously occur due to excessive buffering in incoming and outgoing channels. Secondly, instead of defining an absolute number of network buffers, we now use fractions of the available JVM memory (10% by default). This should cover more use cases by default and may also be tweaked by defining a minimum and maximum size.</p>
<p>→ See <a href="//nightlies.apache.org/flink/flink-docs-release-1.3/setup/config.html#configuring-the-network-buffers">Configuring the Network Buffers</a> in the Flink documentation.</p>
</li>
</ul>
<h1 id="table-api--sql">
  Table API / SQL
  <a class="anchor" href="#table-api--sql">#</a>
</h1>
<ul>
<li>
<p><strong>Support for Retractions in Table API / SQL</strong>: As part of our endeavor to support continuous queries on <a href="http://flink.apache.org/news/2017/04/04/dynamic-tables.html">Dynamic Tables</a>, Retraction is an important building block that will enable a whole range of new applications which require updating previously-emitted results. Examples for such use cases are computation of early results for long-running windows, updates due to late arriving data, or maintaining constantly changing results similar to materialized views in relational database systems. Flink 1.3.0 supports retraction for non-windowed aggregates. Results with updates can be either converted into a DataStream or materialized to external data stores using TableSinks with upsert or retraction support.</p>
</li>
<li>
<p><strong>Extended support for aggregations in Table API / SQL</strong>: With Flink 1.3.0, the Table API and SQL support many more types of aggregations, including</p>
<ul>
<li>
<p>GROUP BY window aggregations in SQL (via the window functions <a href="https://issues.apache.org/jira/browse/FLINK-6011">TUMBLE, HOP, and SESSION windows</a>) for both batch and streaming.</p>
</li>
<li>
<p>SQL OVER window aggregations (only for streaming)</p>
</li>
<li>
<p>Non-windowed aggregations (in streaming with retractions).</p>
</li>
<li>
<p>User-defined aggregation functions for custom aggregation logic.</p>
</li>
</ul>
</li>
<li>
<p><strong>External catalog support</strong>: The Table API &amp; SQL allows to register external catalogs. Table API and SQL queries can then have access to table sources and their schema from the external catalogs without register those tables one by one.</p>
</li>
</ul>
<p>→ See <a href="//nightlies.apache.org/flink/flink-docs-release-1.3/dev/table_api.html#group-windows">the Flink documentation</a> for details about these features.</p>
<div class="alert alert-warning">
  The Table API / SQL documentation is currently being reworked. The community plans to publish the updated docs in the week of June 5th.
</div>
<h1 id="connectors">
  Connectors
  <a class="anchor" href="#connectors">#</a>
</h1>
<ul>
<li>
<p><strong>ElasticSearch 5.x support</strong>: The ElasticSearch connectors have been restructured to have a common base module and specific modules for ES 1, 2 and 5, similar to how the Kafka connectors are organized. This will make fixes and future improvements available across all ES versions (<a href="https://issues.apache.org/jira/browse/FLINK-4988">FLINK-4988</a>).</p>
</li>
<li>
<p><strong>Allow rescaling the Kinesis Consumer</strong>: Flink 1.2.0 introduced rescalable state for DataStream programs. With Flink 1.3, the Kinesis Consumer also makes use of that engine feature (<a href="https://issues.apache.org/jira/browse/FLINK-4821">FLINK-4821</a>).</p>
</li>
<li>
<p><strong>Transparent shard discovery for Kinesis Consumer</strong>: The Kinesis consumer can now discover new shards without failing / restarting jobs when a resharding is happening (<a href="https://issues.apache.org/jira/browse/FLINK-4577">FLINK-4577</a>).</p>
</li>
<li>
<p><strong>Allow setting custom start positions for the Kafka consumer</strong>: With this change, you can instruct Flink’s Kafka consumer to start reading messages from a specific offset (<a href="https://issues.apache.org/jira/browse/FLINK-3123">FLINK-3123</a>) or earliest / latest offset (<a href="https://issues.apache.org/jira/browse/FLINK-4280">FLINK-4280</a>) without respecting committed offsets in Kafka.</p>
</li>
<li>
<p><strong>Allow out-opt from offset committing for the Kafka consumer</strong>: By default, Kafka commits the offsets to the Kafka broker once a checkpoint has been completed. This change allows users to disable this mechanism (<a href="https://issues.apache.org/jira/browse/FLINK-3398">FLINK-3398</a>).</p>
</li>
</ul>
<h1 id="cep-library">
  CEP Library
  <a class="anchor" href="#cep-library">#</a>
</h1>
<p>The CEP library has been greatly enhanced and is now able to accommodate more use-cases out-of-the-box (expressivity enhancements), make more efficient use of the available resources, adjust to changing runtime conditions&ndash;all without breaking backwards compatibility of operator state.</p>
<p>Please note that the API of the CEP library has been updated with this release.</p>
<p>Below are some of the main features of the revamped CEP library:</p>
<ul>
<li>
<p><strong>Make CEP operators rescalable</strong>: Flink 1.2.0 introduced rescalable state for DataStream programs. With Flink 1.3, the CEP library also makes use of that engine feature (<a href="https://issues.apache.org/jira/browse/FLINK-5420">FLINK-5420</a>).</p>
</li>
<li>
<p><strong>New operators for the CEP library</strong>:</p>
<ul>
<li>
<p>Quantifiers (*,+,?) for the pattern API (<a href="https://issues.apache.org/jira/browse/FLINK-3318">FLINK-3318</a>)</p>
</li>
<li>
<p>Support for different continuity requirements (<a href="https://issues.apache.org/jira/browse/FLINK-6208">FLINK-6208</a>)</p>
</li>
<li>
<p>Support for iterative conditions (<a href="https://issues.apache.org/jira/browse/FLINK-6197">FLINK-6197</a>)</p>
</li>
</ul>
</li>
</ul>
<h1 id="gelly-library">
  Gelly Library
  <a class="anchor" href="#gelly-library">#</a>
</h1>
<ul>
<li>Unified driver for running Gelly examples <a href="https://issues.apache.org/jira/browse/FLINK-4949">FLINK-4949</a>).</li>
<li>PageRank algorithm for directed graphs (<a href="https://issues.apache.org/jira/browse/FLINK-4896">FLINK-4896</a>).</li>
<li>Add Circulant and Echo graph generators (<a href="https://issues.apache.org/jira/browse/FLINK-6393">FLINK-6393</a>).</li>
</ul>
<h1 id="known-issues">
  Known Issues
  <a class="anchor" href="#known-issues">#</a>
</h1>
<div class="alert alert-warning">
  There are two <strong>known issues</strong> in Flink 1.3.0. Both will be addressed in the <i>1.3.1</i> release.
  <br>
  <ul>
  	<li><a href="https://issues.apache.org/jira/browse/FLINK-6783">FLINK-6783</a>: Wrongly extracted TypeInformations for <code>WindowedStream::aggregate</code></li>
  	<li><a href="https://issues.apache.org/jira/browse/FLINK-6775">FLINK-6775</a>: StateDescriptor cannot be shared by multiple subtasks</li>
  </ul> 
</div>
<h1 id="list-of-contributors">
  List of Contributors
  <a class="anchor" href="#list-of-contributors">#</a>
</h1>
<p>According to git shortlog, the following 103 people contributed to the 1.3.0 release. Thank you to all contributors!</p>
<p>Addison Higham, Alexey Diomin, Aljoscha Krettek, Andrea Sella, Andrey Melentyev, Anton Mushin, barcahead, biao.liub, Bowen Li, Chen Qin, Chico Sokol, David Anderson, Dawid Wysakowicz, DmytroShkvyra, Fabian Hueske, Fabian Wollert, fengyelei, Flavio Pompermaier, FlorianFan, Fokko Driesprong, Geoffrey Mon, godfreyhe, gosubpl, Greg Hogan, guowei.mgw, hamstah, Haohui Mai, Hequn Cheng, hequn.chq, heytitle, hongyuhong, Jamie Grier, Jark Wu, jingzhang, Jinkui Shi, Jin Mingjian, Joerg Schad, Joshua Griffith, Jürgen Thomann, kaibozhou, Kathleen Sharp, Ken Geis, kkloudas, Kurt Young, lincoln-lil, lingjinjiang, liuyuzhong7, Lorenz Buehmann, manuzhang, Marc Tremblay, Mauro Cortellazzi, Max Kuklinski, mengji.fy, Mike Dias, mtunique, Nico Kruber, Omar Erminy, Patrick Lucas, paul, phoenixjiangnan, rami-alisawi, Ramkrishna, Rick Cox, Robert Metzger, Rodrigo Bonifacio, rtudoran, Seth Wiesman, Shaoxuan Wang, shijinkui, shuai.xus, Shuyi Chen, spkavuly, Stefano Bortoli, Stefan Richter, Stephan Ewen, Stephen Gran, sunjincheng121, tedyu, Till Rohrmann, tonycox, Tony Wei, twalthr, Tzu-Li (Gordon) Tai, Ufuk Celebi, Ventura Del Monte, Vijay Srinivasaraghavan, WangTaoTheTonic, wenlong.lwl, xccui, xiaogang.sxg, Xpray, zcb, zentol, zhangminglei, Zhenghua Gao, Zhijiang, Zhuoluo Yang, zjureel, Zohar Mizrahi, 士远, 槿瑜, 淘江, 金竹</p>
</p>
</article>

          



  
    
    <div class="edit-this-page">
      <p>
        <a href="https://cwiki.apache.org/confluence/display/FLINK/Flink+Translation+Specifications">Want to contribute translation?</a>
      </p>
      <p>
        <a href="//github.com/apache/flink-web/edit/asf-site/docs/content/posts/2017-06-01-release-1.3.0.md">
          Edit This Page<i class="fa fa-edit fa-fw"></i> 
        </a>
      </p>
    </div>

        </section>
        
          <aside class="book-toc">
            


<nav id="TableOfContents"><h3>On This Page <a href="javascript:void(0)" class="toc" onclick="collapseToc()"><i class="fa fa-times" aria-hidden="true"></i></a></h3>
  <ul>
    <li><a href="#large-state-handlingrecovery">Large State Handling/Recovery</a></li>
    <li><a href="#datastream-api">DataStream API</a></li>
    <li><a href="#deployment-and-tooling">Deployment and Tooling</a></li>
    <li><a href="#table-api--sql">Table API / SQL</a></li>
    <li><a href="#connectors">Connectors</a></li>
    <li><a href="#cep-library">CEP Library</a></li>
    <li><a href="#gelly-library">Gelly Library</a></li>
    <li><a href="#known-issues">Known Issues</a></li>
    <li><a href="#list-of-contributors">List of Contributors</a></li>
  </ul>
</nav>


          </aside>
          <aside class="expand-toc hidden">
            <a class="toc" onclick="expandToc()" href="javascript:void(0)">
              <i class="fa fa-bars" aria-hidden="true"></i>
            </a>
          </aside>
        
      </main>

      <footer>
        


<div class="separator"></div>
<div class="panels">
  <div class="wrapper">
      <div class="panel">
        <ul>
          <li>
            <a href="https://flink-packages.org/">flink-packages.org</a>
          </li>
          <li>
            <a href="https://www.apache.org/">Apache Software Foundation</a>
          </li>
          <li>
            <a href="https://www.apache.org/licenses/">License</a>
          </li>
          
          
          
            
          
            
          
          

          
            
              
            
          
            
              
                <li>
                  <a  href="/zh/">
                    <i class="fa fa-globe" aria-hidden="true"></i>&nbsp;中文版
                  </a>
                </li>
              
            
          
       </ul>
      </div>
      <div class="panel">
        <ul>
          <li>
            <a href="/what-is-flink/security">Security</a-->
          </li>
          <li>
            <a href="https://www.apache.org/foundation/sponsorship.html">Donate</a>
          </li>
          <li>
            <a href="https://www.apache.org/foundation/thanks.html">Thanks</a>
          </li>
       </ul>
      </div>
      <div class="panel icons">
        <div>
          <a href="/posts">
            <div class="icon flink-blog-icon"></div>
            <span>Flink blog</span>
          </a>
        </div>
        <div>
          <a href="https://github.com/apache/flink">
            <div class="icon flink-github-icon"></div>
            <span>Github</span>
          </a>
        </div>
        <div>
          <a href="https://twitter.com/apacheflink">
            <div class="icon flink-twitter-icon"></div>
            <span>Twitter</span>
          </a>
        </div>
      </div>
  </div>
</div>

<hr/>

<div class="container disclaimer">
  <p>The contents of this website are © 2024 Apache Software Foundation under the terms of the Apache License v2. Apache Flink, Flink, and the Flink logo are either registered trademarks or trademarks of The Apache Software Foundation in the United States and other countries.</p>
</div>



      </footer>
    
  </body>
</html>






