github astral-sh/ruff v0.1.9

latest releases: v0.4.7, v0.4.6, v0.4.5...
5 months ago

Changes

Breaking changes

  • Add site-packages to default exclusions (#9188)

Preview features

  • Fix: Avoid parenthesizing subscript targets and values (#9209)
  • [pylint] Implement too-many-locals (PLR0914) (#9163)
  • Implement reimplemented_operator (FURB118) (#9171)
  • Add a rule to detect string members in runtime-evaluated unions (#9143)
  • Implement no_blank_line_before_class_docstring preview style (#9154)

Rule changes

  • CONSTANT_CASE variables are improperly flagged for yoda violation (SIM300) (#9164)
  • [flake8-pyi] Cover ParamSpecs and TypeVarTuples (PYI018) (#9198)
  • [flake8-bugbear] Add fix for zip-without-explicit-strict (B905) (#9176)
  • Add fix to automatically remove print and pprint statements (T201, T203) (#9208)
  • Prefer Never to NoReturn in auto-typing in Python >= 3.11 (ANN201) (#9213)

Formatter

  • can_omit_optional_parentheses: Exit early for unparenthesized expressions (#9125)
  • Fix dynamic mode with doctests so that it doesn't exceed configured line width (#9129)
  • Fix can_omit_optional_parentheses for expressions with a right most fstring (#9124)
  • Add target_version to formatter options (#9220)

CLI

  • Update ruff format --check to display message for already formatted files (#9153)

Bug fixes

  • Reverse order of arguments for operator.contains (#9192)
  • Iterate over lambdas in deferred type annotations (#9175)
  • Fix panic in D208 with multibyte indent (#9147)
  • Add support for NoReturn in auto-return-typing (#9206)
  • Allow removal of typing from exempt-modules (#9214)
  • Avoid mutable-class-default violations for Pydantic subclasses (#9187)
  • Fix dropped union expressions for piped non-types in PYI055 autofix (#9161)
  • Enable annotation quoting for multi-line expressions (#9142)
  • Deduplicate edits when quoting annotations (#9140)
  • Prevent invalid utf8 indexing in cell magic detection (#9146)
  • Avoid nested quotations in auto-quoting fix (#9168)
  • Add base-class inheritance detection to flake8-django rules (#9151)
  • Avoid asyncio-dangling-task violations on shadowed bindings (#9215)

Documentation

  • Fix blog post URL in changelog (#9119)
  • Add error suppression hint for multi-line strings (#9205)
  • Fix typo in SemanticModel.parent_expression docstring (#9167)
  • Document link between import sorting and formatter (#9117)

Contributors

Don't miss a new ruff release

NewReleases is sending notifications on new releases.