|
1 | 1 | # Changelog
|
2 | 2 |
|
| 3 | +## 0.9.7 |
| 4 | + |
| 5 | +### Preview features |
| 6 | + |
| 7 | +- Consider `__new__` methods as special function type for enforcing class method or static method rules ([#13305](https://github.com/astral-sh/ruff/pull/13305)) |
| 8 | +- \[`airflow`\] Improve the internal logic to differentiate deprecated symbols (`AIR303`) ([#16013](https://github.com/astral-sh/ruff/pull/16013)) |
| 9 | +- \[`refurb`\] Manual timezone monkeypatching (`FURB162`) ([#16113](https://github.com/astral-sh/ruff/pull/16113)) |
| 10 | +- \[`ruff`\] Implicit class variable in dataclass (`RUF045`) ([#14349](https://github.com/astral-sh/ruff/pull/14349)) |
| 11 | +- \[`ruff`\] Skip singleton starred expressions for `incorrectly-parenthesized-tuple-in-subscript` (`RUF031`) ([#16083](https://github.com/astral-sh/ruff/pull/16083)) |
| 12 | +- \[`refurb`\] Check for subclasses includes subscript expressions (`FURB189`) ([#16155](https://github.com/astral-sh/ruff/pull/16155)) |
| 13 | + |
| 14 | +### Rule changes |
| 15 | + |
| 16 | +- \[`flake8-comprehensions`\]: Handle trailing comma in `C403` fix ([#16110](https://github.com/astral-sh/ruff/pull/16110)) |
| 17 | +- \[`flake8-debugger`\] Also flag `sys.breakpointhook` and `sys.__breakpointhook__` (`T100`) ([#16191](https://github.com/astral-sh/ruff/pull/16191)) |
| 18 | +- \[`pydocstyle`\] Handle arguments with the same names as sections (`D417`) ([#16011](https://github.com/astral-sh/ruff/pull/16011)) |
| 19 | +- \[`pylint`\] Correct ordering of arguments in fix for `if-stmt-min-max` (`PLR1730`) ([#16080](https://github.com/astral-sh/ruff/pull/16080)) |
| 20 | +- \[`pylint`\] Do not offer fix for raw strings (`PLE251`) ([#16132](https://github.com/astral-sh/ruff/pull/16132)) |
| 21 | +- \[`pyupgrade`\] Do not upgrade functional `TypedDicts` with private field names to the class-based syntax (`UP013`) ([#16219](https://github.com/astral-sh/ruff/pull/16219)) |
| 22 | +- \[`pyupgrade`\] Handle micro version numbers correctly (`UP036`) ([#16091](https://github.com/astral-sh/ruff/pull/16091)) |
| 23 | +- \[`pyupgrade`\] Unwrap unary expressions correctly (`UP018`) ([#15919](https://github.com/astral-sh/ruff/pull/15919)) |
| 24 | +- \[`ruff`\] Skip `RUF001` diagnostics when visiting string type definitions ([#16122](https://github.com/astral-sh/ruff/pull/16122)) |
| 25 | +- \[`flake8-pyi`\] Avoid flagging `custom-typevar-for-self` on metaclass methods (`PYI019`) ([#16141](https://github.com/astral-sh/ruff/pull/16141)) |
| 26 | +- \[`pycodestyle`\] Exempt `site.addsitedir(...)` calls (`E402`) ([#16251](https://github.com/astral-sh/ruff/pull/16251)) |
| 27 | + |
| 28 | +### Formatter |
| 29 | + |
| 30 | +- Fix unstable formatting of trailing end-of-line comments of parenthesized attribute values ([#16187](https://github.com/astral-sh/ruff/pull/16187)) |
| 31 | + |
| 32 | +### Server |
| 33 | + |
| 34 | +- Fix handling of requests received after shutdown message ([#16262](https://github.com/astral-sh/ruff/pull/16262)) |
| 35 | +- Ignore `source.organizeImports.ruff` and `source.fixAll.ruff` code actions for a notebook cell ([#16154](https://github.com/astral-sh/ruff/pull/16154)) |
| 36 | +- Include document specific debug info for `ruff.printDebugInformation` ([#16215](https://github.com/astral-sh/ruff/pull/16215)) |
| 37 | +- Update server to return the debug info as string with `ruff.printDebugInformation` ([#16214](https://github.com/astral-sh/ruff/pull/16214)) |
| 38 | + |
| 39 | +### CLI |
| 40 | + |
| 41 | +- Warn on invalid `noqa` even when there are no diagnostics ([#16178](https://github.com/astral-sh/ruff/pull/16178)) |
| 42 | +- Better error messages while loading configuration `extend`s ([#15658](https://github.com/astral-sh/ruff/pull/15658)) |
| 43 | + |
| 44 | +### Bug fixes |
| 45 | + |
| 46 | +- \[`refurb`\] Correctly handle lengths of literal strings in `slice-to-remove-prefix-or-suffix` (`FURB188`) ([#16237](https://github.com/astral-sh/ruff/pull/16237)) |
| 47 | + |
| 48 | +### Documentation |
| 49 | + |
| 50 | +- Add FAQ entry for `source.*` code actions in Notebook ([#16212](https://github.com/astral-sh/ruff/pull/16212)) |
| 51 | +- Add `SECURITY.md` ([#16224](https://github.com/astral-sh/ruff/pull/16224)) |
| 52 | + |
3 | 53 | ## 0.9.6
|
4 | 54 |
|
5 | 55 | ### Preview features
|
|
0 commit comments