All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog and this project adheres to Semantic Versioning. Types of changes are:
- Breaking changes for breaking changes.
- Features for new features or changes in existing functionality.
- Fixes for any bug fixes.
- Deprecated for soon-to-be removed features.
8.1.1 - 2024-09-23
- Don't lowercase branch prefix if coming from configuration or issue tracker.
8.1.0 - 2024-09-15
- Command
dependencies-update
will display link to a change log next to each dependency base on the changelog_urls.yaml file distributed with the plugin.
8.0.0 - 2024-09-15
- Configuration option
tool.delfino.plugins.delfino-core.branch_prefix
has been moved totool.delfino.plugins.delfino-core.vcs.branch_prefix
. - Configuration option
tool.delfino.plugins.delfino-core.typecheck
has been moved totool.delfino.plugins.delfino-core.mypy
.
In the vcs
/gh
/glab
pr
/mr
start
commands, the integration attempts to fetch issue title. The resulting branch name will be set to <ISSUE_PREFIX>-<ISSUE_NUMBER>/<ISSUE_TITLE>
and the first commit message will be set to <ISSUE_TITLE>
. Use the issue number in place of the title to trigger it. For example delfino mr start 123
.
issue_prefix
- The issue prefix (including a trailing dash).tracker_url
- The issue tracker URL. If not set, the integration will be disabled.username_env_var
- The environment variable containing the username for the issue tracker. Defaults toDELFINO_CORE_ISSUE_TRACKING_USERNAME
.api_key_env_var
- The environment variable containing the API key for the issue tracker. Defaults toDELFINO_CORE_ISSUE_TRACKING_API_KEY
.
vcs
- Installshttpx
used for fetching issue title.
7.5.0 - 2024-08-02
- Improve branch name character sanitization in
vcs
/gh
/glab
commands. Now not only trailing special characters are removed but also leading ones and ones around slashes. Example:!breaking: feature / branch.
becomesbreaking_feature/branch
.
7.4.6 - 2024-07-17
- Use
@me
instead ofme
as assignee when creating a Gitlab MR usingvcs
/glab
pr
/mr
create
/start
commands.
7.4.5 - 2024-07-17
- Finish Merge requests on web when creating a Gitlab MR using
vcs
/glab
pr
/mr
create
/start
commands.
7.4.4 - 2024-07-16
- Dependencies update.
ruff
in version0.5.0
has removed support forruff <path>
syntax and requiresruff check <path>
instead. Theruff
command has been updated to reflect this change, however it will allow this to be overridden by supplying a different action as the extra argument after--
.
7.4.3 - 2024-07-16
- Skip all prompts when creating a Gitlab MR using
vcs
/glab
pr
/mr
create
/start
commands.
7.4.2 - 2024-06-21
- Fix trunk branch hardcoded to
main
invcs
/gh
/glab
pr
/mr
start
command.
7.4.1 - 2024-06-21
- Allow
/
in branch name forvcs
/gh
/glab
commands.
7.4.0 - 2024-06-21
- New config option to allow specifying the branch name prefix for
vcs
commands. By default, it is set to the git username:[tool.delfino.plugins.delfino-core] branch_prefix = "your_prefix/"
7.3.0 - 2024-06-20
- New command
glab
that wraps theglab
CLI tool. Similar to the existinggh
command, it has the following subcommands:glab mr create
glab mr start
glab mr view
- New command
vcs
that auto-selects the correct VCS CLI tool in the current directory based on git remote. Currently,gh
andglab
are supported. It has the following subcommands:vcs pr/mr create
vcs pr/mr start
vcs pr/mr view
7.2.4 - 2024-01-23
- Do not require
PyYAML
when thepre-commit
command is not used.
7.2.3 - 2024-01-23
- Missing
ruff
as an optional dependency in theverify
group.
7.2.2 - 2023-10-31
- A crash in
dependencies-update
introduced by update ofdelfino
.
7.2.1 - 2023-10-31
dependencies-update
strips final underscore from the branch name.
7.2.0 - 2023-10-24
- Replace heading and wait messages in output of the
verify
anddependencies-update
commands with spinners.
7.1.0 - 2023-10-14
- New command
ruff
. It has been also added to thelint
command group. - New command
gh
with additional functionality on top of thegh
CLI tool:gh pr create
adds sensible defaults for a single developer per branch to ask for almost no input. It also accepts a title of the PR as free text after the commands, as long as it doesn't start with a-
.gh pr start
is a new command, which is likegh pr create
, but also creates a new branch with a name matching the PR title, prefixed with current user's username. This branch is based off latest main and pushed to remote with an empty commit.gh pr view
default to opening the PR in a web browser.
- Asking questions in
dependencies-updates
now correctly defaults to "Yes" if no answer provided.
7.0.0 - 2023-10-14
This version renames several commands and command groups to be more consistent and predictable. The intention is to name commands using the same name as the underlying tool. Several commands were also turned into command groups of individual commands, to allow more flexibility in configuration.
Old name | New name |
---|---|
lint-pylint |
pylint |
lint-pydocstyle |
pydocstyle |
lint-pycodestyle |
pycodestyle |
typecheck |
mypy |
test |
pytest |
test-unit |
pytest-unit |
test-integration |
pytest-integration |
- The
verify-all
command group is now calledverify
, to match the existingformat
andlint
command groups. However, the configration option to override theverify
command group is stilltool.delfino.plugins.delfino-core.verify_commands
as it already matched the new name.
Affects optional dependencies installed with delfino-core
. Update your pyproject.toml
file accordingly.
Old name | New name |
---|---|
typecheck |
mypy |
verify_all |
verify |
Affects list of commands visible in given command groups. Update tool.delfino.plugins.delfino-core.<COMMAND_GROUP_NAME>_commans
in your pyproject.toml
file accordingly.
Old name | New name |
---|---|
typecheck |
mypy |
verify_all_commands |
verify_commands |
This is an implementation detail that should not be relied on, but it's listed here for completeness. Command and command group names were changed to match a pattern run_<COMMAND_NAME>
and run_group_<COMMAND_GROUP_NAME>
. This is to prevent clashes with the names of the underlying tools and easier discoverability.
Old name | New name |
---|---|
coverage_open |
run_coverage_open |
coverage_report |
run_coverage_report |
dependencies_update |
run_dependencies_update |
lint |
run_group_lint |
lint_pycodestyle |
run_pycodestyle |
lint_pydocstyle |
run_pydocstyle |
lint_pylint |
run_pylint |
pre_commit |
run_pre_commit |
run_format |
run_group_format |
switch_python_version |
run_switch_python_version |
test |
run_group_test |
test_all |
run_pytest |
test_integration |
run_pytest_integration |
test_unit |
run_pytest_unit |
typecheck |
run_mypy |
verify_all |
run_group_verify |
- Help text for all command groups is now generated, preventing typos and stale information about commands.
ensure-pre-commit
pyupgrade
isort
black
- The
format
command has been turned into a command group of individual.- Contains the following commands:
ensure-pre-commit
,pyupgrade
,isort
andblack
. - Can be overriden with
tool.delfino.plugins.delfino-core.format_commands
option in thepyproject.toml
file.
- Contains the following commands:
test
has been formally changed to a command group (functionally, it was already a group).- Contains the following commands:
pytest
andcoverage-report
. - Can be overriden with
tool.delfino.plugins.delfino-core.test_commands
option in thepyproject.toml
file.
- Contains the following commands:
6.1.0 - 2023-10-13
- New
pre-commit
command to run all stages of pre-commit or a single hook with the correct stage.
6.0.0 - 2023-10-12
- Upgrade to
delfino
version3.x
, which requirespydantic>=2.0
.
5.2.2 - 2023-10-12
pyupgrade
incorrectly handling minor version number intool.poetry.dependencies.python
ofpyproject.toml
file.- dependencies update.
5.2.1 - 2023-09-15
- Dependencies update
- Don't ask to
git push
if nothing was committed duringdependencies-update
.
5.2.0 - 2023-07-03
- Add
--stash
(default) /--no-stash
option todependencies-update
command to control whether to stash changes before updating dependencies.
5.1.1 - 2023-06-25
- Updates deprecated
local_commands_directory
fromdelfino
. - Add walrus operator supported since Python 3.8.
- Adds
pyupgrade
into theformat
command
5.0.0 - 2023-06-25
- Drops Python 3.7 support.
4.0.1 - 2022-12-29
- Removed optional dependencies
twine
andpackaging
.
4.0.0 - 2022-12-29
- Removed the
upload-to-pypi
command. No longer needed with Poetry and Packagecloud uses a different upload mechanism. - Moved the
build-docker
command into a new plugindelfino-docker
asdocker-build
.
Have a look in the pyproject.toml
file. If upload-to-pypi
or build-docker
are listed under tool.delfino.plugins.delfino-core.disable_plugins
, remove them. You don't need to do anything else.
If tool.delfino.plugins.delfino-core.dockerhub
exists in the pyproject.toml
:
- Install
delfino-docker
. - In
pyproject.toml
, create a keytool.delfino.plugins.delfino-docker.docker_build
. - Move
tool.delfino.plugins.delfino-core.dockerhub
under this new key. - Rename
username
todockerhub_username
.
- Removed
upload_to_pypi
andbuild_docker
extra dependency groups. Missing groups will be simply ignored during installation, so this is not a breaking change. - Removed optional dependencies on
twine
andpackaging
in theall
group.
3.10.0 - 2022-12-29
dependencies-update
command:- Logs git operations when the automatically created branch doesn't exist.
- Opens pull request link in a browser if chosen by the user.
- Dependencies update
3.9.0 - 2022-12-16
dependencies-update
no longer prints out executed commands sincedelfino>=0.29.0
logs all executed commands in debug level. Use--log-level debug
to see them.
- Config options incorrectly passed to all commands in a group instead of only those they belonged to.
3.8.1 - 2022-12-16
- Dependencies update.
3.8.0 - 2022-12-16
format
command takes a list of one or more files/folders to use with the-f
/--file
/--folder
option.
3.7.1 - 2022-12-15
- Check if
git-python
is installed after it's use is attempted.
3.7.0 - 2022-12-15
- Add support for
poetry
in thedependencies-update
command.
- Point to correct file to edit in
dependencies-update
forpipenv
.
3.6.0 - 2022-12-15
- Commands executed via
utils.execute_commands_group
will receive passed arguments aspassed_args
from config, if they use thedelfino.decorators.pass_args
decorator. Example:will pass[tool.delfino.plugins.delfino-core.lint-pylint] pass_args = "--fail-under 0.9"
--fail-under 0.9
topylint
executed bylint-pylint
, which is inlint
group, which itself is inverify-all
group.
3.5.0 - 2022-12-14
utils.execute_commands_group
logs a debug message when a command is not executed because it is disabled.
3.4.1 - 2022-12-13
- Wrapping
pytest
with extra modules via thetool.delfino.plugins.delfino-core.pytest_modules
config.
3.4.0 - 2022-12-13
- Allow wrapping
pytest
with extra modules viatool.delfino.plugins.delfino-core.pytest_modules
config. Each value in this list will prependpytest
with-m <MODULE NAME>
.
- Warn about using commands in a group that don't exist instead of skipping them silently.
3.3.0 - 2022-12-12
- Commands in the
lint
command group can be overriden withtool.delfino.plugins.delfino-core.lint_commands
option in thepyproject.toml
file.
3.2.1 - 2022-12-09
- Add missing setting of
PYTHONPATH
environment variable in tests.
3.2.0 - 2022-12-09
- New command
test
, which is the same astest-all
but without coverage.
3.1.0 - 2022-12-09
typecheck
will print additional headings if any folders are in a strict mode.
3.0.1 - 2022-12-09
- Dependencies update
3.0.0 - 2022-12-08
test-unit
andtest-integration
no longer support the--maxfail
and--debug
flags. Use the passthrough option (any argument after--
) to pass these flags to pytest directly with--maxfail
and-s
respectively.
test-all
command takes a list of one or more files/folders to use with the-f
/--file
/--folder
option.
- Fix type annotations for
passed_args
.
2.3.0 - 2022-12-07
lint
,lint-pylint
,lint-pydocstyle
andlint-pycodestyle
commands takes a list of one or more files/folders to use with the-f
/--file
/--folder
option.
2.2.0 - 2022-12-07
- The following commands now take arbitrary arguments after
--
, which are then passed to the underlying tool:lint-pycodestyle
lint-pydocstyle
lint-pylint
test-integration
test-unit
typecheck
2.1.1 - 2022-12-05
- Add missing optional dependencies.
2.1.0 - 2022-12-05
- New command
dependencies-update
and optional dependency groupdependencies_update
.
2.0.1 - 2022-12-04
- Workaround for
build-docker
ofcargo
on ARMv7 in emulator.
2.0.0 - 2022-11-30
typecheck
no longer accepts an arbitrary list of arguments interpreted as list of files to use. Use-f
/--file
/--folder
instead. This option must be repeated for multiple files/folders.
1.2.2 - 2022-11-30
- Plugin entry point to the module with commands.
1.2.1 - 2022-11-29
- Relax version dependency on
delfino
to allow faster initial development.
1.2.0 - 2022-11-29
- Moved in optional dependencies from
delfino
.
1.1.0 - 2022-11-29
- Moved in core commands from
delfino
.
1.0.0 - 2022-11-26
- Initial source code