Skip to content

Commit f9be8aa

Browse files
committed
Clear release notes
Signed-off-by: Leandro Lucarella <[email protected]>
1 parent 2e084dc commit f9be8aa

File tree

1 file changed

+9
-69
lines changed

1 file changed

+9
-69
lines changed

RELEASE_NOTES.md

Lines changed: 9 additions & 69 deletions
Original file line numberDiff line numberDiff line change
@@ -2,88 +2,28 @@
22

33
## Summary
44

5-
This release replaces [`darglint`](https://github.com/terrencepreilly/darglint) (not maintained anymore) with [`pydoclint`](https://github.com/jsh9/pydoclint) which brings performance and checks improvements. It also adds basic `flake8` checks and `mypy` fixes.
5+
<!-- Here goes a general summary of what this release is about -->
66

77
## Upgrading
88

9-
- `flake8` basic checks are enabled now. Most are already covered by `pylint`, but there are a few differences, so you might need to fix your code if `flake8` find some issues.
10-
11-
- `darglint`:
12-
13-
* Replaced by `pydoclint`, `pydoclint` can find a few more issues than `darglint`, so your code might need adjusting.
14-
15-
* It is recommended to remove the `darglint` configuration file `.darglint` and the `darglint` `pip` package, if it is kept installed, it will make `flake8` run extremely slowly even if not used: `pip uninstall darglint`) and rebuild you `nox` *venvs* if you use `-R`.
16-
17-
- If you are upgrading without regenerating the cookiecutter templates, you'll need to adjust the dependencies accordingly.
18-
19-
- `nox`: The `Config.package_args()` method was removed.
20-
21-
- `mypy`
22-
23-
* Options must be specified in the `pyproject.toml` file, including the option `packages` specifying the package containing the source code of the project. The documentation was updated to suggest the recommended options.
24-
25-
* Dependencies on *stubs* for running the type check need to be specified manually in the `pyproject.toml` file, so they can be pinned (before they were installed automatically by `mypy`.
26-
27-
* The `mypy` `nox` session runs `mypy` 2 times, one without options to check the package including the sources, and one with the paths of development paths (`tests`, `benchmarks`, etc.).
28-
29-
To migrate existing projects:
30-
31-
1. Add the recommended options (previously specified in the default options object):
32-
33-
```toml
34-
[tool.mypy]
35-
explicit_package_bases = true
36-
namespace_packages = true
37-
packages = ["<package.name>"] # For example: "frequenz.repo.config" for this package
38-
strict = true
39-
```
40-
41-
2. Find out which *stubs* were previously installed automatically by `mypy`:
42-
43-
```sh
44-
python -m venv tmp_venv
45-
. tmp_venv/bin/activate
46-
pip install -e .[dev-mypy]
47-
mypy --install-types
48-
deactivate
49-
```
50-
51-
3. Look at the list of packages it offers to install and answer "no".
52-
53-
4. Search for the latest package version for those packages in https://pypi.org/project/<package-name>/
54-
55-
5. Edit the `pyproject.toml` file to add those dependencies in `dev-mypy`, for example:
56-
57-
```toml
58-
[project.optional-dependencies]
59-
dev-mypy = [
60-
"mypy == 1.5.1",
61-
"types-setuptools == 68.1.0.0",
62-
# ...
63-
```
9+
<!-- Here goes notes on how to upgrade from previous versions, including deprecations and what they should be replaced with -->
6410

6511
### Cookiecutter template
6612

67-
- CI: The `nox` job now uses a matrix to run the different `nox` sessions in parallel. If you use branch projection with the `nox` job you need to update the rules to include each matrix job.
68-
69-
- See the general upgrading section.
13+
<!-- Here upgrade steps for cookiecutter specifically -->
7014

7115
## New Features
7216

73-
- `flake8` is now used to check the files.
74-
75-
- `darlint` was replaced by `pydoclint`, which is way faster and detect more issues.
76-
77-
- `nox`: The `Config.path_args()` method now accepts two optional arguments to control with paths to include.
17+
<!-- Here goes the main new features and examples or instructions on how to use them -->
7818

7919
### Cookiecutter template
8020

81-
- Now dependabot updates will be done weekly and grouped by *required* and *optional* for minor and patch updates (major updates are still done individually for each dependency).
21+
<!-- Here new features for cookiecutter specifically -->
8222

83-
- ci: Add debug information when installing pip packages.
23+
## Bug Fixes
8424

85-
The output of `pip freeze` is printed to be able to more easily debug different behaviours between GitHub workflow runs and local runs.
25+
<!-- Here goes notable bug fixes that are worth a special mention or explanation -->
8626

87-
- `mypy`: Add a commented out `no-incremental` option, which makes the run slower but prevents some issues with `mypy` giving different results on different runs.
27+
### Cookiecutter template
8828

89-
- See the general new features section.
29+
<!-- Here bug fixes for cookiecutter specifically -->

0 commit comments

Comments
 (0)