
<!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/posts/">

  <meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="description" content="">
<meta name="theme-color" content="#FFFFFF"><meta property="og:title" content="Flink Blog" />
<meta property="og:description" content="" />
<meta property="og:type" content="website" />
<meta property="og:url" content="https://flink.apache.org/posts/" />
<title>Flink Blog | 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>
<link rel="alternate" type="application/rss+xml" href="https://flink.apache.org/posts/index.xml" title="Apache Flink" />
<!--
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 book-post">
    <h3>
      <a href="/2024/03/21/apache-flink-kubernetes-operator-1.8.0-release-announcement/">Apache Flink Kubernetes Operator 1.8.0 Release Announcement</a>
    </h3>
    


  March 21, 2024 -



  Maximilian Michels

  <a href="https://twitter.com/stadtlegende">(@stadtlegende)</a>
  

  Gyula Fora

  <a href="https://twitter.com/GyulaFora">(@GyulaFora)</a>
  

  Rui Fan

  <a href="https://twitter.com/1996fanrui">(@1996fanrui)</a>
  



    <p>The Apache Flink community is excited to announce the release of Flink Kubernetes Operator 1.8.0!
The release includes many improvements to the operator core, the autoscaler, and introduces new features like TaskManager memory auto-tuning.
We encourage you to download the release and share your experience with the community through the Flink mailing lists or JIRA! We&rsquo;re looking forward to your feedback!
Highlights # Flink Autotuning # We&rsquo;re excited to announce our latest addition to the autoscaling module: Flink Autotuning.
        <a href="/2024/03/21/apache-flink-kubernetes-operator-1.8.0-release-announcement/">...</a>
      
    </p>
    <a href="/2024/03/21/apache-flink-kubernetes-operator-1.8.0-release-announcement/">Continue reading »</a>
  </article>
  
  <article class="markdown book-post">
    <h3>
      <a href="/2024/03/18/announcing-the-release-of-apache-flink-1.19/">Announcing the Release of Apache Flink 1.19</a>
    </h3>
    


  March 18, 2024 -



  Lincoln Lee

  <a href="https://twitter.com/lincoln_86xy">(@lincoln_86xy)</a>
  



    <p>The Apache Flink PMC is pleased to announce the release of Apache Flink 1.19.0. As usual, we are looking at a packed release with a wide variety of improvements and new features. Overall, 162 people contributed to this release completing 33 FLIPs and 600+ issues. Thank you!
Let&rsquo;s dive into the highlights.
Flink SQL Improvements # Custom Parallelism for Table/SQL Sources # Now in Flink 1.19, you can set a custom parallelism for performance tuning via the scan.
        <a href="/2024/03/18/announcing-the-release-of-apache-flink-1.19/">...</a>
      
    </p>
    <a href="/2024/03/18/announcing-the-release-of-apache-flink-1.19/">Continue reading »</a>
  </article>
  
  <article class="markdown book-post">
    <h3>
      <a href="/2024/01/19/apache-flink-1.18.1-release-announcement/">Apache Flink 1.18.1 Release Announcement</a>
    </h3>
    


  January 19, 2024 -



  Jing Ge

  <a href="https://twitter.com/jingengineer">(@jingengineer)</a>
  



    <p>The Apache Flink Community is pleased to announce the first bug fix release of the Flink 1.18 series.
This release includes 47 bug fixes, vulnerability fixes, and minor improvements for Flink 1.18. Below you will find a list of all bugfixes and improvements (excluding improvements to the build infrastructure and build stability). For a complete list of all changes see: JIRA.
We highly recommend all users upgrade to Flink 1.18.1.
        <a href="/2024/01/19/apache-flink-1.18.1-release-announcement/">...</a>
      
    </p>
    <a href="/2024/01/19/apache-flink-1.18.1-release-announcement/">Continue reading »</a>
  </article>
  
  <article class="markdown book-post">
    <h3>
      <a href="/2023/11/29/apache-flink-1.16.3-release-announcement/">Apache Flink 1.16.3 Release Announcement</a>
    </h3>
    


  November 29, 2023 -



  Rui Fan

  <a href="https://twitter.com/1996fanrui">(@1996fanrui)</a>
  



    <p>The Apache Flink Community is pleased to announce the third bug fix release of the Flink 1.16 series.
This release includes 52 bug fixes, vulnerability fixes, and minor improvements for Flink 1.16. Below you will find a list of all bugfixes and improvements (excluding improvements to the build infrastructure and build stability). For a complete list of all changes see: JIRA.
We highly recommend all users upgrade to Flink 1.16.3.
        <a href="/2023/11/29/apache-flink-1.16.3-release-announcement/">...</a>
      
    </p>
    <a href="/2023/11/29/apache-flink-1.16.3-release-announcement/">Continue reading »</a>
  </article>
  
  <article class="markdown book-post">
    <h3>
      <a href="/2023/11/29/apache-flink-1.17.2-release-announcement/">Apache Flink 1.17.2 Release Announcement</a>
    </h3>
    


  November 29, 2023 -



  Yun Tang

  <a href="https://twitter.com/yun_tang_">(@yun_tang_)</a>
  



    <p>The Apache Flink Community is pleased to announce the second bug fix release of the Flink 1.17 series.
This release includes 82 bug fixes, vulnerability fixes, and minor improvements for Flink 1.17. Below you will find a list of all bugfixes and improvements (excluding improvements to the build infrastructure and build stability). For a complete list of all changes see: JIRA.
We highly recommend all users upgrade to Flink 1.17.2.
        <a href="/2023/11/29/apache-flink-1.17.2-release-announcement/">...</a>
      
    </p>
    <a href="/2023/11/29/apache-flink-1.17.2-release-announcement/">Continue reading »</a>
  </article>
  
  <article class="markdown book-post">
    <h3>
      <a href="/2023/11/22/apache-flink-kubernetes-operator-1.7.0-release-announcement/">Apache Flink Kubernetes Operator 1.7.0 Release Announcement</a>
    </h3>
    


  November 22, 2023 -



  Gyula Fora

  <a href="https://twitter.com/GyulaFora">(@GyulaFora)</a>
  

  Rui Fan

  <a href="https://twitter.com/1996fanrui">(@1996fanrui)</a>
  



    <p>The Apache Flink community is excited to announce the release of Flink Kubernetes Operator 1.7.0! The release introduces a large number of improvements to the autoscaler, including a complete decoupling from Kubernetes to support more Flink environments in the future. It&rsquo;s important to call out that the release explicitly drops support for Flink 1.13 and 1.14 as agreed by the community.
We encourage you to download the release and share your feedback with the community through the Flink mailing lists or JIRA!
        <a href="/2023/11/22/apache-flink-kubernetes-operator-1.7.0-release-announcement/">...</a>
      
    </p>
    <a href="/2023/11/22/apache-flink-kubernetes-operator-1.7.0-release-announcement/">Continue reading »</a>
  </article>
  
  <article class="markdown book-post">
    <h3>
      <a href="/2023/10/27/apache-flink-kubernetes-operator-1.6.1-release-announcement/">Apache Flink Kubernetes Operator 1.6.1 Release Announcement</a>
    </h3>
    


  October 27, 2023 -



  Rui Fan

  <a href="https://twitter.com/1996fanrui">(@1996fanrui)</a>
  



    <p>The Apache Flink Community is pleased to announce the first bug fix release of the Flink Kubernetes Operator 1.6 series.
