Improved the violation message of DOC105: the arguments with inconsistent
type hints are now shown in the violation message to make violation
correction much easier
A new config option --show-filenames-in-every-violation-message (or
-sfn), which makes it more convenient to jump to the corresponding line
in IDEs by clicking on the violation message in the terminal
Fixed a bug where comments where mistakenly removed along with redundant parentheses
(#4218)
Preview style
Move the hug_parens_with_braces_and_square_brackets feature to the unstable style
due to an outstanding crash and proposed formatting tweaks (#4198)
Fixed a bug where base expressions caused inconsistent formatting of ** in tenary
expression (#4154)
Checking for newline before adding one on docstring that is almost at the line limit
(#4185)
Remove redundant parentheses in case statement if guards (#4214).
Configuration
Fix issue where Black would ignore input files in the presence of symlinks (#4222)
Black now ignores pyproject.toml that is missing a tool.black section when
discovering project root and configuration. Since Black continues to use version
control as an indicator of project root, this is expected to primarily change behavior
for users in a monorepo setup (desirably). If you wish to preserve previous behavior,
simply add an empty [tool.black] to the previously discovered pyproject.toml
(#4204)
Output
Black will swallow any SyntaxWarnings or DeprecationWarnings produced by the ast
module when performing equivalence checks (#4189)
Integrations
Add a JSONSchema and provide a validate-pyproject entry-point (#4181)
Fixed a bug where comments where mistakenly removed along with redundant parentheses
(#4218)
Preview style
Move the hug_parens_with_braces_and_square_brackets feature to the unstable style
due to an outstanding crash and proposed formatting tweaks (#4198)
Fixed a bug where base expressions caused inconsistent formatting of ** in tenary
expression (#4154)
Checking for newline before adding one on docstring that is almost at the line limit
(#4185)
Remove redundant parentheses in case statement if guards (#4214).
Configuration
Fix issue where Black would ignore input files in the presence of symlinks (#4222)
Black now ignores pyproject.toml that is missing a tool.black section when
discovering project root and configuration. Since Black continues to use version
control as an indicator of project root, this is expected to primarily change behavior
for users in a monorepo setup (desirably). If you wish to preserve previous behavior,
simply add an empty [tool.black] to the previously discovered pyproject.toml
(#4204)
Output
Black will swallow any SyntaxWarnings or DeprecationWarnings produced by the ast
module when performing equivalence checks (#4189)
Integrations
Add a JSONSchema and provide a validate-pyproject entry-point (#4181)
This release brings support for pytest 8, a couple of bug fixes and many improvements to the cookiecutter template.
Upgrading
Once you upgraded, you'll be able to upgrade to pytest 8, and indirectly to sybil 6, which includes types hints. If you do so, you should remove the mypy exception for sybil in the pyproject.toml file.
Search for the tool.mypy.overrides section and remove the "sybil", "sybil.*" enties from the module list.
Cookiecutter template
To upgrade without regenerating the project, you can follow these steps:
Run the following command to add the new pylint ignore rules:
sed '/ # Checked by flake8/a\ "redefined-outer-name",\n "unused-import",' -i pyproject.toml
It is recommended to update this rule in your repository to use the new bypass rule for the Protect version branches ruleset that allows maintainers to force-merge.
You can do this by re-importing the ruleset or manually:
Go to the repository settings -> Rules -> Rulesets -> Protect version branches -> Bypass list -> Add bypass -> Select Maintain role and change the dropdown bypass rule to use Pull requests instead of Always.
The labeler action was upgraded to 5.0.0. This needs a new configuration file.
If you haven't diverged much from the default configuration (and you are not using exclusion rules), you can update the configuration file by running this script in the root of your repository:
This release brings support for pytest 8, a couple of bug fixes and many improvements to the cookiecutter template.
Upgrading
Once you upgraded, you'll be able to upgrade to pytest 8, and indirectly to sybil 6, which includes types hints. If you do so, you should remove the mypy exception for sybil in the pyproject.toml file.
Search for the tool.mypy.overrides section and remove the "sybil", "sybil.*" enties from the module list.
Cookiecutter template
To upgrade without regenerating the project, you can follow these steps:
Run the following command to add the new pylint ignore rules:
sed '/ # Checked by flake8/a\ "redefined-outer-name",\n "unused-import",' -i pyproject.toml
It is recommended to update this rule in your repository to use the new bypass rule for the Protect version branches ruleset that allows maintainers to force-merge.
You can do this by re-importing the ruleset or manually:
Go to the repository settings -> Rules -> Rulesets -> Protect version branches -> Bypass list -> Add bypass -> Select Maintain role and change the dropdown bypass rule to use Pull requests instead of Always.
The labeler action was upgraded to 5.0.0. This needs a new configuration file.
If you haven't diverged much from the default configuration (and you are not using exclusion rules), you can update the configuration file by running this script in the root of your repository:
Fix typing errors with recent versions of mypy #769
Prevent DeprecationWarning about internal use of asyncio.get_event_loop() from affecting test cases #757
Known issues
As of v0.23, pytest-asyncio attaches an asyncio event loop to each item of the test suite (i.e. session, packages, modules, classes, functions) and allows tests to be run in those loops when marked accordingly. Pytest-asyncio currently assumes that async fixture scope is correlated with the new event loop scope. This prevents fixtures from being evaluated independently from the event loop scope and breaks some existing test suites (see #706). For example, a test suite may require all fixtures and tests to run in the same event loop, but have async fixtures that are set up and torn down for each module. If you're affected by this issue, please continue using the v0.21 release, until it is resolved.
Fix typing errors with recent versions of mypy #769
Known issues
As of v0.23, pytest-asyncio attaches an asyncio event loop to each item of the test suite (i.e. session, packages, modules, classes, functions) and allows tests to be run in those loops when marked accordingly. Pytest-asyncio currently assumes that async fixture scope is correlated with the new event loop scope. This prevents fixtures from being evaluated independently from the event loop scope and breaks some existing test suites (see #706). For example, a test suite may require all fixtures and tests to run in the same event loop, but have async fixtures that are set up and torn down for each module. If you're affected by this issue, please continue using the v0.21 release, until it is resolved.
Commits
3aef605 [build] Update actions/upload-artifact and actions/download-artifact to v4.
4b1908d [fix] Prevent DeprecationWarning from bubbling to user code.
fc6d6cf Fix typing and update to mypy 1.8.0 (#769)
6008cf1 Build(deps): Bump pluggy from 1.3.0 to 1.4.0 in /dependencies/default
712c51b Build(deps): Bump coverage from 7.4.0 to 7.4.1 in /dependencies/default
42fd304 Build(deps): Bump hypothesis in /dependencies/default
a40b4f6 Build(deps): Bump urllib3 from 2.1.0 to 2.2.0 in /dependencies/docs
9d90f8e Build(deps): Bump certifi in /dependencies/docs
fe5da07 Build(deps): Bump markupsafe from 2.1.4 to 2.1.5 in /dependencies/docs
Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- `@dependabot show ignore conditions` will show all of the ignore conditions of the specified dependency
- `@dependabot ignore major version` will close this group update PR and stop Dependabot creating any more for the specific dependency's major version (unless you unignore this specific dependency's major version or upgrade to it yourself)
- `@dependabot ignore minor version` will close this group update PR and stop Dependabot creating any more for the specific dependency's minor version (unless you unignore this specific dependency's minor version or upgrade to it yourself)
- `@dependabot ignore ` will close this group update PR and stop Dependabot creating any more for the specific dependency (unless you unignore this specific dependency or upgrade to it yourself)
- `@dependabot unignore ` will remove all of the ignore conditions of the specified dependency
- `@dependabot unignore ` will remove the ignore condition of the specified dependency and ignore conditions
Bumps the optional group with 9 updates:
0.3.9
0.4.1
24.1.1
24.2.0
0.8.0
0.9.1
9.5.6
9.5.12
0.24.0
0.24.1
3.0.3
3.1.0
0.8.0
0.9.1
6.97.4
6.98.17
0.23.4
0.23.5
Updates
pydoclint
from 0.3.9 to 0.4.1Release notes
Sourced from pydoclint's releases.
Changelog
Sourced from pydoclint's changelog.
Commits
af2c326
Update changelog3a5e4b0
Remove useless argument--src
(#124)70eb3c8
Fix double quotes in Literal type hint (#123)d2b4b99
Include args with different type hints in DOC105 msg (#120)fa41757
Add option to show filename for each violation msg (#119)b8b4396
Add py312 to CI pipeline01893df
Exclude venv folders in flake8 (#116)676847e
Documenting tool integration (#104)Updates
black
from 24.1.1 to 24.2.0Release notes
Sourced from black's releases.
Changelog
Sourced from black's changelog.
Commits
6fdf8a4
Prepare release 24.2.0 (#4226)8af4394
fix: Don't remove comments along with parens (#4218)35e9776
Bump pre-commit/action from 3.0.0 to 3.0.1 (#4225)23dfc5b
Fix ignoring input files for symlink reasons (#4222)a201003
Simplify check for symlinks that resolve outside root (#4221)dab37a6
Remove redundant parentheses incase
statementif
guards (#4214)32230e6
fix: bug where the doublestar operation had inconsistent formatting. (#4154)7edb50f
fix: additional newline added to docstring when the previous line length is l...3e80de3
Bump furo from 2023.9.10 to 2024.1.29 in /docs (#4211)a08b480
Bump pypa/cibuildwheel from 2.16.4 to 2.16.5 (#4212)Updates
frequenz-repo-config[lib]
from 0.8.0 to 0.9.1Release notes
Sourced from frequenz-repo-config[lib]'s releases.
... (truncated)
Commits
b3925ca
Clean up release notes for 0.9.1 (#232)ae48810
Clean up release notes for 0.9.1fb2851a
Initialize repos to version 0.9.1 (#231)1498b05
Initialize repos to version 0.9.1017b18e
Clear release notes (#228)4ca01ac
Clear release notes3e198ce
Prepare release notes for v0.9.0 (#227)665c447
Remove placeholder from RELEASE_NOTES.md9545f59
Add summary to release notes3258f97
Remove conflict markers from RELEASE_NOTES.mdUpdates
mkdocs-material
from 9.5.6 to 9.5.12Release notes
Sourced from mkdocs-material's releases.
Changelog
Sourced from mkdocs-material's changelog.
... (truncated)
Commits
5108432
Updated changelogd366a45
Fixed instant navigation removing color theme tags6219f3d
Merge branch 'master' of github.com:squidfunk/mkdocs-materialc7bde2d
Formattingde46c41
Fixed document observable not emitting current document7b83b57
Updated contributing guide (#6843)6c2e029
Updated Premium sponsorsb5a5fde
Updated dependenciesc3a1e79
Merge branch 'master' of github.com:squidfunk/mkdocs-materialca7e952
Fixed privacy plugin not handling URL-encoded pathnamesUpdates
mkdocstrings[python]
from 0.24.0 to 0.24.1Release notes
Sourced from mkdocstrings[python]'s releases.
Changelog
Sourced from mkdocstrings[python]'s changelog.
Commits
d716a88
chore: Prepare release 0.24.1c161d26
ci: Remove type ignore comment now that it's fixed in autorefs89f752a
style: Format2fe2b47
chore: Template upgrade080ddad
docs: Fix insiders pagecdd946c
docs: Enable lang class and automatic inline highlight21380ae
docs: Remove mention of directory watchingf553684
ci: Type ignore comment waiting for fix in autorefsa7a2907
refactor: Support new pymdownx-highlight optionsb5236b4
refactor: Backup anchors with id and no href, for compatibility with autorefs...Updates
pylint
from 3.0.3 to 3.1.0Commits
053c2c3
Bump pylint to 3.1.0, update changelogc954636
Upgrade release documentation, and contributors.txt7300ed2
Discover.pyi
files (#9241)9dbf3df
Merge maintenance 3.0.x into main following 3.0.4 release (#9459)28e89b0
Remove changelog fragments pertaining to 3.0.44332ea1
Merge branch 'maintenance/3.0.x' into main following 3.0.4 release8115381
Bump pylint to 3.0.4, update changelog (#9458)4bf3524
[false-negative] Fix for consider-using-min/max-builtin (#9127)8c24b1e
[pre-commit.ci] pre-commit autoupdate (#9448)f499686
Update astroid version to 3.1.0 (#9457)Updates
frequenz-repo-config[extra-lint-examples]
from 0.8.0 to 0.9.1Release notes
Sourced from frequenz-repo-config[extra-lint-examples]'s releases.
... (truncated)
Commits
b3925ca
Clean up release notes for 0.9.1 (#232)ae48810
Clean up release notes for 0.9.1fb2851a
Initialize repos to version 0.9.1 (#231)1498b05
Initialize repos to version 0.9.1017b18e
Clear release notes (#228)4ca01ac
Clear release notes3e198ce
Prepare release notes for v0.9.0 (#227)665c447
Remove placeholder from RELEASE_NOTES.md9545f59
Add summary to release notes3258f97
Remove conflict markers from RELEASE_NOTES.mdUpdates
hypothesis
from 6.97.4 to 6.98.17Commits
059357d
Bump hypothesis-python version to 6.98.17 and update changelogb9f3d75
Merge pull request #3889 from JonathanPlasse/fix-extra-numpy-arrays-type-sign...30c2b96
Bump hypothesis-python version to 6.98.16 and update changelogfe92cff
Merge pull request #3903 from tybug/ir-shrinker-preparationa899b41
Merge branch 'ir-shrinker-preparation' of github.com:tybug/hypothesis into ir...b0d022f
deflake test162d013
Set pyright python pathca92be7
nocover 3.12 only branch2a99f19
add from None to raise3a732d1
add typesUpdates
pytest-asyncio
from 0.23.4 to 0.23.5Release notes
Sourced from pytest-asyncio's releases.
Commits
3aef605
[build] Update actions/upload-artifact and actions/download-artifact to v4.4b1908d
[fix] Prevent DeprecationWarning from bubbling to user code.fc6d6cf
Fix typing and update to mypy 1.8.0 (#769)6008cf1
Build(deps): Bump pluggy from 1.3.0 to 1.4.0 in /dependencies/default712c51b
Build(deps): Bump coverage from 7.4.0 to 7.4.1 in /dependencies/default42fd304
Build(deps): Bump hypothesis in /dependencies/defaulta40b4f6
Build(deps): Bump urllib3 from 2.1.0 to 2.2.0 in /dependencies/docs9d90f8e
Build(deps): Bump certifi in /dependencies/docsfe5da07
Build(deps): Bump markupsafe from 2.1.4 to 2.1.5 in /dependencies/docs42b140d
fix compatibility with pytest ^8 (#776)Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting
@dependabot rebase
.Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot show