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.5
| 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
- Recognize all symbols named `TYPE_CHECKING` for `in_type_checking_block` (#15719)
- [flake8-comprehensions] Handle builtins at top of file correctly for `unnecessary-dict-comprehension-for-iterable` (C420) (#15837)
- [flake8-logging] `.exception()` and `exc_info=` outside exception handlers (LOG004, LOG014) (#15799)
- [flake8-pyi] Fix incorrect behaviour of `custom-typevar-return-type` preview-mode autofix if `typing` was already imported (PYI019) (#15853)
- [flake8-pyi] Fix more complex cases (PYI019) (#15821)
- [flake8-pyi] Make PYI019 autofixable for `.py` files in preview mode as well as stubs (#15889)
- [flake8-pyi] Remove type parameter correctly when it is the last (PYI019) (#15854)
- [pylint] Fix missing parens in unsafe fix for `unnecessary-dunder-call` (PLC2801) (#15762)
- [pyupgrade] Better messages and diagnostic range (UP015) (#15872)
- [pyupgrade] Rename private type parameters in PEP 695 generics (UP049) (#15862)
- [refurb] Also report non-name expressions (FURB169) (#15905)
- [refurb] Mark fix as unsafe if there are comments (FURB171) (#15832)
- [ruff] Classes with mixed type variable style (RUF053) (#15841)
- [airflow] `BashOperator` has been moved to `airflow.providers.standard.operators.bash.BashOperator` (AIR302) (#15922)
- [flake8-pyi] Add autofix for unused-private-type-var (PYI018) (#15999)
- [flake8-pyi] Significantly improve accuracy of PYI019 if preview mode is enabled (#15888)
Rule changes
- Preserve triple quotes and prefixes for strings (#15818)
- [flake8-comprehensions] Skip when `TypeError` present from too many (kw)args for C410,C411, and C418 (#15838)
- [flake8-pyi] Rename PYI019 and improve its diagnostic message (#15885)
- [pep8-naming] Ignore `@override` methods (N803) (#15954)
- [pyupgrade] Reuse replacement logic from UP046 and UP047 to preserve more comments (UP040) (#15840)
- [ruff] Analyze deferred annotations before enforcing `mutable-(data)class-default` and `function-call-in-dataclass-default-argument` (RUF008,RUF009,RUF012) (#15921)
- [pycodestyle] Exempt `sys.path += ...` calls (E402) (#15980)
Configuration
- Config error only when `flake8-import-conventions` alias conflicts with `isort.required-imports` bound name (#15918)
- Workaround Even Better TOML crash related to `allOf` (#15992)
Bug fixes
- [flake8-comprehensions] Unnecessary `list` comprehension (rewrite as a `set` comprehension) (C403) - Handle extraneous parentheses around list comprehension (#15877)
- [flake8-comprehensions] Handle trailing comma in fixes for `unnecessary-generator-list/set` (C400,C401) (#15929)
- [flake8-pyi] Fix several correctness issues with `custom-type-var-return-type` (PYI019) (#15851)
- [pep8-naming] Consider any number of leading underscore for N801 (#15988)
- [pyflakes] Visit forward annotations in `TypeAliasType` as types (F401) (#15829)
- [pylint] Correct min/max auto-fix and suggestion for (PL1730) (#15930)
- [refurb] Handle unparenthesized tuples correctly (FURB122, FURB142) (#15953)
- [refurb] Avoid `None | None` as well as better detection and fix (FURB168) (#15779)
Documentation
- Add deprecation warning for `ruff-lsp` related settings (#15850)
- Docs (`linter.md`): clarify that Python files are always searched for in subdirectories (#15882)
- Fix a typo in `non_pep695_generic_class.rs` (#15946)
- Improve Docs: Pylint subcategories' codes (#15909)
- Remove non-existing `lint.extendIgnore` editor setting (#15844)
- Update black deviations (#15928)
- Mention UP049 in UP046 and UP047, add `See also` section to UP040 (#15956)
- Add instance variable examples to RUF012 (#15982)
- Explain precedence for `ignore` and `select` config (#15883)