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

github-bot pushed a commit to branch gh-pages
in repository https://gitbox.apache.org/repos/asf/airflow-site.git


The following commit(s) were added to refs/heads/gh-pages by this push:
     new 0ad7876f3 Deploying to gh-pages from  @ 
a36b2ae5114504ff447560a4172c16c49a777e46 🚀
0ad7876f3 is described below

commit 0ad7876f3f0c00644123f69d228250fca88d0d43
Author: jedcunningham <[email protected]>
AuthorDate: Sun May 1 00:22:52 2022 +0000

    Deploying to gh-pages from  @ a36b2ae5114504ff447560a4172c16c49a777e46 🚀
---
 _gen/indexes/en/blog-posts.json                    |   2 +-
 blog/airflow-1.10.10/index.html                    |   4 +-
 blog/airflow-1.10.12/index.html                    |   4 +-
 blog/airflow-1.10.8-1.10.9/index.html              |   4 +-
 blog/airflow-2.2.0/index.html                      |  43 ++++-
 blog/airflow-2.3.0/grid-view.png                   | Bin 0 -> 1136078 bytes
 blog/{airflow-2.2.0 => airflow-2.3.0}/index.html   | 212 +++++++++++++++------
 blog/airflow-survey-2020/index.html                |   4 +-
 blog/airflow-survey/index.html                     |   4 +-
 blog/airflow-two-point-oh-is-here/index.html       |  39 +++-
 blog/airflow_summit_2021/index.html                |   4 +-
 blog/announcing-new-website/index.html             |   4 +-
 blog/apache-airflow-for-newcomers/index.html       |   4 +-
 .../index.html                                     |   4 +-
 .../index.html                                     |   4 +-
 .../index.html                                     |   4 +-
 .../index.html                                     |   4 +-
 .../index.html                                     |  39 +++-
 blog/index.html                                    |  35 ++++
 blog/index.xml                                     | 150 +++++++++++++++
 .../index.html                                     |   4 +-
 blog/tags/release/index.html                       |  37 +++-
 blog/tags/release/index.xml                        | 152 ++++++++++++++-
 index.html                                         |  28 +--
 index.xml                                          | 150 +++++++++++++++
 search/index.html                                  |   4 +-
 sitemap.xml                                        |  97 +++++-----
 tags/index.html                                    |   2 +-
 tags/index.xml                                     |   2 +-
 use-cases/adobe/index.html                         |   4 +-
 use-cases/adyen/index.html                         |   4 +-
 use-cases/big-fish-games/index.html                |   4 +-
 use-cases/dish/index.html                          |   4 +-
 use-cases/experity/index.html                      |   4 +-
 use-cases/onefootball/index.html                   |   4 +-
 use-cases/plarium-krasnodar/index.html             |   4 +-
 use-cases/seniorlink/index.html                    |   4 +-
 use-cases/sift/index.html                          |   4 +-
 38 files changed, 903 insertions(+), 177 deletions(-)

