Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update wemake-python-styleguide to 0.19.2 #289

Open
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

pyup-bot
Copy link
Collaborator

This PR updates wemake-python-styleguide from 0.15.2 to 0.19.2.

Changelog

0.19.2

Bugfixes

- Fixes `WrongEmptyLinesCountViolation` crash on `Callable[..., ...]` 2899

0.19.1

This release fixes how `...` is used. For example, it is common to define
function stubs / protocols like this:

python
def some_function(): ...


Now, `...` will be excluded from several rules.

Bugfixes

- Fixes `TooDeepNestingViolation` not to trigger
on `...` in functions and classes
- Fixes `StatementHasNoEffectViolation` not to trigger
on `...` in functions and classes, when it is the only node

0.19.0

This minor version will be the last release with all the `flake8` plugins.
In the future this project will be migrated to be used together with `ruff`.

Features

- Adds official `python3.12` support
- **Breaking**: drops `python3.8` support
- **Breaking**: Reconsider `object` required base class exception:
since `class Klass[_Type]` must not contain `object`,
this rule is change to be the opposite:
`object` explicit base class must not be used.
You can use `ruff` to change all `object`-based types to the new style:
`ruff check --select=UP004 --fix .`
https://docs.astral.sh/ruff/rules/useless-object-inheritance/
- **Breaking**: allow positional-only parameters,
since it is required by `mypy` when using `Concatenate`
- Adds support for naming rules for PEP695 type params
- Due to how `f`-string are parsed in `python3.12` several token-based
violations are not reported anymore for them:
`WrongMultilineStringViolation`, `ImplicitRawStringViolation`,
`WrongUnicodeEscapeViolation`, `RawStringNotNeededViolation`
- `wemake` output formatter now respects `NO_COLOR=1` option
to disable text highlighting. See https://no-color.org
- Adds `ImportObjectCollisionViolation` to detect
the same objects imported under different aliases
- Adds `reveal_locals` to the list of forbidden functions
- Updates `flake8` to `7.x`

Bugfixes

- Fixes `ForbiddenInlineIgnoreViolation` config parsing. 2590
- Fixes `WrongEmptyLinesCountViolation` for func definitions with ellipsis. 2847
- Fixes `WrongEmptyLinesCountViolation` for multiline implicit string concatination. 2787
- Fixes `ObjectInBaseClassesListViolation`, `UnpythonicGetterSetterViolation`,
`ImplicitInConditionViolation`, `RedundantSubscriptViolation`,
`TooLongCompareViolation` to include better error details
- Fixes `TooDeepNestingViolation` for `TryStar` and `Match` statements
- Fixes `TooLongTryBodyViolation` and `TooManyExceptCasesViolation`
to work for `TryStar` statements as well
- Fixes `UselessNodeViolation` to work with `TryStar`
- Fixes `DuplicateExceptionViolation` to work with `TryStar`
- Fixes `TryExceptMultipleReturnPathViolation` to work with `TryStar`
- Fixes `IncorrectExceptOrderViolation` to work with `TryStar`
- Fixes that `MatchStar` was not checked in pattern matching name assignments
- Fixes pattern matching support
in `BlockAndLocalOverlapViolation` and `OuterScopeShadowingViolation`

Misc

- Updates multiple`flake8-*` dependencies
- Fixes multiple typos in docs

0.18.0

Features

- **Breaking**: drops `python3.7` support, because it has almost reached its EOL
- Adds `python3.11` support
- Bump `flake8` to version `5.x`
- Bump `flake8-*` dependencies to newer versions
- Added `ChainedIsViolation` 2443
- Added `BuggySuperContextViolation` 2310

Bugfixes

- Make `generic_visit()` check script properly handle `with` statements.
- Allow calling magic methods with the same name as the enclosing method 2381
- Fix WrongEmptyLinesCountViolation false positive 2531
- Fix OpenWithoutContextManagerViolation false positive 2577

Misc

- Replaced `flakehell` mentions to `flakeheaven` 2409

0.17.0

Features

- **Breaking**: drops `python3.6` support
- Adds support for pattern matching naming rules, same as other variables
- Adds `--show-violation-links` option to show links to violation docs
- Adds `__init_subclass__` in the beginning of accepted methods
order as per WPS338 2411
- Adds `WrongEmptyLinesCountViolation` to check
for too many lines in functions and methods definitions 2486

Bugfixes

- Fixes `WPS226` false positives on `|` use in `SomeType | AnotherType`
type hints syntax
- Now `-1` is not reported to be an overused expression
- Allow `__aiter__` to be async iterator
- Adds violation method name to error message of `YieldMagicMethodViolation`
- Fixes direct docker image invocation 2492

Misc

- Adds full violation codes to docs and `BaseViolation.full_code` 2409
- Fix documentation mismatch between default setting
for `max-string-usages` and enforced rule 2456
- Domain name was changed from `wemake-python-stylegui.de`
to `wemake-python-styleguide.rtfd.io`

0.16.1

Bugfixes

- Fixes crash on `'Literal["raise"]'` annotation 2341
- Fixes `WPS471` was not detected on complex assignment targets 2301
- Fixes `flake8-bandit` and `bandit` version conflict 2368

0.16.0

Features

- Supports new `flake8` version `4.x`
- Now `InconsistentYieldViolation` and `InconsistentReturnViolation` are raised
when `yield` or `return` is used with `None`
where plain version should be used 2151
- Dot `'.'` and comma `','` do not count against string literal overuse limit anymore 2209
- Added `RedundantEnumerateViolation` 1825
- Adds `RaiseFromItselfViolation` 2133
- Adds `ConsecutiveSlicesViolation` 2064
- Adds `KwargsUnpackingInClassDefinitionViolation` 1754
- `DirectMagicAttributeAccessViolation` now only flags instances for which
a known alternative exists 2268
- Forbids getting collection element of list by unpacking 1824
- Now `WPS227` forbids returning tuples that are too long 1731

Bugfixes

- Fixes that `InconsistentComprehensionViolation` was ignoring
misaligned `in` expressions 2075
- Fixes some common magic methods not being recognized as such 2281

Misc

- Removes all `Raises:` from docstrings, they were unused
- Added example to `README.md`
- Added `why strict is good`
- Replaced all `python` with `Python` in `README.md`
- Improve Docs: Fixed all typos and grammatical errors in `CHANGELOG.md`
- Updated documentation with the recommended `isort` config. 1934
- Updates `typing_extensions` to `4.x`

0.15.3

Bugfixes

- Fixes crash on `python3.10`
- Fixes `UselessReturningElseViolation` to not report `else` with `break` 1958
- Fixes `ReassigningVariableToItselfViolation` to not report on `x = (x,)` 1807
- Fixes `ReassigningVariableToItselfViolation` to extract variables
from unary operators 1874
- Fixes that `f'{some:,}'` was considered too complex 1921
- Fixes that `range(len(x))` was not allowed even outside `for` loops 1883
- Fixes `UselessReturningElseViolation` to not report `else` with `break` 2187
(even if we have `except` in loop)
- Fixes fixture in `UselessReturningElseViolation` 2191

Misc

- Adds documentation (and tests) for how to run project on Jupyter Notebooks
- Updates `mypy` to `0.902` and fixes type issues
Links

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants