
<!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/2023/11/29/apache-flink-1.17.2-release-announcement/">

  <meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="description" content="The Apache Flink Community is pleased to announce the 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.">
<meta name="theme-color" content="#FFFFFF"><meta property="og:title" content="Apache Flink 1.17.2 Release Announcement" />
<meta property="og:description" content="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." />
<meta property="og:type" content="article" />
<meta property="og:url" content="https://flink.apache.org/2023/11/29/apache-flink-1.17.2-release-announcement/" /><meta property="article:section" content="posts" />
<meta property="article:published_time" content="2023-11-29T00:00:00+00:00" />
<meta property="article:modified_time" content="2023-11-29T00:00:00+00:00" />
<title>Apache Flink 1.17.2 Release Announcement | Apache Flink</title>
<link rel="manifest" href="/manifest.json">
<link rel="icon" href="/favicon.png" type="image/x-icon">
<link rel="stylesheet" href="/book.min.22eceb4d17baa9cdc0f57345edd6f215a40474022dfee39b63befb5fb3c596b5.css" integrity="sha256-IuzrTRe6qc3A9XNF7dbyFaQEdAIt/uObY777X7PFlrU=">
<script defer src="/en.search.min.2698f0d1b683dae4d6cb071668b310a55ebcf1c48d11410a015a51d90105b53e.js" integrity="sha256-Jpjw0baD2uTWywcWaLMQpV688cSNEUEKAVpR2QEFtT4="></script>
<!--
Made with Book Theme
https://github.com/alex-shpak/hugo-book
-->

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

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

<body dir=ZgotmplZ>
  


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





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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    


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

    </li>
  

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

    </li>
  

    


    









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


  November 29, 2023 -



  Yun Tang

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



    <p><p>The Apache Flink Community is pleased to announce the second bug fix release of the Flink 1.17 series.</p>
<p>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:
<a href="https://issues.apache.org/jira/secure/ReleaseNote.jspa?projectId=12315522&amp;version=12353260">JIRA</a>.</p>
<p>We highly recommend all users upgrade to Flink 1.17.2.</p>
<h1 id="release-artifacts">
  Release Artifacts
  <a class="anchor" href="#release-artifacts">#</a>
</h1>
<h2 id="maven-dependencies">
  Maven Dependencies
  <a class="anchor" href="#maven-dependencies">#</a>
</h2>
<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-xml" data-lang="xml"><span class="line"><span class="cl"><span class="nt">&lt;dependency&gt;</span>
</span></span><span class="line"><span class="cl">  <span class="nt">&lt;groupId&gt;</span>org.apache.flink<span class="nt">&lt;/groupId&gt;</span>
</span></span><span class="line"><span class="cl">  <span class="nt">&lt;artifactId&gt;</span>flink-java<span class="nt">&lt;/artifactId&gt;</span>
</span></span><span class="line"><span class="cl">  <span class="nt">&lt;version&gt;</span>1.17.2<span class="nt">&lt;/version&gt;</span>
</span></span><span class="line"><span class="cl"><span class="nt">&lt;/dependency&gt;</span>
</span></span><span class="line"><span class="cl"><span class="nt">&lt;dependency&gt;</span>
</span></span><span class="line"><span class="cl">  <span class="nt">&lt;groupId&gt;</span>org.apache.flink<span class="nt">&lt;/groupId&gt;</span>
</span></span><span class="line"><span class="cl">  <span class="nt">&lt;artifactId&gt;</span>flink-streaming-java<span class="nt">&lt;/artifactId&gt;</span>
</span></span><span class="line"><span class="cl">  <span class="nt">&lt;version&gt;</span>1.17.2<span class="nt">&lt;/version&gt;</span>
</span></span><span class="line"><span class="cl"><span class="nt">&lt;/dependency&gt;</span>
</span></span><span class="line"><span class="cl"><span class="nt">&lt;dependency&gt;</span>
</span></span><span class="line"><span class="cl">  <span class="nt">&lt;groupId&gt;</span>org.apache.flink<span class="nt">&lt;/groupId&gt;</span>
</span></span><span class="line"><span class="cl">  <span class="nt">&lt;artifactId&gt;</span>flink-clients<span class="nt">&lt;/artifactId&gt;</span>
</span></span><span class="line"><span class="cl">  <span class="nt">&lt;version&gt;</span>1.17.2<span class="nt">&lt;/version&gt;</span>
</span></span><span class="line"><span class="cl"><span class="nt">&lt;/dependency&gt;</span>
</span></span></code></pre></div><h2 id="binaries">
  Binaries
  <a class="anchor" href="#binaries">#</a>