diff --git a/_gen/indexes/en/blog-posts.json b/_gen/indexes/en/blog-posts.json
index e3ab2f9af..a0eee9788 100644
--- a/_gen/indexes/en/blog-posts.json
+++ b/_gen/indexes/en/blog-posts.json
@@ -1 +1 @@
-[{"content":"## The story behind the Airflow Breeze tool\nInitially, we 
started contributing to this fantastic open-source project [Apache Airflow] 
with a team of three which then grew to five. When we kicked it off a year ago, 
I realized pretty soon where the biggest bottlenecks and areas for improvement 
in terms of productivity were. Even with the help of our client, who provided 
us with a “homegrown” development environment it took us literally days to set 
it up and learn some basics. [...]
\ No newline at end of file
+[{"content":"## The story behind the Airflow Breeze tool\nInitially, we 
started contributing to this fantastic open-source project [Apache Airflow] 
with a team of three which then grew to five. When we kicked it off a year ago, 
I realized pretty soon where the biggest bottlenecks and areas for improvement 
in terms of productivity were. Even with the help of our client, who provided 
us with a “homegrown” development environment it took us literally days to set 
it up and learn some basics. [...]
\ No newline at end of file
diff --git a/blog/airflow-1.10.10/index.html b/blog/airflow-1.10.10/index.html
index 16c0d5595..013459e0d 100644
--- a/blog/airflow-1.10.10/index.html
+++ b/blog/airflow-1.10.10/index.html
@@ -36,13 +36,13 @@
 
 <meta property="og:image" content="/images/feature-image.png" />
 <meta property="article:published_time" content="2020-04-09T00:00:00+00:00" />
-<meta property="article:modified_time" content="2022-04-30T23:44:13+01:00" 
/><meta property="og:site_name" content="Apache Airflow" />
+<meta property="article:modified_time" content="2022-05-01T01:14:31+01:00" 
/><meta property="og:site_name" content="Apache Airflow" />
 <meta itemprop="name" content="Apache Airflow 1.10.10">
 <meta itemprop="description" content="We are happy to present Apache Airflow 
1.10.10">
 
 
 <meta itemprop="datePublished" content="2020-04-09T00:00:00&#43;00:00" />
-<meta itemprop="dateModified" content="2022-04-30T23:44:13&#43;01:00" />
+<meta itemprop="dateModified" content="2022-05-01T01:14:31&#43;01:00" />
 <meta itemprop="wordCount" content="1143">
 
 
diff --git a/blog/airflow-1.10.12/index.html b/blog/airflow-1.10.12/index.html
index 461785fb9..8ebae419b 100644
--- a/blog/airflow-1.10.12/index.html
+++ b/blog/airflow-1.10.12/index.html
@@ -36,13 +36,13 @@
 
 <meta property="og:image" content="/images/feature-image.png" />
 <meta property="article:published_time" content="2020-08-25T00:00:00+00:00" />
-<meta property="article:modified_time" content="2022-04-30T23:44:13+01:00" 
/><meta property="og:site_name" content="Apache Airflow" />
+<meta property="article:modified_time" content="2022-05-01T01:14:31+01:00" 
/><meta property="og:site_name" content="Apache Airflow" />
 <meta itemprop="name" content="Apache Airflow 1.10.12">
 <meta itemprop="description" content="We are happy to present Apache Airflow 
1.10.12">
 
 
 <meta itemprop="datePublished" content="2020-08-25T00:00:00&#43;00:00" />
-<meta itemprop="dateModified" content="2022-04-30T23:44:13&#43;01:00" />
+<meta itemprop="dateModified" content="2022-05-01T01:14:31&#43;01:00" />
 <meta itemprop="wordCount" content="911">
 
 
diff --git a/blog/airflow-1.10.8-1.10.9/index.html 
b/blog/airflow-1.10.8-1.10.9/index.html
index 7b86b124e..01c4c2825 100644
--- a/blog/airflow-1.10.8-1.10.9/index.html
+++ b/blog/airflow-1.10.8-1.10.9/index.html
@@ -36,13 +36,13 @@
 
 <meta property="og:image" content="/images/feature-image.png" />
 <meta property="article:published_time" content="2020-02-23T00:00:00+00:00" />
-<meta property="article:modified_time" content="2022-04-30T23:44:13+01:00" 
/><meta property="og:site_name" content="Apache Airflow" />
+<meta property="article:modified_time" content="2022-05-01T01:14:31+01:00" 
/><meta property="og:site_name" content="Apache Airflow" />
 <meta itemprop="name" content="Apache Airflow 1.10.8 &amp; 1.10.9">
 <meta itemprop="description" content="We are happy to present the new 1.10.8 
and 1.10.9 releases of Apache Airflow.">
 
 
 <meta itemprop="datePublished" content="2020-02-23T00:00:00&#43;00:00" />
-<meta itemprop="dateModified" content="2022-04-30T23:44:13&#43;01:00" />
+<meta itemprop="dateModified" content="2022-05-01T01:14:31&#43;01:00" />
 <meta itemprop="wordCount" content="437">
 
 
diff --git a/blog/airflow-2.2.0/index.html b/blog/airflow-2.2.0/index.html
index 9034aa5ab..ea4767f8c 100644
--- a/blog/airflow-2.2.0/index.html
+++ b/blog/airflow-2.2.0/index.html
@@ -36,13 +36,13 @@
 
 <meta property="og:image" content="/images/feature-image.png" />
 <meta property="article:published_time" content="2021-10-11T00:00:00+00:00" />
-<meta property="article:modified_time" content="2022-04-30T23:44:13+01:00" 
/><meta property="og:site_name" content="Apache Airflow" />
+<meta property="article:modified_time" content="2022-05-01T01:14:31+01:00" 
/><meta property="og:site_name" content="Apache Airflow" />
 <meta itemprop="name" content="What&#39;s new in Apache Airflow 2.2.0">
 <meta itemprop="description" content="We&#39;re proud to announce that Apache 
Airflow 2.2.0 has been released.">
 
 
 <meta itemprop="datePublished" content="2021-10-11T00:00:00&#43;00:00" />
-<meta itemprop="dateModified" content="2022-04-30T23:44:13&#43;01:00" />
+<meta itemprop="dateModified" content="2022-05-01T01:14:31&#43;01:00" />
 <meta itemprop="wordCount" content="658">
 
 
@@ -619,10 +619,10 @@
 <button class="btn-hollow btn-blue bodytext__medium--cerulean-blue" 
>Previous</button>
 
     </a>
-    <a >
+    <a href="/blog/airflow-2.3.0/">
         
 
-<button class="btn-hollow btn-blue bodytext__medium--cerulean-blue" 
disabled>Next</button>
+<button class="btn-hollow btn-blue bodytext__medium--cerulean-blue" 
>Next</button>
 
     </a>
 </div>
@@ -643,6 +643,41 @@
                     <div class="list-item list-item--wide">
                         
 
+<div class="card">
+    <div class="box-event__blogpost">
+        <div class="box-event__blogpost--metadata">
+            <div class="tags-container">
+                
+                    
+                        <a class="tag" href="/blog/tags/release/">Release</a>
+                    
+                
+            </div>
+            <span class="bodytext__medium--brownish-grey 
box-event__blogpost--date">Sat, Apr 30, 2022</span>
+        </div>
+        <p class="box-event__blogpost--header">
+            <a href="/blog/airflow-2.3.0/">
+                Apache Airflow 2.3.0 is here
+            </a>
+        </p>
+        <p class="box-event__blogpost--author">Ephraim Anierobi</p>
+        <p class="box-event__blogpost--description">We&#39;re proud to 
announce that Apache Airflow 2.3.0 has been released.</p>
+        <div class="mt-auto">
+            <a href="/blog/airflow-2.3.0/">
+                
+
+<button class="btn-hollow btn-blue bodytext__medium--cerulean-blue" >Read 
more</button>
+
+            </a>
+        </div>
+    </div>
+</div>
+
+                    </div>
+                
+                    <div class="list-item list-item--wide">
+                        
+
 <div class="card">
     <div class="box-event__blogpost">
         <div class="box-event__blogpost--metadata">
diff --git a/blog/airflow-2.3.0/grid-view.png b/blog/airflow-2.3.0/grid-view.png
new file mode 100644
index 000000000..59a0cfa4d
Binary files /dev/null and b/blog/airflow-2.3.0/grid-view.png differ
diff --git a/blog/airflow-2.2.0/index.html b/blog/airflow-2.3.0/index.html
similarity index 85%
copy from blog/airflow-2.2.0/index.html
copy to blog/airflow-2.3.0/index.html
index 9034aa5ab..ecfdcd54c 100644
--- a/blog/airflow-2.2.0/index.html
+++ b/blog/airflow-2.3.0/index.html
@@ -29,21 +29,21 @@
 <meta name="msapplication-TileImage" content="/favicons/ms-icon-144x144.png">
 <meta name="theme-color" content="#ffffff">
 
-<title>What&#39;s new in Apache Airflow 2.2.0 | Apache Airflow</title><meta 
property="og:title" content="What&#39;s new in Apache Airflow 2.2.0" />
-<meta property="og:description" content="We&#39;re proud to announce that 
Apache Airflow 2.2.0 has been released." />
+<title>Apache Airflow 2.3.0 is here | Apache Airflow</title><meta 
property="og:title" content="Apache Airflow 2.3.0 is here" />
+<meta property="og:description" content="We&#39;re proud to announce that 
Apache Airflow 2.3.0 has been released." />
 <meta property="og:type" content="article" />
-<meta property="og:url" content="/blog/airflow-2.2.0/" />
+<meta property="og:url" content="/blog/airflow-2.3.0/" />
 
 <meta property="og:image" content="/images/feature-image.png" />
-<meta property="article:published_time" content="2021-10-11T00:00:00+00:00" />
-<meta property="article:modified_time" content="2022-04-30T23:44:13+01:00" 
/><meta property="og:site_name" content="Apache Airflow" />
-<meta itemprop="name" content="What&#39;s new in Apache Airflow 2.2.0">
-<meta itemprop="description" content="We&#39;re proud to announce that Apache 
Airflow 2.2.0 has been released.">
+<meta property="article:published_time" content="2022-04-30T00:00:00+00:00" />
+<meta property="article:modified_time" content="2022-05-01T01:14:31+01:00" 
/><meta property="og:site_name" content="Apache Airflow" />
+<meta itemprop="name" content="Apache Airflow 2.3.0 is here">
+<meta itemprop="description" content="We&#39;re proud to announce that Apache 
Airflow 2.3.0 has been released.">
 
 
-<meta itemprop="datePublished" content="2021-10-11T00:00:00&#43;00:00" />
-<meta itemprop="dateModified" content="2022-04-30T23:44:13&#43;01:00" />
-<meta itemprop="wordCount" content="658">
+<meta itemprop="datePublished" content="2022-04-30T00:00:00&#43;00:00" />
+<meta itemprop="dateModified" content="2022-05-01T01:14:31&#43;01:00" />
+<meta itemprop="wordCount" content="708">
 
 
 
@@ -51,8 +51,8 @@
 <meta name="twitter:card" content="summary_large_image"/>
 <meta name="twitter:image" content="/images/feature-image.png"/>
 
-<meta name="twitter:title" content="What&#39;s new in Apache Airflow 2.2.0"/>
-<meta name="twitter:description" content="We&#39;re proud to announce that 
Apache Airflow 2.2.0 has been released."/>
+<meta name="twitter:title" content="Apache Airflow 2.3.0 is here"/>
+<meta name="twitter:description" content="We&#39;re proud to announce that 
Apache Airflow 2.3.0 has been released."/>
 
 
 
@@ -69,7 +69,7 @@
   crossorigin="anonymous"></script>
 
 
-<meta name="description" content="We&#39;re proud to announce that Apache 
Airflow 2.2.0 has been released." />
+<meta name="description" content="We&#39;re proud to announce that Apache 
Airflow 2.3.0 has been released." />
 
 
 
@@ -446,16 +446,16 @@
                 
             
         </div>
-        <span class="bodytext__medium--brownish-grey">Mon, Oct 11, 2021</span>
+        <span class="bodytext__medium--brownish-grey">Sat, Apr 30, 2022</span>
     </div>
-    <p class="blogpost-content__metadata--title">What&#39;s new in Apache 
Airflow 2.2.0</p>
+    <p class="blogpost-content__metadata--title">Apache Airflow 2.3.0 is 
here</p>
     <div class="blogpost-content__metadata--author">
         <span class="blogpost-content__metadata--author">
-            Jed Cunningham
+            Ephraim Anierobi
         </span>
         
         
-            <a href="https://github.com/jedcunningham/"; 
class="blogpost-content__metadata--social-media-icon">
+            <a href="https://github.com/ephraimbuddy/"; 
class="blogpost-content__metadata--social-media-icon">
                 <svg xmlns="http://www.w3.org/2000/svg"; width="21.737" 
height="21.2" viewBox="0 0 21.737 21.2">
     <path id="Path_1378" d="M33.971 1181.31a10.87 10.87 0 0 0-3.435 
21.182c.543.1.742-.236.742-.524 
0-.258-.009-.941-.015-1.848-3.023.657-3.661-1.457-3.661-1.457a2.876 2.876 0 0 
0-1.207-1.59c-.987-.674.075-.661.075-.661a2.283 2.283 0 0 1 1.665 1.12 2.314 
2.314 0 0 0 3.163.9 2.322 2.322 0 0 1 
.69-1.453c-2.413-.274-4.951-1.207-4.951-5.371a4.2 4.2 0 0 1 1.119-2.917 3.908 
3.908 0 0 1 .107-2.876s.913-.292 2.989 1.114a10.3 10.3 0 0 1 5.442 
0c2.075-1.406 2.986-1.114 2.986-1.114a3.9 3.9 0 0 1 .1 [...]
 </svg>
@@ -463,7 +463,7 @@
             </a>
         
         
-            <a href="https://linkedin.com/in/jedidiah-cunningham/"; 
class="blogpost-content__metadata--social-media-icon">
+            <a href="https://linkedin.com/in/ephraimanierobi/"; 
class="blogpost-content__metadata--social-media-icon">
                 <svg xmlns="http://www.w3.org/2000/svg"; width="20" height="20" 
viewBox="0 0 20 21">
     <g id="Group_1745" data-name="Group 1745" transform="translate(.155 
-.055)">
         <ellipse id="Ellipse_20" cx="10" cy="10.5" fill="#51504f" 
data-name="Ellipse 20" rx="10" ry="10.5" transform="translate(-.155 .055)"/>
@@ -477,85 +477,146 @@
             </a>
         
     </div>
-    <p class="blogpost-content__metadata--description">We&#39;re proud to 
announce that Apache Airflow 2.2.0 has been released.</p>
+    <p class="blogpost-content__metadata--description">We&#39;re proud to 
announce that Apache Airflow 2.3.0 has been released.</p>
 </div>
 <div class="markdown-content">
     
 
-<p>I’m proud to announce that Apache Airflow 2.2.0 has been released. It 
contains over 600 commits since 2.1.4 and includes 30 new features, 84 
improvements, 85 bug fixes, and many internal and doc changes.</p>
+<p>Apache Airflow 2.3.0 contains over 700 commits since 2.2.0 and includes 50 
new features, 99 improvements, 85 bug fixes, and several doc changes.</p>
 
 <p><strong>Details</strong>:</p>
 
-<p>📦 PyPI: <a href="https://pypi.org/project/apache-airflow/2.2.0/"; 
target="_blank">https://pypi.org/project/apache-airflow/2.2.0/</a> <br />
-📚 Docs: <a href="https://airflow.apache.org/docs/apache-airflow/2.2.0/"; 
target="_blank">https://airflow.apache.org/docs/apache-airflow/2.2.0/</a> <br />
-🛠️ Changelog: <a 
href="https://airflow.apache.org/docs/apache-airflow/2.2.0/changelog.html"; 
target="_blank">https://airflow.apache.org/docs/apache-airflow/2.2.0/changelog.html</a>
 <br />
-🐳 Docker Image: docker pull apache/airflow:2.2.0 <br />
-🚏 Constraints: <a 
href="https://github.com/apache/airflow/tree/constraints-2.2.0"; 
target="_blank">https://github.com/apache/airflow/tree/constraints-2.2.0</a></p>
+<p>📦 PyPI: <a href="https://pypi.org/project/apache-airflow/2.3.0/"; 
target="_blank">https://pypi.org/project/apache-airflow/2.3.0/</a> <br />
+📚 Docs: <a href="https://airflow.apache.org/docs/apache-airflow/2.3.0/"; 
target="_blank">https://airflow.apache.org/docs/apache-airflow/2.3.0/</a> <br />
+🛠️ Release Notes: <a 
href="https://airflow.apache.org/docs/apache-airflow/2.3.0/release_notes.html"; 
target="_blank">https://airflow.apache.org/docs/apache-airflow/2.3.0/release_notes.html</a>
 <br />
+🐳 Docker Image: docker pull apache/airflow:2.3.0 <br />
+🚏 Constraints: <a 
href="https://github.com/apache/airflow/tree/constraints-2.3.0"; 
target="_blank">https://github.com/apache/airflow/tree/constraints-2.3.0</a></p>
 
 <p>As the changelog is quite large, the following are some notable new 
features that shipped in this release.</p>
 
-<h2 id="custom-timetables-aip-39">Custom Timetables (AIP-39)</h2>
+<h2 id="dynamic-task-mapping-aip-42">Dynamic Task Mapping(AIP-42)</h2>
 
-<p>Airflow has historically used cron expressions and timedeltas to represent 
when a DAG should run. This worked for a lot of use cases, but not all. For 
example, running daily on Monday-Friday, but not on weekends wasn’t 
possible.</p>
+<p>There&rsquo;s now first-class support for dynamic tasks in Airflow. What 
this means is that you can generate tasks dynamically at runtime. Much like 
using a <code>for</code> loop
+to create a list of tasks, here you can create the same tasks without having 
to know the exact number of tasks ahead of time.</p>
 
-<p>To provide more scheduling flexibility, determining when a DAG should run 
is now done with Timetables. Of course, backwards compatibility has been 
maintained - cron expressions and timedeltas are still fully supported, 
however, timetables are pluggable so you can add your own custom timetable to 
fit your needs! For example, you could write a timetable to schedule a 
DagRun</p>
+<p>You can have a <code>task</code> generate the list to iterate over, which 
is not possible with a <code>for</code> loop.</p>
 
-<p><code>execution_date</code> has long been confusing to new Airflowers, so 
as part of this change a new concept has been added to Airflow to replace it 
named <code>data_interval</code>, which is the period of data that a task 
should operate on. The following are now available:</p>
+<p>Here is an example:</p>
 
-<ul>
-<li><code>logical_date</code> (aka <code>execution_date</code>)</li>
-<li><code>data_interval_start</code> (same value as 
<code>execution_date</code> for cron)</li>
-<li><code>data_interval_end</code> (aka <code>next_execution_date</code>)</li>
-</ul>
+<pre><code class="language-python">@task
+def make_list():
+    # This can also be from an API call, checking a database, -- almost 
anything you like, as long as the
+    # resulting list/dictionary can be stored in the current XCom backend.
+    return [1, 2, {&quot;a&quot;: &quot;b&quot;}, &quot;str&quot;]
+
+
+@task
+def consumer(arg):
+    print(list(arg))
+
+
+with DAG(dag_id=&quot;dynamic-map&quot;, start_date=datetime(2022, 4, 2)) as 
dag:
+    consumer.expand(arg=make_list())
+</code></pre>
+
+<p>More information can be found here: <a 
href="https://airflow.apache.org/docs/apache-airflow/2.3.0/concepts/dynamic-task-mapping.html";
 target="_blank">Dynamic Task Mapping</a></p>
+
+<h2 id="grid-view-replaces-tree-view">Grid View replaces Tree View</h2>
+
+<p>Grid view replaces tree view in Airflow 2.3.0.</p>
+
+<p><strong>Screenshots</strong>:
+<img src="grid-view.png" alt="The new grid view" /></p>
+
+<h2 id="purge-history-from-metadata-database">Purge history from metadata 
database</h2>
+
+<p>Airflow 2.3.0 introduces a new <code>airflow db clean</code> command that 
can be used to purge old data from the metadata database.</p>
+
+<p>You would want to use this command if you want to reduce the size of the 
metadata database.</p>
 
-<p>If you write your own timetables, keep in mind they should be idempotent 
and fast as they are used in the scheduler to create DagRuns.</p>
+<p>More information can be found here: <a 
href="https://airflow.apache.org/docs/apache-airflow/2.3.0/usage-cli.html#purge-history-from-metadata-database";
 target="_blank">Purge history from metadata database</a></p>
 
-<p>More information can be found at: <a 
href="https://airflow.apache.org/docs/apache-airflow/stable/howto/timetable.html";
 target="_blank">Customizing DAG Scheduling with Timetables</a></p>
+<h2 id="localkubernetesexecutor">LocalKubernetesExecutor</h2>
 
-<h2 id="deferrable-tasks-aip-40">Deferrable Tasks (AIP-40)</h2>
+<p>There is a new executor named LocalKubernetesExecutor. This executor helps 
you run some tasks using LocalExecutor and run another set of tasks using the 
KubernetesExecutor in the same deployment based on the task&rsquo;s queue.</p>
 
-<p>Deferrable tasks allows operators or sensors to defer themselves until a 
light-weight async check passes, at which point they can resume executing. Most 
importantly, this results in the worker slot, and most notably any resources 
used by it, to be returned to Airflow. This allows simple things like 
monitoring a job in an external system or watching for an event to be much 
cheaper.</p>
+<p>More information can be found here: <a 
href="https://airflow.apache.org/docs/apache-airflow/2.3.0/executor/local_kubernetes.html";
 target="_blank">LocalKubernetesExecutor</a></p>
 
-<p>To support this feature, a new component has been added to Airflow, the 
triggerer, which is the daemon process that runs the asyncio event loop.</p>
+<h2 id="dagprocessormanager-as-standalone-process-aip-43">DagProcessorManager 
as standalone process (AIP-43)</h2>
 
-<p>Airflow 2.2.0 ships with 2 deferrable sensors, 
<code>DateTimeSensorAsync</code> and <code>TimeDeltaSensorAsync</code>, both of 
which are drop-in replacements for the existing corresponding sensor.</p>
+<p>As of 2.3.0, you can run the DagProcessorManager as a standalone process. 
Because DagProcessorManager runs user code, separating it from the scheduler 
process and running it as an independent process in a different host is a good 
idea.</p>
 
-<p>More information can be found at:</p>
+<p>The <code>airflow dag-processor</code> cli command will start a new process 
that will run the DagProcessorManager in a separate process. Before you can run 
the DagProcessorManager as a standalone process, you need to set the <a 
href="https://airflow.apache.org/docs/apache-airflow/stable/configurations-ref.html#standalone_dag_processor";
 target="_blank">[scheduler] standalone_dag_processor</a> to 
<code>True</code>.</p>
 
-<p><a 
href="https://airflow.apache.org/docs/apache-airflow/stable/concepts/deferring.html";
 target="_blank">Deferrable Operators &amp; Triggers</a></p>
+<p>More information can be found here: <a 
href="https://airflow.apache.org/docs/apache-airflow/2.3.0/cli-and-env-variables-ref.html#dag-processor";
 target="_blank">dag-processor CLI command</a></p>
 
-<h2 id="custom-task-decorators-and-task-docker">Custom <code>@task</code> 
decorators and <code>@task.docker</code></h2>
+<h2 id="json-serialization-for-connections">JSON serialization for 
connections</h2>
 
-<p>Airflow 2.2.0 allows providers to create custom <code>@task</code> 
decorators in the TaskFlow interface.</p>
+<p>You can now create connections using the <code>json</code> serialization 
format.</p>
 
-<p>The <code>@task.docker</code> decorator is one such decorator that allows 
you to run a function in a docker container. Airflow handles getting the code 
into the container and returning xcom - you just worry about your function. 
This is particularly useful when you have conflicting dependencies between 
Airflow itself and tasks you need to run.</p>
+<pre><code class="language-bash">airflow connections add 'my_prod_db' \
+    --conn-json '{
+        &quot;conn_type&quot;: &quot;my-conn-type&quot;,
+        &quot;login&quot;: &quot;my-login&quot;,
+        &quot;password&quot;: &quot;my-password&quot;,
+        &quot;host&quot;: &quot;my-host&quot;,
+        &quot;port&quot;: 1234,
+        &quot;schema&quot;: &quot;my-schema&quot;,
+        &quot;extra&quot;: {
+            &quot;param1&quot;: &quot;val1&quot;,
+            &quot;param2&quot;: &quot;val2&quot;
+        }
+    }'
+</code></pre>
 
-<p>More information on creating custom <code>@task</code> decorators can be 
found at: <a 
href="https://airflow.apache.org/docs/apache-airflow/stable/howto/create-custom-decorator.html";
 target="_blank">Creating Custom @task Decorators</a></p>
+<p>You can also use <code>json</code> serialization format when setting the 
connection in environment variables.</p>
 
-<p>More information on the <code>@task.docker</code> decorator can be found 
at: <a 
href="https://airflow.apache.org/docs/apache-airflow/stable/tutorial_taskflow_api.html#using-the-taskflow-api-with-docker-or-virtual-environments";
 target="_blank">Using the Taskflow API with Docker or Virtual 
Environments</a></p>
+<p>More information can be found here: <a 
href="https://airflow.apache.org/docs/apache-airflow/2.3.0/howto/connection.html";
 target="_blank">JSON serialization for connections</a></p>
 
-<h2 id="validation-of-dag-params">Validation of DAG params</h2>
+<h2 id="airflow-db-downgrade-and-offline-generation-of-sql-scripts">Airflow 
<code>db downgrade</code> and Offline generation of SQL scripts</h2>
 
-<p>You can now apply validation on DAG params by passing a <code>Param</code> 
object for each param. The <code>Param</code> object supports the full <a 
href="https://json-schema.org/draft/2020-12/json-schema-validation.html"; 
target="_blank">json-schema validation specifications</a>.</p>
+<p>Airflow 2.3.0 introduced a new command <code>airflow db downgrade</code> 
that will downgrade the database to your chosen version.</p>
 
-<p>Currently this only functions with manually triggered DAGs, but it does set 
the stage for future params related functionality.</p>
+<p>You can also generate the downgrade/upgrade SQL scripts for your database 
and manually run it against your database or just view the SQL queries that 
would be run by the downgrade/upgrade command.</p>
 
-<p>More information can be found at: <a 
href="https://airflow.apache.org/docs/apache-airflow/stable/concepts/params.html";
 target="_blank">Params</a></p>
+<p>More information can be found here: <a 
href="https://airflow.apache.org/docs/apache-airflow/2.3.0/usage-cli.html#downgrading-airflow";
 target="_blank">Airflow <code>db downgrade</code> and Offline generation of 
SQL scripts</a></p>
+
+<h2 id="reuse-of-decorated-tasks">Reuse of decorated tasks</h2>
+
+<p>You can now reuse decorated tasks across your dag files. A decorated task 
has an <code>override</code> method that allows you to override it&rsquo;s 
arguments.</p>
+
+<p>Here&rsquo;s an example:</p>
+
+<pre><code class="language-python">@task
+def add_task(x, y):
+    print(f&quot;Task args: x={x}, y={y}&quot;)
+    return x + y
+
+
+@dag(start_date=datetime(2022, 1, 1))
+def mydag():
+    start = add_task.override(task_id=&quot;start&quot;)(1, 2)
+    for i in range(3):
+        start &gt;&gt; 
add_task.override(task_id=f&quot;add_start_{i}&quot;)(start, i)
+</code></pre>
+
+<p>More information can be found here: <a 
href="https://airflow.apache.org/docs/apache-airflow/2.3.0/tutorial_taskflow_api.html#reusing-a-decorated-task";
 target="_blank">Reuse of decorated DAGs</a></p>
 
 <h2 id="other-small-features">Other small features</h2>
 
 <p>This isn’t a comprehensive list, but some noteworthy or interesting small 
features include:</p>
 
 <ul>
-<li>Testing Connections from the UI - test the credentials for your Connection 
actually work</li>
-<li>Duplication Connections from the UI</li>
-<li>DAGs “Next run” info is shown in the UI, including when the run will 
actually start</li>
-<li><code>airflow standalone</code> command runs all of the Airflow components 
directly without docker - great for local development</li>
+<li>Support different timeout value for dag file parsing</li>
+<li><code>airflow dags reserialize</code> command to reserialize dags</li>
+<li>Events Timetable</li>
+<li>SmoothOperator - Operator that does literally nothing except logging a 
YouTube link to
+Sade&rsquo;s &ldquo;Smooth Operator&rdquo;. Enjoy!</li>
 </ul>
 
 <h2 id="contributors">Contributors</h2>
 
-<p>Thanks to everyone who contributed to this release: Andrew Godwin, Ash 
Berlin-Taylor, Brent Bovenzi, Elad Kalif, Ephraim Anierobi, James Timmins, 
Jarek Potiuk, Jed Cunningham, Josh Fell, Kamil Breguła, Kaxil Naik, Malthe 
Borch, Sam Wheating, Sumit Maheshwari, Tzu-ping Chung and many others</p>
+<p>Thanks to everyone who contributed to this release: Ash Berlin-Taylor, 
Brent Bovenzi, Daniel Standish, Elad, Ephraim Anierobi, Jarek Potiuk, Jed 
Cunningham, Josh Fell, Kamil Breguła, Kanthi, Kaxil Naik, Khalid Mammadov, 
Malthe Borch, Ping Zhang, Tzu-ping Chung and many others who keep making 
Airflow better for everyone.</p>
 
 </div>
 
@@ -613,7 +674,7 @@
             
 
 <div class="pager">
-    <a href="/blog/airflow_summit_2021/">
+    <a href="/blog/airflow-2.2.0/">
         
 
 <button class="btn-hollow btn-blue bodytext__medium--cerulean-blue" 
>Previous</button>
@@ -643,6 +704,41 @@
                     <div class="list-item list-item--wide">
                         
 
+<div class="card">
+    <div class="box-event__blogpost">
+        <div class="box-event__blogpost--metadata">
+            <div class="tags-container">
+                
+                    
+                        <a class="tag" href="/blog/tags/release/">Release</a>
+                    
+                
+            </div>
+            <span class="bodytext__medium--brownish-grey 
box-event__blogpost--date">Mon, Oct 11, 2021</span>
+        </div>
+        <p class="box-event__blogpost--header">
+            <a href="/blog/airflow-2.2.0/">
+                What&#39;s new in Apache Airflow 2.2.0
+            </a>
+        </p>
+        <p class="box-event__blogpost--author">Jed Cunningham</p>
+        <p class="box-event__blogpost--description">We&#39;re proud to 
announce that Apache Airflow 2.2.0 has been released.</p>
+        <div class="mt-auto">
+            <a href="/blog/airflow-2.2.0/">
+                
+
+<button class="btn-hollow btn-blue bodytext__medium--cerulean-blue" >Read 
more</button>
+
+            </a>
+        </div>
+    </div>
+</div>
+
+                    </div>
+                
+                    <div class="list-item list-item--wide">
+                        
+
 <div class="card">
     <div class="box-event__blogpost">
         <div class="box-event__blogpost--metadata">
@@ -687,7 +783,7 @@
 
 <div class="base-layout--button">
     
-    <a 
href=https://github.com/apache/airflow-site/edit/main/landing-pages/site/content/en/blog/airflow-2.2.0/index.md>
+    <a 
href=https://github.com/apache/airflow-site/edit/main/landing-pages/site/content/en/blog/airflow-2.3.0/index.md>
         
 
 
diff --git a/blog/airflow-survey-2020/index.html 
b/blog/airflow-survey-2020/index.html
index 24f8703a1..1b4a7749c 100644
--- a/blog/airflow-survey-2020/index.html
+++ b/blog/airflow-survey-2020/index.html
@@ -36,13 +36,13 @@
 
 <meta property="og:image" content="/images/feature-image.png" />
 <meta property="article:published_time" content="2021-03-09T00:00:00+00:00" />
-<meta property="article:modified_time" content="2022-04-30T23:44:13+01:00" 
/><meta property="og:site_name" content="Apache Airflow" />
+<meta property="article:modified_time" content="2022-05-01T01:14:31+01:00" 
/><meta property="og:site_name" content="Apache Airflow" />
 <meta itemprop="name" content="Airflow Survey 2020">
 <meta itemprop="description" content="We observe steady growth in number of 
users as well as in an amount of active contributors. So listening and 
understanding our community is of high importance.">
 
 
 <meta itemprop="datePublished" content="2021-03-09T00:00:00&#43;00:00" />
-<meta itemprop="dateModified" content="2022-04-30T23:44:13&#43;01:00" />
+<meta itemprop="dateModified" content="2022-05-01T01:14:31&#43;01:00" />
 <meta itemprop="wordCount" content="2106">
 
 
diff --git a/blog/airflow-survey/index.html b/blog/airflow-survey/index.html
index 922ba9106..c67b61b75 100644
--- a/blog/airflow-survey/index.html
+++ b/blog/airflow-survey/index.html
@@ -36,13 +36,13 @@
 
 <meta property="og:image" content="/images/feature-image.png" />
 <meta property="article:published_time" content="2019-12-11T00:00:00+00:00" />
-<meta property="article:modified_time" content="2022-04-30T23:44:13+01:00" 
/><meta property="og:site_name" content="Apache Airflow" />
+<meta property="article:modified_time" content="2022-05-01T01:14:31+01:00" 
/><meta property="og:site_name" content="Apache Airflow" />
 <meta itemprop="name" content="Airflow Survey 2019">
 <meta itemprop="description" content="Receiving and adjusting to our users’ 
feedback is a must. Let’s see who Airflow users are, how they play with it, and 
what they miss.">
 
 
 <meta itemprop="datePublished" content="2019-12-11T00:00:00&#43;00:00" />
-<meta itemprop="dateModified" content="2022-04-30T23:44:13&#43;01:00" />
+<meta itemprop="dateModified" content="2022-05-01T01:14:31&#43;01:00" />
 <meta itemprop="wordCount" content="1775">
 
 
diff --git a/blog/airflow-two-point-oh-is-here/index.html 
b/blog/airflow-two-point-oh-is-here/index.html
index 480f34953..1ff274ca1 100644
--- a/blog/airflow-two-point-oh-is-here/index.html
+++ b/blog/airflow-two-point-oh-is-here/index.html
@@ -36,13 +36,13 @@
 
 <meta property="og:image" content="/images/feature-image.png" />
 <meta property="article:published_time" content="2020-12-17T00:00:00+00:00" />
-<meta property="article:modified_time" content="2022-04-30T23:44:13+01:00" 
/><meta property="og:site_name" content="Apache Airflow" />
+<meta property="article:modified_time" content="2022-05-01T01:14:31+01:00" 
/><meta property="og:site_name" content="Apache Airflow" />
 <meta itemprop="name" content="Apache Airflow 2.0 is here!">
 <meta itemprop="description" content="We&#39;re proud to announce that Apache 
Airflow 2.0.0 has been released.">
 
 
 <meta itemprop="datePublished" content="2020-12-17T00:00:00&#43;00:00" />
-<meta itemprop="dateModified" content="2022-04-30T23:44:13&#43;01:00" />
+<meta itemprop="dateModified" content="2022-05-01T01:14:31&#43;01:00" />
 <meta itemprop="wordCount" content="1165">
 
 
@@ -703,6 +703,41 @@ Docs on <a 
href="http://airflow.apache.org/docs/apache-airflow-providers/package
                     <div class="list-item list-item--wide">
                         
 
+<div class="card">
+    <div class="box-event__blogpost">
+        <div class="box-event__blogpost--metadata">
+            <div class="tags-container">
+                
+                    
+                        <a class="tag" href="/blog/tags/release/">Release</a>
+                    
+                
+            </div>
+            <span class="bodytext__medium--brownish-grey 
box-event__blogpost--date">Sat, Apr 30, 2022</span>
+        </div>
+        <p class="box-event__blogpost--header">
+            <a href="/blog/airflow-2.3.0/">
+                Apache Airflow 2.3.0 is here
+            </a>
+        </p>
+        <p class="box-event__blogpost--author">Ephraim Anierobi</p>
+        <p class="box-event__blogpost--description">We&#39;re proud to 
announce that Apache Airflow 2.3.0 has been released.</p>
+        <div class="mt-auto">
+            <a href="/blog/airflow-2.3.0/">
+                
+
+<button class="btn-hollow btn-blue bodytext__medium--cerulean-blue" >Read 
more</button>
+
+            </a>
+        </div>
+    </div>
+</div>
+
+                    </div>
+                
+                    <div class="list-item list-item--wide">
+                        
+
 <div class="card">
     <div class="box-event__blogpost">
         <div class="box-event__blogpost--metadata">
diff --git a/blog/airflow_summit_2021/index.html 
b/blog/airflow_summit_2021/index.html
index f5853d557..97d1cefcb 100644
--- a/blog/airflow_summit_2021/index.html
+++ b/blog/airflow_summit_2021/index.html
@@ -36,13 +36,13 @@
 
 <meta property="og:image" content="/images/feature-image.png" />
 <meta property="article:published_time" content="2021-03-21T00:00:00+00:00" />
-<meta property="article:modified_time" content="2022-04-30T23:44:13+01:00" 
/><meta property="og:site_name" content="Apache Airflow" />
+<meta property="article:modified_time" content="2022-05-01T01:14:31+01:00" 
/><meta property="og:site_name" content="Apache Airflow" />
 <meta itemprop="name" content="Airflow Summit 2021">
 <meta itemprop="description" content="We are thrilled about Airflow Summit 
2021!">
 
 
 <meta itemprop="datePublished" content="2021-03-21T00:00:00&#43;00:00" />
-<meta itemprop="dateModified" content="2022-04-30T23:44:13&#43;01:00" />
+<meta itemprop="dateModified" content="2022-05-01T01:14:31&#43;01:00" />
 <meta itemprop="wordCount" content="77">
 
 
diff --git a/blog/announcing-new-website/index.html 
b/blog/announcing-new-website/index.html
index e957741d0..accdf73a5 100644
--- a/blog/announcing-new-website/index.html
+++ b/blog/announcing-new-website/index.html
@@ -36,13 +36,13 @@
 
 <meta property="og:image" content="/images/feature-image.png" />
 <meta property="article:published_time" content="2019-12-11T00:00:00+00:00" />
-<meta property="article:modified_time" content="2022-04-30T23:44:13+01:00" 
/><meta property="og:site_name" content="Apache Airflow" />
+<meta property="article:modified_time" content="2022-05-01T01:14:31+01:00" 
/><meta property="og:site_name" content="Apache Airflow" />
 <meta itemprop="name" content="New Airflow website">
 <meta itemprop="description" content="We are thrilled about our new website!">
 
 
 <meta itemprop="datePublished" content="2019-12-11T00:00:00&#43;00:00" />
-<meta itemprop="dateModified" content="2022-04-30T23:44:13&#43;01:00" />
+<meta itemprop="dateModified" content="2022-05-01T01:14:31&#43;01:00" />
 <meta itemprop="wordCount" content="282">
 
 
diff --git a/blog/apache-airflow-for-newcomers/index.html 
b/blog/apache-airflow-for-newcomers/index.html
index a0736940e..841ffe8c2 100644
--- a/blog/apache-airflow-for-newcomers/index.html
+++ b/blog/apache-airflow-for-newcomers/index.html
@@ -37,14 +37,14 @@ Authoring Workflow in Apache Airflow. Airflow makes it easy 
to author workflows
 
 <meta property="og:image" content="/images/feature-image.png" />
 <meta property="article:published_time" content="2020-08-17T00:00:00+00:00" />
-<meta property="article:modified_time" content="2022-04-30T23:44:13+01:00" 
/><meta property="og:site_name" content="Apache Airflow" />
+<meta property="article:modified_time" content="2022-05-01T01:14:31+01:00" 
/><meta property="og:site_name" content="Apache Airflow" />
 <meta itemprop="name" content="Apache Airflow For Newcomers">
 <meta itemprop="description" content="Apache Airflow is a platform to 
programmatically author, schedule, and monitor workflows. A workflow is a 
sequence of tasks that processes a set of data. You can think of workflow as 
the path that describes how tasks go from being undone to done. Scheduling, on 
the other hand, is the process of planning, controlling, and optimizing when a 
particular task should be done.
 Authoring Workflow in Apache Airflow. Airflow makes it easy to author 
workflows using python scripts.">
 
 
 <meta itemprop="datePublished" content="2020-08-17T00:00:00&#43;00:00" />
-<meta itemprop="dateModified" content="2022-04-30T23:44:13&#43;01:00" />
+<meta itemprop="dateModified" content="2022-05-01T01:14:31&#43;01:00" />
 <meta itemprop="wordCount" content="1070">
 
 
diff --git 
a/blog/apache-con-europe-2019-thoughts-and-insights-by-airflow-committers/index.html
 
b/blog/apache-con-europe-2019-thoughts-and-insights-by-airflow-committers/index.html
index 8416b93b4..ef00d5bc6 100644
--- 
a/blog/apache-con-europe-2019-thoughts-and-insights-by-airflow-committers/index.html
+++ 
b/blog/apache-con-europe-2019-thoughts-and-insights-by-airflow-committers/index.html
@@ -36,13 +36,13 @@
 
 <meta property="og:image" content="/images/feature-image.png" />
 <meta property="article:published_time" content="2019-11-22T00:00:00+00:00" />
-<meta property="article:modified_time" content="2022-04-30T23:44:13+01:00" 
/><meta property="og:site_name" content="Apache Airflow" />
+<meta property="article:modified_time" content="2022-05-01T01:14:31+01:00" 
/><meta property="og:site_name" content="Apache Airflow" />
 <meta itemprop="name" content="ApacheCon Europe 2019 — Thoughts and Insights 
by Airflow Committers">
 <meta itemprop="description" content="Here come some thoughts by Airflow 
committers and contributors from the ApacheCon Europe 2019. Get to know the ASF 
community!">
 
 
 <meta itemprop="datePublished" content="2019-11-22T00:00:00&#43;00:00" />
-<meta itemprop="dateModified" content="2022-04-30T23:44:13&#43;01:00" />
+<meta itemprop="dateModified" content="2022-05-01T01:14:31&#43;01:00" />
 <meta itemprop="wordCount" content="138">
 
 
diff --git a/blog/documenting-using-local-development-environments/index.html 
b/blog/documenting-using-local-development-environments/index.html
index d9c90698e..38f5f5bce 100644
--- a/blog/documenting-using-local-development-environments/index.html
+++ b/blog/documenting-using-local-development-environments/index.html
@@ -36,13 +36,13 @@
 
 <meta property="og:image" content="/images/feature-image.png" />
 <meta property="article:published_time" content="2019-11-22T00:00:00+00:00" />
-<meta property="article:modified_time" content="2022-04-30T23:44:13+01:00" 
/><meta property="og:site_name" content="Apache Airflow" />
+<meta property="article:modified_time" content="2022-05-01T01:14:31+01:00" 
/><meta property="og:site_name" content="Apache Airflow" />
 <meta itemprop="name" content="Documenting using local development 
environment">
 <meta itemprop="description" content="The story behind documenting local 
development environment of Apache Airflow">
 
 
 <meta itemprop="datePublished" content="2019-11-22T00:00:00&#43;00:00" />
-<meta itemprop="dateModified" content="2022-04-30T23:44:13&#43;01:00" />
+<meta itemprop="dateModified" content="2022-05-01T01:14:31&#43;01:00" />
 <meta itemprop="wordCount" content="256">
 
 
diff --git 
a/blog/experience-in-google-season-of-docs-2019-with-apache-airflow/index.html 
b/blog/experience-in-google-season-of-docs-2019-with-apache-airflow/index.html
index 0857c9188..563c707e4 100644
--- 
a/blog/experience-in-google-season-of-docs-2019-with-apache-airflow/index.html
+++ 
b/blog/experience-in-google-season-of-docs-2019-with-apache-airflow/index.html
@@ -37,14 +37,14 @@ About Me I have been writing tech articles on medium as 
well as my blog for the
 
 <meta property="og:image" content="/images/feature-image.png" />
 <meta property="article:published_time" content="2019-12-20T00:00:00+00:00" />
-<meta property="article:modified_time" content="2022-04-30T23:44:13+01:00" 
/><meta property="og:site_name" content="Apache Airflow" />
+<meta property="article:modified_time" content="2022-05-01T01:14:31+01:00" 
/><meta property="og:site_name" content="Apache Airflow" />
 <meta itemprop="name" content="Experience in Google Season of Docs 2019 with 
Apache Airflow">
 <meta itemprop="description" content="I came across Google Season of Docs 
(GSoD) almost by accident, thanks to my extensive HackerNews and Twitter 
addiction. I was familiar with the Google Summer of Code but not with this 
program. It turns out it was the inaugural phase. I read the details, and the 
process felt a lot like GSoC except that this was about documentation.
 About Me I have been writing tech articles on medium as well as my blog for 
the past 1.">
 
 
 <meta itemprop="datePublished" content="2019-12-20T00:00:00&#43;00:00" />
-<meta itemprop="dateModified" content="2022-04-30T23:44:13&#43;01:00" />
+<meta itemprop="dateModified" content="2022-05-01T01:14:31&#43;01:00" />
 <meta itemprop="wordCount" content="1521">
 
 
diff --git a/blog/experience-with-airflow-as-an-outreachy-intern/index.html 
b/blog/experience-with-airflow-as-an-outreachy-intern/index.html
index e99031ec4..d98ab7cd1 100644
--- a/blog/experience-with-airflow-as-an-outreachy-intern/index.html
+++ b/blog/experience-with-airflow-as-an-outreachy-intern/index.html
@@ -37,14 +37,14 @@ Contribution Period The first thing I had to do was choose 
a project under an or
 
 <meta property="og:image" content="/images/feature-image.png" />
 <meta property="article:published_time" content="2020-08-30T00:00:00+00:00" />
-<meta property="article:modified_time" content="2022-04-30T23:44:13+01:00" 
/><meta property="og:site_name" content="Apache Airflow" />
+<meta property="article:modified_time" content="2022-05-01T01:14:31+01:00" 
/><meta property="og:site_name" content="Apache Airflow" />
 <meta itemprop="name" content="Journey with Airflow as an Outreachy Intern">
 <meta itemprop="description" content="Outreachy is a program which organises 
three months paid internships with FOSS projects for people who are typically 
underrepresented in those projects.
 Contribution Period The first thing I had to do was choose a project under an 
organisation. After going through all the projects I chose “Extending the REST 
API of Apache Airflow”, because I had a good idea of what REST API(s) are, so I 
thought it would be easier to get started with the contributions.">
 
 
 <meta itemprop="datePublished" content="2020-08-30T00:00:00&#43;00:00" />
-<meta itemprop="dateModified" content="2022-04-30T23:44:13&#43;01:00" />
+<meta itemprop="dateModified" content="2022-05-01T01:14:31&#43;01:00" />
 <meta itemprop="wordCount" content="532">
 
 
diff --git a/blog/implementing-stable-api-for-apache-airflow/index.html 
b/blog/implementing-stable-api-for-apache-airflow/index.html
index e2402844d..a2bee491a 100644
--- a/blog/implementing-stable-api-for-apache-airflow/index.html
+++ b/blog/implementing-stable-api-for-apache-airflow/index.html
@@ -36,13 +36,13 @@
 
 <meta property="og:image" content="/images/feature-image.png" />
 <meta property="article:published_time" content="2020-07-19T00:00:00+00:00" />
-<meta property="article:modified_time" content="2022-04-30T23:44:13+01:00" 
/><meta property="og:site_name" content="Apache Airflow" />
+<meta property="article:modified_time" content="2022-05-01T01:14:31+01:00" 
/><meta property="og:site_name" content="Apache Airflow" />
 <meta itemprop="name" content="Implementing Stable API for Apache Airflow">
 <meta itemprop="description" content="An Outreachy intern&#39;s progress 
report on contributing to Apache Airflow REST API.">
 
 
 <meta itemprop="datePublished" content="2020-07-19T00:00:00&#43;00:00" />
-<meta itemprop="dateModified" content="2022-04-30T23:44:13&#43;01:00" />
+<meta itemprop="dateModified" content="2022-05-01T01:14:31&#43;01:00" />
 <meta itemprop="wordCount" content="703">
 
 
@@ -655,6 +655,41 @@ wonderful reviews. I&rsquo;m grateful.</p>
                     <div class="list-item list-item--wide">
                         
 
+<div class="card">
+    <div class="box-event__blogpost">
+        <div class="box-event__blogpost--metadata">
+            <div class="tags-container">
+                
+                    
+                        <a class="tag" href="/blog/tags/release/">Release</a>
+                    
+                
+            </div>
+            <span class="bodytext__medium--brownish-grey 
box-event__blogpost--date">Sat, Apr 30, 2022</span>
+        </div>
+        <p class="box-event__blogpost--header">
+            <a href="/blog/airflow-2.3.0/">
+                Apache Airflow 2.3.0 is here
+            </a>
+        </p>
+        <p class="box-event__blogpost--author">Ephraim Anierobi</p>
+        <p class="box-event__blogpost--description">We&#39;re proud to 
announce that Apache Airflow 2.3.0 has been released.</p>
+        <div class="mt-auto">
+            <a href="/blog/airflow-2.3.0/">
+                
+
+<button class="btn-hollow btn-blue bodytext__medium--cerulean-blue" >Read 
more</button>
+
+            </a>
+        </div>
+    </div>
+</div>
+
+                    </div>
+                
+                    <div class="list-item list-item--wide">
+                        
+
 <div class="card">
     <div class="box-event__blogpost">
         <div class="box-event__blogpost--metadata">
diff --git a/blog/index.html b/blog/index.html
index 6aaa94f59..cd9a08559 100644
--- a/blog/index.html
+++ b/blog/index.html
@@ -489,6 +489,41 @@
                     <div class="list-item list-item--wide">
                         
 
+<div class="card">
+    <div class="box-event__blogpost">
+        <div class="box-event__blogpost--metadata">
+            <div class="tags-container">
+                
+                    
+                        <a class="tag" href="/blog/tags/release/">Release</a>
+                    
+                
+            </div>
+            <span class="bodytext__medium--brownish-grey 
box-event__blogpost--date">Sat, Apr 30, 2022</span>
+        </div>
+        <p class="box-event__blogpost--header">
+            <a href="/blog/airflow-2.3.0/">
+                Apache Airflow 2.3.0 is here
+            </a>
+        </p>
+        <p class="box-event__blogpost--author">Ephraim Anierobi</p>
+        <p class="box-event__blogpost--description">We&#39;re proud to 
announce that Apache Airflow 2.3.0 has been released.</p>
+        <div class="mt-auto">
+            <a href="/blog/airflow-2.3.0/">
+                
+
+<button class="btn-hollow btn-blue bodytext__medium--cerulean-blue" >Read 
more</button>
+
+            </a>
+        </div>
+    </div>
+</div>
+
+                    </div>
+                
+                    <div class="list-item list-item--wide">
+                        
+
 <div class="card">
     <div class="box-event__blogpost">
         <div class="box-event__blogpost--metadata">
diff --git a/blog/index.xml b/blog/index.xml
index a2f8002ca..4d557d6f7 100644
--- a/blog/index.xml
+++ b/blog/index.xml
@@ -13,6 +13,156 @@
       
     
     
+    <item>
+      <title>Blog: Apache Airflow 2.3.0 is here</title>
+      <link>/blog/airflow-2.3.0/</link>
+      <pubDate>Sat, 30 Apr 2022 00:00:00 +0000</pubDate>
+      
+      <guid>/blog/airflow-2.3.0/</guid>
+      <description>
+        
+        
+        
+
+&lt;p&gt;Apache Airflow 2.3.0 contains over 700 commits since 2.2.0 and 
includes 50 new features, 99 improvements, 85 bug fixes, and several doc 
changes.&lt;/p&gt;
+
+&lt;p&gt;&lt;strong&gt;Details&lt;/strong&gt;:&lt;/p&gt;
+
+&lt;p&gt;📦 PyPI: &lt;a 
href=&#34;https://pypi.org/project/apache-airflow/2.3.0/&#34; 
target=&#34;_blank&#34;&gt;https://pypi.org/project/apache-airflow/2.3.0/&lt;/a&gt;
 &lt;br /&gt;
+📚 Docs: &lt;a 
href=&#34;https://airflow.apache.org/docs/apache-airflow/2.3.0/&#34; 
target=&#34;_blank&#34;&gt;https://airflow.apache.org/docs/apache-airflow/2.3.0/&lt;/a&gt;
 &lt;br /&gt;
+🛠️ Release Notes: &lt;a 
href=&#34;https://airflow.apache.org/docs/apache-airflow/2.3.0/release_notes.html&#34;
 
target=&#34;_blank&#34;&gt;https://airflow.apache.org/docs/apache-airflow/2.3.0/release_notes.html&lt;/a&gt;
 &lt;br /&gt;
+🐳 Docker Image: docker pull apache/airflow:2.3.0 &lt;br /&gt;
+🚏 Constraints: &lt;a 
href=&#34;https://github.com/apache/airflow/tree/constraints-2.3.0&#34; 
target=&#34;_blank&#34;&gt;https://github.com/apache/airflow/tree/constraints-2.3.0&lt;/a&gt;&lt;/p&gt;
+
+&lt;p&gt;As the changelog is quite large, the following are some notable new 
features that shipped in this release.&lt;/p&gt;
+
+&lt;h2 id=&#34;dynamic-task-mapping-aip-42&#34;&gt;Dynamic Task 
Mapping(AIP-42)&lt;/h2&gt;
+
+&lt;p&gt;There&amp;rsquo;s now first-class support for dynamic tasks in 
Airflow. What this means is that you can generate tasks dynamically at runtime. 
Much like using a &lt;code&gt;for&lt;/code&gt; loop
+to create a list of tasks, here you can create the same tasks without having 
to know the exact number of tasks ahead of time.&lt;/p&gt;
+
+&lt;p&gt;You can have a &lt;code&gt;task&lt;/code&gt; generate the list to 
iterate over, which is not possible with a &lt;code&gt;for&lt;/code&gt; 
loop.&lt;/p&gt;
+
+&lt;p&gt;Here is an example:&lt;/p&gt;
+
+&lt;pre&gt;&lt;code class=&#34;language-python&#34;&gt;@task
+def make_list():
+    # This can also be from an API call, checking a database, -- almost 
anything you like, as long as the
+    # resulting list/dictionary can be stored in the current XCom backend.
+    return [1, 2, {&amp;quot;a&amp;quot;: &amp;quot;b&amp;quot;}, 
&amp;quot;str&amp;quot;]
+
+
+@task
+def consumer(arg):
+    print(list(arg))
+
+
+with DAG(dag_id=&amp;quot;dynamic-map&amp;quot;, start_date=datetime(2022, 4, 
2)) as dag:
+    consumer.expand(arg=make_list())
+&lt;/code&gt;&lt;/pre&gt;
+
+&lt;p&gt;More information can be found here: &lt;a 
href=&#34;https://airflow.apache.org/docs/apache-airflow/2.3.0/concepts/dynamic-task-mapping.html&#34;
 target=&#34;_blank&#34;&gt;Dynamic Task Mapping&lt;/a&gt;&lt;/p&gt;
+
+&lt;h2 id=&#34;grid-view-replaces-tree-view&#34;&gt;Grid View replaces Tree 
View&lt;/h2&gt;
+
+&lt;p&gt;Grid view replaces tree view in Airflow 2.3.0.&lt;/p&gt;
+
+&lt;p&gt;&lt;strong&gt;Screenshots&lt;/strong&gt;:
+&lt;img src=&#34;grid-view.png&#34; alt=&#34;The new grid view&#34; 
/&gt;&lt;/p&gt;
+
+&lt;h2 id=&#34;purge-history-from-metadata-database&#34;&gt;Purge history from 
metadata database&lt;/h2&gt;
+
+&lt;p&gt;Airflow 2.3.0 introduces a new &lt;code&gt;airflow db 
clean&lt;/code&gt; command that can be used to purge old data from the metadata 
database.&lt;/p&gt;
+
+&lt;p&gt;You would want to use this command if you want to reduce the size of 
the metadata database.&lt;/p&gt;
+
+&lt;p&gt;More information can be found here: &lt;a 
href=&#34;https://airflow.apache.org/docs/apache-airflow/2.3.0/usage-cli.html#purge-history-from-metadata-database&#34;
 target=&#34;_blank&#34;&gt;Purge history from metadata 
database&lt;/a&gt;&lt;/p&gt;
+
+&lt;h2 
id=&#34;localkubernetesexecutor&#34;&gt;LocalKubernetesExecutor&lt;/h2&gt;
+
+&lt;p&gt;There is a new executor named LocalKubernetesExecutor. This executor 
helps you run some tasks using LocalExecutor and run another set of tasks using 
the KubernetesExecutor in the same deployment based on the task&amp;rsquo;s 
queue.&lt;/p&gt;
+
+&lt;p&gt;More information can be found here: &lt;a 
href=&#34;https://airflow.apache.org/docs/apache-airflow/2.3.0/executor/local_kubernetes.html&#34;
 target=&#34;_blank&#34;&gt;LocalKubernetesExecutor&lt;/a&gt;&lt;/p&gt;
+
+&lt;h2 
id=&#34;dagprocessormanager-as-standalone-process-aip-43&#34;&gt;DagProcessorManager
 as standalone process (AIP-43)&lt;/h2&gt;
+
+&lt;p&gt;As of 2.3.0, you can run the DagProcessorManager as a standalone 
process. Because DagProcessorManager runs user code, separating it from the 
scheduler process and running it as an independent process in a different host 
is a good idea.&lt;/p&gt;
+
+&lt;p&gt;The &lt;code&gt;airflow dag-processor&lt;/code&gt; cli command will 
start a new process that will run the DagProcessorManager in a separate 
process. Before you can run the DagProcessorManager as a standalone process, 
you need to set the &lt;a 
href=&#34;https://airflow.apache.org/docs/apache-airflow/stable/configurations-ref.html#standalone_dag_processor&#34;
 target=&#34;_blank&#34;&gt;[scheduler] standalone_dag_processor&lt;/a&gt; to 
&lt;code&gt;True&lt;/code&gt;.&lt;/p&gt;
+
+&lt;p&gt;More information can be found here: &lt;a 
href=&#34;https://airflow.apache.org/docs/apache-airflow/2.3.0/cli-and-env-variables-ref.html#dag-processor&#34;
 target=&#34;_blank&#34;&gt;dag-processor CLI command&lt;/a&gt;&lt;/p&gt;
+
+&lt;h2 id=&#34;json-serialization-for-connections&#34;&gt;JSON serialization 
for connections&lt;/h2&gt;
+
+&lt;p&gt;You can now create connections using the 
&lt;code&gt;json&lt;/code&gt; serialization format.&lt;/p&gt;
+
+&lt;pre&gt;&lt;code class=&#34;language-bash&#34;&gt;airflow connections add 
&#39;my_prod_db&#39; \
+    --conn-json &#39;{
+        &amp;quot;conn_type&amp;quot;: &amp;quot;my-conn-type&amp;quot;,
+        &amp;quot;login&amp;quot;: &amp;quot;my-login&amp;quot;,
+        &amp;quot;password&amp;quot;: &amp;quot;my-password&amp;quot;,
+        &amp;quot;host&amp;quot;: &amp;quot;my-host&amp;quot;,
+        &amp;quot;port&amp;quot;: 1234,
+        &amp;quot;schema&amp;quot;: &amp;quot;my-schema&amp;quot;,
+        &amp;quot;extra&amp;quot;: {
+            &amp;quot;param1&amp;quot;: &amp;quot;val1&amp;quot;,
+            &amp;quot;param2&amp;quot;: &amp;quot;val2&amp;quot;
+        }
+    }&#39;
+&lt;/code&gt;&lt;/pre&gt;
+
+&lt;p&gt;You can also use &lt;code&gt;json&lt;/code&gt; serialization format 
when setting the connection in environment variables.&lt;/p&gt;
+
+&lt;p&gt;More information can be found here: &lt;a 
href=&#34;https://airflow.apache.org/docs/apache-airflow/2.3.0/howto/connection.html&#34;
 target=&#34;_blank&#34;&gt;JSON serialization for 
connections&lt;/a&gt;&lt;/p&gt;
+
+&lt;h2 
id=&#34;airflow-db-downgrade-and-offline-generation-of-sql-scripts&#34;&gt;Airflow
 &lt;code&gt;db downgrade&lt;/code&gt; and Offline generation of SQL 
scripts&lt;/h2&gt;
+
+&lt;p&gt;Airflow 2.3.0 introduced a new command &lt;code&gt;airflow db 
downgrade&lt;/code&gt; that will downgrade the database to your chosen 
version.&lt;/p&gt;
+
+&lt;p&gt;You can also generate the downgrade/upgrade SQL scripts for your 
database and manually run it against your database or just view the SQL queries 
that would be run by the downgrade/upgrade command.&lt;/p&gt;
+
+&lt;p&gt;More information can be found here: &lt;a 
href=&#34;https://airflow.apache.org/docs/apache-airflow/2.3.0/usage-cli.html#downgrading-airflow&#34;
 target=&#34;_blank&#34;&gt;Airflow &lt;code&gt;db downgrade&lt;/code&gt; and 
Offline generation of SQL scripts&lt;/a&gt;&lt;/p&gt;
+
+&lt;h2 id=&#34;reuse-of-decorated-tasks&#34;&gt;Reuse of decorated 
tasks&lt;/h2&gt;
+
+&lt;p&gt;You can now reuse decorated tasks across your dag files. A decorated 
task has an &lt;code&gt;override&lt;/code&gt; method that allows you to 
override it&amp;rsquo;s arguments.&lt;/p&gt;
+
+&lt;p&gt;Here&amp;rsquo;s an example:&lt;/p&gt;
+
+&lt;pre&gt;&lt;code class=&#34;language-python&#34;&gt;@task
+def add_task(x, y):
+    print(f&amp;quot;Task args: x={x}, y={y}&amp;quot;)
+    return x + y
+
+
+@dag(start_date=datetime(2022, 1, 1))
+def mydag():
+    start = add_task.override(task_id=&amp;quot;start&amp;quot;)(1, 2)
+    for i in range(3):
+        start &amp;gt;&amp;gt; 
add_task.override(task_id=f&amp;quot;add_start_{i}&amp;quot;)(start, i)
+&lt;/code&gt;&lt;/pre&gt;
+
+&lt;p&gt;More information can be found here: &lt;a 
href=&#34;https://airflow.apache.org/docs/apache-airflow/2.3.0/tutorial_taskflow_api.html#reusing-a-decorated-task&#34;
 target=&#34;_blank&#34;&gt;Reuse of decorated DAGs&lt;/a&gt;&lt;/p&gt;
+
+&lt;h2 id=&#34;other-small-features&#34;&gt;Other small features&lt;/h2&gt;
+
+&lt;p&gt;This isn’t a comprehensive list, but some noteworthy or interesting 
small features include:&lt;/p&gt;
+
+&lt;ul&gt;
+&lt;li&gt;Support different timeout value for dag file parsing&lt;/li&gt;
+&lt;li&gt;&lt;code&gt;airflow dags reserialize&lt;/code&gt; command to 
reserialize dags&lt;/li&gt;
+&lt;li&gt;Events Timetable&lt;/li&gt;
+&lt;li&gt;SmoothOperator - Operator that does literally nothing except logging 
a YouTube link to
+Sade&amp;rsquo;s &amp;ldquo;Smooth Operator&amp;rdquo;. Enjoy!&lt;/li&gt;
+&lt;/ul&gt;
+
+&lt;h2 id=&#34;contributors&#34;&gt;Contributors&lt;/h2&gt;
+
+&lt;p&gt;Thanks to everyone who contributed to this release: Ash 
Berlin-Taylor, Brent Bovenzi, Daniel Standish, Elad, Ephraim Anierobi, Jarek 
Potiuk, Jed Cunningham, Josh Fell, Kamil Breguła, Kanthi, Kaxil Naik, Khalid 
Mammadov, Malthe Borch, Ping Zhang, Tzu-ping Chung and many others who keep 
making Airflow better for everyone.&lt;/p&gt;
+
+      </description>
+    </item>
+    
     <item>
       <title>Blog: What&#39;s new in Apache Airflow 2.2.0</title>
       <link>/blog/airflow-2.2.0/</link>
diff --git a/blog/its-a-breeze-to-develop-apache-airflow/index.html 
b/blog/its-a-breeze-to-develop-apache-airflow/index.html
index 33abe4ee3..eff041dcf 100644
--- a/blog/its-a-breeze-to-develop-apache-airflow/index.html
+++ b/blog/its-a-breeze-to-develop-apache-airflow/index.html
@@ -36,13 +36,13 @@
 
 <meta property="og:image" content="/images/feature-image.png" />
 <meta property="article:published_time" content="2019-11-22T00:00:00+00:00" />
-<meta property="article:modified_time" content="2022-04-30T23:44:13+01:00" 
/><meta property="og:site_name" content="Apache Airflow" />
+<meta property="article:modified_time" content="2022-05-01T01:14:31+01:00" 
/><meta property="og:site_name" content="Apache Airflow" />
 <meta itemprop="name" content="It&#39;s a &#34;Breeze&#34; to develop Apache 
Airflow">
 <meta itemprop="description" content="A Principal Software Engineer&#39;s 
journey to developer productivity. Learn how Jarek and his team speeded up and 
simplified Airflow development for the community.">
 
 
 <meta itemprop="datePublished" content="2019-11-22T00:00:00&#43;00:00" />
-<meta itemprop="dateModified" content="2022-04-30T23:44:13&#43;01:00" />
+<meta itemprop="dateModified" content="2022-05-01T01:14:31&#43;01:00" />
 <meta itemprop="wordCount" content="124">
 
 
diff --git a/blog/tags/release/index.html b/blog/tags/release/index.html
index 56444954f..b491c87fa 100644
--- a/blog/tags/release/index.html
+++ b/blog/tags/release/index.html
@@ -37,7 +37,7 @@
 
 <meta property="og:image" content="/images/feature-image.png" />
 
-<meta property="og:updated_time" content="2021-10-11T00:00:00+00:00" /><meta 
property="og:site_name" content="Apache Airflow" />
+<meta property="og:updated_time" content="2022-04-30T00:00:00+00:00" /><meta 
property="og:site_name" content="Apache Airflow" />
 <meta itemprop="name" content="release">
 <meta itemprop="description" content="Platform created by the community to 
programmatically author, schedule and monitor workflows.">
 
@@ -499,6 +499,41 @@
                     <div class="list-item list-item--wide">
                         
 
+<div class="card">
+    <div class="box-event__blogpost">
+        <div class="box-event__blogpost--metadata">
+            <div class="tags-container">
+                
+                    
+                        <a class="tag" href="/blog/tags/release/">Release</a>
+                    
+                
+            </div>
+            <span class="bodytext__medium--brownish-grey 
box-event__blogpost--date">Sat, Apr 30, 2022</span>
+        </div>
+        <p class="box-event__blogpost--header">
+            <a href="/blog/airflow-2.3.0/">
+                Apache Airflow 2.3.0 is here
+            </a>
+        </p>
+        <p class="box-event__blogpost--author">Ephraim Anierobi</p>
+        <p class="box-event__blogpost--description">We&#39;re proud to 
announce that Apache Airflow 2.3.0 has been released.</p>
+        <div class="mt-auto">
+            <a href="/blog/airflow-2.3.0/">
+                
+
+<button class="btn-hollow btn-blue bodytext__medium--cerulean-blue" >Read 
more</button>
+
+            </a>
+        </div>
+    </div>
+</div>
+
+                    </div>
+                
+                    <div class="list-item list-item--wide">
+                        
+
 <div class="card">
     <div class="box-event__blogpost">
         <div class="box-event__blogpost--metadata">
diff --git a/blog/tags/release/index.xml b/blog/tags/release/index.xml
index a44a3ffcf..eb7c63ebf 100644
--- a/blog/tags/release/index.xml
+++ b/blog/tags/release/index.xml
@@ -4,7 +4,7 @@
     <link>/blog/tags/release/</link>
     <description>Recent content in release on Apache Airflow</description>
     <generator>Hugo -- gohugo.io</generator>
-    <lastBuildDate>Mon, 11 Oct 2021 00:00:00 +0000</lastBuildDate>
+    <lastBuildDate>Sat, 30 Apr 2022 00:00:00 +0000</lastBuildDate>
     
          <atom:link href="/blog/tags/release/index.xml" rel="self" 
type="application/rss+xml" />
     
@@ -14,6 +14,156 @@
       
     
     
+    <item>
+      <title>Blog: Apache Airflow 2.3.0 is here</title>
+      <link>/blog/airflow-2.3.0/</link>
+      <pubDate>Sat, 30 Apr 2022 00:00:00 +0000</pubDate>
+      
+      <guid>/blog/airflow-2.3.0/</guid>
+      <description>
+        
+        
+        
+
+&lt;p&gt;Apache Airflow 2.3.0 contains over 700 commits since 2.2.0 and 
includes 50 new features, 99 improvements, 85 bug fixes, and several doc 
changes.&lt;/p&gt;
+
+&lt;p&gt;&lt;strong&gt;Details&lt;/strong&gt;:&lt;/p&gt;
+
+&lt;p&gt;📦 PyPI: &lt;a 
href=&#34;https://pypi.org/project/apache-airflow/2.3.0/&#34; 
target=&#34;_blank&#34;&gt;https://pypi.org/project/apache-airflow/2.3.0/&lt;/a&gt;
 &lt;br /&gt;
+📚 Docs: &lt;a 
href=&#34;https://airflow.apache.org/docs/apache-airflow/2.3.0/&#34; 
target=&#34;_blank&#34;&gt;https://airflow.apache.org/docs/apache-airflow/2.3.0/&lt;/a&gt;
 &lt;br /&gt;
+🛠️ Release Notes: &lt;a 
href=&#34;https://airflow.apache.org/docs/apache-airflow/2.3.0/release_notes.html&#34;
 
target=&#34;_blank&#34;&gt;https://airflow.apache.org/docs/apache-airflow/2.3.0/release_notes.html&lt;/a&gt;
 &lt;br /&gt;
+🐳 Docker Image: docker pull apache/airflow:2.3.0 &lt;br /&gt;
+🚏 Constraints: &lt;a 
href=&#34;https://github.com/apache/airflow/tree/constraints-2.3.0&#34; 
target=&#34;_blank&#34;&gt;https://github.com/apache/airflow/tree/constraints-2.3.0&lt;/a&gt;&lt;/p&gt;
+
+&lt;p&gt;As the changelog is quite large, the following are some notable new 
features that shipped in this release.&lt;/p&gt;
+
+&lt;h2 id=&#34;dynamic-task-mapping-aip-42&#34;&gt;Dynamic Task 
Mapping(AIP-42)&lt;/h2&gt;
+
+&lt;p&gt;There&amp;rsquo;s now first-class support for dynamic tasks in 
Airflow. What this means is that you can generate tasks dynamically at runtime. 
Much like using a &lt;code&gt;for&lt;/code&gt; loop
+to create a list of tasks, here you can create the same tasks without having 
to know the exact number of tasks ahead of time.&lt;/p&gt;
+
+&lt;p&gt;You can have a &lt;code&gt;task&lt;/code&gt; generate the list to 
iterate over, which is not possible with a &lt;code&gt;for&lt;/code&gt; 
loop.&lt;/p&gt;
+
+&lt;p&gt;Here is an example:&lt;/p&gt;
+
+&lt;pre&gt;&lt;code class=&#34;language-python&#34;&gt;@task
+def make_list():
+    # This can also be from an API call, checking a database, -- almost 
anything you like, as long as the
+    # resulting list/dictionary can be stored in the current XCom backend.
+    return [1, 2, {&amp;quot;a&amp;quot;: &amp;quot;b&amp;quot;}, 
&amp;quot;str&amp;quot;]
+
+
+@task
+def consumer(arg):
+    print(list(arg))
+
+
+with DAG(dag_id=&amp;quot;dynamic-map&amp;quot;, start_date=datetime(2022, 4, 
2)) as dag:
+    consumer.expand(arg=make_list())
+&lt;/code&gt;&lt;/pre&gt;
+
+&lt;p&gt;More information can be found here: &lt;a 
href=&#34;https://airflow.apache.org/docs/apache-airflow/2.3.0/concepts/dynamic-task-mapping.html&#34;
 target=&#34;_blank&#34;&gt;Dynamic Task Mapping&lt;/a&gt;&lt;/p&gt;
+
+&lt;h2 id=&#34;grid-view-replaces-tree-view&#34;&gt;Grid View replaces Tree 
View&lt;/h2&gt;
+
+&lt;p&gt;Grid view replaces tree view in Airflow 2.3.0.&lt;/p&gt;
+
+&lt;p&gt;&lt;strong&gt;Screenshots&lt;/strong&gt;:
+&lt;img src=&#34;grid-view.png&#34; alt=&#34;The new grid view&#34; 
/&gt;&lt;/p&gt;
+
+&lt;h2 id=&#34;purge-history-from-metadata-database&#34;&gt;Purge history from 
metadata database&lt;/h2&gt;
+
+&lt;p&gt;Airflow 2.3.0 introduces a new &lt;code&gt;airflow db 
clean&lt;/code&gt; command that can be used to purge old data from the metadata 
database.&lt;/p&gt;
+
+&lt;p&gt;You would want to use this command if you want to reduce the size of 
the metadata database.&lt;/p&gt;
+
+&lt;p&gt;More information can be found here: &lt;a 
href=&#34;https://airflow.apache.org/docs/apache-airflow/2.3.0/usage-cli.html#purge-history-from-metadata-database&#34;
 target=&#34;_blank&#34;&gt;Purge history from metadata 
database&lt;/a&gt;&lt;/p&gt;
+
+&lt;h2 
id=&#34;localkubernetesexecutor&#34;&gt;LocalKubernetesExecutor&lt;/h2&gt;
+
+&lt;p&gt;There is a new executor named LocalKubernetesExecutor. This executor 
helps you run some tasks using LocalExecutor and run another set of tasks using 
the KubernetesExecutor in the same deployment based on the task&amp;rsquo;s 
queue.&lt;/p&gt;
+
+&lt;p&gt;More information can be found here: &lt;a 
href=&#34;https://airflow.apache.org/docs/apache-airflow/2.3.0/executor/local_kubernetes.html&#34;
 target=&#34;_blank&#34;&gt;LocalKubernetesExecutor&lt;/a&gt;&lt;/p&gt;
+
+&lt;h2 
id=&#34;dagprocessormanager-as-standalone-process-aip-43&#34;&gt;DagProcessorManager
 as standalone process (AIP-43)&lt;/h2&gt;
+
+&lt;p&gt;As of 2.3.0, you can run the DagProcessorManager as a standalone 
process. Because DagProcessorManager runs user code, separating it from the 
scheduler process and running it as an independent process in a different host 
is a good idea.&lt;/p&gt;
+
+&lt;p&gt;The &lt;code&gt;airflow dag-processor&lt;/code&gt; cli command will 
start a new process that will run the DagProcessorManager in a separate 
process. Before you can run the DagProcessorManager as a standalone process, 
you need to set the &lt;a 
href=&#34;https://airflow.apache.org/docs/apache-airflow/stable/configurations-ref.html#standalone_dag_processor&#34;
 target=&#34;_blank&#34;&gt;[scheduler] standalone_dag_processor&lt;/a&gt; to 
&lt;code&gt;True&lt;/code&gt;.&lt;/p&gt;
+
+&lt;p&gt;More information can be found here: &lt;a 
href=&#34;https://airflow.apache.org/docs/apache-airflow/2.3.0/cli-and-env-variables-ref.html#dag-processor&#34;
 target=&#34;_blank&#34;&gt;dag-processor CLI command&lt;/a&gt;&lt;/p&gt;
+
+&lt;h2 id=&#34;json-serialization-for-connections&#34;&gt;JSON serialization 
for connections&lt;/h2&gt;
+
+&lt;p&gt;You can now create connections using the 
&lt;code&gt;json&lt;/code&gt; serialization format.&lt;/p&gt;
+
+&lt;pre&gt;&lt;code class=&#34;language-bash&#34;&gt;airflow connections add 
&#39;my_prod_db&#39; \
+    --conn-json &#39;{
+        &amp;quot;conn_type&amp;quot;: &amp;quot;my-conn-type&amp;quot;,
+        &amp;quot;login&amp;quot;: &amp;quot;my-login&amp;quot;,
+        &amp;quot;password&amp;quot;: &amp;quot;my-password&amp;quot;,
+        &amp;quot;host&amp;quot;: &amp;quot;my-host&amp;quot;,
+        &amp;quot;port&amp;quot;: 1234,
+        &amp;quot;schema&amp;quot;: &amp;quot;my-schema&amp;quot;,
+        &amp;quot;extra&amp;quot;: {
+            &amp;quot;param1&amp;quot;: &amp;quot;val1&amp;quot;,
+            &amp;quot;param2&amp;quot;: &amp;quot;val2&amp;quot;
+        }
+    }&#39;
+&lt;/code&gt;&lt;/pre&gt;
+
+&lt;p&gt;You can also use &lt;code&gt;json&lt;/code&gt; serialization format 
when setting the connection in environment variables.&lt;/p&gt;
+
+&lt;p&gt;More information can be found here: &lt;a 
href=&#34;https://airflow.apache.org/docs/apache-airflow/2.3.0/howto/connection.html&#34;
 target=&#34;_blank&#34;&gt;JSON serialization for 
