pypi ruff 0.9.6

one day ago

Release Notes

Preview features

  • [airflow] Add external_task.{ExternalTaskMarker, ExternalTaskSensor} for AIR302 (#16014)
  • [flake8-builtins] Make strict module name comparison optional (A005) (#15951)
  • [flake8-pyi] Extend fix to Python <= 3.9 for redundant-none-literal (PYI061) (#16044)
  • [pylint] Also report when the object isn't a literal (PLE1310) (#15985)
  • [ruff] Implement indented-form-feed (RUF054) (#16049)
  • [ruff] Skip type definitions for missing-f-string-syntax (RUF027) (#16054)

Rule changes

  • [flake8-annotations] Correct syntax for typing.Union in suggested return type fixes for ANN20x rules (#16025)
  • [flake8-builtins] Match upstream module name comparison (A005) (#16006)
  • [flake8-comprehensions] Detect overshadowed list/set/dict, ignore variadics and named expressions (C417) (#15955)
  • [flake8-pie] Remove following comma correctly when the unpacked dictionary is empty (PIE800) (#16008)
  • [flake8-simplify] Only trigger SIM401 on known dictionaries (#15995)
  • [pylint] Do not report calls when object type and argument type mismatch, remove custom escape handling logic (PLE1310) (#15984)
  • [pyupgrade] Comments within parenthesized value ranges should not affect applicability (UP040) (#16027)
  • [pyupgrade] Don't introduce invalid syntax when upgrading old-style type aliases with parenthesized multiline values (UP040) (#16026)
  • [pyupgrade] Ensure we do not rename two type parameters to the same name (UP049) (#16038)
  • [pyupgrade] [ruff] Don't apply renamings if the new name is shadowed in a scope of one of the references to the binding (UP049, RUF052) (#16032)
  • [ruff] Update RUF009 to behave similar to B008 and ignore attributes with immutable types (#16048)

Server

  • Root exclusions in the server to project root (#16043)

Bug fixes

  • [flake8-datetime] Ignore .replace() calls while looking for .astimezone (#16050)
  • [flake8-type-checking] Avoid TC004 false positive where the runtime definition is provided by __getattr__ (#16052)

Documentation

  • Improve ruff-lsp migration document (#16072)
  • Undeprecate ruff.nativeServer (#16039)

Contributors

Install ruff 0.9.6

Install prebuilt binaries via shell script

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

Install prebuilt binaries via powershell script

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

Download ruff 0.9.6

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.