Releases: exasol/python-toolbox
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
✨ 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
0.15.0
0.15.0 - 2024-09-27
✨ Added
- Added cookiecutter-template for creating new project
- #246: Added standard branch protection workflow
🐞 Bug Fixes
- #181: Updated metrics related workflows
- #225: Fixed broken reference to version file in workflow
- Fixed coverage for empty project
⚒️ Refactorings
- #219: Updated project template configuration
- Updated actions/checkout to v4
📚 Documentation
- Add Python Styleguide
- Add Issue Guide
- Updated User Documentation
🔩 Internal
- Update depdency constraints
- Relock dependencies
0.14.0
0.13.0
0.13.0 - 2024-06-06
🐞 Fixed
- Changed the default linter configuration in the Nox lint task to automatically generate a report. Previously, setting it in pyproject.toml was required.
✨ Feature
- #162: Updated templates for GitHub workflows to inherit secrets by default
- #52: Add support for caching python dependencies in GitHub workflows
📚 Documentation
- Updated information about nox tasks and
PYTHONPATH
setup
🔩 Internal
- Relocked and updated dependencies
0.12.0
0.12.0 - 2024-05-17
🐞 Fixed
- Added missing artifact uploads to checks.yml
✨ Added
-
Added Support for Argument Forwarding to Test-Related Nox Tasks
Overview:
With this new feature, it is now possible to forward additional arguments to the application (pytest) that executes the tests.For example this feature now allows for easy execution of a subset of tests using pytest’s
-k
expression selection or-m
marker selection (see usage examples below).The forwarding will work for the following Nox tasks:
- unit-tests
- integration-tests
- coverage
Usage:
To prepare a release, simply execute a command in your terminal as shown in the examples below:
Filter tests based on pytest markers:
nox -s unit-tests -- -m fast
Filter tests based on pytest expressions:
nox -s unit-tests -- -k smoke_test
0.10.0
0.10.0 - 2024-05-15
🚨 Breaking Changes
Static callbacks/hooks in the Config object have been removed and replaced with Plugin hooks.
For additional information, refer to customization in the user guide.
🐞 Fixed
- Updated templates for GH workflows to add content of changes file for release letter
✨ Added
- Implemented plugin support for
pre-
andpost-
integration-tests hooks.
📚 Documentation
- Added documentation on nox task plugins for users and developers.
- Added documentation on python-environment action.
- Updated theme and structure of the documentation.
🔩 Internal
- Relocked and updated dependencies