This is an automated email from the ASF dual-hosted git repository.

tzulitai pushed a commit to branch asf-site
in repository https://gitbox.apache.org/repos/asf/flink-web.git

commit 14a105e4737142b1cc9c480f6d2840ce48ad7a4a
Author: Tzu-Li (Gordon) Tai <[email protected]>
AuthorDate: Wed Nov 11 16:47:51 2020 +0800

    Rebuild website
---
 content/blog/index.html                            |  38 ++-
 content/blog/page10/index.html                     |  40 ++-
 content/blog/page11/index.html                     |  38 ++-
 content/blog/page12/index.html                     |  36 ++-
 content/blog/page13/index.html                     |  38 ++-
 content/blog/page14/index.html                     |  25 ++
 content/blog/page2/index.html                      |  40 +--
 content/blog/page3/index.html                      |  43 +--
 content/blog/page4/index.html                      |  39 ++-
 content/blog/page5/index.html                      |  38 ++-
 content/blog/page6/index.html                      |  38 ++-
 content/blog/page7/index.html                      |  38 ++-
 content/blog/page8/index.html                      |  40 ++-
 content/blog/page9/index.html                      |  40 ++-
 content/downloads.html                             |  30 +-
 content/index.html                                 |   8 +-
 .../news/2020/11/11/release-statefun-2.2.1.html    | 306 +++++++++++++++++++++
 17 files changed, 663 insertions(+), 212 deletions(-)

diff --git a/content/blog/index.html b/content/blog/index.html
index a6c5829..157130e 100644
--- a/content/blog/index.html
+++ b/content/blog/index.html
@@ -196,6 +196,21 @@
     <!-- Blog posts -->
     
     <article>
+      <h2 class="blog-title"><a 
href="/news/2020/11/11/release-statefun-2.2.1.html">Stateful Functions 2.2.1 
Release Announcement</a></h2>
+
+      <p>11 Nov 2020
+       Tzu-Li (Gordon) Tai (<a 
href="https://twitter.com/tzulitai";>@tzulitai</a>)</p>
+
+      <p><p>The Apache Flink community released the first bugfix release of 
the Stateful Functions (StateFun) 2.2 series, version 2.2.1.</p>
+
+</p>
+
+      <p><a href="/news/2020/11/11/release-statefun-2.2.1.html">Continue 
reading &raquo;</a></p>
+    </article>
+
+    <hr>
+    
+    <article>
       <h2 class="blog-title"><a 
href="/2020/10/15/from-aligned-to-unaligned-checkpoints-part-1.html">From 
Aligned to Unaligned Checkpoints - Part 1: Checkpoints, Alignment, and 
Backpressure</a></h2>
 
       <p>15 Oct 2020
@@ -324,19 +339,6 @@ as well as increased observability for operational 
purposes.</p>
 
     <hr>
     
-    <article>
-      <h2 class="blog-title"><a 
href="/news/2020/08/06/external-resource.html">Accelerating your workload with 
GPU and other external resources</a></h2>
-
-      <p>06 Aug 2020
-       Yangze Guo </p>
-
-      <p>This post introduces the new External Resource Framework in Flink 
1.11 and take GPU as an example to show how to accelerate your workload with 
external resources.</p>
-
-      <p><a href="/news/2020/08/06/external-resource.html">Continue reading 
&raquo;</a></p>
-    </article>
-
-    <hr>
-    
 
     <!-- Pagination links -->
     
@@ -369,6 +371,16 @@ as well as increased observability for operational 
purposes.</p>
 
     <ul id="markdown-toc">
       
+      <li><a href="/news/2020/11/11/release-statefun-2.2.1.html">Stateful 
Functions 2.2.1 Release Announcement</a></li>
+
+      
+        
+      
+    
+      
+      
+
+      
       <li><a 
href="/2020/10/15/from-aligned-to-unaligned-checkpoints-part-1.html">From 
Aligned to Unaligned Checkpoints - Part 1: Checkpoints, Alignment, and 
Backpressure</a></li>
 
       
diff --git a/content/blog/page10/index.html b/content/blog/page10/index.html
index 7f926e3..3bc96c3 100644
--- a/content/blog/page10/index.html
+++ b/content/blog/page10/index.html
@@ -196,6 +196,21 @@
     <!-- Blog posts -->
     
     <article>
+      <h2 class="blog-title"><a 
href="/news/2017/04/26/release-1.2.1.html">Apache Flink 1.2.1 Released</a></h2>
+
+      <p>26 Apr 2017
+      </p>
+
+      <p><p>The Apache Flink community released the first bugfix version of 
the Apache Flink 1.2 series.</p>
+
+</p>
+
+      <p><a href="/news/2017/04/26/release-1.2.1.html">Continue reading 
&raquo;</a></p>
+    </article>
+
+    <hr>
+    
+    <article>
       <h2 class="blog-title"><a 
href="/news/2017/04/04/dynamic-tables.html">Continuous Queries on Dynamic 
Tables</a></h2>
 
       <p>04 Apr 2017 by Fabian Hueske, Shaoxuan Wang, and Xiaowei Jiang
@@ -323,21 +338,6 @@
 
     <hr>
     
-    <article>
-      <h2 class="blog-title"><a 
href="/news/2016/08/11/release-1.1.1.html">Flink 1.1.1 Released</a></h2>
-
-      <p>11 Aug 2016
-      </p>
-
-      <p><p>Today, the Flink community released Flink version 1.1.1.</p>
-
-</p>
-
-      <p><a href="/news/2016/08/11/release-1.1.1.html">Continue reading 
&raquo;</a></p>
-    </article>
-
-    <hr>
-    
 
     <!-- Pagination links -->
     
@@ -370,6 +370,16 @@
 
     <ul id="markdown-toc">
       
+      <li><a href="/news/2020/11/11/release-statefun-2.2.1.html">Stateful 
Functions 2.2.1 Release Announcement</a></li>
+
+      
+        
+      
+    
+      
+      
+
+      
       <li><a 
href="/2020/10/15/from-aligned-to-unaligned-checkpoints-part-1.html">From 
Aligned to Unaligned Checkpoints - Part 1: Checkpoints, Alignment, and 
Backpressure</a></li>
 
       
diff --git a/content/blog/page11/index.html b/content/blog/page11/index.html
index b0db714..73c3d88 100644
--- a/content/blog/page11/index.html
+++ b/content/blog/page11/index.html
@@ -196,6 +196,21 @@
     <!-- Blog posts -->
     
     <article>
+      <h2 class="blog-title"><a 
href="/news/2016/08/11/release-1.1.1.html">Flink 1.1.1 Released</a></h2>
+
+      <p>11 Aug 2016
+      </p>
+
+      <p><p>Today, the Flink community released Flink version 1.1.1.</p>
+
+</p>
+
+      <p><a href="/news/2016/08/11/release-1.1.1.html">Continue reading 
&raquo;</a></p>
+    </article>
+
+    <hr>
+    
+    <article>
       <h2 class="blog-title"><a 
href="/news/2016/08/08/release-1.1.0.html">Announcing Apache Flink 
1.1.0</a></h2>
 
       <p>08 Aug 2016
@@ -327,19 +342,6 @@
 
     <hr>
     
-    <article>
-      <h2 class="blog-title"><a 
href="/news/2015/12/18/a-year-in-review.html">Flink 2015: A year in review, and 
a lookout to 2016</a></h2>
-
-      <p>18 Dec 2015 by Robert Metzger (<a 
href="https://twitter.com/";>@rmetzger_</a>)
-      </p>
-
-      <p><p>With 2015 ending, we thought that this would be good time to 
reflect on the amazing work done by the Flink community over this past year, 
and how much this community has grown.</p></p>
-
-      <p><a href="/news/2015/12/18/a-year-in-review.html">Continue reading 
&raquo;</a></p>
-    </article>
-
-    <hr>
-    
 
     <!-- Pagination links -->
     