The release contains fixes for several critical issues, and some doc improvements for the autoscaler.
We highly recommend all users to upgrade to Flink Kubernetes Operator 1.6.1.
Release Notes # Bug # [FLINK-32890] Correct HA patch check for zookeeper metadata store [FLINK-33011] Never accidentally delete HA metadata for last state deployments Documentation improvement # [FLINK-32868][docs] Document the need to backport FLINK-30213 for using autoscaler with older version Flinks [docs][autoscaler] Autoscaler docs and default config improvement Release Resources # The source artifacts and helm chart are available on the Downloads page of the Flink website.
        <a href="/2023/10/27/apache-flink-kubernetes-operator-1.6.1-release-announcement/">...</a>
      
    </p>
    <a href="/2023/10/27/apache-flink-kubernetes-operator-1.6.1-release-announcement/">Continue reading »</a>
  </article>
  
  <article class="markdown book-post">
    <h3>
      <a href="/2023/10/24/announcing-the-release-of-apache-flink-1.18/">Announcing the Release of Apache Flink 1.18</a>
    </h3>
    


  October 24, 2023 -



  Jing Ge

  <a href="https://twitter.com/jingengineer">(@jingengineer)</a>
  

  Konstantin Knauf

  <a href="https://twitter.com/snntrable">(@snntrable)</a>
  

  Sergey Nuyanzin

  <a href="https://twitter.com/uckamello">(@uckamello)</a>
  

  Qingsheng Ren

  <a href="https://twitter.com/renqstuite">(@renqstuite)</a>
  



    <p>The Apache Flink PMC is pleased to announce the release of Apache Flink 1.18.0. As usual, we are looking at a packed release with a wide variety of improvements and new features. Overall, 174 people contributed to this release completing 18 FLIPS and 700+ issues. Thank you!
Let&rsquo;s dive into the highlights.
Towards a Streaming Lakehouse # Flink SQL Improvements # Introduce Flink JDBC Driver For SQL Gateway # Flink 1.
        <a href="/2023/10/24/announcing-the-release-of-apache-flink-1.18/">...</a>
      
    </p>
    <a href="/2023/10/24/announcing-the-release-of-apache-flink-1.18/">Continue reading »</a>
  </article>
  
  <article class="markdown book-post">
    <h3>
      <a href="/2023/09/19/stateful-functions-3.3.0-release-announcement/">Stateful Functions 3.3.0 Release Announcement</a>
    </h3>
    


  September 19, 2023 -



  Martijn Visser

  <a href="https://twitter.com/MartijnVisser82">(@MartijnVisser82)</a>
  



    <p>The Apache Flink community is excited to announce the release of Stateful Functions 3.3.0!
Stateful Functions is a cross-platform stack for building Stateful Serverless applications, making it radically simpler to develop scalable, consistent, and elastic distributed applications. This new release upgrades the Flink runtime to 1.16.2.
The binary distribution and source artifacts are now available on the updated Downloads page of the Flink website, and the most recent Java SDK, Python SDK,, GoLang SDK and JavaScript SDK distributions are available on Maven, PyPI, Github, and npm respectively.
        <a href="/2023/09/19/stateful-functions-3.3.0-release-announcement/">...</a>
      
    </p>
    <a href="/2023/09/19/stateful-functions-3.3.0-release-announcement/">Continue reading »</a>
  </article>
  
  <article class="markdown book-post">
    <h3>
      <a href="/2023/08/15/apache-flink-kubernetes-operator-1.6.0-release-announcement/">Apache Flink Kubernetes Operator 1.6.0 Release Announcement</a>
    </h3>
    


  August 15, 2023 -



  Gyula Fora

  <a href="https://twitter.com/GyulaFora">(@GyulaFora)</a>
  



    <p>The Apache Flink community is excited to announce the release of Flink Kubernetes Operator 1.6.0! The release features a large number of improvements all across the operator.
We encourage you to download the release and share your feedback with the community through the Flink mailing lists or JIRA! We hope you like the new release and we’d be eager to learn about your experience with it.
Highlights # Improved and simplified rollback mechanism # Previously the rollback mechanism had some serious limitations always requiring the presence of HA metadata.
        <a href="/2023/08/15/apache-flink-kubernetes-operator-1.6.0-release-announcement/">...</a>
      
    </p>
    <a href="/2023/08/15/apache-flink-kubernetes-operator-1.6.0-release-announcement/">Continue reading »</a>
  </article>
  

  
    <ul class="pagination pagination-default">
      <li class="page-item disabled">
        <a aria-disabled="true" aria-label="First" class="page-link" role="button" tabindex="-1"><span aria-hidden="true">&laquo;&laquo;</span></a>
      </li>
      <li class="page-item disabled">
        <a aria-disabled="true" aria-label="Previous" class="page-link" role="button" tabindex="-1"><span aria-hidden="true">&laquo;</span></a>
      </li>
      <li class="page-item active">
        <a aria-current="page" aria-label="Page 1" class="page-link" role="button">1</a>
      </li>
      <li class="page-item">
        <a href="/posts/page/2/" aria-label="Page 2" class="page-link" role="button">2</a>
      </li>
      <li class="page-item">
        <a href="/posts/page/3/" aria-label="Page 3" class="page-link" role="button">3</a>
      </li>
      <li class="page-item">
        <a href="/posts/page/4/" aria-label="Page 4" class="page-link" role="button">4</a>
      </li>
      <li class="page-item">
        <a href="/posts/page/5/" aria-label="Page 5" class="page-link" role="button">5</a>
      </li>
      <li class="page-item">
        <a href="/posts/page/2/" aria-label="Next" class="page-link" role="button"><span aria-hidden="true">&raquo;</span></a>
      </li>
      <li class="page-item">
        <a href="/posts/page/24/" aria-label="Last" class="page-link" role="button"><span aria-hidden="true">&raquo;&raquo;</span></a>
      </li>
    </ul>

          



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