connections&lt;/a&gt;&lt;/p&gt;
+
+&lt;h2 
id=&#34;airflow-db-downgrade-and-offline-generation-of-sql-scripts&#34;&gt;Airflow
 &lt;code&gt;db downgrade&lt;/code&gt; and Offline generation of SQL 
scripts&lt;/h2&gt;
+
+&lt;p&gt;Airflow 2.3.0 introduced a new command &lt;code&gt;airflow db 
downgrade&lt;/code&gt; that will downgrade the database to your chosen 
version.&lt;/p&gt;
+
+&lt;p&gt;You can also generate the downgrade/upgrade SQL scripts for your 
database and manually run it against your database or just view the SQL queries 
that would be run by the downgrade/upgrade command.&lt;/p&gt;
+
+&lt;p&gt;More information can be found here: &lt;a 
href=&#34;https://airflow.apache.org/docs/apache-airflow/2.3.0/usage-cli.html#downgrading-airflow&#34;
 target=&#34;_blank&#34;&gt;Airflow &lt;code&gt;db downgrade&lt;/code&gt; and 
Offline generation of SQL scripts&lt;/a&gt;&lt;/p&gt;
+
+&lt;h2 id=&#34;reuse-of-decorated-tasks&#34;&gt;Reuse of decorated 
tasks&lt;/h2&gt;
+
+&lt;p&gt;You can now reuse decorated tasks across your dag files. A decorated 
task has an &lt;code&gt;override&lt;/code&gt; method that allows you to 
override it&amp;rsquo;s arguments.&lt;/p&gt;
+
+&lt;p&gt;Here&amp;rsquo;s an example:&lt;/p&gt;
+
+&lt;pre&gt;&lt;code class=&#34;language-python&#34;&gt;@task
+def add_task(x, y):
+    print(f&amp;quot;Task args: x={x}, y={y}&amp;quot;)
+    return x + y
+
+
+@dag(start_date=datetime(2022, 1, 1))
+def mydag():
+    start = add_task.override(task_id=&amp;quot;start&amp;quot;)(1, 2)
+    for i in range(3):
+        start &amp;gt;&amp;gt; 
add_task.override(task_id=f&amp;quot;add_start_{i}&amp;quot;)(start, i)
+&lt;/code&gt;&lt;/pre&gt;
+
+&lt;p&gt;More information can be found here: &lt;a 
href=&#34;https://airflow.apache.org/docs/apache-airflow/2.3.0/tutorial_taskflow_api.html#reusing-a-decorated-task&#34;
 target=&#34;_blank&#34;&gt;Reuse of decorated DAGs&lt;/a&gt;&lt;/p&gt;