@@ -372,6 +374,16 @@
 
     <ul id="markdown-toc">
       
+      <li><a href="/news/2020/11/11/release-statefun-2.2.1.html">Stateful 
Functions 2.2.1 Release Announcement</a></li>
+
+      
+        
+      
+    
+      
+      
+
+      
       <li><a 
href="/2020/10/15/from-aligned-to-unaligned-checkpoints-part-1.html">From 
Aligned to Unaligned Checkpoints - Part 1: Checkpoints, Alignment, and 
Backpressure</a></li>
 
       
diff --git a/content/blog/page12/index.html b/content/blog/page12/index.html
index dfd3f30..ae28927 100644
--- a/content/blog/page12/index.html
+++ b/content/blog/page12/index.html
@@ -196,6 +196,19 @@
     <!-- Blog posts -->
     
     <article>
+      <h2 class="blog-title"><a 
href="/news/2015/12/18/a-year-in-review.html">Flink 2015: A year in review, and 
a lookout to 2016</a></h2>
+
+      <p>18 Dec 2015 by Robert Metzger (<a 
href="https://twitter.com/";>@rmetzger_</a>)
+      </p>
+
+      <p><p>With 2015 ending, we thought that this would be good time to 
reflect on the amazing work done by the Flink community over this past year, 
and how much this community has grown.</p></p>
+
+      <p><a href="/news/2015/12/18/a-year-in-review.html">Continue reading 
&raquo;</a></p>
+    </article>
+
+    <hr>
+    
+    <article>
       <h2 class="blog-title"><a 
href="/news/2015/12/11/storm-compatibility.html">Storm Compatibility in Apache 
Flink: How to run existing Storm topologies on Flink</a></h2>
 
       <p>11 Dec 2015 by Matthias J. Sax (<a 
href="https://twitter.com/";>@MatthiasJSax</a>)
@@ -333,19 +346,6 @@ vertex-centric or gather-sum-apply to Flink dataflows.</p>
 
     <hr>
     
-    <article>
-      <h2 class="blog-title"><a 
href="/news/2015/05/14/Community-update-April.html">April 2015 in the Flink 
community</a></h2>
-
-      <p>14 May 2015 by Kostas Tzoumas (<a 
href="https://twitter.com/";>@kostas_tzoumas</a>)
-      </p>
-
-      <p><p>The monthly update from the Flink community. Including the 
availability of a new preview release, lots of meetups and conference talks and 
a great interview about Flink.</p></p>
-
-      <p><a href="/news/2015/05/14/Community-update-April.html">Continue 
reading &raquo;</a></p>
-    </article>
-
-    <hr>
-    
 
     <!-- Pagination links -->
     
@@ -378,6 +378,16 @@ vertex-centric or gather-sum-apply to Flink dataflows.</p>
 
     <ul id="markdown-toc">
       
+      <li><a href="/news/2020/11/11/release-statefun-2.2.1.html">Stateful 
Functions 2.2.1 Release Announcement</a></li>
+
+      
+        
+      
+    
+      
+      
+
+      
       <li><a 
href="/2020/10/15/from-aligned-to-unaligned-checkpoints-part-1.html">From 
Aligned to Unaligned Checkpoints - Part 1: Checkpoints, Alignment, and 
Backpressure</a></li>
 
       
diff --git a/content/blog/page13/index.html b/content/blog/page13/index.html
index 3f6a732..726898c 100644
--- a/content/blog/page13/index.html
+++ b/content/blog/page13/index.html
@@ -196,6 +196,19 @@
     <!-- Blog posts -->
     
     <article>
+      <h2 class="blog-title"><a 
href="/news/2015/05/14/Community-update-April.html">April 2015 in the Flink 
community</a></h2>
+
+      <p>14 May 2015 by Kostas Tzoumas (<a 
href="https://twitter.com/";>@kostas_tzoumas</a>)
+      </p>
+
+      <p><p>The monthly update from the Flink community. Including the 
availability of a new preview release, lots of meetups and conference talks and 
a great interview about Flink.</p></p>
+
+      <p><a href="/news/2015/05/14/Community-update-April.html">Continue 
reading &raquo;</a></p>
+    </article>
+
+    <hr>
+    
+    <article>
       <h2 class="blog-title"><a 
href="/news/2015/05/11/Juggling-with-Bits-and-Bytes.html">Juggling with Bits 
and Bytes</a></h2>
 
       <p>11 May 2015 by Fabian Hüske (<a 
href="https://twitter.com/";>@fhueske</a>)
@@ -339,21 +352,6 @@ and offers a new API including definition of flexible 
windows.</p>
 
     <hr>
     
-    <article>
-      <h2 class="blog-title"><a 
href="/news/2014/11/18/hadoop-compatibility.html">Hadoop Compatibility in 
Flink</a></h2>
-
-      <p>18 Nov 2014 by Fabian Hüske (<a 
href="https://twitter.com/";>@fhueske</a>)
-      </p>
-
-      <p><p><a href="http://hadoop.apache.org";>Apache Hadoop</a> is an 
industry standard for scalable analytical data processing. Many data analysis 
applications have been implemented as Hadoop MapReduce jobs and run in clusters 
around the world. Apache Flink can be an alternative to MapReduce and improves 
it in many dimensions. Among other features, Flink provides much better 
performance and offers APIs in Java and Scala, which are very easy to use. 
Similar to Hadoop, Flink’s APIs provi [...]
-
-</p>
-
-      <p><a href="/news/2014/11/18/hadoop-compatibility.html">Continue reading 
&raquo;</a></p>
-    </article>
-
-    <hr>
-    
 
     <!-- Pagination links -->
     
@@ -386,6 +384,16 @@ and offers a new API including definition of flexible 
windows.</p>
 
     <ul id="markdown-toc">
       
+      <li><a href="/news/2020/11/11/release-statefun-2.2.1.html">Stateful 
Functions 2.2.1 Release Announcement</a></li>
+
+      
+        
+      
+    
+      
+      
+
+      
       <li><a 
href="/2020/10/15/from-aligned-to-unaligned-checkpoints-part-1.html">From 
Aligned to Unaligned Checkpoints - Part 1: Checkpoints, Alignment, and 
Backpressure</a></li>
 
       
diff --git a/content/blog/page14/index.html b/content/blog/page14/index.html
index 323f0b8..eb9e990 100644
--- a/content/blog/page14/index.html
+++ b/content/blog/page14/index.html
@@ -196,6 +196,21 @@
     <!-- Blog posts -->
     
     <article>
+      <h2 class="blog-title"><a 
href="/news/2014/11/18/hadoop-compatibility.html">Hadoop Compatibility in 
Flink</a></h2>
+
+      <p>18 Nov 2014 by Fabian Hüske (<a 
href="https://twitter.com/";>@fhueske</a>)
+      </p>
+
+      <p><p><a href="http://hadoop.apache.org";>Apache Hadoop</a> is an 
industry standard for scalable analytical data processing. Many data analysis 
applications have been implemented as Hadoop MapReduce jobs and run in clusters 
around the world. Apache Flink can be an alternative to MapReduce and improves 
it in many dimensions. Among other features, Flink provides much better 
performance and offers APIs in Java and Scala, which are very easy to use. 
Similar to Hadoop, Flink’s APIs provi [...]
+
+</p>
+
+      <p><a href="/news/2014/11/18/hadoop-compatibility.html">Continue reading 
&raquo;</a></p>
+    </article>
+
+    <hr>
+    
+    <article>
       <h2 class="blog-title"><a 
