
<!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/02/06/announcing-apache-flink-1.2.0/">

  <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.2.0 release. Over the past months, the Flink community has been working hard to resolve 650 issues. See the complete changelog for more detail.
This is the third 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.
We encourage everyone to download the release and check out the documentation.">
<meta name="theme-color" content="#FFFFFF"><meta property="og:title" content="Announcing Apache Flink 1.2.0" />
<meta property="og:description" content="The Apache Flink community is pleased to announce the 1.2.0 release. Over the past months, the Flink community has been working hard to resolve 650 issues. See the complete changelog for more detail.
This is the third 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.
We encourage everyone to download the release and check out the documentation." />
<meta property="og:type" content="article" />
<meta property="og:url" content="https://flink.apache.org/2017/02/06/announcing-apache-flink-1.2.0/" /><meta property="article:section" content="posts" />
<meta property="article:published_time" content="2017-02-06T12:00:00+00:00" />
<meta property="article:modified_time" content="2017-02-06T12:00:00+00:00" />
<title>Announcing Apache Flink 1.2.0 | 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/02/06/announcing-apache-flink-1.2.0/">Announcing Apache Flink 1.2.0</a>
    </h1>
    


  February 6, 2017 -





    <p><p>The Apache Flink community is pleased to announce the 1.2.0 release. Over the past months, the Flink community has been working hard to resolve 650 issues. See the <a href="http://flink.apache.org/blog/release_1.2.0-changelog.html">complete changelog</a> for more detail.</p>
<p>This is the third 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>We encourage everyone to download the release and check out the <a href="//nightlies.apache.org/flink/flink-docs-release-1.2/">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>
<h2 id="dynamic-scaling--key-groups">
  Dynamic Scaling / Key Groups
  <a class="anchor" href="#dynamic-scaling--key-groups">#</a>
</h2>
<p>Flink now supports changing the parallelism of a streaming job by restoring it from a savepoint with a different parallelism. Both changing the entire job’s parallelism and operator parallelism is supported.
In the <code>StreamExecutionEnvironment</code>, users can set a new per-job configuration parameter called “max parallelism”. It determines the upper limit for the parallelism.</p>
<p>By default, the value is set to:</p>
<ul>
<li><code>128</code> : for all parallelism &lt;= 128</li>
<li><code>MIN(nextPowerOfTwo(parallelism + (parallelism / 2)), 2^15)</code>: for all parallelism &gt; 128</li>
</ul>
<p>The following built-in functions and operators support rescaling:</p>
<ul>
<li>Window operator</li>
<li>Rolling/Bucketing sink</li>
<li>Kafka consumers</li>
<li>Continuous File Processing source</li>
</ul>
<p>The write-ahead log Cassandra sink and the CEP operator are currently not rescalable. Users using the keyed state interfaces can use the dynamic scaling without changing their code.</p>
<h2 id="rescalable-non-partitioned-state">
  Rescalable Non-Partitioned State
  <a class="anchor" href="#rescalable-non-partitioned-state">#</a>
</h2>
<p>As part of the dynamic scaling effort, the community has also added rescalable non-partitioned state for operators like the Kafka consumer that don’t use keyed state but instead use operator state.</p>
<p>In case of rescaling, the operator state needs to be redistributed among the parallel consumer instances. In case of the Kafka consumer, the assigned partitions and their offsets are redistributed.</p>
<h2 id="processfunction">
  ProcessFunction
  <a class="anchor" href="#processfunction">#</a>
</h2>
<p>The <code>ProcessFunction</code> is a low-level stream processing operation giving access to the basic building blocks of all (acyclic) streaming applications:</p>
<ul>
<li>Events (stream elements)</li>
<li>State (fault tolerant, consistent)</li>
<li>Timers (event time and processing time)</li>
</ul>
<p>The ProcessFunction can be thought of as a FlatMapFunction with access to keyed state and timers.</p>
<p><a href="//nightlies.apache.org/flink/flink-docs-release-1.2/dev/stream/process_function.html">ProcessFunction documentation</a></p>
<h2 id="async-io">
  Async I/O
  <a class="anchor" href="#async-io">#</a>
</h2>
<p>Flink now has a dedicated Async I/O operator for making blocking calls asynchronously and in a checkpointed fashion. For example, there are many Flink applications that need to query external datastores for each element in a stream. To avoid slowing down the stream to the speed of the external system, the async I/O operator allows requests to overlap.</p>
<p><a href="//nightlies.apache.org/flink/flink-docs-release-1.2/dev/stream/asyncio.html">Async I/O documentation</a></p>
<h2 id="run-flink-with-apache-mesos">
  Run Flink with Apache Mesos
  <a class="anchor" href="#run-flink-with-apache-mesos">#</a>
