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

zhongjiajie pushed a commit to branch main
in repository 
https://gitbox.apache.org/repos/asf/dolphinscheduler-sdk-python.git


The following commit(s) were added to refs/heads/main by this push:
     new 3ada193  [doc] Add history and version compatibility (#28)
3ada193 is described below

commit 3ada1932b79b0d1d9866109a102011f7f0d2f34d
Author: Jay Chung <[email protected]>
AuthorDate: Wed Nov 16 18:13:10 2022 +0800

    [doc] Add history and version compatibility (#28)
---
 README.md             |  5 ++++
 docs/source/index.rst | 69 ++++++++++++++++++++++++++++++++++++++++++++++++++-
 2 files changed, 73 insertions(+), 1 deletion(-)

diff --git a/README.md b/README.md
index 693c27e..c00700a 100644
--- a/README.md
+++ b/README.md
@@ -34,6 +34,11 @@ your workflow by python code, aka workflow-as-codes.
 
 ## Quick Start
 
+### Version Compatibility
+
+At Nov 7, 2022 we seperated PyDolphinScheduler from DolphinScheduler, and the 
version of PyDolphinScheduler 4.0.0
+can match multiple versions of DolphinScheduler, for more details, please 
refer to 
[version](https://dolphinscheduler.apache.org/python/main/index.html#version)
+
 ### Installation
 
 ```shell
diff --git a/docs/source/index.rst b/docs/source/index.rst
index 4dc0a94..bd6a752 100644
--- a/docs/source/index.rst
+++ b/docs/source/index.rst
@@ -21,7 +21,74 @@ PyDolphinScheduler
 **PyDolphinScheduler** is Python API for `Apache DolphinScheduler 
<https://dolphinscheduler.apache.org>`_,
 which allow you definition your workflow by Python code, aka workflow-as-codes.
 
-I could go and find how to :ref:`install <start:getting started>` the project. 
Or if you want to see simply example
+History
+-------
+
+We seperated PyDolphinScheduler code base from `Apache dolphinscheduler code 
base <https://github.com/apache/dolphinscheduler>`_
+into independent repository at Nov 7, 2022. Now the code base is in `Apache 
dolphinscheduler-sdk-python 
<https://github.com/apache/dolphinscheduler-sdk-python>`_
+and all issue and pull requests should be submitted to this repository.
+
+The reason why we seperated is for the following reasons:
+
+- **Clear responsibility**: The code base of PyDolphinScheduler is independent 
of DolphinScheduler, it has its
+  own users and developers, CI and test cases, even the language is different.
+- **Independent release cycle**: PyDolphinScheduler is a SDK, it should be 
released independently of DolphinScheduler.
+  before we seperated, we have to release PyDolphinScheduler every time when 
DolphinScheduler. This brings two
+  main problems:
+
+  - DolphinScheduler release cycle is a little long for PyDolphinScheduler, 
because PyDolphinScheduler is a new subproject
+    for DolphinScheduler, it is not stable enough, we have many features and 
enhancement want to add, so we have to release
+    DolphinScheduler more frequently.
+  - We have to release PyDolphinScheduler every time when DolphinScheduler, 
even if there is no change in PyDolphinScheduler.
+    In the past, we release both of them at the same time, and some of 
DolphinScheduler bugfix version like 2.0.5, 2.0.6, 2.0.7
+    only fix some bugs in DolphinScheduler, but not in PyDolphinScheduler, is 
it unnecessary to release PyDolphinScheduler
+    but we have to because the rule is we release them both at the same time.
+  - Should use the same version as DolphinScheduler do, due to the same 
release cycle, we have to have the same version
+    as DolphinScheduler, so you may see there are some functional adder in 
DolphinScheduler bugfix version, it may
+    be a little strange to PyDolphinScheduler users.
+
+- **Faster CI Run**: PyDolphinScheduler has its own CI, it is not necessary to 
run DolphinScheduler CI when we only
+  change PyDolphinScheduler code. And DolphinScheduler CI is more complete, 
and some of CI is required to merge pull requests,
+  Separating PyDolphinScheduler from DolphinScheduler can make CI run faster 
in both two repositories.
+
+For more details, please refer to `seperated mail thread discuss 
<https://lists.apache.org/thread/4z7l5l54c4d81smjlk1n8nq380p9f0oo>`_.
+
+Version
+-------
+
+At Nov 7, 2022 we seperated PyDolphinScheduler. And before that, 
PyDolphinScheduler have the same version with DolphinScheduler.
+So the version of PyDolphinScheduler is the same as DolphinScheduler, for 
example PyDolphinScheduler 2.0.5 is matched with
+DolphinScheduler 2.0.5. For more details about why we seperated 
PyDolphinScheduler, please refer to `History`_.
+
+And after we seperated, we will release PyDolphinScheduler independently, and 
the version of PyDolphinScheduler will
+be different with DolphinScheduler, and some of PyDolphinScheduler version 
will not match multiple DolphinScheduler version
+because the code do not change in PyDolphinScheduler, and we will release 
PyDolphinScheduler but support multiple DolphinScheduler
+version due to we do not change
+`PythonGateway 
<https://github.com/apache/dolphinscheduler/blob/dev/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/python/PythonGateway.java>`_
+code.
+
+We will release PyDolphinScheduler version **4.0.0** as the first version 
after we seperated, so please be ware of when you
+use PyDolphinScheduler above version 4.0.0.
+
++-----------------------------+----------------------------+---------------------+
+| DolphinScheduler Version    | PyDolphinScheduler Version | Note              
  |
++=============================+============================+=====================+
+| 2.0.5                       | 2.0.5                      | before we 
seperated |
++-----------------------------+----------------------------+---------------------+
+| above 2.0.6 and prior 3.0.0 | 2.0.6                      | before we 
seperated |
++-----------------------------+----------------------------+---------------------+
+| 3.0.0                       | 3.0.0                      | before we 
seperated |
++-----------------------------+----------------------------+---------------------+
+| above 3.0.1 and prior 3.1.0 | 3.0.1                      | before we 
seperated |
++-----------------------------+----------------------------+---------------------+
+| above 3.1.0 and prior 3.1.2 | 3.1.0                      | before we 
seperated |
++-----------------------------+----------------------------+---------------------+
+
+
+Content
+-------
+
+You could go and find how to :ref:`install <start:getting started>` the 
project. Or if you want to see simply example
 then go and see :doc:`tutorial` for more detail.
 
 

Reply via email to