You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@airflow.apache.org by ka...@apache.org on 2020/04/10 16:05:39 UTC

[airflow-site] branch asf-site updated: Add blogpost for 1.10.10

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

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


The following commit(s) were added to refs/heads/asf-site by this push:
     new ee0b93a  Add blogpost for 1.10.10
ee0b93a is described below

commit ee0b93a22cc7ce23a4929acbd26b22997be90f76
Author: Kaxil Naik <ka...@gmail.com>
AuthorDate: Fri Apr 10 17:05:27 2020 +0100

    Add blogpost for 1.10.10
---
 .htaccess                                          |   2 +-
 _gen/indexes/en/blog-index.json                    |   2 +-
 _gen/indexes/en/blog-posts.json                    |   2 +-
 .../index.html                                     | 213 ++++++++++++++++-----
 blog/airflow-1.10.10/rbac-ui-timezone.gif          | Bin 0 -> 1254553 bytes
 blog/airflow-1.10.8-1.10.9/index.html              |  44 ++++-
 blog/index.html                                    |  31 +++
 blog/index.xml                                     | 165 ++++++++++++++++
 blog/tags/release/index.html                       |  33 +++-
 blog/tags/release/index.xml                        | 167 +++++++++++++++-
 index.html                                         |  28 +--
 index.xml                                          | 165 ++++++++++++++++
 sitemap.xml                                        |  11 +-
 tags/index.html                                    |   2 +-
 tags/index.xml                                     |   2 +-
 15 files changed, 796 insertions(+), 71 deletions(-)

diff --git a/.htaccess b/.htaccess
index ef3945e..b2775b8 100644
--- a/.htaccess
+++ b/.htaccess
@@ -1,4 +1,4 @@
 RedirectMatch Permanent ^/((_api|_images|_modules|_sources|_static|howto)/.*)$ "https://airflow.apache.org/docs/stable/$1"
-RedirectMatch Permanent ^/((1.10.1|1.10.2|1.10.3|1.10.4|1.10.5|1.10.6|1.10.7)/.*)$ "https://airflow.apache.org/docs/$1"
+RedirectMatch Permanent ^/((1.10.1|1.10.2|1.10.3|1.10.4|1.10.5|1.10.6|1.10.7|1.10.8|1.10.9|1.10.10)/.*)$ "https://airflow.apache.org/docs/$1"
 RedirectMatch Permanent ^/((api|changelog|cli|concepts|errors|faq|genindex|http-routingtable|installation|integration|kubernetes|license|lineage|macros|metrics|plugins|privacy_notice|profiling|project|py-modindex|scheduler|search|security|start|timezone|tutorial|ui)(\.html)?)$ "https://airflow.apache.org/docs/stable/$1"
 Redirect Permanent /objects.inv https://airflow.apache.org/docs/stable/objects.inv
