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 263ea111d5f Simolify and modernize provider documentation preparation 
instructions (#58306)
263ea111d5f is described below

commit 263ea111d5ff4c1a8f03ece9cfcbdd4c7e8c72f7
Author: Jarek Potiuk <[email protected]>
AuthorDate: Sat Nov 15 16:08:18 2025 +0100

    Simolify and modernize provider documentation preparation instructions 
(#58306)
    
    The instructions were partially outdated and quite a bit too chatty, they
    did not focus on actual tasks to do but also contained some digressions
    and more detailed description of some provider principles.
    
    This change makes it simpler to follow the process by the release manager,
    moves the docuentation of details to PROVIDERS.rst and removes largely
    duplicated PROVIDER_DISTRIBUTION_DETAILS.md
    
    The "--incremental-update" flag is specifically added and mentioned
    in the doc on what should be done when new commits are added after
    initial release notes have been prepared, guiding the release
    manager more explicitly what to do and providing instructions.
---
 PROVIDERS.rst                                      |  44 +++-
 dev/PROVIDER_DISTRIBUTIONS_DETAILS.md              | 182 ----------------
 dev/README_RELEASE_PROVIDERS.md                    | 232 ++++++++-------------
 ...e-management_prepare-provider-documentation.svg |  90 +++++---
 ...e-management_prepare-provider-documentation.txt |   2 +-
 .../commands/release_management_commands.py        |  26 ++-
 .../commands/release_management_commands_config.py |  30 ++-
 7 files changed, 232 insertions(+), 374 deletions(-)

diff --git a/PROVIDERS.rst b/PROVIDERS.rst
index a1661810383..c31ed1e0514 100644
--- a/PROVIDERS.rst
+++ b/PROVIDERS.rst
@@ -340,13 +340,39 @@ There are the following consequences (or lack of them) of 
removing the provider:
 * Removed provider might be re-instated as maintained provider, but it needs 
to go through the regular process
   of accepting new provider described above.
 
-Provider Dependencies
-=====================
-
-The dependencies for Airflow providers are managed in the ``provider.yaml`` 
file.
-
-All provider dependencies, including versions and constraints, are listed in 
this file.
-When adding or updating a provider or its dependencies, changes should be made 
to this file accordingly.
+Provider distributions versioning
+---------------------------------
 
-To ensure consistency and manage dependencies, ``prek`` is configured to 
automatically update all dependencies.
-Once you have ``prek`` installed, it will automatically handle the dependency 
updates.
+We are using the `SEMVER <https://semver.org/>`_ versioning scheme for the 
Provider distributions. This is in order
+to give the users confidence about maintaining backwards compatibility in the 
new releases of those
+packages.
+
+Details about maintaining the SEMVER version are going to be discussed and 
implemented in
+`the related issue <https://github.com/apache/airflow/issues/11425>`_
+
+Possible states of Provider distributions
+-----------------------------------------
+
+The Provider distributions can be in one of several states.
+
+* The ``not-ready`` state is used when the provider has some in-progress 
changes (usually API changes) that
+  we do not  want to release yet as part of the regular release cycle. 
Providers in this state are excluded
+  from being  released as part of the regular release cycle (including 
documentation building).
+  The ``not-ready`` providers are treated as regular providers when it comes 
to running tests and preparing
+  and releasing packages in ``CI`` - as we want to make sure they are properly 
releasable any time and we
+  want them to contribute to dependencies and we want to test them. Also in 
case of preinstalled providers,
+  the ``not-ready`` providers are contributing their dependencies rather than 
the provider package to
+  requirements of Airflow.
+* The ``ready`` state is the usual state of the provider that is released in 
the regular release cycle
+  (including the documentation, package building and publishing). This is the 
state most providers are in.
+* The ``suspended``` state is used when we have a good reason to suspend such 
provider, following the devlist
+  discussion and vote or "lazy consensus". The process of suspension is 
described above.
+  The ``suspended`` providers are excluded from being released as part of the 
regular release cycle (including
+  documentation building) but also they do not contribute dependencies to the 
CI image and their tests are
+  not run in CI process. The ``suspended`` providers are not released as part 
of the regular release cycle.
+* The ``removed`` state is a temporary state after the provider has been voted 
(or agreed in "lazy consensus")
+  to be removed and it is only used for exactly one release cycle - in order 
to produce the final version of
+  the package - identical to the previous version with the exception of the 
removal notice. The process
+  of removal is described in [Provider's docs](../PROVIDERS.rst).  The 
difference between ``suspended``
+  and ``removed`` providers is that additional information is added to their 
documentation about the provider
+  not being maintained any more by the community.
diff --git a/dev/PROVIDER_DISTRIBUTIONS_DETAILS.md 
b/dev/PROVIDER_DISTRIBUTIONS_DETAILS.md
deleted file mode 100644
index db8801b2ae6..00000000000
--- a/dev/PROVIDER_DISTRIBUTIONS_DETAILS.md
+++ /dev/null
@@ -1,182 +0,0 @@
-<!--
- Licensed to the Apache Software Foundation (ASF) under one
- or more contributor license agreements.  See the NOTICE file
- distributed with this work for additional information
- regarding copyright ownership.  The ASF licenses this file
- to you under the Apache License, Version 2.0 (the
- "License"); you may not use this file except in compliance
- with the License.  You may obtain a copy of the License at
-
-   http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing,
- software distributed under the License is distributed on an
- "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- KIND, either express or implied.  See the License for the
- specific language governing permissions and limitations
- under the License.
--->
-
-<!-- START doctoc generated TOC please keep comment here to allow auto update 
-->
-<!-- DON'T EDIT THIS SECTION, INSTEAD RE-RUN doctoc TO UPDATE -->
-- [Overview](#overview)
-
-- [Overview](#overview)
-- [Deciding when to release](#deciding-when-to-release)
-- [Verifying providers](#verifying-providers)
-- [Generating provider documentation](#generating-provider-documentation)
-- [Content of the release notes](#content-of-the-release-notes)
-- [Preparing packages](#preparing-packages)
-
-<!-- END doctoc generated TOC please keep comment here to allow auto update -->
-
-
-# Overview
-
-This document describes the process of preparing provider distributions for 
release and releasing them.
-The provider distributions are distributions (one per `provider`) that are not 
part of the core Airflow.
-
-Once you release the packages, you can simply install them with:
-
-```bash
-pip install apache-airflow-providers-<PROVIDER>[<EXTRAS>]
-```
-
-Where `<PROVIDER>` is the provider id and `<EXTRAS>` are optional extra 
packages to install.
-You can find the provider distributions dependencies and extras in the 
README.md files in each provider
-distribution (in `airflow/providers/<PROVIDER>` folder) as well as in the PyPI 
installation page.
-
-Backport providers are a great way to migrate your DAGs to Airflow-2.0 
compatible DAGs. You can
-switch to the new Airflow-2.0 packages in your DAGs, long before you attempt 
to migrate
-airflow to 2.0 line.
-
-Note: the provider ID in the package uses a dash ('-') as the separator but 
the breeze package ID
-use a dot ('.') as the separator. So the package for microsoft azure is
-'apache-airflow-providers-microsoft-azure' but the build package ID is 
'microsoft.azure'.
-
-# Deciding when to release
-
-Each provider distribution has its own version maintained separately when 
contributors implement changes,
-marking those as patches/features/backwards incompatible changes.
-
-Details to be hashed out in [the related 
issue](https://github.com/apache/airflow/issues/11425)
-
-
-# Verifying providers
-
-You can verify if all providers are properly named and importable.
-
-```bash
-breeze release-management verify-provider-distributions
-```
-
-You can also run the verification with an earlier airflow version to check for 
compatibility.
-
-```bash
-breeze release-management verify-provider-distributions --use-airflow-version 
2.1.0
-```
-
-
-# Generating provider documentation
-
-When you want to prepare release notes for a package, you need to run:
-
-```bash
-breeze release-management prepare-provider-documentation <PACKAGE_ID> ...
-```
-
-The version for each package is going to be updated separately for each 
package when we agree to the
-process.
-
-Details to be hashed out in [the related 
issue](https://github.com/apache/airflow/issues/11425)
-
-* <PACKAGE_ID> is usually directory in the `airflow/providers` folder (for 
example `google` but in several
-  cases, it might be one level deeper separated with `.` for example 
`apache.hive`
-
-You can run the script with multiple package names if you want to prepare 
several packages at the same time.
-
-If you do not change version number, you can iterate with merges and release 
candidates you update the
-release date without providing
-the date (to update the existing release notes)
-
-```bash
-breeze release-management prepare-provider-documentation google
-```
-
-
-When you are satisfied with the release notes generated you can commit 
generated changes/new files
-to the repository.
-
-
-# Content of the release notes
-
-The script generates all the necessary information:
-
-* summary of requirements for each provider package
-* list of dependencies (including extras to install them) when package
-  depends on other providers packages
-* link to the changelog of all the changes to the provider package
-
-The information is placed in README.rst which is regenerated every time you 
run the script.
-
-Note that our CI system builds the release notes for provider distributions 
automatically with every build and
-current date - this way you might be sure the automated generation of the 
release notes continues to
-work. You can also preview the generated readme files (by downloading 
artifacts from GitHub Actions).
-The script does not modify the README files if there is no change in the repo 
for that provider.
-
-# Preparing packages
-
-Airflow 2.0 is released as separate core package and separate set of provider 
distributions.
-
-You can build those packages in the breeze environment, so you do not have to 
worry about common environment.
-
-Note that readme release notes have to be generated first, so that the package 
preparation script reads
-the latest version from the latest version of release notes prepared.
-
-* The provider package ids PACKAGE_ID are subdirectories in the ``providers`` 
directory. Sometimes they
-are one level deeper (`apache/hive` folder for example, in which case 
PACKAGE_ID uses "." to separate
-the folders (for example Apache Hive's PACKAGE_ID is `apache.hive` ). You can 
see the list of all available
-providers by running:
-
-```bash
-breeze release-management prepare-provider-distributions --help
-```
-
-The examples below show how you can build selected packages, but you can also 
build all packages by
-omitting the package ids altogether.
-
-* To build the release candidate packages for PyPI upload run the following 
command:
-
-```bash
-breeze release-management prepare-provider-distributions --distribution-format 
both --version-suffix=rc1 [PACKAGE_ID] ...
-```
-
-for example:
-
-```bash
-breeze release-management prepare-provider-distributions --distribution-format 
both --version-suffix=rc1 http ...
-```
-
-* To build the final release packages run the following command:
-
-```bash
-breeze release-management prepare-provider-distributions --distribution-format 
both [PACKAGE_ID] ...
-```
-
-for example:
-
-```bash
-breeze release-management prepare-provider-distributions --distribution-format 
both http ...
-```
-
-* For each package, this creates a wheel package and source distribution 
package in your `dist` folder with
-  names following the patterns:
-
-  * 
`apache_airflow_providers_<PROVIDER>_MAJOR.MINOR.PATCHLEVEL[suffix]-py3-none-any.whl`
-  * `apache-airflow-providers-<PROVIDER>-MAJOR.MINOR.PATCHLEVEL[suffix].tar.gz`
-
-Where ``MAJOR.MINOR.PATCHLEVEL`` is the semver version of the packages.
-
-* You can install the .whl packages with `pip install <PACKAGE_FILE>`
-
-Releasing the packages is described in 
[README_RELEASE_PROVIDERS.md](README_RELEASE_PROVIDERS.md)
diff --git a/dev/README_RELEASE_PROVIDERS.md b/dev/README_RELEASE_PROVIDERS.md
index 3e385d6cc13..d01f968b1c3 100644
--- a/dev/README_RELEASE_PROVIDERS.md
+++ b/dev/README_RELEASE_PROVIDERS.md
@@ -20,19 +20,17 @@
 <!-- DON'T EDIT THIS SECTION, INSTEAD RE-RUN doctoc TO UPDATE -->
 **Table of contents**
 
-- [What the provider distributions are](#what-the-provider-distributions-are)
-- [Provider distributions](#provider-distributions)
-- [Perform review of security issues that are marked for the 
release](#perform-review-of-security-issues-that-are-marked-for-the-release)
-- [Bump min Airflow version for 
providers](#bump-min-airflow-version-for-providers)
-- [Decide when to release](#decide-when-to-release)
-- [Provider distributions versioning](#provider-distributions-versioning)
-- [Possible states of Provider 
distributions](#possible-states-of-provider-distributions)
-- [Prepare Regular Provider distributions 
(RC)](#prepare-regular-provider-distributions-rc)
+- [Intro](#intro)
+  - [What the provider distributions are](#what-the-provider-distributions-are)
+  - [Decide when to release](#decide-when-to-release)
+- [Special procedures (done very 
infrequently)](#special-procedures-done-very-infrequently)
+  - [Bump min Airflow version for 
providers](#bump-min-airflow-version-for-providers)
   - [Move provider into remove state](#move-provider-into-remove-state)
-  - [Increasing version number](#increasing-version-number)
-  - [Generate release notes](#generate-release-notes)
+- [Prepare Regular Provider distributions 
(RC)](#prepare-regular-provider-distributions-rc)
+  - [Perform review of security issues that are marked for the 
release](#perform-review-of-security-issues-that-are-marked-for-the-release)
+  - [Convert commits to changelog entries and bump provider 
versions](#convert-commits-to-changelog-entries-and-bump-provider-versions)
+  - [Apply incremental changes and merge the 
PR](#apply-incremental-changes-and-merge-the-pr)
   - [(Optional) Apply template updates](#optional-apply-template-updates)
-  - [Open PR with suggested version 
releases](#open-pr-with-suggested-version-releases)
   - [Build Provider distributions for SVN apache 
upload](#build-provider-distributions-for-svn-apache-upload)
   - [Build and sign the source and convenience 
packages](#build-and-sign-the-source-and-convenience-packages)
   - [Commit the source packages to Apache SVN 
repo](#commit-the-source-packages-to-apache-svn-repo)
@@ -65,7 +63,9 @@
 
 
------------------------------------------------------------------------------------------------------------
 
-# What the provider distributions are
+# Intro
+
+## What the provider distributions are
 
 The Provider distributions are separate packages (one package per provider) 
that implement
 integrations with external services for Airflow in the form of installable 
Python packages.
@@ -78,45 +78,40 @@ NOTE!! When you have problems with any of those commands 
that run inside `breeze
 can run the command with `--debug` flag that will drop you in the shell inside 
the image and will
 print the command that you should run.
 
-# Provider distributions
-
-The prerequisites to release Apache Airflow are described in 
[README.md](README.md).
-
-You can read more about the command line tools used to generate the packages 
in the
-[Provider details](PROVIDER_DISTRIBUTIONS_DETAILS.md).
-
-# Perform review of security issues that are marked for the release
+## Decide when to release
 
-We are keeping track of security issues in the [Security 
Issues](https://github.com/airflow-s/airflow-s/issues)
-repository currently. As a release manager, you should have access to the 
repository.
-Please review and ensure that all security issues marked for the release have 
been
-addressed and resolved. Ping security team (comment in the issues) if anything 
missing or
-the issue does not seem to be addressed.
+You can release Provider distributions separately from the main Airflow on an 
ad-hoc basis, whenever we find that
+a given provider needs to be released due to new features or due to bug fixes. 
 You can release each provider
+package separately, but due to voting and release overhead we try to group 
releases of Provider
+distributions together.
 
-Additionally, the [dependabot 
alerts](https://github.com/apache/airflow/security/dependabot) and
-code [scanning 
alerts](https://github.com/apache/airflow/security/code-scanning) should be 
reviewed
-and security team should be pinged to review and resolve them.
+# Special procedures (done very infrequently)
 
+> [!NOTE]
+> Those processes are done very infrequently, when there is time to bump 
minimum versions of providers
+> or when you remove a provider. Usually you should just skip this section and 
go straight to
+> Prepare Regular providers RC.
 
-# Bump min Airflow version for providers
+## Bump min Airflow version for providers
 
-This should only happen when it is time to bump the minimum version of 
providers as agreed in
-[related provider 
policy](PROVIDERS.rst#upgrading-minimum-supported-version-of-airflow)
+> [!NOTE]
+> This should only happen when it is time to bump the minimum version of 
providers as agreed in
+> [related provider 
policy](../PROVIDERS.rst#upgrading-minimum-supported-version-of-airflow)
 
 1. Update `PROVIDERS_COMPATIBILITY_TESTS_MATRIX` in 
`src/airflow_breeze/global_constants.py` to remove
 the versions of Airflow that are not applicable anymore.
 
 2. Check if Breeze unit tests in `dev/breeze/tests/test_packages.py` need 
adjustments. This is done by simply
-searching and replacing old version occurrences with newer one. For example 
2.8.0 to 2.9.0
+searching and replacing old version occurrences with newer one. For example 
2.10.0 to 3.0.0
 
 3. Update minimum airflow version for all packages, you should modify 
`MIN_AIRFLOW_VERSION`
 in `src/airflow_breeze/utils/packages.py` and run the `breeze 
release-management prepare-provider-documentation --only-min-version-update`
 This will only update the min version in  the `__init__.py` files and package 
documentation without bumping the provider versions.
 
-4. Remove `AIRFLOW_V_2_X_PLUS` in all tests (review and update skipif and 
other conditional
+4. Remove `AIRFLOW_V_X_Y_PLUS` in all tests (review and update skipif and 
other conditional
    behaviour and test_compat.py, where X is the TARGET version we change to. 
For example
-   when we update min Airflow version to 2.10.0, we should remove all 
references to AIRFLOW_V_2_10_PLUS
-   simply because "everything" in our tests is already 2.10.0+ and there is no 
need to exclude or
+   when we update min Airflow version to 3.0.0, we should remove all 
references to AIRFLOW_V_3_0_PLUS
+   simply because "everything" in our tests is already 3.0.0+ and there is no 
need to exclude or
    modify tests for earlier versions of Airflow.
 
 Note: Sometimes we are releasing a subset of providers and would not want to 
add the
@@ -135,7 +130,7 @@ branch="update-min-airflow-version"
 git checkout -b "${branch}"
 breeze release-management prepare-provider-documentation 
--only-min-version-update
 git add .
-git commit -m "Bump minimum Airflow version in providers to Airflow 2.9.0"
+git commit -m "Bump minimum Airflow version in providers to Airflow 3.0.0"
 git push --set-upstream origin "${branch}"
 ```
 
@@ -146,77 +141,13 @@ handle everything automatically.
 Note: this step is **not** part of the release cycle. It should be done 
independently
 when the time to update min airflow version has come.
 
-# Decide when to release
-
-You can release Provider distributions separately from the main Airflow on an 
ad-hoc basis, whenever we find that
-a given provider needs to be released - due to new features or due to bug 
fixes.
-You can release each provider package separately, but due to voting and 
release overhead we try to group
-releases of Provider distributions together.
-
-# Provider distributions versioning
-
-We are using the [SEMVER](https://semver.org/) versioning scheme for the 
Provider distributions. This is in order
-to give the users confidence about maintaining backwards compatibility in the 
new releases of those
-packages.
-
-Details about maintaining the SEMVER version are going to be discussed and 
implemented in
-[the related issue](https://github.com/apache/airflow/issues/11425)
-
-# Possible states of Provider distributions
-
-The Provider distributions can be in one of several states.
-
-* The `not-ready` state is used when the provider has some in-progress changes 
(usually API changes) that
-  we do not  want to release yet as part of the regular release cycle. 
Providers in this state are excluded
-  from being  released as part of the regular release cycle (including 
documentation building). You can build
-  and prepare  such provider when you explicitly specify it as argument of a 
release command or by passing
-  `--include-not-ready-providers` flag in corresponding command. The 
`not-ready` providers are treated as
-  regular providers when it comes to running tests and preparing and releasing 
packages in `CI` - as we want
-  to make sure they are properly releasable any time and we want them to 
contribute to dependencies and we
-  want to test them. Also in case of preinstalled providers, the `not-ready` 
providers are contributing
-  their dependencies rather than the provider package to requirements of 
Airflow.
-* The `ready` state is the usual state of the provider that is released in the 
regular release cycle
-  (including the documentation, package building and publishing). This is the 
state most providers are in.
-* The `suspended` state is used when we have a good reason to suspend such 
provider, following the devlist
-  discussion and vote or "lazy consensus". The process of suspension is 
described in [Provider's docs](../PROVIDERS.rst).
-  The `suspended` providers are excluded from being released as part of the 
regular release cycle (including
-  documentation building) but also they do not contribute dependencies to the 
CI image and their tests are
-  not run in CI process. You can build and prepare such provider when you 
explicitly specify it as argument
-  of a release command or by passing `--include-suspended-providers` flag in 
corresponding command (but it
-  might or might not work at any time as the provider release commands are not 
regularly run on CI for the
-  suspended providers). The `suspended` providers are not released as part of 
the regular release cycle.
-* The `removed` state is a temporary state after the provider has been voted 
(or agreed in "lazy consensus")
-  to be removed and it is only used for exactly one release cycle - in order 
to produce the final version of
-  the package - identical to the previous version with the exception of the 
removal notice. The process
-  of removal is described in [Provider's docs](../PROVIDERS.rst).  The 
`removed` providers are included in
-  the regular release cycle (including documentation building) because the 
`--include-removed-providers`
-  flag is passed to commands that release manager runs (see below). The 
difference between `suspended`
-  and `removed` providers is that additional information is added to their 
documentation about the provider
-  not being maintained any more by the community.
-
-This graph shows the possible transitions between the states:
-
-```mermaid
-graph TD;
-    new[/new/]
-    new -- Add to the code -->ready;
-    ready
-    ready-- Mark as not ready -->not-ready;
-    not-ready-- Mark as ready -->ready;
-    ready-- Suspend -->suspended;
-    suspended-- Resume -->ready;
-    ready-- Mark as removed -->removed;
-    suspended-- Mark as removed -->removed;
-    gone[\gone\]
-    removed -- Remove from the code --> gone;
-```
-
-# Prepare Regular Provider distributions (RC)
-
 ## Move provider into remove state
 
+> [!NOTE]
+> This is oonly needed in case some providers have been removed since last 
release wave.
+
 The removed state needs to be in a release wave before you actually plan to 
remove the source code for the provider.
-Set provider with removed state -> release provider -> remove source code of 
the provider.
+Set provider with ``removed state`` -> ``release provider`` -> ``remove source 
code of the provider``.
 When setting the provider in removed state you need also to clarify in the 
change log that there will be
 no more releases for this provider.
 
@@ -226,24 +157,34 @@ To set provider as removed do the following:
 2. Place entry in changelog.txt that notify users about provider being removed.
 3. Update test_get_removed_providers in `/dev/breeze/tests/test_packages.py` 
by adding the provider to the list
 
-## Increasing version number
+# Prepare Regular Provider distributions (RC)
+
+This is the process that happens regularly (every 2 weeks).
 
-First thing that release manager has to do is to change version of the 
provider to a target
-version. This is happening by running `breeze prepare-provider-documentation` 
after the changes for provider
-are assessed by the Release Manager.
+## Perform review of security issues that are marked for the release
+
+We are keeping track of security issues in the [Security 
Issues](https://github.com/airflow-s/airflow-s/issues)
+repository currently. As a release manager, you should have access to the 
repository.
+Please review and ensure that all security issues marked for the release have 
been
+addressed and resolved. Ping security team (comment in the issues) if anything 
missing or
+the issue does not seem to be addressed.
 
-## Generate release notes
+Additionally, the [dependabot 
alerts](https://github.com/apache/airflow/security/dependabot) and
+code [scanning 
alerts](https://github.com/apache/airflow/security/code-scanning) should be 
reviewed
+and security team should be pinged to review and resolve them.
 
-Each of the Provider distributions contains Release notes in the form of the 
`changelog.rst` file in docs
-that is  automatically generated from history of the changes and code of the 
provider.
+## Convert commits to changelog entries and bump provider versions
 
-When the provider package version has not been updated since the latest 
version, the release notes
-are not generated. Release notes are only generated, when the latest version 
of the package does not
-yet have a corresponding TAG.
+First thing that release manager has to do is to convert commits for each 
provider into changelog entries
+and update version of the provider to a target version - depending on type of 
changes implemented in the
+providers. This is happening by running `breeze 
prepare-provider-documentation`. The tool aids the release
+manager to classify each of the changes and will automatically increase 
version of the provider.
 
-The tags for providers is of the form ``providers-<PROVIDER_ID>/<VERSION>`` 
for example
-``providers-amazon/1.0.0``. During releasing, the `rc*` tags are created (for 
example
-``providers-amazon/1.0.0rc1``).
+Note that version of the provider should be updated in two places (the tool 
does it automatically):
+
+* **provider.yaml** - where there is a list of all versions of providers (the 
first one is the latest)
+* **changelog.rst** - where changelogs are sorted according to provider 
version and group changes in
+  the right sections
 
 ```shell script
 breeze release-management prepare-provider-documentation
@@ -255,46 +196,56 @@ In case you prepare provider documentation for just a few 
selected providers, yo
 breeze release-management prepare-provider-documentation [packages]
 ```
 
+This happens automatically if you set ``DISTRIBUTIONS_LIST`` variable.
+
 In case you want to also release a pre-installed provider that is in 
``not-ready`` state (i.e. when
 you want to release it before you switch their state to ``ready``), you need 
to pass
 ``--include-not-ready-providers`` flag to the command above.
 
-This command will not only prepare documentation but will also help the 
release manager to review
-changes implemented in all providers, and determine which of the providers 
should be released. For each
-provider details will be printed on what changes were implemented since the 
last release including
-links to particular commits.
-
-This should help to determine which version of provider should be released:
+The tool determines the new version of provider as follows:
 
-* increased patch-level for bugfix-only change
+* increased patch-level for bugfix-only and doc-only changes
 * increased minor version if new features are added
 * increased major version if breaking changes are added
 
-It also helps the release manager to update CHANGELOG.rst where high-level 
overview of the changes should be documented for the providers released.
-You should iterate and re-generate the same content after any change as many 
times as you want.
-The generated files should be added and committed to the repository.
+## Apply incremental changes and merge the PR
 
-When you want to regenerate the changes before the release and make sure all 
changelogs
-are updated, run it in non-interactive mode:
+When those changes are generated, you should commit the changes, create a PR 
and get it reviewed.
+This usually takes some time, so before merging you need to rebase it to 
latest main and see if there
+are no new, incremental updates (one or two merged commit in the meantime). If 
there are - you still
+have a chance to incorporate the changes via ``incremental-update`` process 
for provider documentation:
 
 ```shell script
-  breeze release-management prepare-provider-documentation 
--include-removed-providers --answer yes
+  breeze release-management prepare-provider-documentation --incremental-update
 ```
 
 In case you prepare provider documentation for just a few selected providers, 
you can run:
 
 ```shell script
-breeze release-management prepare-provider-documentation --answer yes 
[packages]
+breeze release-management prepare-provider-documentation --incremental-update 
[packages]
 ```
 
+Once you do it, the diff will be generated so you will see if there are any 
new changes added to
+changelogs. If there are. uou need to add them to PR and classify the changes 
manually:
+
+* move the changes to the right sections in changelog
+* remove the "Please review" comments generated by the incremental update 
process
+* if needed adjust version of provider - in changelog and provider.yaml, in 
case the new
+  change changes classification of the upgrade (patchlevel/minor/major)
+
+Commit the changes and merge the PR, be careful to do it quickly so that no 
new PRs are merged for
+providers in the meantime - if they are, you will miss them in the changelog.
+
 In case you want to also release a pre-installed provider that is in 
``not-ready`` state (i.e. when
 you want to release it before you switch their state to ``ready``), you need 
to pass
 ``--include-not-ready-providers`` flag to the command above.
 
-NOTE!! In case you prepare provider's documentation in a branch different than 
main, you need to manually
-specify the base branch via `--base-branch` parameter.
-For example if you try to build a `cncf.kubernetes` provider that is build 
from `provider-cncf-kubernetes/v4-4`
-branch should be prepared like this:
+> [!NOTE]
+> In case you prepare provider's documentation in a branch different than 
main, you need to manually
+> specify the base branch via `--base-branch` parameter.
+> For example if you try to build a `cncf.kubernetes` provider that is build 
from `provider-cncf-kubernetes/v4-4`
+> branch should be prepared like this:
+
 
 ```shell script
 breeze release-management prepare-provider-documentation 
--include-removed-providers \
@@ -303,7 +254,7 @@ breeze release-management prepare-provider-documentation 
--include-removed-provi
 
 ## (Optional) Apply template updates
 
-This step should only be executed if we want to change template files for the 
providers - i.e. change
+This step should only be executed if we want to change template files for the 
providers, i.e. change
 security information, commit/index/README content that is automatically 
generated.
 
 Regenerate the documentation templates by running the command with
@@ -318,15 +269,6 @@ Regenerate the documentation templates by running the 
command with
 breeze release-management prepare-provider-documentation 
--include-removed-providers --reapply-templates-only
 ```
 
-## Open PR with suggested version releases
-
-At this point you should have providers yaml files and changelog updated.
-You should go over the change log and place changes in their relevant section 
(breaking change, feature, bugs, etc...)
-Once finished you should raise a PR : Prepare docs for MM YYYY wave of 
Providers
-In the PR we will verify if we want to release a specific package or if the 
versions chosen are right.
-Only after PR is merged you should proceed to next steps.
-
-
 ## Build Provider distributions for SVN apache upload
 
 Those packages might get promoted  to "final" packages by just renaming the 
files, so internally they
diff --git 
a/dev/breeze/doc/images/output_release-management_prepare-provider-documentation.svg
 
b/dev/breeze/doc/images/output_release-management_prepare-provider-documentation.svg
index b615329317a..468823684d8 100644
--- 
a/dev/breeze/doc/images/output_release-management_prepare-provider-documentation.svg
+++ 
b/dev/breeze/doc/images/output_release-management_prepare-provider-documentation.svg
@@ -1,4 +1,4 @@
-<svg class="rich-terminal" viewBox="0 0 1482 1074.8" 
xmlns="http://www.w3.org/2000/svg";>
+<svg class="rich-terminal" viewBox="0 0 1482 1270.0" 
xmlns="http://www.w3.org/2000/svg";>
     <!-- Generated with Rich https://www.textualize.io -->
     <style>
 
@@ -43,7 +43,7 @@
 
     <defs>
     <clipPath 
id="breeze-release-management-prepare-provider-documentation-clip-terminal">
-      <rect x="0" y="0" width="1463.0" height="1023.8" />
+      <rect x="0" y="0" width="1463.0" height="1219.0" />
     </clipPath>
     <clipPath 
id="breeze-release-management-prepare-provider-documentation-line-0">
     <rect x="0" y="1.5" width="1464" height="24.65"/>
@@ -168,9 +168,33 @@
 <clipPath 
id="breeze-release-management-prepare-provider-documentation-line-40">
     <rect x="0" y="977.5" width="1464" height="24.65"/>
             </clipPath>
+<clipPath 
id="breeze-release-management-prepare-provider-documentation-line-41">
+    <rect x="0" y="1001.9" width="1464" height="24.65"/>
+            </clipPath>
+<clipPath 
id="breeze-release-management-prepare-provider-documentation-line-42">
+    <rect x="0" y="1026.3" width="1464" height="24.65"/>
+            </clipPath>
+<clipPath 
id="breeze-release-management-prepare-provider-documentation-line-43">
+    <rect x="0" y="1050.7" width="1464" height="24.65"/>
+            </clipPath>
+<clipPath 
id="breeze-release-management-prepare-provider-documentation-line-44">
+    <rect x="0" y="1075.1" width="1464" height="24.65"/>
+            </clipPath>
+<clipPath 
id="breeze-release-management-prepare-provider-documentation-line-45">
+    <rect x="0" y="1099.5" width="1464" height="24.65"/>
+            </clipPath>
+<clipPath 
id="breeze-release-management-prepare-provider-documentation-line-46">
+    <rect x="0" y="1123.9" width="1464" height="24.65"/>
+            </clipPath>
+<clipPath 
id="breeze-release-management-prepare-provider-documentation-line-47">
+    <rect x="0" y="1148.3" width="1464" height="24.65"/>
+            </clipPath>
+<clipPath 
id="breeze-release-management-prepare-provider-documentation-line-48">
+    <rect x="0" y="1172.7" width="1464" height="24.65"/>
+            </clipPath>
     </defs>
 
-    <rect fill="#292929" stroke="rgba(255,255,255,0.35)" stroke-width="1" 
x="1" y="1" width="1480" height="1072.8" rx="8"/><text 
class="breeze-release-management-prepare-provider-documentation-title" 
fill="#c5c8c6" text-anchor="middle" x="740" 
y="27">Command:&#160;release-management&#160;prepare-provider-documentation</text>
+    <rect fill="#292929" stroke="rgba(255,255,255,0.35)" stroke-width="1" 
x="1" y="1" width="1480" height="1268" rx="8"/><text 
class="breeze-release-management-prepare-provider-documentation-title" 
fill="#c5c8c6" text-anchor="middle" x="740" 
y="27">Command:&#160;release-management&#160;prepare-provider-documentation</text>
             <g transform="translate(26,22)">
             <circle cx="0" cy="0" r="7" fill="#ff5f57"/>
             <circle cx="22" cy="0" r="7" fill="#febc2e"/>
@@ -196,32 +220,40 @@
 </text><text 
class="breeze-release-management-prepare-provider-documentation-r1" x="1464" 
y="337.2" textLength="12.2" 
clip-path="url(#breeze-release-management-prepare-provider-documentation-line-13)">
 </text><text 
class="breeze-release-management-prepare-provider-documentation-r1" x="12.2" 
y="361.6" textLength="780.8" 
clip-path="url(#breeze-release-management-prepare-provider-documentation-line-14)">Prepare&#160;CHANGELOG,&#160;README&#160;and&#160;COMMITS&#160;information&#160;for&#160;providers.</text><text
 class="breeze-release-management-prepare-provider-documentation-r1" x="1464" 
y="361.6" textLength="12.2" 
clip-path="url(#breeze-release-management-prepare-provider-documentation- [...]
 </text><text 
class="breeze-release-management-prepare-provider-documentation-r1" x="1464" 
y="386" textLength="12.2" 
clip-path="url(#breeze-release-management-prepare-provider-documentation-line-15)">
-</text><text 
class="breeze-release-management-prepare-provider-documentation-r5" x="0" 
y="410.4" textLength="24.4" 
clip-path="url(#breeze-release-management-prepare-provider-documentation-line-16)">╭─</text><text
 class="breeze-release-management-prepare-provider-documentation-r5" x="24.4" 
y="410.4" textLength="512.4" 
clip-path="url(#breeze-release-management-prepare-provider-documentation-line-16)">&#160;Provider&#160;documentation&#160;preparation&#160;flags&#160;</text><text
 class="bre [...]
-</text><text 
class="breeze-release-management-prepare-provider-documentation-r5" x="0" 
y="434.8" textLength="12.2" 
clip-path="url(#breeze-release-management-prepare-provider-documentation-line-17)">│</text><text
 class="breeze-release-management-prepare-provider-documentation-r4" x="24.4" 
y="434.8" textLength="158.6" 
clip-path="url(#breeze-release-management-prepare-provider-documentation-line-17)">--base-branch</text><text
 class="breeze-release-management-prepare-provider-documentation-r [...]
-</text><text 
class="breeze-release-management-prepare-provider-documentation-r5" x="0" 
y="459.2" textLength="12.2" 
clip-path="url(#breeze-release-management-prepare-provider-documentation-line-18)">│</text><text
 class="breeze-release-management-prepare-provider-documentation-r1" x="451.4" 
y="459.2" textLength="988.2" 
clip-path="url(#breeze-release-management-prepare-provider-documentation-line-18)">old&#160;branch)&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#
 [...]
-</text><text 
class="breeze-release-management-prepare-provider-documentation-r5" x="0" 
y="483.6" textLength="12.2" 
clip-path="url(#breeze-release-management-prepare-provider-documentation-line-19)">│</text><text
 class="breeze-release-management-prepare-provider-documentation-r6" x="451.4" 
y="483.6" textLength="988.2" 
clip-path="url(#breeze-release-management-prepare-provider-documentation-line-19)">(TEXT)&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;
 [...]
-</text><text 
class="breeze-release-management-prepare-provider-documentation-r5" x="0" 
y="508" textLength="12.2" 
clip-path="url(#breeze-release-management-prepare-provider-documentation-line-20)">│</text><text
 class="breeze-release-management-prepare-provider-documentation-r4" x="24.4" 
y="508" textLength="231.8" 
clip-path="url(#breeze-release-management-prepare-provider-documentation-line-20)">--github-repository</text><text
 class="breeze-release-management-prepare-provider-documentation [...]
-</text><text 
class="breeze-release-management-prepare-provider-documentation-r5" x="0" 
y="532.4" textLength="12.2" 
clip-path="url(#breeze-release-management-prepare-provider-documentation-line-21)">│</text><text
 class="breeze-release-management-prepare-provider-documentation-r4" x="24.4" 
y="532.4" textLength="353.8" 
clip-path="url(#breeze-release-management-prepare-provider-documentation-line-21)">--include-not-ready-providers</text><text
 class="breeze-release-management-prepare-provider [...]
-</text><text 
class="breeze-release-management-prepare-provider-documentation-r5" x="0" 
y="556.8" textLength="12.2" 
clip-path="url(#breeze-release-management-prepare-provider-documentation-line-22)">│</text><text
 class="breeze-release-management-prepare-provider-documentation-r4" x="24.4" 
y="556.8" textLength="329.4" 
clip-path="url(#breeze-release-management-prepare-provider-documentation-line-22)">--include-removed-providers</text><text
 class="breeze-release-management-prepare-provider-d [...]
-</text><text 
class="breeze-release-management-prepare-provider-documentation-r5" x="0" 
y="581.2" textLength="12.2" 
clip-path="url(#breeze-release-management-prepare-provider-documentation-line-23)">│</text><text
 class="breeze-release-management-prepare-provider-documentation-r4" x="24.4" 
y="581.2" textLength="207.4" 
clip-path="url(#breeze-release-management-prepare-provider-documentation-line-23)">--non-interactive</text><text
 class="breeze-release-management-prepare-provider-documentati [...]
-</text><text 
class="breeze-release-management-prepare-provider-documentation-r5" x="0" 
y="605.6" textLength="12.2" 
clip-path="url(#breeze-release-management-prepare-provider-documentation-line-24)">│</text><text
 class="breeze-release-management-prepare-provider-documentation-r1" x="451.4" 
y="605.6" textLength="988.2" 
clip-path="url(#breeze-release-management-prepare-provider-documentation-line-24)">confirms&#160;releasefor&#160;providers&#160;prepared&#160;for&#160;release&#160;-&#160;us
 [...]
-</text><text 
class="breeze-release-management-prepare-provider-documentation-r5" x="0" 
y="630" textLength="12.2" 
clip-path="url(#breeze-release-management-prepare-provider-documentation-line-25)">│</text><text
 class="breeze-release-management-prepare-provider-documentation-r1" x="451.4" 
y="630" textLength="988.2" 
clip-path="url(#breeze-release-management-prepare-provider-documentation-line-25)">non-interactive&#160;mode&#160;in&#160;CI.&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#16
 [...]
-</text><text 
class="breeze-release-management-prepare-provider-documentation-r5" x="0" 
y="654.4" textLength="12.2" 
clip-path="url(#breeze-release-management-prepare-provider-documentation-line-26)">│</text><text
 class="breeze-release-management-prepare-provider-documentation-r4" x="24.4" 
y="654.4" textLength="305" 
clip-path="url(#breeze-release-management-prepare-provider-documentation-line-26)">--only-min-version-update</text><text
 class="breeze-release-management-prepare-provider-docum [...]
-</text><text 
class="breeze-release-management-prepare-provider-documentation-r5" x="0" 
y="678.8" textLength="12.2" 
clip-path="url(#breeze-release-management-prepare-provider-documentation-line-27)">│</text><text
 class="breeze-release-management-prepare-provider-documentation-r1" x="451.4" 
y="678.8" textLength="988.2" 
clip-path="url(#breeze-release-management-prepare-provider-documentation-line-27)">documentation&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160
 [...]
-</text><text 
class="breeze-release-management-prepare-provider-documentation-r5" x="0" 
y="703.2" textLength="12.2" 
clip-path="url(#breeze-release-management-prepare-provider-documentation-line-28)">│</text><text
 class="breeze-release-management-prepare-provider-documentation-r4" x="24.4" 
y="703.2" textLength="292.8" 
clip-path="url(#breeze-release-management-prepare-provider-documentation-line-28)">--reapply-templates-only</text><text
 class="breeze-release-management-prepare-provider-docu [...]
-</text><text 
class="breeze-release-management-prepare-provider-documentation-r5" x="0" 
y="727.6" textLength="12.2" 
clip-path="url(#breeze-release-management-prepare-provider-documentation-line-29)">│</text><text
 class="breeze-release-management-prepare-provider-documentation-r1" x="451.4" 
y="727.6" textLength="988.2" 
clip-path="url(#breeze-release-management-prepare-provider-documentation-line-29)">you&#160;need&#160;to&#160;regenerate&#160;documentation.&#160;&#160;&#160;&#160;&#160;&#1
 [...]
-</text><text 
class="breeze-release-management-prepare-provider-documentation-r5" x="0" 
y="752" textLength="12.2" 
clip-path="url(#breeze-release-management-prepare-provider-documentation-line-30)">│</text><text
 class="breeze-release-management-prepare-provider-documentation-r4" x="24.4" 
y="752" textLength="195.2" 
clip-path="url(#breeze-release-management-prepare-provider-documentation-line-30)">--skip-git-fetch</text><text
 class="breeze-release-management-prepare-provider-documentation-r1 [...]
-</text><text 
class="breeze-release-management-prepare-provider-documentation-r5" x="0" 
y="776.4" textLength="12.2" 
clip-path="url(#breeze-release-management-prepare-provider-documentation-line-31)">│</text><text
 class="breeze-release-management-prepare-provider-documentation-r1" x="451.4" 
y="776.4" textLength="988.2" 
clip-path="url(#breeze-release-management-prepare-provider-documentation-line-31)">default,&#160;the&#160;remote&#160;is&#160;recreated&#160;and&#160;fetched&#160;to&#160;ma
 [...]
-</text><text 
class="breeze-release-management-prepare-provider-documentation-r5" x="0" 
y="800.8" textLength="12.2" 
clip-path="url(#breeze-release-management-prepare-provider-documentation-line-32)">│</text><text
 class="breeze-release-management-prepare-provider-documentation-r1" x="451.4" 
y="800.8" textLength="988.2" 
clip-path="url(#breeze-release-management-prepare-provider-documentation-line-32)">and&#160;that&#160;recent&#160;commits&#160;are&#160;not&#160;missing&#160;&#160;&#160;&#1
 [...]
-</text><text 
class="breeze-release-management-prepare-provider-documentation-r5" x="0" 
y="825.2" textLength="12.2" 
clip-path="url(#breeze-release-management-prepare-provider-documentation-line-33)">│</text><text
 class="breeze-release-management-prepare-provider-documentation-r4" x="24.4" 
y="825.2" textLength="195.2" 
clip-path="url(#breeze-release-management-prepare-provider-documentation-line-33)">--skip-changelog</text><text
 class="breeze-release-management-prepare-provider-documentatio [...]
-</text><text 
class="breeze-release-management-prepare-provider-documentation-r5" x="0" 
y="849.6" textLength="12.2" 
clip-path="url(#breeze-release-management-prepare-provider-documentation-line-34)">│</text><text
 class="breeze-release-management-prepare-provider-documentation-r4" x="24.4" 
y="849.6" textLength="158.6" 
clip-path="url(#breeze-release-management-prepare-provider-documentation-line-34)">--skip-readme</text><text
 class="breeze-release-management-prepare-provider-documentation-r [...]
-</text><text 
class="breeze-release-management-prepare-provider-documentation-r5" x="0" 
y="874" textLength="1464" 
clip-path="url(#breeze-release-management-prepare-provider-documentation-line-35)">╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯</text><text
 class="breeze-release-management-prepare-provider-documentation-r1" x="1464" 
y="874" textLength="12.2" 
clip-path="url(#breeze-release-management-prepare-provider-d [...]
-</text><text 
class="breeze-release-management-prepare-provider-documentation-r5" x="0" 
y="898.4" textLength="24.4" 
clip-path="url(#breeze-release-management-prepare-provider-documentation-line-36)">╭─</text><text
 class="breeze-release-management-prepare-provider-documentation-r5" x="24.4" 
y="898.4" textLength="195.2" 
clip-path="url(#breeze-release-management-prepare-provider-documentation-line-36)">&#160;Common&#160;options&#160;</text><text
 class="breeze-release-management-prepare-provi [...]
-</text><text 
class="breeze-release-management-prepare-provider-documentation-r5" x="0" 
y="922.8" textLength="12.2" 
clip-path="url(#breeze-release-management-prepare-provider-documentation-line-37)">│</text><text
 class="breeze-release-management-prepare-provider-documentation-r4" x="24.4" 
y="922.8" textLength="109.8" 
clip-path="url(#breeze-release-management-prepare-provider-documentation-line-37)">--verbose</text><text
 class="breeze-release-management-prepare-provider-documentation-r7" x [...]
-</text><text 
class="breeze-release-management-prepare-provider-documentation-r5" x="0" 
y="947.2" textLength="12.2" 
clip-path="url(#breeze-release-management-prepare-provider-documentation-line-38)">│</text><text
 class="breeze-release-management-prepare-provider-documentation-r4" x="24.4" 
y="947.2" textLength="97.6" 
clip-path="url(#breeze-release-management-prepare-provider-documentation-line-38)">--answer</text><text
 class="breeze-release-management-prepare-provider-documentation-r7" x=" [...]
-</text><text 
class="breeze-release-management-prepare-provider-documentation-r5" x="0" 
y="971.6" textLength="12.2" 
clip-path="url(#breeze-release-management-prepare-provider-documentation-line-39)">│</text><text
 class="breeze-release-management-prepare-provider-documentation-r4" x="24.4" 
y="971.6" textLength="109.8" 
clip-path="url(#breeze-release-management-prepare-provider-documentation-line-39)">--dry-run</text><text
 class="breeze-release-management-prepare-provider-documentation-r7" x [...]
-</text><text 
class="breeze-release-management-prepare-provider-documentation-r5" x="0" 
y="996" textLength="12.2" 
clip-path="url(#breeze-release-management-prepare-provider-documentation-line-40)">│</text><text
 class="breeze-release-management-prepare-provider-documentation-r4" x="24.4" 
y="996" textLength="73.2" 
clip-path="url(#breeze-release-management-prepare-provider-documentation-line-40)">--help</text><text
 class="breeze-release-management-prepare-provider-documentation-r7" x="158.6" 
[...]
-</text><text 
class="breeze-release-management-prepare-provider-documentation-r5" x="0" 
y="1020.4" textLength="1464" 
clip-path="url(#breeze-release-management-prepare-provider-documentation-line-41)">╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯</text><text
 class="breeze-release-management-prepare-provider-documentation-r1" x="1464" 
y="1020.4" textLength="12.2" 
clip-path="url(#breeze-release-management-prepare-prov [...]
+</text><text 
class="breeze-release-management-prepare-provider-documentation-r5" x="0" 
y="410.4" textLength="24.4" 
clip-path="url(#breeze-release-management-prepare-provider-documentation-line-16)">╭─</text><text
 class="breeze-release-management-prepare-provider-documentation-r5" x="24.4" 
y="410.4" textLength="378.2" 
clip-path="url(#breeze-release-management-prepare-provider-documentation-line-16)">&#160;Documentation&#160;generation&#160;mode&#160;</text><text
 class="breeze-release-mana [...]
+</text><text 
class="breeze-release-management-prepare-provider-documentation-r5" x="0" 
y="434.8" textLength="12.2" 
clip-path="url(#breeze-release-management-prepare-provider-documentation-line-17)">│</text><text
 class="breeze-release-management-prepare-provider-documentation-r4" x="24.4" 
y="434.8" textLength="244" 
clip-path="url(#breeze-release-management-prepare-provider-documentation-line-17)">--incremental-update</text><text
 class="breeze-release-management-prepare-provider-documentat [...]
+</text><text 
class="breeze-release-management-prepare-provider-documentation-r5" x="0" 
y="459.2" textLength="12.2" 
clip-path="url(#breeze-release-management-prepare-provider-documentation-line-18)">│</text><text
 class="breeze-release-management-prepare-provider-documentation-r1" x="378.2" 
y="459.2" textLength="1061.4" 
clip-path="url(#breeze-release-management-prepare-provider-documentation-line-18)">changes.&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#1
 [...]
+</text><text 
class="breeze-release-management-prepare-provider-documentation-r5" x="0" 
y="483.6" textLength="12.2" 
clip-path="url(#breeze-release-management-prepare-provider-documentation-line-19)">│</text><text
 class="breeze-release-management-prepare-provider-documentation-r4" x="24.4" 
y="483.6" textLength="305" 
clip-path="url(#breeze-release-management-prepare-provider-documentation-line-19)">--only-min-version-update</text><text
 class="breeze-release-management-prepare-provider-docum [...]
+</text><text 
class="breeze-release-management-prepare-provider-documentation-r5" x="0" 
y="508" textLength="12.2" 
clip-path="url(#breeze-release-management-prepare-provider-documentation-line-20)">│</text><text
 class="breeze-release-management-prepare-provider-documentation-r1" x="378.2" 
y="508" textLength="1061.4" 
clip-path="url(#breeze-release-management-prepare-provider-documentation-line-20)">documentation&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#
 [...]
+</text><text 
class="breeze-release-management-prepare-provider-documentation-r5" x="0" 
y="532.4" textLength="12.2" 
clip-path="url(#breeze-release-management-prepare-provider-documentation-line-21)">│</text><text
 class="breeze-release-management-prepare-provider-documentation-r4" x="24.4" 
y="532.4" textLength="292.8" 
clip-path="url(#breeze-release-management-prepare-provider-documentation-line-21)">--reapply-templates-only</text><text
 class="breeze-release-management-prepare-provider-docu [...]
+</text><text 
class="breeze-release-management-prepare-provider-documentation-r5" x="0" 
y="556.8" textLength="12.2" 
clip-path="url(#breeze-release-management-prepare-provider-documentation-line-22)">│</text><text
 class="breeze-release-management-prepare-provider-documentation-r1" x="378.2" 
y="556.8" textLength="1061.4" 
clip-path="url(#breeze-release-management-prepare-provider-documentation-line-22)">need&#160;to&#160;regenerate&#160;documentation.&#160;&#160;&#160;&#160;&#160;&#160;&#160
 [...]
+</text><text 
class="breeze-release-management-prepare-provider-documentation-r5" x="0" 
y="581.2" textLength="12.2" 
clip-path="url(#breeze-release-management-prepare-provider-documentation-line-23)">│</text><text
 class="breeze-release-management-prepare-provider-documentation-r4" x="24.4" 
y="581.2" textLength="207.4" 
clip-path="url(#breeze-release-management-prepare-provider-documentation-line-23)">--non-interactive</text><text
 class="breeze-release-management-prepare-provider-documentati [...]
+</text><text 
class="breeze-release-management-prepare-provider-documentation-r5" x="0" 
y="605.6" textLength="12.2" 
clip-path="url(#breeze-release-management-prepare-provider-documentation-line-24)">│</text><text
 class="breeze-release-management-prepare-provider-documentation-r1" x="378.2" 
y="605.6" textLength="1061.4" 
clip-path="url(#breeze-release-management-prepare-provider-documentation-line-24)">confirms&#160;releasefor&#160;providers&#160;prepared&#160;for&#160;release&#160;-&#160;u
 [...]
+</text><text 
class="breeze-release-management-prepare-provider-documentation-r5" x="0" 
y="630" textLength="12.2" 
clip-path="url(#breeze-release-management-prepare-provider-documentation-line-25)">│</text><text
 class="breeze-release-management-prepare-provider-documentation-r1" x="378.2" 
y="630" textLength="1061.4" 
clip-path="url(#breeze-release-management-prepare-provider-documentation-line-25)">non-interactive&#160;mode&#160;in&#160;CI.&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#1
 [...]
+</text><text 
class="breeze-release-management-prepare-provider-documentation-r5" x="0" 
y="654.4" textLength="1464" 
clip-path="url(#breeze-release-management-prepare-provider-documentation-line-26)">╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯</text><text
 class="breeze-release-management-prepare-provider-documentation-r1" x="1464" 
y="654.4" textLength="12.2" 
clip-path="url(#breeze-release-management-prepare-provid [...]
+</text><text 
class="breeze-release-management-prepare-provider-documentation-r5" x="0" 
y="678.8" textLength="24.4" 
clip-path="url(#breeze-release-management-prepare-provider-documentation-line-27)">╭─</text><text
 class="breeze-release-management-prepare-provider-documentation-r5" x="24.4" 
y="678.8" textLength="366" 
clip-path="url(#breeze-release-management-prepare-provider-documentation-line-27)">&#160;Select&#160;non-regular&#160;providers&#160;</text><text
 class="breeze-release-managem [...]
+</text><text 
class="breeze-release-management-prepare-provider-documentation-r5" x="0" 
y="703.2" textLength="12.2" 
clip-path="url(#breeze-release-management-prepare-provider-documentation-line-28)">│</text><text
 class="breeze-release-management-prepare-provider-documentation-r4" x="24.4" 
y="703.2" textLength="353.8" 
clip-path="url(#breeze-release-management-prepare-provider-documentation-line-28)">--include-not-ready-providers</text><text
 class="breeze-release-management-prepare-provider [...]
+</text><text 
class="breeze-release-management-prepare-provider-documentation-r5" x="0" 
y="727.6" textLength="12.2" 
clip-path="url(#breeze-release-management-prepare-provider-documentation-line-29)">│</text><text
 class="breeze-release-management-prepare-provider-documentation-r4" x="24.4" 
y="727.6" textLength="329.4" 
clip-path="url(#breeze-release-management-prepare-provider-documentation-line-29)">--include-removed-providers</text><text
 class="breeze-release-management-prepare-provider-d [...]
+</text><text 
class="breeze-release-management-prepare-provider-documentation-r5" x="0" 
y="752" textLength="1464" 
clip-path="url(#breeze-release-management-prepare-provider-documentation-line-30)">╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯</text><text
 class="breeze-release-management-prepare-provider-documentation-r1" x="1464" 
y="752" textLength="12.2" 
clip-path="url(#breeze-release-management-prepare-provider-d [...]
+</text><text 
class="breeze-release-management-prepare-provider-documentation-r5" x="0" 
y="776.4" textLength="24.4" 
clip-path="url(#breeze-release-management-prepare-provider-documentation-line-31)">╭─</text><text
 class="breeze-release-management-prepare-provider-documentation-r5" x="24.4" 
y="776.4" textLength="146.4" 
clip-path="url(#breeze-release-management-prepare-provider-documentation-line-31)">&#160;Skip&#160;steps&#160;</text><text
 class="breeze-release-management-prepare-provider- [...]
+</text><text 
class="breeze-release-management-prepare-provider-documentation-r5" x="0" 
y="800.8" textLength="12.2" 
clip-path="url(#breeze-release-management-prepare-provider-documentation-line-32)">│</text><text
 class="breeze-release-management-prepare-provider-documentation-r4" x="24.4" 
y="800.8" textLength="195.2" 
clip-path="url(#breeze-release-management-prepare-provider-documentation-line-32)">--skip-git-fetch</text><text
 class="breeze-release-management-prepare-provider-documentatio [...]
+</text><text 
class="breeze-release-management-prepare-provider-documentation-r5" x="0" 
y="825.2" textLength="12.2" 
clip-path="url(#breeze-release-management-prepare-provider-documentation-line-33)">│</text><text
 class="breeze-release-management-prepare-provider-documentation-r1" x="268.4" 
y="825.2" textLength="1171.2" 
clip-path="url(#breeze-release-management-prepare-provider-documentation-line-33)">remote&#160;is&#160;recreated&#160;and&#160;fetched&#160;to&#160;make&#160;sure&#160;that
 [...]
+</text><text 
class="breeze-release-management-prepare-provider-documentation-r5" x="0" 
y="849.6" textLength="12.2" 
clip-path="url(#breeze-release-management-prepare-provider-documentation-line-34)">│</text><text
 class="breeze-release-management-prepare-provider-documentation-r1" x="268.4" 
y="849.6" textLength="1171.2" 
clip-path="url(#breeze-release-management-prepare-provider-documentation-line-34)">not&#160;missing&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&
 [...]
+</text><text 
class="breeze-release-management-prepare-provider-documentation-r5" x="0" 
y="874" textLength="12.2" 
clip-path="url(#breeze-release-management-prepare-provider-documentation-line-35)">│</text><text
 class="breeze-release-management-prepare-provider-documentation-r4" x="24.4" 
y="874" textLength="195.2" 
clip-path="url(#breeze-release-management-prepare-provider-documentation-line-35)">--skip-changelog</text><text
 class="breeze-release-management-prepare-provider-documentation-r1 [...]
+</text><text 
class="breeze-release-management-prepare-provider-documentation-r5" x="0" 
y="898.4" textLength="12.2" 
clip-path="url(#breeze-release-management-prepare-provider-documentation-line-36)">│</text><text
 class="breeze-release-management-prepare-provider-documentation-r4" x="24.4" 
y="898.4" textLength="158.6" 
clip-path="url(#breeze-release-management-prepare-provider-documentation-line-36)">--skip-readme</text><text
 class="breeze-release-management-prepare-provider-documentation-r [...]
+</text><text 
class="breeze-release-management-prepare-provider-documentation-r5" x="0" 
y="922.8" textLength="1464" 
clip-path="url(#breeze-release-management-prepare-provider-documentation-line-37)">╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯</text><text
 class="breeze-release-management-prepare-provider-documentation-r1" x="1464" 
y="922.8" textLength="12.2" 
clip-path="url(#breeze-release-management-prepare-provid [...]
+</text><text 
class="breeze-release-management-prepare-provider-documentation-r5" x="0" 
y="947.2" textLength="24.4" 
clip-path="url(#breeze-release-management-prepare-provider-documentation-line-38)">╭─</text><text
 class="breeze-release-management-prepare-provider-documentation-r5" x="24.4" 
y="947.2" textLength="219.6" 
clip-path="url(#breeze-release-management-prepare-provider-documentation-line-38)">&#160;Advanced&#160;options&#160;</text><text
 class="breeze-release-management-prepare-pro [...]
+</text><text 
class="breeze-release-management-prepare-provider-documentation-r5" x="0" 
y="971.6" textLength="12.2" 
clip-path="url(#breeze-release-management-prepare-provider-documentation-line-39)">│</text><text
 class="breeze-release-management-prepare-provider-documentation-r4" x="24.4" 
y="971.6" textLength="158.6" 
clip-path="url(#breeze-release-management-prepare-provider-documentation-line-39)">--base-branch</text><text
 class="breeze-release-management-prepare-provider-documentation-r [...]
+</text><text 
class="breeze-release-management-prepare-provider-documentation-r5" x="0" 
y="996" textLength="12.2" 
clip-path="url(#breeze-release-management-prepare-provider-documentation-line-40)">│</text><text
 class="breeze-release-management-prepare-provider-documentation-r1" x="329.4" 
y="996" textLength="1110.2" 
clip-path="url(#breeze-release-management-prepare-provider-documentation-line-40)">branch)&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#
 [...]
+</text><text 
class="breeze-release-management-prepare-provider-documentation-r5" x="0" 
y="1020.4" textLength="12.2" 
clip-path="url(#breeze-release-management-prepare-provider-documentation-line-41)">│</text><text
 class="breeze-release-management-prepare-provider-documentation-r6" x="329.4" 
y="1020.4" textLength="1110.2" 
clip-path="url(#breeze-release-management-prepare-provider-documentation-line-41)">(TEXT)&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#1
 [...]
+</text><text 
class="breeze-release-management-prepare-provider-documentation-r5" x="0" 
y="1044.8" textLength="12.2" 
clip-path="url(#breeze-release-management-prepare-provider-documentation-line-42)">│</text><text
 class="breeze-release-management-prepare-provider-documentation-r4" x="24.4" 
y="1044.8" textLength="231.8" 
clip-path="url(#breeze-release-management-prepare-provider-documentation-line-42)">--github-repository</text><text
 class="breeze-release-management-prepare-provider-documen [...]
+</text><text 
class="breeze-release-management-prepare-provider-documentation-r5" x="0" 
y="1069.2" textLength="1464" 
clip-path="url(#breeze-release-management-prepare-provider-documentation-line-43)">╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯</text><text
 class="breeze-release-management-prepare-provider-documentation-r1" x="1464" 
y="1069.2" textLength="12.2" 
clip-path="url(#breeze-release-management-prepare-prov [...]
+</text><text 
class="breeze-release-management-prepare-provider-documentation-r5" x="0" 
y="1093.6" textLength="24.4" 
clip-path="url(#breeze-release-management-prepare-provider-documentation-line-44)">╭─</text><text
 class="breeze-release-management-prepare-provider-documentation-r5" x="24.4" 
y="1093.6" textLength="195.2" 
clip-path="url(#breeze-release-management-prepare-provider-documentation-line-44)">&#160;Common&#160;options&#160;</text><text
 class="breeze-release-management-prepare-pro [...]
+</text><text 
class="breeze-release-management-prepare-provider-documentation-r5" x="0" 
y="1118" textLength="12.2" 
clip-path="url(#breeze-release-management-prepare-provider-documentation-line-45)">│</text><text
 class="breeze-release-management-prepare-provider-documentation-r4" x="24.4" 
y="1118" textLength="109.8" 
clip-path="url(#breeze-release-management-prepare-provider-documentation-line-45)">--verbose</text><text
 class="breeze-release-management-prepare-provider-documentation-r7" x=" [...]
+</text><text 
class="breeze-release-management-prepare-provider-documentation-r5" x="0" 
y="1142.4" textLength="12.2" 
clip-path="url(#breeze-release-management-prepare-provider-documentation-line-46)">│</text><text
 class="breeze-release-management-prepare-provider-documentation-r4" x="24.4" 
y="1142.4" textLength="97.6" 
clip-path="url(#breeze-release-management-prepare-provider-documentation-line-46)">--answer</text><text
 class="breeze-release-management-prepare-provider-documentation-r7" x [...]
+</text><text 
class="breeze-release-management-prepare-provider-documentation-r5" x="0" 
y="1166.8" textLength="12.2" 
clip-path="url(#breeze-release-management-prepare-provider-documentation-line-47)">│</text><text
 class="breeze-release-management-prepare-provider-documentation-r4" x="24.4" 
y="1166.8" textLength="109.8" 
clip-path="url(#breeze-release-management-prepare-provider-documentation-line-47)">--dry-run</text><text
 class="breeze-release-management-prepare-provider-documentation-r7" [...]
+</text><text 
class="breeze-release-management-prepare-provider-documentation-r5" x="0" 
y="1191.2" textLength="12.2" 
clip-path="url(#breeze-release-management-prepare-provider-documentation-line-48)">│</text><text
 class="breeze-release-management-prepare-provider-documentation-r4" x="24.4" 
y="1191.2" textLength="73.2" 
clip-path="url(#breeze-release-management-prepare-provider-documentation-line-48)">--help</text><text
 class="breeze-release-management-prepare-provider-documentation-r7" x=" [...]
+</text><text 
class="breeze-release-management-prepare-provider-documentation-r5" x="0" 
y="1215.6" textLength="1464" 
clip-path="url(#breeze-release-management-prepare-provider-documentation-line-49)">╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯</text><text
 class="breeze-release-management-prepare-provider-documentation-r1" x="1464" 
y="1215.6" textLength="12.2" 
clip-path="url(#breeze-release-management-prepare-prov [...]
 </text>
     </g>
     </g>
diff --git 
a/dev/breeze/doc/images/output_release-management_prepare-provider-documentation.txt
 
b/dev/breeze/doc/images/output_release-management_prepare-provider-documentation.txt
index 638ef96ff40..3904575304f 100644
--- 
a/dev/breeze/doc/images/output_release-management_prepare-provider-documentation.txt
+++ 
b/dev/breeze/doc/images/output_release-management_prepare-provider-documentation.txt
@@ -1 +1 @@
-b3476f20044a01072d03971ddea1b6c4
+cbba73b306a92a9b63e9087d5574b29b
diff --git 
a/dev/breeze/src/airflow_breeze/commands/release_management_commands.py 
b/dev/breeze/src/airflow_breeze/commands/release_management_commands.py
index 49bb55a820f..0406a2e6dcc 100644
--- a/dev/breeze/src/airflow_breeze/commands/release_management_commands.py
+++ b/dev/breeze/src/airflow_breeze/commands/release_management_commands.py
@@ -176,7 +176,7 @@ from airflow_breeze.utils.reproducible import 
get_source_date_epoch, repack_dete
 from airflow_breeze.utils.run_utils import (
     run_command,
 )
-from airflow_breeze.utils.shared_options import get_dry_run, get_verbose
+from airflow_breeze.utils.shared_options import get_dry_run, get_verbose, 
set_forced_answer
 from airflow_breeze.utils.version_utils import (
     is_local_package_version,
 )
@@ -806,6 +806,11 @@ def provider_action_summary(description: str, 
message_type: MessageType, package
     is_flag=True,
     help="Skip changelog generation. This is used in prek that updates 
build-files only.",
 )
[email protected](
+    "--incremental-update",
+    is_flag=True,
+    help="Runs incremental update only after rebase of earlier branch to check 
if there are no changes.",
+)
 @click.option(
     "--skip-readme",
     is_flag=True,
@@ -826,6 +831,7 @@ def prepare_provider_documentation(
     skip_git_fetch: bool,
     skip_changelog: bool,
     skip_readme: bool,
+    incremental_update: bool,
 ):
     from airflow_breeze.prepare_providers.provider_documentation import (
         PrepareReleaseDocsChangesOnlyException,
@@ -841,6 +847,8 @@ def prepare_provider_documentation(
     perform_environment_checks()
     fix_ownership_using_docker()
     cleanup_python_generated_files()
+    if incremental_update:
+        set_forced_answer("yes")
     if not provider_distributions:
         provider_distributions = get_available_distributions(
             include_removed=include_removed_providers, 
include_not_ready=include_not_ready_providers
@@ -944,6 +952,22 @@ def prepare_provider_documentation(
     get_console().print(
         "\n[info]Please review the updated files, classify the changelog 
entries and commit the changes.\n"
     )
+    if incremental_update:
+        get_console().print(r"\[warning] Generated changes:")
+        run_command(["git", "diff"])
+        get_console().print("\n")
+        get_console().print("[warning]Important")
+        get_console().print(
+            " * Please review manually the changes in changelogs above and 
move the new changelog "
+            "entries to the right sections."
+        )
+        get_console().print(
+            "* Remove the `Please review ...` comments from the changelogs 
after moving changeslogs"
+        )
+        get_console().print(
+            "* Update both changelog.rst AND provider.yaml in case the new 
changes require "
+            "different classification of the upgrade (patchlevel/minor/major)"
+        )
 
 
 def basic_provider_checks(provider_id: str) -> dict[str, Any]:
diff --git 
a/dev/breeze/src/airflow_breeze/commands/release_management_commands_config.py 
b/dev/breeze/src/airflow_breeze/commands/release_management_commands_config.py
index 8775cf5e111..71ac25029dc 100644
--- 
a/dev/breeze/src/airflow_breeze/commands/release_management_commands_config.py
+++ 
b/dev/breeze/src/airflow_breeze/commands/release_management_commands_config.py
@@ -247,20 +247,36 @@ RELEASE_MANAGEMENT_PARAMETERS: dict[str, list[dict[str, 
str | list[str]]]] = {
     ],
     "breeze release-management prepare-provider-documentation": [
         {
-            "name": "Provider documentation preparation flags",
+            "name": "Documentation generation mode",
             "options": [
-                "--base-branch",
-                "--github-repository",
-                "--include-not-ready-providers",
-                "--include-removed-providers",
-                "--non-interactive",
+                "--incremental-update",
                 "--only-min-version-update",
                 "--reapply-templates-only",
+                "--non-interactive",
+            ],
+        },
+        {
+            "name": "Select non-regular providers",
+            "options": [
+                "--include-not-ready-providers",
+                "--include-removed-providers",
+            ],
+        },
+        {
+            "name": "Skip steps",
+            "options": [
                 "--skip-git-fetch",
                 "--skip-changelog",
                 "--skip-readme",
             ],
-        }
+        },
+        {
+            "name": "Advanced options",
+            "options": [
+                "--base-branch",
+                "--github-repository",
+            ],
+        },
     ],
     "breeze release-management prepare-python-client": [
         {

Reply via email to