Skip to content

Changelog

1.13.2 (2024-03-06)

TypeDescriptionPRIssuesAuthor
Fix Try first to import `importlib.metadata` before `importlib_metadata` in `PythonEnvironment.get_distributions()`@NiklasRosenstein

1.13.1 (2024-02-27)

TypeDescriptionPRIssuesAuthor
Fix Fix creation of activate scripts when creating virtual environments with `venv` by passing the correct flag `--upgrade-deps` instead of `--upgrade`python-slap/slap-cli#135@NiklasRosenstein

1.13.0 (2024-02-16)

TypeDescriptionPRIssuesAuthor
Feature Add `uv` support132@NiklasRosenstein

1.12.0 (2024-01-27)

TypeDescriptionPRIssuesAuthor
Improvement Get rid of deprecated `nr.util` dependency by placing all the required bits of code into Slap itself108@NiklasRosenstein
Improvement Add `Once.flush()` to use that instead of `.get(resupply=True)`108@NiklasRosenstein
Improvement Use `importlib-metadata` package over `pkg_resources`108@NiklasRosenstein
Improvement Python 3.12 support108@NiklasRosenstein

1.11.2 (2024-01-11)

TypeDescriptionPRIssuesAuthor
Fix Running `slap release` in a sub-project of a mono repository is now supported and only affects that sub-project.@NiklasRosenstein

1.11.1 (2023-12-14)

TypeDescriptionPRIssuesAuthor
Improvement allow passing `none` or `null` for the `slap init --license` parameter103@NiklasRosenstein
Feature Add `slap venv --no-upgrade-pip` option and automatically upgrade Pip after creating a virtual environment if the option is not specified.103102@NiklasRosenstein
Improvement remove dependency on `pkg_resources` directly in the module, although a transitive dependency (`nr.util.plugin`) still uses it10498@NiklasRosenstein
Fix Fixed a bug in `slap release` where an unreleased changelog in the project root was not renamed and updated in a mono repository105@NiklasRosenstein

1.11.0 (2023-11-07)

TypeDescriptionPRIssuesAuthor
Feature Add `component` key to changelog entries, and `slap add -C ` option@NiklasRosenstein

1.10.4 (2023-10-16)

TypeDescriptionPRIssuesAuthor
Improvement Hide git fatal error97alex.spencer@helsing.ai

1.10.3 (2023-09-12)

TypeDescriptionPRIssuesAuthor
Fix Allow `SHELL` to be not set when running the `slap venv` command@NiklasRosenstein

1.10.2 (2023-09-08)

TypeDescriptionPRIssuesAuthor
Fix Use new Version for poetry-core and lock minor version9695@alexespencer

1.10.1 (2023-09-08)

TypeDescriptionPRIssuesAuthor
Fix Pin `poetry-core` to `<1.7.0` to prevent issues with the `poetry.core.semver` module that is being imported by Slap and removed in `poetry-core 1.7.0`@NiklasRosenstein

1.10.0 (2023-08-16)

TypeDescriptionPRIssuesAuthor
Feature Add fish to supported shells for shimming92@jonhoo
Fix Fix: CI failing due to black complaining94florian.eich@helsing.ai
Fix Fix `GithubActionsRepositoryCiPlugin.publish_changes()` for when a repo lives under a symlinked directory (such as `/tmp -> /private/tmp` on OSX)94@NiklasRosenstein

1.9.8 (2023-06-29)

TypeDescriptionPRIssuesAuthor
Feature Add `[tool.slap.release].pre_commit` option that can be used to run a command after `slap release` updated the files and before a commit is made and tagged.@NiklasRosenstein
Improvement Upgrade databind to `^4.4.0`@NiklasRosenstein

1.9.7 (2023-06-20)

TypeDescriptionPRIssuesAuthor
Fix Avoid trying to render files in __pycache__ when using `slap init`.@NiklasRosenstein

1.9.6 (2023-06-19)

TypeDescriptionPRIssuesAuthor
Fix Fix `slap install --from` and make it work with the `--only` option.@NiklasRosenstein

1.9.5 (2023-06-19)

TypeDescriptionPRIssuesAuthor
Feature the `--only` option to `slap install` can now receive multiple values delimited by commas, the `slap test` command now also takes an `--only` option.@NiklasRosenstein

1.9.4 (2023-05-19)

TypeDescriptionPRIssuesAuthor
Fix add missing readme key to pyproject.toml template@NiklasRosenstein

1.9.3 (2023-05-19)

TypeDescriptionPRIssuesAuthor
Fix Fixed `slap init` command which broke due to a change to the `ApplicationPlugin` constructor and a missing custom implementation of `InstallCommandPlugin.__init__()`@NiklasRosenstein

1.9.2 (2023-05-15)

TypeDescriptionPRIssuesAuthor
Fix Fix using `slap install --from ` by passing the right CWD in `find_repository()`@NiklasRosenstein

1.9.1 (2023-05-15)

TypeDescriptionPRIssuesAuthor
Fix Fix running command defined in Repository root with `slap run` broken by the previous version.@NiklasRosenstein

1.9.0 (2023-05-15)

TypeDescriptionPRIssuesAuthor
Breaking change Slap now tries to find the repository root even if the current working directory is in a sub-directory of a project in that mono repository. By default, projects in a mono repository will all share the same Virtual environment. This can be disabled by setting the `[tool.slap].shared_venv` setting in `pyproject.toml` to `false`.@NiklasRosenstein
Improvement `slap install` from a project inside a mono repository will only install that specific project and, if any, its dependencies among the projects in the same monorepository.@NiklasRosenstein
Improvement Ensure that `slap check`, `slap publish`, `slap report`, `slap run` and `slap test` only run in the context of the main project when in a subdirectory mapping to a Project instead of the entire repository.@NiklasRosenstein

1.8.1 (2023-05-13)

TypeDescriptionPRIssuesAuthor
Improvement add E203 to ignored lints in flake8@NiklasRosenstein
Fix Fix parsing version constraints that are wrapped with parentheses@NiklasRosenstein
Fix Fix Github workflow templates@NiklasRosenstein

1.8.0 (2023-05-13)

TypeDescriptionPRIssuesAuthor
Fix Fix `slap changelog diff pr update --use github-actions` command used by the `NklasRosenstein/slap@gha/changelog/update/v2` action to support forks.@NiklasRosenstein
Improvement Store templates that can be created with `slap init` in files instead of in code, improve Python template to include `pycln` and a dummy for running `slap run docs:build`, updated Github actions workflow templates to use `pull_request_target` for changelog validation@NiklasRosenstein
Improvement add `skip-checks: true` to commits pushed by `slap changelog diff pr update`@NiklasRosenstein

1.7.6 (2023-03-16)