diff --git a/_gen/indexes/en/blog-index.json b/_gen/indexes/en/blog-index.json
index 6f6611b..324f03c 100644
--- a/_gen/indexes/en/blog-index.json
+++ b/_gen/indexes/en/blog-index.json
@@ -1 +1 @@
-{"version":"2.3.8","fields":["title","description","author","content","tags","url"],"fieldVectors":[["title/It's a \"Breeze\" to develop Apache Airflow",[0,1.734,1,0.671,2,0.278,3,0.311,4,0.465]],["description/It's a \"Breeze\" to develop Apache Airflow",[2,0.299,4,0.327,5,1.221,6,0.472,7,1.221,8,0.644,9,0.644,10,0.644,11,0.472,12,0.336,13,1.221,14,0.336,15,1.221,16,0.035]],["author/It's a \"Breeze\" to develop Apache Airflow",[11,0.655,17,0.892]],["content/It's a \"Breeze\" to develop A [...]
\ No newline at end of file
+{"version":"2.3.8","fields":["title","description","author","content","tags","url"],"fieldVectors":[["title/It's a \"Breeze\" to develop Apache Airflow",[0,1.805,1,0.76,2,0.219,3,0.339,4,0.469]],["description/It's a \"Breeze\" to develop Apache Airflow",[2,0.236,4,0.329,5,1.268,6,0.534,7,1.268,8,0.702,9,0.534,10,0.702,11,0.534,12,0.4,13,1.268,14,0.4,15,1.268,16,0.034]],["author/It's a \"Breeze\" to develop Apache Airflow",[11,0.76,17,0.999]],["content/It's a \"Breeze\" to develop Apache  [...]
\ No newline at end of file
diff --git a/_gen/indexes/en/blog-posts.json b/_gen/indexes/en/blog-posts.json
index 008de99..5296dd0 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.8-1.10.9/index.html b/blog/airflow-1.10.10/index.html
similarity index 84%
copy from blog/airflow-1.10.8-1.10.9/index.html
copy to blog/airflow-1.10.10/index.html
index 4a2e6cd..d5f2b68 100644
--- a/blog/airflow-1.10.8-1.10.9/index.html
+++ b/blog/airflow-1.10.10/index.html
@@ -29,21 +29,21 @@
 <meta name="msapplication-TileImage" content="/favicons/ms-icon-144x144.png">
 <meta name="theme-color" content="#ffffff">
 
-<title>Apache Airflow 1.10.8 &amp; 1.10.9 | Apache Airflow</title><meta property="og:title" content="Apache Airflow 1.10.8 &amp; 1.10.9" />
-<meta property="og:description" content="We are happy to present the new 1.10.8 and 1.10.9 releases of Apache Airflow." />
+<title>Apache Airflow 1.10.10 | Apache Airflow</title><meta property="og:title" content="Apache Airflow 1.10.10" />
+<meta property="og:description" content="We are happy to present Apache Airflow 1.10.10" />
 <meta property="og:type" content="article" />
-<meta property="og:url" content="/blog/airflow-1.10.8-1.10.9/" />
+<meta property="og:url" content="/blog/airflow-1.10.10/" />
 
 <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="2020-02-23T22:34:43+00: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 property="article:published_time" content="2020-04-09T00:00:00+00:00" />
+<meta property="article:modified_time" content="2020-04-10T16:45:22+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-02-23T00:00:00&#43;00:00" />
-<meta itemprop="dateModified" content="2020-02-23T22:34:43&#43;00:00" />
-<meta itemprop="wordCount" content="437">
+<meta itemprop="datePublished" content="2020-04-09T00:00:00&#43;00:00" />
+<meta itemprop="dateModified" content="2020-04-10T16:45:22&#43;01:00" />
+<meta itemprop="wordCount" content="883">
 
 
 
@@ -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="Apache Airflow 1.10.8 &amp; 1.10.9"/>
-<meta name="twitter:description" content="We are happy to present the new 1.10.8 and 1.10.9 releases of Apache Airflow."/>
+<meta name="twitter:title" content="Apache Airflow 1.10.10"/>
+<meta name="twitter:description" content="We are happy to present Apache Airflow 1.10.10"/>
 
 
 <script type="application/javascript">
@@ -80,7 +80,7 @@ if (!doNotTrack) {
   crossorigin="anonymous"></script>
 
 
-<meta name="description" content="We are happy to present the new 1.10.8 and 1.10.9 releases of Apache Airflow." />
+<meta name="description" content="We are happy to present Apache Airflow 1.10.10" />
 
 
 
@@ -383,9 +383,9 @@ if (!doNotTrack) {
                 
             
         </div>
-        <span class="bodytext__medium--brownish-grey">Sun, Feb 23, 2020</span>
+        <span class="bodytext__medium--brownish-grey">Thu, Apr 9, 2020</span>
     </div>
-    <p class="blogpost-content__metadata--title">Apache Airflow 1.10.8 &amp; 1.10.9</p>
+    <p class="blogpost-content__metadata--title">Apache Airflow 1.10.10</p>
     <div class="blogpost-content__metadata--author">
         <span class="blogpost-content__metadata--author">
             Kaxil Naik
@@ -429,53 +429,118 @@ if (!doNotTrack) {
             </a>
         
     </div>
-    <p class="blogpost-content__metadata--description">We are happy to present the new 1.10.8 and 1.10.9 releases of Apache Airflow.</p>
+    <p class="blogpost-content__metadata--description">We are happy to present Apache Airflow 1.10.10</p>
 </div>
 <div class="markdown-content">
     
 
-<p>Airflow 1.10.8 contains 160 commits since 1.10.7 and includes 4 new features, 42 improvements, 36 bug fixes, and several doc changes.</p>
-
-<p>We released 1.10.9 on the same day as one of the Flask dependencies (Werkzeug) released 1.0 which broke Airflow 1.10.8.</p>
+<p>Airflow 1.10.10 contains 199 commits since 1.10.9 and includes 11 new features, 43 improvements, 44 bug fixes, and several doc changes.</p>
 
 <p><strong>Details</strong>:</p>
 
 <ul>
-<li><strong>PyPI</strong>: <a href="https://pypi.org/project/apache-airflow/1.10.9/" target="_blank">https://pypi.org/project/apache-airflow/1.10.9/</a></li>
-<li><strong>Docs</strong>: <a href="https://airflow.apache.org/docs/1.10.9/" target="_blank">https://airflow.apache.org/docs/1.10.9/</a></li>
-<li><strong>Changelog (1.10.8)</strong>: <a href="http://airflow.apache.org/docs/1.10.8/changelog.html#airflow-1-10-8-2020-01-07" target="_blank">http://airflow.apache.org/docs/1.10.8/changelog.html#airflow-1-10-8-2020-01-07</a></li>
-<li><strong>Changelog (1.10.9)</strong>: <a href="http://airflow.apache.org/docs/1.10.9/changelog.html#airflow-1-10-9-2020-02-10" target="_blank">http://airflow.apache.org/docs/1.10.9/changelog.html#airflow-1-10-9-2020-02-10</a></li>
+<li><strong>PyPI</strong>: <a href="https://pypi.org/project/apache-airflow/1.10.10/" target="_blank">https://pypi.org/project/apache-airflow/1.10.10/</a></li>
+<li><strong>Docs</strong>: <a href="https://airflow.apache.org/docs/1.10.10/" target="_blank">https://airflow.apache.org/docs/1.10.10/</a></li>
+<li><strong>Changelog</strong>: <a href="http://airflow.apache.org/docs/1.10.10/changelog.html" target="_blank">http://airflow.apache.org/docs/1.10.10/changelog.html</a></li>
 </ul>
 
 <p>Some of the noteworthy new features (user-facing) are:</p>
 
 <ul>
-<li><a href="https://github.com/apache/airflow/pull/6489" target="_blank">Add tags to DAGs and use it for filtering in the UI (RBAC only)</a></li>
-<li><a href="http://airflow.apache.org/docs/1.10.9/executor/debug.html" target="_blank">New Executor: DebugExecutor for Local debugging from your IDE</a></li>
-<li><a href="https://github.com/apache/airflow/pull/7281" target="_blank">Allow passing conf in &ldquo;Add DAG Run&rdquo; (Triggered Dags) view</a></li>
-<li><a href="https://github.com/apache/airflow/pull/7038" target="_blank">Allow dags to run for future execution dates for manually triggered DAGs (only if <code>schedule_interval=None</code>)</a></li>
-<li><a href="https://airflow.apache.org/docs/1.10.9/configurations-ref.html" target="_blank">Dedicated page in documentation for all configs in airflow.cfg</a></li>
+<li><a href="https://github.com/apache/airflow/pull/8046" target="_blank">Allow user to chose timezone to use in the RBAC UI</a></li>
+<li><a href="https://github.com/apache/airflow/pull/7832" target="_blank">Add Production Docker image support</a></li>
+<li><a href="http://airflow.apache.org/docs/1.10.10/howto/use-alternative-secrets-backend.html" target="_blank">Allow Retrieving Airflow Connections &amp; Variables from various Secrets backend</a></li>
+<li><a href="http://airflow.apache.org/docs/1.10.10/dag-serialization.html" target="_blank">Stateless Webserver using DAG Serialization</a></li>
 </ul>
 
-<h3 id="add-tags-to-dags-and-use-it-for-filtering-in-the-ui">Add tags to DAGs and use it for filtering in the UI</h3>
+<h3 id="allow-user-to-chose-timezone-to-use-in-the-rbac-ui">Allow user to chose timezone to use in the RBAC UI</h3>
+
+<p>By default the Web UI will show times in UTC. It is possible to change the timezone shown by using the menu in the top
+ right (click on the clock to activate it):</p>
+
+<p><strong>Screenshot</strong>:
+<img src="rbac-ui-timezone.gif" alt="Allow user to chose timezone to use in the RBAC UI" /></p>
+
+<p>Details: <a href="https://airflow.apache.org/docs/1.10.10/timezone.html#web-ui" target="_blank">https://airflow.apache.org/docs/1.10.10/timezone.html#web-ui</a></p>
+
+<p><strong>Note</strong>: This feature is only available for the RBAC UI (enabled using <code>rbac=True</code> in <code>[webserver]</code> section in your <code>airflow.cfg</code>).</p>
+
+<h3 id="add-production-docker-image-support">Add Production Docker image support</h3>
+
+<p>There are brand new production images (alpha quality) available for Airflow 1.10.10. You can pull them from the
+<a href="https://hub.docker.com/r/apache/airflow" target="_blank">Apache Airflow Dockerhub</a> repository and start using it.</p>
+
+<p>More information about using production images can be found in <a href="https://github.com/apache/airflow/blob/master/IMAGES.rst#using-the-images" target="_blank">https://github.com/apache/airflow/blob/master/IMAGES.rst#using-the-images</a>. Soon it will be updated with
+information how to use images using official helm chart.</p>
+
+<p>To pull the images you can run one of the following commands:</p>
+
+<ul>
+<li><code>docker pull apache/airflow:1.10.10-python2.7</code></li>
+<li><code>docker pull apache/airflow:1.10.10-python3.5</code></li>
+<li><code>docker pull apache/airflow:1.10.10-python3.6</code></li>
+<li><code>docker pull apache/airflow:1.10.10-python3.7</code></li>
+<li><code>docker pull apache/airflow:1.10.10</code> (uses Python 3.6)</li>
+</ul>
+
+<h3 id="allow-retrieving-airflow-connections-variables-from-various-secrets-backend">Allow Retrieving Airflow Connections &amp; Variables from various Secrets backend</h3>
+
+<p>From Airflow 1.10.10, users would be able to get Airflow Variables from Environment Variables.</p>
+
+<p>Details: <a href="https://airflow.apache.org/docs/1.10.10/concepts.html#storing-variables-in-environment-variables" target="_blank">https://airflow.apache.org/docs/1.10.10/concepts.html#storing-variables-in-environment-variables</a></p>
 
-<p>In order to filter DAGs (e.g by team), you can add tags in each dag. The filter is saved in a cookie and can be reset by the reset button.</p>
+<p>A new concept of Secrets Backend has been introduced to retrieve Airflow Connections and Variables.</p>
 
-<p>For example:</p>
+<p>From Airflow 1.10.10, users can retrieve Connections &amp; Variables using the same syntax (no DAG code change is required),
+from a secret backend defined in <code>airflow.cfg</code>. If no backend is defined, Airflow falls-back to Environment Variables
+and then Metadata DB.</p>
 
-<p>In your Dag file, pass a list of tags you want to add to DAG object:</p>
+<p>Check <a href="https://airflow.apache.org/docs/1.10.10/howto/use-alternative-secrets-backend.html#configuration" target="_blank">https://airflow.apache.org/docs/1.10.10/howto/use-alternative-secrets-backend.html#configuration</a> for details on how-to
+configure Secrets backend.</p>
 
-<pre><code class="language-python">dag = DAG(
-    dag_id='example_dag_tag',
-    schedule_interval='0 0 * * *',
-    tags=['example']
-)
+<p>As of 1.10.10, Airflow supports the following Secret Backends:</p>
+
+<ul>
+<li>Hashicorp Vault</li>
+<li>GCP Secrets Manager</li>
+<li>AWS Parameters Store</li>
+</ul>
+
+<p>Details: <a href="https://airflow.apache.org/docs/1.10.10/howto/use-alternative-secrets-backend.html" target="_blank">https://airflow.apache.org/docs/1.10.10/howto/use-alternative-secrets-backend.html</a></p>
+
+<p>Example configuration to use Hashicorp Vault as the backend:</p>
+
+<pre><code class="language-ini">[secrets]
+backend = airflow.contrib.secrets.hashicorp_vault.VaultBackend
+backend_kwargs = {&quot;url&quot;: &quot;http://127.0.0.1:8200&quot;, &quot;connections_path&quot;: &quot;connections&quot;, &quot;variables_path&quot;: &quot;variables&quot;, &quot;mount_point&quot;: &quot;airflow&quot;}
 </code></pre>
 
-<p><strong>Screenshot</strong>:
-<img src="airflow-dag-tags.png" alt="Add filter by DAG tags" /></p>
+<h2 id="updating-guide">Updating Guide</h2>
 
-<p><strong>Note</strong>: This feature is only available for the RBAC UI (enabled using <code>rbac=True</code> in <code>[webserver]</code> section in your <code>airflow.cfg</code>).</p>
+<p>If you are updating Apache Airflow from a previous version to <code>1.10.10</code>, please take a note of the following:</p>
+
+<ul>
+<li><p>Run <code>airflow upgradedb</code> after <code>pip install -U apache-airflow==1.10.10</code> as <code>1.10.10</code> contains 3 database migrations.</p></li>
+
+<li><p>If you have used <code>none_failed</code> trigger rule in your DAG, change it to use the new <code>none_failed_or_skipped</code> trigger rule.
+As previously implemented, the actual behavior of <code>none_failed</code> trigger rule would skip the current task if all parents of the task
+had also skipped. This was not in-line with what was documented about that trigger rule. We have changed the implementation to match
+the documentation, hence if you need the old behavior use <code>none_failed_or_skipped</code>.</p>
+
+<p>More details in <a href="https://github.com/apache/airflow/pull/7464" target="_blank">https://github.com/apache/airflow/pull/7464</a>.</p></li>
+
+<li><p>Setting empty string to a Airflow Variable will now return an empty string, it previously returned <code>None</code>.</p>
+
+<p>Example:</p>
+
+<pre><code>&gt;&gt; Variable.set('test_key', '')
+&gt;&gt; Variable.get('test_key')
+</code></pre>
+
+<p>The above code returned <code>None</code> previously, now it will return &ldquo;.</p></li>
+
+<li><p>When a task is marked as <code>success</code> by a user in Airflow UI, function defined in <code>on_success_callback</code> will be called.</p></li>
+</ul>
 
 <h2 id="special-note-deprecations">Special Note / Deprecations</h2>
 
@@ -488,7 +553,7 @@ Airflow 1.10.* would be the last series to support Python 2.</p>
 
 <h3 id="use-airflow-rbac-ui">Use Airflow RBAC UI</h3>
 
-<p>Airflow 1.10.9 ships with 2 UIs, the default is non-RBAC Flask-admin based UI and Flask-appbuilder based UI.</p>
+<p>Airflow 1.10.10 ships with 2 UIs, the default is non-RBAC Flask-admin based UI and Flask-appbuilder based UI.</p>
 
 <p>The Flask-AppBuilder (FAB) based UI is allows Role-based Access Control and has more advanced features compared to
 the legacy Flask-admin based UI. This UI can be enabled by setting <code>rbac=True</code> in <code>[webserver]</code> section in your <code>airflow.cfg</code>.</p>
@@ -496,11 +561,29 @@ the legacy Flask-admin based UI. This UI can be enabled by setting <code>rbac=Tr
 <p>Flask-admin based UI is deprecated and new features won&rsquo;t be ported to it. This UI will still be the default
 for 1.10.* series but would no longer be available from Airflow 2.0</p>
 
+<h3 id="running-airflow-on-macos">Running Airflow on MacOS</h3>
+
+<p>Run <code>export OBJC_DISABLE_INITIALIZE_FORK_SAFETY=YES</code> in your scheduler environmentIf you are running Airflow on MacOS
+and get the following error in the Scheduler logs:</p>
+
+<pre><code>objc[1873]: +[__NSPlaceholderDate initialize] may have been in progress in another thread when fork() was called.
+objc[1873]: +[__NSPlaceholderDate initialize] may have been in progress in another thread when fork() was called. We cannot safely call it or ignore it in the fork() child process. Crashing instead. Set a breakpoint on objc_initializeAfterForkError to debug.
+</code></pre>
+
+<p>This error occurs because of added security to restrict multiprocessing &amp; multithreading in Mac OS High Sierra and above.</p>
+
+<h3 id="we-have-moved-to-github-issues">We have moved to Github Issues</h3>
+
+<p>The Airflow Project has moved from <a href="https://issues.apache.org/jira/projects/AIRFLOW/issues" target="_blank">JIRA</a> to
+<a href="https://github.com/apache/airflow/issues" target="_blank">Github</a> for tracking issues.</p>
+
+<p>So if you find any bugs in Airflow 1.10.10 please create a Github Issue for it.</p>
+
 <h2 id="list-of-contributors">List of Contributors</h2>
 
-<p>According to git shortlog, the following people contributed to the 1.10.8 and 1.10.9 release. Thank you to all contributors!</p>
+<p>According to git shortlog, the following people contributed to the 1.10.10 release. Thank you to all contributors!</p>
 
-<p>Anita Fronczak, Ash Berlin-Taylor, BasPH, Bharat Kashyap, Bharath Palaksha, Bhavika Tekwani, Bjorn Olsen, Brian Phillips, Cooper Gillan, Daniel Cohen, Daniel Imberman, Daniel Standish, Gabriel Eckers, Hossein Torabi, Igor Khrol, Jacob, Jarek Potiuk, Jay, Jiajie Zhong, Jithin Sukumar, Kamil Breguła, Kaxil Naik, Kousuke Saruta, Mustafa Gök, Noël Bardelot, Oluwafemi Sule, Pete DeJoy, QP Hou, Qian Yu, Robin Edwards, Ry Walker, Steven van Rossum, Tomek Urbaszek, Xinbin Huang, Yuen-Kuei Hsu [...]
+<p>ANiteckiP, Alex Guziel, Alex Lue, Anita Fronczak, Ash Berlin-Taylor, Benji Visser, Bhavika Tekwani, Brad Dettmer, Chris McLennon, Cooper Gillan, Daniel Imberman, Daniel Standish, Felix Uellendall, Jarek Potiuk, Jiajie Zhong, Jithin Sukumar, Kamil Breguła, Kaxil Naik, Kengo Seki, Kris, Kumpan Anton, Lokesh Lal, Louis Guitton, Louis Simoneau, Luyao Yang, Noël Bardelot, Omair Khan, Philipp Großelfinger, Ping Zhang, RasPavel, Ray, Robin Edwards, Ry Walker, Saurabh, Sebastian Brandt, Tomek [...]
 
 </div>
 
@@ -558,7 +641,7 @@ for 1.10.* series but would no longer be available from Airflow 2.0</p>
             
 
 <div class="pager">
-    <a href="/blog/experience-in-google-season-of-docs-2019-with-apache-airflow/">
+    <a href="/blog/airflow-1.10.8-1.10.9/">
         
 
 <button class="btn-hollow btn-blue bodytext__medium--cerulean-blue" >Previous</button>
@@ -580,6 +663,46 @@ for 1.10.* series but would no longer be available from Airflow 2.0</p>
 
 
 
+    <div class="blog-pager">
+        <h5 class="header__xsmall--greyish-brown">Read also</h5>
+        <div class="pager">
+            <div class="list-items">
+                
+                    <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">Sun, Feb 23, 2020</span>
+        </div>
+        <p class="box-event__blogpost--header">Apache Airflow 1.10.8 &amp; 1.10.9</p>
+        <p class="box-event__blogpost--author">Kaxil Naik</p>
+        <p class="box-event__blogpost--description">We are happy to present the new 1.10.8 and 1.10.9 releases of Apache Airflow.</p>
+        <div class="mt-auto">
+            <a href="/blog/airflow-1.10.8-1.10.9/">
+                
+
+<button class="btn-hollow btn-blue bodytext__medium--cerulean-blue" >Read more</button>
+
+            </a>
+        </div>
+    </div>
+</div>
+
+                    </div>
+                
+            </div>
+        </div>
+    </div>
+
 
     </div>
 
@@ -588,7 +711,7 @@ for 1.10.* series but would no longer be available from Airflow 2.0</p>
 
 <div class="base-layout--button">
     
-    <a href=https://github.com/apache/airflow-site/edit/master/landing-pages/site/content/en/blog/airflow-1.10.8-1.10.9/index.md>
+    <a href=https://github.com/apache/airflow-site/edit/master/landing-pages/site/content/en/blog/airflow-1.10.10/index.md>
         
 
 
diff --git a/blog/airflow-1.10.10/rbac-ui-timezone.gif b/blog/airflow-1.10.10/rbac-ui-timezone.gif
new file mode 100644
index 0000000..ea28156
Binary files /dev/null and b/blog/airflow-1.10.10/rbac-ui-timezone.gif differ
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 4a2e6cd..4c23bde 100644
--- a/blog/airflow-1.10.8-1.10.9/index.html
+++ b/blog/airflow-1.10.8-1.10.9/index.html
@@ -564,10 +564,10 @@ for 1.10.* series but would no longer be available from Airflow 2.0</p>
 <button class="btn-hollow btn-blue bodytext__medium--cerulean-blue" >Previous</button>
 
     </a>
-    <a >
+    <a href="/blog/airflow-1.10.10/">
         
 
-<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>
@@ -580,6 +580,46 @@ for 1.10.* series but would no longer be available from Airflow 2.0</p>
 
 
 
+    <div class="blog-pager">
+        <h5 class="header__xsmall--greyish-brown">Read also</h5>
+        <div class="pager">
+            <div class="list-items">
+                
+                    <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">Thu, Apr 9, 2020</span>
+        </div>
+        <p class="box-event__blogpost--header">Apache Airflow 1.10.10</p>
+        <p class="box-event__blogpost--author">Kaxil Naik</p>
+        <p class="box-event__blogpost--description">We are happy to present Apache Airflow 1.10.10</p>
+        <div class="mt-auto">
+            <a href="/blog/airflow-1.10.10/">
+                
+
+<button class="btn-hollow btn-blue bodytext__medium--cerulean-blue" >Read more</button>
+
+            </a>
+        </div>
+    </div>
+</div>
+
+                    </div>
+                
+            </div>
+        </div>
+    </div>
+
 
     </div>
 
diff --git a/blog/index.html b/blog/index.html
index 6206024..c21e635 100644
--- a/blog/index.html
+++ b/blog/index.html
@@ -428,6 +428,37 @@ if (!doNotTrack) {
                     
                 
             </div>
+            <span class="bodytext__medium--brownish-grey box-event__blogpost--date">Thu, Apr 9, 2020</span>
+        </div>
+        <p class="box-event__blogpost--header">Apache Airflow 1.10.10</p>
+        <p class="box-event__blogpost--author">Kaxil Naik</p>
+        <p class="box-event__blogpost--description">We are happy to present Apache Airflow 1.10.10</p>
+        <div class="mt-auto">
+            <a href="/blog/airflow-1.10.10/">
+                
+
+<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">
+            <div class="tags-container">
+                
+                    
+                        <a class="tag" href="/blog/tags/release/">Release</a>
+                    
+                
+            </div>
             <span class="bodytext__medium--brownish-grey box-event__blogpost--date">Sun, Feb 23, 2020</span>
         </div>
         <p class="box-event__blogpost--header">Apache Airflow 1.10.8 &amp; 1.10.9</p>
diff --git a/blog/index.xml b/blog/index.xml
index bc7adc0..55dc4bf 100644
--- a/blog/index.xml
+++ b/blog/index.xml
@@ -14,6 +14,171 @@
     
     
     <item>
+      <title>Blog: Apache Airflow 1.10.10</title>
+      <link>/blog/airflow-1.10.10/</link>
+      <pubDate>Thu, 09 Apr 2020 00:00:00 +0000</pubDate>
+      
+      <guid>/blog/airflow-1.10.10/</guid>
+      <description>
+        
+        
+        
+
+&lt;p&gt;Airflow 1.10.10 contains 199 commits since 1.10.9 and includes 11 new features, 43 improvements, 44 bug fixes, and several doc changes.&lt;/p&gt;
+
+&lt;p&gt;&lt;strong&gt;Details&lt;/strong&gt;:&lt;/p&gt;
+
+&lt;ul&gt;
+&lt;li&gt;&lt;strong&gt;PyPI&lt;/strong&gt;: &lt;a href=&#34;https://pypi.org/project/apache-airflow/1.10.10/&#34; target=&#34;_blank&#34;&gt;https://pypi.org/project/apache-airflow/1.10.10/&lt;/a&gt;&lt;/li&gt;
+&lt;li&gt;&lt;strong&gt;Docs&lt;/strong&gt;: &lt;a href=&#34;https://airflow.apache.org/docs/1.10.10/&#34; target=&#34;_blank&#34;&gt;https://airflow.apache.org/docs/1.10.10/&lt;/a&gt;&lt;/li&gt;
+&lt;li&gt;&lt;strong&gt;Changelog&lt;/strong&gt;: &lt;a href=&#34;http://airflow.apache.org/docs/1.10.10/changelog.html&#34; target=&#34;_blank&#34;&gt;http://airflow.apache.org/docs/1.10.10/changelog.html&lt;/a&gt;&lt;/li&gt;
+&lt;/ul&gt;
+
+&lt;p&gt;Some of the noteworthy new features (user-facing) are:&lt;/p&gt;
+
+&lt;ul&gt;
+&lt;li&gt;&lt;a href=&#34;https://github.com/apache/airflow/pull/8046&#34; target=&#34;_blank&#34;&gt;Allow user to chose timezone to use in the RBAC UI&lt;/a&gt;&lt;/li&gt;
+&lt;li&gt;&lt;a href=&#34;https://github.com/apache/airflow/pull/7832&#34; target=&#34;_blank&#34;&gt;Add Production Docker image support&lt;/a&gt;&lt;/li&gt;
+&lt;li&gt;&lt;a href=&#34;http://airflow.apache.org/docs/1.10.10/howto/use-alternative-secrets-backend.html&#34; target=&#34;_blank&#34;&gt;Allow Retrieving Airflow Connections &amp;amp; Variables from various Secrets backend&lt;/a&gt;&lt;/li&gt;
+&lt;li&gt;&lt;a href=&#34;http://airflow.apache.org/docs/1.10.10/dag-serialization.html&#34; target=&#34;_blank&#34;&gt;Stateless Webserver using DAG Serialization&lt;/a&gt;&lt;/li&gt;
+&lt;/ul&gt;
+
+&lt;h3 id=&#34;allow-user-to-chose-timezone-to-use-in-the-rbac-ui&#34;&gt;Allow user to chose timezone to use in the RBAC UI&lt;/h3&gt;
+
+&lt;p&gt;By default the Web UI will show times in UTC. It is possible to change the timezone shown by using the menu in the top
+ right (click on the clock to activate it):&lt;/p&gt;
+
+&lt;p&gt;&lt;strong&gt;Screenshot&lt;/strong&gt;:
+&lt;img src=&#34;rbac-ui-timezone.gif&#34; alt=&#34;Allow user to chose timezone to use in the RBAC UI&#34; /&gt;&lt;/p&gt;
+
+&lt;p&gt;Details: &lt;a href=&#34;https://airflow.apache.org/docs/1.10.10/timezone.html#web-ui&#34; target=&#34;_blank&#34;&gt;https://airflow.apache.org/docs/1.10.10/timezone.html#web-ui&lt;/a&gt;&lt;/p&gt;
+
+&lt;p&gt;&lt;strong&gt;Note&lt;/strong&gt;: This feature is only available for the RBAC UI (enabled using &lt;code&gt;rbac=True&lt;/code&gt; in &lt;code&gt;[webserver]&lt;/code&gt; section in your &lt;code&gt;airflow.cfg&lt;/code&gt;).&lt;/p&gt;
+
+&lt;h3 id=&#34;add-production-docker-image-support&#34;&gt;Add Production Docker image support&lt;/h3&gt;
+
+&lt;p&gt;There are brand new production images (alpha quality) available for Airflow 1.10.10. You can pull them from the
+&lt;a href=&#34;https://hub.docker.com/r/apache/airflow&#34; target=&#34;_blank&#34;&gt;Apache Airflow Dockerhub&lt;/a&gt; repository and start using it.&lt;/p&gt;
+
+&lt;p&gt;More information about using production images can be found in &lt;a href=&#34;https://github.com/apache/airflow/blob/master/IMAGES.rst#using-the-images&#34; target=&#34;_blank&#34;&gt;https://github.com/apache/airflow/blob/master/IMAGES.rst#using-the-images&lt;/a&gt;. Soon it will be updated with
+information how to use images using official helm chart.&lt;/p&gt;
+
+&lt;p&gt;To pull the images you can run one of the following commands:&lt;/p&gt;
+
+&lt;ul&gt;
+&lt;li&gt;&lt;code&gt;docker pull apache/airflow:1.10.10-python2.7&lt;/code&gt;&lt;/li&gt;
+&lt;li&gt;&lt;code&gt;docker pull apache/airflow:1.10.10-python3.5&lt;/code&gt;&lt;/li&gt;
+&lt;li&gt;&lt;code&gt;docker pull apache/airflow:1.10.10-python3.6&lt;/code&gt;&lt;/li&gt;
+&lt;li&gt;&lt;code&gt;docker pull apache/airflow:1.10.10-python3.7&lt;/code&gt;&lt;/li&gt;
+&lt;li&gt;&lt;code&gt;docker pull apache/airflow:1.10.10&lt;/code&gt; (uses Python 3.6)&lt;/li&gt;
+&lt;/ul&gt;
+
+&lt;h3 id=&#34;allow-retrieving-airflow-connections-variables-from-various-secrets-backend&#34;&gt;Allow Retrieving Airflow Connections &amp;amp; Variables from various Secrets backend&lt;/h3&gt;
+
+&lt;p&gt;From Airflow 1.10.10, users would be able to get Airflow Variables from Environment Variables.&lt;/p&gt;
+
+&lt;p&gt;Details: &lt;a href=&#34;https://airflow.apache.org/docs/1.10.10/concepts.html#storing-variables-in-environment-variables&#34; target=&#34;_blank&#34;&gt;https://airflow.apache.org/docs/1.10.10/concepts.html#storing-variables-in-environment-variables&lt;/a&gt;&lt;/p&gt;
+
+&lt;p&gt;A new concept of Secrets Backend has been introduced to retrieve Airflow Connections and Variables.&lt;/p&gt;
+
+&lt;p&gt;From Airflow 1.10.10, users can retrieve Connections &amp;amp; Variables using the same syntax (no DAG code change is required),
+from a secret backend defined in &lt;code&gt;airflow.cfg&lt;/code&gt;. If no backend is defined, Airflow falls-back to Environment Variables
+and then Metadata DB.&lt;/p&gt;
+
+&lt;p&gt;Check &lt;a href=&#34;https://airflow.apache.org/docs/1.10.10/howto/use-alternative-secrets-backend.html#configuration&#34; target=&#34;_blank&#34;&gt;https://airflow.apache.org/docs/1.10.10/howto/use-alternative-secrets-backend.html#configuration&lt;/a&gt; for details on how-to
+configure Secrets backend.&lt;/p&gt;
+
+&lt;p&gt;As of 1.10.10, Airflow supports the following Secret Backends:&lt;/p&gt;
+
+&lt;ul&gt;
+&lt;li&gt;Hashicorp Vault&lt;/li&gt;
+&lt;li&gt;GCP Secrets Manager&lt;/li&gt;
+&lt;li&gt;AWS Parameters Store&lt;/li&gt;
+&lt;/ul&gt;
+
+&lt;p&gt;Details: &lt;a href=&#34;https://airflow.apache.org/docs/1.10.10/howto/use-alternative-secrets-backend.html&#34; target=&#34;_blank&#34;&gt;https://airflow.apache.org/docs/1.10.10/howto/use-alternative-secrets-backend.html&lt;/a&gt;&lt;/p&gt;
+
+&lt;p&gt;Example configuration to use Hashicorp Vault as the backend:&lt;/p&gt;
+
+&lt;pre&gt;&lt;code class=&#34;language-ini&#34;&gt;[secrets]
+backend = airflow.contrib.secrets.hashicorp_vault.VaultBackend
+backend_kwargs = {&amp;quot;url&amp;quot;: &amp;quot;http://127.0.0.1:8200&amp;quot;, &amp;quot;connections_path&amp;quot;: &amp;quot;connections&amp;quot;, &amp;quot;variables_path&amp;quot;: &amp;quot;variables&amp;quot;, &amp;quot;mount_point&amp;quot;: &amp;quot;airflow&amp;quot;}
+&lt;/code&gt;&lt;/pre&gt;
+
+&lt;h2 id=&#34;updating-guide&#34;&gt;Updating Guide&lt;/h2&gt;
+
+&lt;p&gt;If you are updating Apache Airflow from a previous version to &lt;code&gt;1.10.10&lt;/code&gt;, please take a note of the following:&lt;/p&gt;
+
+&lt;ul&gt;
+&lt;li&gt;&lt;p&gt;Run &lt;code&gt;airflow upgradedb&lt;/code&gt; after &lt;code&gt;pip install -U apache-airflow==1.10.10&lt;/code&gt; as &lt;code&gt;1.10.10&lt;/code&gt; contains 3 database migrations.&lt;/p&gt;&lt;/li&gt;
+
+&lt;li&gt;&lt;p&gt;If you have used &lt;code&gt;none_failed&lt;/code&gt; trigger rule in your DAG, change it to use the new &lt;code&gt;none_failed_or_skipped&lt;/code&gt; trigger rule.
+As previously implemented, the actual behavior of &lt;code&gt;none_failed&lt;/code&gt; trigger rule would skip the current task if all parents of the task
+had also skipped. This was not in-line with what was documented about that trigger rule. We have changed the implementation to match
+the documentation, hence if you need the old behavior use &lt;code&gt;none_failed_or_skipped&lt;/code&gt;.&lt;/p&gt;
+
+&lt;p&gt;More details in &lt;a href=&#34;https://github.com/apache/airflow/pull/7464&#34; target=&#34;_blank&#34;&gt;https://github.com/apache/airflow/pull/7464&lt;/a&gt;.&lt;/p&gt;&lt;/li&gt;
+
+&lt;li&gt;&lt;p&gt;Setting empty string to a Airflow Variable will now return an empty string, it previously returned &lt;code&gt;None&lt;/code&gt;.&lt;/p&gt;
+
+&lt;p&gt;Example:&lt;/p&gt;
+
+&lt;pre&gt;&lt;code&gt;&amp;gt;&amp;gt; Variable.set(&#39;test_key&#39;, &#39;&#39;)
+&amp;gt;&amp;gt; Variable.get(&#39;test_key&#39;)
+&lt;/code&gt;&lt;/pre&gt;
+
+&lt;p&gt;The above code returned &lt;code&gt;None&lt;/code&gt; previously, now it will return &amp;ldquo;.&lt;/p&gt;&lt;/li&gt;
+
+&lt;li&gt;&lt;p&gt;When a task is marked as &lt;code&gt;success&lt;/code&gt; by a user in Airflow UI, function defined in &lt;code&gt;on_success_callback&lt;/code&gt; will be called.&lt;/p&gt;&lt;/li&gt;
+&lt;/ul&gt;
+
+&lt;h2 id=&#34;special-note-deprecations&#34;&gt;Special Note / Deprecations&lt;/h2&gt;
+
+&lt;h3 id=&#34;python-2&#34;&gt;Python 2&lt;/h3&gt;
+
+&lt;p&gt;Python 2 has reached end of its life on Jan 2020. Airflow Master no longer supports Python 2.
+Airflow 1.10.* would be the last series to support Python 2.&lt;/p&gt;
+
+&lt;p&gt;We strongly recommend users to use Python &amp;gt;= 3.6&lt;/p&gt;
+
+&lt;h3 id=&#34;use-airflow-rbac-ui&#34;&gt;Use Airflow RBAC UI&lt;/h3&gt;
+
+&lt;p&gt;Airflow 1.10.10 ships with 2 UIs, the default is non-RBAC Flask-admin based UI and Flask-appbuilder based UI.&lt;/p&gt;
+
+&lt;p&gt;The Flask-AppBuilder (FAB) based UI is allows Role-based Access Control and has more advanced features compared to
+the legacy Flask-admin based UI. This UI can be enabled by setting &lt;code&gt;rbac=True&lt;/code&gt; in &lt;code&gt;[webserver]&lt;/code&gt; section in your &lt;code&gt;airflow.cfg&lt;/code&gt;.&lt;/p&gt;
+
+&lt;p&gt;Flask-admin based UI is deprecated and new features won&amp;rsquo;t be ported to it. This UI will still be the default
+for 1.10.* series but would no longer be available from Airflow 2.0&lt;/p&gt;
+
+&lt;h3 id=&#34;running-airflow-on-macos&#34;&gt;Running Airflow on MacOS&lt;/h3&gt;
+
+&lt;p&gt;Run &lt;code&gt;export OBJC_DISABLE_INITIALIZE_FORK_SAFETY=YES&lt;/code&gt; in your scheduler environmentIf you are running Airflow on MacOS
+and get the following error in the Scheduler logs:&lt;/p&gt;
+
+&lt;pre&gt;&lt;code&gt;objc[1873]: +[__NSPlaceholderDate initialize] may have been in progress in another thread when fork() was called.
+objc[1873]: +[__NSPlaceholderDate initialize] may have been in progress in another thread when fork() was called. We cannot safely call it or ignore it in the fork() child process. Crashing instead. Set a breakpoint on objc_initializeAfterForkError to debug.
+&lt;/code&gt;&lt;/pre&gt;
+
+&lt;p&gt;This error occurs because of added security to restrict multiprocessing &amp;amp; multithreading in Mac OS High Sierra and above.&lt;/p&gt;
+
+&lt;h3 id=&#34;we-have-moved-to-github-issues&#34;&gt;We have moved to Github Issues&lt;/h3&gt;
+
+&lt;p&gt;The Airflow Project has moved from &lt;a href=&#34;https://issues.apache.org/jira/projects/AIRFLOW/issues&#34; target=&#34;_blank&#34;&gt;JIRA&lt;/a&gt; to
+&lt;a href=&#34;https://github.com/apache/airflow/issues&#34; target=&#34;_blank&#34;&gt;Github&lt;/a&gt; for tracking issues.&lt;/p&gt;
+
+&lt;p&gt;So if you find any bugs in Airflow 1.10.10 please create a Github Issue for it.&lt;/p&gt;
+
+&lt;h2 id=&#34;list-of-contributors&#34;&gt;List of Contributors&lt;/h2&gt;
+
+&lt;p&gt;According to git shortlog, the following people contributed to the 1.10.10 release. Thank you to all contributors!&lt;/p&gt;
+
+&lt;p&gt;ANiteckiP, Alex Guziel, Alex Lue, Anita Fronczak, Ash Berlin-Taylor, Benji Visser, Bhavika Tekwani, Brad Dettmer, Chris McLennon, Cooper Gillan, Daniel Imberman, Daniel Standish, Felix Uellendall, Jarek Potiuk, Jiajie Zhong, Jithin Sukumar, Kamil Breguła, Kaxil Naik, Kengo Seki, Kris, Kumpan Anton, Lokesh Lal, Louis Guitton, Louis Simoneau, Luyao Yang, Noël Bardelot, Omair Khan, Philipp Großelfinger, Ping Zhang, RasPavel, Ray, Robin Edwards, Ry Walker, Saurabh, Sebastian Brandt, [...]
+
+      </description>
+    </item>
+    
+    <item>
       <title>Blog: Apache Airflow 1.10.8 &amp; 1.10.9</title>
       <link>/blog/airflow-1.10.8-1.10.9/</link>
       <pubDate>Sun, 23 Feb 2020 00:00:00 +0000</pubDate>
diff --git a/blog/tags/release/index.html b/blog/tags/release/index.html
index ed46e9c..446c935 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="2020-02-23T00:00:00+00:00" /><meta property="og:site_name" content="Apache Airflow" />
+<meta property="og:updated_time" content="2020-04-09T00: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.">
 
@@ -436,6 +436,37 @@ if (!doNotTrack) {
                     
                 
             </div>
+            <span class="bodytext__medium--brownish-grey box-event__blogpost--date">Thu, Apr 9, 2020</span>
+        </div>
+        <p class="box-event__blogpost--header">Apache Airflow 1.10.10</p>
+        <p class="box-event__blogpost--author">Kaxil Naik</p>
+        <p class="box-event__blogpost--description">We are happy to present Apache Airflow 1.10.10</p>
+        <div class="mt-auto">
+            <a href="/blog/airflow-1.10.10/">
+                
+
+<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">
+            <div class="tags-container">
+                
+                    
+                        <a class="tag" href="/blog/tags/release/">Release</a>
+                    
+                
+            </div>
             <span class="bodytext__medium--brownish-grey box-event__blogpost--date">Sun, Feb 23, 2020</span>
         </div>
         <p class="box-event__blogpost--header">Apache Airflow 1.10.8 &amp; 1.10.9</p>
diff --git a/blog/tags/release/index.xml b/blog/tags/release/index.xml
index 5b2dd8a..c9b1620 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>Sun, 23 Feb 2020 00:00:00 +0000</lastBuildDate>
+    <lastBuildDate>Thu, 09 Apr 2020 00:00:00 +0000</lastBuildDate>
     
 	  <atom:link href="/blog/tags/release/index.xml" rel="self" type="application/rss+xml" />
     
@@ -15,6 +15,171 @@
     
     
     <item>
+      <title>Blog: Apache Airflow 1.10.10</title>
+      <link>/blog/airflow-1.10.10/</link>
+      <pubDate>Thu, 09 Apr 2020 00:00:00 +0000</pubDate>
+      
+      <guid>/blog/airflow-1.10.10/</guid>
+      <description>
+        
+        
+        
+
+&lt;p&gt;Airflow 1.10.10 contains 199 commits since 1.10.9 and includes 11 new features, 43 improvements, 44 bug fixes, and several doc changes.&lt;/p&gt;
+
+&lt;p&gt;&lt;strong&gt;Details&lt;/strong&gt;:&lt;/p&gt;
+
+&lt;ul&gt;
+&lt;li&gt;&lt;strong&gt;PyPI&lt;/strong&gt;: &lt;a href=&#34;https://pypi.org/project/apache-airflow/1.10.10/&#34; target=&#34;_blank&#34;&gt;https://pypi.org/project/apache-airflow/1.10.10/&lt;/a&gt;&lt;/li&gt;
+&lt;li&gt;&lt;strong&gt;Docs&lt;/strong&gt;: &lt;a href=&#34;https://airflow.apache.org/docs/1.10.10/&#34; target=&#34;_blank&#34;&gt;https://airflow.apache.org/docs/1.10.10/&lt;/a&gt;&lt;/li&gt;
+&lt;li&gt;&lt;strong&gt;Changelog&lt;/strong&gt;: &lt;a href=&#34;http://airflow.apache.org/docs/1.10.10/changelog.html&#34; target=&#34;_blank&#34;&gt;http://airflow.apache.org/docs/1.10.10/changelog.html&lt;/a&gt;&lt;/li&gt;
+&lt;/ul&gt;
+
+&lt;p&gt;Some of the noteworthy new features (user-facing) are:&lt;/p&gt;
+
+&lt;ul&gt;
+&lt;li&gt;&lt;a href=&#34;https://github.com/apache/airflow/pull/8046&#34; target=&#34;_blank&#34;&gt;Allow user to chose timezone to use in the RBAC UI&lt;/a&gt;&lt;/li&gt;
+&lt;li&gt;&lt;a href=&#34;https://github.com/apache/airflow/pull/7832&#34; target=&#34;_blank&#34;&gt;Add Production Docker image support&lt;/a&gt;&lt;/li&gt;
+&lt;li&gt;&lt;a href=&#34;http://airflow.apache.org/docs/1.10.10/howto/use-alternative-secrets-backend.html&#34; target=&#34;_blank&#34;&gt;Allow Retrieving Airflow Connections &amp;amp; Variables from various Secrets backend&lt;/a&gt;&lt;/li&gt;
+&lt;li&gt;&lt;a href=&#34;http://airflow.apache.org/docs/1.10.10/dag-serialization.html&#34; target=&#34;_blank&#34;&gt;Stateless Webserver using DAG Serialization&lt;/a&gt;&lt;/li&gt;
+&lt;/ul&gt;
+
+&lt;h3 id=&#34;allow-user-to-chose-timezone-to-use-in-the-rbac-ui&#34;&gt;Allow user to chose timezone to use in the RBAC UI&lt;/h3&gt;
+
+&lt;p&gt;By default the Web UI will show times in UTC. It is possible to change the timezone shown by using the menu in the top
+ right (click on the clock to activate it):&lt;/p&gt;
+
+&lt;p&gt;&lt;strong&gt;Screenshot&lt;/strong&gt;:
+&lt;img src=&#34;rbac-ui-timezone.gif&#34; alt=&#34;Allow user to chose timezone to use in the RBAC UI&#34; /&gt;&lt;/p&gt;
+
+&lt;p&gt;Details: &lt;a href=&#34;https://airflow.apache.org/docs/1.10.10/timezone.html#web-ui&#34; target=&#34;_blank&#34;&gt;https://airflow.apache.org/docs/1.10.10/timezone.html#web-ui&lt;/a&gt;&lt;/p&gt;
+
+&lt;p&gt;&lt;strong&gt;Note&lt;/strong&gt;: This feature is only available for the RBAC UI (enabled using &lt;code&gt;rbac=True&lt;/code&gt; in &lt;code&gt;[webserver]&lt;/code&gt; section in your &lt;code&gt;airflow.cfg&lt;/code&gt;).&lt;/p&gt;
+
+&lt;h3 id=&#34;add-production-docker-image-support&#34;&gt;Add Production Docker image support&lt;/h3&gt;
+
+&lt;p&gt;There are brand new production images (alpha quality) available for Airflow 1.10.10. You can pull them from the
+&lt;a href=&#34;https://hub.docker.com/r/apache/airflow&#34; target=&#34;_blank&#34;&gt;Apache Airflow Dockerhub&lt;/a&gt; repository and start using it.&lt;/p&gt;
+
+&lt;p&gt;More information about using production images can be found in &lt;a href=&#34;https://github.com/apache/airflow/blob/master/IMAGES.rst#using-the-images&#34; target=&#34;_blank&#34;&gt;https://github.com/apache/airflow/blob/master/IMAGES.rst#using-the-images&lt;/a&gt;. Soon it will be updated with
+information how to use images using official helm chart.&lt;/p&gt;
+
+&lt;p&gt;To pull the images you can run one of the following commands:&lt;/p&gt;
+
+&lt;ul&gt;
+&lt;li&gt;&lt;code&gt;docker pull apache/airflow:1.10.10-python2.7&lt;/code&gt;&lt;/li&gt;
+&lt;li&gt;&lt;code&gt;docker pull apache/airflow:1.10.10-python3.5&lt;/code&gt;&lt;/li&gt;
+&lt;li&gt;&lt;code&gt;docker pull apache/airflow:1.10.10-python3.6&lt;/code&gt;&lt;/li&gt;
+&lt;li&gt;&lt;code&gt;docker pull apache/airflow:1.10.10-python3.7&lt;/code&gt;&lt;/li&gt;
+&lt;li&gt;&lt;code&gt;docker pull apache/airflow:1.10.10&lt;/code&gt; (uses Python 3.6)&lt;/li&gt;
+&lt;/ul&gt;
+
+&lt;h3 id=&#34;allow-retrieving-airflow-connections-variables-from-various-secrets-backend&#34;&gt;Allow Retrieving Airflow Connections &amp;amp; Variables from various Secrets backend&lt;/h3&gt;
+
+&lt;p&gt;From Airflow 1.10.10, users would be able to get Airflow Variables from Environment Variables.&lt;/p&gt;
+
+&lt;p&gt;Details: &lt;a href=&#34;https://airflow.apache.org/docs/1.10.10/concepts.html#storing-variables-in-environment-variables&#34; target=&#34;_blank&#34;&gt;https://airflow.apache.org/docs/1.10.10/concepts.html#storing-variables-in-environment-variables&lt;/a&gt;&lt;/p&gt;
+
+&lt;p&gt;A new concept of Secrets Backend has been introduced to retrieve Airflow Connections and Variables.&lt;/p&gt;
+
+&lt;p&gt;From Airflow 1.10.10, users can retrieve Connections &amp;amp; Variables using the same syntax (no DAG code change is required),
+from a secret backend defined in &lt;code&gt;airflow.cfg&lt;/code&gt;. If no backend is defined, Airflow falls-back to Environment Variables
+and then Metadata DB.&lt;/p&gt;
+
+&lt;p&gt;Check &lt;a href=&#34;https://airflow.apache.org/docs/1.10.10/howto/use-alternative-secrets-backend.html#configuration&#34; target=&#34;_blank&#34;&gt;https://airflow.apache.org/docs/1.10.10/howto/use-alternative-secrets-backend.html#configuration&lt;/a&gt; for details on how-to
+configure Secrets backend.&lt;/p&gt;
+
+&lt;p&gt;As of 1.10.10, Airflow supports the following Secret Backends:&lt;/p&gt;
+
+&lt;ul&gt;
+&lt;li&gt;Hashicorp Vault&lt;/li&gt;
+&lt;li&gt;GCP Secrets Manager&lt;/li&gt;
+&lt;li&gt;AWS Parameters Store&lt;/li&gt;
+&lt;/ul&gt;
+
+&lt;p&gt;Details: &lt;a href=&#34;https://airflow.apache.org/docs/1.10.10/howto/use-alternative-secrets-backend.html&#34; target=&#34;_blank&#34;&gt;https://airflow.apache.org/docs/1.10.10/howto/use-alternative-secrets-backend.html&lt;/a&gt;&lt;/p&gt;
+
+&lt;p&gt;Example configuration to use Hashicorp Vault as the backend:&lt;/p&gt;
+
+&lt;pre&gt;&lt;code class=&#34;language-ini&#34;&gt;[secrets]
+backend = airflow.contrib.secrets.hashicorp_vault.VaultBackend
+backend_kwargs = {&amp;quot;url&amp;quot;: &amp;quot;http://127.0.0.1:8200&amp;quot;, &amp;quot;connections_path&amp;quot;: &amp;quot;connections&amp;quot;, &amp;quot;variables_path&amp;quot;: &amp;quot;variables&amp;quot;, &amp;quot;mount_point&amp;quot;: &amp;quot;airflow&amp;quot;}
+&lt;/code&gt;&lt;/pre&gt;
+
+&lt;h2 id=&#34;updating-guide&#34;&gt;Updating Guide&lt;/h2&gt;
+
+&lt;p&gt;If you are updating Apache Airflow from a previous version to &lt;code&gt;1.10.10&lt;/code&gt;, please take a note of the following:&lt;/p&gt;
+
+&lt;ul&gt;
+&lt;li&gt;&lt;p&gt;Run &lt;code&gt;airflow upgradedb&lt;/code&gt; after &lt;code&gt;pip install -U apache-airflow==1.10.10&lt;/code&gt; as &lt;code&gt;1.10.10&lt;/code&gt; contains 3 database migrations.&lt;/p&gt;&lt;/li&gt;
+
+&lt;li&gt;&lt;p&gt;If you have used &lt;code&gt;none_failed&lt;/code&gt; trigger rule in your DAG, change it to use the new &lt;code&gt;none_failed_or_skipped&lt;/code&gt; trigger rule.
+As previously implemented, the actual behavior of &lt;code&gt;none_failed&lt;/code&gt; trigger rule would skip the current task if all parents of the task
+had also skipped. This was not in-line with what was documented about that trigger rule. We have changed the implementation to match
+the documentation, hence if you need the old behavior use &lt;code&gt;none_failed_or_skipped&lt;/code&gt;.&lt;/p&gt;
+
+&lt;p&gt;More details in &lt;a href=&#34;https://github.com/apache/airflow/pull/7464&#34; target=&#34;_blank&#34;&gt;https://github.com/apache/airflow/pull/7464&lt;/a&gt;.&lt;/p&gt;&lt;/li&gt;
+
+&lt;li&gt;&lt;p&gt;Setting empty string to a Airflow Variable will now return an empty string, it previously returned &lt;code&gt;None&lt;/code&gt;.&lt;/p&gt;
+
+&lt;p&gt;Example:&lt;/p&gt;
+
+&lt;pre&gt;&lt;code&gt;&amp;gt;&amp;gt; Variable.set(&#39;test_key&#39;, &#39;&#39;)
+&amp;gt;&amp;gt; Variable.get(&#39;test_key&#39;)
+&lt;/code&gt;&lt;/pre&gt;
+
+&lt;p&gt;The above code returned &lt;code&gt;None&lt;/code&gt; previously, now it will return &amp;ldquo;.&lt;/p&gt;&lt;/li&gt;
+
+&lt;li&gt;&lt;p&gt;When a task is marked as &lt;code&gt;success&lt;/code&gt; by a user in Airflow UI, function defined in &lt;code&gt;on_success_callback&lt;/code&gt; will be called.&lt;/p&gt;&lt;/li&gt;
+&lt;/ul&gt;
+
+&lt;h2 id=&#34;special-note-deprecations&#34;&gt;Special Note / Deprecations&lt;/h2&gt;
+
+&lt;h3 id=&#34;python-2&#34;&gt;Python 2&lt;/h3&gt;
+
+&lt;p&gt;Python 2 has reached end of its life on Jan 2020. Airflow Master no longer supports Python 2.
+Airflow 1.10.* would be the last series to support Python 2.&lt;/p&gt;
+
+&lt;p&gt;We strongly recommend users to use Python &amp;gt;= 3.6&lt;/p&gt;
+
+&lt;h3 id=&#34;use-airflow-rbac-ui&#34;&gt;Use Airflow RBAC UI&lt;/h3&gt;
+
+&lt;p&gt;Airflow 1.10.10 ships with 2 UIs, the default is non-RBAC Flask-admin based UI and Flask-appbuilder based UI.&lt;/p&gt;
+
+&lt;p&gt;The Flask-AppBuilder (FAB) based UI is allows Role-based Access Control and has more advanced features compared to
+the legacy Flask-admin based UI. This UI can be enabled by setting &lt;code&gt;rbac=True&lt;/code&gt; in &lt;code&gt;[webserver]&lt;/code&gt; section in your &lt;code&gt;airflow.cfg&lt;/code&gt;.&lt;/p&gt;
+
+&lt;p&gt;Flask-admin based UI is deprecated and new features won&amp;rsquo;t be ported to it. This UI will still be the default
+for 1.10.* series but would no longer be available from Airflow 2.0&lt;/p&gt;
+
+&lt;h3 id=&#34;running-airflow-on-macos&#34;&gt;Running Airflow on MacOS&lt;/h3&gt;
+
+&lt;p&gt;Run &lt;code&gt;export OBJC_DISABLE_INITIALIZE_FORK_SAFETY=YES&lt;/code&gt; in your scheduler environmentIf you are running Airflow on MacOS
+and get the following error in the Scheduler logs:&lt;/p&gt;
+
+&lt;pre&gt;&lt;code&gt;objc[1873]: +[__NSPlaceholderDate initialize] may have been in progress in another thread when fork() was called.
+objc[1873]: +[__NSPlaceholderDate initialize] may have been in progress in another thread when fork() was called. We cannot safely call it or ignore it in the fork() child process. Crashing instead. Set a breakpoint on objc_initializeAfterForkError to debug.
+&lt;/code&gt;&lt;/pre&gt;
+
+&lt;p&gt;This error occurs because of added security to restrict multiprocessing &amp;amp; multithreading in Mac OS High Sierra and above.&lt;/p&gt;
+
+&lt;h3 id=&#34;we-have-moved-to-github-issues&#34;&gt;We have moved to Github Issues&lt;/h3&gt;
+
+&lt;p&gt;The Airflow Project has moved from &lt;a href=&#34;https://issues.apache.org/jira/projects/AIRFLOW/issues&#34; target=&#34;_blank&#34;&gt;JIRA&lt;/a&gt; to
+&lt;a href=&#34;https://github.com/apache/airflow/issues&#34; target=&#34;_blank&#34;&gt;Github&lt;/a&gt; for tracking issues.&lt;/p&gt;
+
+&lt;p&gt;So if you find any bugs in Airflow 1.10.10 please create a Github Issue for it.&lt;/p&gt;
+
+&lt;h2 id=&#34;list-of-contributors&#34;&gt;List of Contributors&lt;/h2&gt;
+
+&lt;p&gt;According to git shortlog, the following people contributed to the 1.10.10 release. Thank you to all contributors!&lt;/p&gt;
+
+&lt;p&gt;ANiteckiP, Alex Guziel, Alex Lue, Anita Fronczak, Ash Berlin-Taylor, Benji Visser, Bhavika Tekwani, Brad Dettmer, Chris McLennon, Cooper Gillan, Daniel Imberman, Daniel Standish, Felix Uellendall, Jarek Potiuk, Jiajie Zhong, Jithin Sukumar, Kamil Breguła, Kaxil Naik, Kengo Seki, Kris, Kumpan Anton, Lokesh Lal, Louis Guitton, Louis Simoneau, Luyao Yang, Noël Bardelot, Omair Khan, Philipp Großelfinger, Ping Zhang, RasPavel, Ray, Robin Edwards, Ry Walker, Saurabh, Sebastian Brandt, [...]
+
+      </description>
+    </item>
+    
+    <item>
       <title>Blog: Apache Airflow 1.10.8 &amp; 1.10.9</title>
       <link>/blog/airflow-1.10.8-1.10.9/</link>
       <pubDate>Sun, 23 Feb 2020 00:00:00 +0000</pubDate>
diff --git a/index.html b/index.html
index d2169ba..6288f21 100644
--- a/index.html
+++ b/index.html
@@ -1175,7 +1175,7 @@ if (!doNotTrack) {
 
 <div class="card">
     <div class="box-event box-event__integration">
-        <span class="box-event__integration--name">gRPC</span>
+        <span class="box-event__integration--name">File Transfer Protocol (FTP)</span>
     </div>
 </div>
 
@@ -1183,12 +1183,12 @@ if (!doNotTrack) {
                 
                 
                 
-                <a class="list-item" href="/docs/stable/integration.html#aws-amazon-web-services">
+                <a class="list-item" href="/docs/stable/integration.html#software-integrations">
                     
 
 <div class="card">
     <div class="box-event box-event__integration">
-        <span class="box-event__integration--name">AWS Lambda</span>
+        <span class="box-event__integration--name">Python</span>
     </div>
 </div>
 
@@ -1201,7 +1201,7 @@ if (!doNotTrack) {
 
 <div class="card">
     <div class="box-event box-event__integration">
-        <span class="box-event__integration--name">Cloud Translation</span>
+        <span class="box-event__integration--name">Cloud Vision</span>
     </div>
 </div>
 
@@ -1209,12 +1209,12 @@ if (!doNotTrack) {
                 
                 
                 
-                <a class="list-item" href="/docs/stable/integration.html#software-integrations">
+                <a class="list-item" href="/docs/stable/integration.html#asf-apache-software-foundation">
                     
 
 <div class="card">
     <div class="box-event box-event__integration">
-        <span class="box-event__integration--name">PostgresSQL</span>
+        <span class="box-event__integration--name">Hadoop Distributed File System (HDFS)</span>
     </div>
 </div>
 
@@ -1222,12 +1222,12 @@ if (!doNotTrack) {
                 
                 
                 
-                <a class="list-item" href="/docs/stable/integration.html#gcp-google-cloud-platform">
+                <a class="list-item" href="/docs/stable/integration.html#asf-apache-software-foundation">
                     
 
 <div class="card">
     <div class="box-event box-event__integration">
-        <span class="box-event__integration--name">Cloud Data Loss Prevention (DLP)</span>
+        <span class="box-event__integration--name">Apache Pinot</span>
     </div>
 </div>
 
@@ -1235,12 +1235,12 @@ if (!doNotTrack) {
                 
                 
                 
-                <a class="list-item" href="/docs/stable/integration.html#software-integrations">
+                <a class="list-item" href="/docs/stable/integration.html#azure-microsoft-azure">
                     
 
 <div class="card">
     <div class="box-event box-event__integration">
-        <span class="box-event__integration--name">Samba</span>
+        <span class="box-event__integration--name">Azure Data Lake Storage</span>
     </div>
 </div>
 
@@ -1248,12 +1248,12 @@ if (!doNotTrack) {
                 
                 
                 
-                <a class="list-item" href="/docs/stable/integration.html#service-integrations">
+                <a class="list-item" href="/docs/stable/integration.html#aws-amazon-web-services">
                     
 
 <div class="card">
     <div class="box-event box-event__integration">
-        <span class="box-event__integration--name">Discord</span>
+        <span class="box-event__integration--name">Amazon Simple Notification Service (SNS)</span>
     </div>
 </div>
 
@@ -1261,12 +1261,12 @@ if (!doNotTrack) {
                 
                 
                 
-                <a class="list-item" href="/docs/stable/integration.html#software-integrations">
+                <a class="list-item" href="/docs/stable/integration.html#gcp-google-cloud-platform">
                     
 
 <div class="card">
     <div class="box-event box-event__integration">
-        <span class="box-event__integration--name">SQLite</span>
+        <span class="box-event__integration--name">Cloud Spanner</span>
     </div>
 </div>
 
diff --git a/index.xml b/index.xml
index 8c9f926..0467730 100644
--- a/index.xml
+++ b/index.xml
@@ -13,6 +13,171 @@
     
     
     <item>
+      <title>Blog: Apache Airflow 1.10.10</title>
+      <link>/blog/airflow-1.10.10/</link>
+      <pubDate>Thu, 09 Apr 2020 00:00:00 +0000</pubDate>
+      
+      <guid>/blog/airflow-1.10.10/</guid>
+      <description>
+        
+        
+        
+
+&lt;p&gt;Airflow 1.10.10 contains 199 commits since 1.10.9 and includes 11 new features, 43 improvements, 44 bug fixes, and several doc changes.&lt;/p&gt;
+
+&lt;p&gt;&lt;strong&gt;Details&lt;/strong&gt;:&lt;/p&gt;
+
+&lt;ul&gt;
+&lt;li&gt;&lt;strong&gt;PyPI&lt;/strong&gt;: &lt;a href=&#34;https://pypi.org/project/apache-airflow/1.10.10/&#34; target=&#34;_blank&#34;&gt;https://pypi.org/project/apache-airflow/1.10.10/&lt;/a&gt;&lt;/li&gt;
+&lt;li&gt;&lt;strong&gt;Docs&lt;/strong&gt;: &lt;a href=&#34;https://airflow.apache.org/docs/1.10.10/&#34; target=&#34;_blank&#34;&gt;https://airflow.apache.org/docs/1.10.10/&lt;/a&gt;&lt;/li&gt;
+&lt;li&gt;&lt;strong&gt;Changelog&lt;/strong&gt;: &lt;a href=&#34;http://airflow.apache.org/docs/1.10.10/changelog.html&#34; target=&#34;_blank&#34;&gt;http://airflow.apache.org/docs/1.10.10/changelog.html&lt;/a&gt;&lt;/li&gt;
+&lt;/ul&gt;
+
+&lt;p&gt;Some of the noteworthy new features (user-facing) are:&lt;/p&gt;
+
+&lt;ul&gt;
+&lt;li&gt;&lt;a href=&#34;https://github.com/apache/airflow/pull/8046&#34; target=&#34;_blank&#34;&gt;Allow user to chose timezone to use in the RBAC UI&lt;/a&gt;&lt;/li&gt;
+&lt;li&gt;&lt;a href=&#34;https://github.com/apache/airflow/pull/7832&#34; target=&#34;_blank&#34;&gt;Add Production Docker image support&lt;/a&gt;&lt;/li&gt;
+&lt;li&gt;&lt;a href=&#34;http://airflow.apache.org/docs/1.10.10/howto/use-alternative-secrets-backend.html&#34; target=&#34;_blank&#34;&gt;Allow Retrieving Airflow Connections &amp;amp; Variables from various Secrets backend&lt;/a&gt;&lt;/li&gt;
+&lt;li&gt;&lt;a href=&#34;http://airflow.apache.org/docs/1.10.10/dag-serialization.html&#34; target=&#34;_blank&#34;&gt;Stateless Webserver using DAG Serialization&lt;/a&gt;&lt;/li&gt;
+&lt;/ul&gt;
+
+&lt;h3 id=&#34;allow-user-to-chose-timezone-to-use-in-the-rbac-ui&#34;&gt;Allow user to chose timezone to use in the RBAC UI&lt;/h3&gt;
+
+&lt;p&gt;By default the Web UI will show times in UTC. It is possible to change the timezone shown by using the menu in the top
+ right (click on the clock to activate it):&lt;/p&gt;
+
+&lt;p&gt;&lt;strong&gt;Screenshot&lt;/strong&gt;:
+&lt;img src=&#34;rbac-ui-timezone.gif&#34; alt=&#34;Allow user to chose timezone to use in the RBAC UI&#34; /&gt;&lt;/p&gt;
+
+&lt;p&gt;Details: &lt;a href=&#34;https://airflow.apache.org/docs/1.10.10/timezone.html#web-ui&#34; target=&#34;_blank&#34;&gt;https://airflow.apache.org/docs/1.10.10/timezone.html#web-ui&lt;/a&gt;&lt;/p&gt;
+
+&lt;p&gt;&lt;strong&gt;Note&lt;/strong&gt;: This feature is only available for the RBAC UI (enabled using &lt;code&gt;rbac=True&lt;/code&gt; in &lt;code&gt;[webserver]&lt;/code&gt; section in your &lt;code&gt;airflow.cfg&lt;/code&gt;).&lt;/p&gt;
+
+&lt;h3 id=&#34;add-production-docker-image-support&#34;&gt;Add Production Docker image support&lt;/h3&gt;
+
+&lt;p&gt;There are brand new production images (alpha quality) available for Airflow 1.10.10. You can pull them from the
+&lt;a href=&#34;https://hub.docker.com/r/apache/airflow&#34; target=&#34;_blank&#34;&gt;Apache Airflow Dockerhub&lt;/a&gt; repository and start using it.&lt;/p&gt;
+
+&lt;p&gt;More information about using production images can be found in &lt;a href=&#34;https://github.com/apache/airflow/blob/master/IMAGES.rst#using-the-images&#34; target=&#34;_blank&#34;&gt;https://github.com/apache/airflow/blob/master/IMAGES.rst#using-the-images&lt;/a&gt;. Soon it will be updated with
+information how to use images using official helm chart.&lt;/p&gt;
+
+&lt;p&gt;To pull the images you can run one of the following commands:&lt;/p&gt;
+
+&lt;ul&gt;
+&lt;li&gt;&lt;code&gt;docker pull apache/airflow:1.10.10-python2.7&lt;/code&gt;&lt;/li&gt;
+&lt;li&gt;&lt;code&gt;docker pull apache/airflow:1.10.10-python3.5&lt;/code&gt;&lt;/li&gt;
+&lt;li&gt;&lt;code&gt;docker pull apache/airflow:1.10.10-python3.6&lt;/code&gt;&lt;/li&gt;
+&lt;li&gt;&lt;code&gt;docker pull apache/airflow:1.10.10-python3.7&lt;/code&gt;&lt;/li&gt;
+&lt;li&gt;&lt;code&gt;docker pull apache/airflow:1.10.10&lt;/code&gt; (uses Python 3.6)&lt;/li&gt;
+&lt;/ul&gt;
+
+&lt;h3 id=&#34;allow-retrieving-airflow-connections-variables-from-various-secrets-backend&#34;&gt;Allow Retrieving Airflow Connections &amp;amp; Variables from various Secrets backend&lt;/h3&gt;
+
+&lt;p&gt;From Airflow 1.10.10, users would be able to get Airflow Variables from Environment Variables.&lt;/p&gt;
+
+&lt;p&gt;Details: &lt;a href=&#34;https://airflow.apache.org/docs/1.10.10/concepts.html#storing-variables-in-environment-variables&#34; target=&#34;_blank&#34;&gt;https://airflow.apache.org/docs/1.10.10/concepts.html#storing-variables-in-environment-variables&lt;/a&gt;&lt;/p&gt;
+
+&lt;p&gt;A new concept of Secrets Backend has been introduced to retrieve Airflow Connections and Variables.&lt;/p&gt;
+
+&lt;p&gt;From Airflow 1.10.10, users can retrieve Connections &amp;amp; Variables using the same syntax (no DAG code change is required),
+from a secret backend defined in &lt;code&gt;airflow.cfg&lt;/code&gt;. If no backend is defined, Airflow falls-back to Environment Variables
+and then Metadata DB.&lt;/p&gt;
+
+&lt;p&gt;Check &lt;a href=&#34;https://airflow.apache.org/docs/1.10.10/howto/use-alternative-secrets-backend.html#configuration&#34; target=&#34;_blank&#34;&gt;https://airflow.apache.org/docs/1.10.10/howto/use-alternative-secrets-backend.html#configuration&lt;/a&gt; for details on how-to
+configure Secrets backend.&lt;/p&gt;
+
+&lt;p&gt;As of 1.10.10, Airflow supports the following Secret Backends:&lt;/p&gt;
+
+&lt;ul&gt;
+&lt;li&gt;Hashicorp Vault&lt;/li&gt;
+&lt;li&gt;GCP Secrets Manager&lt;/li&gt;
+&lt;li&gt;AWS Parameters Store&lt;/li&gt;
+&lt;/ul&gt;
+
+&lt;p&gt;Details: &lt;a href=&#34;https://airflow.apache.org/docs/1.10.10/howto/use-alternative-secrets-backend.html&#34; target=&#34;_blank&#34;&gt;https://airflow.apache.org/docs/1.10.10/howto/use-alternative-secrets-backend.html&lt;/a&gt;&lt;/p&gt;
+
+&lt;p&gt;Example configuration to use Hashicorp Vault as the backend:&lt;/p&gt;
+
+&lt;pre&gt;&lt;code class=&#34;language-ini&#34;&gt;[secrets]
+backend = airflow.contrib.secrets.hashicorp_vault.VaultBackend
+backend_kwargs = {&amp;quot;url&amp;quot;: &amp;quot;http://127.0.0.1:8200&amp;quot;, &amp;quot;connections_path&amp;quot;: &amp;quot;connections&amp;quot;, &amp;quot;variables_path&amp;quot;: &amp;quot;variables&amp;quot;, &amp;quot;mount_point&amp;quot;: &amp;quot;airflow&amp;quot;}
+&lt;/code&gt;&lt;/pre&gt;
+
+&lt;h2 id=&#34;updating-guide&#34;&gt;Updating Guide&lt;/h2&gt;
+
+&lt;p&gt;If you are updating Apache Airflow from a previous version to &lt;code&gt;1.10.10&lt;/code&gt;, please take a note of the following:&lt;/p&gt;
+
+&lt;ul&gt;
+&lt;li&gt;&lt;p&gt;Run &lt;code&gt;airflow upgradedb&lt;/code&gt; after &lt;code&gt;pip install -U apache-airflow==1.10.10&lt;/code&gt; as &lt;code&gt;1.10.10&lt;/code&gt; contains 3 database migrations.&lt;/p&gt;&lt;/li&gt;
+
+&lt;li&gt;&lt;p&gt;If you have used &lt;code&gt;none_failed&lt;/code&gt; trigger rule in your DAG, change it to use the new &lt;code&gt;none_failed_or_skipped&lt;/code&gt; trigger rule.
+As previously implemented, the actual behavior of &lt;code&gt;none_failed&lt;/code&gt; trigger rule would skip the current task if all parents of the task
+had also skipped. This was not in-line with what was documented about that trigger rule. We have changed the implementation to match
+the documentation, hence if you need the old behavior use &lt;code&gt;none_failed_or_skipped&lt;/code&gt;.&lt;/p&gt;
+
+&lt;p&gt;More details in &lt;a href=&#34;https://github.com/apache/airflow/pull/7464&#34; target=&#34;_blank&#34;&gt;https://github.com/apache/airflow/pull/7464&lt;/a&gt;.&lt;/p&gt;&lt;/li&gt;
+
+&lt;li&gt;&lt;p&gt;Setting empty string to a Airflow Variable will now return an empty string, it previously returned &lt;code&gt;None&lt;/code&gt;.&lt;/p&gt;
+
+&lt;p&gt;Example:&lt;/p&gt;
+
+&lt;pre&gt;&lt;code&gt;&amp;gt;&amp;gt; Variable.set(&#39;test_key&#39;, &#39;&#39;)
+&amp;gt;&amp;gt; Variable.get(&#39;test_key&#39;)
+&lt;/code&gt;&lt;/pre&gt;
+
+&lt;p&gt;The above code returned &lt;code&gt;None&lt;/code&gt; previously, now it will return &amp;ldquo;.&lt;/p&gt;&lt;/li&gt;
+
+&lt;li&gt;&lt;p&gt;When a task is marked as &lt;code&gt;success&lt;/code&gt; by a user in Airflow UI, function defined in &lt;code&gt;on_success_callback&lt;/code&gt; will be called.&lt;/p&gt;&lt;/li&gt;
+&lt;/ul&gt;
+
+&lt;h2 id=&#34;special-note-deprecations&#34;&gt;Special Note / Deprecations&lt;/h2&gt;
+
+&lt;h3 id=&#34;python-2&#34;&gt;Python 2&lt;/h3&gt;
+
+&lt;p&gt;Python 2 has reached end of its life on Jan 2020. Airflow Master no longer supports Python 2.
+Airflow 1.10.* would be the last series to support Python 2.&lt;/p&gt;
+
+&lt;p&gt;We strongly recommend users to use Python &amp;gt;= 3.6&lt;/p&gt;
+
+&lt;h3 id=&#34;use-airflow-rbac-ui&#34;&gt;Use Airflow RBAC UI&lt;/h3&gt;
+
+&lt;p&gt;Airflow 1.10.10 ships with 2 UIs, the default is non-RBAC Flask-admin based UI and Flask-appbuilder based UI.&lt;/p&gt;
+
+&lt;p&gt;The Flask-AppBuilder (FAB) based UI is allows Role-based Access Control and has more advanced features compared to
+the legacy Flask-admin based UI. This UI can be enabled by setting &lt;code&gt;rbac=True&lt;/code&gt; in &lt;code&gt;[webserver]&lt;/code&gt; section in your &lt;code&gt;airflow.cfg&lt;/code&gt;.&lt;/p&gt;
+
+&lt;p&gt;Flask-admin based UI is deprecated and new features won&amp;rsquo;t be ported to it. This UI will still be the default
+for 1.10.* series but would no longer be available from Airflow 2.0&lt;/p&gt;
+
+&lt;h3 id=&#34;running-airflow-on-macos&#34;&gt;Running Airflow on MacOS&lt;/h3&gt;
+
+&lt;p&gt;Run &lt;code&gt;export OBJC_DISABLE_INITIALIZE_FORK_SAFETY=YES&lt;/code&gt; in your scheduler environmentIf you are running Airflow on MacOS
+and get the following error in the Scheduler logs:&lt;/p&gt;
+
+&lt;pre&gt;&lt;code&gt;objc[1873]: +[__NSPlaceholderDate initialize] may have been in progress in another thread when fork() was called.
+objc[1873]: +[__NSPlaceholderDate initialize] may have been in progress in another thread when fork() was called. We cannot safely call it or ignore it in the fork() child process. Crashing instead. Set a breakpoint on objc_initializeAfterForkError to debug.
+&lt;/code&gt;&lt;/pre&gt;
+
+&lt;p&gt;This error occurs because of added security to restrict multiprocessing &amp;amp; multithreading in Mac OS High Sierra and above.&lt;/p&gt;
+
+&lt;h3 id=&#34;we-have-moved-to-github-issues&#34;&gt;We have moved to Github Issues&lt;/h3&gt;
+
+&lt;p&gt;The Airflow Project has moved from &lt;a href=&#34;https://issues.apache.org/jira/projects/AIRFLOW/issues&#34; target=&#34;_blank&#34;&gt;JIRA&lt;/a&gt; to
+&lt;a href=&#34;https://github.com/apache/airflow/issues&#34; target=&#34;_blank&#34;&gt;Github&lt;/a&gt; for tracking issues.&lt;/p&gt;
+
+&lt;p&gt;So if you find any bugs in Airflow 1.10.10 please create a Github Issue for it.&lt;/p&gt;
+
+&lt;h2 id=&#34;list-of-contributors&#34;&gt;List of Contributors&lt;/h2&gt;
+
+&lt;p&gt;According to git shortlog, the following people contributed to the 1.10.10 release. Thank you to all contributors!&lt;/p&gt;
+
+&lt;p&gt;ANiteckiP, Alex Guziel, Alex Lue, Anita Fronczak, Ash Berlin-Taylor, Benji Visser, Bhavika Tekwani, Brad Dettmer, Chris McLennon, Cooper Gillan, Daniel Imberman, Daniel Standish, Felix Uellendall, Jarek Potiuk, Jiajie Zhong, Jithin Sukumar, Kamil Breguła, Kaxil Naik, Kengo Seki, Kris, Kumpan Anton, Lokesh Lal, Louis Guitton, Louis Simoneau, Luyao Yang, Noël Bardelot, Omair Khan, Philipp Großelfinger, Ping Zhang, RasPavel, Ray, Robin Edwards, Ry Walker, Saurabh, Sebastian Brandt, [...]
+
+      </description>
+    </item>
+    
+    <item>
       <title>Blog: Apache Airflow 1.10.8 &amp; 1.10.9</title>
       <link>/blog/airflow-1.10.8-1.10.9/</link>
       <pubDate>Sun, 23 Feb 2020 00:00:00 +0000</pubDate>
diff --git a/sitemap.xml b/sitemap.xml
index 4cd77c5..aab3516 100644
--- a/sitemap.xml
+++ b/sitemap.xml
@@ -83,17 +83,22 @@
   </url>
   
   <url>
-    <loc>/blog/airflow-1.10.8-1.10.9/</loc>
-    <lastmod>2020-02-23T22:34:43+00:00</lastmod>
+    <loc>/blog/airflow-1.10.10/</loc>
+    <lastmod>2020-04-10T16:45:22+01:00</lastmod>
   </url>
   
   <url>
     <loc>/blog/tags/release/</loc>
-    <lastmod>2020-02-23T22:34:43+00:00</lastmod>
+    <lastmod>2020-04-10T16:45:22+01:00</lastmod>
   </url>
   
   <url>
     <loc>/tags/</loc>
+    <lastmod>2020-04-10T16:45:22+01:00</lastmod>
+  </url>
+  
+  <url>
+    <loc>/blog/airflow-1.10.8-1.10.9/</loc>
     <lastmod>2020-02-23T22:34:43+00:00</lastmod>
   </url>
   
diff --git a/tags/index.html b/tags/index.html
index 5c15e9b..f99f1a7 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="2020-02-23T00:00:00+00:00" /><meta property="og:site_name" content="Apache Airflow" />
+<meta property="og:updated_time" content="2020-04-09T00: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 c05c0f6..c86dde0 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>Sun, 23 Feb 2020 00:00:00 +0000</lastBuildDate>
+    <lastBuildDate>Thu, 09 Apr 2020 00:00:00 +0000</lastBuildDate>
     
 	  <atom:link href="/tags/index.xml" rel="self" type="application/rss+xml" />