Changelog
1.14.2 (2024-09-02)
Type | Description | PR | Issues | Author |
---|---|---|---|---|
Improvement | Improve error message when version number is not consistent across files | niklas.rosenstein@helsing.ai |
1.14.1 (2024-05-31)
Type | Description | PR | Issues | Author |
---|---|---|---|---|
Feature | add `SLAP_VERBOSE` environment variable | 150 | @NiklasRosenstein |
1.14.0 (2024-05-31)
Type | Description | PR | Issues | Author |
---|---|---|---|---|
Breaking change | Drop support for installing into Python 3.6 virtual environments | 118 | @NiklasRosenstein | |
Improvement | Upgrade Build to ^1.0.0 | 119 | @NiklasRosenstein | |
Improvement | Upgrade UV to ^0.2.0 | 141 | @NiklasRosenstein | |
Fix | Use correct cmd option | 146 | @mcintel |
1.13.2 (2024-03-06)
Type | Description | PR | Issues | Author |
---|---|---|---|---|
Fix | Try first to import `importlib.metadata` before `importlib_metadata` in `PythonEnvironment.get_distributions()` | @NiklasRosenstein |
1.13.1 (2024-02-27)
Type | Description | PR | Issues | Author |
---|---|---|---|---|
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)
Type | Description | PR | Issues | Author |
---|---|---|---|---|
Feature | Add `uv` support | 132 | @NiklasRosenstein |
1.12.0 (2024-01-27)
Type | Description | PR | Issues | Author |
---|---|---|---|---|
Improvement | Get rid of deprecated `nr.util` dependency by placing all the required bits of code into Slap itself | 108 | @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 support | 108 | @NiklasRosenstein |
1.11.2 (2024-01-11)
Type | Description | PR | Issues | Author |
---|---|---|---|---|
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)
Type | Description | PR | Issues | Author |
---|---|---|---|---|
Improvement | allow passing `none` or `null` for the `slap init --license` parameter | 103 | @NiklasRosenstein | |
Feature | Add `slap venv --no-upgrade-pip` option and automatically upgrade Pip after creating a virtual environment if the option is not specified. | 103 | 102 | @NiklasRosenstein |
Improvement | remove dependency on `pkg_resources` directly in the module, although a transitive dependency (`nr.util.plugin`) still uses it | 104 | 98 | @NiklasRosenstein |
Fix | Fixed a bug in `slap release` where an unreleased changelog in the project root was not renamed and updated in a mono repository | 105 | @NiklasRosenstein |
1.11.0 (2023-11-07)
Type | Description | PR | Issues | Author |
---|---|---|---|---|
Feature |
Add `component` key to changelog entries, and `slap add -C | @NiklasRosenstein |
1.10.4 (2023-10-16)
Type | Description | PR | Issues | Author |
---|---|---|---|---|
Improvement | Hide git fatal error | 97 | alex.spencer@helsing.ai |
1.10.3 (2023-09-12)
Type | Description | PR | Issues | Author |
---|---|---|---|---|
Fix | Allow `SHELL` to be not set when running the `slap venv` command | @NiklasRosenstein |
1.10.2 (2023-09-08)
Type | Description | PR | Issues | Author |
---|---|---|---|---|
Fix | Use new Version for poetry-core and lock minor version | 96 | 95 | @alexespencer |
1.10.1 (2023-09-08)
Type | Description | PR | Issues | Author |
---|---|---|---|---|
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)
Type | Description | PR | Issues | Author |
---|---|---|---|---|
Feature | Add fish to supported shells for shimming | 92 | @jonhoo | |
Fix | Fix: CI failing due to black complaining | 94 | florian.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)
Type | Description | PR | Issues | Author |
---|---|---|---|---|
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)
Type | Description | PR | Issues | Author |
---|---|---|---|---|
Fix | Avoid trying to render files in __pycache__ when using `slap init`. | @NiklasRosenstein |
1.9.6 (2023-06-19)
Type | Description | PR | Issues | Author |
---|---|---|---|---|
Fix | Fix `slap install --from` and make it work with the `--only` option. | @NiklasRosenstein |
1.9.5 (2023-06-19)
Type | Description | PR | Issues | Author |
---|---|---|---|---|
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)
Type | Description | PR | Issues | Author |
---|---|---|---|---|
Fix | add missing readme key to pyproject.toml template | @NiklasRosenstein |
1.9.3 (2023-05-19)
Type | Description | PR | Issues | Author |
---|---|---|---|---|
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)
Type | Description | PR | Issues | Author |
---|---|---|---|---|
Fix |
Fix using `slap install --from | @NiklasRosenstein |
1.9.1 (2023-05-15)
Type | Description | PR | Issues | Author |
---|---|---|---|---|
Fix | Fix running command defined in Repository root with `slap run` broken by the previous version. | @NiklasRosenstein |
1.9.0 (2023-05-15)
Type | Description | PR | Issues | Author |
---|---|---|---|---|
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)
Type | Description | PR | Issues | Author |
---|---|---|---|---|
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)
Type | Description | PR | Issues | Author |
---|---|---|---|---|
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)
Type | Description | PR | Issues | Author |
---|---|---|---|---|
Fix | Fix extracting package "extras" from the Poetry dependencies configuration. | @NiklasRosenstein |
1.7.5 (2023-03-13)
Type | Description | PR | Issues | Author |
---|---|---|---|---|
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)
Type | Description | PR | Issues | Author |
---|---|---|---|---|
Improvement | Add `.dmypy.json` to `.gitignore` generated with `slap init`. | @NiklasRosenstein | ||
Fix |
Fix regression when using `slap run | 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)
Type | Description | PR | Issues | Author |
---|---|---|---|---|
Fix | Dependency with extras are now written correctly into `pyprojec.toml` for Poetry projects | 84 | 81 | @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`). | 85 | 82 | @NiklasRosenstein |
1.7.2 (2023-02-20)
Type | Description | PR | Issues | Author |
---|---|---|---|---|
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)
Type | Description | PR | Issues | Author |
---|---|---|---|---|
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)
Type | Description | PR | Issues | Author |
---|---|---|---|---|
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)
Type | Description | PR | Issues | Author |
---|---|---|---|---|
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)
Type | Description | PR | Issues | Author |
---|---|---|---|---|
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)
Type | Description | PR | Issues | Author |
---|---|---|---|---|
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)
Type | Description | PR | Issues | Author |
---|---|---|---|---|
Fix | fixed an issue with `poetry-core ==1.2.0` | python-slap/slap-cli#66 | @NiklasRosenstein |
1.6.29 (2022-09-12)
Type | Description | PR | Issues | Author |
---|---|---|---|---|
Fix | fix return code of `slap venv --exists,-e` | @NiklasRosenstein |
1.6.28 (2022-09-12)
Type | Description | PR | Issues | Author |
---|---|---|---|---|
Feature | add `--use-venv` option to all Venv-aware commands, add `slap venv --exists,-e` flag | @NiklasRosenstein |
1.6.27 (2022-09-05)
Type | Description | PR | Issues | Author |
---|---|---|---|---|
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)
Type | Description | PR | Issues | Author |
---|---|---|---|---|
Fix | bump dependency on `nr.util` which is guaranteed to have the `nr.utils.url` package | @NiklasRosenstein |
1.6.25 (2022-07-29)
Type | Description | PR | Issues | Author |
---|---|---|---|---|
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)
Type | Description | PR | Issues | Author |
---|---|---|---|---|
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)
Type | Description | PR | Issues | Author |
---|---|---|---|---|
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)
Type | Description | PR | Issues | Author |
---|---|---|---|---|
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)
Type | Description | PR | Issues | Author |
---|---|---|---|---|
Fix | fix `slap report dependencies` command (regression in previous release) | @NiklasRosenstein |
1.6.20 (2022-07-16)
Type | Description | PR | Issues | Author |
---|---|---|---|---|
Fix | `slap publish` now builds from the current project subdirectory | @NiklasRosenstein |
1.6.19 (2022-07-16)
Type | Description | PR | Issues | Author |
---|---|---|---|---|
Fix | fix error message on missing `py.typed` file | 62 | @NiklasRosenstein | |
Improvement | add `--no-venv-check` option to `VenvAwareCommand`, fixes #61 | 61 | @NiklasRosenstein | |
Improvement | use `build` module instead of hand-crafted build backend, add `Dependencies.build` property | 53 | @NiklasRosenstein |
1.6.18 (2022-07-01)
Type | Description | PR | Issues | Author |
---|---|---|---|---|
Feature | add `slap test -x,--exclude` option | @NiklasRosenstein |
1.6.17 (2022-06-20)
Type | Description | PR | Issues | Author |
---|---|---|---|---|
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)
Type | Description | PR | Issues | Author |
---|---|---|---|---|
Improvement | Add `W503` and `W504` to `.flake8` file of `slap init` | @NiklasRosenstein |
1.6.15 (2022-05-27)
Type | Description | PR | Issues | Author |
---|---|---|---|---|
Improvement | add `strict` option to Mypy settings in template | @NiklasRosenstein |
1.6.14 (2022-05-23)
Type | Description | PR | Issues | Author |
---|---|---|---|---|
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)
Type | Description | PR | Issues | Author |
---|---|---|---|---|
Fix | Fix misspelling in GH template | @NiklasRosenstein |
1.6.12 (2022-05-06)
Type | Description | PR | Issues | Author |
---|---|---|---|---|
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)
Type | Description | PR | Issues | Author |
---|---|---|---|---|
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)
Type | Description | PR | Issues | Author |
---|---|---|---|---|
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)
Type | Description | PR | Issues | Author |
---|---|---|---|---|
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)
Type | Description | PR | Issues | Author |
---|---|---|---|---|
Fix | Automatic detection of packages now ignores subdirectories that have a `pyproject.toml` file | @NiklasRosenstein |
1.6.7 (2022-04-26)
Type | Description | PR | Issues | Author |
---|---|---|---|---|
Fix | Fix `slap venv X.Y` to create an environment of the specified Python major/minor version | @NiklasRosenstein |
1.6.6 (2022-04-26)
Type | Description | PR | Issues | Author |
---|---|---|---|---|
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)
Type | Description | PR | Issues | Author |
---|---|---|---|---|
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)
Type | Description | PR | Issues | Author |
---|---|---|---|---|
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)
Type | Description | PR | Issues | Author |
---|---|---|---|---|
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)
Type | Description | PR | Issues | Author |
---|---|---|---|---|
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)
Type | Description | PR | Issues | Author |
---|---|---|---|---|
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)
Type | Description | PR | Issues | Author |
---|---|---|---|---|
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)
Type | Description | PR | Issues | Author |
---|---|---|---|---|
Fix | Fix issue with "cannot install into global environment" even if a Slap venv is active | @NiklasRosenstein |
1.5.3 (2022-04-14)
Type | Description | PR | Issues | Author |
---|---|---|---|---|
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)
Type | Description | PR | Issues | Author |
---|---|---|---|---|
Fix | fix in pep508 | @NiklasRosenstein |
1.5.1 (2022-04-13)
Type | Description | PR | Issues | Author |
---|---|---|---|---|
Fix | `slap.python.pep508` no longer requires `dataclasses` | @NiklasRosenstein |
1.5.0 (2022-04-13)
Type | Description | PR | Issues | Author |
---|---|---|---|---|
Fix | fix pep508 invokation when installing into Pytho 3.6 environments | @NiklasRosenstein |
1.4.5 (2022-04-04)
Type | Description | PR | Issues | Author |
---|---|---|---|---|
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)
Type | Description | PR | Issues | Author |
---|---|---|---|---|
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)
Type | Description | PR | Issues | Author |
---|---|---|---|---|
Fix | Add missing `tomlkit` dependency (needed by the `slap add` command) | @NiklasRosenstein |
1.4.2 (2022-03-31)
Type | Description | PR | Issues | Author |
---|---|---|---|---|
Fix | adjust for breaking changes in databind 2.0.0 (no more databind.json.settings module) | @NiklasRosenstein |
1.4.1 (2022-03-31)
Type | Description | PR | Issues | Author |
---|---|---|---|---|
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)
Type | Description | PR | Issues | Author |
---|---|---|---|---|
Feature | Add `ProjectHandler.add_dependency()` and `Project.add_dependency() | @NiklasRosenstein | ||
Feature | Add `slap add` command | @NiklasRosenstein |
1.3.6 (2022-03-27)
Type | Description | PR | Issues | Author |
---|---|---|---|---|
Fix | Fix `NameError` in non-monorepository scenario when using `slap install` | @NiklasRosenstein |
1.3.5 (2022-03-24)
Type | Description | PR | Issues | Author |
---|---|---|---|---|
Fix | Fix `slap release` to consider the monorepository config as well | @NiklasRosenstein |
1.3.4 (2022-03-24)
Type | Description | PR | Issues | Author |
---|---|---|---|---|
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)
Type | Description | PR | Issues | Author |
---|---|---|---|---|
Fix | Fix how `[install.extras]` is taken into account (used to always take all extras) | @NiklasRosenstein |
1.3.2 (2022-03-24)
Type | Description | PR | Issues | Author |
---|---|---|---|---|
Feature | support `[install.extras]` option in the monorepository and project config | @NiklasRosenstein |
1.3.1 (2022-03-24)
Type | Description | PR | Issues | Author |
---|---|---|---|---|
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)
Type | Description | PR | Issues | Author |
---|---|---|---|---|
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)
Type | Description | PR | Issues | Author |
---|---|---|---|---|
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)
Type | Description | PR | Issues | Author |
---|---|---|---|---|
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)
Type | Description | PR | Issues | Author |
---|---|---|---|---|
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)
Type | Description | PR | Issues | Author |
---|---|---|---|---|
Feature |
add `slam changelog | @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)
Type | Description | PR | Issues | Author |
---|---|---|---|---|
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` class | NiklasRosenstein | ||
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)
Type | Description | PR | Issues | Author |
---|---|---|---|---|
Fix | `git+https://...` requirements are now understood and no longer converted into a dependency caled just "git" | @NiklasRosenstein |
1.1.1 (2022-02-26)
Type | Description | PR | Issues | Author |
---|---|---|---|---|
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)
Type | Description | PR | Issues | Author |
---|---|---|---|---|
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)
Type | Description | PR | Issues | Author |
---|---|---|---|---|
Fix | `slam install` now skips projects that dont expose Python packages | @NiklasRosenstein |
1.0.9 (2022-02-25)
Type | Description | PR | Issues | Author |
---|---|---|---|---|
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)
Type | Description | PR | Issues | Author |
---|---|---|---|---|
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)
Type | Description | PR | Issues | Author |
---|---|---|---|---|
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)
Type | Description | PR | Issues | Author |
---|---|---|---|---|
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)
Type | Description | PR | Issues | Author |
---|---|---|---|---|
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)
Type | Description | PR | Issues | Author |
---|---|---|---|---|
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)
Type | Description | PR | Issues | Author |
---|---|---|---|---|
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)
Type | Description | PR | Issues | Author |
---|---|---|---|---|
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)
Type | Description | PR | Issues | Author |
---|---|---|---|---|
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)
Type | Description | PR | Issues | Author |
---|---|---|---|---|
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)
Type | Description | PR | Issues | Author |
---|---|---|---|---|
Fix | test runner without TTY now does the correct line prefixing | @NiklasRosenstein |
1.0.0a3 (2022-02-13)
Type | Description | PR | Issues | Author |
---|---|---|---|---|
Fix | fix entrypoint for `slam` script | @NiklasRosenstein |
1.0.0a2 (2022-02-13)
Type | Description | PR | Issues | Author |
---|---|---|---|---|
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)
Type | Description | PR | Issues | Author |
---|---|---|---|---|
Breaking change | Fully reimplment Shut, rename it to Slam | @NiklasRosenstein |
0.21.1 (2021-11-21)
Type | Description | PR | Issues | Author |
---|---|---|---|---|
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)
Type | Description | PR | Issues | Author |
---|---|---|---|---|
Feature | add `$.scripts` in `package.yml` and `shut pkg run` command | @NiklasRosenstein |
0.20.0 (2021-09-16)
Type | Description | PR | Issues | Author |
---|---|---|---|---|
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)
Type | Description | PR | Issues | Author |
---|---|---|---|---|
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)
Type | Description | PR | Issues | Author |
---|---|---|---|---|
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)
Type | Description | PR | Issues | Author |
---|---|---|---|---|
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 good | NiklasRosenstein/shut#33 | @NiklasRosenstein |
0.18.0 (2021-08-26)
Type | Description | PR | Issues | Author |
---|---|---|---|---|
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 files | NiklasRosenstein/shut#31 | @NiklasRosenstein | |
Fix | render `command` variable into `setup.py` only if package `$.install.hooks` is used | NiklasRosenstein/shut#33 | @NiklasRosenstein |
0.17.4 (2021-08-20)
Type | Description | PR | Issues | Author |
---|---|---|---|---|
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)
Type | Description | PR | Issues | Author |
---|---|---|---|---|
Fix | `shut mono|pkg test --isolate` no longer installs the main package in develop mode | @NiklasRosenstein |
0.17.2 (2021-08-14)
Type | Description | PR | Issues | Author |
---|---|---|---|---|
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)
Type | Description | PR | Issues | Author |
---|---|---|---|---|
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)
Type | Description | PR | Issues | Author |
---|---|---|---|---|
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)
Type | Description | PR | Issues | Author |
---|---|---|---|---|
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 license | NiklasRosenstein/shut#22 | @NiklasRosenstein |
0.16.0 (2021-08-10)
Type | Description | PR | Issues | Author |
---|---|---|---|---|
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 files | NiklasRosenstein/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)
Type | Description | PR | Issues | Author |
---|---|---|---|---|
Feature | add BSD2, BSD3, BSD4 and Apache2 license templates | @ndjeong |
0.15.0 (2021-08-09)
Type | Description | PR | Issues | Author |
---|---|---|---|---|
Feature | add `shut mono|pkg status --json --include-config` options | @NiklasRosenstein |
0.14.3 (2021-08-08)
Type | Description | PR | Issues | Author |
---|---|---|---|---|
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 Windows | NiklasRosenstein/shut#16 | @NiklasRosenstein | |
Fix | fix additional CR in generated `LICENSE.txt` on Windows when installing Shut from source | NiklasRosenstein/shut#17 | @NiklasRosenstein | |
Fix | `py.typed` file is rendered into `MANIFEST.in` with backslashes | @NiklasRosenstein |
0.14.2 (2021-08-03)
Type | Description | PR | Issues | Author |
---|---|---|---|---|
Improvement | update how install hooks are rendered into `setup.py` | @NiklasRosenstein |
0.14.1 (2021-07-23)
Type | Description | PR | Issues | Author |
---|---|---|---|---|
Fix | `TypeError` when using --extra and --dev/--test | @NiklasRosenstein |
0.14.0 (2021-07-22)
Type | Description | PR | Issues | Author |
---|---|---|---|---|
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)
Type | Description | PR | Issues | Author |
---|---|---|---|---|
Fix | exclude python requirements when rendering `requirements.txt` | @NiklasRosenstein |
0.13.2 (2021-06-20)
Type | Description | PR | Issues | Author |
---|---|---|---|---|
Fix | fix format of requirements in requirements.txt | @NiklasRosenstein |
0.13.1 (2021-06-20)
Type | Description | PR | Issues | Author |
---|---|---|---|---|
Fix | also install `PackageModel.test_requirements` on `shut pkg install` | @NiklasRosenstein |
0.13.0 (2021-06-20)
Type | Description | PR | Issues | Author |
---|---|---|---|---|
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)
Type | Description | PR | Issues | Author |
---|---|---|---|---|
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)
Type | Description | PR | Issues | Author |
---|---|---|---|---|
Fix | `shut pkg install` now correctly installs transitive package interdependencies in the right order | @NiklasRosenstein |
0.11.3 (2021-01-29)
Type | Description | PR | Issues | Author |
---|---|---|---|---|
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)
Type | Description | PR | Issues | Author |
---|---|---|---|---|
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)
Type | Description | PR | Issues | Author |
---|---|---|---|---|
Fix | fix error in `setuptools` renderer if no license is configured in the package | @NiklasRosenstein |
0.11.0 (2020-12-03)
Type | Description | PR | Issues | Author |
---|---|---|---|---|
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)
Type | Description | PR | Issues | Author |
---|---|---|---|---|
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)
Type | Description | PR | Issues | Author |
---|---|---|---|---|
Fix | add `PackageModel.license_file` and fix license rendering into MANIFEST.in and setup.py | @NiklasRosenstein |
0.10.1 (2020-11-27)
Type | Description | PR | Issues | Author |
---|---|---|---|---|
Fix | remove debug print in "package-url" check | @NiklasRosenstein |
0.10.0 (2020-11-27)
Type | Description | PR | Issues | Author |
---|---|---|---|---|
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)
Type | Description | PR | Issues | Author |
---|---|---|---|---|
Fix | cli: Fix `shut mono bump` not updating requirements in package `setup.py` if packages have inter dependencies | NiklasRosenstein/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)
Type | Description | PR | Issues | Author |
---|---|---|---|---|
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)
Type | Description | PR | Issues | Author |
---|---|---|---|---|
Fix | cli: Fix `AttributeError` when running `shut mono bump --snapshot` | @NiklasRosenstein |
0.7.2 (2020-09-08)
Type | Description | PR | Issues | Author |
---|---|---|---|---|
Fix | cli: Fix `shut pkg install` command | @NiklasRosenstein |
0.7.1 (2020-09-08)
Type | Description | PR | Issues | Author |
---|---|---|---|---|
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)
Type | Description | PR | Issues | Author |
---|---|---|---|---|
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)
Type | Description | PR | Issues | Author |
---|---|---|---|---|
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)
Type | Description | PR | Issues | Author |
---|---|---|---|---|
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)
Type | Description | PR | Issues | Author |
---|---|---|---|---|
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)
Type | Description | PR | Issues | Author |
---|---|---|---|---|
Feature | cli: Support `VIRTUALENV` and `PIP` environment variables in `shut pkg test` and `shut mono test` | @NiklasRosenstein |
0.5.2 (2020-09-05)
Type | Description | PR | Issues | Author |
---|---|---|---|---|
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)
Type | Description | PR | Issues | Author |
---|---|---|---|---|
Fix | cli: fix running "shut pkg install" from inside "shut pkg test --isolate" call | @NiklasRosenstein |
0.5.0 (2020-09-05)
Type | Description | PR | Issues | Author |
---|---|---|---|---|
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)
Type | Description | PR | Issues | Author |
---|---|---|---|---|
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)
Type | Description | PR | Issues | Author |
---|---|---|---|---|
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)
Type | Description | PR | Issues | Author |
---|---|---|---|---|
Docs | fix README example | @NiklasRosenstein |