github astral-sh/ruff 0.8.3

latest release: 0.8.4
8 days ago

Release Notes

Preview features

  • Fix fstring formatting removing overlong implicit concatenated string in expression part (#14811)
  • [airflow] Add fix to remove deprecated keyword arguments (AIR302) (#14887)
  • [airflow]: Extend rule to include deprecated names for Airflow 3.0 (AIR302) (#14765 and #14804)
  • [flake8-bugbear] Improve error messages for except* (B025, B029, B030, B904) (#14815)
  • [flake8-bugbear] itertools.batched() without explicit strict (B911) (#14408)
  • [flake8-use-pathlib] Dotless suffix passed to Path.with_suffix() (PTH210) (#14779)
  • [pylint] Include parentheses and multiple comparators in check for boolean-chained-comparison (PLR1716) (#14781)
  • [ruff] Do not simplify round() calls (RUF046) (#14832)
  • [ruff] Don't emit used-dummy-variable on function parameters (RUF052) (#14818)
  • [ruff] Implement if-key-in-dict-del (RUF051) (#14553)
  • [ruff] Mark autofix for RUF052 as always unsafe (#14824)
  • [ruff] Teach autofix for used-dummy-variable about TypeVars etc. (RUF052) (#14819)

Rule changes

  • [flake8-bugbear] Offer unsafe autofix for no-explicit-stacklevel (B028) (#14829)
  • [flake8-pyi] Skip all type definitions in string-or-bytes-too-long (PYI053) (#14797)
  • [pyupgrade] Do not report when a UTF-8 comment is followed by a non-UTF-8 one (UP009) (#14728)
  • [pyupgrade] Mark fixes for convert-typed-dict-functional-to-class and convert-named-tuple-functional-to-class as unsafe if they will remove comments (UP013, UP014) (#14842)

Bug fixes

  • Raise syntax error for mixing except and except* (#14895)
  • [flake8-bugbear] Fix B028 to allow stacklevel to be explicitly assigned as a positional argument (#14868)
  • [flake8-bugbear] Skip B028 if warnings.warn is called with *args or **kwargs (#14870)
  • [flake8-comprehensions] Skip iterables with named expressions in unnecessary-map (C417) (#14827)
  • [flake8-pyi] Also remove self and cls's annotation (PYI034) (#14801)
  • [flake8-pytest-style] Fix pytest-parametrize-names-wrong-type (PT006) to edit both argnames and argvalues if both of them are single-element tuples/lists (#14699)
  • [perflint] Improve autofix for PERF401 (#14369)
  • [pylint] Fix PLW1508 false positive for default string created via a mult operation (#14841)

Contributors

Install ruff 0.8.3

Install prebuilt binaries via shell script

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

Install prebuilt binaries via powershell script

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

Download ruff 0.8.3

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.