Skip to content

Releases: exasol/python-toolbox

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

0.16.0

15 Nov 07:52
9876aa8
Compare
Choose a tag to compare

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

27 Sep 08:58
2ac5e97
Compare
Choose a tag to compare

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

02 Jul 13:38
fae0689
Compare
Choose a tag to compare

0.14.0 - 2024-07-02

Doc

  • #204: Added a guideline for removing ci-job from workflow pr-merge.yml

Internal

  • Relock dependencies

0.13.0

07 Jun 07:19
e92f10d
Compare
Choose a tag to compare

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

17 May 08:41
df24c4c
Compare
Choose a tag to compare

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

15 May 14:31
464b9f3
Compare
Choose a tag to compare

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- and post- 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