* Preview features
* [airflow] Add ruff rules to catch deprecated Airflow imports for Airflow 3.1 (AIR321)
* [airflow] Third positional parameter not named ti_key should be flagged for BaseOperatorLink.get_link (AIR303)
* [flake8-gettext] Fix false negatives for plural argument of ngettext (INT001, INT002, INT003)
* [pyflakes] Fix infinite loop in preview fix for unused-import (F401)
* [pygrep-hooks] Detect non-existent mock methods in standalone expressions (PGH005)
* [pylint] Allow dunder submodules and improve diagnostic range (PLC2701)
* [pyupgrade] Improve diagnostic range for tuples (UP024)
* [refurb] Check subscripts in tuple do not use lambda parameters in reimplemented-operator (FURB118)
* [ruff] Detect mutable defaults in field calls (RUF008)
* [ruff] Ignore std cmath.inf (RUF069)
* [ruff] New rule float-equality-comparison (RUF069)
* Don't format unlabeled Markdown code blocks
* Markdown formatting support in LSP
* Support Quarto Markdown language markers
* Support formatting pycon Markdown code blocks
* Use extension mapping to select Markdown code block language
* Bug fixes
* Avoid false positive for undefined variables in FAST001
* Avoid introducing syntax errors for FAST003 autofix
* Avoid suggesting InitVar for __post_init__ that references PEP 695 type parameters
* Deduplicate type variables in generic functions
* Fix exception handler parenthesis removal for Python 3.14+
* Fix f-string middle panic when parsing t-strings
* Wrap RUF020 target for multiline fixes
* Wrap UP007 target for multiline fixes
* Fix missing diagnostics for last range suppression in file
* [pyupgrade] Fix syntax error on string with newline escape and comment (UP037)
* Rule changes
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-ruff?expand=0&rev=219