Releases: exasol/python-toolbox
1.3.0
1.3.0 - 2025-06-02
Summary
This version of the PTB updates nox task version:check
, see #441.
This requires file noxconfig.py
of each project to specify the path to version.py
in Config.version_file
.
With this version of the PTB you can customize the arguments for pyupgrade
in file noxconfig.py
, see ticket #449 for details:
pyupgrade_args = ("--py310-plus",)
📚 Documentation
- Updated getting_started.rst for allowing tag-based releases
✨ Features
- #441: Switched nox task for
version:check
to use the config value ofversion_file
to specify the location of theversion.py
🐞 Bug Fixes
- Updated
python-environment
action to use space-separated values for extras
⚒️ Refactorings
- #449: Refactored
dependency:licenses
:- to use pydantic models &
poetry show
for dependencies - to updated reading the
pyproject.toml
to be compatible with poetry 2.x+
- to use pydantic models &
🔩 Internal
- Relocked dependencies
1.2.0
1.2.0 - 2025-05-20
Summary
With #420, any GitHub repos using the PTB for documentation will also need to
reconfigure the GitHub Pages settings for each repo:
- Go to the affected repo's GitHub page
- Select 'Settings'
- Scroll down & select 'Pages'
- Within the 'Build and deployment' section, change 'Source' to 'GitHub Actions'.
This should also create a 'github-pages' environment, if it does not yet exist.
We'll also need to configure settings for github-pages environment:
- Go to the affected repo's GitHub page
- Select 'Settings'
- Scroll down & select 'Environment'
- Click on 'github-pages'
- In the 'Deployment branches and tags', click 'Add deployment branch or tag rule'
- Select 'Ref type' to be 'Tag' and set the 'Name pattern' to
[0-9]*.[0-9]*.[0-9]*
(or whatever matches that repo's tags)
For most repos using the PTB, the updating of the github pages only happens when a
PR is merged to main, so please check post-merge that it worked as expected.
With #422, we have hardened the security in our GitHub workflows by explicitly
setting permissions to the default GitHub token. In a few repos who greatly differ
from the default PTB setup, this might lead to small issues which require the allowed
permissions to be increased for specific jobs.
⚒️ Refactorings
- #412: Refactored pre commit hook package version.py into nox task
Security
- #420: Replaced 3rd party action with GitHub actions for gh-pages
- #422: Set permissions within the GitHub workflows to restrict usage of the default GitHub token
✨ Features
- #161: Added support for installing extras & not using a cache to the python-environment action
- #408: Added support for GitHub runners who do not per default have pipx to use the python-environment action
- #433: Removed directory .html-documentation/.doctrees after creating documentation
- #436: Updated template for new projects to poetry 2.x
Bugfixes
1.1.0
1.0.1
1.0.0
1.0.0 - 2025-04-04
Summary
In exasol-toolbox version 1.0.0
and higher the default behavior for
.github/actions/python-environment/action.yml
has changed. In previous versions,
the default value for poetry-version
was 1.2.2
, and it is now 2.1.2
.
- 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 affected repository to2.x
.
✨ Features
- #73: Added nox target for auditing work spaces in regard to known vulnerabilities
- #65: Added a Nox task for checking if the changelog got updated.
- #369: Removed option
-v
forisort
- #372: Added conversion from pip-audit JSON to expected GitHub Issue format
⚒️ Refactorings
0.21.0
0.21.0 - 2025-02-25
✨ Features
- Added tbx task for markdown formating of .lint.json
- Added a Nox task for dependencies packages and their licenses with Markdown output
- #293: Added
py.typed
file
🐞 Fixed
-
Fixed an issue in the CI workflow that caused it to be executed twice on the initial push of a PR if the PR branch was on the repo itself.
🚨 Attention: Due to these changes, the workflows will no longer be executed if the PR comes from a branch not located in this repository.
As third-party contributions from outside forks are rare to nearly non-existent, this downside was considered a reasonable trade-off at this time.
📚 Documentation
- Updated design doc (Added known Issues)
- Updated migration progress table
- Updated the FAQ with an entry about the
isort
compatibility issue - #351, #352: updated user guide
🔧 Changed
- Updated
actions/upload-artifacts
version to4.6.0
🔩 Internal
- Relocked dependencies
- Update referenced github actions
⚒️ Refactorings
- #339: Secret ALTERNATIVE_GITHUB_TOKEN removed from GitHub workflows
0.20.0
0.20.0 - 2024-12-17
🚨 Breaking Changes
-
Matrices in CI/CD workflows will be generated automatically now
Make sure you have installed all the latest workflow files, especially the newly added ones:
matrix-all.yml
matrix-python.yml
matrix-exasol.yml
✨ Added
-
Added support for dynamically generated workflow matrices.
This feature allows you to easily change the test matrices in one place:
noxconfig.py
.Note: As usual, there are different ways a user can adjust or change the behavior. In the case of the build matrices, there are three obvious ways:
- Set the appropriate fields in the
noxconfig.py
project configuration (PROJECT_CONFIG
):python_versions = [ ... ]
exasol_versions = [ ... ]
- Overwrite the nox tasks:
matrix:all
matrix:python
matrix:exasol
- Overwrite/replace the matrix generation workflows:
matrix-all.yml
matrix-python.yml
matrix-exasol.yml
Among all of the above, the safest way is to set the matrix-related fields in your project config object in
noxconfig.py
. - Set the appropriate fields in the
-
Added a nox task to validate the build/test artifacts and use it in the github workflow report
📚 Documentation
- Added new entries to the frequently asked questions regarding
multiversion documentation
🐞 Fixed
- Fixed
index.rst
documentation template to provide the correct underlining length of the main heading - Added multi-version extension to Sphinx configuration of the project template
- fixed bug in tbx worflow install error if directory exists #298 also #297
🔩 Internal
- Relocked dependencies
0.19.0
0.19.0 - 2024-12-05
🔧 Changed
- Add
__version__
member to generatedversion.py
for compatibility with other versions schemes - Excluded pyupgrade from project check due to its destructive nature
- Updated cookiecutter template
- removed obsolete template file
version.html
- removed obsolete template file
- Added nox task for format checking
- Updated GitHub workflow and workflow template of
checks.yml
to include format check
🐞 Fixed
- Fixed whitespace and final newline behavior in
release:prepare
to work well withtrailing whitespace
commit hook - Fixed syntax error in the
check.yml
template which resulted in an invalid workflow file - Fixed context forwarding to plugins hooking into
pre
andpost
integration test hookspre_integration_tests_hook(self, session, config, context)
post_integration_tests_hook(self, session, config, context)
📚 Documentation
- Fixed various documentation typos
- Added a toolbox migration guide
- Fixed version information in GitHub Actions reference
- Updated the
pre-commit
related documentation
0.18.0
0.18.0 - 2024-11-19
✨ Added
- Added support for Python 3.12 to check.yml build matrices
🔧 Changed
- Updated gh-pages workflow to use the new multiversion nox task target
🐞 Fixed
- Removed the
test
file filter fromlint:security
0.17.0
0.17.0 - 2024-11-18
🐞 Fixed
- Fixed the issue with publishing new documentation after releasing a new version
- Fixed the issue where master/main was not part of the multiversion documentation