href="/news/2014/11/04/release-0.7.0.html">Apache Flink 0.7.0 available</a></h2>
 
       <p>04 Nov 2014
@@ -290,6 +305,16 @@ academic and open source project that Flink originates 
from.</p>
 
     <ul id="markdown-toc">
       
+      <li><a href="/news/2020/11/11/release-statefun-2.2.1.html">Stateful 
Functions 2.2.1 Release Announcement</a></li>
+
+      
+        
+      
+    
+      
+      
+
+      
       <li><a 
href="/2020/10/15/from-aligned-to-unaligned-checkpoints-part-1.html">From 
Aligned to Unaligned Checkpoints - Part 1: Checkpoints, Alignment, and 
Backpressure</a></li>
 
       
diff --git a/content/blog/page2/index.html b/content/blog/page2/index.html
index 0142cd6..3370615 100644
--- a/content/blog/page2/index.html
+++ b/content/blog/page2/index.html
@@ -196,6 +196,19 @@
     <!-- Blog posts -->
     
     <article>
+      <h2 class="blog-title"><a 
href="/news/2020/08/06/external-resource.html">Accelerating your workload with 
GPU and other external resources</a></h2>
+
+      <p>06 Aug 2020
+       Yangze Guo </p>
+
+      <p>This post introduces the new External Resource Framework in Flink 
1.11 and take GPU as an example to show how to accelerate your workload with 
external resources.</p>
+
+      <p><a href="/news/2020/08/06/external-resource.html">Continue reading 
&raquo;</a></p>
+    </article>
+
+    <hr>
+    
+    <article>
       <h2 class="blog-title"><a 
href="/2020/08/04/pyflink-pandas-udf-support-flink.html">PyFlink: The 
integration of Pandas into PyFlink</a></h2>
 
       <p>04 Aug 2020
@@ -326,23 +339,6 @@ perform streaming data visualization via Flink on Zeppelin 
and how to use Apache
 
     <hr>
     
-    <article>
-      <h2 class="blog-title"><a 
href="/news/2020/06/15/flink-on-zeppelin-part1.html">Flink on Zeppelin 
Notebooks for Interactive Data Analysis - Part 1</a></h2>
-
-      <p>15 Jun 2020
-       Jeff Zhang (<a href="https://twitter.com/zjffdu";>@zjffdu</a>)</p>
-
-      <p><p>The latest release of <a 
href="https://zeppelin.apache.org/";>Apache Zeppelin</a> comes with a redesigned 
interpreter for Apache Flink (version Flink 1.10+ is only supported moving 
forward) 
-that allows developers to use Flink directly on Zeppelin notebooks for 
interactive data analysis. I wrote 2 posts about how to use Flink in Zeppelin. 
This is part-1 where I explain how the Flink interpreter in Zeppelin works, 
-and provide a tutorial for running Streaming ETL with Flink on Zeppelin.</p>
-
-</p>
-
-      <p><a href="/news/2020/06/15/flink-on-zeppelin-part1.html">Continue 
reading &raquo;</a></p>
-    </article>
-
-    <hr>
-    
 
     <!-- Pagination links -->
     
@@ -375,6 +371,16 @@ and provide a tutorial for running Streaming ETL with 
Flink on Zeppelin.</p>
 
     <ul id="markdown-toc">
       
+      <li><a href="/news/2020/11/11/release-statefun-2.2.1.html">Stateful 
Functions 2.2.1 Release Announcement</a></li>
+
+      
+        
+      
+    
+      
+      
+
+      
       <li><a 
href="/2020/10/15/from-aligned-to-unaligned-checkpoints-part-1.html">From 
Aligned to Unaligned Checkpoints - Part 1: Checkpoints, Alignment, and 
Backpressure</a></li>
 
       
diff --git a/content/blog/page3/index.html b/content/blog/page3/index.html
index 8bad354..1ddb1ad 100644
--- a/content/blog/page3/index.html
+++ b/content/blog/page3/index.html
@@ -196,6 +196,23 @@
     <!-- Blog posts -->
     
     <article>
+      <h2 class="blog-title"><a 
href="/news/2020/06/15/flink-on-zeppelin-part1.html">Flink on Zeppelin 
Notebooks for Interactive Data Analysis - Part 1</a></h2>
+
+      <p>15 Jun 2020
+       Jeff Zhang (<a href="https://twitter.com/zjffdu";>@zjffdu</a>)</p>
+
+      <p><p>The latest release of <a 
href="https://zeppelin.apache.org/";>Apache Zeppelin</a> comes with a redesigned 
interpreter for Apache Flink (version Flink 1.10+ is only supported moving 
forward) 
+that allows developers to use Flink directly on Zeppelin notebooks for 
interactive data analysis. I wrote 2 posts about how to use Flink in Zeppelin. 
This is part-1 where I explain how the Flink interpreter in Zeppelin works, 
+and provide a tutorial for running Streaming ETL with Flink on Zeppelin.</p>
+
+</p>
+
+      <p><a href="/news/2020/06/15/flink-on-zeppelin-part1.html">Continue 
reading &raquo;</a></p>
+    </article>
+
+    <hr>
+    
+    <article>
       <h2 class="blog-title"><a 
href="/news/2020/06/11/community-update.html">Flink Community Update - 
June'20</a></h2>
 
       <p>11 Jun 2020
@@ -318,22 +335,6 @@
 
     <hr>
     
-    <article>
-      <h2 class="blog-title"><a 
href="/news/2020/04/07/release-statefun-2.0.0.html">Stateful Functions 2.0 - An 
Event-driven Database on Apache Flink</a></h2>
-
-      <p>07 Apr 2020
-       Stephan Ewen (<a 
href="https://twitter.com/stephanewen";>@stephanewen</a>)</p>
-
-      <p><p>Today, we are announcing the release of Stateful Functions 
(StateFun) 2.0 — the first release of Stateful Functions as part of the Apache 
Flink project.
-This release marks a big milestone: Stateful Functions 2.0 is not only an API 
update, but the <strong>first version of an event-driven database</strong> that 
is built on Apache Flink.</p>
-
-</p>
-
-      <p><a href="/news/2020/04/07/release-statefun-2.0.0.html">Continue 
reading &raquo;</a></p>
-    </article>
-
-    <hr>
-    
 
     <!-- Pagination links -->
     
@@ -366,6 +367,16 @@ This release marks a big milestone: Stateful Functions 2.0 
is not only an API up
 
     <ul id="markdown-toc">
       
+      <li><a href="/news/2020/11/11/release-statefun-2.2.1.html">Stateful 
Functions 2.2.1 Release Announcement</a></li>
+
+      
+        
+      
+    
+      
+      
+
+      
       <li><a 
href="/2020/10/15/from-aligned-to-unaligned-checkpoints-part-1.html">From 
Aligned to Unaligned Checkpoints - Part 1: Checkpoints, Alignment, and 
Backpressure</a></li>
 
       
diff --git a/content/blog/page4/index.html b/content/blog/page4/index.html
index 52f1a36..026b8ea 100644
--- a/content/blog/page4/index.html
+++ b/content/blog/page4/index.html
@@ -196,6 +196,22 @@
     <!-- Blog posts -->
     
     <article>
+      <h2 class="blog-title"><a 
href="/news/2020/04/07/release-statefun-2.0.0.html">Stateful Functions 2.0 - An 
Event-driven Database on Apache Flink</a></h2>
+
+      <p>07 Apr 2020
+       Stephan Ewen (<a 
href="https://twitter.com/stephanewen";>@stephanewen</a>)</p>
+
+      <p><p>Today, we are announcing the release of Stateful Functions 
(StateFun) 2.0 — the first release of Stateful Functions as part of the Apache 
Flink project.
+This release marks a big milestone: Stateful Functions 2.0 is not only an API 
update, but the <strong>first version of an event-driven database</strong> that 
is built on Apache Flink.</p>
+
+</p>
+
+      <p><a href="/news/2020/04/07/release-statefun-2.0.0.html">Continue 
reading &raquo;</a></p>
+    </article>
+
+    <hr>
+    
+    <article>
       <h2 class="blog-title"><a 