</h2>
<p>You can find the binaries on the updated <a href="/downloads/">Downloads page</a>.</p>
<h2 id="docker-images">
  Docker Images
  <a class="anchor" href="#docker-images">#</a>
</h2>
<ul>
<li><a href="https://hub.docker.com/_/flink/tags?page=1&amp;name=1.17.2">library/flink</a> (official images)</li>
<li><a href="https://hub.docker.com/r/apache/flink/tags?page=1&amp;name=1.17.2">apache/flink</a> (ASF repository)</li>
</ul>
<h2 id="pypi">
  PyPi
  <a class="anchor" href="#pypi">#</a>
</h2>
<ul>
<li><a href="https://pypi.org/project/apache-flink/1.17.2/">apache-flink==1.17.2</a></li>
</ul>
<h1 id="release-notes">
  Release Notes
  <a class="anchor" href="#release-notes">#</a>
</h1>
<pre><code>    Release Notes - Flink - Version 1.17.2
</code></pre>
<h2>        Bug
</h2>
<ul>
<li>[<a href='https://issues.apache.org/jira/browse/FLINK-27415'>FLINK-27415</a>] -         Read empty csv file throws exception in FileSystem table connector
</li>
<li>[<a href='https://issues.apache.org/jira/browse/FLINK-28513'>FLINK-28513</a>] -         Flink Table API CSV streaming sink throws SerializedThrowable exception
</li>
<li>[<a href='https://issues.apache.org/jira/browse/FLINK-29913'>FLINK-29913</a>] -         Shared state would be discarded by mistake when maxConcurrentCheckpoint&gt;1
</li>
<li>[<a href='https://issues.apache.org/jira/browse/FLINK-30559'>FLINK-30559</a>] -         May get wrong result for `if` expression if it&#39;s string data type
</li>
<li>[<a href='https://issues.apache.org/jira/browse/FLINK-30596'>FLINK-30596</a>] -         Multiple POST /jars/:jarid/run requests with the same jobId, runs duplicate jobs
</li>
<li>[<a href='https://issues.apache.org/jira/browse/FLINK-30751'>FLINK-30751</a>] -         Remove references to disableDataSync in RocksDB documentation
</li>
<li>[<a href='https://issues.apache.org/jira/browse/FLINK-30966'>FLINK-30966</a>] -         Flink SQL IF FUNCTION logic error
</li>
<li>[<a href='https://issues.apache.org/jira/browse/FLINK-31139'>FLINK-31139</a>] -         not upload empty state changelog file
</li>
<li>[<a href='https://issues.apache.org/jira/browse/FLINK-31519'>FLINK-31519</a>] -         The watermark alignment docs is outdated after FLIP-217 finished
</li>
<li>[<a href='https://issues.apache.org/jira/browse/FLINK-31812'>FLINK-31812</a>] -         SavePoint from /jars/:jarid:/run api on body is not anymore set to null if empty
</li>
<li>[<a href='https://issues.apache.org/jira/browse/FLINK-31967'>FLINK-31967</a>] -         SQL with LAG function NullPointerException
</li>
<li>[<a href='https://issues.apache.org/jira/browse/FLINK-31974'>FLINK-31974</a>] -         JobManager crashes after KubernetesClientException exception with FatalExitExceptionHandler
</li>
<li>[<a href='https://issues.apache.org/jira/browse/FLINK-32023'>FLINK-32023</a>] -         execution.buffer-timeout cannot be set to -1 ms
</li>
<li>[<a href='https://issues.apache.org/jira/browse/FLINK-32034'>FLINK-32034</a>] -         Python&#39;s DistUtils is deprecated as of 3.10
</li>
<li>[<a href='https://issues.apache.org/jira/browse/FLINK-32056'>FLINK-32056</a>] -         Update the used Pulsar connector in flink-python to 4.0.0
</li>
<li>[<a href='https://issues.apache.org/jira/browse/FLINK-32110'>FLINK-32110</a>] -         TM native memory leak when using time window in Pyflink ThreadMode
</li>
<li>[<a href='https://issues.apache.org/jira/browse/FLINK-32136'>FLINK-32136</a>] -         Pyflink gateway server launch fails when purelib != platlib
</li>
<li>[<a href='https://issues.apache.org/jira/browse/FLINK-32141'>FLINK-32141</a>] -         SharedStateRegistry print too much info log
</li>
<li>[<a href='https://issues.apache.org/jira/browse/FLINK-32172'>FLINK-32172</a>] -         KafkaExample can not run with args
</li>
<li>[<a href='https://issues.apache.org/jira/browse/FLINK-32199'>FLINK-32199</a>] -         MetricStore does not remove metrics of nonexistent parallelism in TaskMetricStore when scale down job parallelism
</li>
<li>[<a href='https://issues.apache.org/jira/browse/FLINK-32217'>FLINK-32217</a>] -         Retain metric store can cause NPE 
</li>
<li>[<a href='https://issues.apache.org/jira/browse/FLINK-32219'>FLINK-32219</a>] -         SQL client hangs when executing EXECUTE PLAN
</li>
<li>[<a href='https://issues.apache.org/jira/browse/FLINK-32226'>FLINK-32226</a>] -         RestClusterClient leaks jobgraph file if submission fails
</li>
<li>[<a href='https://issues.apache.org/jira/browse/FLINK-32249'>FLINK-32249</a>] -         A Java string should be used instead of a Calcite NlsString to construct the column comment of CatalogTable
</li>
<li>[<a href='https://issues.apache.org/jira/browse/FLINK-32254'>FLINK-32254</a>] -         FineGrainedSlotManager may not allocate enough taskmangers if maxSlotNum is configured
</li>
<li>[<a href='https://issues.apache.org/jira/browse/FLINK-32296'>FLINK-32296</a>] -         Flink SQL handle array of row incorrectly
</li>
<li>[<a href='https://issues.apache.org/jira/browse/FLINK-32316'>FLINK-32316</a>] -         Duplicated announceCombinedWatermark task maybe scheduled if jobmanager failover
</li>
<li>[<a href='https://issues.apache.org/jira/browse/FLINK-32362'>FLINK-32362</a>] -         SourceAlignment announceCombinedWatermark period task maybe lost
</li>
<li>[<a href='https://issues.apache.org/jira/browse/FLINK-32411'>FLINK-32411</a>] -         SourceCoordinator thread leaks when job recovers from checkpoint
</li>
<li>[<a href='https://issues.apache.org/jira/browse/FLINK-32414'>FLINK-32414</a>] -         Watermark alignment will cause flink jobs to hang forever when any source subtask has no SourceSplit
</li>
<li>[<a href='https://issues.apache.org/jira/browse/FLINK-32447'>FLINK-32447</a>] -         table hints lost when they inside a view referenced by an external query
</li>
<li>[<a href='https://issues.apache.org/jira/browse/FLINK-32456'>FLINK-32456</a>] -         JSON_OBJECTAGG &amp; JSON_ARRAYAGG cannot be used with other aggregate functions
</li>
<li>[<a href='https://issues.apache.org/jira/browse/FLINK-32465'>FLINK-32465</a>] -         KerberosLoginProvider.isLoginPossible does accidental login with keytab
</li>
<li>[<a href='https://issues.apache.org/jira/browse/FLINK-32496'>FLINK-32496</a>] -         Sources with idleness and alignment always wait for alignment when part of multiple sources is idle
</li>
<li>[<a href='https://issues.apache.org/jira/browse/FLINK-32548'>FLINK-32548</a>] -         Make watermark alignment ready for production use
</li>
<li>[<a href='https://issues.apache.org/jira/browse/FLINK-32578'>FLINK-32578</a>] -         Cascaded group by window time columns on a proctime window aggregate may result hang for ever
</li>
<li>[<a href='https://issues.apache.org/jira/browse/FLINK-32583'>FLINK-32583</a>] -         RestClient can deadlock if request made after Netty event executor terminated
</li>
<li>[<a href='https://issues.apache.org/jira/browse/FLINK-32592'>FLINK-32592</a>] -         (Stream)ExEnv#initializeContextEnvironment isn&#39;t thread-safe
</li>
<li>[<a href='https://issues.apache.org/jira/browse/FLINK-32628'>FLINK-32628</a>] -         build_wheels_on_macos fails on AZP
</li>
<li>[<a href='https://issues.apache.org/jira/browse/FLINK-32655'>FLINK-32655</a>] -         RecreateOnResetOperatorCoordinator did not forward notifyCheckpointAborted to the real OperatorCoordinator
</li>
<li>[<a href='https://issues.apache.org/jira/browse/FLINK-32680'>FLINK-32680</a>] -         Job vertex names get messed up once there is a source vertex chained with a MultipleInput vertex in job graph
</li>
<li>[<a href='https://issues.apache.org/jira/browse/FLINK-32760'>FLINK-32760</a>] -         Version Conflict in flink-sql-connector-hive for shaded.parquet prefix packages
</li>
<li>[<a href='https://issues.apache.org/jira/browse/FLINK-32876'>FLINK-32876</a>] -         ExecutionTimeBasedSlowTaskDetector treats unscheduled tasks as slow tasks and causes speculative execution to fail.
</li>
<li>[<a href='https://issues.apache.org/jira/browse/FLINK-32888'>FLINK-32888</a>] -         File upload runs into EndOfDataDecoderException
</li>
<li>[<a href='https://issues.apache.org/jira/browse/FLINK-32909'>FLINK-32909</a>] -         The jobmanager.sh pass arguments failed
</li>
<li>[<a href='https://issues.apache.org/jira/browse/FLINK-32962'>FLINK-32962</a>] -         Failure to install python dependencies from requirements file
</li>
<li>[<a href='https://issues.apache.org/jira/browse/FLINK-32974'>FLINK-32974</a>] -         RestClusterClient always leaks flink-rest-client-jobgraphs* directories
<li>[<a href='https://issues.apache.org/jira/browse/FLINK-33010'>FLINK-33010</a>] -         NPE when using GREATEST() in Flink SQL
</li>
<li>[<a href='https://issues.apache.org/jira/browse/FLINK-33149'>FLINK-33149</a>] -         Bump snappy-java to 1.1.10.4
</li>
<li>[<a href='https://issues.apache.org/jira/browse/FLINK-33171'>FLINK-33171</a>] -         Consistent implicit type coercion support for equal and non-equal comparisons for codegen
</li>
<li>[<a href='https://issues.apache.org/jira/browse/FLINK-33291'>FLINK-33291</a>] -         The release profile of Flink does include enforcing the Java version only in a &quot;soft&quot; way
</li>
<li>[<a href='https://issues.apache.org/jira/browse/FLINK-33352'>FLINK-33352</a>] -         OpenAPI spec is lacking mappings for discriminator properties
</li>
<li>[<a href='https://issues.apache.org/jira/browse/FLINK-33442'>FLINK-33442</a>] -         UnsupportedOperationException thrown from RocksDBIncrementalRestoreOperation
</li>
<li>[<a href='https://issues.apache.org/jira/browse/FLINK-33474'>FLINK-33474</a>] -         ShowPlan throws undefined exception In Flink Web Submit Page
</li>
</ul>
<h2>        Improvement
</h2>
<ul>
<li>[<a href='https://issues.apache.org/jira/browse/FLINK-31774'>FLINK-31774</a>] -         Add document for delete and update statement
</li>
<li>[<a href='https://issues.apache.org/jira/browse/FLINK-32186'>FLINK-32186</a>] -         Support subtask stack auto-search when redirecting from subtask backpressure tab
</li>
<li>[<a href='https://issues.apache.org/jira/browse/FLINK-32304'>FLINK-32304</a>] -         Reduce rpc-akka jar size
</li>
<li>[<a href='https://issues.apache.org/jira/browse/FLINK-32314'>FLINK-32314</a>] -         Ignore class-loading errors after RPC system shutdown
</li>
<li>[<a href='https://issues.apache.org/jira/browse/FLINK-32371'>FLINK-32371</a>] -         Bump snappy-java to 1.1.10.1
</li>
<li>[<a href='https://issues.apache.org/jira/browse/FLINK-32457'>FLINK-32457</a>] -         update current documentation of JSON_OBJECTAGG/JSON_ARRAYAGG to clarify the limitation
</li>
<li>[<a href='https://issues.apache.org/jira/browse/FLINK-32458'>FLINK-32458</a>] -         support mixed use of JSON_OBJECTAGG &amp; JSON_ARRAYAGG with other aggregate functions
</li>
<li>[<a href='https://issues.apache.org/jira/browse/FLINK-32547'>FLINK-32547</a>] -         Add missing doc for Timestamp support in ProtoBuf format
</li>
<li>[<a href='https://issues.apache.org/jira/browse/FLINK-32758'>FLINK-32758</a>] -         PyFlink bounds are overly restrictive and outdated
</li>
<li>[<a href='https://issues.apache.org/jira/browse/FLINK-33316'>FLINK-33316</a>] -         Avoid unnecessary heavy getStreamOperatorFactory
</li>
<li>[<a href='https://issues.apache.org/jira/browse/FLINK-33487'>FLINK-33487</a>] -         Add the new Snowflake connector to supported list
</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/2023-11-29-release-1.17.2.md">
          Edit This Page<i class="fa fa-edit fa-fw"></i> 
        </a>
      </p>
    </div>

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


<nav id="TableOfContents"><h3>On This Page <a href="javascript:void(0)" class="toc" onclick="collapseToc()"><i class="fa fa-times" aria-hidden="true"></i></a></h3>
  <ul>
    <li><a href="#release-artifacts">Release Artifacts</a>
      <ul>
        <li><a href="#maven-dependencies">Maven Dependencies</a></li>
        <li><a href="#binaries">Binaries</a></li>
        <li><a href="#docker-images">Docker Images</a></li>
        <li><a href="#pypi">PyPi</a></li>
      </ul>
    </li>
    <li><a href="#release-notes">Release Notes</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>