TypeDescriptionPRIssuesAuthor
Fix Fix extracting package "extras" from the Poetry dependencies configuration.@NiklasRosenstein

1.7.5 (2023-03-13)

TypeDescriptionPRIssuesAuthor
Fix Fix a `NameError` that occurred in `slap changelog format --markdown` when Slap does not understand the repository host of your project.@NiklasRosenstein

1.7.4 (2023-03-05)

TypeDescriptionPRIssuesAuthor
Improvement Add `.dmypy.json` to `.gitignore` generated with `slap init`.@NiklasRosenstein
Fix Fix regression when using `slap run ` where `` is not a command defined in the project or repository configuration introduced in the previous version.87@NiklasRosenstein
Improvement To avoid confusion, the `slap run` command now must be run from a virtual environment.89@NiklasRosenstein

1.7.3 (2023-03-05)

TypeDescriptionPRIssuesAuthor
Fix Dependency with extras are now written correctly into `pyprojec.toml` for Poetry projects8481@NiklasRosenstein
Feature The `slap run` command can now run the commands defined in every project of a monorepository (if set), only if the monorepository does not define the command itself (in `slap.toml`).8582@NiklasRosenstein

1.7.2 (2023-02-20)

TypeDescriptionPRIssuesAuthor
Improvement fix spelling in warning log@NiklasRosenstein
Feature Add zsh to supported shells for shimming@cdbrkfxrpt
Fix Fix outdated command documentation@cdbrkfxrpt
Improvement Rename `GitRepositoryHostPlugin` to `RepositoryCIPlugin`; this clarifies the intent and reduces confusion with the `RepositoryHost` interface.79@NiklasRosenstein
Improvement allow GitHub username resolution to raise any Exception; we catch it, log it and fall back to using the configured Git email address instead.80@NiklasRosenstein

1.7.1 (2023-02-09)

TypeDescriptionPRIssuesAuthor
Fix The Poetry key for dependency groups is `[tool.poetry.group]`, not `[tool.poetry.groups]`. We now support both but show a warning if the latter is used to inform the user that they should be using `group` instead.77@NiklasRosenstein

1.7.0 (2023-02-06)

TypeDescriptionPRIssuesAuthor
Breaking change Reimplement command to update PRs in added changelog entries and rename it to `slap changelog diff pr update`75@NiklasRosenstein
Improvement Update `GithubActionsChangelogUpdateAutomationPlugin.get_pr()` to return the full PR URL instead of just the number.75@NiklasRosenstein
Breaking change Rename `ChangelogUpdateAutomationPlugin` to `GitRepositoryHostPlugin`, add `GitRepositoryHostPlugin.all()` and `~.get()`, rename plugin entrypoint from `slap.plugins.changelog_update_automation` to `slap.plugins.git_repository_host`75@NiklasRosenstein
Feature add `slap changelog diff assert-added`75@NiklasRosenstein

1.6.33 (2023-01-29)

TypeDescriptionPRIssuesAuthor
Improvement improve error message when there is no current environment set via `slap venv -s {env}`@NiklasRosenstein
Feature support Poetry 1.2.0+ new `tool.poetry.group.dev.dependencies`@NiklasRosenstein
Fix fix `pyproject.toml` for Poetry 1.3.0+ validation of `tool.poetry.extras` which can only list dependency names, but not their version constraints. Instead, use `tool.poetry.groups.*` introduced in Poetry 1.2.0@NiklasRosenstein
Fix some internal mypy fixes that come up with newer versions of MyPy@NiklasRosenstein

1.6.32 (2023-01-22)

TypeDescriptionPRIssuesAuthor
Fix Fix running Slap on Windows for commands run from `slap test` and detecting the active Python virtualenv.@NiklasRosenstein

1.6.31 (2022-12-01)

TypeDescriptionPRIssuesAuthor
Fix fix `.flake8` config in template created by `slap init`, newer versions of Flake will error if a comment is on the same line with a value@NiklasRosenstein

1.6.30 (2022-09-20)

TypeDescriptionPRIssuesAuthor
Fix fixed an issue with `poetry-core ==1.2.0`python-slap/slap-cli#66@NiklasRosenstein

1.6.29 (2022-09-12)

TypeDescriptionPRIssuesAuthor
Fix fix return code of `slap venv --exists,-e`@NiklasRosenstein

1.6.28 (2022-09-12)

TypeDescriptionPRIssuesAuthor
Feature add `--use-venv` option to all Venv-aware commands, add `slap venv --exists,-e` flag@NiklasRosenstein

1.6.27 (2022-09-05)

TypeDescriptionPRIssuesAuthor
Fix Updated how `slap install --index` and `--extra-index` are used to inject credentials; they now behave the same (with `--extra-index` marked as deprecated). The `url` is now optional, allowing you use the option only to inject credentials of a package index configured in the project (e.g. `pyproject.toml`) without specifying the URL@NiklasRosenstein

1.6.26 (2022-07-31)

TypeDescriptionPRIssuesAuthor
Fix bump dependency on `nr.util` which is guaranteed to have the `nr.utils.url` package@NiklasRosenstein

1.6.25 (2022-07-29)

TypeDescriptionPRIssuesAuthor
Breaking change replace `--index-url` option with `--index` option which takes the same format as `--extra-index` (but the `name=` key can be omitted)@NiklasRosenstein

1.6.24 (2022-07-21)

