You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@dolphinscheduler.apache.org by gi...@apache.org on 2022/12/19 09:20:31 UTC

[dolphinscheduler-website] branch asf-site updated: Automated deployment: d7b445abb2ab896ca909f712c0b5a59fae454ea3

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

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


The following commit(s) were added to refs/heads/asf-site by this push:
     new 511c9fb4a7 Automated deployment: d7b445abb2ab896ca909f712c0b5a59fae454ea3
511c9fb4a7 is described below

commit 511c9fb4a7df67547600624fe50dbce2dd88c13c
Author: github-actions[bot] <gi...@users.noreply.github.com>
AuthorDate: Mon Dec 19 09:20:25 2022 +0000

    Automated deployment: d7b445abb2ab896ca909f712c0b5a59fae454ea3
---
 fetch/blog/en-us.json                              |  47 +++++++++++++-----
 img/media/16714202226727/16714203387608.jpg        | Bin 0 -> 84471 bytes
 img/media/16714202226727/16714204071793.jpg        | Bin 0 -> 78473 bytes
 img/media/16714207955368/16714208087579.jpg        | Bin 0 -> 87296 bytes
 img/media/16714207955368/16714208965363.jpg        | Bin 0 -> 36188 bytes
 img/media/16714207955368/16714209112764.jpg        | Bin 0 -> 33619 bytes
 img/media/16714207955368/16714209218058.jpg        | Bin 0 -> 67620 bytes
 img/media/16714207955368/16714209322012.jpg        | Bin 0 -> 40802 bytes
 img/media/16714207955368/16714209468073.jpg        | Bin 0 -> 26522 bytes
 img/media/16714207955368/16714210083690.jpg        | Bin 0 -> 126801 bytes
 .../blog/en-us/Apache-DolphinScheduler-2.0.1.json  |   2 +-
 .../blog/en-us/Apache_DolphinScheduler_2.0.7.json  |   2 +-
 .../blog/en-us/Apache_dolphinScheduler_2.0.2.json  |   2 +-
 .../blog/en-us/Apache_dolphinScheduler_2.0.3.json  |   2 +-
 .../blog/en-us/Apache_dolphinScheduler_2.0.5.json  |   2 +-
 .../blog/en-us/Apache_dolphinScheduler_3.0.0.json  |   2 +-
 .../en-us/Apache_dolphinScheduler_3.0.0_alpha.json |   2 +-
 .../blog/en-us/Apache_dolphinScheduler_3.0.1.json  |   2 +-
 pages/blog/en-us/DS-2.0-alpha-release.json         |   2 +-
 ...nScheduler_Kubernetes_Technology_in_action.json |   2 +-
 .../How_can_more_people_benefit_from_big_data.json |   2 +-
 .../Introducing-Apache-DolphinScheduler-1.3.9.json |   2 +-
 pages/blog/en-us/Python_API_and_AWS_Support.json   |   2 +-
 python/2.0.5/.buildinfo                            |   2 +-
 python/2.0.6/.buildinfo                            |   2 +-
 python/2.0.7/.buildinfo                            |   2 +-
 python/3.0.0/.buildinfo                            |   2 +-
 python/3.0.1/.buildinfo                            |   2 +-
 python/3.1.0/.buildinfo                            |   2 +-
 python/4.0.0/.buildinfo                            |   2 +-
 python/4.0.0/changelog.html                        |  55 ++++++++++++++++++++-
 python/4.0.0/index.html                            |   5 +-
 python/4.0.0/objects.inv                           | Bin 10875 -> 10901 bytes
 python/4.0.0/searchindex.js                        |   2 +-
 python/main/.buildinfo                             |   2 +-
 .../_modules/pydolphinscheduler/core/workflow.html |  19 +------
 .../_modules/pydolphinscheduler/models/tenant.html |   2 +-
 .../_modules/pydolphinscheduler/models/user.html   |   2 +-
 python/main/_sources/concept.rst.txt               |   7 +--
 python/main/_sources/config.rst.txt                |   2 -
 python/main/api.html                               |  13 ++---
 python/main/changelog.html                         |  55 ++++++++++++++++++++-
 python/main/concept.html                           |   7 +--
 python/main/config.html                            |  20 +++-----
 python/main/genindex.html                          |   2 -
 python/main/howto/multi-resources.html             |   1 -
 python/main/index.html                             |   5 +-
 python/main/objects.inv                            | Bin 11009 -> 11032 bytes
 python/main/resources_plugin/resource-plugin.html  |   1 -
 python/main/searchindex.js                         |   2 +-
 python/main/tasks/condition.html                   |   2 +-
 python/main/tasks/datax.html                       |   1 -
 python/main/tasks/dependent.html                   |   2 -
 python/main/tasks/dvc.html                         |   1 -
 python/main/tasks/flink.html                       |   2 +-
 python/main/tasks/func_wrap.html                   |   1 -
 python/main/tasks/kubernetes.html                  |   1 -
 python/main/tasks/map_reduce.html                  |   2 +-
 python/main/tasks/mlflow.html                      |   1 -
 python/main/tasks/openmldb.html                    |   1 -
 python/main/tasks/pytorch.html                     |   1 -
 python/main/tasks/sagemaker.html                   |   1 -
 python/main/tasks/shell.html                       |   1 -
 python/main/tasks/spark.html                       |   2 +-
 python/main/tasks/switch.html                      |   4 +-
 python/main/tutorial.html                          |   6 ---
 66 files changed, 201 insertions(+), 117 deletions(-)

