Releases: exasol/python-toolbox
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-versionwhen 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
-vforisort - #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.typedfile
🐞 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
isortcompatibility issue - #351, #352: updated user guide
🔧 Changed
- Updated
actions/upload-artifactsversion 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.ymlmatrix-python.ymlmatrix-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.pyproject configuration (PROJECT_CONFIG):python_versions = [ ... ]exasol_versions = [ ... ]
- Overwrite the nox tasks:
matrix:allmatrix:pythonmatrix:exasol
- Overwrite/replace the matrix generation workflows:
matrix-all.ymlmatrix-python.ymlmatrix-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.rstdocumentation 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.pyfor 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.ymlto include format check
🐞 Fixed
- Fixed whitespace and final newline behavior in
release:prepareto work well withtrailing whitespacecommit hook - Fixed syntax error in the
check.ymltemplate which resulted in an invalid workflow file - Fixed context forwarding to plugins hooking into
preandpostintegration 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-commitrelated 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
testfile 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
✨ Added
0.16.0
0.16.0 - 2024-11-15
🚨 Breaking Changes
-
Dropped python 3.8 support
-
Changed names of all nox tasks
Old Name New Name Description fix project:fix Runs all automated fixes on the code base check project:check Runs all available checks on the project report project:report Collects and generates metrics summary for the workspace unit-tests test:unit Runs all unit tests integration-tests test:integration Runs all the integration tests coverage test:coverage Runs all tests (unit + integration) and reports the code coverage lint lint:code Runs the static code analyzer on the project type-check lint:typing Runs the type checker on the project security lint:security Runs the security linter on the project build-build docs:build Builds the project documentation open-open docs:open Opens the built project documentation clean-docs docs:clean Removes the documentations build folder prepare-release release:prepare Prepares the project for a new release
✨ Added
- Added support for multi version Documentation
- Added nox tasks for building multi-version documentation
🐞 Fixed
- Fixed CD workflow template
- Fixed the selection of the latest version in Multi-Version Documentation
📚 Documentation
- Added Documentation on Metrics
- Added additional details regarding adjusted sphinx-multiversion
- Restructured documentation
🔩 Internal
- Relocked dependencies