+
+&lt;h2 id=&#34;other-small-features&#34;&gt;Other small features&lt;/h2&gt;
+
+&lt;p&gt;This isn’t a comprehensive list, but some noteworthy or interesting 
small features include:&lt;/p&gt;
+
+&lt;ul&gt;
+&lt;li&gt;Support different timeout value for dag file parsing&lt;/li&gt;
+&lt;li&gt;&lt;code&gt;airflow dags reserialize&lt;/code&gt; command to 
reserialize dags&lt;/li&gt;
+&lt;li&gt;Events Timetable&lt;/li&gt;
+&lt;li&gt;SmoothOperator - Operator that does literally nothing except logging 
a YouTube link to
+Sade&amp;rsquo;s &amp;ldquo;Smooth Operator&amp;rdquo;. Enjoy!&lt;/li&gt;
+&lt;/ul&gt;
+
+&lt;h2 id=&#34;contributors&#34;&gt;Contributors&lt;/h2&gt;
+
+&lt;p&gt;Thanks to everyone who contributed to this release: Ash 
Berlin-Taylor, Brent Bovenzi, Daniel Standish, Elad, Ephraim Anierobi, Jarek 
Potiuk, Jed Cunningham, Josh Fell, Kamil Breguła, Kanthi, Kaxil Naik, Khalid 
Mammadov, Malthe Borch, Ping Zhang, Tzu-ping Chung and many others who keep 
making Airflow better for everyone.&lt;/p&gt;
+
+      </description>
+    </item>
+    
     <item>
       <title>Blog: What&#39;s new in Apache Airflow 2.2.0</title>
       <link>/blog/airflow-2.2.0/</link>
