Release Notes
Preview features
- Consider
__new__
methods as special function type for enforcing class method or static method rules (#13305) - [
airflow
] Improve the internal logic to differentiate deprecated symbols (AIR303
) (#16013) - [
refurb
] Manual timezone monkeypatching (FURB162
) (#16113) - [
ruff
] Implicit class variable in dataclass (RUF045
) (#14349) - [
ruff
] Skip singleton starred expressions forincorrectly-parenthesized-tuple-in-subscript
(RUF031
) (#16083) - [
refurb
] Check for subclasses includes subscript expressions (FURB189
) (#16155)
Rule changes
- [
flake8-comprehensions
]: Handle trailing comma inC403
fix (#16110) - [
flake8-debugger
] Also flagsys.breakpointhook
andsys.__breakpointhook__
(T100
) (#16191) - [
pydocstyle
] Handle arguments with the same names as sections (D417
) (#16011) - [
pylint
] Correct ordering of arguments in fix forif-stmt-min-max
(PLR1730
) (#16080) - [
pylint
] Do not offer fix for raw strings (PLE251
) (#16132) - [
pyupgrade
] Do not upgrade functionalTypedDicts
with private field names to the class-based syntax (UP013
) (#16219) - [
pyupgrade
] Handle micro version numbers correctly (UP036
) (#16091) - [
pyupgrade
] Unwrap unary expressions correctly (UP018
) (#15919) - [
ruff
] SkipRUF001
diagnostics when visiting string type definitions (#16122) - [
flake8-pyi
] Avoid flaggingcustom-typevar-for-self
on metaclass methods (PYI019
) (#16141) - [
pycodestyle
] Exemptsite.addsitedir(...)
calls (E402
) (#16251)
Formatter
- Fix unstable formatting of trailing end-of-line comments of parenthesized attribute values (#16187)
Server
- Fix handling of requests received after shutdown message (#16262)
- Ignore
source.organizeImports.ruff
andsource.fixAll.ruff
code actions for a notebook cell (#16154) - Include document specific debug info for
ruff.printDebugInformation
(#16215) - Update server to return the debug info as string with
ruff.printDebugInformation
(#16214)
CLI
- Warn on invalid
noqa
even when there are no diagnostics (#16178) - Better error messages while loading configuration
extend
s (#15658)
Bug fixes
- [
refurb
] Correctly handle lengths of literal strings inslice-to-remove-prefix-or-suffix
(FURB188
) (#16237)
Documentation
Contributors
- @AlexWaygood
- @BurntSushi
- @Glyphack
- @InSyncWithFoo
- @Lee-W
- @MichaReiser
- @Skylion007
- @VascoSch92
- @ayushbaweja
- @cake-monotone
- @carljm
- @dcreager
- @dhruvmanila
- @dylwil3
- @github-actions
- @ibraheemdev
- @junhsonjb
- @ntBre
- @purajit
- @renovate
- @sharkdp
- @sobolevn
- @vladNed
Install ruff 0.9.7
Install prebuilt binaries via shell script
curl --proto '=https' --tlsv1.2 -LsSf https://github.com/astral-sh/ruff/releases/download/0.9.7/ruff-installer.sh | sh
Install prebuilt binaries via powershell script
powershell -ExecutionPolicy ByPass -c "irm https://github.com/astral-sh/ruff/releases/download/0.9.7/ruff-installer.ps1 | iex"