</h2>
<p>The latest release further extends Flink’s deployment flexibility by adding support for Apache Mesos and DC/OS. In combination with Marathon, it is now possible to run an highly available Flink cluster on Mesos.</p>
<p><a href="//nightlies.apache.org/flink/flink-docs-release-1.2/setup/mesos.html">Mesos documentation</a></p>
<h2 id="secure-data-access">
  Secure Data Access
  <a class="anchor" href="#secure-data-access">#</a>
</h2>
<p>Flink is now able to authenticate against external services such as Zookeeper, Kafka, HDFS and YARN using Kerberos.
Also, experimental support for encryption over the wire has been added.</p>
<p><a href="//nightlies.apache.org/flink/flink-docs-release-1.2/ops/security-kerberos.html">Kerberos documentation</a> and <a href="//nightlies.apache.org/flink/flink-docs-release-1.2/setup/security-ssl.html">SSL setup documentation</a>.</p>
<h2 id="queryable-state">
  Queryable State
  <a class="anchor" href="#queryable-state">#</a>
</h2>
<p>This experimental feature allows users to query the current state of an operator.
If you have, for example, a flatMap() operator that keeps a running aggregate per key, queryable state allows you to retrieve the current aggregate value at any time by directly connecting to the TaskManager and retrieving that value.</p>
<p><a href="//nightlies.apache.org/flink/flink-docs-release-1.2/dev/stream/queryable_state.html">Queryable State documentation</a></p>
<h2 id="backwards-compatible-savepoints">
  Backwards compatible savepoints
  <a class="anchor" href="#backwards-compatible-savepoints">#</a>
</h2>
<p>Flink 1.2.0 allows users to restart a job from an 1.1.4 savepoint. This makes major Flink version upgrades possible without losing application state. The following built-in operators are backwards compatible:</p>
<ul>
<li>Window operator</li>
<li>Rolling/Bucketing sink</li>
<li>Kafka consumers</li>
<li>Continuous File Processing source</li>
</ul>
<p><a href="//nightlies.apache.org/flink/flink-docs-release-1.2/ops/upgrading.html">Upgrading Flink applications documentation</a></p>
<h2 id="table-api--sql">
  Table API &amp; SQL
  <a class="anchor" href="#table-api--sql">#</a>
</h2>
<p>This release significantly expanded the performance, stability, and coverage of Flink’s Table API and SQL support for batch and streaming tables.</p>
<p>The community added tumbling, sliding, and session group-window aggregations over streaming tables
e.g. <code>table.window(Session withGap 10.minutes on 'rowtime as 'w)</code></p>
<p>SQL supports more built-in functions and operations
e.g. <code>EXISTS</code>, <code>VALUES</code>, <code>LIMIT</code>, <code>CURRENT_DATE</code>, <code>INITCAP</code>, <code>NULLIF</code></p>
<p>Both APIs support more data types and are better integrated
e.g. access a POJO field <code>myPojo.get('field')</code>, <code>myPojo.flatten()</code></p>
<p>Users can now define their own scalar and table functions
e.g. <code>table.select('uid, parse('field) as 'parsed).join(split('parsed) as 'atom)</code></p>
<p><a href="//nightlies.apache.org/flink/flink-docs-release-1.2/dev/table_api.html">Flink Table API &amp; SQL documentation</a></p>
<h2 id="miscellaneous-improvements">
  Miscellaneous improvements
  <a class="anchor" href="#miscellaneous-improvements">#</a>
</h2>
<ul>
<li>
<p>Metrics in Flink web interface: A metrics system was added in Flink 1.1, and with this release, Flink provides a new tab in the web frontend to see some of the metrics in the web UI.</p>
</li>
<li>
<p>Kafka 0.10 support: Flink 1.2 now provides a connector for Apache Kafka 0.10.0.x, including support for consuming and producing messages with a timestamp using Flink’s internal event time (<a href="//nightlies.apache.org/flink/flink-docs-release-1.2/dev/connectors/kafka.html">Kafka Connector Documentation</a>)</p>
</li>
<li>
<p>Evictor Semantics: Flink 1.2 ships with more expressive evictor semantics that allow the programmer to evict elements form a window both before and after the application of the window function, and to remove elements arbitrarily (<a href="//nightlies.apache.org/flink/flink-docs-release-1.2/dev/windows.html#evictors">Evictor Semantics Documentation</a>)</p>
</li>
</ul>
<h2 id="list-of-contributors">
  List of Contributors
  <a class="anchor" href="#list-of-contributors">#</a>