TypeDescriptionPRIssuesAuthor
Improvement make use of `nr.python.environment` package to detect and deactivate/activate a virtual env@NiklasRosenstein
Feature add `--index-url` and `--extra-index` option to `slap install` (note that `--extra-index` requires a different value format than Pip's `--extra-index-url` option)@NiklasRosenstein

1.6.23 (2022-07-21)

TypeDescriptionPRIssuesAuthor
Fix fix an AttributeError when using new `--ignore-active-venv` option (no clue why Mypy did not pick it up)@NiklasRosenstein

1.6.22 (2022-07-21)

TypeDescriptionPRIssuesAuthor
Feature add `--ignore-active-venv` option to Venv-aware commands such as `slap install`@NiklasRosenstein
Fix fix wrong return code in `slap install` if venv check fails (e.g. if attempting to install into a virtual environment without `--no-venv-check`)@NiklasRosenstein

1.6.21 (2022-07-17)

TypeDescriptionPRIssuesAuthor
Fix fix `slap report dependencies` command (regression in previous release)@NiklasRosenstein

1.6.20 (2022-07-16)

TypeDescriptionPRIssuesAuthor
Fix `slap publish` now builds from the current project subdirectory@NiklasRosenstein

1.6.19 (2022-07-16)

TypeDescriptionPRIssuesAuthor
Fix fix error message on missing `py.typed` file62@NiklasRosenstein
Improvement add `--no-venv-check` option to `VenvAwareCommand`, fixes #6161@NiklasRosenstein
Improvement use `build` module instead of hand-crafted build backend, add `Dependencies.build` property53@NiklasRosenstein

1.6.18 (2022-07-01)

TypeDescriptionPRIssuesAuthor
Feature add `slap test -x,--exclude` option@NiklasRosenstein

1.6.17 (2022-06-20)

TypeDescriptionPRIssuesAuthor
Fix Fix `slap install --upgrade` option which is now correctly a flag when it previously incorrectly expected an argument@NiklasRosenstein

1.6.16 (2022-06-20)

TypeDescriptionPRIssuesAuthor
Improvement Add `W503` and `W504` to `.flake8` file of `slap init`@NiklasRosenstein

1.6.15 (2022-05-27)

TypeDescriptionPRIssuesAuthor
Improvement add `strict` option to Mypy settings in template@NiklasRosenstein

1.6.14 (2022-05-23)

TypeDescriptionPRIssuesAuthor
Fix Add missing black options to init template@NiklasRosenstein
Improvement Init template now uses dmypy by default@NiklasRosenstein
Improvement Set python_version = 3.6 in Init template@NiklasRosenstein
Fix `slap install` no longer calls Pip without dependenciesto install, instead it prints this info and exits successfully@NiklasRosenstein

1.6.13 (2022-05-06)

TypeDescriptionPRIssuesAuthor
Fix Fix misspelling in GH template@NiklasRosenstein

1.6.12 (2022-05-06)

TypeDescriptionPRIssuesAuthor
Improvement Update GH action reference after Slap repository was moved from `NiklasRosenstein/slap` to `python-slaps/slap.cli`@NiklasRosenstein

1.6.11 (2022-05-06)

TypeDescriptionPRIssuesAuthor
Improvement Update default template to include black, isort, flake8@NiklasRosenstein
Improvement Set min Python version in init templates to 3.6@NiklasRosenstein

1.6.10 (2022-05-02)

TypeDescriptionPRIssuesAuthor
Fix The `slap add` command now installs the dependency even if `--upgrade` is not specified if the constraint does not accept the currently installed version.@NiklasRosenstein

1.6.9 (2022-04-28)

TypeDescriptionPRIssuesAuthor
Fix Use SPDX license information only in `slap.util.extenral.licenses` instead of Deja code which now requires a login; this fixes `slap init` when it tries to get the license text@NiklasRosenstein

1.6.8 (2022-04-28)

TypeDescriptionPRIssuesAuthor
Fix Automatic detection of packages now ignores subdirectories that have a `pyproject.toml` file@NiklasRosenstein

1.6.7 (2022-04-26)

TypeDescriptionPRIssuesAuthor
Fix Fix `slap venv X.Y` to create an environment of the specified Python major/minor version@NiklasRosenstein

1.6.6 (2022-04-26)

TypeDescriptionPRIssuesAuthor
Fix Fix (workaround) to installing packages with `slap install` option without the `--link` option if it has runtime dependencies that require extra index URLs.@NiklasRosenstein

1.6.5 (2022-04-21)

TypeDescriptionPRIssuesAuthor
Fix The `slap link` command no longer fails when run as root (due to Flit adding a check here; if we want to have the same check in Slap we need to do it ourselves in `slap install` as well)@NiklasRosenstein

1.6.4 (2022-04-19)

TypeDescriptionPRIssuesAuthor
Improvement Set `VIRTUAL_ENV` when venv-aware command activates the environment@NiklasRosenstein
Feature Add `--from` action to `slap install` command@NiklasRosenstein
Improvement The `slap link` command is no longer limited to symlinking only one package per project@NiklasRosenstein

1.6.3 (2022-04-18)

TypeDescriptionPRIssuesAuthor
Fix Fix venv aware commands to add the absolute path to the `PATH` environment variable instead of a relative path@NiklasRosenstein

1.6.2 (2022-04-18)

TypeDescriptionPRIssuesAuthor
Improvement Add `PythonEnvironment.version_tuple`@NiklasRosenstein
Improvement The `slap venv` command now automatically picks an environment name if you do not specify one with the `-c,--create` flag@NiklasRosenstein
Improvement Changed `slap install` to no longer install all extras defined in the project by default, now you need to explicitly specify them in `[tool.slap.install].dev-extras`@NiklasRosenstein

1.6.1 (2022-04-16)

TypeDescriptionPRIssuesAuthor
Fix Fix `slap link` to produce absolute paths in the shebang for generated scripts by supplying an absolute path to the Python interpreter to the Flit installer@NiklasRosenstein

1.6.0 (2022-04-16)

TypeDescriptionPRIssuesAuthor
Feature add `-p,--path` option to `slap venv` command, note that `-p` was repurposed from `--python` and the option no longer has a short form@NiklasRosenstein
Improvement `slap test` and `slap run` commands now activate the active virtual environment if any before running the commands@NiklasRosenstein
Feature Add `-s,--set` option to `slap venv`@NiklasRosenstein
Improvement The `slap run` command can now run arbitrary commands, but falls back to the ones aliased on the configuration on a match.@NiklasRosenstein
Improvement Add `VenvAwareCommand` and use it in `add`, `install`, `link`, `report`, `run` and `test`@NiklasRosenstein
Improvement Add `location` to `DistributionMetadata`, which propagates into the output of `slap report dependencies`@NiklasRosenstein

1.5.4 (2022-04-14)

TypeDescriptionPRIssuesAuthor
Fix Fix issue with "cannot install into global environment" even if a Slap venv is active@NiklasRosenstein

1.5.3 (2022-04-14)

TypeDescriptionPRIssuesAuthor
Fix Fixed forwarding `--python` argument to `slap link` command when using `slap install --link`@NiklasRosenstein
Improvement For all Slap commands that operate on a Python environment (`install`, `link`, `add`), they will now look for the environment to target in the following order: 1) the `-p,--python` option, 2) the `PYTHON` environment variable, 3) the last local activated environment with `slap venv`, 4) just use `python`58@NiklasRosenstein

1.5.2 (2022-04-13)

TypeDescriptionPRIssuesAuthor
Fix fix in pep508@NiklasRosenstein

1.5.1 (2022-04-13)

TypeDescriptionPRIssuesAuthor
Fix `slap.python.pep508` no longer requires `dataclasses`@NiklasRosenstein

1.5.0 (2022-04-13)

TypeDescriptionPRIssuesAuthor
Fix fix pep508 invokation when installing into Pytho 3.6 environments@NiklasRosenstein

1.4.5 (2022-04-04)

