Aquesta és una versió anterior. La versió actual és la 0.17.1. Ruff 0.17.1 · Data de publicació:
Fitxers d’instal·lació 0.9.3
| Arquitectura | Tipus | Àmbit | Mida del fitxer | Baixa | SHA256 |
|---|---|---|---|---|---|
| 64 bits | ZIP → Portable | — | — | github.com | VirusTotal |
| ARM64 | ZIP → Portable | — | — | github.com | VirusTotal |
| 32 bits | ZIP → Portable | — | — | github.com | VirusTotal |
L’enllaç i l’SHA256 provenen del manifest comunitari del Gestor de paquets del Windows. Convé comparar el hash del fitxer baixat abans d’executar-lo.
Notes de la versió
Preview features
- [airflow] Argument `fail_stop` in DAG has been renamed as `fail_fast` (AIR302) (#15633)
- [airflow] Extend AIR303 with more symbols (#15611)
- [flake8-bandit] Report all references to suspicious functions (S3) (#15541)
- [flake8-pytest-style] Do not emit diagnostics for empty `for` loops (PT012, PT031) (#15542)
- [flake8-simplify] Avoid double negations (SIM103) (#15562)
- [pyflakes] Fix infinite loop with unused local import in `__init__.py` (F401) (#15517)
- [pylint] Do not report methods with only one EM101-compatible `raise` (PLR6301) (#15507)
- [pylint] Implement `redefined-slots-in-subclass` (W0244) (#9640)
- [pyupgrade] Add rules to use PEP 695 generics in classes and functions (UP046, UP047) (#15565, #15659)
- [refurb] Implement `for-loop-writes` (FURB122) (#10630)
- [ruff] Implement `needless-else` clause (RUF047) (#15051)
- [ruff] Implement `starmap-zip` (RUF058) (#15483)
Rule changes
- [flake8-bugbear] Do not raise error if keyword argument is present and target-python version is less or equals than 3.9 (B903) (#15549)
- [flake8-comprehensions] strip parentheses around generators in `unnecessary-generator-set` (C401) (#15553)
- [flake8-simplify] Mark fixes as unsafe (SIM201, SIM202) (#15626)
- [flake8-type-checking] Fix some safe fixes being labeled unsafe (TC006,TC008) (#15638)
- [isort] Omit trailing whitespace in `unsorted-imports` (I001) (#15518)
- [pydoclint] Allow ignoring one line docstrings for `DOC` rules (#13302)
- [pyflakes] Apply redefinition fixes by source code order (F811) (#15575)
- [pyflakes] Avoid removing too many imports in `redefined-while-unused` (F811) (#15585)
- [pyflakes] Group redefinition fixes by source statement (F811) (#15574)
- [pylint] Include name of base class in message for `redefined-slots-in-subclass` (W0244) (#15559)
- [ruff] Update fix for RUF055 to use `var == value` (#15605)
Formatter
- Fix bracket spacing for single-element tuples in f-string expressions (#15537)
- Fix unstable f-string formatting for expressions containing a trailing comma (#15545)
Performance
- Avoid quadratic membership check in import fixes (#15576)
Server
- Allow `unsafe-fixes` settings for code actions (#15666)
Bug fixes
- [flake8-bandit] Add missing single-line/dotall regex flag (S608) (#15654)
- [flake8-simplify] Do not emit diagnostics for expressions inside string type annotations (SIM222, SIM223) (#15405)
- [pyflakes] Treat arguments passed to the `default=` parameter of `TypeVar` as type expressions (F821) (#15679)
- [pyupgrade] Avoid syntax error when the iterable is a non-parenthesized tuple (UP028) (#15543)
- [ruff] Exempt `NewType` calls where the original type is immutable (RUF009) (#15588)
- [unconventional-import-alias] Fix infinite loop between ICN001 and I002 (ICN001) (#15480)
Documentation
- Generate documentation redirects for lowercase rule codes (#15564)
- TRY300: Add some extra notes on not catching exceptions you didn't expect (#15036)