Change8

0.15.16

📦 ruffView on GitHub →
3 features🐛 5 fixes🔧 14 symbols

Summary

This release introduces several new preview linting rules across flake8-async, pylint, and ruff, alongside numerous bug fixes addressing conflicts and incorrect code transformations in eradication, pyflakes, pylint, and pyupgrade checks. Performance was also improved by shrinking statement suites during parsing.

✨ New Features

  • Implemented flake8-async rule `yield-in-context-manager-in-async-generator` (ASYNC119).
  • Pylint rule PLW0717 now has a narrower diagnostic range and excludes cases without exception handlers.
  • Ruff rule RUF075 now treats `yield` before `break` from a terminal loop as terminal.

🐛 Bug Fixes

  • Eradicate rule ERA001 no longer flags `ruff:ignore` comments as code.
  • Fixed conflict between ERA001/RUF100 when `noqa` is present on commented-out code.
  • Pyflakes rule F523 now avoids removing the `format` call if it would change behavior.
  • Pylint rules PLE2510, PLE2512, PLE2513, PLE2514, PLE2515 now avoid syntax errors in invalid character replacements in f-strings on Python versions before 3.12.
  • Pyupgrade rule UP032 now avoids converting `format` calls with more kinds of side effects.

Affected Symbols