href="/news/2020/04/01/community-update.html">Flink Community Update - 
April'20</a></h2>
 
       <p>01 Apr 2020
@@ -318,19 +334,6 @@
 
     <hr>
     
-    <article>
-      <h2 class="blog-title"><a 
href="/news/2020/01/15/demo-fraud-detection.html">Advanced Flink Application 
Patterns Vol.1: Case Study of a Fraud Detection System</a></h2>
-
-      <p>15 Jan 2020
-       Alexander Fedulov (<a 
href="https://twitter.com/alex_fedulov";>@alex_fedulov</a>)</p>
-
-      <p>In this series of blog posts you will learn about three powerful 
Flink patterns for building streaming applications.</p>
-
-      <p><a href="/news/2020/01/15/demo-fraud-detection.html">Continue reading 
&raquo;</a></p>
-    </article>
-
-    <hr>
-    
 
     <!-- Pagination links -->
     
@@ -363,6 +366,16 @@
 
     <ul id="markdown-toc">
       
+      <li><a href="/news/2020/11/11/release-statefun-2.2.1.html">Stateful 
Functions 2.2.1 Release Announcement</a></li>
+
+      
+        
+      
+    
+      
+      
+
+      
       <li><a 
href="/2020/10/15/from-aligned-to-unaligned-checkpoints-part-1.html">From 
Aligned to Unaligned Checkpoints - Part 1: Checkpoints, Alignment, and 
Backpressure</a></li>
 
       
diff --git a/content/blog/page5/index.html b/content/blog/page5/index.html
index 94e06da..0899c30 100644
--- a/content/blog/page5/index.html
+++ b/content/blog/page5/index.html
@@ -196,6 +196,19 @@
     <!-- Blog posts -->
     
     <article>
+      <h2 class="blog-title"><a 
href="/news/2020/01/15/demo-fraud-detection.html">Advanced Flink Application 
Patterns Vol.1: Case Study of a Fraud Detection System</a></h2>
+
+      <p>15 Jan 2020
+       Alexander Fedulov (<a 
href="https://twitter.com/alex_fedulov";>@alex_fedulov</a>)</p>
+
+      <p>In this series of blog posts you will learn about three powerful 
Flink patterns for building streaming applications.</p>
+
+      <p><a href="/news/2020/01/15/demo-fraud-detection.html">Continue reading 
&raquo;</a></p>
+    </article>
+
+    <hr>
+    
+    <article>
       <h2 class="blog-title"><a 
href="/news/2019/12/11/release-1.8.3.html">Apache Flink 1.8.3 Released</a></h2>
 
       <p>11 Dec 2019
@@ -321,21 +334,6 @@
 
     <hr>
     
-    <article>
-      <h2 class="blog-title"><a 
href="/news/2019/07/02/release-1.8.1.html">Apache Flink 1.8.1 Released</a></h2>
-
-      <p>02 Jul 2019
-       Jincheng Sun (<a 
href="https://twitter.com/sunjincheng121";>@sunjincheng121</a>)</p>
-
-      <p><p>The Apache Flink community released the first bugfix version of 
the Apache Flink 1.8 series.</p>
-
-</p>
-
-      <p><a href="/news/2019/07/02/release-1.8.1.html">Continue reading 
&raquo;</a></p>
-    </article>
-
-    <hr>
-    
 
     <!-- Pagination links -->
     
@@ -368,6 +366,16 @@
 
     <ul id="markdown-toc">
       
+      <li><a href="/news/2020/11/11/release-statefun-2.2.1.html">Stateful 
Functions 2.2.1 Release Announcement</a></li>
+
+      
+        
+      
+    
+      
+      
+
+      
       <li><a 
href="/2020/10/15/from-aligned-to-unaligned-checkpoints-part-1.html">From 
Aligned to Unaligned Checkpoints - Part 1: Checkpoints, Alignment, and 
Backpressure</a></li>
 
       
diff --git a/content/blog/page6/index.html b/content/blog/page6/index.html
index edf7fcc..56fb88a 100644
--- a/content/blog/page6/index.html
+++ b/content/blog/page6/index.html
@@ -196,6 +196,21 @@
     <!-- Blog posts -->
     
     <article>
+      <h2 class="blog-title"><a 
href="/news/2019/07/02/release-1.8.1.html">Apache Flink 1.8.1 Released</a></h2>
+
+      <p>02 Jul 2019
+       Jincheng Sun (<a 
href="https://twitter.com/sunjincheng121";>@sunjincheng121</a>)</p>
+
+      <p><p>The Apache Flink community released the first bugfix version of 
the Apache Flink 1.8 series.</p>
+
+</p>
+
+      <p><a href="/news/2019/07/02/release-1.8.1.html">Continue reading 
&raquo;</a></p>
+    </article>
+
+    <hr>
+    
+    <article>
       <h2 class="blog-title"><a href="/2019/06/26/broadcast-state.html">A 
Practical Guide to Broadcast State in Apache Flink</a></h2>
 
       <p>26 Jun 2019
@@ -320,19 +335,6 @@ for more details.</p>
 
     <hr>
     
-    <article>
-      <h2 class="blog-title"><a 
href="/news/2019/02/25/monitoring-best-practices.html">Monitoring Apache Flink 
Applications 101</a></h2>
-
-      <p>25 Feb 2019
-       Konstantin Knauf (<a 
href="https://twitter.com/snntrable";>@snntrable</a>)</p>
-
-      <p>The monitoring of business-critical applications is a crucial aspect 
of a production deployment. It ensures that any degradation or downtime is 
immediately identified and can be resolved as quickly as possible. In this 
post, we discuss the most important metrics that indicate healthy Flink 
applications.</p>
-
-      <p><a href="/news/2019/02/25/monitoring-best-practices.html">Continue 
reading &raquo;</a></p>
-    </article>
-
-    <hr>
-    
 
     <!-- Pagination links -->
     
@@ -365,6 +367,16 @@ for more details.</p>
 
     <ul id="markdown-toc">
       
+      <li><a href="/news/2020/11/11/release-statefun-2.2.1.html">Stateful 
Functions 2.2.1 Release Announcement</a></li>
+
+      
+        
+      
+    
+      
+      
+
+      
       <li><a 
href="/2020/10/15/from-aligned-to-unaligned-checkpoints-part-1.html">From 
Aligned to Unaligned Checkpoints - Part 1: Checkpoints, Alignment, and 
Backpressure</a></li>
 
       
diff --git a/content/blog/page7/index.html b/content/blog/page7/index.html
index 4a09aac..bbffda8 100644
--- a/content/blog/page7/index.html
+++ b/content/blog/page7/index.html
@@ -196,6 +196,19 @@
     <!-- Blog posts -->
     
     <article>
+      <h2 class="blog-title"><a 
href="/news/2019/02/25/monitoring-best-practices.html">Monitoring Apache Flink 
Applications 101</a></h2>
+
+      <p>25 Feb 2019
+       Konstantin Knauf (<a 
href="https://twitter.com/snntrable";>@snntrable</a>)</p>
+
+      <p>The monitoring of business-critical applications is a crucial aspect 
of a production deployment. It ensures that any degradation or downtime is 
immediately identified and can be resolved as quickly as possible. In this 
post, we discuss the most important metrics that indicate healthy Flink 
applications.</p>
+
+      <p><a href="/news/2019/02/25/monitoring-best-practices.html">Continue 
reading &raquo;</a></p>
+    </article>
+
+    <hr>
+    
+    <article>
       <h2 class="blog-title"><a 