</h2>
<p>According to git shortlog, the following 122 people contributed to the 1.2.0 release. Thank you to all contributors!</p>
<ul>
<li>Abhishek R. Singh</li>
<li>Ahmad Ragab</li>
<li>Aleksandr Chermenin</li>
<li>Alexander Pivovarov</li>
<li>Alexander Shoshin</li>
<li>Alexey Diomin</li>
<li>Aljoscha Krettek</li>
<li>Andrey Melentyev</li>
<li>Anton Mushin</li>
<li>Bob Thorman</li>
<li>Boris Osipov</li>
<li>Bram Vogelaar</li>
<li>Bruno Aranda</li>
<li>David Anderson</li>
<li>Dominik</li>
<li>Evgeny_Kincharov</li>
<li>Fabian Hueske</li>
<li>Fokko Driesprong</li>
<li>Gabor Gevay</li>
<li>George</li>
<li>Gordon Tai</li>
<li>Greg Hogan</li>
<li>Gyula Fora</li>
<li>Haohui Mai</li>
<li>Holger Frydrych</li>
<li>HungUnicorn</li>
<li>Ismaël Mejía</li>
<li>Ivan Mushketyk</li>
<li>Jakub Havlik</li>
<li>Jark Wu</li>
<li>Jendrik Poloczek</li>
<li>Jincheng Sun</li>
<li>Josh</li>
<li>Joshi</li>
<li>Keiji Yoshida</li>
<li>Kirill Morozov</li>
<li>Kurt Young</li>
<li>Liwei Lin</li>
<li>Lorenz Buehmann</li>
<li>Maciek Próchniak</li>
<li>Makman2</li>
<li>Markus Müller</li>
<li>Martin Junghanns</li>
<li>Márton Balassi</li>
<li>Max Kuklinski</li>
<li>Maximilian Michels</li>
<li>Milosz Tanski</li>
<li>Nagarjun</li>
<li>Neelesh Srinivas Salian</li>
<li>Neil Derraugh</li>
<li>Nick Chadwick</li>
<li>Nico Kruber</li>
<li>Niels Basjes</li>
<li>Pattarawat Chormai</li>
<li>Piotr Godek</li>
<li>Raghav</li>
<li>Ramkrishna</li>
<li>Robert Metzger</li>
<li>Rohit Agarwal</li>
<li>Roman Maier</li>
<li>Sachin</li>
<li>Sachin Goel</li>
<li>Scott Kidder</li>
<li>Shannon Carey</li>
<li>Stefan Richter</li>
<li>Steffen Hausmann</li>
<li>Stephan Epping</li>
<li>Stephan Ewen</li>
<li>Sunny T</li>
<li>Suri</li>
<li>Theodore Vasiloudis</li>
<li>Till Rohrmann</li>
<li>Tony Wei</li>
<li>Tzu-Li (Gordon) Tai</li>
<li>Ufuk Celebi</li>
<li>Vijay Srinivasaraghavan</li>
<li>Vishnu Viswanath</li>
<li>WangTaoTheTonic</li>
<li>William-Sang</li>
<li>Yassine Marzougui</li>
<li>anton solovev</li>
<li>beyond1920</li>
<li>biao.liub</li>
<li>chobeat</li>
<li>danielblazevski</li>
<li>f7753</li>
<li>fengyelei</li>
<li>fengyelei 00406569</li>
<li>gallenvara</li>
<li>gaolun.gl</li>
<li>godfreyhe</li>
<li>heytitle</li>
<li>hzyuemeng1</li>
<li>iteblog</li>
<li>kl0u</li>
<li>larsbachmann</li>
<li>lincoln-lil</li>
<li>manuzhang</li>
<li>medale</li>
<li>miaoever</li>
<li>mtunique</li>
<li>radekg</li>
<li>renkai</li>
<li>sergey_sokur</li>
<li>shijinkui</li>
<li>shuai.xus</li>
<li>smarthi</li>
<li>swapnil-chougule</li>
<li>tedyu</li>
<li>tibor.moger</li>
<li>tonycox</li>
<li>twalthr</li>
<li>vasia</li>
<li>wenlong.lwl</li>
<li>wrighe3</li>
<li>xiaogang.sxg</li>
<li>yushi.wxg</li>
<li>yuzhongliu</li>
<li>zentol</li>
<li>zhuhaifengleon</li>
<li>淘江</li>
<li>魏偉哲</li>
</ul>
</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-02-06-release-1.2.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>
      <ul>
        <li><a href="#dynamic-scaling--key-groups">Dynamic Scaling / Key Groups</a></li>
        <li><a href="#rescalable-non-partitioned-state">Rescalable Non-Partitioned State</a></li>
        <li><a href="#processfunction">ProcessFunction</a></li>
        <li><a href="#async-io">Async I/O</a></li>
        <li><a href="#run-flink-with-apache-mesos">Run Flink with Apache Mesos</a></li>
        <li><a href="#secure-data-access">Secure Data Access</a></li>
        <li><a href="#queryable-state">Queryable State</a></li>
        <li><a href="#backwards-compatible-savepoints">Backwards compatible savepoints</a></li>
        <li><a href="#table-api--sql">Table API &amp; SQL</a></li>
        <li><a href="#miscellaneous-improvements">Miscellaneous improvements</a></li>
        <li><a href="#list-of-contributors">List of Contributors</a></li>
      </ul>
    </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>






