Change8

0.9.8

📦 ruffView on GitHub →
9 features🐛 7 fixes🔧 11 symbols

Summary

Ruff 0.9.8 introduces preview syntax‑error detection, several new lint rules, expanded server configuration options, a per‑file target version setting, and numerous bug fixes and documentation updates.

Migration Steps

  1. If you relied on project indexing with configurationPreference set to a value other than editorOnly, review your settings as indexing will now be skipped when it is editorOnly.

✨ New Features

  • Preview feature: parser now detects version‑related syntax errors.
  • New pylint rule PLW1507 to mark fix unsafe.
  • New pylint rule PLW0177 to catch case np.nan / case math.nan in match statements.
  • Ruff rule RUF012 adds more Pydantic model variants to default copy semantics.
  • Server: skip indexing when configurationPreference is editorOnly.
  • Server: reduce log noise at non‑trace levels.
  • Server: ruff.configuration now supports inline configuration.
  • Server: notify users of invalid client settings.
  • Configuration: added per-file-target-version option.

🐛 Bug Fixes

  • refurb: FURB156 no longer considers docstrings.
  • flake8-self: SLF001 now ignores attribute accesses on instance‑like variables.
  • pylint: PLE0302 fixed false positives, added missing methods, and added support for positional‑only parameters.
  • flake8-pyi: PYI030 now marks fix unsafe when comments are deleted.
  • Documentation: corrected example for S611.
  • Documentation: normalized inconsistent markdown headings in docstrings.
  • Documentation: added documentation for MSRV policy.

🔧 Affected Symbols

PLW1507PLW0177RUF012configurationPreferenceruff.configurationper-file-target-versionFURB156SLF001PLE0302PYI030S611