Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .github/actions/security-issues/action.yml
Original file line number Diff line number Diff line change
Expand Up @@ -39,7 +39,7 @@ runs:
- name: Install Python Toolbox / Security tool
shell: bash
run: |
pip install exasol-toolbox==4.0.1
pip install exasol-toolbox==5.0.0

- name: Create Security Issue Report
shell: bash
Expand Down
2 changes: 2 additions & 0 deletions doc/changes/changelog.md

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

98 changes: 98 additions & 0 deletions doc/changes/changes_5.0.0.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,98 @@
# 5.0.0 - 2026-01-23

## Summary

In this major release, attention needs to be given to the following:

* `gh-pages.yml` changes
* See GitHub `upload-pages-artifact` v4
* default Poetry version changed from `2.1.2` to `2.3.0`
* See Poetry Update

### GitHub `upload-pages-artifact` v4

In v4, the developers of `upload-pages-artifact` dropped support for uploading
dotfiles. This means that the `gh-pages.yml` has been modified such that it
converts the generated `.html-documentation` to `html-documentation`. It was also checked
which files are created by the nox session `docs:build`. It was found that in many cases
that the only dotfiles produced are `.buildinfo` and `.doctrees`, which do not need
to be uploaded for the GitHub pages to work. To verify that your project will not be
adversely affected by these changes, please:

1. Run the nox sessions `docs:build`
2. Use this command to see what dotfiles are created:
```bash
ls -a .hmtl-documentation/ | grep "^\."
```
3. If there are other critical dotfiles, consider converting them. Otherwise, create
an issue in the `python-toolbox`.

### Poetry Update
The default behavior for `.github/actions/python-environment/action.yml` has changed.
In previous versions, the default value for `poetry-version` was `2.1.2`, and it is now `2.3.0`.

