From 3c047747afccb4b691b2740a73fa8d31fdab2995 Mon Sep 17 00:00:00 2001 From: Ariel Schulz Date: Wed, 25 Feb 2026 15:46:54 +0100 Subject: [PATCH 1/3] Prepare release 6.0.0 --- .github/actions/security-issues/action.yml | 2 +- doc/changes/changelog.md | 2 + doc/changes/changes_6.0.0.md | 40 +++++++++++++++++++ doc/changes/unreleased.md | 31 -------------- .../github/workflows/build-and-publish.yml | 2 +- .../github/workflows/check-release-tag.yml | 2 +- .../templates/github/workflows/checks.yml | 18 ++++----- .../templates/github/workflows/gh-pages.yml | 2 +- .../templates/github/workflows/matrix-all.yml | 2 +- .../github/workflows/matrix-exasol.yml | 2 +- .../github/workflows/matrix-python.yml | 2 +- .../templates/github/workflows/report.yml | 2 +- .../github/workflows/slow-checks.yml | 2 +- exasol/toolbox/version.py | 6 +-- project-template/cookiecutter.json | 2 +- pyproject.toml | 2 +- 16 files changed, 65 insertions(+), 54 deletions(-) create mode 100644 doc/changes/changes_6.0.0.md diff --git a/.github/actions/security-issues/action.yml b/.github/actions/security-issues/action.yml index 38d9b8750..48fbf8a11 100644 --- a/.github/actions/security-issues/action.yml +++ b/.github/actions/security-issues/action.yml @@ -39,7 +39,7 @@ runs: - name: Install Python Toolbox / Security tool shell: bash run: | - pip install exasol-toolbox==5.1.1 + pip install exasol-toolbox==6.0.0 - name: Create Security Issue Report shell: bash diff --git a/doc/changes/changelog.md b/doc/changes/changelog.md index a83bca463..5e77dee31 100644 --- a/doc/changes/changelog.md +++ b/doc/changes/changelog.md @@ -1,6 +1,7 @@ # Changelog * [unreleased](unreleased.md) +* [6.0.0](changes_6.0.0.md) * [5.1.1](changes_5.1.1.md) * [5.1.0](changes_5.1.0.md) * [5.0.0](changes_5.0.0.md) @@ -57,6 +58,7 @@ hidden: --- unreleased +changes_6.0.0 changes_5.1.1 changes_5.1.0 changes_5.0.0 diff --git a/doc/changes/changes_6.0.0.md b/doc/changes/changes_6.0.0.md new file mode 100644 index 000000000..d842d5e77 --- /dev/null +++ b/doc/changes/changes_6.0.0.md @@ -0,0 +1,40 @@ +# 6.0.0 - 2026-02-25 + +## Summary + +In this major version: +* the Nox session `workflow:generate` has been added to replace the deprecated +`tbx workflow install` and `tbx workflow update`. It has the additional feature +that users may customize the PTB provided workflows with a `.workflow-patcher.yml` +file. +* the GitHub workflow templates have been modified to include step_ids and to follow +an AP-format naming convention, as such it is anticipated that updating the workflows +results in several small changes. + +## Feature + +* #691: Started customization of PTB workflows by defining the YML schema +* #712: Added basic logging to workflow processing +* #714: Added logic to modify a workflow using the` .workflow-patcher.yml` +* #717: Restricted workflow names in `.workflow-patcher.yml` to template workflow names +* #719: Added Nox session `workflow:generate` to generate/update workflows using the `.workflow-patcher.yml` (if desired) +* #725: Added newline after headlines for dependency changes + +## Documentation + +* #705: Described how the versions of poetry and python are retrieved +* #706: Added description how to ignore findings to the User Guide +* #721: Added documentation for Nox session `workflow:generate` + +## Refactoring + +* #664: Removed deprecation warning for projects to switch over to BaseConfig +* #637: Added id to workflow templates & synchronized on naming conventions +* #702: Fixed StepCustomization.content to list[StepContent] and security concern for `update_cookiecutter_default` +* #710: Refactored and added custom exceptions to YamlRender-based classes + +## Dependency Updates + +### `main` + +* Added dependency `structlog:25.5.0` diff --git a/doc/changes/unreleased.md b/doc/changes/unreleased.md index c6b743452..fb4737052 100644 --- a/doc/changes/unreleased.md +++ b/doc/changes/unreleased.md @@ -1,34 +1,3 @@ # Unreleased ## Summary - -In this major version: -* the Nox session `workflow:generate` has been added to replace the deprecated -`tbx workflow install` and `tbx workflow update`. It has the additional feature -that users may customize the PTB provided workflows with a `.workflow-patcher.yml` -file. -* the GitHub workflow templates have been modified to include step_ids and to follow -an AP-format naming convention, as such it is anticipated that updating the workflows -results in several small changes. - -## Feature - -* #691: Started customization of PTB workflows by defining the YML schema -* #712: Added basic logging to workflow processing -* #714: Added logic to modify a workflow using the` .workflow-patcher.yml` -* #717: Restricted workflow names in `.workflow-patcher.yml` to template workflow names -* #719: Added Nox session `workflow:generate` to generate/update workflows using the `.workflow-patcher.yml` (if desired) -* #725: Added newline after headlines for dependency changes - -## Documentation - -* #705: Described how the versions of poetry and python are retrieved -* #706: Added description how to ignore findings to the User Guide -* #721: Added documentation for Nox session `workflow:generate` - -## Refactoring - -* #664: Removed deprecation warning for projects to switch over to BaseConfig -* #637: Added id to workflow templates & synchronized on naming conventions -* #702: Fixed StepCustomization.content to list[StepContent] and security concern for `update_cookiecutter_default` -* #710: Refactored and added custom exceptions to YamlRender-based classes diff --git a/exasol/toolbox/templates/github/workflows/build-and-publish.yml b/exasol/toolbox/templates/github/workflows/build-and-publish.yml index 3944152e9..b52d26a8e 100644 --- a/exasol/toolbox/templates/github/workflows/build-and-publish.yml +++ b/exasol/toolbox/templates/github/workflows/build-and-publish.yml @@ -19,7 +19,7 @@ jobs: - name: Set up Python & Poetry Environment id: set-up-python-and-poetry-environment - uses: exasol/python-toolbox/.github/actions/python-environment@v5 + uses: exasol/python-toolbox/.github/actions/python-environment@v6 with: python-version: "(( minimum_python_version ))" poetry-version: "(( dependency_manager_version ))" diff --git a/exasol/toolbox/templates/github/workflows/check-release-tag.yml b/exasol/toolbox/templates/github/workflows/check-release-tag.yml index 15251d300..485af3c77 100644 --- a/exasol/toolbox/templates/github/workflows/check-release-tag.yml +++ b/exasol/toolbox/templates/github/workflows/check-release-tag.yml @@ -17,7 +17,7 @@ jobs: - name: Set up Python & Poetry Environment id: set-up-python-and-poetry-environment - uses: exasol/python-toolbox/.github/actions/python-environment@v5 + uses: exasol/python-toolbox/.github/actions/python-environment@v6 with: python-version: "(( minimum_python_version ))" poetry-version: "(( dependency_manager_version ))" diff --git a/exasol/toolbox/templates/github/workflows/checks.yml b/exasol/toolbox/templates/github/workflows/checks.yml index 5d44275a3..a1adde13f 100644 --- a/exasol/toolbox/templates/github/workflows/checks.yml +++ b/exasol/toolbox/templates/github/workflows/checks.yml @@ -16,7 +16,7 @@ jobs: - name: Set up Python & Poetry Environment id: set-up-python-and-poetry-environment - uses: exasol/python-toolbox/.github/actions/python-environment@v5 + uses: exasol/python-toolbox/.github/actions/python-environment@v6 with: python-version: "(( minimum_python_version ))" poetry-version: "(( dependency_manager_version ))" @@ -37,7 +37,7 @@ jobs: - name: Set up Python & Poetry Environment id: set-up-python-and-poetry-environment - uses: exasol/python-toolbox/.github/actions/python-environment@v5 + uses: exasol/python-toolbox/.github/actions/python-environment@v6 with: python-version: "(( minimum_python_version ))" poetry-version: "(( dependency_manager_version ))" @@ -63,7 +63,7 @@ jobs: - name: Set up Python & Poetry Environment id: set-up-python-and-poetry-environment - uses: exasol/python-toolbox/.github/actions/python-environment@v5 + uses: exasol/python-toolbox/.github/actions/python-environment@v6 with: python-version: "(( minimum_python_version ))" poetry-version: "(( dependency_manager_version ))" @@ -88,7 +88,7 @@ jobs: - name: Set up Python & Poetry Environment id: set-up-python-and-poetry-environment - uses: exasol/python-toolbox/.github/actions/python-environment@v5 + uses: exasol/python-toolbox/.github/actions/python-environment@v6 with: python-version: ${{ matrix.python-versions }} poetry-version: "(( dependency_manager_version ))" @@ -124,7 +124,7 @@ jobs: - name: Set up Python & Poetry Environment id: set-up-python-and-poetry-environment - uses: exasol/python-toolbox/.github/actions/python-environment@v5 + uses: exasol/python-toolbox/.github/actions/python-environment@v6 with: python-version: ${{ matrix.python-versions }} poetry-version: "(( dependency_manager_version ))" @@ -150,7 +150,7 @@ jobs: - name: Set up Python & Poetry Environment id: set-up-python-and-poetry-environment - uses: exasol/python-toolbox/.github/actions/python-environment@v5 + uses: exasol/python-toolbox/.github/actions/python-environment@v6 with: python-version: ${{ matrix.python-versions }} poetry-version: "(( dependency_manager_version ))" @@ -179,7 +179,7 @@ jobs: - name: Set up Python & Poetry Environment id: set-up-python-and-poetry-environment - uses: exasol/python-toolbox/.github/actions/python-environment@v5 + uses: exasol/python-toolbox/.github/actions/python-environment@v6 with: python-version: "(( minimum_python_version ))" poetry-version: "(( dependency_manager_version ))" @@ -201,7 +201,7 @@ jobs: - name: Set up Python & Poetry Environment id: set-up-python-and-poetry-environment - uses: exasol/python-toolbox/.github/actions/python-environment@v5 + uses: exasol/python-toolbox/.github/actions/python-environment@v6 with: python-version: "(( minimum_python_version ))" poetry-version: "(( dependency_manager_version ))" @@ -227,7 +227,7 @@ jobs: - name: Set up Python & Poetry Environment id: set-up-python-and-poetry-environment - uses: exasol/python-toolbox/.github/actions/python-environment@v5 + uses: exasol/python-toolbox/.github/actions/python-environment@v6 with: python-version: ${{ matrix.python-versions }} poetry-version: "(( dependency_manager_version ))" diff --git a/exasol/toolbox/templates/github/workflows/gh-pages.yml b/exasol/toolbox/templates/github/workflows/gh-pages.yml index 565665cf9..074539d06 100644 --- a/exasol/toolbox/templates/github/workflows/gh-pages.yml +++ b/exasol/toolbox/templates/github/workflows/gh-pages.yml @@ -19,7 +19,7 @@ jobs: - name: Set up Python & Poetry Environment id: set-up-python-and-poetry-environment - uses: exasol/python-toolbox/.github/actions/python-environment@v5 + uses: exasol/python-toolbox/.github/actions/python-environment@v6 with: python-version: "(( minimum_python_version ))" poetry-version: "(( dependency_manager_version ))" diff --git a/exasol/toolbox/templates/github/workflows/matrix-all.yml b/exasol/toolbox/templates/github/workflows/matrix-all.yml index cd8653d40..53b6b484b 100644 --- a/exasol/toolbox/templates/github/workflows/matrix-all.yml +++ b/exasol/toolbox/templates/github/workflows/matrix-all.yml @@ -19,7 +19,7 @@ jobs: - name: Set up Python & Poetry Environment id: set-up-python-and-poetry-environment - uses: exasol/python-toolbox/.github/actions/python-environment@v5 + uses: exasol/python-toolbox/.github/actions/python-environment@v6 with: python-version: "(( minimum_python_version ))" poetry-version: "(( dependency_manager_version ))" diff --git a/exasol/toolbox/templates/github/workflows/matrix-exasol.yml b/exasol/toolbox/templates/github/workflows/matrix-exasol.yml index 42c0ee4b6..cf3925875 100644 --- a/exasol/toolbox/templates/github/workflows/matrix-exasol.yml +++ b/exasol/toolbox/templates/github/workflows/matrix-exasol.yml @@ -19,7 +19,7 @@ jobs: - name: Set up Python & Poetry Environment id: set-up-python-and-poetry-environment - uses: exasol/python-toolbox/.github/actions/python-environment@v5 + uses: exasol/python-toolbox/.github/actions/python-environment@v6 with: python-version: "(( minimum_python_version ))" poetry-version: "(( dependency_manager_version ))" diff --git a/exasol/toolbox/templates/github/workflows/matrix-python.yml b/exasol/toolbox/templates/github/workflows/matrix-python.yml index 92b374152..4cc78207a 100644 --- a/exasol/toolbox/templates/github/workflows/matrix-python.yml +++ b/exasol/toolbox/templates/github/workflows/matrix-python.yml @@ -19,7 +19,7 @@ jobs: - name: Set up Python & Poetry Environment id: set-up-python-and-poetry-environment - uses: exasol/python-toolbox/.github/actions/python-environment@v5 + uses: exasol/python-toolbox/.github/actions/python-environment@v6 with: python-version: "(( minimum_python_version ))" poetry-version: "(( dependency_manager_version ))" diff --git a/exasol/toolbox/templates/github/workflows/report.yml b/exasol/toolbox/templates/github/workflows/report.yml index ea3310013..f70079e90 100644 --- a/exasol/toolbox/templates/github/workflows/report.yml +++ b/exasol/toolbox/templates/github/workflows/report.yml @@ -20,7 +20,7 @@ jobs: - name: Set up Python & Poetry Environment id: set-up-python-and-poetry-environment - uses: exasol/python-toolbox/.github/actions/python-environment@v5 + uses: exasol/python-toolbox/.github/actions/python-environment@v6 with: python-version: "(( minimum_python_version ))" poetry-version: "(( dependency_manager_version ))" diff --git a/exasol/toolbox/templates/github/workflows/slow-checks.yml b/exasol/toolbox/templates/github/workflows/slow-checks.yml index 4e9a96a8e..631fb0496 100644 --- a/exasol/toolbox/templates/github/workflows/slow-checks.yml +++ b/exasol/toolbox/templates/github/workflows/slow-checks.yml @@ -29,7 +29,7 @@ jobs: - name: Set up Python & Poetry Environment id: set-up-python-and-poetry-environment - uses: exasol/python-toolbox/.github/actions/python-environment@v5 + uses: exasol/python-toolbox/.github/actions/python-environment@v6 with: python-version: ${{ matrix.python-version }} poetry-version: "(( dependency_manager_version ))" diff --git a/exasol/toolbox/version.py b/exasol/toolbox/version.py index 150005a49..2fc5ce8e9 100644 --- a/exasol/toolbox/version.py +++ b/exasol/toolbox/version.py @@ -8,8 +8,8 @@ `poetry version X.Y.Z`. """ -MAJOR = 5 -MINOR = 1 -PATCH = 1 +MAJOR = 6 +MINOR = 0 +PATCH = 0 VERSION = f"{MAJOR}.{MINOR}.{PATCH}" __version__ = VERSION diff --git a/project-template/cookiecutter.json b/project-template/cookiecutter.json index cc1c71161..0a93e547d 100644 --- a/project-template/cookiecutter.json +++ b/project-template/cookiecutter.json @@ -9,7 +9,7 @@ "author_email": "opensource@exasol.com", "project_short_tag": "", "python_version_min": "3.10", - "exasol_toolbox_version_range": ">=5.1.1,<6", + "exasol_toolbox_version_range": ">=6.0.0,<7", "license_year": "{% now 'utc', '%Y' %}", "__repo_name_slug": "{{cookiecutter.package_name}}", "__package_name_slug": "{{cookiecutter.package_name}}", diff --git a/pyproject.toml b/pyproject.toml index d01a5f05b..083063bab 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,6 +1,6 @@ [project] name = "exasol-toolbox" -version = "5.1.1" +version = "6.0.0" description = "Your one-stop solution for managing all standard tasks and core workflows of your Python project." authors = [ { name = "Nicola Coretti", email = "nicola.coretti@exasol.com" }, From 30c5acfb3dc65dd7cb09285815eb8876f6fe10ec Mon Sep 17 00:00:00 2001 From: Ariel Schulz Date: Wed, 25 Feb 2026 15:50:23 +0100 Subject: [PATCH 2/3] Switch to code-block python --- .../features/github_workflows/create_and_update.rst | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/doc/user_guide/features/github_workflows/create_and_update.rst b/doc/user_guide/features/github_workflows/create_and_update.rst index 715796771..a82eb4867 100644 --- a/doc/user_guide/features/github_workflows/create_and_update.rst +++ b/doc/user_guide/features/github_workflows/create_and_update.rst @@ -21,7 +21,7 @@ Poetry Version PTB has a default value for the Poetry version but you can override it in file ``noxconfig.py``, e.g. -.. code-block:: shell +.. code-block:: python PROJECT_CONFIG = Config( dependency_manager=DependencyManager(name="poetry", version="2.3.0"), @@ -39,7 +39,7 @@ free of bugs and working correctly for each combination of these items. The PTB has a default for these versions, but you can override it in the ``noxconfig.py`` file, e.g. -.. code-block:: shell +.. code-block:: python PROJECT_CONFIG = Config( python_versions=("3.10", "3.12), From f367d17c30efa06737960fe8e36907d445621a04 Mon Sep 17 00:00:00 2001 From: Ariel Schulz Date: Wed, 25 Feb 2026 15:51:19 +0100 Subject: [PATCH 3/3] Modify date for tomorrow & add link --- doc/changes/changes_6.0.0.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/doc/changes/changes_6.0.0.md b/doc/changes/changes_6.0.0.md index d842d5e77..0524c1c7a 100644 --- a/doc/changes/changes_6.0.0.md +++ b/doc/changes/changes_6.0.0.md @@ -1,4 +1,4 @@ -# 6.0.0 - 2026-02-25 +# 6.0.0 - 2026-02-26 ## Summary @@ -6,7 +6,7 @@ In this major version: * the Nox session `workflow:generate` has been added to replace the deprecated `tbx workflow install` and `tbx workflow update`. It has the additional feature that users may customize the PTB provided workflows with a `.workflow-patcher.yml` -file. +file, as detailed in [Customize Workflows for Your Project](https://exasol.github.io/python-toolbox/main/user_guide/features/github_workflows/create_and_update.html#customize-workflows-for-your-project). * the GitHub workflow templates have been modified to include step_ids and to follow an AP-format naming convention, as such it is anticipated that updating the workflows results in several small changes.