What's Changed
Breaking Changes
- Remove public Rust API by @charliermarsh in #2709
Rules
- [
flake8-pyi
]Add flake8-pyi with one rule by @sbdchd in #2682 - [
pylint
]: bad-string-format-type by @colin99d in #2572 - [
pylint
]: yield-in-init by @tomecki in #2716 - [
flake8-tidy-imports
] Implement autofix for relative imports (TID252) by @sbrugman in #2739 - [
flake8-bandit
]: try-except-continue by @colin99d in #2674 - [
flake8-bandit
] Implement bandit's 'hardcoded-sql-expressions' S608 by @mattoberle in #2698 - [
pycodestyle
] Implement compound-statements (E701, E702, E703, E704) by @charliermarsh in #2680
Settings
- feat(isort): Implement known-local-folder by @spaceone in #2657
- Suppress parse errors with explicit
# noqa: E999
directives by @charliermarsh in #2697
Bug Fixes
- Support callable decorators in classmethod_decorators et al by @charliermarsh in #2675
- Avoid flagging typed exceptions in tuples by @charliermarsh in #2728
- Mark flake8-simplify rules as unfixable in non-fixable cases by @charliermarsh in #2676
- Treat re-exported annotations as used-at-runtime by @charliermarsh in #2689
- Gate
Path.readlink()
behind Python 3.9+ guard by @charliermarsh in #2708 - Handle functions that never return in RET503 (#2602) by @ppentchev in #2701
- Handle more functions that never return in RET503 by @ngnpope in #2719
- Expand S110 and S112 ranges to include entire exception handler by @charliermarsh in #2729
- Relax conditions in bad-string-format-type by @charliermarsh in #2731
- Mark
__all__
members as used at end-of-scope by @charliermarsh in #2733 - Only validate
__all__
bindings for global scope by @charliermarsh in #2738 - Only trigger compound statements after select keywords by @charliermarsh in #2737
- Use
function_type::classify
foryield-in-init
by @charliermarsh in #2742 - Allow named unicodes in bidirectional escape check by @charliermarsh in #2710
- Respect NO_COLOR flags in --show-source by @charliermarsh in #2750
- Flag private member accesses on calls et al by @charliermarsh in #2753
New Contributors
- @ngnpope made their first contribution in #2692
- @ppentchev made their first contribution in #2701
- @tomecki made their first contribution in #2716
Full Changelog: v0.0.244...v0.0.245