* For migrating to `2.3.0`, see
[from Poetry 2.1.x to 2.3.0](https://exasol.github.io/python-toolbox/main/user_guide/dependencies.html#from-poetry-2-1-x-to-2-3-0).

* Depending on its poetry version, a repository relying on the default behavior of said
action may run into breaking changes. This can easily be resolved with explicitly setting the
`poetry-version` when calling the GitHub action. It is, however, recommended whenever
possible to update the poetry version of the affected repository. Since this major release,
you can, if needed, alter the `poetry-version` via the `noxconfig.py::PROJECT_CONFIG`
by changing `dependency_manager_version`. If you do this, please create an issue to
update to `2.3.0` at your earliest convenience.

## Documentation

* #648: Moved sonar setup instructions in the User guide

## Features

* #649: Restricted noxconfig usage throughout exasol.toolbox to only exasol.toolbox.nox.*
* #647: Added summary to changelog template
* #657: Updated `release:prepare` to modify cookiecutter template exasol-toolbox version range
* #665: Added SECURITY.md to the cookiecutter template
* #667: Switched GitHub workflow templates to be controlled by PROJECT_CONFIG:
* The values in `BaseConfig.github_template_dict` are used to render the following values in
the templates
* `dependency_manager_version` - used for `poetry-version` in the workflows.
The default it `2.3.0`.
* `minimum_python_version` - used for `python-version` in the workflows whenever
`python-version` for actions that are run once. The default is the minimum value
in your project's defined `python_versions`
* `os_version` - used for the GitHub runner in the workflows. The default is
`ubuntu-24.04`

## Refactoring

* #624: Updated GitHub python-environment action and all code to use Poetry >= 2.3.0
* #662: Update GitHub actions
* `checkout` from v5 to [v6](https://github.com/actions/checkout/releases/tag/v6.0.0) - using Node.js 24
* `upload-pages-artifact` from v3 to [v4](https://github.com/actions/upload-pages-artifact/releases/tag/v4.0.0) - breaking change
* `download-artifact`from v6 to [v7](https://github.com/actions/download-artifact/releases/tag/v7.0.0) - using Node.js 24
* `upload-artifact` from v5 to [v6](https://github.com/actions/upload-artifact/releases/tag/v6.0.0) - using Node.js 24
* #667: Added deprecation warnings to `tbx workflow x` endpoints as some are unneeded
(will be removed) and others need updates (will be moved to a nox session)
* #669: Updated PTB GitHub workflows

## Dependency Updates

### `main`
* Updated dependency `bandit:1.9.2` to `1.9.3`
* Updated dependency `black:25.11.0` to `25.12.0`
* Updated dependency `coverage:7.12.0` to `7.13.1`
* Updated dependency `furo:2025.9.25` to `2025.12.19`
* Updated dependency `import-linter:2.7` to `2.9`
* Updated dependency `mypy:1.19.0` to `1.19.1`
* Updated dependency `pre-commit:4.5.0` to `4.5.1`
* Updated dependency `pysonar:1.2.1.3951` to `1.3.0.4086`
* Updated dependency `pytest:9.0.1` to `9.0.2`
* Added dependency `pyyaml:6.0.3`
* Updated dependency `ruff:0.14.8` to `0.14.13`
* Updated dependency `shibuya:2025.11.10` to `2026.1.9`
* Updated dependency `sphinx-design:0.6.1` to `0.7.0`
* Updated dependency `sphinx-toolbox:4.0.0` to `4.1.2`
* Updated dependency `typer:0.20.0` to `0.21.1`

### `dev`
* Added dependency `types-pyyaml:6.0.12.20250915`
73 changes: 0 additions & 73 deletions doc/changes/unreleased.md
Original file line number Diff line number Diff line change
@@ -1,76 +1,3 @@
# Unreleased

## Summary

In this major release, attention needs to be given to the following:

* `gh-pages.yml` changes
* See GitHub `upload-pages-artifact` v4
* default Poetry version changed from `2.1.2` to `2.3.0`
* See Poetry Update

### GitHub `upload-pages-artifact` v4

In v4, the developers of `upload-pages-artifact` dropped support for uploading
dotfiles. This means that the `gh-pages.yml` has been modified such that it
converts the generated `.html-documentation` to `html-documentation`. It was also checked
which files are created by the nox session `docs:build`. It was found that in many cases
that the only dotfiles produced are `.buildinfo` and `.doctrees`, which do not need
to be uploaded for the GitHub pages to work. To verify that your project will not be
adversely affected by these changes, please:

1. Run the nox sessions `docs:build`
2. Use this command to see what dotfiles are created:
```bash
ls -a .hmtl-documentation/ | grep "^\."
```
3. If there are other critical dotfiles, consider converting them. Otherwise, create
an issue in the `python-toolbox`.

### Poetry Update
The default behavior for `.github/actions/python-environment/action.yml` has changed.
In previous versions, the default value for `poetry-version` was `2.1.2`, and it is now `2.3.0`.

* For migrating to `2.3.0`, see
[from Poetry 2.1.x to 2.3.0](https://exasol.github.io/python-toolbox/main/user_guide/dependencies.html#from-poetry-2-1-x-to-2-3-0).

* Depending on its poetry version, a repository relying on the default behavior of said
action may run into breaking changes. This can easily be resolved with explicitly setting the
`poetry-version` when calling the GitHub action. It is, however, recommended whenever
possible to update the poetry version of the affected repository. Since this major release,
you can, if needed, alter the `poetry-version` via the `noxconfig.py::PROJECT_CONFIG`
by changing `dependency_manager_version`. If you do this, please create an issue to
update to `2.3.0` at your earliest convenience.

## Documentation

* #648: Moved sonar setup instructions in the User guide

## Features

* #649: Restricted noxconfig usage throughout exasol.toolbox to only exasol.toolbox.nox.*
* #647: Added summary to changelog template
* #657: Updated `release:prepare` to modify cookiecutter template exasol-toolbox version range
* #665: Added SECURITY.md to the cookiecutter template
* #667: Switched GitHub workflow templates to be controlled by PROJECT_CONFIG:
* The values in `BaseConfig.github_template_dict` are used to render the following values in
the templates
* `dependency_manager_version` - used for `poetry-version` in the workflows.
The default it `2.3.0`.
* `minimum_python_version` - used for `python-version` in the workflows whenever
`python-version` for actions that are run once. The default is the minimum value
in your project's defined `python_versions`
* `os_version` - used for the GitHub runner in the workflows. The default is
`ubuntu-24.04`

## Refactoring

* #624: Updated GitHub python-environment action and all code to use Poetry >= 2.3.0
* #662: Update GitHub actions
* `checkout` from v5 to [v6](https://github.com/actions/checkout/releases/tag/v6.0.0) - using Node.js 24
* `upload-pages-artifact` from v3 to [v4](https://github.com/actions/upload-pages-artifact/releases/tag/v4.0.0) - breaking change
* `download-artifact`from v6 to [v7](https://github.com/actions/download-artifact/releases/tag/v7.0.0) - using Node.js 24
* `upload-artifact` from v5 to [v6](https://github.com/actions/upload-artifact/releases/tag/v6.0.0) - using Node.js 24
* #667: Added deprecation warnings to `tbx workflow x` endpoints as some are unneeded
(will be removed) and others need updates (will be moved to a nox session)
* #669: Updated PTB GitHub workflows
2 changes: 1 addition & 1 deletion doc/user_guide/dependencies.rst
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,7 @@ Migration Information
From Poetry 2.1.x to 2.3.0
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
It is **highly** encouraged that a developer update their ``pyproject.toml`` and
system-wide Poetry installation to most use effectively use Poetry ``2.3.0``:
system-wide Poetry installation to most effectively use Poetry ``2.3.0``:

#. In your terminal, update your system-wide Poetry version:

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ jobs:
uses: actions/checkout@v6

- name: Setup Python & Poetry Environment
uses: exasol/python-toolbox/.github/actions/python-environment@v4
uses: exasol/python-toolbox/.github/actions/python-environment@v5
with:
python-version: "(( minimum_python_version ))"
poetry-version: "(( dependency_manager_version ))"
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ jobs:
uses: actions/checkout@v6

- name: Setup Python & Poetry Environment
uses: exasol/python-toolbox/.github/actions/python-environment@v4
uses: exasol/python-toolbox/.github/actions/python-environment@v5
with:
python-version: "(( minimum_python_version ))"
poetry-version: "(( dependency_manager_version ))"
Expand Down
18 changes: 9 additions & 9 deletions exasol/toolbox/templates/github/workflows/checks.yml
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ jobs:
fetch-depth: 0

- name: Setup Python & Poetry Environment
uses: exasol/python-toolbox/.github/actions/python-environment@v4
uses: exasol/python-toolbox/.github/actions/python-environment@v5
with:
python-version: "(( minimum_python_version ))"
poetry-version: "(( dependency_manager_version ))"
Expand All @@ -35,7 +35,7 @@ jobs:
uses: actions/checkout@v6

- name: Setup Python & Poetry Environment
uses: exasol/python-toolbox/.github/actions/python-environment@v4
uses: exasol/python-toolbox/.github/actions/python-environment@v5
with:
python-version: "(( minimum_python_version ))"
poetry-version: "(( dependency_manager_version ))"
Expand Down Expand Up @@ -65,7 +65,7 @@ jobs:
uses: actions/checkout@v6

- name: Setup Python & Poetry Environment
uses: exasol/python-toolbox/.github/actions/python-environment@v4
uses: exasol/python-toolbox/.github/actions/python-environment@v5
with:
python-version: "(( minimum_python_version ))"
poetry-version: "(( dependency_manager_version ))"
Expand All @@ -87,7 +87,7 @@ jobs:
uses: actions/checkout@v6

- name: Setup Python & Poetry Environment
uses: exasol/python-toolbox/.github/actions/python-environment@v4
uses: exasol/python-toolbox/.github/actions/python-environment@v5
with:
python-version: ${{ matrix.python-version }}
poetry-version: "(( dependency_manager_version ))"
Expand Down Expand Up @@ -119,7 +119,7 @@ jobs:
uses: actions/checkout@v6

- name: Setup Python & Poetry Environment
uses: exasol/python-toolbox/.github/actions/python-environment@v4
uses: exasol/python-toolbox/.github/actions/python-environment@v5
with:
python-version: ${{ matrix.python-version }}
poetry-version: "(( dependency_manager_version ))"
Expand All @@ -142,7 +142,7 @@ jobs:
uses: actions/checkout@v6

- name: Setup Python & Poetry Environment
uses: exasol/python-toolbox/.github/actions/python-environment@v4
uses: exasol/python-toolbox/.github/actions/python-environment@v5
with:
python-version: ${{ matrix.python-version }}
poetry-version: "(( dependency_manager_version ))"
Expand All @@ -167,7 +167,7 @@ jobs:
uses: actions/checkout@v6

- name: Setup Python & Poetry Environment
uses: exasol/python-toolbox/.github/actions/python-environment@v4
uses: exasol/python-toolbox/.github/actions/python-environment@v5
with:
python-version: "(( minimum_python_version ))"
poetry-version: "(( dependency_manager_version ))"
Expand All @@ -187,7 +187,7 @@ jobs:
uses: actions/checkout@v6

- name: Setup Python & Poetry Environment
uses: exasol/python-toolbox/.github/actions/python-environment@v4
uses: exasol/python-toolbox/.github/actions/python-environment@v5
with:
python-version: "(( minimum_python_version ))"
poetry-version: "(( dependency_manager_version ))"
Expand All @@ -210,7 +210,7 @@ jobs:
uses: actions/checkout@v6

- name: Setup Python & Poetry Environment
uses: exasol/python-toolbox/.github/actions/python-environment@v4
uses: exasol/python-toolbox/.github/actions/python-environment@v5
with:
python-version: ${{ matrix.python-version }}
poetry-version: "(( dependency_manager_version ))"
Expand Down
2 changes: 1 addition & 1 deletion exasol/toolbox/templates/github/workflows/gh-pages.yml
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ jobs:
fetch-depth: 0

- name: Setup Python & Poetry Environment
uses: exasol/python-toolbox/.github/actions/python-environment@v4
uses: exasol/python-toolbox/.github/actions/python-environment@v5
with:
python-version: "(( minimum_python_version ))"
poetry-version: "(( dependency_manager_version ))"
Expand Down
2 changes: 1 addition & 1 deletion exasol/toolbox/templates/github/workflows/matrix-all.yml
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ jobs:
uses: actions/checkout@v6

- name: Setup Python & Poetry Environment
uses: exasol/python-toolbox/.github/actions/python-environment@v4
uses: exasol/python-toolbox/.github/actions/python-environment@v5
with:
python-version: "(( minimum_python_version ))"
poetry-version: "(( dependency_manager_version ))"
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ jobs:
uses: actions/checkout@v6

- name: Setup Python & Poetry Environment
uses: exasol/python-toolbox/.github/actions/python-environment@v4
uses: exasol/python-toolbox/.github/actions/python-environment@v5
with:
python-version: "(( minimum_python_version ))"
poetry-version: "(( dependency_manager_version ))"
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ jobs:
uses: actions/checkout@v6

- name: Setup Python & Poetry Environment
uses: exasol/python-toolbox/.github/actions/python-environment@v4
uses: exasol/python-toolbox/.github/actions/python-environment@v5
with:
python-version: "(( minimum_python_version ))"
poetry-version: "(( dependency_manager_version ))"
Expand Down
2 changes: 1 addition & 1 deletion exasol/toolbox/templates/github/workflows/report.yml
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ jobs:
fetch-depth: 0

- name: Setup Python & Poetry Environment
uses: exasol/python-toolbox/.github/actions/python-environment@v4
uses: exasol/python-toolbox/.github/actions/python-environment@v5
with:
python-version: "(( minimum_python_version ))"
poetry-version: "(( dependency_manager_version ))"
Expand Down
2 changes: 1 addition & 1 deletion exasol/toolbox/templates/github/workflows/slow-checks.yml
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@ jobs:
uses: actions/checkout@v6

- name: Setup Python & Poetry Environment
uses: exasol/python-toolbox/.github/actions/python-environment@v4
uses: exasol/python-toolbox/.github/actions/python-environment@v5
with:
python-version: ${{ matrix.python-version }}
poetry-version: "(( dependency_manager_version ))"
Expand Down
4 changes: 2 additions & 2 deletions exasol/toolbox/version.py

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion project-template/cookiecutter.json
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@
"author_email": "opensource@exasol.com",
"project_short_tag": "",
"python_version_min": "3.10",
"exasol_toolbox_version_range": ">=4.0.1,<5",
"exasol_toolbox_version_range": ">=5.0.0,<6",
"license_year": "{% now 'utc', '%Y' %}",
"__repo_name_slug": "{{cookiecutter.package_name}}",
"__package_name_slug": "{{cookiecutter.package_name}}",
Expand Down
2 changes: 1 addition & 1 deletion pyproject.toml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[project]
name = "exasol-toolbox"
version = "4.0.1"
version = "5.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" },
Expand Down
Loading