You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@airflow.apache.org by po...@apache.org on 2023/10/30 10:34:33 UTC

(airflow) branch main updated: Add description on what goes into the next release (#35245)

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

potiuk 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 1edd00cb17 Add description on what goes into the next release (#35245)
1edd00cb17 is described below

commit 1edd00cb171793a3dd9878f80182b61f7527f314
Author: Jarek Potiuk <ja...@potiuk.com>
AuthorDate: Mon Oct 30 11:34:24 2023 +0100

    Add description on what goes into the next release (#35245)
---
 README.md                | 47 +++++++++++++++++++++++++++++++++++++++++++++++
 generated/PYPI_README.md |  3 +++
 2 files changed, 50 insertions(+)

diff --git a/README.md b/README.md
index b3dd427627..a53ff5bbf5 100644
--- a/README.md
+++ b/README.md
@@ -62,6 +62,7 @@ Use Airflow to author workflows as directed acyclic graphs (DAGs) of tasks. The
 - [Contributing](#contributing)
 - [Who uses Apache Airflow?](#who-uses-apache-airflow)
 - [Who maintains Apache Airflow?](#who-maintains-apache-airflow)
+- [What goes into the next release?](#what-goes-into-the-next-release)
 - [Can I use the Apache Airflow logo in my presentation?](#can-i-use-the-apache-airflow-logo-in-my-presentation)
 - [Airflow merchandise](#airflow-merchandise)
 - [Links](#links)
@@ -422,6 +423,7 @@ By default, we should not upper-bound dependencies for providers, however each p
 might decide to add additional limits (and justify them with comment).
 
 <!-- START Contributing, please keep comment here to allow auto update of PyPI readme.md -->
+
 ## Contributing
 
 Want to help build Apache Airflow? Check out our [contributing documentation](https://github.com/apache/airflow/blob/main/CONTRIBUTING.rst).
@@ -430,6 +432,7 @@ Official Docker (container) images for Apache Airflow are described in [IMAGES.r
 
 <!-- END Contributing, please keep comment here to allow auto update of PyPI readme.md -->
 <!-- START Who uses Apache Airflow, please keep comment here to allow auto update of PyPI readme.md -->
+
 ## Who uses Apache Airflow?
 
 More than 400 organizations are using Apache Airflow
@@ -437,6 +440,7 @@ More than 400 organizations are using Apache Airflow
 
 <!-- END Who uses Apache Airflow, please keep comment here to allow auto update of PyPI readme.md -->
 <!-- START Who maintains Apache Airflow, please keep comment here to allow auto update of PyPI readme.md -->
+
 ## Who maintains Apache Airflow?
 
 Airflow is the work of the [community](https://github.com/apache/airflow/graphs/contributors),
@@ -446,6 +450,49 @@ If you would like to become a maintainer, please review the Apache Airflow
 [committer requirements](https://github.com/apache/airflow/blob/main/COMMITTERS.rst#guidelines-to-become-an-airflow-committer).
 
 <!-- END Who maintains Apache Airflow, please keep comment here to allow auto update of PyPI readme.md -->
+
+## What goes into the next release?
+
+Often you will see an issue that is assigned to specific milestone with Airflow version, or PR that gets merged
+to the main branch and you might wonder which release the merged PR will be released in or which release the
+issue will be fixed in. The answer to it is as usual - it depends. The answer is different for PRs and Issues.
+
+To add a bit of context, ee are following the [Semver](https://semver.org/) versioning scheme as described in
+[Airflow release process](https://airflow.apache.org/docs/apache-airflow/stable/release-process.html). More
+details are explained in detail in this README in [Semantic versioning](#semantic-versioning) chapter, but
+in short, we have `MAJOR.MINOR.PATCH` versions of Airflow, where `MAJOR` version is incremented when there
+are breaking changes, `MINOR` version is incremented when there are new features added, and `PATCH` version
+is incremented when there are only bug-fixes and doc-only changes.
+
+Generally we release `MINOR` versions of Airflow from a branch that is named after the MINOR version. For example
+`2.7.*` releases are released from `v2-7-stable` branch, `2.8.*` releases are released from `v2-8-stable`
+branch, etc.
+
+Most of the time in our release cycle, when the branch for next `MINOR` branch is not yet created, all
+PRs merged to `main` (unless they get reverted), will find their way to the next `MINOR` release. For example
+if the last release is `2.7.0` or `2.7.1` and `v2-8-stable` branch is not created yet, the next `MINOR` release
+is `2.8.0` and all PRs merged to main will be released in `2.8.0`. There is a brief period of time when we
+cut a new `MINOR` release branch and prepare alpha, beta, RC candidates for the `2.NEXT_MINOR.0` version
+where PRs merged to main will only be released in the following `MINOR` release.
+
+However, some PRs (bug-fixes and doc-only changes) when merged, can be cherry-picked to current `MINOR` branch
+and released in the next `PATCHLEVEL` release - for example when the last released version from `v2-7-stable`
+branch is `2.7.2`. Some of the PRs from main can be marked as `2.7.3` milestone by committers and attempt by the
+release manager to cherry-pick them is made. If successful, they will be released in `2.7.3`. The final
+decision about cherry-picking is made by the release manager.
+
+Marking issues with a milestone is a bit different. Maintainers do not mark issues with a milestone usually,
+normally they are only marked in PRs. If PR linked to the issue (and "fixing it") gets merged and released
+in a specific version following the process described above, the issue will be automatically closed, no
+milestone will be set for the issue, you need to check the PR that fixed the issue to see which version
+it was released in. However sometimes maintainers mark issues with specific milestone, which means that the
+issue is important to become a candidate to take a look when the release is being prepared. Since this is an
+Open-Source project, where basically all contributors volunteer their time, there is no guarantee that specific
+issue will be fixed in specific version. We do not want to hold the release because some issue is not fixed,
+so in such case release manager will reassign such unfixed issues to the next milestone in case they are not
+fixed in time for the current release. Therefore, the milestone for issue is more of an intent that it should be
+looked at, than promise it will be fixed in the version.
+
 ## Can I use the Apache Airflow logo in my presentation?
 
 Yes! Be sure to abide by the Apache Foundation [trademark policies](https://www.apache.org/foundation/marks/#books) and the Apache Airflow [Brandbook](https://cwiki.apache.org/confluence/display/AIRFLOW/Brandbook). The most up-to-date logos are found in [this repo](https://github.com/apache/airflow/tree/main/docs/apache-airflow/img/logos/) and on the Apache Software Foundation [website](https://www.apache.org/logos/about.html).
diff --git a/generated/PYPI_README.md b/generated/PYPI_README.md
index 477db1e075..c5d8f28784 100644
--- a/generated/PYPI_README.md
+++ b/generated/PYPI_README.md
@@ -154,17 +154,20 @@ and our official source code releases:
 Following the ASF rules, the source packages released must be sufficient for a user to build and test the
 release provided they have access to the appropriate platform and tools.
 
+
 ## Contributing
 
 Want to help build Apache Airflow? Check out our [contributing documentation](https://github.com/apache/airflow/blob/main/CONTRIBUTING.rst).
 
 Official Docker (container) images for Apache Airflow are described in [IMAGES.rst](https://github.com/apache/airflow/blob/main/IMAGES.rst).
 
+
 ## Who uses Apache Airflow?
 
 More than 400 organizations are using Apache Airflow
 [in the wild](https://github.com/apache/airflow/blob/main/INTHEWILD.md).
 
+
 ## Who maintains Apache Airflow?
 
 Airflow is the work of the [community](https://github.com/apache/airflow/graphs/contributors),