diff --git a/index.html b/index.html
index ffb77f75b..2e305ea88 100644
--- a/index.html
+++ b/index.html
@@ -1233,12 +1233,12 @@
             <div id="integrations-container" class="list-items">
                 
                 
-                <a class="list-item" 
href="/docs/apache-airflow-providers-amazon/stable/index.html">
+                <a class="list-item" 
href="/docs/apache-airflow-providers-google/stable/operators/cloud/bigquery.html">
                     
 
 <div class="card">
     <div class="box-event box-event__integration">
-        <span class="box-event__integration--name">AWS Step Functions</span>
+        <span class="box-event__integration--name">Google BigQuery</span>
     </div>
 </div>
 
@@ -1246,12 +1246,12 @@
                 
                 
                 
-                <a class="list-item" 
href="/docs/apache-airflow-providers-amazon/stable/operators/glacier.html">
+                <a class="list-item" 
href="/docs/apache-airflow-providers-microsoft-azure/stable/index.html">
                     
 
 <div class="card">
     <div class="box-event box-event__integration">
-        <span class="box-event__integration--name">Amazon Glacier</span>
+        <span class="box-event__integration--name">Microsoft Azure Files</span>
     </div>
 </div>
 
@@ -1259,12 +1259,12 @@
                 
                 
                 
