This is an automated email from the ASF dual-hosted git repository.
pierrejeambrun pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/airflow.git
The following commit(s) were added to refs/heads/main by this push:
new c9c2dd8175 Update clients versioning policy (#35628)
c9c2dd8175 is described below
commit c9c2dd8175aa7ad0f5412ec0abc7f95b3a5e0caa
Author: Pierre Jeambrun <[email protected]>
AuthorDate: Wed Nov 15 22:42:38 2023 +0800
Update clients versioning policy (#35628)
* Update clients versioning policy
* Specify source directory
---
dev/README_RELEASE_AIRFLOW.md | 24 +++++++++++-------------
1 file changed, 11 insertions(+), 13 deletions(-)
diff --git a/dev/README_RELEASE_AIRFLOW.md b/dev/README_RELEASE_AIRFLOW.md
index c8fcfac50e..b060aa345e 100644
--- a/dev/README_RELEASE_AIRFLOW.md
+++ b/dev/README_RELEASE_AIRFLOW.md
@@ -1005,29 +1005,27 @@ File `airflow/config_templates/config.yml` contains
documentation on all configu
After releasing airflow core, we need to check if we have to follow up with
API clients release.
-Clients are released in a separate process, with their own vote mostly because
their version can mismatch the core release.
-ASF policy does not allow to vote against multiple artifacts with different
versions.
+Clients are released in a separate process, with their own vote.
-### API Clients versioning policy
-
-For major/minor version release, always release new versions of the API
clients.
+Clients can be found here:
- [Python client](https://github.com/apache/airflow-client-python)
- [Go client](https://github.com/apache/airflow-client-go)
-For patch version release, you can also release patch versions of clients
**only** if the patch is relevant to the clients.
-A patch is considered relevant to the clients if it updates the [openapi
specification](https://github.com/apache/airflow/blob/main/airflow/api_connexion/openapi/v1.yaml).
-There are other external reasons for which we might want to release a patch
version for clients only, but they are not
-tied to an airflow release and therefore out of scope.
+### API Clients versioning policy
+
+Clients and Core versioning are completely decoupled. Clients also follow
SemVer and are updated when core introduce changes relevant to the clients.
+Most of the time, if the [openapi
specification](https://github.com/apache/airflow/blob/main/airflow/api_connexion/openapi/v1.yaml)
has
+changed, clients need to be released.
-To determine if you should also release API clients you can run:
+To determine if you should release API clients, you can run from the airflow
repository:
```shell
-./dev/airflow-github api-clients-policy 2.3.2 2.3.3
+./dev/airflow-github api-clients-policy 2.3.2 2.4.0
```
-> The patch version of each API client is not necessarily in sync with the
patch that you are releasing.
-> You need to check for each client what is the next patch version to be
released.
+> All clients follow SemVer and you should check what the appropriate new
version for each client should be. Depending on the current
+> client version and type of content added (feature, fix, breaking change
etc.) appropriately increment the version number.
### Releasing the clients