href="/news/2019/02/25/release-1.6.4.html">Apache Flink 1.6.4 Released</a></h2>
 
       <p>25 Feb 2019
@@ -330,21 +343,6 @@ Please check the <a 
href="https://issues.apache.org/jira/secure/ReleaseNote.jspa
 
     <hr>
     
-    <article>
-      <h2 class="blog-title"><a 
href="/news/2018/09/20/release-1.6.1.html">Apache Flink 1.6.1 Released</a></h2>
-
-      <p>20 Sep 2018
-      </p>
-
-      <p><p>The Apache Flink community released the first bugfix version of 
the Apache Flink 1.6 series.</p>
-
-</p>
-
-      <p><a href="/news/2018/09/20/release-1.6.1.html">Continue reading 
&raquo;</a></p>
-    </article>
-
-    <hr>
-    
 
     <!-- Pagination links -->
     
@@ -377,6 +375,16 @@ Please check the <a 
href="https://issues.apache.org/jira/secure/ReleaseNote.jspa
 
     <ul id="markdown-toc">
       
+      <li><a href="/news/2020/11/11/release-statefun-2.2.1.html">Stateful 
Functions 2.2.1 Release Announcement</a></li>
+
+      
+        
+      
+    
+      
+      
+
+      
       <li><a 
href="/2020/10/15/from-aligned-to-unaligned-checkpoints-part-1.html">From 
Aligned to Unaligned Checkpoints - Part 1: Checkpoints, Alignment, and 
Backpressure</a></li>
 
       
diff --git a/content/blog/page8/index.html b/content/blog/page8/index.html
index 8a29d42..04b0a55 100644
--- a/content/blog/page8/index.html
+++ b/content/blog/page8/index.html
@@ -196,6 +196,21 @@
     <!-- Blog posts -->
     
     <article>
+      <h2 class="blog-title"><a 
href="/news/2018/09/20/release-1.6.1.html">Apache Flink 1.6.1 Released</a></h2>
+
+      <p>20 Sep 2018
+      </p>
+
+      <p><p>The Apache Flink community released the first bugfix version of 
the Apache Flink 1.6 series.</p>
+
+</p>
+
+      <p><a href="/news/2018/09/20/release-1.6.1.html">Continue reading 
&raquo;</a></p>
+    </article>
+
+    <hr>
+    
+    <article>
       <h2 class="blog-title"><a 
href="/news/2018/09/20/release-1.5.4.html">Apache Flink 1.5.4 Released</a></h2>
 
       <p>20 Sep 2018
@@ -328,21 +343,6 @@
 
     <hr>
     
-    <article>
-      <h2 class="blog-title"><a 
href="/news/2018/02/15/release-1.4.1.html">Apache Flink 1.4.1 Released</a></h2>
-
-      <p>15 Feb 2018
-      </p>
-
-      <p><p>The Apache Flink community released the first bugfix version of 
the Apache Flink 1.4 series.</p>
-
-</p>
-
-      <p><a href="/news/2018/02/15/release-1.4.1.html">Continue reading 
&raquo;</a></p>
-    </article>
-
-    <hr>
-    
 
     <!-- Pagination links -->
     
@@ -375,6 +375,16 @@
 
     <ul id="markdown-toc">
       
+      <li><a href="/news/2020/11/11/release-statefun-2.2.1.html">Stateful 
Functions 2.2.1 Release Announcement</a></li>
+
+      
+        
+      
+    
+      
+      
+
+      
       <li><a 
href="/2020/10/15/from-aligned-to-unaligned-checkpoints-part-1.html">From 
Aligned to Unaligned Checkpoints - Part 1: Checkpoints, Alignment, and 
Backpressure</a></li>
 
       
diff --git a/content/blog/page9/index.html b/content/blog/page9/index.html
index 610fe2e..9e6d9a0 100644
--- a/content/blog/page9/index.html
+++ b/content/blog/page9/index.html
@@ -196,6 +196,21 @@
     <!-- Blog posts -->
     
     <article>
+      <h2 class="blog-title"><a 
href="/news/2018/02/15/release-1.4.1.html">Apache Flink 1.4.1 Released</a></h2>
+
+      <p>15 Feb 2018
+      </p>
+
+      <p><p>The Apache Flink community released the first bugfix version of 
the Apache Flink 1.4 series.</p>
+
+</p>
+
+      <p><a href="/news/2018/02/15/release-1.4.1.html">Continue reading 
&raquo;</a></p>
+    </article>
+
+    <hr>
+    
+    <article>
       <h2 class="blog-title"><a 
href="/features/2018/01/30/incremental-checkpointing.html">Managing Large State 
in Apache Flink: An Intro to Incremental Checkpointing</a></h2>
 
       <p>30 Jan 2018
@@ -329,21 +344,6 @@ what’s coming in Flink 1.4.0 as well as a preview of what 
the Flink community
 
     <hr>
     
-    <article>
-      <h2 class="blog-title"><a 
href="/news/2017/04/26/release-1.2.1.html">Apache Flink 1.2.1 Released</a></h2>
-
-      <p>26 Apr 2017
-      </p>
-
-      <p><p>The Apache Flink community released the first bugfix version of 
the Apache Flink 1.2 series.</p>
-
-</p>
-
-      <p><a href="/news/2017/04/26/release-1.2.1.html">Continue reading 
&raquo;</a></p>
-    </article>
-
-    <hr>
-    
 
     <!-- Pagination links -->
     
@@ -376,6 +376,16 @@ what’s coming in Flink 1.4.0 as well as a preview of what 
the Flink community
 
     <ul id="markdown-toc">
       
+      <li><a href="/news/2020/11/11/release-statefun-2.2.1.html">Stateful 
Functions 2.2.1 Release Announcement</a></li>
+
+      
+        
+      
+    
+      
+      
+
+      
       <li><a 