diff --git a/fetch/blog/en-us.json b/fetch/blog/en-us.json
index c20e372bbe..449bcdbe71 100644
--- a/fetch/blog/en-us.json
+++ b/fetch/blog/en-us.json
@@ -3,73 +3,80 @@
     "type": "release",
     "label": "Release Note",
     "children": [
+      {
+        "name": "Apache_DolphinScheduler_3.0.3",
+        "title": "DolphinScheduler released version 3.0.3, focusing on fixing 6 bugs",
+        "author": "Leonard Nie",
+        "dateStr": "2022-12-01",
+        "desc": "Recently, Apache DolphinScheduler released version 3.0.3....... "
+      },
       {
         "name": "Apache_DolphinScheduler_2.0.7",
         "title": "Apache DolphinScheduler 2.0.7 released, fixes complement and fault tolerance",
-        "author": "Debra Chen",
+        "author": "Leonard Nie",
         "dateStr": "2022-10-28",
         "desc": "Recently, Apache DolphinScheduler version 2.0.7 was officially released...... "
       },
       {
         "name": "Apache_dolphinScheduler_3.0.1",
         "title": "Apache DolphinScheduler 3.0.1 released, with the scheduling kernel and UI optimized",
-        "author": "Debra Chen",
+        "author": "Leonard Nie",
         "dateStr": "2022-9-28",
         "desc": "hanks to this Release Manager — @zhuangchong, who led the release of the 3.0.1...... "
       },
       {
         "name": "Apache_dolphinScheduler_3.0.0",
         "title": "Apache DolphinScheduler 3.0.0 Official Version Released!",
-        "author": "Debra Chen",
+        "author": "Leonard Nie",
         "dateStr": "2022-9-2",
         "desc": "The official version 3.0.0 has undergone the most significant changes since its release... "
       },
       {
         "name": "Apache_dolphinScheduler_3.0.0_alpha",
         "title": "3.0.0 Alpha Release! Nine New Features and A Brand New UI Unlock New Capabilities For the Scheduling System",
-        "author": "Debra Chen",
+        "author": "Leonard Nie",
         "dateStr": "2022-4-16",
         "desc": "n April 22, 2022, Apache DolphinScheduler officially announced the release of alpha version 3.0.0! ... "
       },
       {
         "name": "Apache_dolphinScheduler_2.0.5",
         "title": "Release News! Apache DolphinScheduler 2_0_5 optimizes The Fault Tolerance Process of Worker",
-        "author": "Debra Chen",
+        "author": "Leonard Nie",
         "dateStr": "2022-3-7",
         "desc": "Today, Apache DolphinScheduler announced the official release of version 2.0.5. "
       },
       {
         "name": "Apache_dolphinScheduler_2.0.3",
         "title": "Apache DolphinScheduler 2.0.3 Release Announcement: DingTalk alert plugin adds signature verification, and supports data sources to obtain links from multiple sessions\n",
-        "author": "Debra Chen",
+        "author": "Leonard Nie",
         "dateStr": "2022-1-27",
         "desc": "Apache DolphinScheduler Board Report"
       },
       {
         "name": "Apache_dolphinScheduler_2.0.2",
         "title": "Apache DolphinScheduler 2.0.2  Release Announcement:WorkflowAsCode is Launched!",
-        "author": "Debra Chen",
+        "author": "Leonard Nie",
         "dateStr": "2022-1-13",
         "desc": " TWOS"
       },
       {
         "name": "Apache-DolphinScheduler-2.0.1",
         "title": "Apache DolphinScheduler 2.0.1 is here, and the highly anticipated one-click upgrade and plug-in finally come!",
-        "author": "Debra Chen",
+        "author": "Leonard Nie",
         "dateStr": "2021-12-20",
         "desc": "Apache DolphinScheduler 2.0.1"
       },
       {
         "name": "DS-2.0-alpha-release",
         "title": "Refactoring, Plug-in, Performance Improves By 20 times, Apache DolphinScheduler 2.0 alpha Release Highlights Check!",
-        "author": "Debra Chen",
+        "author": "Leonard Nie",
         "dateStr": "2021-10-29",
         "desc": "DolphinScheduler 2.0 alpha release"
       },
       {
         "name": "Introducing-Apache-DolphinScheduler-1.3.9",
         "title": "Introducing Apache DolphinScheduler 1.3.9, StandaloneServer is Available!",
-        "author": "Debar Chen",
+        "author": "Leonard Nie",
         "dateStr": "2021-10-22",
         "desc": "Introducing Apache DolphinScheduler 1.3.9, StandaloneServer is Available!"
       }
@@ -79,24 +86,38 @@
     "type": "tech",
     "label": "Tech Sharing",
     "children": [
+      {
+        "name": "DolphinScheduler Python API CI/CD",
+        "title": "DolphinScheduler Python API CI/CD",
+        "author": "Leonard Nie",
+        "dateStr": "2022-12-16",
+        "desc": "DolphinScheduler Python API CI/CD... "
+      },
+      {
+        "name": "DolphinScheduler launches on the AWS AMI Application Marketplace",
+        "title": "DolphinScheduler launches on the AWS AMI Application Marketplace",
+        "author": "Leonard Nie",
+        "dateStr": "2022-12-10",
+        "desc": "Apache DolphinScheduler has officially launched on the AWS EC2 AMI application marketplace... "
+      },
       {
         "name": "How_can_more_people_benefit_from_big_data",
         "title": "How can more people benefit from big data?",
-        "author": "Debra Chen",
+        "author": "Leonard Nie",
         "dateStr": "2022-10-29",
         "desc": "During the ApacheCon Asia 2022, Chen Wei, who has more than 10 years... "
       },
       {
         "name": "Python_API_and_AWS_Support",
         "title": "apache DolphinScheduler Extends Capabilities Through Python API and AWS Support",
-        "author": "Debra Chen",
+        "author": "Leonard Nie",
         "dateStr": "2022-8-26",
         "desc": "In the ever-changing world of technology, data is abundant. ... "
       },
       {
         "name": "DolphinScheduler_Kubernetes_Technology_in_action",
         "title": "Technical Practice of Apache DolphinScheduler in Kubernetes System",
-        "author": "Debra Chen",
+        "author": "Leonard Nie",
         "dateStr": "2022-2-24",
         "desc": "Kubernetes is a cluster system based on container technology, "
       },
diff --git a/img/media/16714202226727/16714203387608.jpg b/img/media/16714202226727/16714203387608.jpg
new file mode 100644
index 0000000000..54012fe90c
Binary files /dev/null and b/img/media/16714202226727/16714203387608.jpg differ
diff --git a/img/media/16714202226727/16714204071793.jpg b/img/media/16714202226727/16714204071793.jpg
new file mode 100644
index 0000000000..88f2c0a0c6
Binary files /dev/null and b/img/media/16714202226727/16714204071793.jpg differ
diff --git a/img/media/16714207955368/16714208087579.jpg b/img/media/16714207955368/16714208087579.jpg
new file mode 100644
index 0000000000..71509655c1
Binary files /dev/null and b/img/media/16714207955368/16714208087579.jpg differ
diff --git a/img/media/16714207955368/16714208965363.jpg b/img/media/16714207955368/16714208965363.jpg
new file mode 100644
index 0000000000..c183c3d0fa
Binary files /dev/null and b/img/media/16714207955368/16714208965363.jpg differ
diff --git a/img/media/16714207955368/16714209112764.jpg b/img/media/16714207955368/16714209112764.jpg
new file mode 100644
index 0000000000..bed13fa2f1
Binary files /dev/null and b/img/media/16714207955368/16714209112764.jpg differ
diff --git a/img/media/16714207955368/16714209218058.jpg b/img/media/16714207955368/16714209218058.jpg
new file mode 100644
index 0000000000..3dec6c26e4
Binary files /dev/null and b/img/media/16714207955368/16714209218058.jpg differ
diff --git a/img/media/16714207955368/16714209322012.jpg b/img/media/16714207955368/16714209322012.jpg
new file mode 100644
index 0000000000..6add809855
Binary files /dev/null and b/img/media/16714207955368/16714209322012.jpg differ
diff --git a/img/media/16714207955368/16714209468073.jpg b/img/media/16714207955368/16714209468073.jpg
new file mode 100644
index 0000000000..e499baac46
Binary files /dev/null and b/img/media/16714207955368/16714209468073.jpg differ
diff --git a/img/media/16714207955368/16714210083690.jpg b/img/media/16714207955368/16714210083690.jpg
new file mode 100644
index 0000000000..10913be897
Binary files /dev/null and b/img/media/16714207955368/16714210083690.jpg differ
diff --git a/pages/blog/en-us/Apache-DolphinScheduler-2.0.1.json b/pages/blog/en-us/Apache-DolphinScheduler-2.0.1.json
index cbf666f6ea..7c59f566e7 100644
--- a/pages/blog/en-us/Apache-DolphinScheduler-2.0.1.json
+++ b/pages/blog/en-us/Apache-DolphinScheduler-2.0.1.json
@@ -1,7 +1,7 @@
 {
   "__html": "<h2>Apache DolphinScheduler 2.0.1 is here, and the highly anticipated one-click upgrade and plug-in finally come!</h2>\n<p>Good news! Apache DolphinScheduler 2.0.1 version is officially released today!</p>\n<p>In this version, DolphinScheduler has undergone a microkernel + plug-in architecture improvement, 70% of the code has\nbeen refactored, and the long-awaited plug-in function has also been emphatically optimized. In addition, there are many\nhighlights in this upgrade,  [...]
   "time": "2021-12-20",
-  "author": "Debra Chen",
+  "author": "Leonard Nie",
   "title": "Apache DolphinScheduler 2.0.1 is here, and the highly anticipated one-click upgrade and plug-in finally come!",
   "type": "release",
   "label": "Release Note"
diff --git a/pages/blog/en-us/Apache_DolphinScheduler_2.0.7.json b/pages/blog/en-us/Apache_DolphinScheduler_2.0.7.json
index 0d84794a77..9bf8437fbd 100644
--- a/pages/blog/en-us/Apache_DolphinScheduler_2.0.7.json
+++ b/pages/blog/en-us/Apache_DolphinScheduler_2.0.7.json
@@ -1,7 +1,7 @@
 {
   "__html": "<h1>Apache DolphinScheduler 2.0.7 released, fixes complement and fault tolerance</h1>\n<p><img src=\"https://miro.medium.com/max/640/0*O7tYZm2aDL35U1Pb\" alt=\"\"></p>\n<p>Recently, Apache DolphinScheduler version 2.0.7 was officially released. The new version fixes some complement and fault tolerance bugs and solves problems such as inconsistent batch data.</p>\n<h1>Major bug fixes</h1>\n<h2>№1 The problem of continued detection of dependent while the dependent node contain [...]
   "time": "2022-10-28",
-  "author": "Debra Chen",
+  "author": "Leonard Nie",
   "title": "Apache DolphinScheduler 2.0.7 released, fixes complement and fault tolerance",
   "type": "release",
   "label": "Release Note"
diff --git a/pages/blog/en-us/Apache_dolphinScheduler_2.0.2.json b/pages/blog/en-us/Apache_dolphinScheduler_2.0.2.json
index 7bea42131c..207bc8cac0 100644
--- a/pages/blog/en-us/Apache_dolphinScheduler_2.0.2.json
+++ b/pages/blog/en-us/Apache_dolphinScheduler_2.0.2.json
@@ -1,7 +1,7 @@
 {
   "__html": "<h1>Apache DolphinScheduler 2.0.2 Release Announcement:WorkflowAsCode is Launched!</h1>\n<div align=center>\n<img src=\"/img/2022-1-13/1_3XcwBeN5HkBzZ76zXDcigw.jpeg\"/>\n</div>\n<p>In the long-awaited, WorkflowAsCode function is finally launched in version 2.0.2 as promised, bringing good news to users who need to dynamically create and update workflows in batches.</p>\n<p>In addition, the new version also adds the WeCom alarm group chat message push, simplifies the metadata [...]
   "time": "2022-1-13",
-  "author": "Debra Chen",
+  "author": "Leonard Nie",
   "title": "Apache DolphinScheduler 2.0.2  Release Announcement:WorkflowAsCode is Launched!",
   "type": "release",
   "label": "Release Note"
diff --git a/pages/blog/en-us/Apache_dolphinScheduler_2.0.3.json b/pages/blog/en-us/Apache_dolphinScheduler_2.0.3.json
index dadc876230..112843dbf1 100644
--- a/pages/blog/en-us/Apache_dolphinScheduler_2.0.3.json
+++ b/pages/blog/en-us/Apache_dolphinScheduler_2.0.3.json
@@ -1,7 +1,7 @@
 {
   "__html": "<h1>Apache DolphinScheduler 2.0.3 Release Announcement: DingTalk alert plugin adds signature verification, and supports data sources to obtain links from multiple sessions</h1>\n<div align=center>\n<img src=\"/img/2.0.3/2022-1-2701/1.png\"/>\n</div>\n<blockquote>\n<p>Today, Apache DolphinScheduler announced the official release of version 2.0.3. In this version, DingTalk alert plugin adds signature verification and enables data sources to get links from multiple sessions. In [...]
   "time": "2022-1-27",
-  "author": "Debra Chen",
+  "author": "Leonard Nie",
   "title": "Apache DolphinScheduler 2.0.3 Release Announcement: DingTalk alert plugin adds signature verification, and supports data sources to obtain links from multiple sessions\n",
   "type": "release",
   "label": "Release Note"
diff --git a/pages/blog/en-us/Apache_dolphinScheduler_2.0.5.json b/pages/blog/en-us/Apache_dolphinScheduler_2.0.5.json
index 23306bf300..8a2cfb3c91 100644
--- a/pages/blog/en-us/Apache_dolphinScheduler_2.0.5.json
+++ b/pages/blog/en-us/Apache_dolphinScheduler_2.0.5.json
@@ -1,7 +1,7 @@
 {
   "__html": "<div align=center>\n<img src=\"/img/2022-3-7/1.png\"/>\n</div>\n<p>Today, Apache DolphinScheduler announced the official release of version 2.0.5. This version has carried out some functional optimizations, such as optimizing the fault tolerance process of Worker, adding the function of re-uploading files in the resource center, and making several bug fixes.</p>\n<h2>Optimization</h2>\n<h3>Worker fault tolerance process</h3>\n<p>Version 2.0.5 optimizes the worker's fault tol [...]
   "time": "2022-3-7",
-  "author": "Debra Chen",
+  "author": "Leonard Nie",
   "title": "Release News! Apache DolphinScheduler 2_0_5 optimizes The Fault Tolerance Process of Worker",
   "type": "release",
   "label": "Release Note"
diff --git a/pages/blog/en-us/Apache_dolphinScheduler_3.0.0.json b/pages/blog/en-us/Apache_dolphinScheduler_3.0.0.json
index 3642e6d134..97c3cf0b14 100644
--- a/pages/blog/en-us/Apache_dolphinScheduler_3.0.0.json
+++ b/pages/blog/en-us/Apache_dolphinScheduler_3.0.0.json
@@ -1,7 +1,7 @@
 {
   "__html": "<h1>Apache DolphinScheduler 3.0.0 Official Version Released!</h1>\n<p><img src=\"https://miro.medium.com/max/1260/1*zwulVh_I1ROhSYrlE3OW6A.png\" alt=\"\"></p>\n<p>The official version 3.0.0 has undergone the most significant changes since its release, adding many new functions and features, aiming to bring users a brand-new experience and more value.</p>\n<p>The iterative 3.0.0 official version is roughly the same as the primary function and feature updates, optimizations, a [...]
   "time": "2022-9-2",
-  "author": "Debra Chen",
+  "author": "Leonard Nie",
   "title": "Apache DolphinScheduler 3.0.0 Official Version Released!",
   "type": "release",
   "label": "Release Note"
diff --git a/pages/blog/en-us/Apache_dolphinScheduler_3.0.0_alpha.json b/pages/blog/en-us/Apache_dolphinScheduler_3.0.0_alpha.json
index 88f13c3050..fc3fc53a1b 100644
--- a/pages/blog/en-us/Apache_dolphinScheduler_3.0.0_alpha.json
+++ b/pages/blog/en-us/Apache_dolphinScheduler_3.0.0_alpha.json
@@ -1,7 +1,7 @@
 {
   "__html": "<h1>3.0.0 Alpha Release! Nine New Features and A Brand New UI Unlock New Capabilities For the Scheduling System</h1>\n<div align=center>\n<img src=\"/img/2020-04-25/en/1.png\"/>\n</div>\n<p>On April 22, 2022, Apache DolphinScheduler officially announced the release of alpha version 3.0.0! This version upgrade ushers in the biggest changes since the release, with many new features and functions bringing new experiences and value to users.</p>\n<p>The keywords for 3.0.0-alpha  [...]
   "time": "2022-4-16",
-  "author": "Debra Chen",
+  "author": "Leonard Nie",
   "title": "3.0.0 Alpha Release! Nine New Features and A Brand New UI Unlock New Capabilities For the Scheduling System",
   "type": "release",
   "label": "Release Note"
diff --git a/pages/blog/en-us/Apache_dolphinScheduler_3.0.1.json b/pages/blog/en-us/Apache_dolphinScheduler_3.0.1.json
index 5bd907e31a..9c2ce18f26 100644
--- a/pages/blog/en-us/Apache_dolphinScheduler_3.0.1.json
+++ b/pages/blog/en-us/Apache_dolphinScheduler_3.0.1.json
@@ -1,7 +1,7 @@
 {
   "__html": "<h1>Apache DolphinScheduler 3.0.1 released, with the scheduling kernel and UI optimized</h1>\n<p><img src=\"https://miro.medium.com/max/1400/1*zgkZk3lhn3UhLAKkHM9wzQ.png\" alt=\"\"></p>\n<p>Thanks to this Release Manager — zhuangchong, who led the release of the 3.0.1 version of Apache DolphinScheduler, guided the community to communicate about the version optimization, tracked issues before the release, dealt with blocking issues, and version quality management, etc. Thanks [...]
   "time": "2022-9-28",
-  "author": "Debra Chen",
+  "author": "Leonard Nie",
   "title": "Apache DolphinScheduler 3.0.1 released, with the scheduling kernel and UI optimized",
   "type": "release",
   "label": "Release Note"
diff --git a/pages/blog/en-us/DS-2.0-alpha-release.json b/pages/blog/en-us/DS-2.0-alpha-release.json
index e5fab73935..8fbb5f08c7 100644
--- a/pages/blog/en-us/DS-2.0-alpha-release.json
+++ b/pages/blog/en-us/DS-2.0-alpha-release.json
@@ -1,7 +1,7 @@
 {
   "__html": "<h1>Refactoring, Plug-in, Performance Improves By 20 times, Apache DolphinScheduler 2.0 alpha Release Highlights Check!</h1>\n<div align='center'><img src=\"https://s1.imgpp.com/2021/11/16/a920be6733a3d99af38d1cdebfcbb3ff.md.png\"></div>\n<p>Hello community, good news! After nearly 10 months of joint efforts by more than 100 community contributors, we are happy to announce the release of Apache DolphinScheduler 2.0 alpha. This is the first major version of DolphinScheduler s [...]
   "time": "2021-10-29",
-  "author": "Debra Chen",
+  "author": "Leonard Nie",
   "title": "Refactoring, Plug-in, Performance Improves By 20 times, Apache DolphinScheduler 2.0 alpha Release Highlights Check!",
   "type": "release",
   "label": "Release Note"
diff --git a/pages/blog/en-us/DolphinScheduler_Kubernetes_Technology_in_action.json b/pages/blog/en-us/DolphinScheduler_Kubernetes_Technology_in_action.json
index 8b7b213fc2..7006838b9c 100644
--- a/pages/blog/en-us/DolphinScheduler_Kubernetes_Technology_in_action.json
+++ b/pages/blog/en-us/DolphinScheduler_Kubernetes_Technology_in_action.json
@@ -1,7 +1,7 @@
 {
   "__html": "<h1>Technical Practice of Apache DolphinScheduler in Kubernetes System</h1>\n<div align=center>\n<img src=\"/img/2022-02-24/1.jpeg\"/>\n</div>\n<p>Author | Yang Dian, Data and Algorithm Platform Architect | Shenzhen Transportation Center</p>\n<p>Editor | warrior_</p>\n<blockquote>\n<p>Editor's note:</p>\n</blockquote>\n<blockquote>\n<p>Kubernetes is a cluster system based on container technology, implements container orchestration, provides microservices and buses, and invol [...]
   "time": "2022-2-24",
-  "author": "Debra Chen",
+  "author": "Leonard Nie",
   "title": "Technical Practice of Apache DolphinScheduler in Kubernetes System",
   "type": "tech",
   "label": "Tech Sharing"
diff --git a/pages/blog/en-us/How_can_more_people_benefit_from_big_data.json b/pages/blog/en-us/How_can_more_people_benefit_from_big_data.json
index d8a9fcae43..6fa9a43e4f 100644
--- a/pages/blog/en-us/How_can_more_people_benefit_from_big_data.json
+++ b/pages/blog/en-us/How_can_more_people_benefit_from_big_data.json
@@ -1,7 +1,7 @@
 {
   "__html": "<h1>How can more people benefit from big data?</h1>\n<p><img src=\"https://miro.medium.com/max/640/1*2sUnAfzJd8nRlTKYDfIsvw.jpeg\" alt=\"\">\n<u>During the ApacheCon Asia 2022, Chen Wei, who has more than 10 years of experience in Big Data development and is head of an offline data factory development tool from a bank, delivered a keynote speech on how to enable more people to benefit from Big Data.</p>\n<p>Many thanks to volunteer Guan Bo for your text editing work, your co [...]
   "time": "2022-10-29",
-  "author": "Debra Chen",
+  "author": "Leonard Nie",
   "title": "How can more people benefit from big data?",
   "type": "tech",
   "label": "Tech Sharing"
diff --git a/pages/blog/en-us/Introducing-Apache-DolphinScheduler-1.3.9.json b/pages/blog/en-us/Introducing-Apache-DolphinScheduler-1.3.9.json
index 546b173076..3f3e348914 100644
--- a/pages/blog/en-us/Introducing-Apache-DolphinScheduler-1.3.9.json
+++ b/pages/blog/en-us/Introducing-Apache-DolphinScheduler-1.3.9.json
@@ -1,7 +1,7 @@
 {
   "__html": "<h1>Introducing Apache DolphinScheduler 1.3.9, StandaloneServer is Available!</h1>\n<p>On October 22, 2021, we are excited to announce the release of Apache DolphinScheduler 1.3.9. After a month and a half,Apache DolphinScheduler 1.3.9 brings StandaloneServer to users with the joint efforts of the community. StandaloneServer is a major update of this version, which means a huge leap in ease of use, and the details will be introduced below. In addition, this upgrade also fixe [...]
   "time": "2021-10-22",
-  "author": "Debar Chen",
+  "author": "Leonard Nie",
   "title": "Introducing Apache DolphinScheduler 1.3.9, StandaloneServer is Available!",
   "type": "release",
   "label": "Release Note"
diff --git a/pages/blog/en-us/Python_API_and_AWS_Support.json b/pages/blog/en-us/Python_API_and_AWS_Support.json
index 7f84754805..9aad5b86b1 100644
--- a/pages/blog/en-us/Python_API_and_AWS_Support.json
+++ b/pages/blog/en-us/Python_API_and_AWS_Support.json
@@ -1,7 +1,7 @@
 {
   "__html": "<h1>Apache DolphinScheduler Extends Capabilities Through Python API and AWS Support</h1>\n<p>In the ever-changing world of technology, data is abundant. In fact, trillions of gigabytes of data are generated every day!</p>\n<p>Stop and think about that for a second!</p>\n<p>Storing and processing these humongous amounts of data is no easy feat. Big data workflow schedulers such as the Apache DolphinScheduler and Apache Airflow help businesses perform operations on large volum [...]
   "time": "2022-8-26",
-  "author": "Debra Chen",
+  "author": "Leonard Nie",
   "title": "apache DolphinScheduler Extends Capabilities Through Python API and AWS Support",
   "type": "tech",
   "label": "Tech Sharing"
diff --git a/python/2.0.5/.buildinfo b/python/2.0.5/.buildinfo
index c846ba68f4..1771f3b8b1 100644
--- a/python/2.0.5/.buildinfo
+++ b/python/2.0.5/.buildinfo
@@ -1,4 +1,4 @@
 # Sphinx build info version 1
 # This file hashes the configuration used when building these files. When it is not found, a full rebuild will be done.
-config: a860940febb358d476f1da6885844831
+config: ed622a4f35e173ca8272e51f3a79e9e5
 tags: 645f666f9bcd5a90fca523b33c5a78b7
diff --git a/python/2.0.6/.buildinfo b/python/2.0.6/.buildinfo
index 6ee18d781b..9d6e403537 100644
--- a/python/2.0.6/.buildinfo
+++ b/python/2.0.6/.buildinfo
@@ -1,4 +1,4 @@
 # Sphinx build info version 1
 # This file hashes the configuration used when building these files. When it is not found, a full rebuild will be done.
-config: 0e5201a0d589af87c1b3049efa82afc2
+config: 4393a1436479ba66f7ec8d0080e519fb
 tags: 645f666f9bcd5a90fca523b33c5a78b7
diff --git a/python/2.0.7/.buildinfo b/python/2.0.7/.buildinfo
index 98fa131c84..97083e5c32 100644
--- a/python/2.0.7/.buildinfo
+++ b/python/2.0.7/.buildinfo
@@ -1,4 +1,4 @@
 # Sphinx build info version 1
 # This file hashes the configuration used when building these files. When it is not found, a full rebuild will be done.
-config: 74065417cb58b5e0b4e304049cc978b4
+config: 776dedc1e3a1beab1bf7c8ca3c4dda3f
 tags: 645f666f9bcd5a90fca523b33c5a78b7
diff --git a/python/3.0.0/.buildinfo b/python/3.0.0/.buildinfo
index 231427bcfb..5c2e790352 100644
--- a/python/3.0.0/.buildinfo
+++ b/python/3.0.0/.buildinfo
@@ -1,4 +1,4 @@
 # Sphinx build info version 1
 # This file hashes the configuration used when building these files. When it is not found, a full rebuild will be done.
-config: d768185d4784c458f5f1661311af34e1
+config: 355bc03adf4b1ff6c8ebef37ca7bf0f1
 tags: 645f666f9bcd5a90fca523b33c5a78b7
diff --git a/python/3.0.1/.buildinfo b/python/3.0.1/.buildinfo
index 7679ac5afa..3ac33f1a84 100644
--- a/python/3.0.1/.buildinfo
+++ b/python/3.0.1/.buildinfo
@@ -1,4 +1,4 @@
 # Sphinx build info version 1
 # This file hashes the configuration used when building these files. When it is not found, a full rebuild will be done.
-config: 150e96ee0ee23bdacbfee0a6506197b4
+config: 6899b3847d952578fe852f25cff7dc6f
 tags: 645f666f9bcd5a90fca523b33c5a78b7
diff --git a/python/3.1.0/.buildinfo b/python/3.1.0/.buildinfo
index 2f287f6a91..a30b793163 100644
--- a/python/3.1.0/.buildinfo
+++ b/python/3.1.0/.buildinfo
@@ -1,4 +1,4 @@
 # Sphinx build info version 1
 # This file hashes the configuration used when building these files. When it is not found, a full rebuild will be done.
-config: 16f181e72e2129af3bbae70cc214d3ec
+config: 3c223777fdf840eca1f8dac518b07900
 tags: 645f666f9bcd5a90fca523b33c5a78b7
diff --git a/python/4.0.0/.buildinfo b/python/4.0.0/.buildinfo
index b0db1e5089..ddc151751d 100644
--- a/python/4.0.0/.buildinfo
+++ b/python/4.0.0/.buildinfo
@@ -1,4 +1,4 @@
 # Sphinx build info version 1
 # This file hashes the configuration used when building these files. When it is not found, a full rebuild will be done.
-config: cd6b64df49d03f86fbe409a12802f826
+config: bd3f47e5cff2f294f481dd1a79f3e7ba
 tags: 645f666f9bcd5a90fca523b33c5a78b7
diff --git a/python/4.0.0/changelog.html b/python/4.0.0/changelog.html
index d90f7b3196..543acc2a71 100644
--- a/python/4.0.0/changelog.html
+++ b/python/4.0.0/changelog.html
@@ -53,7 +53,10 @@
 <li class="toctree-l1"><a class="reference internal" href="config.html">Configuration</a></li>
 <li class="toctree-l1"><a class="reference internal" href="api.html">API</a></li>
 <li class="toctree-l1"><a class="reference internal" href="resources_plugin/index.html">Resources_plugin</a></li>
-<li class="toctree-l1 current"><a class="current reference internal" href="#">Changelog</a></li>
+<li class="toctree-l1 current"><a class="current reference internal" href="#">Changelog</a><ul>
+<li class="toctree-l2"><a class="reference internal" href="#release-4-0-0">4.0.0</a></li>
+</ul>
+</li>
 </ul>
 
         </div>
@@ -82,6 +85,56 @@
              
   <section id="changelog">
 <h1>Changelog<a class="headerlink" href="#changelog" title="Permalink to this heading"></a></h1>
+<section id="release-4-0-0">
+<h2>4.0.0<a class="headerlink" href="#release-4-0-0" title="Permalink to this heading"></a></h2>
+<p><em>Released on 2022-12-16 - <a class="reference external" href="https://github.com/apache/dolphinscheduler-sdk-python/releases/tag/4.0.0">GitHub</a> - <a class="reference external" href="https://pypi.org/project/apache-dolphinscheduler/4.0.0/">PyPI</a></em></p>
+<h2>What's Changed</h2>
+<h3>Feature</h3>
+<ul>
+<li>[feat] Add execute type to workflow by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/zhongjiajie/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/zhongjiajie">@zhongjiajie</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1441834280" data-permission-text="Title is private" data-url="https://github.com/apache/dolphinscheduler-sdk-python/i [...]
+<li>[feat] Add token as authentication for python gateway by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/zhongjiajie/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/zhongjiajie">@zhongjiajie</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1447778238" data-permission-text="Title is private" data-url="https://github.com/apache/dolphinsche [...]
+<li>[feat][task] Support Kubernetes task by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/tuchg/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/tuchg">@tuchg</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1449325064" data-permission-text="Title is private" data-url="https://github.com/apache/dolphinscheduler-sdk-python/issues/15" data-ho [...]
+<li>[feat] Mark workflow timeout as type timedelta by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/zhongjiajie/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/zhongjiajie">@zhongjiajie</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1491984883" data-permission-text="Title is private" data-url="https://github.com/apache/dolphinscheduler-s [...]
+<li>[feat] Add changelog to our documentation by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/zhongjiajie/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/zhongjiajie">@zhongjiajie</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1499473148" data-permission-text="Title is private" data-url="https://github.com/apache/dolphinscheduler-sdk-py [...]
+<li>[feat] Version check for dolphinscheduler main package by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/zhongjiajie/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/zhongjiajie">@zhongjiajie</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1499787490" data-permission-text="Title is private" data-url="https://github.com/apache/dolphinsch [...]
+</ul>
+<h3>Improve</h3>
+<ul>
+<li>[impv] Only create one connect for single workflow submit by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/zhongjiajie/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/zhongjiajie">@zhongjiajie</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1449363317" data-permission-text="Title is private" data-url="https://github.com/apache/dolphin [...]
+<li>[impv] Do not warnings in dev version by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/zhongjiajie/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/zhongjiajie">@zhongjiajie</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1466364957" data-permission-text="Title is private" data-url="https://github.com/apache/dolphinscheduler-sdk-python [...]
+<li>[impv] Add option param for workflow and task by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/zhongjiajie/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/zhongjiajie">@zhongjiajie</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1495975453" data-permission-text="Title is private" data-url="https://github.com/apache/dolphinscheduler-sd [...]
+<li>[Test] Optimize the test cases in the task plugin by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/jieguangzhou/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/jieguangzhou">@jieguangzhou</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1499783137" data-permission-text="Title is private" data-url="https://github.com/apache/dolphinsched [...]
+</ul>
+<h3>Bugfix</h3>
+<ul>
+<li>[fix] Resource upload and add document by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/zhongjiajie/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/zhongjiajie">@zhongjiajie</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1467972873" data-permission-text="Title is private" data-url="https://github.com/apache/dolphinscheduler-sdk-pytho [...]
+<li>[fix] Resource upload in dev branch by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/zhongjiajie/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/zhongjiajie">@zhongjiajie</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1467852699" data-permission-text="Title is private" data-url="https://github.com/apache/dolphinscheduler-sdk-python/i [...]
+</ul>
+<h3>Document</h3>
+<ul>
+<li>[doc] Add history and version compatibility by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/zhongjiajie/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/zhongjiajie">@zhongjiajie</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1451253539" data-permission-text="Title is private" data-url="https://github.com/apache/dolphinscheduler-sdk- [...]
+</ul>
+<h3>Chore</h3>
+<ul>
+<li>[chore] Migrate code from main repo apache/dolphinscheduler by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/zhongjiajie/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/zhongjiajie">@zhongjiajie</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1438209999" data-permission-text="Title is private" data-url="https://github.com/apache/dolph [...]
+<li>[ci] Add mergeable and enable github issue by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/zhongjiajie/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/zhongjiajie">@zhongjiajie</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1441888142" data-permission-text="Title is private" data-url="https://github.com/apache/dolphinscheduler-sdk-p [...]
+<li>[chore] Improve CI and fix deadlink by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/zhongjiajie/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/zhongjiajie">@zhongjiajie</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1443311273" data-permission-text="Title is private" data-url="https://github.com/apache/dolphinscheduler-sdk-python/i [...]
+<li>[chore] Enabled delete branch after merged by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/zhongjiajie/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/zhongjiajie">@zhongjiajie</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1449395619" data-permission-text="Title is private" data-url="https://github.com/apache/dolphinscheduler-sdk-p [...]
+<li>[chore] Change class name from process definition to workflow by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/zhongjiajie/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/zhongjiajie">@zhongjiajie</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1450954432" data-permission-text="Title is private" data-url="https://github.com/apache/dol [...]
+<li>[ci] Avoid schedule event upload too many files to codecov by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/zhongjiajie/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/zhongjiajie">@zhongjiajie</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1463969065" data-permission-text="Title is private" data-url="https://github.com/apache/dolphi [...]
+<li>[chore] Change integrate test behavior and add some doc by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/zhongjiajie/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/zhongjiajie">@zhongjiajie</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1464013326" data-permission-text="Title is private" data-url="https://github.com/apache/dolphinsc [...]
+<li>[chore] CI python version form 3.11-dev to 3.11 by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/zhongjiajie/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/zhongjiajie">@zhongjiajie</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1464132976" data-permission-text="Title is private" data-url="https://github.com/apache/dolphinscheduler- [...]
+<li>[chore] Correct badge license and change download to pypy.tech by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/zhongjiajie/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/zhongjiajie">@zhongjiajie</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1464361058" data-permission-text="Title is private" data-url="https://github.com/apache/do [...]
+<li>[chore] Fix ubuntu-latest can not setup python in github action by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/zhongjiajie/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/zhongjiajie">@zhongjiajie</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1476011180" data-permission-text="Title is private" data-url="https://github.com/apache/d [...]
+<li>[chore] Change website link by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/zhongjiajie/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/zhongjiajie">@zhongjiajie</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1483509640" data-permission-text="Title is private" data-url="https://github.com/apache/dolphinscheduler-sdk-python/issues/39 [...]
+<li>[chore] Change workflow instance name from pd by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/zhongjiajie/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/zhongjiajie">@zhongjiajie</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1493112074" data-permission-text="Title is private" data-url="https://github.com/apache/dolphinscheduler-sd [...]
+</ul>
+<h2>New Contributors</h2>
+<ul>
+<li><a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/tuchg/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/tuchg">@tuchg</a> made their first contribution in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1449325064" data-permission-text="Title is private" data-url="https://github.com/apache/dolphinscheduler-sdk-python/issues/15" data-hovercard-ty [...]
+<li><a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/jieguangzhou/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/jieguangzhou">@jieguangzhou</a> made their first contribution in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1499783137" data-permission-text="Title is private" data-url="https://github.com/apache/dolphinscheduler-sdk-python/issues/ [...]
+</ul>
+<p><strong>Full Changelog</strong>: <a class="commit-link" href="https://github.com/apache/dolphinscheduler-sdk-python/compare/3.1.0...4.0.0"><tt>3.1.0...4.0.0</tt></a></p></section>
 </section>
 
 
diff --git a/python/4.0.0/index.html b/python/4.0.0/index.html
index d91ffbd506..3358f85dee 100644
--- a/python/4.0.0/index.html
+++ b/python/4.0.0/index.html
@@ -254,7 +254,10 @@ then go and see <a class="reference internal" href="tutorial.html"><span class="
 <li class="toctree-l2"><a class="reference internal" href="resources_plugin/s3.html">S3</a></li>
 </ul>
 </li>
-<li class="toctree-l1"><a class="reference internal" href="changelog.html">Changelog</a></li>
+<li class="toctree-l1"><a class="reference internal" href="changelog.html">Changelog</a><ul>
+<li class="toctree-l2"><a class="reference internal" href="changelog.html#release-4-0-0">4.0.0</a></li>
+</ul>
+</li>
 </ul>
 </div>
 </section>
diff --git a/python/4.0.0/objects.inv b/python/4.0.0/objects.inv
index d818b1c38b..d02f1f0976 100644
Binary files a/python/4.0.0/objects.inv and b/python/4.0.0/objects.inv differ
diff --git a/python/4.0.0/searchindex.js b/python/4.0.0/searchindex.js
index 6e4954653d..1eaf81decd 100644
--- a/python/4.0.0/searchindex.js
+++ b/python/4.0.0/searchindex.js
@@ -1 +1 @@
-Search.setIndex({"docnames": ["api", "changelog", "cli", "concept", "config", "howto/index", "howto/multi-resources", "howto/remote-submit", "index", "resources_plugin/develop", "resources_plugin/github", "resources_plugin/gitlab", "resources_plugin/index", "resources_plugin/local", "resources_plugin/oss", "resources_plugin/resource-plugin", "resources_plugin/s3", "start", "tasks/condition", "tasks/datax", "tasks/dependent", "tasks/dvc", "tasks/flink", "tasks/func_wrap", "tasks/http", "t [...]
\ No newline at end of file
+Search.setIndex({"docnames": ["api", "changelog", "cli", "concept", "config", "howto/index", "howto/multi-resources", "howto/remote-submit", "index", "resources_plugin/develop", "resources_plugin/github", "resources_plugin/gitlab", "resources_plugin/index", "resources_plugin/local", "resources_plugin/oss", "resources_plugin/resource-plugin", "resources_plugin/s3", "start", "tasks/condition", "tasks/datax", "tasks/dependent", "tasks/dvc", "tasks/flink", "tasks/func_wrap", "tasks/http", "t [...]
\ No newline at end of file
diff --git a/python/main/.buildinfo b/python/main/.buildinfo
index 0cbd9d1ede..bd448e7c51 100644
--- a/python/main/.buildinfo
+++ b/python/main/.buildinfo
@@ -1,4 +1,4 @@
 # Sphinx build info version 1
 # This file hashes the configuration used when building these files. When it is not found, a full rebuild will be done.
-config: c67a6153ecbd1cf7218a080672b008d7
+config: 32f83cc1a12f544610b869c32268c9cd
 tags: 645f666f9bcd5a90fca523b33c5a78b7
diff --git a/python/main/_modules/pydolphinscheduler/core/workflow.html b/python/main/_modules/pydolphinscheduler/core/workflow.html
index e7dea009f6..b7f96ff2b6 100644
--- a/python/main/_modules/pydolphinscheduler/core/workflow.html
+++ b/python/main/_modules/pydolphinscheduler/core/workflow.html
@@ -108,7 +108,7 @@
 <span class="kn">from</span> <span class="nn">pydolphinscheduler.core.resource_plugin</span> <span class="kn">import</span> <span class="n">ResourcePlugin</span>
 <span class="kn">from</span> <span class="nn">pydolphinscheduler.exceptions</span> <span class="kn">import</span> <span class="n">PyDSParamException</span><span class="p">,</span> <span class="n">PyDSTaskNoFoundException</span>
 <span class="kn">from</span> <span class="nn">pydolphinscheduler.java_gateway</span> <span class="kn">import</span> <span class="n">gateway</span>
-<span class="kn">from</span> <span class="nn">pydolphinscheduler.models</span> <span class="kn">import</span> <span class="n">Base</span><span class="p">,</span> <span class="n">Project</span><span class="p">,</span> <span class="n">Tenant</span><span class="p">,</span> <span class="n">User</span>
+<span class="kn">from</span> <span class="nn">pydolphinscheduler.models</span> <span class="kn">import</span> <span class="n">Base</span><span class="p">,</span> <span class="n">Project</span><span class="p">,</span> <span class="n">User</span>
 <span class="kn">from</span> <span class="nn">pydolphinscheduler.utils.date</span> <span class="kn">import</span> <span class="n">MAX_DATETIME</span><span class="p">,</span> <span class="n">conv_from_str</span><span class="p">,</span> <span class="n">conv_to_schedule</span>
 
 
@@ -168,7 +168,6 @@
     <span class="n">_KEY_ATTR</span> <span class="o">=</span> <span class="p">{</span>
         <span class="s2">&quot;name&quot;</span><span class="p">,</span>
         <span class="s2">&quot;project&quot;</span><span class="p">,</span>
-        <span class="s2">&quot;tenant&quot;</span><span class="p">,</span>
         <span class="s2">&quot;release_state&quot;</span><span class="p">,</span>
         <span class="s2">&quot;param&quot;</span><span class="p">,</span>
     <span class="p">}</span>
@@ -177,7 +176,6 @@
         <span class="s2">&quot;name&quot;</span><span class="p">,</span>
         <span class="s2">&quot;description&quot;</span><span class="p">,</span>
         <span class="s2">&quot;_project&quot;</span><span class="p">,</span>
-        <span class="s2">&quot;_tenant&quot;</span><span class="p">,</span>
         <span class="s2">&quot;worker_group&quot;</span><span class="p">,</span>
         <span class="s2">&quot;warning_type&quot;</span><span class="p">,</span>
         <span class="s2">&quot;warning_group_id&quot;</span><span class="p">,</span>
@@ -201,7 +199,6 @@
         <span class="n">timezone</span><span class="p">:</span> <span class="n">Optional</span><span class="p">[</span><span class="nb">str</span><span class="p">]</span> <span class="o">=</span> <span class="n">configuration</span><span class="o">.</span><span class="n">WORKFLOW_TIME_ZONE</span><span class="p">,</span>
         <span class="n">user</span><span class="p">:</span> <span class="n">Optional</span><span class="p">[</span><span class="nb">str</span><span class="p">]</span> <span class="o">=</span> <span class="n">configuration</span><span class="o">.</span><span class="n">WORKFLOW_USER</span><span class="p">,</span>
         <span class="n">project</span><span class="p">:</span> <span class="n">Optional</span><span class="p">[</span><span class="nb">str</span><span class="p">]</span> <span class="o">=</span> <span class="n">configuration</span><span class="o">.</span><span class="n">WORKFLOW_PROJECT</span><span class="p">,</span>
-        <span class="n">tenant</span><span class="p">:</span> <span class="n">Optional</span><span class="p">[</span><span class="nb">str</span><span class="p">]</span> <span class="o">=</span> <span class="n">configuration</span><span class="o">.</span><span class="n">WORKFLOW_TENANT</span><span class="p">,</span>
         <span class="n">worker_group</span><span class="p">:</span> <span class="n">Optional</span><span class="p">[</span><span class="nb">str</span><span class="p">]</span> <span class="o">=</span> <span class="n">configuration</span><span class="o">.</span><span class="n">WORKFLOW_WORKER_GROUP</span><span class="p">,</span>
         <span class="n">warning_type</span><span class="p">:</span> <span class="n">Optional</span><span class="p">[</span><span class="nb">str</span><span class="p">]</span> <span class="o">=</span> <span class="n">configuration</span><span class="o">.</span><span class="n">WORKFLOW_WARNING_TYPE</span><span class="p">,</span>
         <span class="n">warning_group_id</span><span class="p">:</span> <span class="n">Optional</span><span class="p">[</span><span class="nb">int</span><span class="p">]</span> <span class="o">=</span> <span class="mi">0</span><span class="p">,</span>
@@ -221,7 +218,6 @@
         <span class="bp">self</span><span class="o">.</span><span class="n">timezone</span> <span class="o">=</span> <span class="n">timezone</span>
         <span class="bp">self</span><span class="o">.</span><span class="n">_user</span> <span class="o">=</span> <span class="n">user</span>
         <span class="bp">self</span><span class="o">.</span><span class="n">_project</span> <span class="o">=</span> <span class="n">project</span>
-        <span class="bp">self</span><span class="o">.</span><span class="n">_tenant</span> <span class="o">=</span> <span class="n">tenant</span>
         <span class="bp">self</span><span class="o">.</span><span class="n">worker_group</span> <span class="o">=</span> <span class="n">worker_group</span>
         <span class="bp">self</span><span class="o">.</span><span class="n">warning_type</span> <span class="o">=</span> <span class="n">warning_type</span>
         <span class="k">if</span> <span class="n">warning_type</span><span class="o">.</span><span class="n">strip</span><span class="p">()</span><span class="o">.</span><span class="n">upper</span><span class="p">()</span> <span class="ow">not</span> <span class="ow">in</span> <span class="p">(</span><span class="s2">&quot;FAILURE&quot;</span><span class="p">,</span> <span class="s2">&quot;SUCCESS&quot;</span><span class="p">,</span> <span class="s2">&quot;ALL&quot;</span><span class="p [...]
@@ -259,16 +255,6 @@
     <span class="k">def</span> <span class="fm">__exit__</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">exc_type</span><span class="p">,</span> <span class="n">exc_val</span><span class="p">,</span> <span class="n">exc_tb</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="kc">None</span><span class="p">:</span>
         <span class="n">WorkflowContext</span><span class="o">.</span><span class="n">delete</span><span class="p">()</span>
 
-    <span class="nd">@property</span>
-    <span class="k">def</span> <span class="nf">tenant</span><span class="p">(</span><span class="bp">self</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="n">Tenant</span><span class="p">:</span>
-        <span class="sd">&quot;&quot;&quot;Get attribute tenant.&quot;&quot;&quot;</span>
-        <span class="k">return</span> <span class="n">Tenant</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">_tenant</span><span class="p">)</span>
-
-    <span class="nd">@tenant</span><span class="o">.</span><span class="n">setter</span>
-    <span class="k">def</span> <span class="nf">tenant</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">tenant</span><span class="p">:</span> <span class="n">Tenant</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="kc">None</span><span class="p">:</span>
-        <span class="sd">&quot;&quot;&quot;Set attribute tenant.&quot;&quot;&quot;</span>
-        <span class="bp">self</span><span class="o">.</span><span class="n">_tenant</span> <span class="o">=</span> <span class="n">tenant</span><span class="o">.</span><span class="n">name</span>
-
     <span class="nd">@property</span>
     <span class="k">def</span> <span class="nf">project</span><span class="p">(</span><span class="bp">self</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="n">Project</span><span class="p">:</span>
         <span class="sd">&quot;&quot;&quot;Get attribute project.&quot;&quot;&quot;</span>
@@ -285,7 +271,7 @@
 
 <span class="sd">        For now we just get from python models but not from java gateway models, so it may not correct.</span>
 <span class="sd">        &quot;&quot;&quot;</span>
-        <span class="k">return</span> <span class="n">User</span><span class="p">(</span><span class="n">name</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">_user</span><span class="p">,</span> <span class="n">tenant</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">_tenant</span><span class="p">)</span>
+        <span class="k">return</span> <span class="n">User</span><span class="p">(</span><span class="n">name</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">_user</span><span class="p">)</span>
 
 <div class="viewcode-block" id="Workflow._parse_datetime"><a class="viewcode-back" href="../../../api.html#pydolphinscheduler.core.Workflow._parse_datetime">[docs]</a>    <span class="nd">@staticmethod</span>
     <span class="k">def</span> <span class="nf">_parse_datetime</span><span class="p">(</span><span class="n">val</span><span class="p">:</span> <span class="n">Any</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="n">Any</span><span class="p">:</span>
@@ -519,7 +505,6 @@
             <span class="bp">self</span><span class="o">.</span><span class="n">execution_type</span><span class="p">,</span>
             <span class="bp">self</span><span class="o">.</span><span class="n">timeout</span><span class="p">,</span>
             <span class="bp">self</span><span class="o">.</span><span class="n">worker_group</span><span class="p">,</span>
-            <span class="bp">self</span><span class="o">.</span><span class="n">_tenant</span><span class="p">,</span>
             <span class="bp">self</span><span class="o">.</span><span class="n">release_state</span><span class="p">,</span>
             <span class="c1"># TODO add serialization function</span>
             <span class="n">json</span><span class="o">.</span><span class="n">dumps</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">task_relation_json</span><span class="p">),</span>
diff --git a/python/main/_modules/pydolphinscheduler/models/tenant.html b/python/main/_modules/pydolphinscheduler/models/tenant.html
index a467b81c87..870ca10d46 100644
--- a/python/main/_modules/pydolphinscheduler/models/tenant.html
+++ b/python/main/_modules/pydolphinscheduler/models/tenant.html
@@ -110,7 +110,7 @@
 
     <span class="k">def</span> <span class="fm">__init__</span><span class="p">(</span>
         <span class="bp">self</span><span class="p">,</span>
-        <span class="n">name</span><span class="p">:</span> <span class="nb">str</span> <span class="o">=</span> <span class="n">configuration</span><span class="o">.</span><span class="n">WORKFLOW_TENANT</span><span class="p">,</span>
+        <span class="n">name</span><span class="p">:</span> <span class="nb">str</span> <span class="o">=</span> <span class="n">configuration</span><span class="o">.</span><span class="n">USER_TENANT</span><span class="p">,</span>
         <span class="n">queue</span><span class="p">:</span> <span class="nb">str</span> <span class="o">=</span> <span class="n">configuration</span><span class="o">.</span><span class="n">WORKFLOW_QUEUE</span><span class="p">,</span>
         <span class="n">description</span><span class="p">:</span> <span class="n">Optional</span><span class="p">[</span><span class="nb">str</span><span class="p">]</span> <span class="o">=</span> <span class="kc">None</span><span class="p">,</span>
         <span class="n">tenant_id</span><span class="p">:</span> <span class="n">Optional</span><span class="p">[</span><span class="nb">int</span><span class="p">]</span> <span class="o">=</span> <span class="kc">None</span><span class="p">,</span>
diff --git a/python/main/_modules/pydolphinscheduler/models/user.html b/python/main/_modules/pydolphinscheduler/models/user.html
index 6738f2b36d..060a820b2c 100644
--- a/python/main/_modules/pydolphinscheduler/models/user.html
+++ b/python/main/_modules/pydolphinscheduler/models/user.html
@@ -124,7 +124,7 @@
         <span class="n">password</span><span class="p">:</span> <span class="n">Optional</span><span class="p">[</span><span class="nb">str</span><span class="p">]</span> <span class="o">=</span> <span class="n">configuration</span><span class="o">.</span><span class="n">USER_PASSWORD</span><span class="p">,</span>
         <span class="n">email</span><span class="p">:</span> <span class="n">Optional</span><span class="p">[</span><span class="nb">str</span><span class="p">]</span> <span class="o">=</span> <span class="n">configuration</span><span class="o">.</span><span class="n">USER_EMAIL</span><span class="p">,</span>
         <span class="n">phone</span><span class="p">:</span> <span class="n">Optional</span><span class="p">[</span><span class="nb">str</span><span class="p">]</span> <span class="o">=</span> <span class="n">configuration</span><span class="o">.</span><span class="n">USER_PHONE</span><span class="p">,</span>
-        <span class="n">tenant</span><span class="p">:</span> <span class="n">Optional</span><span class="p">[</span><span class="nb">str</span><span class="p">]</span> <span class="o">=</span> <span class="n">configuration</span><span class="o">.</span><span class="n">WORKFLOW_TENANT</span><span class="p">,</span>
+        <span class="n">tenant</span><span class="p">:</span> <span class="n">Optional</span><span class="p">[</span><span class="nb">str</span><span class="p">]</span> <span class="o">=</span> <span class="n">configuration</span><span class="o">.</span><span class="n">USER_TENANT</span><span class="p">,</span>
         <span class="n">queue</span><span class="p">:</span> <span class="n">Optional</span><span class="p">[</span><span class="nb">str</span><span class="p">]</span> <span class="o">=</span> <span class="n">configuration</span><span class="o">.</span><span class="n">WORKFLOW_QUEUE</span><span class="p">,</span>
         <span class="n">status</span><span class="p">:</span> <span class="n">Optional</span><span class="p">[</span><span class="nb">int</span><span class="p">]</span> <span class="o">=</span> <span class="n">configuration</span><span class="o">.</span><span class="n">USER_STATE</span><span class="p">,</span>
     <span class="p">):</span>
diff --git a/python/main/_sources/concept.rst.txt b/python/main/_sources/concept.rst.txt
index 6048ed4ef5..084980cd42 100644
--- a/python/main/_sources/concept.rst.txt
+++ b/python/main/_sources/concept.rst.txt
@@ -80,11 +80,12 @@ Tenant
 ~~~~~~
 
 Tenant is the user who run task command in machine or in virtual machine. it could be assign by simple string.
+You should change the tenant value to exists tenant in your host, it config in `config.yaml` in your pydolphinscheduler
+``PYDS_HOME``, or via :doc:`CLI <cli>`
 
-.. code-block:: python
+.. code-block:: bash
 
-   # 
-   workflow = Workflow(name="workflow tenant", tenant="tenant_exists")
+   pydolphinscheduler config --set default.user.tenant <YOUR-TENANT-NAME>
 
 .. note::
 
diff --git a/python/main/_sources/config.rst.txt b/python/main/_sources/config.rst.txt
index c5753cf901..70e9845999 100644
--- a/python/main/_sources/config.rst.txt
+++ b/python/main/_sources/config.rst.txt
@@ -101,8 +101,6 @@ All environment variables as below, and you could modify their value via `Bash <
 +------------------+------------------------------------+---------------------------------------------------------------------------------------------------------------------+
 |                  | ``PYDS_WORKFLOW_PROJECT``          | Default workflow project name, will use its value when workflow does not specify the attribute ``project``.         |
 +                  +------------------------------------+---------------------------------------------------------------------------------------------------------------------+
-|                  | ``PYDS_WORKFLOW_TENANT``           | Default workflow tenant, will use its value when workflow does not specify the attribute ``tenant``.                |
-+                  +------------------------------------+---------------------------------------------------------------------------------------------------------------------+
 | Default Workflow | ``PYDS_WORKFLOW_USER``             | Default workflow user, will use its value when workflow does not specify the attribute ``user``.                    |
 +                  +------------------------------------+---------------------------------------------------------------------------------------------------------------------+
 |                  | ``PYDS_WORKFLOW_QUEUE``            | Default workflow queue, will use its value when workflow does not specify the attribute ``queue``.                  |
diff --git a/python/main/api.html b/python/main/api.html
index c840efc201..76bec1b848 100644
--- a/python/main/api.html
+++ b/python/main/api.html
@@ -161,7 +161,6 @@
 <li class="toctree-l4"><a class="reference internal" href="#pydolphinscheduler.core.Workflow.task_definition_json"><code class="docutils literal notranslate"><span class="pre">Workflow.task_definition_json</span></code></a></li>
 <li class="toctree-l4"><a class="reference internal" href="#pydolphinscheduler.core.Workflow.task_list"><code class="docutils literal notranslate"><span class="pre">Workflow.task_list</span></code></a></li>
 <li class="toctree-l4"><a class="reference internal" href="#pydolphinscheduler.core.Workflow.task_relation_json"><code class="docutils literal notranslate"><span class="pre">Workflow.task_relation_json</span></code></a></li>
-<li class="toctree-l4"><a class="reference internal" href="#pydolphinscheduler.core.Workflow.tenant"><code class="docutils literal notranslate"><span class="pre">Workflow.tenant</span></code></a></li>
 <li class="toctree-l4"><a class="reference internal" href="#pydolphinscheduler.core.Workflow.user"><code class="docutils literal notranslate"><span class="pre">Workflow.user</span></code></a></li>
 </ul>
 </li>
@@ -1721,7 +1720,7 @@ workflow.resource_plugin.</p>
 
 <dl class="py class">
 <dt class="sig sig-object py" id="pydolphinscheduler.core.Workflow">
-<em class="property"><span class="pre">class</span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">pydolphinscheduler.core.</span></span><span class="sig-name descname"><span class="pre">Workflow</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">name</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">str</span></span></em>, <em cla [...]
+<em class="property"><span class="pre">class</span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">pydolphinscheduler.core.</span></span><span class="sig-name descname"><span class="pre">Workflow</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">name</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">str</span></span></em>, <em cla [...]
 <dd><p>Bases: <a class="reference internal" href="#pydolphinscheduler.models.Base" title="pydolphinscheduler.models.base.Base"><code class="xref py py-class docutils literal notranslate"><span class="pre">Base</span></code></a></p>
 <p>Workflow object, will define workflow attribute, task, relation.</p>
 <p>TODO: maybe we should rename this class, currently use DS object name.</p>
@@ -1865,12 +1864,12 @@ for now, and schedule run will coming soon.
 
 <dl class="py attribute">
 <dt class="sig sig-object py" id="pydolphinscheduler.core.Workflow._DEFINE_ATTR">
-<span class="sig-name descname"><span class="pre">_DEFINE_ATTR</span></span><em class="property"><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="pre">set</span></em><em class="property"><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="pre">{'_project',</span> <span class="pre">'_tenant',</span> <span class="pre">'description',</span> <span class="pre">'execution_type',</span> <span class="p [...]
+<span class="sig-name descname"><span class="pre">_DEFINE_ATTR</span></span><em class="property"><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="pre">set</span></em><em class="property"><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="pre">{'_project',</span> <span class="pre">'description',</span> <span class="pre">'execution_type',</span> <span class="pre">'name',</span> <span class="pre" [...]
 <dd></dd></dl>
 
 <dl class="py attribute">
 <dt class="sig sig-object py" id="pydolphinscheduler.core.Workflow._KEY_ATTR">
-<span class="sig-name descname"><span class="pre">_KEY_ATTR</span></span><em class="property"><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="pre">set</span></em><em class="property"><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="pre">{'name',</span> <span class="pre">'param',</span> <span class="pre">'project',</span> <span class="pre">'release_state',</span> <span class="pre">'tenant'}< [...]
+<span class="sig-name descname"><span class="pre">_KEY_ATTR</span></span><em class="property"><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="pre">set</span></em><em class="property"><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="pre">{'name',</span> <span class="pre">'param',</span> <span class="pre">'project',</span> <span class="pre">'release_state'}</span></em><a class="headerlink" hr [...]
 <dd></dd></dl>
 
 <dl class="py property">
@@ -1933,12 +1932,6 @@ for now, and schedule run will coming soon.
 <dd><p>Return all relation between tasks pair in list of dict.</p>
 </dd></dl>
 
-<dl class="py property">
-<dt class="sig sig-object py" id="pydolphinscheduler.core.Workflow.tenant">
-<em class="property"><span class="pre">property</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">tenant</span></span><em class="property"><span class="p"><span class="pre">:</span></span><span class="w"> </span><a class="reference internal" href="#pydolphinscheduler.models.Tenant" title="pydolphinscheduler.models.tenant.Tenant"><span class="pre">Tenant</span></a></em><a class="headerlink" href="#pydolphinscheduler.core.Workflow.tenant" title="Permalink [...]
-<dd><p>Get attribute tenant.</p>
-</dd></dl>
-
 <dl class="py property">
 <dt class="sig sig-object py" id="pydolphinscheduler.core.Workflow.user">
 <em class="property"><span class="pre">property</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">user</span></span><em class="property"><span class="p"><span class="pre">:</span></span><span class="w"> </span><a class="reference internal" href="#pydolphinscheduler.models.User" title="pydolphinscheduler.models.user.User"><span class="pre">User</span></a></em><a class="headerlink" href="#pydolphinscheduler.core.Workflow.user" title="Permalink to this def [...]
diff --git a/python/main/changelog.html b/python/main/changelog.html
index 813ab9e01d..5f910a58b0 100644
--- a/python/main/changelog.html
+++ b/python/main/changelog.html
@@ -53,7 +53,10 @@
 <li class="toctree-l1"><a class="reference internal" href="config.html">Configuration</a></li>
 <li class="toctree-l1"><a class="reference internal" href="api.html">API</a></li>
 <li class="toctree-l1"><a class="reference internal" href="resources_plugin/index.html">Resources_plugin</a></li>
-<li class="toctree-l1 current"><a class="current reference internal" href="#">Changelog</a></li>
+<li class="toctree-l1 current"><a class="current reference internal" href="#">Changelog</a><ul>
+<li class="toctree-l2"><a class="reference internal" href="#release-4-0-0">4.0.0</a></li>
+</ul>
+</li>
 </ul>
 
         </div>
@@ -82,6 +85,56 @@
              
   <section id="changelog">
 <h1>Changelog<a class="headerlink" href="#changelog" title="Permalink to this heading"></a></h1>
+<section id="release-4-0-0">
+<h2>4.0.0<a class="headerlink" href="#release-4-0-0" title="Permalink to this heading"></a></h2>
+<p><em>Released on 2022-12-16 - <a class="reference external" href="https://github.com/apache/dolphinscheduler-sdk-python/releases/tag/4.0.0">GitHub</a> - <a class="reference external" href="https://pypi.org/project/apache-dolphinscheduler/4.0.0/">PyPI</a></em></p>
+<h2>What's Changed</h2>
+<h3>Feature</h3>
+<ul>
+<li>[feat] Add execute type to workflow by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/zhongjiajie/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/zhongjiajie">@zhongjiajie</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1441834280" data-permission-text="Title is private" data-url="https://github.com/apache/dolphinscheduler-sdk-python/i [...]
+<li>[feat] Add token as authentication for python gateway by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/zhongjiajie/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/zhongjiajie">@zhongjiajie</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1447778238" data-permission-text="Title is private" data-url="https://github.com/apache/dolphinsche [...]
+<li>[feat][task] Support Kubernetes task by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/tuchg/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/tuchg">@tuchg</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1449325064" data-permission-text="Title is private" data-url="https://github.com/apache/dolphinscheduler-sdk-python/issues/15" data-ho [...]
+<li>[feat] Mark workflow timeout as type timedelta by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/zhongjiajie/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/zhongjiajie">@zhongjiajie</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1491984883" data-permission-text="Title is private" data-url="https://github.com/apache/dolphinscheduler-s [...]
+<li>[feat] Add changelog to our documentation by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/zhongjiajie/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/zhongjiajie">@zhongjiajie</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1499473148" data-permission-text="Title is private" data-url="https://github.com/apache/dolphinscheduler-sdk-py [...]
+<li>[feat] Version check for dolphinscheduler main package by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/zhongjiajie/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/zhongjiajie">@zhongjiajie</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1499787490" data-permission-text="Title is private" data-url="https://github.com/apache/dolphinsch [...]
+</ul>
+<h3>Improve</h3>
+<ul>
+<li>[impv] Only create one connect for single workflow submit by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/zhongjiajie/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/zhongjiajie">@zhongjiajie</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1449363317" data-permission-text="Title is private" data-url="https://github.com/apache/dolphin [...]
+<li>[impv] Do not warnings in dev version by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/zhongjiajie/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/zhongjiajie">@zhongjiajie</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1466364957" data-permission-text="Title is private" data-url="https://github.com/apache/dolphinscheduler-sdk-python [...]
+<li>[impv] Add option param for workflow and task by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/zhongjiajie/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/zhongjiajie">@zhongjiajie</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1495975453" data-permission-text="Title is private" data-url="https://github.com/apache/dolphinscheduler-sd [...]
+<li>[Test] Optimize the test cases in the task plugin by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/jieguangzhou/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/jieguangzhou">@jieguangzhou</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1499783137" data-permission-text="Title is private" data-url="https://github.com/apache/dolphinsched [...]
+</ul>
+<h3>Bugfix</h3>
+<ul>
+<li>[fix] Resource upload and add document by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/zhongjiajie/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/zhongjiajie">@zhongjiajie</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1467972873" data-permission-text="Title is private" data-url="https://github.com/apache/dolphinscheduler-sdk-pytho [...]
+<li>[fix] Resource upload in dev branch by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/zhongjiajie/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/zhongjiajie">@zhongjiajie</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1467852699" data-permission-text="Title is private" data-url="https://github.com/apache/dolphinscheduler-sdk-python/i [...]
+</ul>
+<h3>Document</h3>
+<ul>
+<li>[doc] Add history and version compatibility by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/zhongjiajie/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/zhongjiajie">@zhongjiajie</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1451253539" data-permission-text="Title is private" data-url="https://github.com/apache/dolphinscheduler-sdk- [...]
+</ul>
+<h3>Chore</h3>
+<ul>
+<li>[chore] Migrate code from main repo apache/dolphinscheduler by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/zhongjiajie/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/zhongjiajie">@zhongjiajie</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1438209999" data-permission-text="Title is private" data-url="https://github.com/apache/dolph [...]
+<li>[ci] Add mergeable and enable github issue by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/zhongjiajie/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/zhongjiajie">@zhongjiajie</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1441888142" data-permission-text="Title is private" data-url="https://github.com/apache/dolphinscheduler-sdk-p [...]
+<li>[chore] Improve CI and fix deadlink by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/zhongjiajie/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/zhongjiajie">@zhongjiajie</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1443311273" data-permission-text="Title is private" data-url="https://github.com/apache/dolphinscheduler-sdk-python/i [...]
+<li>[chore] Enabled delete branch after merged by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/zhongjiajie/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/zhongjiajie">@zhongjiajie</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1449395619" data-permission-text="Title is private" data-url="https://github.com/apache/dolphinscheduler-sdk-p [...]
+<li>[chore] Change class name from process definition to workflow by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/zhongjiajie/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/zhongjiajie">@zhongjiajie</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1450954432" data-permission-text="Title is private" data-url="https://github.com/apache/dol [...]
+<li>[ci] Avoid schedule event upload too many files to codecov by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/zhongjiajie/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/zhongjiajie">@zhongjiajie</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1463969065" data-permission-text="Title is private" data-url="https://github.com/apache/dolphi [...]
+<li>[chore] Change integrate test behavior and add some doc by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/zhongjiajie/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/zhongjiajie">@zhongjiajie</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1464013326" data-permission-text="Title is private" data-url="https://github.com/apache/dolphinsc [...]
+<li>[chore] CI python version form 3.11-dev to 3.11 by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/zhongjiajie/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/zhongjiajie">@zhongjiajie</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1464132976" data-permission-text="Title is private" data-url="https://github.com/apache/dolphinscheduler- [...]
+<li>[chore] Correct badge license and change download to pypy.tech by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/zhongjiajie/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/zhongjiajie">@zhongjiajie</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1464361058" data-permission-text="Title is private" data-url="https://github.com/apache/do [...]
+<li>[chore] Fix ubuntu-latest can not setup python in github action by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/zhongjiajie/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/zhongjiajie">@zhongjiajie</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1476011180" data-permission-text="Title is private" data-url="https://github.com/apache/d [...]
+<li>[chore] Change website link by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/zhongjiajie/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/zhongjiajie">@zhongjiajie</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1483509640" data-permission-text="Title is private" data-url="https://github.com/apache/dolphinscheduler-sdk-python/issues/39 [...]
+<li>[chore] Change workflow instance name from pd by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/zhongjiajie/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/zhongjiajie">@zhongjiajie</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1493112074" data-permission-text="Title is private" data-url="https://github.com/apache/dolphinscheduler-sd [...]
+</ul>
+<h2>New Contributors</h2>
+<ul>
+<li><a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/tuchg/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/tuchg">@tuchg</a> made their first contribution in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1449325064" data-permission-text="Title is private" data-url="https://github.com/apache/dolphinscheduler-sdk-python/issues/15" data-hovercard-ty [...]
+<li><a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/jieguangzhou/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/jieguangzhou">@jieguangzhou</a> made their first contribution in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1499783137" data-permission-text="Title is private" data-url="https://github.com/apache/dolphinscheduler-sdk-python/issues/ [...]
+</ul>
+<p><strong>Full Changelog</strong>: <a class="commit-link" href="https://github.com/apache/dolphinscheduler-sdk-python/compare/3.1.0...4.0.0"><tt>3.1.0...4.0.0</tt></a></p></section>
 </section>
 
 
diff --git a/python/main/concept.html b/python/main/concept.html
index 7577d3cf60..3d073afa6d 100644
--- a/python/main/concept.html
+++ b/python/main/concept.html
@@ -148,9 +148,10 @@ asterisks expression, and each of the meaning of position as below</p>
 </section>
 <section id="tenant">
 <h3>Tenant<a class="headerlink" href="#tenant" title="Permalink to this heading"></a></h3>
-<p>Tenant is the user who run task command in machine or in virtual machine. it could be assign by simple string.</p>
-<div class="highlight-python notranslate"><div class="highlight"><pre><span></span><span class="c1">#</span>
-<span class="n">workflow</span> <span class="o">=</span> <span class="n">Workflow</span><span class="p">(</span><span class="n">name</span><span class="o">=</span><span class="s2">&quot;workflow tenant&quot;</span><span class="p">,</span> <span class="n">tenant</span><span class="o">=</span><span class="s2">&quot;tenant_exists&quot;</span><span class="p">)</span>
+<p>Tenant is the user who run task command in machine or in virtual machine. it could be assign by simple string.
+You should change the tenant value to exists tenant in your host, it config in <cite>config.yaml</cite> in your pydolphinscheduler
+<code class="docutils literal notranslate"><span class="pre">PYDS_HOME</span></code>, or via <a class="reference internal" href="cli.html"><span class="doc">CLI</span></a></p>
+<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>pydolphinscheduler config --set default.user.tenant &lt;YOUR-TENANT-NAME&gt;
 </pre></div>
 </div>
 <div class="admonition note">
diff --git a/python/main/config.html b/python/main/config.html
index c938f08a30..6888d04076 100644
--- a/python/main/config.html
+++ b/python/main/config.html
@@ -190,32 +190,29 @@ method next to <code class="docutils literal notranslate"><span class="pre">os.e
 <tr class="row-even"><td><p><code class="docutils literal notranslate"><span class="pre">PYDS_USER_STATE</span></code></p></td>
 <td><p>Default user state, will use when user’s <code class="docutils literal notranslate"><span class="pre">state</span></code> when does not specify.</p></td>
 </tr>
-<tr class="row-odd"><td rowspan="9"><p>Default Workflow</p></td>
+<tr class="row-odd"><td rowspan="8"><p>Default Workflow</p></td>
 <td><p><code class="docutils literal notranslate"><span class="pre">PYDS_WORKFLOW_PROJECT</span></code></p></td>
 <td><p>Default workflow project name, will use its value when workflow does not specify the attribute <code class="docutils literal notranslate"><span class="pre">project</span></code>.</p></td>
 </tr>
-<tr class="row-even"><td><p><code class="docutils literal notranslate"><span class="pre">PYDS_WORKFLOW_TENANT</span></code></p></td>
-<td><p>Default workflow tenant, will use its value when workflow does not specify the attribute <code class="docutils literal notranslate"><span class="pre">tenant</span></code>.</p></td>
-</tr>
-<tr class="row-odd"><td><p><code class="docutils literal notranslate"><span class="pre">PYDS_WORKFLOW_USER</span></code></p></td>
+<tr class="row-even"><td><p><code class="docutils literal notranslate"><span class="pre">PYDS_WORKFLOW_USER</span></code></p></td>
 <td><p>Default workflow user, will use its value when workflow does not specify the attribute <code class="docutils literal notranslate"><span class="pre">user</span></code>.</p></td>
 </tr>
-<tr class="row-even"><td><p><code class="docutils literal notranslate"><span class="pre">PYDS_WORKFLOW_QUEUE</span></code></p></td>
+<tr class="row-odd"><td><p><code class="docutils literal notranslate"><span class="pre">PYDS_WORKFLOW_QUEUE</span></code></p></td>
 <td><p>Default workflow queue, will use its value when workflow does not specify the attribute <code class="docutils literal notranslate"><span class="pre">queue</span></code>.</p></td>
 </tr>
-<tr class="row-odd"><td><p><code class="docutils literal notranslate"><span class="pre">PYDS_WORKFLOW_WORKER_GROUP</span></code></p></td>
+<tr class="row-even"><td><p><code class="docutils literal notranslate"><span class="pre">PYDS_WORKFLOW_WORKER_GROUP</span></code></p></td>
 <td><p>Default workflow worker group, will use its value when workflow does not specify the attribute <code class="docutils literal notranslate"><span class="pre">worker_group</span></code>.</p></td>
 </tr>
-<tr class="row-even"><td><p><code class="docutils literal notranslate"><span class="pre">PYDS_WORKFLOW_RELEASE_STATE</span></code></p></td>
+<tr class="row-odd"><td><p><code class="docutils literal notranslate"><span class="pre">PYDS_WORKFLOW_RELEASE_STATE</span></code></p></td>
 <td><p>Default workflow release state, will use its value when workflow does not specify the attribute <code class="docutils literal notranslate"><span class="pre">release_state</span></code>.</p></td>
 </tr>
-<tr class="row-odd"><td><p><code class="docutils literal notranslate"><span class="pre">PYDS_WORKFLOW_TIME_ZONE</span></code></p></td>
+<tr class="row-even"><td><p><code class="docutils literal notranslate"><span class="pre">PYDS_WORKFLOW_TIME_ZONE</span></code></p></td>
 <td><p>Default workflow worker group, will use its value when workflow does not specify the attribute <code class="docutils literal notranslate"><span class="pre">timezone</span></code>.</p></td>
 </tr>
-<tr class="row-even"><td><p><code class="docutils literal notranslate"><span class="pre">PYDS_WORKFLOW_WARNING_TYPE</span></code></p></td>
+<tr class="row-odd"><td><p><code class="docutils literal notranslate"><span class="pre">PYDS_WORKFLOW_WARNING_TYPE</span></code></p></td>
 <td><p>Default workflow warning type, will use its value when workflow does not specify the attribute <code class="docutils literal notranslate"><span class="pre">warning_type</span></code>.</p></td>
 </tr>
-<tr class="row-odd"><td><p><code class="docutils literal notranslate"><span class="pre">PYDS_WORKFLOW_EXECUTION_TYPE</span></code></p></td>
+<tr class="row-even"><td><p><code class="docutils literal notranslate"><span class="pre">PYDS_WORKFLOW_EXECUTION_TYPE</span></code></p></td>
 <td><p>Default workflow execution type, will use its value when workflow does not specify the attribute <code class="docutils literal notranslate"><span class="pre">execution_type</span></code>.</p></td>
 </tr>
 </tbody>
@@ -328,7 +325,6 @@ pydolphinscheduler config --set java_gateway <span class="m">192</span>.168.1.1,
 <span class="w">  </span><span class="c1"># Default value for dolphinscheduler&#39;s workflow object</span><span class="w"></span>
 <span class="w">  </span><span class="nt">workflow</span><span class="p">:</span><span class="w"></span>
 <span class="w">    </span><span class="nt">project</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">project-pydolphin</span><span class="w"></span>
-<span class="w">    </span><span class="nt">tenant</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">tenant_pydolphin</span><span class="w"></span>
 <span class="w">    </span><span class="nt">user</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">userPythonGateway</span><span class="w"></span>
 <span class="w">    </span><span class="nt">queue</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">queuePythonGateway</span><span class="w"></span>
 <span class="w">    </span><span class="nt">worker_group</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">default</span><span class="w"></span>
diff --git a/python/main/genindex.html b/python/main/genindex.html
index 9688e18ef3..342f11afb5 100644
--- a/python/main/genindex.html
+++ b/python/main/genindex.html
@@ -3390,8 +3390,6 @@
       <li><a href="api.html#pydolphinscheduler.constants.TaskType">TaskType (class in pydolphinscheduler.constants)</a>
 </li>
       <li><a href="api.html#pydolphinscheduler.models.Tenant">Tenant (class in pydolphinscheduler.models)</a>
-</li>
-      <li><a href="api.html#pydolphinscheduler.core.Workflow.tenant">tenant (pydolphinscheduler.core.Workflow property)</a>
 </li>
       <li><a href="tasks/dependent.html#pydolphinscheduler.tasks.dependent.DependentDate.THIS_MONTH">THIS_MONTH (pydolphinscheduler.tasks.dependent.DependentDate attribute)</a>
 </li>
diff --git a/python/main/howto/multi-resources.html b/python/main/howto/multi-resources.html
index e9c86d791b..44ee457c7a 100644
--- a/python/main/howto/multi-resources.html
+++ b/python/main/howto/multi-resources.html
@@ -108,7 +108,6 @@ and in the real word.</p>
 
 <span class="k">with</span> <span class="n">Workflow</span><span class="p">(</span>
     <span class="n">name</span><span class="o">=</span><span class="s2">&quot;multi_resources_example&quot;</span><span class="p">,</span>
-    <span class="n">tenant</span><span class="o">=</span><span class="s2">&quot;tenant_exists&quot;</span><span class="p">,</span>
     <span class="c1"># [start create_new_resources]</span>
     <span class="n">resource_list</span><span class="o">=</span><span class="p">[</span>
         <span class="n">Resource</span><span class="p">(</span>
diff --git a/python/main/index.html b/python/main/index.html
index 55c4fc56c7..dbc0f470a3 100644
--- a/python/main/index.html
+++ b/python/main/index.html
@@ -254,7 +254,10 @@ then go and see <a class="reference internal" href="tutorial.html"><span class="
 <li class="toctree-l2"><a class="reference internal" href="resources_plugin/s3.html">S3</a></li>
 </ul>
 </li>
-<li class="toctree-l1"><a class="reference internal" href="changelog.html">Changelog</a></li>
+<li class="toctree-l1"><a class="reference internal" href="changelog.html">Changelog</a><ul>
+<li class="toctree-l2"><a class="reference internal" href="changelog.html#release-4-0-0">4.0.0</a></li>
+</ul>
+</li>
 </ul>
 </div>
 </section>
diff --git a/python/main/objects.inv b/python/main/objects.inv
index 09de0fa1de..3104ece3af 100644
Binary files a/python/main/objects.inv and b/python/main/objects.inv differ
diff --git a/python/main/resources_plugin/resource-plugin.html b/python/main/resources_plugin/resource-plugin.html
index 6e1e24759e..a2ca7de9b2 100644
--- a/python/main/resources_plugin/resource-plugin.html
+++ b/python/main/resources_plugin/resource-plugin.html
@@ -209,7 +209,6 @@ For example, local resource plugin, add <cite>resource_plugin = Local(“/tmp”
     <span class="n">name</span><span class="o">=</span><span class="s2">&quot;tutorial_resource_plugin&quot;</span><span class="p">,</span>
     <span class="n">schedule</span><span class="o">=</span><span class="s2">&quot;0 0 0 * * ? *&quot;</span><span class="p">,</span>
     <span class="n">start_time</span><span class="o">=</span><span class="s2">&quot;2021-01-01&quot;</span><span class="p">,</span>
-    <span class="n">tenant</span><span class="o">=</span><span class="s2">&quot;tenant_exists&quot;</span><span class="p">,</span>
     <span class="n">resource_plugin</span><span class="o">=</span><span class="n">Local</span><span class="p">(</span><span class="s2">&quot;/tmp&quot;</span><span class="p">),</span>
 <span class="p">)</span> <span class="k">as</span> <span class="n">workflow</span><span class="p">:</span>
     <span class="c1"># [end workflow_declare]</span>
diff --git a/python/main/searchindex.js b/python/main/searchindex.js
index ffab05dea8..85ced5ee80 100644
--- a/python/main/searchindex.js
+++ b/python/main/searchindex.js
@@ -1 +1 @@
-Search.setIndex({"docnames": ["api", "changelog", "cli", "concept", "config", "howto/index", "howto/multi-resources", "howto/remote-submit", "index", "resources_plugin/develop", "resources_plugin/github", "resources_plugin/gitlab", "resources_plugin/index", "resources_plugin/local", "resources_plugin/oss", "resources_plugin/resource-plugin", "resources_plugin/s3", "start", "tasks/condition", "tasks/datax", "tasks/dependent", "tasks/dvc", "tasks/flink", "tasks/func_wrap", "tasks/http", "t [...]
\ No newline at end of file
+Search.setIndex({"docnames": ["api", "changelog", "cli", "concept", "config", "howto/index", "howto/multi-resources", "howto/remote-submit", "index", "resources_plugin/develop", "resources_plugin/github", "resources_plugin/gitlab", "resources_plugin/index", "resources_plugin/local", "resources_plugin/oss", "resources_plugin/resource-plugin", "resources_plugin/s3", "start", "tasks/condition", "tasks/datax", "tasks/dependent", "tasks/dvc", "tasks/flink", "tasks/func_wrap", "tasks/http", "t [...]
\ No newline at end of file
diff --git a/python/main/tasks/condition.html b/python/main/tasks/condition.html
index 07a9b38d8c..cd54375073 100644
--- a/python/main/tasks/condition.html
+++ b/python/main/tasks/condition.html
@@ -142,7 +142,7 @@
 <span class="kn">from</span> <span class="nn">pydolphinscheduler.tasks.condition</span> <span class="kn">import</span> <span class="n">FAILURE</span><span class="p">,</span> <span class="n">SUCCESS</span><span class="p">,</span> <span class="n">And</span><span class="p">,</span> <span class="n">Condition</span>
 <span class="kn">from</span> <span class="nn">pydolphinscheduler.tasks.shell</span> <span class="kn">import</span> <span class="n">Shell</span>
 
-<span class="k">with</span> <span class="n">Workflow</span><span class="p">(</span><span class="n">name</span><span class="o">=</span><span class="s2">&quot;task_condition_example&quot;</span><span class="p">,</span> <span class="n">tenant</span><span class="o">=</span><span class="s2">&quot;tenant_exists&quot;</span><span class="p">)</span> <span class="k">as</span> <span class="n">workflow</span><span class="p">:</span>
+<span class="k">with</span> <span class="n">Workflow</span><span class="p">(</span><span class="n">name</span><span class="o">=</span><span class="s2">&quot;task_condition_example&quot;</span><span class="p">)</span> <span class="k">as</span> <span class="n">workflow</span><span class="p">:</span>
     <span class="n">pre_task_1</span> <span class="o">=</span> <span class="n">Shell</span><span class="p">(</span><span class="n">name</span><span class="o">=</span><span class="s2">&quot;pre_task_1&quot;</span><span class="p">,</span> <span class="n">command</span><span class="o">=</span><span class="s2">&quot;echo pre_task_1&quot;</span><span class="p">)</span>
     <span class="n">pre_task_2</span> <span class="o">=</span> <span class="n">Shell</span><span class="p">(</span><span class="n">name</span><span class="o">=</span><span class="s2">&quot;pre_task_2&quot;</span><span class="p">,</span> <span class="n">command</span><span class="o">=</span><span class="s2">&quot;echo pre_task_2&quot;</span><span class="p">)</span>
     <span class="n">pre_task_3</span> <span class="o">=</span> <span class="n">Shell</span><span class="p">(</span><span class="n">name</span><span class="o">=</span><span class="s2">&quot;pre_task_3&quot;</span><span class="p">,</span> <span class="n">command</span><span class="o">=</span><span class="s2">&quot;echo pre_task_3&quot;</span><span class="p">)</span>
diff --git a/python/main/tasks/datax.html b/python/main/tasks/datax.html
index 6f096a207c..47ee3b6d56 100644
--- a/python/main/tasks/datax.html
+++ b/python/main/tasks/datax.html
@@ -176,7 +176,6 @@
 
 <span class="k">with</span> <span class="n">Workflow</span><span class="p">(</span>
     <span class="n">name</span><span class="o">=</span><span class="s2">&quot;task_datax_example&quot;</span><span class="p">,</span>
-    <span class="n">tenant</span><span class="o">=</span><span class="s2">&quot;tenant_exists&quot;</span><span class="p">,</span>
 <span class="p">)</span> <span class="k">as</span> <span class="n">workflow</span><span class="p">:</span>
     <span class="c1"># This task synchronizes the data in `t_ds_project`</span>
     <span class="c1"># of `first_mysql` database to `target_project` of `second_mysql` database.</span>
diff --git a/python/main/tasks/dependent.html b/python/main/tasks/dependent.html
index 3389d86bf7..a181a81be3 100644
--- a/python/main/tasks/dependent.html
+++ b/python/main/tasks/dependent.html
@@ -148,7 +148,6 @@
 
 <span class="k">with</span> <span class="n">Workflow</span><span class="p">(</span>
     <span class="n">name</span><span class="o">=</span><span class="s2">&quot;task_dependent_external&quot;</span><span class="p">,</span>
-    <span class="n">tenant</span><span class="o">=</span><span class="s2">&quot;tenant_exists&quot;</span><span class="p">,</span>
 <span class="p">)</span> <span class="k">as</span> <span class="n">workflow</span><span class="p">:</span>
     <span class="n">task_1</span> <span class="o">=</span> <span class="n">Shell</span><span class="p">(</span><span class="n">name</span><span class="o">=</span><span class="s2">&quot;task_1&quot;</span><span class="p">,</span> <span class="n">command</span><span class="o">=</span><span class="s2">&quot;echo task 1&quot;</span><span class="p">)</span>
     <span class="n">task_2</span> <span class="o">=</span> <span class="n">Shell</span><span class="p">(</span><span class="n">name</span><span class="o">=</span><span class="s2">&quot;task_2&quot;</span><span class="p">,</span> <span class="n">command</span><span class="o">=</span><span class="s2">&quot;echo task 2&quot;</span><span class="p">)</span>
@@ -157,7 +156,6 @@
 
 <span class="k">with</span> <span class="n">Workflow</span><span class="p">(</span>
     <span class="n">name</span><span class="o">=</span><span class="s2">&quot;task_dependent_example&quot;</span><span class="p">,</span>
-    <span class="n">tenant</span><span class="o">=</span><span class="s2">&quot;tenant_exists&quot;</span><span class="p">,</span>
 <span class="p">)</span> <span class="k">as</span> <span class="n">workflow</span><span class="p">:</span>
     <span class="n">task</span> <span class="o">=</span> <span class="n">Dependent</span><span class="p">(</span>
         <span class="n">name</span><span class="o">=</span><span class="s2">&quot;task_dependent&quot;</span><span class="p">,</span>
diff --git a/python/main/tasks/dvc.html b/python/main/tasks/dvc.html
index 62decfd886..25d8394ceb 100644
--- a/python/main/tasks/dvc.html
+++ b/python/main/tasks/dvc.html
@@ -130,7 +130,6 @@
 
 <span class="k">with</span> <span class="n">Workflow</span><span class="p">(</span>
     <span class="n">name</span><span class="o">=</span><span class="s2">&quot;task_dvc_example&quot;</span><span class="p">,</span>
-    <span class="n">tenant</span><span class="o">=</span><span class="s2">&quot;tenant_exists&quot;</span><span class="p">,</span>
 <span class="p">)</span> <span class="k">as</span> <span class="n">workflow</span><span class="p">:</span>
     <span class="n">init_task</span> <span class="o">=</span> <span class="n">DVCInit</span><span class="p">(</span><span class="n">name</span><span class="o">=</span><span class="s2">&quot;init_dvc&quot;</span><span class="p">,</span> <span class="n">repository</span><span class="o">=</span><span class="n">repository</span><span class="p">,</span> <span class="n">store_url</span><span class="o">=</span><span class="s2">&quot;~/dvc_data&quot;</span><span class="p">)</span>
     <span class="n">upload_task</span> <span class="o">=</span> <span class="n">DVCUpload</span><span class="p">(</span>
diff --git a/python/main/tasks/flink.html b/python/main/tasks/flink.html
index e0ca521c45..353e0061e5 100644
--- a/python/main/tasks/flink.html
+++ b/python/main/tasks/flink.html
@@ -124,7 +124,7 @@
 <span class="kn">from</span> <span class="nn">pydolphinscheduler.core.workflow</span> <span class="kn">import</span> <span class="n">Workflow</span>
 <span class="kn">from</span> <span class="nn">pydolphinscheduler.tasks.flink</span> <span class="kn">import</span> <span class="n">DeployMode</span><span class="p">,</span> <span class="n">Flink</span><span class="p">,</span> <span class="n">ProgramType</span>
 
-<span class="k">with</span> <span class="n">Workflow</span><span class="p">(</span><span class="n">name</span><span class="o">=</span><span class="s2">&quot;task_flink_example&quot;</span><span class="p">,</span> <span class="n">tenant</span><span class="o">=</span><span class="s2">&quot;tenant_exists&quot;</span><span class="p">)</span> <span class="k">as</span> <span class="n">workflow</span><span class="p">:</span>
+<span class="k">with</span> <span class="n">Workflow</span><span class="p">(</span><span class="n">name</span><span class="o">=</span><span class="s2">&quot;task_flink_example&quot;</span><span class="p">)</span> <span class="k">as</span> <span class="n">workflow</span><span class="p">:</span>
     <span class="n">task</span> <span class="o">=</span> <span class="n">Flink</span><span class="p">(</span>
         <span class="n">name</span><span class="o">=</span><span class="s2">&quot;task_flink&quot;</span><span class="p">,</span>
         <span class="n">main_class</span><span class="o">=</span><span class="s2">&quot;org.apache.flink.streaming.examples.wordcount.WordCount&quot;</span><span class="p">,</span>
diff --git a/python/main/tasks/func_wrap.html b/python/main/tasks/func_wrap.html
index 05aa448321..28f2d1a685 100644
--- a/python/main/tasks/func_wrap.html
+++ b/python/main/tasks/func_wrap.html
@@ -160,7 +160,6 @@
     <span class="n">name</span><span class="o">=</span><span class="s2">&quot;tutorial_decorator&quot;</span><span class="p">,</span>
     <span class="n">schedule</span><span class="o">=</span><span class="s2">&quot;0 0 0 * * ? *&quot;</span><span class="p">,</span>
     <span class="n">start_time</span><span class="o">=</span><span class="s2">&quot;2021-01-01&quot;</span><span class="p">,</span>
-    <span class="n">tenant</span><span class="o">=</span><span class="s2">&quot;tenant_exists&quot;</span><span class="p">,</span>
 <span class="p">)</span> <span class="k">as</span> <span class="n">workflow</span><span class="p">:</span>
     <span class="c1"># [end workflow_declare]</span>
 
diff --git a/python/main/tasks/kubernetes.html b/python/main/tasks/kubernetes.html
index 0c13ca2a8f..3a5dca90f3 100644
--- a/python/main/tasks/kubernetes.html
+++ b/python/main/tasks/kubernetes.html
@@ -124,7 +124,6 @@
 
 <span class="k">with</span> <span class="n">Workflow</span><span class="p">(</span>
     <span class="n">name</span><span class="o">=</span><span class="s2">&quot;task_kubernetes_example&quot;</span><span class="p">,</span>
-    <span class="n">tenant</span><span class="o">=</span><span class="s2">&quot;tenant_exists&quot;</span><span class="p">,</span>
 <span class="p">)</span> <span class="k">as</span> <span class="n">workflow</span><span class="p">:</span>
     <span class="n">task_k8s</span> <span class="o">=</span> <span class="n">Kubernetes</span><span class="p">(</span>
         <span class="n">name</span><span class="o">=</span><span class="s2">&quot;task_k8s&quot;</span><span class="p">,</span>
diff --git a/python/main/tasks/map_reduce.html b/python/main/tasks/map_reduce.html
index de69e81a25..c4653cc681 100644
--- a/python/main/tasks/map_reduce.html
+++ b/python/main/tasks/map_reduce.html
@@ -123,7 +123,7 @@
 <span class="kn">from</span> <span class="nn">pydolphinscheduler.core.workflow</span> <span class="kn">import</span> <span class="n">Workflow</span>
 <span class="kn">from</span> <span class="nn">pydolphinscheduler.tasks.map_reduce</span> <span class="kn">import</span> <span class="n">MR</span>
 
-<span class="k">with</span> <span class="n">Workflow</span><span class="p">(</span><span class="n">name</span><span class="o">=</span><span class="s2">&quot;task_map_reduce_example&quot;</span><span class="p">,</span> <span class="n">tenant</span><span class="o">=</span><span class="s2">&quot;tenant_exists&quot;</span><span class="p">)</span> <span class="k">as</span> <span class="n">workflow</span><span class="p">:</span>
+<span class="k">with</span> <span class="n">Workflow</span><span class="p">(</span><span class="n">name</span><span class="o">=</span><span class="s2">&quot;task_map_reduce_example&quot;</span><span class="p">)</span> <span class="k">as</span> <span class="n">workflow</span><span class="p">:</span>
     <span class="n">task</span> <span class="o">=</span> <span class="n">MR</span><span class="p">(</span>
         <span class="n">name</span><span class="o">=</span><span class="s2">&quot;task_mr&quot;</span><span class="p">,</span>
         <span class="n">main_class</span><span class="o">=</span><span class="s2">&quot;wordcount&quot;</span><span class="p">,</span>
diff --git a/python/main/tasks/mlflow.html b/python/main/tasks/mlflow.html
index 690a88a82e..5a9b642cec 100644
--- a/python/main/tasks/mlflow.html
+++ b/python/main/tasks/mlflow.html
@@ -139,7 +139,6 @@
 
 <span class="k">with</span> <span class="n">Workflow</span><span class="p">(</span>
     <span class="n">name</span><span class="o">=</span><span class="s2">&quot;task_mlflow_example&quot;</span><span class="p">,</span>
-    <span class="n">tenant</span><span class="o">=</span><span class="s2">&quot;tenant_exists&quot;</span><span class="p">,</span>
 <span class="p">)</span> <span class="k">as</span> <span class="n">workflow</span><span class="p">:</span>
 
     <span class="c1"># run custom mlflow project to train model</span>
diff --git a/python/main/tasks/openmldb.html b/python/main/tasks/openmldb.html
index 97d281e50b..f8c44e1e5b 100644
--- a/python/main/tasks/openmldb.html
+++ b/python/main/tasks/openmldb.html
@@ -130,7 +130,6 @@
 
 <span class="k">with</span> <span class="n">Workflow</span><span class="p">(</span>
     <span class="n">name</span><span class="o">=</span><span class="s2">&quot;task_openmldb_example&quot;</span><span class="p">,</span>
-    <span class="n">tenant</span><span class="o">=</span><span class="s2">&quot;tenant_exists&quot;</span><span class="p">,</span>
 <span class="p">)</span> <span class="k">as</span> <span class="n">workflow</span><span class="p">:</span>
     <span class="n">task_openmldb</span> <span class="o">=</span> <span class="n">OpenMLDB</span><span class="p">(</span>
         <span class="n">name</span><span class="o">=</span><span class="s2">&quot;task_openmldb&quot;</span><span class="p">,</span>
diff --git a/python/main/tasks/pytorch.html b/python/main/tasks/pytorch.html
index 6626030b16..310083b28c 100644
--- a/python/main/tasks/pytorch.html
+++ b/python/main/tasks/pytorch.html
@@ -125,7 +125,6 @@
 
 <span class="k">with</span> <span class="n">Workflow</span><span class="p">(</span>
     <span class="n">name</span><span class="o">=</span><span class="s2">&quot;task_pytorch_example&quot;</span><span class="p">,</span>
-    <span class="n">tenant</span><span class="o">=</span><span class="s2">&quot;tenant_exists&quot;</span><span class="p">,</span>
 <span class="p">)</span> <span class="k">as</span> <span class="n">workflow</span><span class="p">:</span>
 
     <span class="c1"># run project with existing environment</span>
diff --git a/python/main/tasks/sagemaker.html b/python/main/tasks/sagemaker.html
index f62bf44d9a..9788bad47e 100644
--- a/python/main/tasks/sagemaker.html
+++ b/python/main/tasks/sagemaker.html
@@ -136,7 +136,6 @@
 
 <span class="k">with</span> <span class="n">Workflow</span><span class="p">(</span>
     <span class="n">name</span><span class="o">=</span><span class="s2">&quot;task_sagemaker_example&quot;</span><span class="p">,</span>
-    <span class="n">tenant</span><span class="o">=</span><span class="s2">&quot;tenant_exists&quot;</span><span class="p">,</span>
 <span class="p">)</span> <span class="k">as</span> <span class="n">workflow</span><span class="p">:</span>
     <span class="n">task_sagemaker</span> <span class="o">=</span> <span class="n">SageMaker</span><span class="p">(</span>
         <span class="n">name</span><span class="o">=</span><span class="s2">&quot;task_sagemaker&quot;</span><span class="p">,</span>
diff --git a/python/main/tasks/shell.html b/python/main/tasks/shell.html
index 6bc8f45a8d..3980a94f47 100644
--- a/python/main/tasks/shell.html
+++ b/python/main/tasks/shell.html
@@ -121,7 +121,6 @@
     <span class="n">name</span><span class="o">=</span><span class="s2">&quot;tutorial&quot;</span><span class="p">,</span>
     <span class="n">schedule</span><span class="o">=</span><span class="s2">&quot;0 0 0 * * ? *&quot;</span><span class="p">,</span>
     <span class="n">start_time</span><span class="o">=</span><span class="s2">&quot;2021-01-01&quot;</span><span class="p">,</span>
-    <span class="n">tenant</span><span class="o">=</span><span class="s2">&quot;tenant_exists&quot;</span><span class="p">,</span>
 <span class="p">)</span> <span class="k">as</span> <span class="n">workflow</span><span class="p">:</span>
     <span class="c1"># [end workflow_declare]</span>
     <span class="c1"># [start task_declare]</span>
diff --git a/python/main/tasks/spark.html b/python/main/tasks/spark.html
index afa9e36e7c..ba897e5cf1 100644
--- a/python/main/tasks/spark.html
+++ b/python/main/tasks/spark.html
@@ -123,7 +123,7 @@
 <span class="kn">from</span> <span class="nn">pydolphinscheduler.core.workflow</span> <span class="kn">import</span> <span class="n">Workflow</span>
 <span class="kn">from</span> <span class="nn">pydolphinscheduler.tasks.spark</span> <span class="kn">import</span> <span class="n">DeployMode</span><span class="p">,</span> <span class="n">ProgramType</span><span class="p">,</span> <span class="n">Spark</span>
 
-<span class="k">with</span> <span class="n">Workflow</span><span class="p">(</span><span class="n">name</span><span class="o">=</span><span class="s2">&quot;task_spark_example&quot;</span><span class="p">,</span> <span class="n">tenant</span><span class="o">=</span><span class="s2">&quot;tenant_exists&quot;</span><span class="p">)</span> <span class="k">as</span> <span class="n">workflow</span><span class="p">:</span>
+<span class="k">with</span> <span class="n">Workflow</span><span class="p">(</span><span class="n">name</span><span class="o">=</span><span class="s2">&quot;task_spark_example&quot;</span><span class="p">)</span> <span class="k">as</span> <span class="n">workflow</span><span class="p">:</span>
     <span class="n">task</span> <span class="o">=</span> <span class="n">Spark</span><span class="p">(</span>
         <span class="n">name</span><span class="o">=</span><span class="s2">&quot;task_spark&quot;</span><span class="p">,</span>
         <span class="n">main_class</span><span class="o">=</span><span class="s2">&quot;org.apache.spark.examples.SparkPi&quot;</span><span class="p">,</span>
diff --git a/python/main/tasks/switch.html b/python/main/tasks/switch.html
index a8c7d36a62..9bb7c8832f 100644
--- a/python/main/tasks/switch.html
+++ b/python/main/tasks/switch.html
@@ -139,9 +139,7 @@
 <span class="kn">from</span> <span class="nn">pydolphinscheduler.tasks.shell</span> <span class="kn">import</span> <span class="n">Shell</span>
 <span class="kn">from</span> <span class="nn">pydolphinscheduler.tasks.switch</span> <span class="kn">import</span> <span class="n">Branch</span><span class="p">,</span> <span class="n">Default</span><span class="p">,</span> <span class="n">Switch</span><span class="p">,</span> <span class="n">SwitchCondition</span>
 
-<span class="k">with</span> <span class="n">Workflow</span><span class="p">(</span>
-    <span class="n">name</span><span class="o">=</span><span class="s2">&quot;task_switch_example&quot;</span><span class="p">,</span> <span class="n">tenant</span><span class="o">=</span><span class="s2">&quot;tenant_exists&quot;</span><span class="p">,</span> <span class="n">param</span><span class="o">=</span><span class="p">{</span><span class="s2">&quot;var&quot;</span><span class="p">:</span> <span class="s2">&quot;1&quot;</span><span class="p">}</span>
-<span class="p">)</span> <span class="k">as</span> <span class="n">workflow</span><span class="p">:</span>
+<span class="k">with</span> <span class="n">Workflow</span><span class="p">(</span><span class="n">name</span><span class="o">=</span><span class="s2">&quot;task_switch_example&quot;</span><span class="p">,</span> <span class="n">param</span><span class="o">=</span><span class="p">{</span><span class="s2">&quot;var&quot;</span><span class="p">:</span> <span class="s2">&quot;1&quot;</span><span class="p">})</span> <span class="k">as</span> <span class="n">workflow</span><span class="p">:</span>
     <span class="n">parent</span> <span class="o">=</span> <span class="n">Shell</span><span class="p">(</span><span class="n">name</span><span class="o">=</span><span class="s2">&quot;parent&quot;</span><span class="p">,</span> <span class="n">command</span><span class="o">=</span><span class="s2">&quot;echo parent&quot;</span><span class="p">)</span>
     <span class="n">switch_child_1</span> <span class="o">=</span> <span class="n">Shell</span><span class="p">(</span><span class="n">name</span><span class="o">=</span><span class="s2">&quot;switch_child_1&quot;</span><span class="p">,</span> <span class="n">command</span><span class="o">=</span><span class="s2">&quot;echo switch_child_1&quot;</span><span class="p">)</span>
     <span class="n">switch_child_2</span> <span class="o">=</span> <span class="n">Shell</span><span class="p">(</span><span class="n">name</span><span class="o">=</span><span class="s2">&quot;switch_child_2&quot;</span><span class="p">,</span> <span class="n">command</span><span class="o">=</span><span class="s2">&quot;echo switch_child_2&quot;</span><span class="p">)</span>
diff --git a/python/main/tutorial.html b/python/main/tutorial.html
index c522fcc95a..ebe2c37126 100644
--- a/python/main/tutorial.html
+++ b/python/main/tutorial.html
@@ -128,7 +128,6 @@ We can find more YAML file examples in <a class="reference external" href="https
     <span class="n">name</span><span class="o">=</span><span class="s2">&quot;tutorial&quot;</span><span class="p">,</span>
     <span class="n">schedule</span><span class="o">=</span><span class="s2">&quot;0 0 0 * * ? *&quot;</span><span class="p">,</span>
     <span class="n">start_time</span><span class="o">=</span><span class="s2">&quot;2021-01-01&quot;</span><span class="p">,</span>
-    <span class="n">tenant</span><span class="o">=</span><span class="s2">&quot;tenant_exists&quot;</span><span class="p">,</span>
 <span class="p">)</span> <span class="k">as</span> <span class="n">workflow</span><span class="p">:</span>
     <span class="c1"># [end workflow_declare]</span>
     <span class="c1"># [start task_declare]</span>
@@ -195,7 +194,6 @@ We can find more YAML file examples in <a class="reference external" href="https
     <span class="n">name</span><span class="o">=</span><span class="s2">&quot;tutorial_decorator&quot;</span><span class="p">,</span>
     <span class="n">schedule</span><span class="o">=</span><span class="s2">&quot;0 0 0 * * ? *&quot;</span><span class="p">,</span>
     <span class="n">start_time</span><span class="o">=</span><span class="s2">&quot;2021-01-01&quot;</span><span class="p">,</span>
-    <span class="n">tenant</span><span class="o">=</span><span class="s2">&quot;tenant_exists&quot;</span><span class="p">,</span>
 <span class="p">)</span> <span class="k">as</span> <span class="n">workflow</span><span class="p">:</span>
     <span class="c1"># [end workflow_declare]</span>
 
@@ -218,7 +216,6 @@ We can find more YAML file examples in <a class="reference external" href="https
 <span class="w">  </span><span class="nt">name</span><span class="p">:</span><span class="w"> </span><span class="s">&quot;tutorial&quot;</span><span class="w"></span>
 <span class="w">  </span><span class="nt">schedule</span><span class="p">:</span><span class="w"> </span><span class="s">&quot;0</span><span class="nv"> </span><span class="s">0</span><span class="nv"> </span><span class="s">0</span><span class="nv"> </span><span class="s">*</span><span class="nv"> </span><span class="s">*</span><span class="nv"> </span><span class="s">?</span><span class="nv"> </span><span class="s">*&quot;</span><span class="w"></span>
 <span class="w">  </span><span class="nt">start_time</span><span class="p">:</span><span class="w"> </span><span class="s">&quot;2021-01-01&quot;</span><span class="w"></span>
-<span class="w">  </span><span class="nt">tenant</span><span class="p">:</span><span class="w"> </span><span class="s">&quot;tenant_exists&quot;</span><span class="w"></span>
 <span class="w">  </span><span class="nt">release_state</span><span class="p">:</span><span class="w"> </span><span class="s">&quot;offline&quot;</span><span class="w"></span>
 <span class="w">  </span><span class="nt">run</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">true</span><span class="w"></span>
 
@@ -293,7 +290,6 @@ will be running this task in the DolphinScheduler worker. See <a class="referenc
     <span class="n">name</span><span class="o">=</span><span class="s2">&quot;tutorial&quot;</span><span class="p">,</span>
     <span class="n">schedule</span><span class="o">=</span><span class="s2">&quot;0 0 0 * * ? *&quot;</span><span class="p">,</span>
     <span class="n">start_time</span><span class="o">=</span><span class="s2">&quot;2021-01-01&quot;</span><span class="p">,</span>
-    <span class="n">tenant</span><span class="o">=</span><span class="s2">&quot;tenant_exists&quot;</span><span class="p">,</span>
 <span class="p">)</span> <span class="k">as</span> <span class="n">workflow</span><span class="p">:</span>
 </pre></div>
 </div>
@@ -303,7 +299,6 @@ will be running this task in the DolphinScheduler worker. See <a class="referenc
     <span class="n">name</span><span class="o">=</span><span class="s2">&quot;tutorial_decorator&quot;</span><span class="p">,</span>
     <span class="n">schedule</span><span class="o">=</span><span class="s2">&quot;0 0 0 * * ? *&quot;</span><span class="p">,</span>
     <span class="n">start_time</span><span class="o">=</span><span class="s2">&quot;2021-01-01&quot;</span><span class="p">,</span>
-    <span class="n">tenant</span><span class="o">=</span><span class="s2">&quot;tenant_exists&quot;</span><span class="p">,</span>
 <span class="p">)</span> <span class="k">as</span> <span class="n">workflow</span><span class="p">:</span>
 </pre></div>
 </div>
@@ -314,7 +309,6 @@ will be running this task in the DolphinScheduler worker. See <a class="referenc
 <span class="w">  </span><span class="nt">name</span><span class="p">:</span><span class="w"> </span><span class="s">&quot;tutorial&quot;</span><span class="w"></span>
 <span class="w">  </span><span class="nt">schedule</span><span class="p">:</span><span class="w"> </span><span class="s">&quot;0</span><span class="nv"> </span><span class="s">0</span><span class="nv"> </span><span class="s">0</span><span class="nv"> </span><span class="s">*</span><span class="nv"> </span><span class="s">*</span><span class="nv"> </span><span class="s">?</span><span class="nv"> </span><span class="s">*&quot;</span><span class="w"></span>
 <span class="w">  </span><span class="nt">start_time</span><span class="p">:</span><span class="w"> </span><span class="s">&quot;2021-01-01&quot;</span><span class="w"></span>
-<span class="w">  </span><span class="nt">tenant</span><span class="p">:</span><span class="w"> </span><span class="s">&quot;tenant_exists&quot;</span><span class="w"></span>
 <span class="w">  </span><span class="nt">release_state</span><span class="p">:</span><span class="w"> </span><span class="s">&quot;offline&quot;</span><span class="w"></span>
 <span class="w">  </span><span class="nt">run</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">true</span><span class="w"></span>
 </pre></div>