github astral-sh/ruff 0.6.0

latest releases: 0.7.3, 0.7.2, 0.7.1...
2 months ago

Release Notes

Check out the blog post for a migration guide and overview of the changes!

Breaking changes

See also, the "Remapped rules" section which may result in disabled rules.

  • Lint and format Jupyter Notebook by default (#12878).
  • Detect imports in src layouts by default for isort rules (#12848)
  • The pytest rules PT001 and PT023 now default to omitting the decorator parentheses when there are no arguments (#12838).

Deprecations

The following rules are now deprecated:

Remapped rules

The following rules have been remapped to new rule codes:

Stabilization

The following rules have been stabilized and are no longer in preview:

The following behaviors have been stabilized:

The following fixes have been stabilized:

Preview features

  • [flake8-simplify] Further simplify to binary in preview for (SIM108) (#12796)
  • [pyupgrade] Show violations without auto-fix (UP031) (#11229)

Rule changes

  • [flake8-import-conventions] Add xml.etree.ElementTree to default conventions (#12455)
  • [flake8-pytest-style] Add a space after comma in CSV output (PT006) (#12853)

Server

  • Show a message for incorrect settings (#12781)

Bug fixes

  • [flake8-async] Do not lint yield in context manager (ASYNC100) (#12896)
  • [flake8-comprehensions] Do not lint async for comprehensions (C419) (#12895)
  • [flake8-return] Only add return None at end of a function (RET503) (#11074)
  • [flake8-type-checking] Avoid treating dataclasses.KW_ONLY as typing-only (TCH003) (#12863)
  • [pep8-naming] Treat type(Protocol) et al as metaclass base (N805) (#12770)
  • [pydoclint] Don't enforce returns and yields in abstract methods (DOC201, DOC202) (#12771)
  • [ruff] Skip tuples with slice expressions in (RUF031) (#12768)
  • [ruff] Ignore unparenthesized tuples in subscripts when the subscript is a type annotation or type alias (RUF031) (#12762)
  • [ruff] Ignore template strings passed to logging and builtins._() calls (RUF027) (#12889)
  • [ruff] Do not remove parens for tuples with starred expressions in Python <=3.10 (RUF031) (#12784)
  • Evaluate default parameter values for a function in that function's enclosing scope (#12852)

Other changes

  • Respect VS Code cell metadata when detecting the language of Jupyter Notebook cells (#12864)
  • Respect kernelspec notebook metadata when detecting the preferred language for a Jupyter Notebook (#12875)

Install ruff 0.6.0

Install prebuilt binaries via shell script

curl --proto '=https' --tlsv1.2 -LsSf https://github.com/astral-sh/ruff/releases/download/0.6.0/ruff-installer.sh | sh

Install prebuilt binaries via powershell script

powershell -c "irm https://github.com/astral-sh/ruff/releases/download/0.6.0/ruff-installer.ps1 | iex"

Download ruff 0.6.0

File Platform Checksum
ruff-aarch64-apple-darwin.tar.gz Apple Silicon macOS checksum
ruff-x86_64-apple-darwin.tar.gz Intel macOS checksum
ruff-aarch64-pc-windows-msvc.zip ARM64 Windows checksum
ruff-i686-pc-windows-msvc.zip x86 Windows checksum
ruff-x86_64-pc-windows-msvc.zip x64 Windows checksum
ruff-aarch64-unknown-linux-gnu.tar.gz ARM64 Linux checksum
ruff-i686-unknown-linux-gnu.tar.gz x86 Linux checksum
ruff-powerpc64-unknown-linux-gnu.tar.gz PPC64 Linux checksum
ruff-powerpc64le-unknown-linux-gnu.tar.gz PPC64LE Linux checksum
ruff-s390x-unknown-linux-gnu.tar.gz S390x Linux checksum
ruff-x86_64-unknown-linux-gnu.tar.gz x64 Linux checksum
ruff-armv7-unknown-linux-gnueabihf.tar.gz ARMv7 Linux checksum
ruff-aarch64-unknown-linux-musl.tar.gz ARM64 MUSL Linux checksum
ruff-i686-unknown-linux-musl.tar.gz x86 MUSL Linux checksum
ruff-x86_64-unknown-linux-musl.tar.gz x64 MUSL Linux checksum
ruff-arm-unknown-linux-musleabihf.tar.gz ARMv6 MUSL Linux (Hardfloat) checksum
ruff-armv7-unknown-linux-musleabihf.tar.gz ARMv7 MUSL Linux checksum

Don't miss a new ruff release

NewReleases is sending notifications on new releases.