TypeDescriptionPRIssuesAuthor
Fix Fix `slap venv link` linking to an absolute path (correct) instead of a relartive path (wrong) when linking from a local environment@NiklasRosenstein
Improvement No longer error when running Slap in a Python project directory using Poetry where some dependencies are declared using the table format in TOML, but log that the type of dependency is currently unsupported@NiklasRosenstein
Improvement Allow unrecognized keys in `ChangelogConfig`@NiklasRosenstein
Improvement Add a separate API to retrieve the projects in a repository in topological order such that most Slap commands that do not care about the order do not have the overhead of inspecting the project dependencies and sorting the projects.NiklasRosenstein/slam#50@NiklasRosenstein
Feature Add `slap.dependency` module@NiklasRosenstein
Feature Add `slap report dependencies` command@NiklasRosenstein
Fix Fix detection of added changelog entries in GitHub Actions for forked repositories; but that does not fix #49@NiklasRosenstein
Fix Fix a potential issue in `slap add` when `tomlkit` returns an `OutOfOrderTableProxy` instead of a `Table` container in which case we did not mutate the actual TOML document@NiklasRosenstein
Feature Add `--source` option to `slap add` command@NiklasRosenstein

1.4.4 (2022-04-04)

TypeDescriptionPRIssuesAuthor
Improvement add `-g,--global` option to `slap venv link` command@NiklasRosenstein
Improvement read Git `user.name` and `user.email` from local repository first and then globally@NiklasRosenstein

1.4.3 (2022-04-03)

TypeDescriptionPRIssuesAuthor
Fix Add missing `tomlkit` dependency (needed by the `slap add` command)@NiklasRosenstein

1.4.2 (2022-03-31)

TypeDescriptionPRIssuesAuthor
Fix adjust for breaking changes in databind 2.0.0 (no more databind.json.settings module)@NiklasRosenstein

1.4.1 (2022-03-31)

TypeDescriptionPRIssuesAuthor
Improvement Enhance docs and output of `slap venv` command@NiklasRosenstein
Improvement The `slap venv` command can now be used with `-a,--activate` and without a `name` argument to activate the previously activated environment or the only one that is available in the context (local vs. global).@NiklasRosenstein
Improvement Improve `ChangelogReleasePlugin` to write "releasing changelog" line only once@NiklasRosenstein
Improvement Improve changelog checks plugin to catch more types of errors to return in the check details@NiklasRosenstein
Improvement improve output produces by `slap venv -a`, `slap publish` and `slap release`@NiklasRosenstein

1.4.0 (2022-03-29)

TypeDescriptionPRIssuesAuthor
Feature Add `ProjectHandler.add_dependency()` and `Project.add_dependency()@NiklasRosenstein
Feature Add `slap add` command@NiklasRosenstein

1.3.6 (2022-03-27)

TypeDescriptionPRIssuesAuthor
Fix Fix `NameError` in non-monorepository scenario when using `slap install`@NiklasRosenstein

1.3.5 (2022-03-24)

TypeDescriptionPRIssuesAuthor
Fix Fix `slap release` to consider the monorepository config as well@NiklasRosenstein

1.3.4 (2022-03-24)

TypeDescriptionPRIssuesAuthor
Improvement `slam install` without `--no-dev` now installs _all_ extras for a project unless the new `[install.dev-extras]` option is set@NiklasRosenstein

1.3.3 (2022-03-24)

TypeDescriptionPRIssuesAuthor
Fix Fix how `[install.extras]` is taken into account (used to always take all extras)@NiklasRosenstein

1.3.2 (2022-03-24)

TypeDescriptionPRIssuesAuthor
Feature support `[install.extras]` option in the monorepository and project config@NiklasRosenstein

1.3.1 (2022-03-24)

TypeDescriptionPRIssuesAuthor
Feature add `github` template to `slap init`@NiklasRosenstein
Fix `slap run` now uses the reopsitory `slap.toml` configuration file to read the run configuration if no main project exists; `Application.main_project()` no longer tries to find the "closest" project because right now Slap does not actually try to find a "better" project root than the current working directory@NiklasRosenstein

1.3.0 (2022-03-23)

TypeDescriptionPRIssuesAuthor
Improvement upgrade to using `databind` 2.x@NiklasRosenstein
Breaking change Rename Slam to Slap@NiklasRosenstein
Improvement Split default project handler into separate implementations for Poetry, Flit and Setuptools and properly support Setuptools now (reading `setup.cfg`)@NiklasRosenstein
Feature add `-b,--build-directory` option to `slap publish` command@NiklasRosenstein
Feature add `slap.check.check()` decorator and `slap.check.get_checks()` function to make implementing check plugins more convenient@NiklasRosenstein
Improvement add `Project.version()` and `Project.get_version_refs()`@NiklasRosenstein
Improvement move interdependencies version ref detection into `DefaultProjectHandler`@NiklasRosenstein
Improvement add overload for `match_version_ref_pattern()` that can return a fallback value@NiklasRosenstein

1.2.4 (2022-03-22)

TypeDescriptionPRIssuesAuthor
Improvement The default repository handler now only matches if it appears to make sense to use the Slam CLI inside it.@NiklasRosenstein
Feature add `slam venv` and `slam venv link` commands@NiklasRosenstein
Fix `slam init` now identifies the author to use in the template from Git's global config if the current directory is not already a Git repository@NiklasRosenstein

1.2.3 (2022-03-20)

TypeDescriptionPRIssuesAuthor
Fix Fix `slam install` command accessing the wrong option name for `--no-venv-check` causing an error when `--link` was used@NiklasRosenstein

1.2.2 (2022-03-20)

TypeDescriptionPRIssuesAuthor
Improvement `test` command no info-logs the command being run@NiklasRosenstein
Feature add `slam test -l,--list` option@NiklasRosenstein
Improvement `slam init -t poetry` now creates a test file@NiklasRosenstein
Fix Fix `slam init` to create a `test/test_import.py` instead of `test/test.py`@NiklasRosenstein
Fix Fix `slam install` command to forward to the `--no-venv-check` option to the `slam link` command@NiklasRosenstein
Fix Fix `slam changelog convert` to use the proper default author@NiklasRosenstein

1.2.1 (2022-03-14)

TypeDescriptionPRIssuesAuthor
Feature add `slam changelog ` argument, defaults to the same as `--name`@NiklasRosenstein
Improvement `slam init` now understands dots as namespace packages@NiklasRosenstein
Improvement `slam init` package name written into `pyproject.toml` keeps dots@NiklasRosenstein
Feature add `slam run` command@NiklasRosenstein
Improvement added `-vv` flag to Pytest command rendered in `pyproject.toml` by `slam init -t poetry` @NiklasRosenstein

1.2.0 (2022-03-03)

TypeDescriptionPRIssuesAuthor
Refactor add `Repository` and `RepositoryHandlerPlugin` which gets to decide which projects are loaded, remove most of the related members from the `Application` class@NiklasRosenstein
Improvement morph `VcsHost` into `RepositoryHost` classNiklasRosenstein
Fix fix possible `AssertionError` in `Application._get_main_project()` that can occur if Slam is invoked in a directory that does not contain a `pyproject.toml` nor `slam.toml` file.@NiklasRosenstein
Improvement `slam changelog format` in the Terminal now colorizes inline code (indicated by backticks)@NiklasRosenstein
Improvement All application plugins are now loaded by default (no explicit list of plugins to load), but the `tool.slam.application.disable` config persists to disable the activation of a particular set of plugins@NiklasRosenstein
Feature add `slam init` command@NiklasRosenstein

1.1.2 (2022-03-02)

TypeDescriptionPRIssuesAuthor
Fix `git+https://...` requirements are now understood and no longer converted into a dependency caled just "git"@NiklasRosenstein

