Skip to content

Releases: exasol/python-toolbox

1.3.0

02 Jun 08:20
b697249
Compare
Choose a tag to compare

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 of version_file to specify the location of the version.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+

🔩 Internal

  • Relocked dependencies

1.2.0

20 May 10:30
2641543
Compare
Choose a tag to compare

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:

  1. Go to the affected repo's GitHub page
  2. Select 'Settings'
  3. Scroll down & select 'Pages'
  4. 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:

  1. Go to the affected repo's GitHub page
  2. Select 'Settings'
  3. Scroll down & select 'Environment'
  4. Click on 'github-pages'
  5. In the 'Deployment branches and tags', click 'Add deployment branch or tag rule'
  6. 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

  • #428: Fixed detecting report coverage failures
  • #434: Adapted template so new projects do not fail from lint errors

1.1.0

07 May 09:36
373669e
Compare
Choose a tag to compare

1.1.0 - 2025-05-07

✨ Features

  • #362: Added Nox task to trigger a release
  • #406: Added .poetry to ignore list for formatting
  • #417: Added working-directory to python-environment action for a different pyproject.toml location

Bugfixes

  • #401: Modified nox docs:multiversion to add .nojekyll file

1.0.1

11 Apr 09:16
e05da01
Compare
Choose a tag to compare

1.0.1 - 2025-04-11

Bugfixes

  • #397: Fixed handling empty coverage
  • #403: Removed unneeded poetry run from internal code of nox tasks

Refactorings

  • #399: Modified release:prepare to update .github/actions with new PTB version

1.0.0

04 Apr 13:01
0e157f8
Compare
Choose a tag to compare

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 to 2.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 for isort
  • #372: Added conversion from pip-audit JSON to expected GitHub Issue format

⚒️ Refactorings

  • #388: Switched GitHub workflows to use pinned OS version
  • #376: Updated to poetry 2.1.2

0.21.0

25 Feb 13:56
f1b47d8
Compare
Choose a tag to compare

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 to 4.6.0

🔩 Internal

  • Relocked dependencies
  • Update referenced github actions

⚒️ Refactorings

  • #339: Secret ALTERNATIVE_GITHUB_TOKEN removed from GitHub workflows

0.20.0

17 Dec 08:43
50d4f43
Compare
Choose a tag to compare

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.

  • 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

05 Dec 12:58
d00af85
Compare
Choose a tag to compare

0.19.0 - 2024-12-05

🔧 Changed

  • Add __version__ member to generated version.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
  • 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 with trailing 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 and post integration test hooks
    • pre_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

19 Nov 12:19
59e4d60
Compare
Choose a tag to compare

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 from lint:security

0.17.0

18 Nov 10:49
aadf177
Compare
Choose a tag to compare

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

  • #149: Added nox task to lint imports
  • Added support to manually trigger documentation build
  • #248: Added security results to workflow summary
  • #233: Added nox task to verify dependency declarations