|
1 | 1 | # Changelog |
2 | 2 |
|
| 3 | +## 0.21.0 |
| 4 | + |
| 5 | +### 🚀 New Features |
| 6 | + |
| 7 | +- There is now support for the [Poetry](https://python-poetry.org/) backend in usethis. Access it via the `--backend=poetry` option for applicable commands. |
| 8 | +- Tools which add formatters (`usethis format`, `usethis tool pyproject-fmt`, and `usethis tool ruff`) will now automatically apply the formatter to the project when added. |
| 9 | +- There is now a `usethis tool tach` command to add the [Tach architecture tool](https://github.com/tach-org/tach) to the project. |
| 10 | +- `usethis tool` commands now support a `--no-hook` flag to opt out of modifying git hook configuration (e.g. in `.pre-commit-config.yaml`) when managing the tool. |
| 11 | +- `usethis show` commands now support an `--output-file` option to write the output to a file instead of printing it to the console. |
| 12 | +- There is now a `usethis show license` command to show the license of the current project. |
| 13 | +- There is now a `usethis badge bitbucket` command to add a badge for Bitbucket usage to the README. |
| 14 | +- `usethis tool pytest` and `usethis test` will now automatically add an example test file. This helps ensure that `pytest` will run out-of-the-box without emitting a non-zero error code. |
| 15 | + |
| 16 | +### 🐞 Bug Fixes |
| 17 | + |
| 18 | +- In some cases, when usethis modified TOML files, comments would be stripped from multi-line lists. This has been fixed. |
| 19 | +- Out-of-schema entries in `.pre-commit-config.yaml` files will no longer result in errors when being handled by usethis. This is especially useful for prek users, since prek extends `.pre-commit-config.yaml` with support for additional configuration options which are not found in the standard pre-commit schema. |
| 20 | + |
| 21 | +### 🦾 Robustness |
| 22 | + |
| 23 | +- Hard-wrapping is now disabled for CLI outputs. |
| 24 | +- The `usethis tool requirements.txt` command now uses a more standard URI-based pre-commit hook for exporting (using the `astral-sh/uv-pre-commit` repo) instead of a local system hook. |
| 25 | +- Default code coverage configuration now excludes the pattern `msg = ["']` associated with writing error messages outside the error class (see the [`EM101`](https://docs.astral.sh/ruff/rules/raw-string-in-exception/) Ruff rule). |
| 26 | +- The heuristic for detecting uv usage will now check whether uv is declared as a dependency (including as a dev dependency) in `pyproject.toml` when the file exists, in addition to the previous heuristics. This should help reduce false positives for projects which use other tools but have `pyproject.toml` files with no uv configuration. |
| 27 | +- There is improved handling of pre-commit configuration validation for when the hook ID is null. |
| 28 | + |
| 29 | +### 📚 Documentation |
| 30 | + |
| 31 | +- The `usethis show sonarqube` command is now documented explicitly in the CLI reference section of the documentation site. |
| 32 | +- The concept of backends is [now expounded on the documentation site](https://usethis.readthedocs.io/en/latest/about/backends/). |
| 33 | +- All modules now have module docstrings. |
| 34 | +- The project description and keywords have been updated to reflect the current state of the project. The license Trove classifier has been removed since Trove classifiers for licenses are no longer recommended. |
| 35 | +- The FAQ page has been re-structured. |
| 36 | +- The pipeweld utility now has more comprehensive docstrings. |
| 37 | +- The `FileManager` and `files_manager` objects now have more detailed docstrings. |
| 38 | + |
| 39 | +### 📦 Packaging |
| 40 | + |
| 41 | +- The `identify` package is a new dependency to provide support for the `usethis show license` command. |
| 42 | + |
| 43 | +### 🔧 Internal Changes |
| 44 | + |
| 45 | +- There is improved type compliance, especially for the implementation of the file management system. |
| 46 | +- Ruff configuration now resides in `ruff.toml` for development. |
| 47 | +- There is now a `PreCommitConfig.from_system_hook` method to simplify the specification of pre-commit hook configuration for the various tools. |
| 48 | +- Agent configuration and bespoke prek hooks continue to be developed. |
| 49 | + |
3 | 50 | ## 0.20.0 |
4 | 51 |
|
5 | 52 | ### 💥 Changes |
|
0 commit comments