1.1.1 (2022-02-26)

TypeDescriptionPRIssuesAuthor
Fix support old `break` change type and convert it to `breaking change`@NiklasRosenstein
Feature add `slam publish --dry,-d` option@NiklasRosenstein

1.1.0 (2022-02-26)

TypeDescriptionPRIssuesAuthor
Improvement add `Project.application` member@NiklasRosenstein
Feature add release plugin to automatically bump interdependencies between projects in a monorepository (can be disabled by setting `tool.slam.release.interdependencies = false`)@NiklasRosenstein

1.0.10 (2022-02-25)

TypeDescriptionPRIssuesAuthor
Fix `slam install` now skips projects that dont expose Python packages@NiklasRosenstein

1.0.9 (2022-02-25)

TypeDescriptionPRIssuesAuthor
Fix fix consistent sorting of packages ordered topologically by interdependencies@NiklasRosenstein
Feature recognize `tool.poetry.packages` option in `DefaultProjectHandler.get_packages()`@NiklasRosenstein

1.0.8 (2022-02-25)

TypeDescriptionPRIssuesAuthor
Fix `slam changelog convert-pr` command now provides YAML error details if the file cannot be parsed and allows the `release_date` to not be set (to convert `_unreleased.yml`)@NiklasRosenstein
Fix `Project.get_packages()` no longer delegates to the `ProjectHandler` if the project is not a Python project (does not have a `pyproject.toml`) to avoid weird namespace packages to be detected unintentionally@NiklasRosenstein

1.0.7 (2022-02-23)

TypeDescriptionPRIssuesAuthor
Fix `slam test` now only runs subproject tests instead of all tests in a monorepo if the main project (the one from the cwd) is not the same as the root project@NiklasRosenstein
Fix `slam changelog update-pr` always counted 0 entries to update and thus never committed the changes@NiklasRosenstein

1.0.6 (2022-02-23)

TypeDescriptionPRIssuesAuthor
Improvement `slam changelog update-pr` no longer overwrites existing PR references in entries unless the new `--overwrite` option is passed@NiklasRosenstein

1.0.5 (2022-02-23)

TypeDescriptionPRIssuesAuthor
Feature add `ChangelogManager.readonly` which prevents you from saving a changelog to disk@NiklasRosenstein
Feature add `[tool.shut.changelog].enabled` option which can be used to turn off the ability to add changelogs to the current project via the CLI@NiklasRosenstein

1.0.4 (2022-02-23)

TypeDescriptionPRIssuesAuthor
Improvement hide output from `git checkout -b` in `github-actions` plugin@NiklasRosenstein
Fix fix shortform detection for GitHub pull request URLs@NiklasRosenstein

1.0.3 (2022-02-23)

TypeDescriptionPRIssuesAuthor
Improvement use more concrete branch name for checkout in `github-actions` plugin to work around issues if the branch name is the same as a top level folder in the repository@NiklasRosenstein
Fix fix `github-actions` tendency to swallow command output which could have been of use in case of an error@NiklasRosenstein

1.0.2 (2022-02-23)

TypeDescriptionPRIssuesAuthor
Improvement parse semver in `[tool.poetry.extras]`@NiklasRosenstein
Feature add `--extras` and `--only-extras` options to `slam install`@NiklasRosenstein

1.0.1 (2022-02-23)

TypeDescriptionPRIssuesAuthor
Fix fix the URL generated for pull request IDs when passed to the `slam changelog add` command for Github hosted repositories@NiklasRosenstein

1.0.0a6 (2022-02-15)

TypeDescriptionPRIssuesAuthor
Improvement `Command.help` now treats the first line differently to support docstrings where the first line is on the same line as the quotes@NiklasRosenstein
Improvement `slam changelog update-pr` now supports updating the PR reference for changelogs of all projects@NiklasRosenstein

1.0.0a5 (2022-02-15)

TypeDescriptionPRIssuesAuthor
Fix test runner without TTY now does the correct line prefixing@NiklasRosenstein

1.0.0a3 (2022-02-13)

TypeDescriptionPRIssuesAuthor
Fix fix entrypoint for `slam` script@NiklasRosenstein

1.0.0a2 (2022-02-13)

TypeDescriptionPRIssuesAuthor
Improvement reduce code duplicity in `shut.commands.link` and `shut.util.python_package`@NiklasRosenstein
Fix fix `shut log command --author,-a` option being a flag@NiklasRosenstein
Improvement allow `pyproject.toml` to not exist when using `shut release` command@NiklasRosenstein
Improvement fix pattern replacing `{version}` string in release references@NiklasRosenstein
Improvement Add `Application.load_subapp()` and `Application.subapps`@NiklasRosenstein
Improvement `shut release` now has an `include` configuration key that can be used to include the version refs of sub projects, for example in a mono repository where a root `shut.toml` is used to manage the same version number across all components@NiklasRosenstein
Improvement add support for `SLAM_DIR` environment variable@NiklasRosenstein

1.0.0a1 (2022-02-13)

TypeDescriptionPRIssuesAuthor
Breaking change Fully reimplment Shut, rename it to Slam@NiklasRosenstein

0.21.1 (2021-11-21)