href="/2020/10/15/from-aligned-to-unaligned-checkpoints-part-1.html">From 
Aligned to Unaligned Checkpoints - Part 1: Checkpoints, Alignment, and 
Backpressure</a></li>
 
       
diff --git a/content/downloads.html b/content/downloads.html
index a6e175e..6c38904 100644
--- a/content/downloads.html
+++ b/content/downloads.html
@@ -209,8 +209,7 @@ $( document ).ready(function() {
 <ul id="markdown-toc">
   <li><a href="#apache-flink-1112" id="markdown-toc-apache-flink-1112">Apache 
Flink 1.11.2</a></li>
   <li><a href="#apache-flink-1102" id="markdown-toc-apache-flink-1102">Apache 
Flink 1.10.2</a></li>
-  <li><a href="#apache-flink-stateful-functions-220" 
id="markdown-toc-apache-flink-stateful-functions-220">Apache Flink Stateful 
Functions 2.2.0</a></li>
-  <li><a href="#apache-flink-stateful-functions-210" 
id="markdown-toc-apache-flink-stateful-functions-210">Apache Flink Stateful 
Functions 2.1.0</a></li>
+  <li><a href="#apache-flink-stateful-functions-221" 
id="markdown-toc-apache-flink-stateful-functions-221">Apache Flink Stateful 
Functions 2.2.1</a></li>
   <li><a href="#additional-components" 
id="markdown-toc-additional-components">Additional Components</a></li>
   <li><a href="#verifying-hashes-and-signatures" 
id="markdown-toc-verifying-hashes-and-signatures">Verifying Hashes and 
Signatures</a></li>
   <li><a href="#maven-dependencies" id="markdown-toc-maven-dependencies">Maven 
Dependencies</a>    <ul>
@@ -297,30 +296,19 @@ file system connector), please check out the <a 
href="https://ci.apache.org/proj
 
 <hr />
 
-<p>Apache Flink® Stateful Functions 2.2.0 is the latest stable release for the 
<a href="https://flink.apache.org/stateful-functions.html";>Stateful 
Functions</a> component.</p>
+<p>Apache Flink® Stateful Functions 2.2.1 is the latest stable release for the 
<a href="https://flink.apache.org/stateful-functions.html";>Stateful 
Functions</a> component.</p>
 
-<h2 id="apache-flink-stateful-functions-220">Apache Flink Stateful Functions 
2.2.0</h2>
+<h2 id="apache-flink-stateful-functions-221">Apache Flink Stateful Functions 
2.2.1</h2>
 
 <p>
-<a 
href="https://www.apache.org/dyn/closer.lua/flink/flink-statefun-2.2.0/flink-statefun-2.2.0-src.tgz";
 class="ga-track" id="220-statefun-download-source">Apache Flink Stateful 
Functions 2.2.0 Source Release</a>
-(<a 
href="https://downloads.apache.org/flink/flink-statefun-2.2.0/flink-statefun-2.2.0-src.tgz.asc";>asc</a>,
 <a 
href="https://downloads.apache.org/flink/flink-statefun-2.2.0/flink-statefun-2.2.0-src.tgz.sha512";>sha512</a>)
+<a 
href="https://www.apache.org/dyn/closer.lua/flink/flink-statefun-2.2.1/flink-statefun-2.2.1-src.tgz";
 class="ga-track" id="221-statefun-download-source">Apache Flink Stateful 
Functions 2.2.1 Source Release</a>
+(<a 
href="https://downloads.apache.org/flink/flink-statefun-2.2.1/flink-statefun-2.2.1-src.tgz.asc";>asc</a>,
 <a 
href="https://downloads.apache.org/flink/flink-statefun-2.2.1/flink-statefun-2.2.1-src.tgz.sha512";>sha512</a>)
 </p>
 
 <p>This version is compatible with Apache Flink version 1.11.1.</p>
 
 <hr />
 
-<h2 id="apache-flink-stateful-functions-210">Apache Flink Stateful Functions 
2.1.0</h2>
-
-<p>
-<a 
href="https://www.apache.org/dyn/closer.lua/flink/flink-statefun-2.1.0/flink-statefun-2.1.0-src.tgz";
 class="ga-track" id="210-statefun-download-source">Apache Flink Stateful 
Functions 2.1.0 Source Release</a>
-(<a 
href="https://downloads.apache.org/flink/flink-statefun-2.1.0/flink-statefun-2.1.0-src.tgz.asc";>asc</a>,
 <a 
href="https://downloads.apache.org/flink/flink-statefun-2.1.0/flink-statefun-2.1.0-src.tgz.sha512";>sha512</a>)
-</p>
-
-<p>This version is compatible with Apache Flink version 1.10.1.</p>
-
-<hr />
-
 <h2 id="additional-components">Additional Components</h2>
 
 <p>These are components that the Flink project develops which are not part of 
the
@@ -388,12 +376,12 @@ main Flink release:</p>
 <div class="highlight"><pre><code class="language-xml"><span 
class="nt">&lt;dependency&gt;</span>
   <span class="nt">&lt;groupId&gt;</span>org.apache.flink<span 
class="nt">&lt;/groupId&gt;</span>
   <span class="nt">&lt;artifactId&gt;</span>statefun-sdk<span 
class="nt">&lt;/artifactId&gt;</span>
-  <span class="nt">&lt;version&gt;</span>2.2.0<span 
class="nt">&lt;/version&gt;</span>
+  <span class="nt">&lt;version&gt;</span>2.2.1<span 
class="nt">&lt;/version&gt;</span>
 <span class="nt">&lt;/dependency&gt;</span>
 <span class="nt">&lt;dependency&gt;</span>
   <span class="nt">&lt;groupId&gt;</span>org.apache.flink<span 
class="nt">&lt;/groupId&gt;</span>
   <span class="nt">&lt;artifactId&gt;</span>statefun-flink-harness<span 
class="nt">&lt;/artifactId&gt;</span>
-  <span class="nt">&lt;version&gt;</span>2.2.0<span 
class="nt">&lt;/version&gt;</span>
+  <span class="nt">&lt;version&gt;</span>2.2.1<span 
class="nt">&lt;/version&gt;</span>
 <span class="nt">&lt;/dependency&gt;</span></code></pre></div>
 
 <p>The <code>statefun-sdk</code> dependency is the only one you will need to 
start developing applications.
@@ -1036,8 +1024,8 @@ Flink 0.6-incubating - 2014-08-26
 <ul>
 
 <li>
-Flink Stateful Functions 2.2.0 - 2020-09-28 
-(<a 
href="https://archive.apache.org/dist/flink/flink-statefun-2.2.0/flink-statefun-2.2.0-src.tgz";>Source</a>,
 
+Flink Stateful Functions 2.2.1 - 2020-11-09 
+(<a 
href="https://archive.apache.org/dist/flink/flink-statefun-2.2.1/flink-statefun-2.2.1-src.tgz";>Source</a>,
 
 <a 
href="https://ci.apache.org/projects/flink/flink-statefun-docs-release-2.2";>Docs</a>,
 
 <a 
href="https://ci.apache.org/projects/flink/flink-statefun-docs-release-2.2/api/java";>Javadocs</a>)
 
 </li>
diff --git a/content/index.html b/content/index.html
index 1b94731..2de5aeb 100644
--- a/content/index.html
+++ b/content/index.html
@@ -568,6 +568,11 @@
 
   <dl>
       
+        <dt> <a href="/news/2020/11/11/release-statefun-2.2.1.html">Stateful 
Functions 2.2.1 Release Announcement</a></dt>
+        <dd><p>The Apache Flink community released the first bugfix release of 
the Stateful Functions (StateFun) 2.2 series, version 2.2.1.</p>
+
+</dd>
+      
         <dt> <a 
href="/2020/10/15/from-aligned-to-unaligned-checkpoints-part-1.html">From 
Aligned to Unaligned Checkpoints - Part 1: Checkpoints, Alignment, and 
Backpressure</a></dt>
         <dd>Apache Flink’s checkpoint-based fault tolerance mechanism is one 
of its defining features. Because of that design, Flink unifies batch and 
stream processing, can easily scale to both very small and extremely large 
scenarios and provides support for many operational features. In this post we 
recap the original checkpointing process in Flink, its core properties and 
issues under backpressure.</dd>
       
@@ -587,9 +592,6 @@ as well as increased observability for operational 
purposes.</p>
         <dd><p>The Apache Flink community released the second bugfix version 
of the Apache Flink 1.11 series.</p>
 
 </dd>
-      
-        <dt> <a href="/news/2020/09/04/community-update.html">Flink Community 
Update - August'20</a></dt>
-        <dd>Ah, so much for a quiet August month. This time around, we bring 
you some new Flink Improvement Proposals (FLIPs), a preview of the upcoming 
Flink Stateful Functions 2.2 release and a look into how far Flink has come in 
comparison to 2019.</dd>
     
   </dl>
 
diff --git a/content/news/2020/11/11/release-statefun-2.2.1.html 
b/content/news/2020/11/11/release-statefun-2.2.1.html
new file mode 100644
index 0000000..a94c0d2
--- /dev/null
+++ b/content/news/2020/11/11/release-statefun-2.2.1.html
@@ -0,0 +1,306 @@
+<!DOCTYPE html>
+<html lang="en">
+  <head>
+    <meta charset="utf-8">
+    <meta http-equiv="X-UA-Compatible" content="IE=edge">
+    <meta name="viewport" content="width=device-width, initial-scale=1">
+    <!-- The above 3 meta tags *must* come first in the head; any other head 
content must come *after* these tags -->
+    <title>Apache Flink: Stateful Functions 2.2.1 Release Announcement</title>
+    <link rel="shortcut icon" href="/favicon.ico" type="image/x-icon">
+    <link rel="icon" href="/favicon.ico" type="image/x-icon">
+
+    <!-- Bootstrap -->
+    <link rel="stylesheet" 
href="https://maxcdn.bootstrapcdn.com/bootstrap/3.4.1/css/bootstrap.min.css";>
+    <link rel="stylesheet" href="/css/flink.css">
+    <link rel="stylesheet" href="/css/syntax.css">
+
+    <!-- Blog RSS feed -->
+    <link href="/blog/feed.xml" rel="alternate" type="application/rss+xml" 
title="Apache Flink Blog: RSS feed" />
+
+    <!-- jQuery (necessary for Bootstrap's JavaScript plugins) -->
+    <!-- We need to load Jquery in the header for custom google analytics 
event tracking-->
+    <script src="/js/jquery.min.js"></script>
+
+    <!-- HTML5 shim and Respond.js for IE8 support of HTML5 elements and media 
queries -->
+    <!-- WARNING: Respond.js doesn't work if you view the page via file:// -->
+    <!--[if lt IE 9]>
+      <script 
src="https://oss.maxcdn.com/html5shiv/3.7.2/html5shiv.min.js";></script>
+      <script 
src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js";></script>
+    <![endif]-->
+  </head>
+  <body>  
+    
+
+    <!-- Main content. -->
+    <div class="container">
+    <div class="row">
+
+      
+     <div id="sidebar" class="col-sm-3">
+        
+
+<!-- Top navbar. -->
+    <nav class="navbar navbar-default">
+        <!-- The logo. -->
+        <div class="navbar-header">
+          <button type="button" class="navbar-toggle collapsed" 
data-toggle="collapse" data-target="#bs-example-navbar-collapse-1">
+            <span class="icon-bar"></span>
+            <span class="icon-bar"></span>
+            <span class="icon-bar"></span>
+          </button>
+          <div class="navbar-logo">
+            <a href="/">
+              <img alt="Apache Flink" src="/img/flink-header-logo.svg" 
width="147px" height="73px">
+            </a>
+          </div>
+        </div><!-- /.navbar-header -->
+
+        <!-- The navigation links. -->
+        <div class="collapse navbar-collapse" 
id="bs-example-navbar-collapse-1">
+          <ul class="nav navbar-nav navbar-main">
+
+            <!-- First menu section explains visitors what Flink is -->
+
+            <!-- What is Stream Processing? -->
+            <!--
+            <li><a href="/streamprocessing1.html">What is Stream 
Processing?</a></li>
+            -->
+
+            <!-- What is Flink? -->
+            <li><a href="/flink-architecture.html">What is Apache 
Flink?</a></li>
+
+            
+
+            <!-- What is Stateful Functions? -->
+
+            <li><a href="/stateful-functions.html">What is Stateful 
Functions?</a></li>
+
+            <!-- Use cases -->
+            <li><a href="/usecases.html">Use Cases</a></li>
+
+            <!-- Powered by -->
+            <li><a href="/poweredby.html">Powered By</a></li>
+
+
+            &nbsp;
+            <!-- Second menu section aims to support Flink users -->
+
+            <!-- Downloads -->
+            <li><a href="/downloads.html">Downloads</a></li>
+
+            <!-- Getting Started -->
+            <li class="dropdown">
+              <a class="dropdown-toggle" data-toggle="dropdown" 
href="#">Getting Started<span class="caret"></span></a>
+              <ul class="dropdown-menu">
+                <li><a 
href="https://ci.apache.org/projects/flink/flink-docs-release-1.11/getting-started/index.html";
 target="_blank">With Flink <small><span class="glyphicon 
glyphicon-new-window"></span></small></a></li>
+                <li><a 
href="https://ci.apache.org/projects/flink/flink-statefun-docs-release-2.2/getting-started/project-setup.html";
 target="_blank">With Flink Stateful Functions <small><span class="glyphicon 
glyphicon-new-window"></span></small></a></li>
+                <li><a href="/training.html">Training Course</a></li>
+              </ul>
+            </li>
+
+            <!-- Documentation -->
+            <li class="dropdown">
+              <a class="dropdown-toggle" data-toggle="dropdown" 
href="#">Documentation<span class="caret"></span></a>
+              <ul class="dropdown-menu">
+                <li><a 
href="https://ci.apache.org/projects/flink/flink-docs-release-1.11"; 
target="_blank">Flink 1.11 (Latest stable release) <small><span 
class="glyphicon glyphicon-new-window"></span></small></a></li>
+                <li><a 
href="https://ci.apache.org/projects/flink/flink-docs-master"; 
target="_blank">Flink Master (Latest Snapshot) <small><span class="glyphicon 
glyphicon-new-window"></span></small></a></li>
+                <li><a 
href="https://ci.apache.org/projects/flink/flink-statefun-docs-release-2.2"; 
target="_blank">Flink Stateful Functions 2.2 (Latest stable release) 
<small><span class="glyphicon glyphicon-new-window"></span></small></a></li>
+                <li><a 
href="https://ci.apache.org/projects/flink/flink-statefun-docs-master"; 
target="_blank">Flink Stateful Functions Master (Latest Snapshot) <small><span 
class="glyphicon glyphicon-new-window"></span></small></a></li>
+              </ul>
+            </li>
+
+            <!-- getting help -->
+            <li><a href="/gettinghelp.html">Getting Help</a></li>
+
+            <!-- Blog -->
+            <li class="active"><a href="/blog/"><b>Flink Blog</b></a></li>
+
+
+            <!-- Flink-packages -->
+            <li>
+              <a href="https://flink-packages.org"; 
target="_blank">flink-packages.org <small><span class="glyphicon 
glyphicon-new-window"></span></small></a>
+            </li>
+            &nbsp;
+
+            <!-- Third menu section aim to support community and contributors 
-->
+
+            <!-- Community -->
+            <li><a href="/community.html">Community &amp; Project Info</a></li>
+
+            <!-- Roadmap -->
+            <li><a href="/roadmap.html">Roadmap</a></li>
+
+            <!-- Contribute -->
+            <li><a href="/contributing/how-to-contribute.html">How to 
Contribute</a></li>
+            
+
+            <!-- GitHub -->
+            <li>
+              <a href="https://github.com/apache/flink"; target="_blank">Flink 
on GitHub <small><span class="glyphicon 
glyphicon-new-window"></span></small></a>
+            </li>
+
+            &nbsp;
+
+            <!-- Language Switcher -->
+            <li>
+              
+                
+                  <!-- link to the Chinese home page when current is blog page 
-->
+                  <a href="/zh">中文版</a>
+                
+              
+            </li>
+
+          </ul>
+
+          <ul class="nav navbar-nav navbar-bottom">
+          <hr />
+
+            <!-- Twitter -->
+            <li><a href="https://twitter.com/apacheflink"; 
target="_blank">@ApacheFlink <small><span class="glyphicon 
glyphicon-new-window"></span></small></a></li>
+
+            <!-- Visualizer -->
+            <li class=" hidden-md hidden-sm"><a href="/visualizer/" 
target="_blank">Plan Visualizer <small><span class="glyphicon 
glyphicon-new-window"></span></small></a></li>
+
+          <hr />
+
+            <li><a href="https://apache.org"; target="_blank">Apache Software 
Foundation <small><span class="glyphicon 
glyphicon-new-window"></span></small></a></li>
+
+            <li>
+              <style>
+                .smalllinks:link {
+                  display: inline-block !important; background: none; 
padding-top: 0px; padding-bottom: 0px; padding-right: 0px; min-width: 75px;
+                }
+              </style>
+
+              <a class="smalllinks" href="https://www.apache.org/licenses/"; 
target="_blank">License</a> <small><span class="glyphicon 
glyphicon-new-window"></span></small>
+
+              <a class="smalllinks" href="https://www.apache.org/security/"; 
target="_blank">Security</a> <small><span class="glyphicon 
glyphicon-new-window"></span></small>
+
+              <a class="smalllinks" 
href="https://www.apache.org/foundation/sponsorship.html"; 
target="_blank">Donate</a> <small><span class="glyphicon 
glyphicon-new-window"></span></small>
+
+              <a class="smalllinks" 
href="https://www.apache.org/foundation/thanks.html"; target="_blank">Thanks</a> 
<small><span class="glyphicon glyphicon-new-window"></span></small>
+            </li>
+
+          </ul>
+        </div><!-- /.navbar-collapse -->
+    </nav>
+
+      </div>
+      <div class="col-sm-9">
+      <div class="row-fluid">
+  <div class="col-sm-12">
+    <div class="row">
+      <h1>Stateful Functions 2.2.1 Release Announcement</h1>
+      <p><i></i></p>
+
+      <article>
+        <p>11 Nov 2020 Tzu-Li (Gordon) Tai (<a 
href="https://twitter.com/tzulitai";>@tzulitai</a>)</p>
+
+<p>The Apache Flink community released the first bugfix release of the 
Stateful Functions (StateFun) 2.2 series, version 2.2.1.</p>
+
+<p>This release fixes a critical bug that causes restoring the Stateful 
Functions cluster from snapshots (checkpoints or
+savepoints) to fail under certain conditions. Starting from this release, 
StateFun now creates snapshots with a more
+robust format that allows it to be restored safely going forward.</p>
+
+<p><b><i>We strongly recommend all users to upgrade to 2.2.1</i></b>. Please 
see the following sections on instructions and things to
+keep in mind for this upgrade.</p>
+
+<h2 id="for-new-users-just-starting-out-with-stateful-functions">For new users 
just starting out with Stateful Functions</h2>
+
+<p>We strongly recommend to skip all previous versions and start using 
StateFun from version 2.2.1.
+This guarantees that failure recovery from checkpoints, or application 
upgrades using savepoints will work as expected for you.</p>
+
+<h2 id="for-existing-users-on-versions--220">For existing users on versions 
&lt;= 2.2.0</h2>
+
+<p>Users that are currently using older versions of StateFun may or may not be 
able to directly upgrade to 2.2.1 using
+savepoints taken with the older versions. <b>The Flink community is working 
hard on a follow-up hotfix release, 2.2.2,
+that would guarantee that you can perform the upgrade smoothly</b>. For the 
meantime, you may still try to upgrade to 2.2.1
+first, but may encounter <a 
href="https://issues.apache.org/jira/browse/FLINK-19741";>FLINK-19741</a> or
+<a href="https://issues.apache.org/jira/browse/FLINK-19748";>FLINK-19748</a>. 
If you do encounter this, do not worry about data
+loss; this simply means that the restore failed, and you’d have to wait until 
2.2.2 is out in order to upgrade.</p>
+
+<p>The follow-up hotfix release 2.2.2 is expected to be ready within another 
2~3 weeks, as it <a 
href="http://apache-flink-mailing-list-archive.1008284.n3.nabble.com/DISCUSS-Releasing-Apache-Flink-1-11-3-td45989.html";>requires
 a new hotfix release
+from Flink core</a>,
+and ultimately an upgrade of the Flink dependency in StateFun. We’ll update 
the community via the Flink
+mailing lists as soon as this is ready, so please subscribe to the mailing 
lists for important updates for this!</p>
+
+<hr />
+
+<p>You can find the binaries on the updated <a 
href="/downloads.html">Downloads page</a>.</p>
+
+<p>This release includes 6 fixes and minor improvements since StateFun 2.2.0. 
Below is a detailed list of all fixes and improvements:</p>
+
+<h2>        Bug
+</h2>
+<ul>
+<li>[<a 
href="https://issues.apache.org/jira/browse/FLINK-19515";>FLINK-19515</a>] -     
    Async RequestReply handler concurrency bug
+</li>
+<li>[<a 
href="https://issues.apache.org/jira/browse/FLINK-19692";>FLINK-19692</a>] -     
    Can&#39;t restore feedback channel from savepoint
+</li>
+<li>[<a 
href="https://issues.apache.org/jira/browse/FLINK-19866";>FLINK-19866</a>] -     
    FunctionsStateBootstrapOperator.createStateAccessor fails due to 
uninitialized runtimeContext
+</li>
+</ul>
+
+<h2>        Improvement
+</h2>
+<ul>
+<li>[<a 
href="https://issues.apache.org/jira/browse/FLINK-19826";>FLINK-19826</a>] -     
    StateFun Dockerfile copies plugins with a specific version instead of a 
wildcard
+</li>
+<li>[<a 
href="https://issues.apache.org/jira/browse/FLINK-19827";>FLINK-19827</a>] -     
    Allow the harness to start with a user provided Flink configuration
+</li>
+<li>[<a 
href="https://issues.apache.org/jira/browse/FLINK-19840";>FLINK-19840</a>] -     
    Add a rocksdb and heap timers configuration validation
+</li>
+</ul>
+
+      </article>
+    </div>
+
+    <div class="row">
+      <div id="disqus_thread"></div>
+      <script type="text/javascript">
+        /* * * CONFIGURATION VARIABLES: EDIT BEFORE PASTING INTO YOUR WEBPAGE 
* * */
+        var disqus_shortname = 'stratosphere-eu'; // required: replace example 
with your forum shortname
+
+        /* * * DON'T EDIT BELOW THIS LINE * * */
+        (function() {
+            var dsq = document.createElement('script'); dsq.type = 
'text/javascript'; dsq.async = true;
+            dsq.src = '//' + disqus_shortname + '.disqus.com/embed.js';
+             (document.getElementsByTagName('head')[0] || 
document.getElementsByTagName('body')[0]).appendChild(dsq);
+        })();
+      </script>
+    </div>
+  </div>
+</div>
+      </div>
+    </div>
+
+    <hr />
+
+    <div class="row">
+      <div class="footer text-center col-sm-12">
+        <p>Copyright © 2014-2019 <a href="http://apache.org";>The Apache 
Software Foundation</a>. All Rights Reserved.</p>
+        <p>Apache Flink, Flink®, Apache®, the squirrel logo, and the Apache 
feather logo are either registered trademarks or trademarks of The Apache 
Software Foundation.</p>
+        <p><a href="/privacy-policy.html">Privacy Policy</a> &middot; <a 
href="/blog/feed.xml">RSS feed</a></p>
+      </div>
+    </div>
+    </div><!-- /.container -->
+
+    <!-- Include all compiled plugins (below), or include individual files as 
needed -->
+    <script 
src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.4/js/bootstrap.min.js";></script>
+    <script 
src="https://cdnjs.cloudflare.com/ajax/libs/jquery.matchHeight/0.7.0/jquery.matchHeight-min.js";></script>
+    <script src="/js/codetabs.js"></script>
+    <script src="/js/stickysidebar.js"></script>
+
+    <!-- Google Analytics -->
+    <script>
+      
(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+      (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new 
Date();a=s.createElement(o),
+      
m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+      
})(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+
+      ga('create', 'UA-52545728-1', 'auto');
+      ga('send', 'pageview');
+    </script>
+  </body>
+</html>

Reply via email to