-                <a class="list-item" 
href="/docs/apache-airflow-providers-jdbc/stable/operators.html">
+                <a class="list-item" 
href="/docs/apache-airflow-providers-oracle/stable/index.html">
                     
 
 <div class="card">
     <div class="box-event box-event__integration">
-        <span class="box-event__integration--name">Java Database Connectivity 
(JDBC)</span>
+        <span class="box-event__integration--name">Oracle</span>
     </div>
 </div>
 
@@ -1272,12 +1272,12 @@
                 
                 
                 
-                <a class="list-item" 
href="/docs/apache-airflow-providers-microsoft-azure/stable/index.html">
+                <a class="list-item" 
href="/docs/apache-airflow-providers-google/stable/operators/cloud/compute.html">
                     
 
 <div class="card">
     <div class="box-event box-event__integration">
-        <span class="box-event__integration--name">Microsoft Azure Files</span>
+        <span class="box-event__integration--name">Google Compute Engine</span>
     </div>
 </div>
 
@@ -1285,12 +1285,12 @@
                 
                 
                 
-                <a class="list-item" 
href="/docs/apache-airflow-providers-google/stable/operators/cloud/video_intelligence.html">
+                <a class="list-item" 
href="/docs/apache-airflow-providers-cncf-kubernetes/stable/operators.html">
                     
 
 <div class="card">
     <div class="box-event box-event__integration">
-        <span class="box-event__integration--name">Google Cloud Video 
Intelligence</span>
+        <span class="box-event__integration--name">Kubernetes</span>
     </div>
 </div>
 
@@ -1311,12 +1311,12 @@
                 
                 
                 
-                <a class="list-item" 
href="/docs/apache-airflow-providers-google/stable/operators/firebase/firestore.html">
+                <a class="list-item" 
href="/docs/apache-airflow-providers-microsoft-azure/stable/index.html">
                     
 
 <div class="card">
     <div class="box-event box-event__integration">
-        <span class="box-event__integration--name">Google Cloud 
Firestore</span>
+        <span class="box-event__integration--name">Microsoft Azure</span>
     </div>
 </div>
 
@@ -1324,12 +1324,12 @@
                 
                 
                 
-                <a class="list-item" 
href="/docs/apache-airflow-providers-microsoft-azure/stable/index.html">
+                <a class="list-item" 
href="/docs/apache-airflow-providers-google/stable/operators/cloud/mlengine.html">
                     
 
 <div class="card">
     <div class="box-event box-event__integration">
-        <span class="box-event__integration--name">Microsoft Azure Container 
Instances</span>
+        <span class="box-event__integration--name">Google Machine Learning 
Engine</span>
     </div>
 </div>
 
diff --git a/index.xml b/index.xml
index fb17a146a..70b93dc30 100644
--- a/index.xml
+++ b/index.xml
@@ -12,6 +12,156 @@
       
     
     
+    <item>
+      <title>Blog: Apache Airflow 2.3.0 is here</title>
+      <link>/blog/airflow-2.3.0/</link>
+      <pubDate>Sat, 30 Apr 2022 00:00:00 +0000</pubDate>
+      
+      <guid>/blog/airflow-2.3.0/</guid>
+      <description>
+        
+        
+        
+
+&lt;p&gt;Apache Airflow 2.3.0 contains over 700 commits since 2.2.0 and 
includes 50 new features, 99 improvements, 85 bug fixes, and several doc 
changes.&lt;/p&gt;
+
+&lt;p&gt;&lt;strong&gt;Details&lt;/strong&gt;:&lt;/p&gt;
+
+&lt;p&gt;📦 PyPI: &lt;a 
href=&#34;https://pypi.org/project/apache-airflow/2.3.0/&#34; 
target=&#34;_blank&#34;&gt;https://pypi.org/project/apache-airflow/2.3.0/&lt;/a&gt;
 &lt;br /&gt;
+📚 Docs: &lt;a 
href=&#34;https://airflow.apache.org/docs/apache-airflow/2.3.0/&#34; 
target=&#34;_blank&#34;&gt;https://airflow.apache.org/docs/apache-airflow/2.3.0/&lt;/a&gt;
 &lt;br /&gt;
+🛠️ Release Notes: &lt;a 
href=&#34;https://airflow.apache.org/docs/apache-airflow/2.3.0/release_notes.html&#34;
 
target=&#34;_blank&#34;&gt;https://airflow.apache.org/docs/apache-airflow/2.3.0/release_notes.html&lt;/a&gt;
 &lt;br /&gt;
+🐳 Docker Image: docker pull apache/airflow:2.3.0 &lt;br /&gt;
+🚏 Constraints: &lt;a 
href=&#34;https://github.com/apache/airflow/tree/constraints-2.3.0&#34; 
target=&#34;_blank&#34;&gt;https://github.com/apache/airflow/tree/constraints-2.3.0&lt;/a&gt;&lt;/p&gt;
+
+&lt;p&gt;As the changelog is quite large, the following are some notable new 
features that shipped in this release.&lt;/p&gt;
+
+&lt;h2 id=&#34;dynamic-task-mapping-aip-42&#34;&gt;Dynamic Task 
Mapping(AIP-42)&lt;/h2&gt;
+
+&lt;p&gt;There&amp;rsquo;s now first-class support for dynamic tasks in 
Airflow. What this means is that you can generate tasks dynamically at runtime. 
Much like using a &lt;code&gt;for&lt;/code&gt; loop
+to create a list of tasks, here you can create the same tasks without having 
to know the exact number of tasks ahead of time.&lt;/p&gt;
+
+&lt;p&gt;You can have a &lt;code&gt;task&lt;/code&gt; generate the list to 
iterate over, which is not possible with a &lt;code&gt;for&lt;/code&gt; 
loop.&lt;/p&gt;
+
+&lt;p&gt;Here is an example:&lt;/p&gt;
+
+&lt;pre&gt;&lt;code class=&#34;language-python&#34;&gt;@task
+def make_list():
+    # This can also be from an API call, checking a database, -- almost 
anything you like, as long as the
+    # resulting list/dictionary can be stored in the current XCom backend.
+    return [1, 2, {&amp;quot;a&amp;quot;: &amp;quot;b&amp;quot;}, 
&amp;quot;str&amp;quot;]
+
+
+@task
+def consumer(arg):
+    print(list(arg))
+
+
+with DAG(dag_id=&amp;quot;dynamic-map&amp;quot;, start_date=datetime(2022, 4, 
2)) as dag:
+    consumer.expand(arg=make_list())
+&lt;/code&gt;&lt;/pre&gt;
+
+&lt;p&gt;More information can be found here: &lt;a 
href=&#34;https://airflow.apache.org/docs/apache-airflow/2.3.0/concepts/dynamic-task-mapping.html&#34;
 target=&#34;_blank&#34;&gt;Dynamic Task Mapping&lt;/a&gt;&lt;/p&gt;
+
+&lt;h2 id=&#34;grid-view-replaces-tree-view&#34;&gt;Grid View replaces Tree 
View&lt;/h2&gt;
+
+&lt;p&gt;Grid view replaces tree view in Airflow 2.3.0.&lt;/p&gt;
+
+&lt;p&gt;&lt;strong&gt;Screenshots&lt;/strong&gt;:
+&lt;img src=&#34;grid-view.png&#34; alt=&#34;The new grid view&#34; 
/&gt;&lt;/p&gt;
+
+&lt;h2 id=&#34;purge-history-from-metadata-database&#34;&gt;Purge history from 
metadata database&lt;/h2&gt;
+
+&lt;p&gt;Airflow 2.3.0 introduces a new &lt;code&gt;airflow db 
clean&lt;/code&gt; command that can be used to purge old data from the metadata 
database.&lt;/p&gt;
+
+&lt;p&gt;You would want to use this command if you want to reduce the size of 
the metadata database.&lt;/p&gt;
+
+&lt;p&gt;More information can be found here: &lt;a 
href=&#34;https://airflow.apache.org/docs/apache-airflow/2.3.0/usage-cli.html#purge-history-from-metadata-database&#34;
 target=&#34;_blank&#34;&gt;Purge history from metadata 
database&lt;/a&gt;&lt;/p&gt;
+
+&lt;h2 
id=&#34;localkubernetesexecutor&#34;&gt;LocalKubernetesExecutor&lt;/h2&gt;
+
+&lt;p&gt;There is a new executor named LocalKubernetesExecutor. This executor 
helps you run some tasks using LocalExecutor and run another set of tasks using 
the KubernetesExecutor in the same deployment based on the task&amp;rsquo;s 
queue.&lt;/p&gt;
+
+&lt;p&gt;More information can be found here: &lt;a 
href=&#34;https://airflow.apache.org/docs/apache-airflow/2.3.0/executor/local_kubernetes.html&#34;
 target=&#34;_blank&#34;&gt;LocalKubernetesExecutor&lt;/a&gt;&lt;/p&gt;
+
+&lt;h2 
id=&#34;dagprocessormanager-as-standalone-process-aip-43&#34;&gt;DagProcessorManager
 as standalone process (AIP-43)&lt;/h2&gt;
+
+&lt;p&gt;As of 2.3.0, you can run the DagProcessorManager as a standalone 
process. Because DagProcessorManager runs user code, separating it from the 
scheduler process and running it as an independent process in a different host 
is a good idea.&lt;/p&gt;
+
+&lt;p&gt;The &lt;code&gt;airflow dag-processor&lt;/code&gt; cli command will 
start a new process that will run the DagProcessorManager in a separate 
process. Before you can run the DagProcessorManager as a standalone process, 
you need to set the &lt;a 
href=&#34;https://airflow.apache.org/docs/apache-airflow/stable/configurations-ref.html#standalone_dag_processor&#34;
 target=&#34;_blank&#34;&gt;[scheduler] standalone_dag_processor&lt;/a&gt; to 
&lt;code&gt;True&lt;/code&gt;.&lt;/p&gt;
+
+&lt;p&gt;More information can be found here: &lt;a 
href=&#34;https://airflow.apache.org/docs/apache-airflow/2.3.0/cli-and-env-variables-ref.html#dag-processor&#34;
 target=&#34;_blank&#34;&gt;dag-processor CLI command&lt;/a&gt;&lt;/p&gt;