TypeDescriptionPRIssuesAuthor
Fix using `VirtualFiles.get_modified_files()` no longer creates non-existent directories@NiklasRosenstein
Fix catch malformed ref error when trying to determine main branch name and use `develop` as default (see #40)@NiklasRosenstein
Fix `$package.render-requirements-txt` is now handled correctly@NiklasRosenstein

0.21.0 (2021-09-18)

TypeDescriptionPRIssuesAuthor
Feature add `$.scripts` in `package.yml` and `shut pkg run` command@NiklasRosenstein

0.20.0 (2021-09-16)

TypeDescriptionPRIssuesAuthor
Feature add `shut init` command group with initial `shut init mkdocs` command@NiklasRosenstein
Feature add `documentation` job in GitHub Actions template@NiklasRosenstein
Feature ignore GitHub Actions template when checking package config in GitHub Actions (this is mainly used when using an unreleased version of shut to generate the action template or when needing to do quick modifications to the action config without triggering the shut checks in CI).@NiklasRosenstein

0.19.0 (2021-09-15)

TypeDescriptionPRIssuesAuthor
Improvement Changelog entry `fixes` is now optional@NiklasRosenstein
Improvement switch to Mako as a template engine from Jinja2@NiklasRosenstein
Feature add `$.templates` to `AbstractProjectModel` and the `github-actions` template@NiklasRosenstein
Improvement `shut pkg new` now adds the `github-template` to the generated `package.yml`@NiklasRosenstein
Improvement remove template rendering capability of `pylint` test driver, instead add `pylintrc` template plugin@NiklasRosenstein

0.18.2 (2021-09-04)

TypeDescriptionPRIssuesAuthor
Fix min `click` version must be `7.1` for `no_args_is_help` option, also allow `8.x`@NiklasRosenstein

0.18.1 (2021-08-27)

TypeDescriptionPRIssuesAuthor
Fix fix added in `0.18.0` for #33 is actually incorrect, the `command` variable was needed when using the `_tempcopy()` feature. now it is fixed for goodNiklasRosenstein/shut#33@NiklasRosenstein

0.18.0 (2021-08-26)

TypeDescriptionPRIssuesAuthor
Feature add `pylint` test driver@NiklasRosenstein
Fix the fix from `0.17.4` actually made the install cache not work at all and just always install test requirements, now shut knows per driver selection whether dependencies have been installed before or not@NiklasRosenstein
Feature test drivers are now loaded via the `shut.test_drivers` entrypoint, allowing plugins to be registered from external packages@NiklasRosenstein
Feature internal: add `AbstractProjectModel.get_auxiliary_renderers()`@NiklasRosenstein
Feature `pylint` now comes with `.pylintrc` templates (only `shut` for now) and can also render templates from HTTP(S) URLs@NiklasRosenstein
Feature Shut now recognizes lowercase readme/license filesNiklasRosenstein/shut#31@NiklasRosenstein
Fix render `command` variable into `setup.py` only if package `$.install.hooks` is usedNiklasRosenstein/shut#33@NiklasRosenstein

0.17.4 (2021-08-20)

TypeDescriptionPRIssuesAuthor
Fix fix missing test-requirements installation with `shut mono|pkg test --isolate` if the comand was run previously@NiklasRosenstein

0.17.3 (2021-08-20)

TypeDescriptionPRIssuesAuthor
Fix `shut mono|pkg test --isolate` no longer installs the main package in develop mode@NiklasRosenstein

0.17.2 (2021-08-14)

TypeDescriptionPRIssuesAuthor
Fix `shut mono|pkg update --verify-tag ""` does not show an error when it should@NiklasRosenstein
Feature `shut mono|pkg update --verify-tag` now accepts strings prefixed with `refs/tags/` and strips that prefix (useful for GitHub Actions to use the `$GITHUB_REF` variable)@NiklasRosenstein
Fix `shut pkg update --dry` option not respected@NiklasRosenstein

0.17.1 (2021-08-13)

TypeDescriptionPRIssuesAuthor
Improvement dd `shut mono|pkg test -q,--quiet` option to quietly install test requirements with Pip, changed default to not do silent installs@NiklasRosenstein

0.17.0 (2021-08-13)

TypeDescriptionPRIssuesAuthor
Feature add `shut pkg test --install/--no-install` which will default to `--install` if the current Python installation (determined by the `PYTHON` variable or falling back to just the `python` command) is a virtual env@NiklasRosenstein
Feature add support for a `mypy` test driver@NiklasRosenstein
Feature api: add `Package.get_source_directory()`@NiklasRosenstein
Feature add `$.test-drivers` field in package model and deprecate `$.test-driver` for it.@NiklasRosenstein
Feature add `shut mono test --install/--no-install` option (parallel to the existing option for `shut pkg test`), without the flag test requirements are only installed if Shut did not install the same requirements into the same environment before@NiklasRosenstein
Feature make sure `$.test-requirements` are installed when running `shut mono|pkg test` in addition to the test-driver requirements. Update some output formatting of `shut mono|pkg test`@NiklasRosenstein
Fix lines in `MANIFEST.in` outside the shut-specific block are not kept on `shut pkg update` (fixed in `VirtualFiles.write_all()`)@NiklasRosenstein
Fix package `$.author` data can now be de-serialized from a mapping again (as used to be possible before migrating to `databind.core^1.x`@NiklasRosenstein
Fix fix printing of `Failed test details:` when there were no failures but at least one skipped test case@NiklasRosenstein
Feature `pytest` driver now supports a `$.parallelism` option which automatically pulls in `pytest-xdist` as a test requirement@NiklasRosenstein
Feature `shut mono|pkg bump --tag|--push|--dry` options now have short versions `-t|-p|-d` respectively@NiklasRosenstein

0.16.1 (2021-08-12)

TypeDescriptionPRIssuesAuthor
Fix pass `filename` to databind deserializer when loading monorepo/package configuration files@NiklasRosenstein
Fix Cannot run "pip install" without develop mode on package that inherits monorepo licenseNiklasRosenstein/shut#22@NiklasRosenstein

0.16.0 (2021-08-10)

TypeDescriptionPRIssuesAuthor
Fix fix missing import for `typing.Dict` in `pytest` driver module, which could in some Python versions result in a `NameError`@NiklasRosenstein
Improvement add `extra_requires[test]` in generated `setup.py`@NiklasRosenstein
Fix fix `setup.py` rendering for inherit license filesNiklasRosenstein/shut#21@NiklasRosenstein
Improvement `_tempcopy()` function in `setup.py` now fails if the file cannot be copied from the source file@NiklasRosenstein

0.15.1 (2021-08-09)

TypeDescriptionPRIssuesAuthor
Feature add BSD2, BSD3, BSD4 and Apache2 license templates@ndjeong

0.15.0 (2021-08-09)

TypeDescriptionPRIssuesAuthor
Feature add `shut mono|pkg status --json --include-config` options@NiklasRosenstein

0.14.3 (2021-08-08)

TypeDescriptionPRIssuesAuthor
Fix fix `VendoredRequirement._normpath()` which corrupted absolute paths on Windows (e.g. `C:/path/to` would be converted to `./C:\path\to` when it should just be `C:\path\to`). This caused `shut pkg install` on Windows to fail.@NiklasRosenstein
Fix `No module named setuptools` error when using `shut pkg install` in venv on WindowsNiklasRosenstein/shut#16@NiklasRosenstein
Fix fix additional CR in generated `LICENSE.txt` on Windows when installing Shut from sourceNiklasRosenstein/shut#17@NiklasRosenstein
Fix `py.typed` file is rendered into `MANIFEST.in` with backslashes@NiklasRosenstein

0.14.2 (2021-08-03)

TypeDescriptionPRIssuesAuthor
Improvement update how install hooks are rendered into `setup.py`@NiklasRosenstein

0.14.1 (2021-07-23)

TypeDescriptionPRIssuesAuthor
Fix `TypeError` when using --extra and --dev/--test@NiklasRosenstein

0.14.0 (2021-07-22)

TypeDescriptionPRIssuesAuthor
Feature add `--dev/--no-dev` and `--test/--no-test` options to `shut mono install` and `shut pkg install`@NiklasRosenstein

0.13.3 (2021-06-20)

TypeDescriptionPRIssuesAuthor
Fix exclude python requirements when rendering `requirements.txt`@NiklasRosenstein

0.13.2 (2021-06-20)

TypeDescriptionPRIssuesAuthor
Fix fix format of requirements in requirements.txt@NiklasRosenstein

0.13.1 (2021-06-20)

TypeDescriptionPRIssuesAuthor
Fix also install `PackageModel.test_requirements` on `shut pkg install`@NiklasRosenstein

0.13.0 (2021-06-20)

TypeDescriptionPRIssuesAuthor
Feature add `PackageModel.dev_requirements` which will be installed with `shut pkg install`@NiklasRosenstein
Feature add `PackageModel.render_requirements_txt` which will be rendered with `shut pkg update`@NiklasRosenstein

0.12.0 (2021-06-08)

TypeDescriptionPRIssuesAuthor
Improvement allow running Shut via `python -m shut`@NiklasRosenstein
Fix fix call to `run_install()` in `shut mono install`@NiklasRosenstein

0.11.4 (2021-02-01)

TypeDescriptionPRIssuesAuthor
Fix `shut pkg install` now correctly installs transitive package interdependencies in the right order@NiklasRosenstein

0.11.3 (2021-01-29)

TypeDescriptionPRIssuesAuthor
Fix fix error rendering `setup.py` if the license file did not exist@NiklasRosenstein
Feature add `get-version` command to `shut mono` and `shut pkg`@NiklasRosenstein
Fix `shut pkg requirements add` now adds the InstallConfiguration pip args@NiklasRosenstein

0.11.2 (2020-12-19)

TypeDescriptionPRIssuesAuthor
Fix fix license_file relative path generation in setuptools renderer, now correctly inherits the license file from the monorepo@NiklasRosenstein

0.11.1 (2020-12-04)

TypeDescriptionPRIssuesAuthor
Fix fix error in `setuptools` renderer if no license is configured in the package@NiklasRosenstein

0.11.0 (2020-12-03)

TypeDescriptionPRIssuesAuthor
Feature add `$.package-data` field to `package.yml`@NiklasRosenstein
Fix add missing package data that needs to be packaged with `shut`@NiklasRosenstein

0.10.3 (2020-11-27)

TypeDescriptionPRIssuesAuthor
Fix referencing a LICENSE or README outside the package directory now does not fail on install if the source file does not exist, but it will print a warning@NiklasRosenstein

0.10.2 (2020-11-27)

TypeDescriptionPRIssuesAuthor
Fix add `PackageModel.license_file` and fix license rendering into MANIFEST.in and setup.py@NiklasRosenstein

0.10.1 (2020-11-27)

TypeDescriptionPRIssuesAuthor
Fix remove debug print in "package-url" check@NiklasRosenstein

0.10.0 (2020-11-27)

TypeDescriptionPRIssuesAuthor
Feature packages now inherit the monorepos license if it is unset (using PackageModel.get_license())@NiklasRosenstein
Feature If a package inherits the monoreop license, the LICENSE file will not be replicated in the package directory but instead be copied from the monorepo (using `_tempcopy()` in `setup.py`)@NiklasRosenstein
Feature `shut {mono,pkg} update` commands now produce a LICENSE.txt file if a license template exists for the specified license (currently only `MIT`)@NiklasRosenstein
Feature packages now inherit the monorepo `author` and `url`, and `version` if `release.single_version == True`@NiklasRosenstein
Feature add "shut pkg format" command@NiklasRosenstein
Feature package `author` and `url` are now inherited from the monorepo@NiklasRosenstein

0.9.0 (2020-11-20)

TypeDescriptionPRIssuesAuthor
Fix cli: Fix `shut mono bump` not updating requirements in package `setup.py` if packages have inter dependenciesNiklasRosenstein/shut#7@NiklasRosenstein
Feature shut.model.package: Add `$.install.index-url` and `$.install.extra-index-urls` fields@NiklasRosenstein
Feature cli: `shut pkg install` now supports `$.install.index-url` and `$.install.extra-index-urls`, added a `--pipx` option@NiklasRosenstein
Feature checks: Add check for namespace files@NiklasRosenstein
Fix fix order of dependencies in the same mono repository when using `shut pkg install`@NiklasRosenstein

0.8.0 (2020-09-09)

TypeDescriptionPRIssuesAuthor
Feature cli: Add `shut ... test --keep-test-env` option@NiklasRosenstein
Feature shut.test.base: Add `TestStatus.SKIPPED` enumeration value@NiklasRosenstein
Fix shut.test.pytest: Support skipped tests instead of failing ungracefully@NiklasRosenstein
Feature cli: Support skipped tests `shut ... test` output@NiklasRosenstein

0.7.3 (2020-09-09)

TypeDescriptionPRIssuesAuthor
Fix cli: Fix `AttributeError` when running `shut mono bump --snapshot`@NiklasRosenstein

0.7.2 (2020-09-08)

TypeDescriptionPRIssuesAuthor
Fix cli: Fix `shut pkg install` command@NiklasRosenstein

0.7.1 (2020-09-08)

TypeDescriptionPRIssuesAuthor
Feature shore.models.monorepo: Add `Monorepo.get_inter_dependencies_graph()`@NiklasRosenstein
Fix cli: `shut mono install` now uses topological order to retrieve package requirements@NiklasRosenstein

0.7.0 (2020-09-08)

TypeDescriptionPRIssuesAuthor
Improvement cli: Removed `-a,--all` flag from `shut mono update`, the command now always behaves like that flag is set@NiklasRosenstein
Feature cli: Add `shut mono update` flags `--verify` and `--verify-tag`@NiklasRosenstein
Fix shut.renderers.setuptools: Fix rendering of `extras_require`@NiklasRosenstein
Feature cli: Add `shut mono install` command@NiklasRosenstein

0.6.0 (2020-09-08)

TypeDescriptionPRIssuesAuthor
Feature shut.changelog: Add `breaking_change` Changelog type@NiklasRosenstein
Feature cli: `shut ... bump` command without version argument or bump mode option will determine the bump mode from the unreleased changelog@NiklasRosenstein
Improvement shore.model: `dump()` method now uses `nr.fs.atomic_file` to ensure the original file contents are not modified if the dump operation fails@NiklasRosenstein
Improvement shore.model.requirements: Add `BaseRequirement` and `VendoredRequirement` classes, require databind.core and databind.json ^0.4.0 for the `@datamodel(serialize_as)` feature@NiklasRosenstein
Feature shut.model.package: `Package.requirements` and related properties are now of type `BaseRequirement`, allowing the use of `VendoredRequirement`s@NiklasRosenstein
Improvement cli: `shut pkg build` and `shut pkg publish` will now error if the package uses vendored requirements@NiklasRosenstein
Feature cli: `shut pkg requirements add` now supports adding vendored requirements using the `-v,--vendor` option@NiklasRosenstein
Improvement shut.model.package: Use new `RequirementsList` class instead of `List[BaseRequirement]`@NiklasRosenstein
Feature shut.model.requirements: `Requirement` now supports package extras@NiklasRosenstein
Feature cli: Add `--verify` option to `shut pkg update`@NiklasRosenstein
Feature shut.checkers.package: Add `up to date` check for packages@NiklasRosenstein
Feature cli: `shut pkg install` now supports installing vendored requirements@NiklasRosenstein
Fix shut.renderers.setuptools: Fix error when package author was not set@NiklasRosenstein
Improvement shut.checkers: Change Checkers interface (remove `project` argument)@NiklasRosenstein
Feature cli: `shut pkg bump` now prevents bumping if managed files are outdated@NiklasRosenstein
Fix cli: `shut pkg bump` now prevents bumping if package version is managed by a monorepo single-version (as was previously already expected to happen)@NiklasRosenstein
Improvement cli: `shut mono bump` now includes the packages in the mono repo if `$.release.single-version` is enabled@NiklasRosenstein
Improvement shut.checkers.monorepo: remove `bad-package-directory` check again, having a package name differ from the directory name is a valid use case@NiklasRosenstein
Feature cli: Add `shut mono publish` command which delegates to `shut pkg publish`.@NiklasRosenstein
Improvement shut.publishers.warehouse: The `WarehouseProvider` now uses the new `PackageModel.get_publish_conf()` instead of `PackageModel.publish` directly, allowing packages to inherit the publish configuration of the mono repository@NiklasRosenstein

0.5.5 (2020-09-05)

TypeDescriptionPRIssuesAuthor
Improvement shut.test.pytest: set altname for `PytestDriver.report_file` to `report-file`@NiklasRosenstein
Improvement cli: `shut mono test` now prints a summary of the status for every tested package@NiklasRosenstein

0.5.4 (2020-09-05)

TypeDescriptionPRIssuesAuthor
Improvement shut.test.pytest: `PytestDriver.args` option now defaults to `["-vv"]`@NiklasRosenstein
Feature cli: Add `shut mono test --only` option@NiklasRosenstein

0.5.3 (2020-09-05)

TypeDescriptionPRIssuesAuthor
Feature cli: Support `VIRTUALENV` and `PIP` environment variables in `shut pkg test` and `shut mono test`@NiklasRosenstein

0.5.2 (2020-09-05)

TypeDescriptionPRIssuesAuthor
Feature cli: add `--checks/--no-checks` toggle to `shut pkg` and `shut mono` commands@NiklasRosenstein
Fix shut.test.pytest: Fix parsing of Pytest JSON record for test functions from a `unittest.TestCase` subclass@NiklasRosenstein

0.5.1 (2020-09-05)

TypeDescriptionPRIssuesAuthor
Fix cli: fix running "shut pkg install" from inside "shut pkg test --isolate" call@NiklasRosenstein

0.5.0 (2020-09-05)

TypeDescriptionPRIssuesAuthor
Improvement shut.model.package: Remove `PackageData` class, merge it's members into `PackageModel` (this does not change the interface of `PackageModel`), Removed `PackageModel.data` property@NiklasRosenstein
Tests fix unit tests@NiklasRosenstein
Improvement shore.checkers.package: `package-author` check is now an error level check@NiklasRosenstein
Improvement cli: `shut mono bump` and `shut pkg bump` no longer run checks, the command group already does it@NiklasRosenstein
Fix shut.renderers.setuptools: fix rendering of `python_requires` option in `setup.py` if package is universal (i.e. the `python` requirement uses an OR (|) which we cannot currently translate to setuptools correctly)@NiklasRosenstein
Feature cli: add `shut pkg test` command which and `PackageModel.test_driver` configuration, the `shore.test` sub-package implements test drivers (currently just `pytest`)@NiklasRosenstein
Feature cli: add `shut mono test` command@NiklasRosenstein

0.4.0 (2020-09-04)

TypeDescriptionPRIssuesAuthor
Improvement cli: Updated temrinal output of `shut ... checks`@NiklasRosenstein
Improvement shut.model.package: Add `PackageError` exception class@NiklasRosenstein
Improvement shut.checkers.monorepo: Add `bad-package-directory` check to Monorepo checker@NiklasRosenstein
Improvement cli: `shut pkg checks` now inherits checks from the Monorepo if the check result targets the package directly (e.g. the `bad-package-directory` check)@NiklasRosenstein
Improvement shut.checkers.core: Add `CheckResult.subject` member (default: `None`)@NiklasRosenstein
Improvement cli: `shut pkg` and `shut mono` commands will now print failed checks to stderr before executing the requested subcommand.@NiklasRosenstein
Improvement shut.checkers.monorepo: include error message in `invalid-package` check result@NiklasRosenstein
Improvement shut.checkers.generic: `unknown-config-options` check no longer shows if it passes@NiklasRosenstein
Improvement shut.checkers.generic: rename `unknown-config` check to `unknown-config-options`@NiklasRosenstein
Improvement cli: no longer set `PYTHONWARNINGS` environment variable@NiklasRosenstein
Improvement shut.model.monorepo: add `Monorepo.get_inter_dependencies_for()` method@NiklasRosenstein
Feature cli: add `shut pkg install` command@NiklasRosenstein

0.3.0 (2020-08-29)

TypeDescriptionPRIssuesAuthor
Improvement update Changelog typing for databind@NiklasRosenstein
Improvement update paths printed in `shut ... bump` when changelog is released@NiklasRosenstein

0.2.0 (2020-08-29)

TypeDescriptionPRIssuesAuthor
Docs fix README example@NiklasRosenstein