<nav>
  <ul>
    
    <li>
      <a href="https://flink.apache.org/2024/03/21/apache-flink-kubernetes-operator-1.8.0-release-announcement/">Apache Flink Kubernetes Operator 1.8.0 Release Announcement</a>
    </li>
    
    <li>
      <a href="https://flink.apache.org/2024/03/18/announcing-the-release-of-apache-flink-1.19/">Announcing the Release of Apache Flink 1.19</a>
    </li>
    
    <li>
      <a href="https://flink.apache.org/2024/01/19/apache-flink-1.18.1-release-announcement/">Apache Flink 1.18.1 Release Announcement</a>
    </li>
    
    <li>
      <a href="https://flink.apache.org/2023/11/29/apache-flink-1.16.3-release-announcement/">Apache Flink 1.16.3 Release Announcement</a>
    </li>
    
    <li>
      <a href="https://flink.apache.org/2023/11/29/apache-flink-1.17.2-release-announcement/">Apache Flink 1.17.2 Release Announcement</a>
    </li>
    
    <li>
      <a href="https://flink.apache.org/2023/11/22/apache-flink-kubernetes-operator-1.7.0-release-announcement/">Apache Flink Kubernetes Operator 1.7.0 Release Announcement</a>
    </li>
    
    <li>
      <a href="https://flink.apache.org/2023/10/27/apache-flink-kubernetes-operator-1.6.1-release-announcement/">Apache Flink Kubernetes Operator 1.6.1 Release Announcement</a>
    </li>
    
    <li>
      <a href="https://flink.apache.org/2023/10/24/announcing-the-release-of-apache-flink-1.18/">Announcing the Release of Apache Flink 1.18</a>
    </li>
    
    <li>
      <a href="https://flink.apache.org/2023/09/19/stateful-functions-3.3.0-release-announcement/">Stateful Functions 3.3.0 Release Announcement</a>
    </li>
    
    <li>
      <a href="https://flink.apache.org/2023/08/15/apache-flink-kubernetes-operator-1.6.0-release-announcement/">Apache Flink Kubernetes Operator 1.6.0 Release Announcement</a>
    </li>
    
    <li>
      <a href="https://flink.apache.org/2023/08/04/announcing-three-new-apache-flink-connectors-the-new-connector-versioning-strategy-and-externalization/">Announcing three new Apache Flink connectors, the new connector versioning strategy and externalization</a>
    </li>
    
    <li>
      <a href="https://flink.apache.org/2023/07/03/sigmod-systems-award-for-apache-flink/">SIGMOD Systems Award for Apache Flink</a>
    </li>
    
    <li>
      <a href="https://flink.apache.org/2023/05/25/apache-flink-1.16.2-release-announcement/">Apache Flink 1.16.2 Release Announcement</a>
    </li>
    
    <li>
      <a href="https://flink.apache.org/2023/05/25/apache-flink-1.17.1-release-announcement/">Apache Flink 1.17.1 Release Announcement</a>
    </li>
    
    <li>
      <a href="https://flink.apache.org/2023/05/17/apache-flink-kubernetes-operator-1.5.0-release-announcement/">Apache Flink Kubernetes Operator 1.5.0 Release Announcement</a>
    </li>
    
    <li>
      <a href="https://flink.apache.org/2023/05/12/howto-test-a-batch-source-with-the-new-source-framework/">Howto test a batch source with the new Source framework</a>
    </li>
    
    <li>
      <a href="https://flink.apache.org/2023/05/09/howto-migrate-a-real-life-batch-pipeline-from-the-dataset-api-to-the-datastream-api/">Howto migrate a real-life batch pipeline from the DataSet API to the DataStream API</a>
    </li>
    
    <li>
      <a href="https://flink.apache.org/2023/05/03/howto-create-a-batch-source-with-the-new-source-framework/">Howto create a batch source with the new Source framework</a>
    </li>
    
    <li>
      <a href="https://flink.apache.org/2023/04/19/apache-flink-ml-2.2.0-release-announcement/">Apache Flink ML 2.2.0 Release Announcement</a>
    </li>
    
    <li>
      <a href="https://flink.apache.org/2023/03/23/announcing-the-release-of-apache-flink-1.17/">Announcing the Release of Apache Flink 1.17</a>
    </li>
    
    <li>
      <a href="https://flink.apache.org/2023/03/15/apache-flink-1.15.4-release-announcement/">Apache Flink 1.15.4 Release Announcement</a>
    </li>
    
    <li>
      <a href="https://flink.apache.org/2023/02/27/apache-flink-kubernetes-operator-1.4.0-release-announcement/">Apache Flink Kubernetes Operator 1.4.0 Release Announcement</a>
    </li>
    
    <li>
      <a href="https://flink.apache.org/2023/01/30/apache-flink-1.16.1-release-announcement/">Apache Flink 1.16.1 Release Announcement</a>
    </li>
    
    <li>
      <a href="https://flink.apache.org/2023/01/20/delegation-token-framework-obtain-distribute-and-use-temporary-credentials-automatically/">Delegation Token Framework: Obtain, Distribute and Use Temporary Credentials Automatically</a>
    </li>
    
    <li>
      <a href="https://flink.apache.org/2023/01/13/apache-flink-table-store-0.3.0-release-announcement/">Apache Flink Table Store 0.3.0 Release Announcement</a>
    </li>
    
    <li>
      <a href="https://flink.apache.org/2023/01/10/apache-flink-kubernetes-operator-1.3.1-release-announcement/">Apache Flink Kubernetes Operator 1.3.1 Release Announcement</a>
    </li>
    
    <li>
      <a href="https://flink.apache.org/2022/12/14/apache-flink-kubernetes-operator-1.3.0-release-announcement/">Apache Flink Kubernetes Operator 1.3.0 Release Announcement</a>
    </li>
    
    <li>
      <a href="https://flink.apache.org/2022/11/25/optimising-the-throughput-of-async-sinks-using-a-custom-ratelimitingstrategy/">Optimising the throughput of async sinks using a custom RateLimitingStrategy</a>
    </li>
    
    <li>
      <a href="https://flink.apache.org/2022/11/10/apache-flink-1.15.3-release-announcement/">Apache Flink 1.15.3 Release Announcement</a>
    </li>
    
    <li>
      <a href="https://flink.apache.org/2022/10/28/announcing-the-release-of-apache-flink-1.16/">Announcing the Release of Apache Flink 1.16</a>
    </li>
    
    <li>
      <a href="https://flink.apache.org/2022/10/13/apache-flink-table-store-0.2.1-release-announcement/">Apache Flink Table Store 0.2.1 Release Announcement</a>
    </li>
    
    <li>
      <a href="https://flink.apache.org/2022/10/07/apache-flink-kubernetes-operator-1.2.0-release-announcement/">Apache Flink Kubernetes Operator 1.2.0 Release Announcement</a>
    </li>
    
    <li>
      <a href="https://flink.apache.org/2022/09/28/apache-flink-1.14.6-release-announcement/">Apache Flink 1.14.6 Release Announcement</a>
    </li>
    
    <li>
      <a href="https://flink.apache.org/2022/09/08/regarding-akkas-licensing-change/">Regarding Akka&#39;s licensing change</a>
    </li>
    
    <li>
      <a href="https://flink.apache.org/2022/08/29/apache-flink-table-store-0.2.0-release-announcement/">Apache Flink Table Store 0.2.0 Release Announcement</a>
    </li>
    
    <li>
      <a href="https://flink.apache.org/2022/08/24/apache-flink-1.15.2-release-announcement/">Apache Flink 1.15.2 Release Announcement</a>
    </li>
    
    <li>
      <a href="https://flink.apache.org/2022/07/25/apache-flink-kubernetes-operator-1.1.0-release-announcement/">Apache Flink Kubernetes Operator 1.1.0 Release Announcement</a>
    </li>
    
    <li>
      <a href="https://flink.apache.org/2022/07/12/apache-flink-ml-2.1.0-release-announcement/">Apache Flink ML 2.1.0 Release Announcement</a>
    </li>
    
    <li>
      <a href="https://flink.apache.org/2022/07/11/flip-147-support-checkpoints-after-tasks-finished-part-one/">FLIP-147: Support Checkpoints After Tasks Finished - Part One</a>
    </li>
    
    <li>
      <a href="https://flink.apache.org/2022/07/11/flip-147-support-checkpoints-after-tasks-finished-part-two/">FLIP-147: Support Checkpoints After Tasks Finished - Part Two</a>
    </li>
    
    <li>
      <a href="https://flink.apache.org/2022/07/06/apache-flink-1.15.1-release-announcement/">Apache Flink 1.15.1 Release Announcement</a>
    </li>
    
    <li>
      <a href="https://flink.apache.org/2022/06/22/apache-flink-1.14.5-release-announcement/">Apache Flink 1.14.5 Release Announcement</a>
    </li>
    
    <li>
      <a href="https://flink.apache.org/2022/06/17/adaptive-batch-scheduler-automatically-decide-parallelism-of-flink-batch-jobs/">Adaptive Batch Scheduler: Automatically Decide Parallelism of Flink Batch Jobs</a>
    </li>
    
    <li>
      <a href="https://flink.apache.org/2022/06/05/apache-flink-kubernetes-operator-1.0.0-release-announcement/">Apache Flink Kubernetes Operator 1.0.0 Release Announcement</a>
    </li>
    
    <li>
      <a href="https://flink.apache.org/2022/05/30/improving-speed-and-stability-of-checkpointing-with-generic-log-based-incremental-checkpoints/">Improving speed and stability of checkpointing with generic log-based incremental checkpoints</a>
    </li>
    
    <li>
      <a href="https://flink.apache.org/2022/05/23/getting-into-low-latency-gears-with-apache-flink-part-two/">Getting into Low-Latency Gears with Apache Flink - Part Two</a>
    </li>
    
    <li>
      <a href="https://flink.apache.org/2022/05/18/getting-into-low-latency-gears-with-apache-flink-part-one/">Getting into Low-Latency Gears with Apache Flink - Part One</a>
    </li>
    
    <li>
      <a href="https://flink.apache.org/2022/05/11/apache-flink-table-store-0.1.0-release-announcement/">Apache Flink Table Store 0.1.0 Release Announcement</a>
    </li>
    
    <li>
      <a href="https://flink.apache.org/2022/05/06/exploring-the-thread-mode-in-pyflink/">Exploring the thread mode in PyFlink</a>
    </li>
    
    <li>
      <a href="https://flink.apache.org/2022/05/06/improvements-to-flink-operations-snapshots-ownership-and-savepoint-formats/">Improvements to Flink operations: Snapshots Ownership and Savepoint Formats</a>
    </li>
    
    <li>
      <a href="https://flink.apache.org/2022/05/05/announcing-the-release-of-apache-flink-1.15/">Announcing the Release of Apache Flink 1.15</a>
    </li>
    
    <li>
      <a href="https://flink.apache.org/2022/04/03/apache-flink-kubernetes-operator-0.1.0-release-announcement/">Apache Flink Kubernetes Operator 0.1.0 Release Announcement</a>
    </li>
    
    <li>
      <a href="https://flink.apache.org/2022/03/16/the-generic-asynchronous-base-sink/">The Generic Asynchronous Base Sink</a>
    </li>
    
    <li>
      <a href="https://flink.apache.org/2022/03/11/apache-flink-1.14.4-release-announcement/">Apache Flink 1.14.4 Release Announcement</a>
    </li>
    
    <li>
      <a href="https://flink.apache.org/2022/02/22/scala-free-in-one-fifteen/">Scala Free in One Fifteen</a>
    </li>
    
    <li>
      <a href="https://flink.apache.org/2022/02/18/apache-flink-1.13.6-release-announcement/">Apache Flink 1.13.6 Release Announcement</a>
    </li>
    
    <li>
      <a href="https://flink.apache.org/2022/01/31/stateful-functions-3.2.0-release-announcement/">Stateful Functions 3.2.0 Release Announcement</a>
    </li>
    
    <li>
      <a href="https://flink.apache.org/2022/01/20/pravega-flink-connector-101/">Pravega Flink Connector 101</a>
    </li>
    
    <li>
      <a href="https://flink.apache.org/2022/01/17/apache-flink-1.14.3-release-announcement/">Apache Flink 1.14.3 Release Announcement</a>
    </li>
    
    <li>
      <a href="https://flink.apache.org/2022/01/07/apache-flink-ml-2.0.0-release-announcement/">Apache Flink ML 2.0.0 Release Announcement</a>
    </li>
    
    <li>
      <a href="https://flink.apache.org/2022/01/04/how-we-improved-scheduler-performance-for-large-scale-jobs-part-one/">How We Improved Scheduler Performance for Large-scale Jobs - Part One</a>
    </li>
    
    <li>
      <a href="https://flink.apache.org/2022/01/04/how-we-improved-scheduler-performance-for-large-scale-jobs-part-two/">How We Improved Scheduler Performance for Large-scale Jobs - Part Two</a>
    </li>
    
    <li>
      <a href="https://flink.apache.org/2021/12/22/apache-flink-statefun-log4j-emergency-release/">Apache Flink StateFun Log4j emergency release</a>
    </li>
    
    <li>
      <a href="https://flink.apache.org/2021/12/16/apache-flink-log4j-emergency-releases/">Apache Flink Log4j emergency releases</a>
    </li>
    
    <li>
      <a href="https://flink.apache.org/2021/12/10/advise-on-apache-log4j-zero-day-cve-2021-44228/">Advise on Apache Log4j Zero Day (CVE-2021-44228)</a>
    </li>
    
    <li>
      <a href="https://flink.apache.org/2021/11/03/flink-backward-the-apache-flink-retrospective/">Flink Backward - The Apache Flink Retrospective</a>
    </li>
    
    <li>
      <a href="https://flink.apache.org/2021/10/26/sort-based-blocking-shuffle-implementation-in-flink-part-one/">Sort-Based Blocking Shuffle Implementation in Flink - Part One</a>
    </li>
    
    <li>
      <a href="https://flink.apache.org/2021/10/26/sort-based-blocking-shuffle-implementation-in-flink-part-two/">Sort-Based Blocking Shuffle Implementation in Flink - Part Two</a>
    </li>
    
    <li>
      <a href="https://flink.apache.org/2021/10/19/apache-flink-1.13.3-released/">Apache Flink 1.13.3 Released</a>
    </li>
    
    <li>
      <a href="https://flink.apache.org/2021/09/29/apache-flink-1.14.0-release-announcement/">Apache Flink 1.14.0 Release Announcement</a>
    </li>
    
    <li>
      <a href="https://flink.apache.org/2021/09/07/implementing-a-custom-source-connector-for-table-api-and-sql-part-one/">Implementing a Custom Source Connector for Table API and SQL - Part One </a>
    </li>
    
    <li>
      <a href="https://flink.apache.org/2021/09/07/implementing-a-custom-source-connector-for-table-api-and-sql-part-two/">Implementing a custom source connector for Table API and SQL - Part Two </a>
    </li>
    
    <li>
      <a href="https://flink.apache.org/2021/08/31/stateful-functions-3.1.0-release-announcement/">Stateful Functions 3.1.0 Release Announcement</a>
    </li>
    
    <li>
      <a href="https://flink.apache.org/2021/08/31/help-us-stabilize-apache-flink-1.14.0-rc0/">Help us stabilize Apache Flink 1.14.0 RC0</a>
    </li>
    
    <li>
      <a href="https://flink.apache.org/2021/08/09/apache-flink-1.11.4-released/">Apache Flink 1.11.4 Released</a>
    </li>
    
    <li>
      <a href="https://flink.apache.org/2021/08/06/apache-flink-1.12.5-released/">Apache Flink 1.12.5 Released</a>
    </li>
    
    <li>
      <a href="https://flink.apache.org/2021/08/06/apache-flink-1.13.2-released/">Apache Flink 1.13.2 Released</a>
    </li>
    
    <li>
      <a href="https://flink.apache.org/2021/07/07/how-to-identify-the-source-of-backpressure/">How to identify the source of backpressure?</a>
    </li>
    
    <li>
      <a href="https://flink.apache.org/2021/05/28/apache-flink-1.13.1-released/">Apache Flink 1.13.1 Released</a>
    </li>
    
    <li>
      <a href="https://flink.apache.org/2021/05/21/apache-flink-1.12.4-released/">Apache Flink 1.12.4 Released</a>
    </li>
    
    <li>
      <a href="https://flink.apache.org/2021/05/06/scaling-flink-automatically-with-reactive-mode/">Scaling Flink automatically with Reactive Mode</a>
    </li>
    
    <li>
      <a href="https://flink.apache.org/2021/05/03/apache-flink-1.13.0-release-announcement/">Apache Flink 1.13.0 Release Announcement</a>
    </li>
    
    <li>
      <a href="https://flink.apache.org/2021/04/29/apache-flink-1.12.3-released/">Apache Flink 1.12.3 Released</a>
    </li>
    
    <li>
      <a href="https://flink.apache.org/2021/04/15/stateful-functions-3.0.0-remote-functions-front-and-center/">Stateful Functions 3.0.0: Remote Functions Front and Center</a>
    </li>
    
    <li>
      <a href="https://flink.apache.org/2021/03/11/a-rundown-of-batch-execution-mode-in-the-datastream-api/">A Rundown of Batch Execution Mode in the DataStream API</a>
    </li>
    
    <li>
      <a href="https://flink.apache.org/2021/03/03/apache-flink-1.12.2-released/">Apache Flink 1.12.2 Released</a>
    </li>
    
    <li>
      <a href="https://flink.apache.org/2021/02/10/how-to-natively-deploy-flink-on-kubernetes-with-high-availability-ha/">How to natively deploy Flink on Kubernetes with High-Availability (HA)</a>
    </li>
    
    <li>
      <a href="https://flink.apache.org/2021/01/29/apache-flink-1.10.3-released/">Apache Flink 1.10.3 Released</a>
    </li>
    
    <li>
      <a href="https://flink.apache.org/2021/01/19/apache-flink-1.12.1-released/">Apache Flink 1.12.1 Released</a>
    </li>
    
    <li>
      <a href="https://flink.apache.org/2021/01/18/using-rocksdb-state-backend-in-apache-flink-when-and-how/">Using RocksDB State Backend in Apache Flink: When and How</a>
    </li>
    
    <li>
      <a href="https://flink.apache.org/2021/01/11/exploring-fine-grained-recovery-of-bounded-data-sets-on-flink/">Exploring fine-grained recovery of bounded data sets on Flink</a>
    </li>
    
    <li>
      <a href="https://flink.apache.org/2021/01/07/whats-new-in-the-pulsar-flink-connector-2.7.0/">What&#39;s New in the Pulsar Flink Connector 2.7.0</a>
    </li>
    
    <li>
      <a href="https://flink.apache.org/2021/01/02/stateful-functions-2.2.2-release-announcement/">Stateful Functions 2.2.2 Release Announcement</a>
    </li>
    
    <li>
      <a href="https://flink.apache.org/2020/12/18/apache-flink-1.11.3-released/">Apache Flink 1.11.3 Released</a>
    </li>
    
    <li>
      <a href="https://flink.apache.org/2020/12/10/apache-flink-1.12.0-release-announcement/">Apache Flink 1.12.0 Release Announcement</a>
    </li>
    
    <li>
      <a href="https://flink.apache.org/2020/12/02/improvements-in-task-scheduling-for-batch-workloads-in-apache-flink-1.12/">Improvements in task scheduling for batch workloads in Apache Flink 1.12</a>
    </li>
    
    <li>
      <a href="https://flink.apache.org/2020/11/11/stateful-functions-2.2.1-release-announcement/">Stateful Functions 2.2.1 Release Announcement</a>
    </li>
    
    <li>
      <a href="https://flink.apache.org/2020/10/15/from-aligned-to-unaligned-checkpoints-part-1-checkpoints-alignment-and-backpressure/">From Aligned to Unaligned Checkpoints - Part 1: Checkpoints, Alignment, and Backpressure</a>
    </li>
    
    <li>
      <a href="https://flink.apache.org/2020/10/13/stateful-functions-internals-behind-the-scenes-of-stateful-serverless/">Stateful Functions Internals: Behind the scenes of Stateful Serverless</a>
    </li>
    
    <li>
      <a href="https://flink.apache.org/2020/09/28/stateful-functions-2.2.0-release-announcement/">Stateful Functions 2.2.0 Release Announcement</a>
    </li>
    
    <li>
      <a href="https://flink.apache.org/2020/09/17/apache-flink-1.11.2-released/">Apache Flink 1.11.2 Released</a>
    </li>
    
    <li>
      <a href="https://flink.apache.org/2020/09/04/flink-community-update-august20/">Flink Community Update - August&#39;20</a>
    </li>
    
    <li>
      <a href="https://flink.apache.org/2020/09/01/memory-management-improvements-for-flinks-jobmanager-in-apache-flink-1.11/">Memory Management improvements for Flink’s JobManager in Apache Flink 1.11</a>
    </li>
    
    <li>
      <a href="https://flink.apache.org/2020/08/25/apache-flink-1.10.2-released/">Apache Flink 1.10.2 Released</a>
    </li>
    
    <li>
      <a href="https://flink.apache.org/2020/08/20/the-state-of-flink-on-docker/">The State of Flink on Docker</a>
    </li>
    
    <li>
      <a href="https://flink.apache.org/2020/08/18/monitoring-and-controlling-networks-of-iot-devices-with-flink-stateful-functions/">Monitoring and Controlling Networks of IoT Devices with Flink Stateful Functions</a>
    </li>
    
    <li>
      <a href="https://flink.apache.org/2020/08/06/accelerating-your-workload-with-gpu-and-other-external-resources/">Accelerating your workload with GPU and other external resources</a>
    </li>
    
    <li>
      <a href="https://flink.apache.org/2020/08/04/pyflink-the-integration-of-pandas-into-pyflink/">PyFlink: The integration of Pandas into PyFlink</a>
    </li>
    
    <li>
      <a href="https://flink.apache.org/2020/07/30/advanced-flink-application-patterns-vol.3-custom-window-processing/">Advanced Flink Application Patterns Vol.3: Custom Window Processing</a>
    </li>
    
    <li>
      <a href="https://flink.apache.org/2020/07/29/flink-community-update-july20/">Flink Community Update - July&#39;20</a>
    </li>
    
    <li>
      <a href="https://flink.apache.org/2020/07/28/flink-sql-demo-building-an-end-to-end-streaming-application/">Flink SQL Demo: Building an End-to-End Streaming Application</a>
    </li>
    
    <li>
      <a href="https://flink.apache.org/2020/07/23/sharing-is-caring-catalogs-in-flink-sql/">Sharing is caring - Catalogs in Flink SQL</a>
    </li>
    
    <li>
      <a href="https://flink.apache.org/2020/07/21/apache-flink-1.11.1-released/">Apache Flink 1.11.1 Released</a>
    </li>
    
    <li>
      <a href="https://flink.apache.org/2020/07/14/application-deployment-in-flink-current-state-and-the-new-application-mode/">Application Deployment in Flink: Current State and the new Application Mode</a>
    </li>
    
    <li>
      <a href="https://flink.apache.org/2020/07/06/apache-flink-1.11.0-release-announcement/">Apache Flink 1.11.0 Release Announcement</a>
    </li>
    
    <li>
      <a href="https://flink.apache.org/2020/06/23/flink-on-zeppelin-notebooks-for-interactive-data-analysis-part-2/">Flink on Zeppelin Notebooks for Interactive Data Analysis - Part 2</a>
    </li>
    
    <li>
      <a href="https://flink.apache.org/2020/06/15/flink-on-zeppelin-notebooks-for-interactive-data-analysis-part-1/">Flink on Zeppelin Notebooks for Interactive Data Analysis - Part 1</a>
    </li>
    
    <li>
      <a href="https://flink.apache.org/2020/06/10/flink-community-update-june20/">Flink Community Update - June&#39;20</a>
    </li>
    
    <li>
      <a href="https://flink.apache.org/2020/06/09/stateful-functions-2.1.0-release-announcement/">Stateful Functions 2.1.0 Release Announcement</a>
    </li>
    
    <li>
      <a href="https://flink.apache.org/2020/05/12/apache-flink-1.10.1-released/">Apache Flink 1.10.1 Released</a>
    </li>
    
    <li>
      <a href="https://flink.apache.org/2020/05/06/flink-community-update-may20/">Flink Community Update - May&#39;20</a>
    </li>
    
    <li>
      <a href="https://flink.apache.org/2020/05/04/applying-to-google-season-of-docs-2020/">Applying to Google Season of Docs 2020</a>
    </li>
    
    <li>
      <a href="https://flink.apache.org/2020/04/24/apache-flink-1.9.3-released/">Apache Flink 1.9.3 Released</a>
    </li>
    
    <li>
      <a href="https://flink.apache.org/2020/04/21/memory-management-improvements-with-apache-flink-1.10/">Memory Management Improvements with Apache Flink 1.10</a>
    </li>
    
    <li>
      <a href="https://flink.apache.org/2020/04/15/flink-serialization-tuning-vol.-1-choosing-your-serializer-if-you-can/">Flink Serialization Tuning Vol. 1: Choosing your Serializer — if you can</a>
    </li>
    
    <li>
      <a href="https://flink.apache.org/2020/04/09/pyflink-introducing-python-support-for-udfs-in-flinks-table-api/">PyFlink: Introducing Python Support for UDFs in Flink&#39;s Table API</a>
    </li>
    
    <li>
      <a href="https://flink.apache.org/2020/04/07/stateful-functions-2.0-an-event-driven-database-on-apache-flink/">Stateful Functions 2.0 - An Event-driven Database on Apache Flink</a>
    </li>
    
    <li>
      <a href="https://flink.apache.org/2020/03/30/flink-community-update-april20/">Flink Community Update - April&#39;20</a>
    </li>
    
    <li>
      <a href="https://flink.apache.org/2020/03/27/flink-as-unified-engine-for-modern-data-warehousing-production-ready-hive-integration/">Flink as Unified Engine for Modern Data Warehousing: Production-Ready Hive Integration</a>
    </li>
    
    <li>
      <a href="https://flink.apache.org/2020/03/24/advanced-flink-application-patterns-vol.2-dynamic-updates-of-application-logic/">Advanced Flink Application Patterns Vol.2: Dynamic Updates of Application Logic</a>
    </li>
    
    <li>
      <a href="https://flink.apache.org/2020/02/22/apache-beam-how-beam-runs-on-top-of-flink/">Apache Beam: How Beam Runs on Top of Flink</a>
    </li>
    
    <li>
      <a href="https://flink.apache.org/2020/02/20/no-java-required-configuring-sources-and-sinks-in-sql/">No Java Required: Configuring Sources and Sinks in SQL</a>
    </li>
    
    <li>
      <a href="https://flink.apache.org/2020/02/11/apache-flink-1.10.0-release-announcement/">Apache Flink 1.10.0 Release Announcement</a>
    </li>
    
    <li>
      <a href="https://flink.apache.org/2020/02/03/a-guide-for-unit-testing-in-apache-flink/">A Guide for Unit Testing in Apache Flink</a>
    </li>
    
    <li>
      <a href="https://flink.apache.org/2020/01/30/apache-flink-1.9.2-released/">Apache Flink 1.9.2 Released</a>
    </li>
    
    <li>
      <a href="https://flink.apache.org/2020/01/29/state-unlocked-interacting-with-state-in-apache-flink/">State Unlocked: Interacting with State in Apache Flink</a>
    </li>
    
    <li>
      <a href="https://flink.apache.org/2020/01/15/advanced-flink-application-patterns-vol.1-case-study-of-a-fraud-detection-system/">Advanced Flink Application Patterns Vol.1: Case Study of a Fraud Detection System</a>
    </li>
    
    <li>
      <a href="https://flink.apache.org/2019/12/11/apache-flink-1.8.3-released/">Apache Flink 1.8.3 Released</a>
    </li>
    
    <li>
      <a href="https://flink.apache.org/2019/11/25/how-to-query-pulsar-streams-using-apache-flink/">How to query Pulsar Streams using Apache Flink</a>
    </li>
    
    <li>
      <a href="https://flink.apache.org/2019/11/06/running-apache-flink-on-kubernetes-with-kudo/">Running Apache Flink on Kubernetes with KUDO</a>
    </li>
    
    <li>
      <a href="https://flink.apache.org/2019/10/18/apache-flink-1.9.1-released/">Apache Flink 1.9.1 Released</a>
    </li>
    
    <li>
      <a href="https://flink.apache.org/2019/09/13/the-state-processor-api-how-to-read-write-and-modify-the-state-of-flink-applications/">The State Processor API: How to Read, write and modify the state of Flink applications</a>
    </li>
    
    <li>
      <a href="https://flink.apache.org/2019/09/11/apache-flink-1.8.2-released/">Apache Flink 1.8.2 Released</a>
    </li>
    
    <li>
      <a href="https://flink.apache.org/2019/09/05/flink-community-update-september19/">Flink Community Update - September&#39;19</a>
    </li>
    
    <li>
      <a href="https://flink.apache.org/2019/08/22/apache-flink-1.9.0-release-announcement/">Apache Flink 1.9.0 Release Announcement</a>
    </li>
    
    <li>
      <a href="https://flink.apache.org/2019/07/23/flink-network-stack-vol.-2-monitoring-metrics-and-that-backpressure-thing/">Flink Network Stack Vol. 2: Monitoring, Metrics, and that Backpressure Thing</a>
    </li>
    
    <li>
      <a href="https://flink.apache.org/2019/07/02/apache-flink-1.8.1-released/">Apache Flink 1.8.1 Released</a>
    </li>
    
    <li>
      <a href="https://flink.apache.org/2019/06/26/a-practical-guide-to-broadcast-state-in-apache-flink/">A Practical Guide to Broadcast State in Apache Flink</a>
    </li>
    
    <li>
      <a href="https://flink.apache.org/2019/06/05/a-deep-dive-into-flinks-network-stack/">A Deep-Dive into Flink&#39;s Network Stack</a>
    </li>
    
    <li>
      <a href="https://flink.apache.org/2019/05/17/state-ttl-in-flink-1.8.0-how-to-automatically-cleanup-application-state-in-apache-flink/">State TTL in Flink 1.8.0: How to Automatically Cleanup Application State in Apache Flink</a>
    </li>
    
    <li>
      <a href="https://flink.apache.org/2019/05/14/flux-capacitor-huh-temporal-tables-and-joins-in-streaming-sql/">Flux capacitor, huh? Temporal Tables and Joins in Streaming SQL</a>
    </li>
    
    <li>
      <a href="https://flink.apache.org/2019/05/03/when-flink-pulsar-come-together/">When Flink &amp; Pulsar Come Together</a>
    </li>
    
    <li>
      <a href="https://flink.apache.org/2019/04/17/apache-flinks-application-to-season-of-docs/">Apache Flink&#39;s Application to Season of Docs</a>
    </li>
    
    <li>
      <a href="https://flink.apache.org/2019/04/09/apache-flink-1.8.0-release-announcement/">Apache Flink 1.8.0 Release Announcement</a>
    </li>
    
    <li>
      <a href="https://flink.apache.org/2019/03/11/flink-and-prometheus-cloud-native-monitoring-of-streaming-applications/">Flink and Prometheus: Cloud-native monitoring of streaming applications</a>
    </li>
    
    <li>
      <a href="https://flink.apache.org/2019/03/06/what-to-expect-from-flink-forward-san-francisco-2019/">What to expect from Flink Forward San Francisco 2019</a>
    </li>
    
    <li>
      <a href="https://flink.apache.org/2019/02/25/apache-flink-1.6.4-released/">Apache Flink 1.6.4 Released</a>
    </li>
    
    <li>
      <a href="https://flink.apache.org/2019/02/21/monitoring-apache-flink-applications-101/">Monitoring Apache Flink Applications 101</a>
    </li>
    
    <li>
      <a href="https://flink.apache.org/2019/02/15/apache-flink-1.7.2-released/">Apache Flink 1.7.2 Released</a>
    </li>
    
    <li>
      <a href="https://flink.apache.org/2019/02/13/batch-as-a-special-case-of-streaming-and-alibabas-contribution-of-blink/">Batch as a Special Case of Streaming and Alibaba&#39;s contribution of Blink</a>
    </li>
    
    <li>
      <a href="https://flink.apache.org/2018/12/26/apache-flink-1.5.6-released/">Apache Flink 1.5.6 Released</a>
    </li>
    
    <li>
      <a href="https://flink.apache.org/2018/12/22/apache-flink-1.6.3-released/">Apache Flink 1.6.3 Released</a>
    </li>
    
    <li>
      <a href="https://flink.apache.org/2018/12/21/apache-flink-1.7.1-released/">Apache Flink 1.7.1 Released</a>
    </li>
    
    <li>
      <a href="https://flink.apache.org/2018/11/30/apache-flink-1.7.0-release-announcement/">Apache Flink 1.7.0 Release Announcement</a>
    </li>
    
    <li>
      <a href="https://flink.apache.org/2018/10/29/apache-flink-1.5.5-released/">Apache Flink 1.5.5 Released</a>
    </li>
    
    <li>
      <a href="https://flink.apache.org/2018/10/29/apache-flink-1.6.2-released/">Apache Flink 1.6.2 Released</a>
    </li>
    
    <li>
      <a href="https://flink.apache.org/2018/09/20/apache-flink-1.5.4-released/">Apache Flink 1.5.4 Released</a>
    </li>
    
    <li>
      <a href="https://flink.apache.org/2018/09/20/apache-flink-1.6.1-released/">Apache Flink 1.6.1 Released</a>
    </li>
    
    <li>
      <a href="https://flink.apache.org/2018/08/21/apache-flink-1.5.3-released/">Apache Flink 1.5.3 Released</a>
    </li>
    
    <li>
      <a href="https://flink.apache.org/2018/08/09/apache-flink-1.6.0-release-announcement/">Apache Flink 1.6.0 Release Announcement</a>
    </li>
    
    <li>
      <a href="https://flink.apache.org/2018/07/31/apache-flink-1.5.2-released/">Apache Flink 1.5.2 Released</a>
    </li>
    
    <li>
      <a href="https://flink.apache.org/2018/07/12/apache-flink-1.5.1-released/">Apache Flink 1.5.1 Released</a>
    </li>
    
    <li>
      <a href="https://flink.apache.org/2018/05/18/apache-flink-1.5.0-release-announcement/">Apache Flink 1.5.0 Release Announcement</a>
    </li>
    
    <li>
      <a href="https://flink.apache.org/2018/03/15/apache-flink-1.3.3-released/">Apache Flink 1.3.3 Released</a>
    </li>
    
    <li>
      <a href="https://flink.apache.org/2018/03/08/apache-flink-1.4.2-released/">Apache Flink 1.4.2 Released</a>
    </li>
    
    <li>
      <a href="https://flink.apache.org/2018/02/28/an-overview-of-end-to-end-exactly-once-processing-in-apache-flink-with-apache-kafka-too/">An Overview of End-to-End Exactly-Once Processing in Apache Flink (with Apache Kafka, too!)</a>
    </li>
    
    <li>
      <a href="https://flink.apache.org/2018/02/15/apache-flink-1.4.1-released/">Apache Flink 1.4.1 Released</a>
    </li>
    
    <li>
      <a href="https://flink.apache.org/2018/01/30/managing-large-state-in-apache-flink-an-intro-to-incremental-checkpointing/">Managing Large State in Apache Flink: An Intro to Incremental Checkpointing</a>
    </li>
    
    <li>
      <a href="https://flink.apache.org/2017/12/21/apache-flink-in-2017-year-in-review/">Apache Flink in 2017: Year in Review</a>
    </li>
    
    <li>
      <a href="https://flink.apache.org/2017/12/12/apache-flink-1.4.0-release-announcement/">Apache Flink 1.4.0 Release Announcement</a>
    </li>
    
    <li>
      <a href="https://flink.apache.org/2017/11/21/looking-ahead-to-apache-flink-1.4.0-and-1.5.0/">Looking Ahead to Apache Flink 1.4.0 and 1.5.0</a>
    </li>
    
    <li>
      <a href="https://flink.apache.org/2017/08/05/apache-flink-1.3.2-released/">Apache Flink 1.3.2 Released</a>
    </li>
    
    <li>
      <a href="https://flink.apache.org/2017/07/04/a-deep-dive-into-rescalable-state-in-apache-flink/">A Deep Dive into Rescalable State in Apache Flink</a>
    </li>
    
    <li>
      <a href="https://flink.apache.org/2017/06/23/apache-flink-1.3.1-released/">Apache Flink 1.3.1 Released</a>
    </li>
    
    <li>
      <a href="https://flink.apache.org/2017/06/01/apache-flink-1.3.0-release-announcement/">Apache Flink 1.3.0 Release Announcement</a>
    </li>
    
    <li>
      <a href="https://flink.apache.org/2017/05/16/introducing-docker-images-for-apache-flink/">Introducing Docker Images for Apache Flink</a>
    </li>
    
    <li>
      <a href="https://flink.apache.org/2017/04/26/apache-flink-1.2.1-released/">Apache Flink 1.2.1 Released</a>
    </li>
    
    <li>
      <a href="https://flink.apache.org/2017/03/30/continuous-queries-on-dynamic-tables/">Continuous Queries on Dynamic Tables</a>
    </li>
    
    <li>
      <a href="https://flink.apache.org/2017/03/29/from-streams-to-tables-and-back-again-an-update-on-flinks-table-sql-api/">From Streams to Tables and Back Again: An Update on Flink&#39;s Table &amp; SQL API</a>
    </li>
    
    <li>
      <a href="https://flink.apache.org/2017/03/23/apache-flink-1.1.5-released/">Apache Flink 1.1.5 Released</a>
    </li>
    
    <li>
      <a href="https://flink.apache.org/2017/02/06/announcing-apache-flink-1.2.0/">Announcing Apache Flink 1.2.0</a>
    </li>
    
    <li>
      <a href="https://flink.apache.org/2016/12/21/apache-flink-1.1.4-released/">Apache Flink 1.1.4 Released</a>
    </li>
    
    <li>
      <a href="https://flink.apache.org/2016/12/19/apache-flink-in-2016-year-in-review/">Apache Flink in 2016: Year in Review</a>
    </li>
    
    <li>
      <a href="https://flink.apache.org/2016/10/12/apache-flink-1.1.3-released/">Apache Flink 1.1.3 Released</a>
    </li>
    
    <li>
      <a href="https://flink.apache.org/2016/09/05/apache-flink-1.1.2-released/">Apache Flink 1.1.2 Released</a>
    </li>
    
    <li>
      <a href="https://flink.apache.org/2016/08/24/flink-forward-2016-announcing-schedule-keynotes-and-panel-discussion/">Flink Forward 2016: Announcing Schedule, Keynotes, and Panel Discussion</a>
    </li>
    
    <li>
      <a href="https://flink.apache.org/2016/08/04/announcing-apache-flink-1.1.0/">Announcing Apache Flink 1.1.0</a>
    </li>
    
    <li>
      <a href="https://flink.apache.org/2016/08/04/flink-1.1.1-released/">Flink 1.1.1 Released</a>
    </li>
    
    <li>
      <a href="https://flink.apache.org/2016/05/24/stream-processing-for-everyone-with-sql-and-apache-flink/">Stream Processing for Everyone with SQL and Apache Flink</a>
    </li>
    
    <li>
      <a href="https://flink.apache.org/2016/05/11/flink-1.0.3-released/">Flink 1.0.3 Released</a>
    </li>
    
    <li>
      <a href="https://flink.apache.org/2016/04/22/flink-1.0.2-released/">Flink 1.0.2 Released</a>
    </li>
    
    <li>
      <a href="https://flink.apache.org/2016/04/14/flink-forward-2016-call-for-submissions-is-now-open/">Flink Forward 2016 Call for Submissions Is Now Open</a>
    </li>
    
    <li>
      <a href="https://flink.apache.org/2016/04/06/introducing-complex-event-processing-cep-with-apache-flink/">Introducing Complex Event Processing (CEP) with Apache Flink</a>
    </li>
    
    <li>
      <a href="https://flink.apache.org/2016/04/06/flink-1.0.1-released/">Flink 1.0.1 Released</a>
    </li>
    
    <li>
      <a href="https://flink.apache.org/2016/03/08/announcing-apache-flink-1.0.0/">Announcing Apache Flink 1.0.0</a>
    </li>
    
    <li>
      <a href="https://flink.apache.org/2016/02/11/flink-0.10.2-released/">Flink 0.10.2 Released</a>
    </li>
    
    <li>
      <a href="https://flink.apache.org/2015/12/18/flink-2015-a-year-in-review-and-a-lookout-to-2016/">Flink 2015: A year in review, and a lookout to 2016</a>
    </li>
    
    <li>
      <a href="https://flink.apache.org/2015/12/11/storm-compatibility-in-apache-flink-how-to-run-existing-storm-topologies-on-flink/">Storm Compatibility in Apache Flink: How to run existing Storm topologies on Flink</a>
    </li>
    
    <li>
      <a href="https://flink.apache.org/2015/12/04/introducing-stream-windows-in-apache-flink/">Introducing Stream Windows in Apache Flink</a>
    </li>
    
    <li>
      <a href="https://flink.apache.org/2015/11/27/flink-0.10.1-released/">Flink 0.10.1 released</a>
    </li>
    
    <li>
      <a href="https://flink.apache.org/2015/11/16/announcing-apache-flink-0.10.0/">Announcing Apache Flink 0.10.0</a>
    </li>
    
    <li>
      <a href="https://flink.apache.org/2015/09/16/off-heap-memory-in-apache-flink-and-the-curious-jit-compiler/">Off-heap Memory in Apache Flink and the curious JIT compiler</a>
    </li>
    
    <li>
      <a href="https://flink.apache.org/2015/09/03/announcing-flink-forward-2015/">Announcing Flink Forward 2015</a>
    </li>
    
    <li>
      <a href="https://flink.apache.org/2015/09/01/apache-flink-0.9.1-available/">Apache Flink 0.9.1 available</a>
    </li>
    
    <li>
      <a href="https://flink.apache.org/2015/08/24/introducing-gelly-graph-processing-with-apache-flink/">Introducing Gelly: Graph Processing with Apache Flink</a>
    </li>
    
    <li>
      <a href="https://flink.apache.org/2015/06/24/announcing-apache-flink-0.9.0/">Announcing Apache Flink 0.9.0</a>
    </li>
    
    <li>
      <a href="https://flink.apache.org/2015/05/14/april-2015-in-the-flink-community/">April 2015 in the Flink community</a>
    </li>
    
    <li>
      <a href="https://flink.apache.org/2015/05/11/juggling-with-bits-and-bytes/">Juggling with Bits and Bytes</a>
    </li>
    
    <li>
      <a href="https://flink.apache.org/2015/04/13/announcing-flink-0.9.0-milestone1-preview-release/">Announcing Flink 0.9.0-milestone1 preview release</a>
    </li>
    
    <li>
      <a href="https://flink.apache.org/2015/04/07/march-2015-in-the-flink-community/">March 2015 in the Flink community</a>
    </li>
    
    <li>
      <a href="https://flink.apache.org/2015/03/13/peeking-into-apache-flinks-engine-room/">Peeking into Apache Flink&#39;s Engine Room</a>
    </li>
    
    <li>
      <a href="https://flink.apache.org/2015/03/02/february-2015-in-the-flink-community/">February 2015 in the Flink community</a>
    </li>
    
    <li>
      <a href="https://flink.apache.org/2015/02/09/introducing-flink-streaming/">Introducing Flink Streaming</a>
    </li>
    
    <li>
      <a href="https://flink.apache.org/2015/02/04/january-2015-in-the-flink-community/">January 2015 in the Flink community</a>
    </li>
    
    <li>
      <a href="https://flink.apache.org/2015/01/21/apache-flink-0.8.0-available/">Apache Flink 0.8.0 available</a>
    </li>
    
    <li>
      <a href="https://flink.apache.org/2015/01/06/december-2014-in-the-flink-community/">December 2014 in the Flink community</a>
    </li>
    
    <li>
      <a href="https://flink.apache.org/2014/11/18/hadoop-compatibility-in-flink/">Hadoop Compatibility in Flink</a>
    </li>
    
    <li>
      <a href="https://flink.apache.org/2014/11/04/apache-flink-0.7.0-available/">Apache Flink 0.7.0 available</a>
    </li>
    
    <li>
      <a href="https://flink.apache.org/2014/10/03/upcoming-events/">Upcoming Events</a>
    </li>
    
    <li>
      <a href="https://flink.apache.org/2014/09/26/apache-flink-0.6.1-available/">Apache Flink 0.6.1 available</a>
    </li>
    
    <li>
      <a href="https://flink.apache.org/2014/08/26/apache-flink-0.6-available/">Apache Flink 0.6 available</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>