+
+&lt;h2 id=&#34;json-serialization-for-connections&#34;&gt;JSON serialization 
for connections&lt;/h2&gt;
+
+&lt;p&gt;You can now create connections using the 
&lt;code&gt;json&lt;/code&gt; serialization format.&lt;/p&gt;
+
+&lt;pre&gt;&lt;code class=&#34;language-bash&#34;&gt;airflow connections add 
&#39;my_prod_db&#39; \
+    --conn-json &#39;{
+        &amp;quot;conn_type&amp;quot;: &amp;quot;my-conn-type&amp;quot;,
+        &amp;quot;login&amp;quot;: &amp;quot;my-login&amp;quot;,
+        &amp;quot;password&amp;quot;: &amp;quot;my-password&amp;quot;,
+        &amp;quot;host&amp;quot;: &amp;quot;my-host&amp;quot;,
+        &amp;quot;port&amp;quot;: 1234,
+        &amp;quot;schema&amp;quot;: &amp;quot;my-schema&amp;quot;,
+        &amp;quot;extra&amp;quot;: {
+            &amp;quot;param1&amp;quot;: &amp;quot;val1&amp;quot;,
+            &amp;quot;param2&amp;quot;: &amp;quot;val2&amp;quot;
+        }
+    }&#39;
+&lt;/code&gt;&lt;/pre&gt;
+
+&lt;p&gt;You can also use &lt;code&gt;json&lt;/code&gt; serialization format 
when setting the connection in environment variables.&lt;/p&gt;
+
+&lt;p&gt;More information can be found here: &lt;a 
href=&#34;https://airflow.apache.org/docs/apache-airflow/2.3.0/howto/connection.html&#34;
 target=&#34;_blank&#34;&gt;JSON serialization for 
connections&lt;/a&gt;&lt;/p&gt;
+
+&lt;h2 
id=&#34;airflow-db-downgrade-and-offline-generation-of-sql-scripts&#34;&gt;Airflow
 &lt;code&gt;db downgrade&lt;/code&gt; and Offline generation of SQL 
scripts&lt;/h2&gt;
+
+&lt;p&gt;Airflow 2.3.0 introduced a new command &lt;code&gt;airflow db 
downgrade&lt;/code&gt; that will downgrade the database to your chosen 
version.&lt;/p&gt;
+
+&lt;p&gt;You can also generate the downgrade/upgrade SQL scripts for your 
database and manually run it against your database or just view the SQL queries 
that would be run by the downgrade/upgrade command.&lt;/p&gt;
+
+&lt;p&gt;More information can be found here: &lt;a 
href=&#34;https://airflow.apache.org/docs/apache-airflow/2.3.0/usage-cli.html#downgrading-airflow&#34;
 target=&#34;_blank&#34;&gt;Airflow &lt;code&gt;db downgrade&lt;/code&gt; and 
Offline generation of SQL scripts&lt;/a&gt;&lt;/p&gt;
+
+&lt;h2 id=&#34;reuse-of-decorated-tasks&#34;&gt;Reuse of decorated 
tasks&lt;/h2&gt;
+
+&lt;p&gt;You can now reuse decorated tasks across your dag files. A decorated 
task has an &lt;code&gt;override&lt;/code&gt; method that allows you to 
override it&amp;rsquo;s arguments.&lt;/p&gt;
+
+&lt;p&gt;Here&amp;rsquo;s an example:&lt;/p&gt;
+
+&lt;pre&gt;&lt;code class=&#34;language-python&#34;&gt;@task
+def add_task(x, y):
+    print(f&amp;quot;Task args: x={x}, y={y}&amp;quot;)
+    return x + y
+
+
+@dag(start_date=datetime(2022, 1, 1))
+def mydag():
+    start = add_task.override(task_id=&amp;quot;start&amp;quot;)(1, 2)
+    for i in range(3):
+        start &amp;gt;&amp;gt; 
add_task.override(task_id=f&amp;quot;add_start_{i}&amp;quot;)(start, i)
+&lt;/code&gt;&lt;/pre&gt;
+
+&lt;p&gt;More information can be found here: &lt;a 
href=&#34;https://airflow.apache.org/docs/apache-airflow/2.3.0/tutorial_taskflow_api.html#reusing-a-decorated-task&#34;
 target=&#34;_blank&#34;&gt;Reuse of decorated DAGs&lt;/a&gt;&lt;/p&gt;
+
+&lt;h2 id=&#34;other-small-features&#34;&gt;Other small features&lt;/h2&gt;
+
+&lt;p&gt;This isn’t a comprehensive list, but some noteworthy or interesting 
small features include:&lt;/p&gt;
+
+&lt;ul&gt;
+&lt;li&gt;Support different timeout value for dag file parsing&lt;/li&gt;
+&lt;li&gt;&lt;code&gt;airflow dags reserialize&lt;/code&gt; command to 
reserialize dags&lt;/li&gt;
+&lt;li&gt;Events Timetable&lt;/li&gt;
+&lt;li&gt;SmoothOperator - Operator that does literally nothing except logging 
a YouTube link to
+Sade&amp;rsquo;s &amp;ldquo;Smooth Operator&amp;rdquo;. Enjoy!&lt;/li&gt;
+&lt;/ul&gt;
+
+&lt;h2 id=&#34;contributors&#34;&gt;Contributors&lt;/h2&gt;
+
+&lt;p&gt;Thanks to everyone who contributed to this release: Ash 
Berlin-Taylor, Brent Bovenzi, Daniel Standish, Elad, Ephraim Anierobi, Jarek 
Potiuk, Jed Cunningham, Josh Fell, Kamil Breguła, Kanthi, Kaxil Naik, Khalid 
Mammadov, Malthe Borch, Ping Zhang, Tzu-ping Chung and many others who keep 
making Airflow better for everyone.&lt;/p&gt;
+
+      </description>
+    </item>
+    
     <item>
       <title>Blog: What&#39;s new in Apache Airflow 2.2.0</title>
       <link>/blog/airflow-2.2.0/</link>
diff --git a/search/index.html b/search/index.html
index c00bfdfbe..e3140667f 100644
--- a/search/index.html
+++ b/search/index.html
@@ -35,12 +35,12 @@
 <meta property="og:url" content="/search/" />
 
 <meta property="og:image" content="/images/feature-image.png" />
-<meta property="article:modified_time" content="2022-04-30T23:44:13+01:00" 
/><meta property="og:site_name" content="Apache Airflow" />
+<meta property="article:modified_time" content="2022-05-01T01:14:31+01:00" 
/><meta property="og:site_name" content="Apache Airflow" />
 <meta itemprop="name" content="Search Results">
 <meta itemprop="description" content="">
 
 
-<meta itemprop="dateModified" content="2022-04-30T23:44:13&#43;01:00" />
+<meta itemprop="dateModified" content="2022-05-01T01:14:31&#43;01:00" />
 <meta itemprop="wordCount" content="0">
 
 
diff --git a/sitemap.xml b/sitemap.xml
index e8441858d..2c0ffbf26 100644
--- a/sitemap.xml
+++ b/sitemap.xml
@@ -4,157 +4,162 @@
   
   <url>
     <loc>/docs/</loc>
-    <lastmod>2022-04-30T23:44:13+01:00</lastmod>
+    <lastmod>2022-05-01T01:14:31+01:00</lastmod>
+  </url>
+  
+  <url>
+    <loc>/blog/airflow-2.3.0/</loc>
+    <lastmod>2022-05-01T01:14:31+01:00</lastmod>
   </url>
   
   <url>
     <loc>/blog/tags/release/</loc>
-    <lastmod>2022-04-30T23:44:13+01:00</lastmod>
+    <lastmod>2022-05-01T01:14:31+01:00</lastmod>
   </url>
   
   <url>
     <loc>/tags/</loc>
-    <lastmod>2022-04-30T23:44:13+01:00</lastmod>
+    <lastmod>2022-05-01T01:14:31+01:00</lastmod>
   </url>
   
   <url>
     <loc>/blog/airflow-2.2.0/</loc>
-    <lastmod>2022-04-30T23:44:13+01:00</lastmod>
+    <lastmod>2022-05-01T01:14:31+01:00</lastmod>
   </url>
   
   <url>
     <loc>/blog/tags/airflow-summit/</loc>
-    <lastmod>2022-04-30T23:44:13+01:00</lastmod>
+    <lastmod>2022-05-01T01:14:31+01:00</lastmod>
   </url>
   
   <url>
     <loc>/blog/airflow_summit_2021/</loc>
-    <lastmod>2022-04-30T23:44:13+01:00</lastmod>
+    <lastmod>2022-05-01T01:14:31+01:00</lastmod>
   </url>
   
   <url>
     <loc>/blog/tags/community/</loc>
-    <lastmod>2022-04-30T23:44:13+01:00</lastmod>
+    <lastmod>2022-05-01T01:14:31+01:00</lastmod>
   </url>
   
   <url>
     <loc>/blog/airflow-survey-2020/</loc>
-    <lastmod>2022-04-30T23:44:13+01:00</lastmod>
+    <lastmod>2022-05-01T01:14:31+01:00</lastmod>
   </url>
   
   <url>
     <loc>/blog/tags/survey/</loc>
-    <lastmod>2022-04-30T23:44:13+01:00</lastmod>
+    <lastmod>2022-05-01T01:14:31+01:00</lastmod>
   </url>
   
   <url>
     <loc>/blog/tags/users/</loc>
-    <lastmod>2022-04-30T23:44:13+01:00</lastmod>
+    <lastmod>2022-05-01T01:14:31+01:00</lastmod>
   </url>
   
   <url>
     <loc>/blog/airflow-two-point-oh-is-here/</loc>
-    <lastmod>2022-04-30T23:44:13+01:00</lastmod>
+    <lastmod>2022-05-01T01:14:31+01:00</lastmod>
   </url>
   
   <url>
     <loc>/blog/experience-with-airflow-as-an-outreachy-intern/</loc>
-    <lastmod>2022-04-30T23:44:13+01:00</lastmod>
+    <lastmod>2022-05-01T01:14:31+01:00</lastmod>
   </url>
   
   <url>
     <loc>/blog/airflow-1.10.12/</loc>
-    <lastmod>2022-04-30T23:44:13+01:00</lastmod>
+    <lastmod>2022-05-01T01:14:31+01:00</lastmod>
   </url>
   
   <url>
     <loc>/blog/apache-airflow-for-newcomers/</loc>
-    <lastmod>2022-04-30T23:44:13+01:00</lastmod>
+    <lastmod>2022-05-01T01:14:31+01:00</lastmod>
   </url>
   
   <url>
     <loc>/announcements/</loc>
-    <lastmod>2022-04-30T23:44:13+01:00</lastmod>
+    <lastmod>2022-05-01T01:14:31+01:00</lastmod>
   </url>
   
   <url>
     <loc>/blog/implementing-stable-api-for-apache-airflow/</loc>
-    <lastmod>2022-04-30T23:44:13+01:00</lastmod>
+    <lastmod>2022-05-01T01:14:31+01:00</lastmod>
   </url>
   
   <url>
     <loc>/blog/tags/rest-api/</loc>
-    <lastmod>2022-04-30T23:44:13+01:00</lastmod>
+    <lastmod>2022-05-01T01:14:31+01:00</lastmod>
   </url>
   
   <url>
     <loc>/blog/airflow-1.10.10/</loc>
-    <lastmod>2022-04-30T23:44:13+01:00</lastmod>
+    <lastmod>2022-05-01T01:14:31+01:00</lastmod>
   </url>
   
   <url>
     <loc>/blog/airflow-1.10.8-1.10.9/</loc>
-    <lastmod>2022-04-30T23:44:13+01:00</lastmod>
+    <lastmod>2022-05-01T01:14:31+01:00</lastmod>
   </url>
   
   <url>
     <loc>/blog/tags/documentation/</loc>
-    <lastmod>2022-04-30T23:44:13+01:00</lastmod>
+    <lastmod>2022-05-01T01:14:31+01:00</lastmod>
   </url>
   
   <url>
     
<loc>/blog/experience-in-google-season-of-docs-2019-with-apache-airflow/</loc>
-    <lastmod>2022-04-30T23:44:13+01:00</lastmod>
+    <lastmod>2022-05-01T01:14:31+01:00</lastmod>
   </url>
   
   <url>
     <loc>/blog/airflow-survey/</loc>
-    <lastmod>2022-04-30T23:44:13+01:00</lastmod>
+    <lastmod>2022-05-01T01:14:31+01:00</lastmod>
   </url>
   
   <url>
     <loc>/blog/announcing-new-website/</loc>
-    <lastmod>2022-04-30T23:44:13+01:00</lastmod>
+    <lastmod>2022-05-01T01:14:31+01:00</lastmod>
   </url>
   
   <url>
     
<loc>/blog/apache-con-europe-2019-thoughts-and-insights-by-airflow-committers/</loc>
-    <lastmod>2022-04-30T23:44:13+01:00</lastmod>
+    <lastmod>2022-05-01T01:14:31+01:00</lastmod>
   </url>
   
   <url>
     <loc>/blog/tags/development/</loc>
-    <lastmod>2022-04-30T23:44:13+01:00</lastmod>
+    <lastmod>2022-05-01T01:14:31+01:00</lastmod>
   </url>
   
   <url>
     <loc>/blog/documenting-using-local-development-environments/</loc>
-    <lastmod>2022-04-30T23:44:13+01:00</lastmod>
+    <lastmod>2022-05-01T01:14:31+01:00</lastmod>
   </url>
   
   <url>
     <loc>/blog/its-a-breeze-to-develop-apache-airflow/</loc>
-    <lastmod>2022-04-30T23:44:13+01:00</lastmod>
+    <lastmod>2022-05-01T01:14:31+01:00</lastmod>
   </url>
   
   <url>
     <loc>/use-cases/adobe/</loc>
-    <lastmod>2022-04-30T23:44:13+01:00</lastmod>
+    <lastmod>2022-05-01T01:14:31+01:00</lastmod>
   </url>
   
   <url>
     <loc>/use-cases/adyen/</loc>
-    <lastmod>2022-04-30T23:44:13+01:00</lastmod>
+    <lastmod>2022-05-01T01:14:31+01:00</lastmod>
   </url>
   
   <url>
     <loc>/use-cases/big-fish-games/</loc>
-    <lastmod>2022-04-30T23:44:13+01:00</lastmod>
+    <lastmod>2022-05-01T01:14:31+01:00</lastmod>
   </url>
   
   <url>
     <loc>/blog/</loc>
-    <lastmod>2022-04-30T23:44:13+01:00</lastmod>
+    <lastmod>2022-05-01T01:14:31+01:00</lastmod>
   </url>
   
   <url>
@@ -163,77 +168,77 @@
   
   <url>
     <loc>/community/</loc>
-    <lastmod>2022-04-30T23:44:13+01:00</lastmod>
+    <lastmod>2022-05-01T01:14:31+01:00</lastmod>
   </url>
   
   <url>
     <loc>/use-cases/dish/</loc>
-    <lastmod>2022-04-30T23:44:13+01:00</lastmod>
+    <lastmod>2022-05-01T01:14:31+01:00</lastmod>
   </url>
   
   <url>
     <loc>/ecosystem/</loc>
-    <lastmod>2022-04-30T23:44:13+01:00</lastmod>
+    <lastmod>2022-05-01T01:14:31+01:00</lastmod>
   </url>
   
   <url>
     <loc>/use-cases/experity/</loc>
-    <lastmod>2022-04-30T23:44:13+01:00</lastmod>
+    <lastmod>2022-05-01T01:14:31+01:00</lastmod>
   </url>
   
   <url>
     <loc>/</loc>
-    <lastmod>2022-04-30T23:44:13+01:00</lastmod>
+    <lastmod>2022-05-01T01:14:31+01:00</lastmod>
   </url>
   
   <url>
     <loc>/install/</loc>
-    <lastmod>2022-04-30T23:44:13+01:00</lastmod>
+    <lastmod>2022-05-01T01:14:31+01:00</lastmod>
   </url>
   
   <url>
     <loc>/meetups/</loc>
