* Preview features
* [airflow] Argument fail_stop in DAG has been renamed as fail_fast (AIR302)
* [airflow] Extend AIR303 with more symbols
* [flake8-bandit] Report all references to suspicious functions (S3)
* [flake8-pytest-style] Do not emit diagnostics for empty for loops (PT012, PT031)
* [flake8-simplify] Avoid double negations (SIM103)
* [pyflakes] Fix infinite loop with unused local import in __init__.py (F401)
* [pylint] Do not report methods with only one EM101-compatible raise (PLR6301)
* [pylint] Implement redefined-slots-in-subclass (W0244)
* [pyupgrade] Add rules to use PEP 695 generics in classes and functions (UP046, UP047)
* [refurb] Implement for-loop-writes (FURB122)
* [ruff] Implement needless-else clause (RUF047)
* [ruff] Implement starmap-zip (RUF058)
* 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)
* [flake8-comprehensions] strip parentheses around generators in unnecessary-generator-set (C401)
* [flake8-pytest-style] Rewrite references to .exception (PT027)
* [flake8-simplify] Mark fixes as unsafe (SIM201, SIM202)
* [flake8-type-checking] Fix some safe fixes being labeled unsafe (TC006,TC008)
* [isort] Omit trailing whitespace in unsorted-imports (I001)
* [pydoclint] Allow ignoring one line docstrings for DOC rules
* [pyflakes] Apply redefinition fixes by source code order (F811)
* [pyflakes] Avoid removing too many imports in redefined-while-unused (F811)
* [pyflakes] Group redefinition fixes by source statement (F811)
* [pylint] Include name of base class in message for redefined-slots-in-subclass (W0244)
* [ruff] Update fix for RUF055 to use var == value
* Formatter
* Fix bracket spacing for single-element tuples in f-string expressions
* Fix unstable f-string formatting for expressions containing a trailing comma
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-ruff?expand=0&rev=118