-    <lastmod>2022-04-30T23:44:13+01:00</lastmod>
+    <lastmod>2022-05-01T01:14:31+01:00</lastmod>
   </url>
   
   <url>
     <loc>/use-cases/onefootball/</loc>
-    <lastmod>2022-04-30T23:44:13+01:00</lastmod>
+    <lastmod>2022-05-01T01:14:31+01:00</lastmod>
   </url>
   
   <url>
     <loc>/use-cases/plarium-krasnodar/</loc>
-    <lastmod>2022-04-30T23:44:13+01:00</lastmod>
+    <lastmod>2022-05-01T01:14:31+01:00</lastmod>
   </url>
   
   <url>
     <loc>/privacy-notice/</loc>
-    <lastmod>2022-04-30T23:44:13+01:00</lastmod>
+    <lastmod>2022-05-01T01:14:31+01:00</lastmod>
   </url>
   
   <url>
     <loc>/roadmap/</loc>
-    <lastmod>2022-04-30T23:44:13+01:00</lastmod>
+    <lastmod>2022-05-01T01:14:31+01:00</lastmod>
   </url>
   
   <url>
     <loc>/search/</loc>
-    <lastmod>2022-04-30T23:44:13+01:00</lastmod>
+    <lastmod>2022-05-01T01:14:31+01:00</lastmod>
   </url>
   
   <url>
     <loc>/use-cases/seniorlink/</loc>
-    <lastmod>2022-04-30T23:44:13+01:00</lastmod>
+    <lastmod>2022-05-01T01:14:31+01:00</lastmod>
   </url>
   
   <url>
     <loc>/use-cases/sift/</loc>
-    <lastmod>2022-04-30T23:44:13+01:00</lastmod>
+    <lastmod>2022-05-01T01:14:31+01:00</lastmod>
   </url>
   
   <url>
     <loc>/use-cases/</loc>
-    <lastmod>2022-04-30T23:44:13+01:00</lastmod>
+    <lastmod>2022-05-01T01:14:31+01:00</lastmod>
   </url>
   
 </urlset>
\ No newline at end of file
diff --git a/tags/index.html b/tags/index.html
index 6cceaad3c..7e0f70b90 100644
--- a/tags/index.html
+++ b/tags/index.html
@@ -37,7 +37,7 @@
 
 <meta property="og:image" content="/images/feature-image.png" />
 
-<meta property="og:updated_time" content="2021-10-11T00:00:00+00:00" /><meta 
property="og:site_name" content="Apache Airflow" />
+<meta property="og:updated_time" content="2022-04-30T00:00:00+00:00" /><meta 
property="og:site_name" content="Apache Airflow" />
 <meta itemprop="name" content="Tags">
 <meta itemprop="description" content="Platform created by the community to 
programmatically author, schedule and monitor workflows.">
 
diff --git a/tags/index.xml b/tags/index.xml
index 779b1e12e..959674e76 100644
--- a/tags/index.xml
+++ b/tags/index.xml
@@ -4,7 +4,7 @@
     <link>/tags/</link>
     <description>Recent content in Tags on Apache Airflow</description>
     <generator>Hugo -- gohugo.io</generator>
-    <lastBuildDate>Mon, 11 Oct 2021 00:00:00 +0000</lastBuildDate>
+    <lastBuildDate>Sat, 30 Apr 2022 00:00:00 +0000</lastBuildDate>
     
          <atom:link href="/tags/index.xml" rel="self" 
type="application/rss+xml" />
     
diff --git a/use-cases/adobe/index.html b/use-cases/adobe/index.html
index b7b944801..7936359b2 100644
--- a/use-cases/adobe/index.html
+++ b/use-cases/adobe/index.html
@@ -35,12 +35,12 @@
 <meta property="og:url" content="/use-cases/adobe/" />
 
 <meta property="og:image" content="/images/feature-image.png" />
-<meta property="article:modified_time" content="2022-04-30T23:44:13+01:00" 
/><meta property="og:site_name" content="Apache Airflow" />
+<meta property="article:modified_time" content="2022-05-01T01:14:31+01:00" 
/><meta property="og:site_name" content="Apache Airflow" />
 <meta itemprop="name" content="Adobe">
 <meta itemprop="description" content="What was the problem? Modern big data 
platforms need sophisticated data pipelines connecting to many backend services 
enabling complex workflows. These workflows need to be deployed, monitored, and 
run either on regular schedules or triggered by external events. Adobe 
Experience Platform component services architected and built an orchestration 
service to enable their users to author, schedule, and monitor complex 
hierarchical (including sequential a [...]
 
 
-<meta itemprop="dateModified" content="2022-04-30T23:44:13&#43;01:00" />
+<meta itemprop="dateModified" content="2022-05-01T01:14:31&#43;01:00" />
 <meta itemprop="wordCount" content="251">
 
 
diff --git a/use-cases/adyen/index.html b/use-cases/adyen/index.html
index e6ade97c6..5ef7c5dc0 100644
--- a/use-cases/adyen/index.html
+++ b/use-cases/adyen/index.html
@@ -35,12 +35,12 @@
 <meta property="og:url" content="/use-cases/adyen/" />
 
 <meta property="og:image" content="/images/feature-image.png" />
-<meta property="article:modified_time" content="2022-04-30T23:44:13+01:00" 
/><meta property="og:site_name" content="Apache Airflow" />
+<meta property="article:modified_time" content="2022-05-01T01:14:31+01:00" 
/><meta property="og:site_name" content="Apache Airflow" />
 <meta itemprop="name" content="Adyen">
 <meta itemprop="description" content="What was the problem? Many years ago we 
started out with our own orchestration framework. Due to all the required 
custom functionality it made sense at the time. However, quickly we realized 
creating an orchestration tool is not to be underestimated. With the quickly 
increasing number of users and teams, time spent on fixing issues increased, 
severely limiting development speed. Furthermore, due to it not being open 
source, we constantly had to make  [...]
 
 
-<meta itemprop="dateModified" content="2022-04-30T23:44:13&#43;01:00" />
+<meta itemprop="dateModified" content="2022-05-01T01:14:31&#43;01:00" />
 <meta itemprop="wordCount" content="405">
 
 
diff --git a/use-cases/big-fish-games/index.html 
b/use-cases/big-fish-games/index.html
index 376bc1b3e..3a5c869a3 100644
--- a/use-cases/big-fish-games/index.html
+++ b/use-cases/big-fish-games/index.html
@@ -35,12 +35,12 @@
 <meta property="og:url" content="/use-cases/big-fish-games/" />
 
 <meta property="og:image" content="/images/feature-image.png" />
-<meta property="article:modified_time" content="2022-04-30T23:44:13+01:00" 
/><meta property="og:site_name" content="Apache Airflow" />
+<meta property="article:modified_time" content="2022-05-01T01:14:31+01:00" 
/><meta property="og:site_name" content="Apache Airflow" />
 <meta itemprop="name" content="Big Fish Games">
 <meta itemprop="description" content="What was the problem? The main challenge 
is the lack of standardized ETL workflow orchestration tools. PowerShell and 
Python-based ETL frameworks built in-house are currently used for scheduling 
and running analytical workloads. However, there is no web UI through which we 
can monitor these workflows and it requires additional effort to maintain this 
framework. These scheduled jobs based on external dependencies are not well 
suited to modern Big Data [...]
 
 
-<meta itemprop="dateModified" content="2022-04-30T23:44:13&#43;01:00" />
+<meta itemprop="dateModified" content="2022-05-01T01:14:31&#43;01:00" />
 <meta itemprop="wordCount" content="336">
 
 
diff --git a/use-cases/dish/index.html b/use-cases/dish/index.html
index 200e7f7de..03241a5b7 100644
--- a/use-cases/dish/index.html
+++ b/use-cases/dish/index.html
@@ -35,12 +35,12 @@
 <meta property="og:url" content="/use-cases/dish/" />
 
 <meta property="og:image" content="/images/feature-image.png" />
-<meta property="article:modified_time" content="2022-04-30T23:44:13+01:00" 
/><meta property="og:site_name" content="Apache Airflow" />
+<meta property="article:modified_time" content="2022-05-01T01:14:31+01:00" 
/><meta property="og:site_name" content="Apache Airflow" />
 <meta itemprop="name" content="Dish">
 <meta itemprop="description" content="What was the problem? We faced 
increasing complexity managing lengthy crontabs with scheduling being an issue, 
this required carefully planning timing due to resource constraints, usage 
patterns, and especially custom code needed for retry logic. In the last case, 
having to verify success of previous jobs and/or steps prior to running the 
next. Furthermore, time to results is important, but we were increasingly 
relying on buffers for processing, wher [...]
 
 
-<meta itemprop="dateModified" content="2022-04-30T23:44:13&#43;01:00" />
+<meta itemprop="dateModified" content="2022-05-01T01:14:31&#43;01:00" />
 <meta itemprop="wordCount" content="248">
 
 
diff --git a/use-cases/experity/index.html b/use-cases/experity/index.html
index 927eeab95..b76b2db64 100644
--- a/use-cases/experity/index.html
+++ b/use-cases/experity/index.html
@@ -36,13 +36,13 @@ How did Apache Airflow help to solve this problem? 
Ultimately we decided flexibl
 <meta property="og:url" content="/use-cases/experity/" />
 
 <meta property="og:image" content="/images/feature-image.png" />
-<meta property="article:modified_time" content="2022-04-30T23:44:13+01:00" 
/><meta property="og:site_name" content="Apache Airflow" />
+<meta property="article:modified_time" content="2022-05-01T01:14:31+01:00" 
/><meta property="og:site_name" content="Apache Airflow" />
 <meta itemprop="name" content="Experity">
 <meta itemprop="description" content="What was the problem? We had to deploy 
our complex, flagship app to multiple nodes in multiple ways. This required 
tasks to communicate across Windows nodes and coordinate timing perfectly. We 
did not want to buy an expensive enterprise scheduling tool and needed ultimate 
flexibility.
 How did Apache Airflow help to solve this problem? Ultimately we decided 
flexible, multi-node, DAG capable tooling was key and airflow was one of the 
few tools that fit that bill.">
 
 
-<meta itemprop="dateModified" content="2022-04-30T23:44:13&#43;01:00" />
+<meta itemprop="dateModified" content="2022-05-01T01:14:31&#43;01:00" />
 <meta itemprop="wordCount" content="191">
 
 
diff --git a/use-cases/onefootball/index.html b/use-cases/onefootball/index.html
index 5b80c064f..e1537b5fc 100644
--- a/use-cases/onefootball/index.html
+++ b/use-cases/onefootball/index.html
@@ -36,13 +36,13 @@ On top of that, new data tools appear each month: third 
party data sources, clou
 <meta property="og:url" content="/use-cases/onefootball/" />
 
 <meta property="og:image" content="/images/feature-image.png" />
-<meta property="article:modified_time" content="2022-04-30T23:44:13+01:00" 
/><meta property="og:site_name" content="Apache Airflow" />
+<meta property="article:modified_time" content="2022-05-01T01:14:31+01:00" 
/><meta property="og:site_name" content="Apache Airflow" />
 <meta itemprop="name" content="Onefootball">
 <meta itemprop="description" content="What was the problem? With millions of 
daily active users, managing the complexity of data engineering at Onefootball 
is a constant challenge. Lengthy crontabs, multiplication of custom API 
clients, erosion of confidence in the analytics served, increasing heroism 
(&ldquo;only one person can solve this issue&rdquo;). Those are the challenges 
that most teams face unless they consciously invest in their tools and 
processes.
 On top of that, new data tools appear each month: third party data sources, 
cloud providers solutions, different storage technologies&hellip; Managing all 
those integrations is costly and brittle, especially for small data engineering 
teams that are trying to do more with less.">
 
 
-<meta itemprop="dateModified" content="2022-04-30T23:44:13&#43;01:00" />
+<meta itemprop="dateModified" content="2022-05-01T01:14:31&#43;01:00" />
 <meta itemprop="wordCount" content="294">
 
 
diff --git a/use-cases/plarium-krasnodar/index.html 
b/use-cases/plarium-krasnodar/index.html
index 60ca6e577..477dfc612 100644
--- a/use-cases/plarium-krasnodar/index.html
+++ b/use-cases/plarium-krasnodar/index.html
@@ -35,12 +35,12 @@
 <meta property="og:url" content="/use-cases/plarium-krasnodar/" />
 
 <meta property="og:image" content="/images/feature-image.png" />
-<meta property="article:modified_time" content="2022-04-30T23:44:13+01:00" 
/><meta property="og:site_name" content="Apache Airflow" />
+<meta property="article:modified_time" content="2022-05-01T01:14:31+01:00" 
/><meta property="og:site_name" content="Apache Airflow" />
 <meta itemprop="name" content="Plarium Krasnodar">
 <meta itemprop="description" content="What was the problem? Our Research &amp; 
Development department carries out various experiments, and in all of them, we 
need to create workflow orchestrations for solving tasks in game dev. 
Previously, we didn&rsquo;t have any suitable tools with a sufficient number of 
built-in functions, and we had to orchestrate processes manually and entirely 
from scratch every time. This led to difficulties with dependencies and 
monitoring when building complex w [...]
 
 
-<meta itemprop="dateModified" content="2022-04-30T23:44:13&#43;01:00" />
+<meta itemprop="dateModified" content="2022-05-01T01:14:31&#43;01:00" />
 <meta itemprop="wordCount" content="257">
 
 
diff --git a/use-cases/seniorlink/index.html b/use-cases/seniorlink/index.html
index 89d8b925e..c5a34fa48 100644
--- a/use-cases/seniorlink/index.html
+++ b/use-cases/seniorlink/index.html
@@ -36,13 +36,13 @@ We had built a robust stack of batch processes to deliver 
value to the business,
 <meta property="og:url" content="/use-cases/seniorlink/" />
 
 <meta property="og:image" content="/images/feature-image.png" />
-<meta property="article:modified_time" content="2022-04-30T23:44:13+01:00" 
/><meta property="og:site_name" content="Apache Airflow" />
+<meta property="article:modified_time" content="2022-05-01T01:14:31+01:00" 
/><meta property="og:site_name" content="Apache Airflow" />
 <meta itemprop="name" content="Seniorlink">
 <meta itemprop="description" content="What was the problem? Here at 
Seniorlink, we provide services, support, and technology that engages family 
caregivers. One of our focuses is using data to bolster our knowledge and 
improve the experience of our users. Like many looking to build an effective 
data stack, we adopted a Python, Spark, Redshift, and Tableau core toolset.
 We had built a robust stack of batch processes to deliver value to the 
business, deploying these data services in AWS using a mixture of EMR, ECS, 
Lambda, and EC2.">
 
 
-<meta itemprop="dateModified" content="2022-04-30T23:44:13&#43;01:00" />
+<meta itemprop="dateModified" content="2022-05-01T01:14:31&#43;01:00" />
 <meta itemprop="wordCount" content="400">
 
 
diff --git a/use-cases/sift/index.html b/use-cases/sift/index.html
index 766c9a5c1..78740c1b4 100644
--- a/use-cases/sift/index.html
+++ b/use-cases/sift/index.html
@@ -35,12 +35,12 @@
 <meta property="og:url" content="/use-cases/sift/" />
 
 <meta property="og:image" content="/images/feature-image.png" />
-<meta property="article:modified_time" content="2022-04-30T23:44:13+01:00" 
/><meta property="og:site_name" content="Apache Airflow" />
+<meta property="article:modified_time" content="2022-05-01T01:14:31+01:00" 
/><meta property="og:site_name" content="Apache Airflow" />
 <meta itemprop="name" content="Sift">
 <meta itemprop="description" content="What was the problem? At Sift, we’re 
constantly training machine learning models that feed into the core of Sift’s 
Digital Trust &amp; Safety platform. The platform gives our customers a way to 
discern suspicious online behavior from trustworthy behavior, allowing our 
customers to protect their online transactions, maintain the integrity of their 
content platforms, and keep their users’ accounts secure. To make this 
possible, we’ve built model traini [...]
 
 
-<meta itemprop="dateModified" content="2022-04-30T23:44:13&#43;01:00" />
+<meta itemprop="dateModified" content="2022-05-01T01:14:31&#43;01:00" />
 <meta itemprop="wordCount" content="641">
 
 

Reply via email to