Skip to content

Releases: astral-sh/ruff

0.7.4

15 Nov 11:37
ed7b98c
Compare
Choose a tag to compare

Release Notes

Preview features

  • [flake8-datetimez] Detect usages of datetime.max/datetime.min (DTZ901) (#14288)
  • [flake8-logging] Implement root-logger-calls (LOG015) (#14302)
  • [flake8-no-pep420] Detect empty implicit namespace packages (INP001) (#14236)
  • [flake8-pyi] Add "replace with Self" fix (PYI019) (#14238)
  • [perflint] Implement quick-fix for manual-list-comprehension (PERF401) (#13919)
  • [pylint] Implement shallow-copy-environ (W1507) (#14241)
  • [ruff] Implement none-not-at-end-of-union (RUF036) (#14314)
  • [ruff] Implementation unsafe-markup-call from flake8-markupsafe plugin (RUF035) (#14224)
  • [ruff] Report problems for attrs dataclasses (RUF008, RUF009) (#14327)

Rule changes

  • [flake8-boolean-trap] Exclude dunder methods that define operators (FBT001) (#14203)
  • [flake8-pyi] Add "replace with Self" fix (PYI034) (#14217)
  • [flake8-pyi] Always autofix duplicate-union-members (PYI016) (#14270)
  • [flake8-pyi] Improve autofix for nested and mixed type unions for unnecessary-type-union (PYI055) (#14272)
  • [flake8-pyi] Mark fix as unsafe when type annotation contains comments for duplicate-literal-member (PYI062) (#14268)

Server

  • Use the current working directory to resolve settings from ruff.configuration (#14352)

Bug fixes

  • Avoid conflicts between PLC014 (useless-import-alias) and I002 (missing-required-import) by considering lint.isort.required-imports for PLC014 (#14287)
  • [flake8-type-checking] Skip quoting annotation if it becomes invalid syntax (TCH001)
  • [flake8-pyi] Avoid using typing.Self in stub files pre-Python 3.11 (PYI034) (#14230)
  • [flake8-pytest-style] Flag pytest.raises call with keyword argument expected_exception (PT011) (#14298)
  • [flake8-simplify] Infer "unknown" truthiness for literal iterables whose items are all unpacks (SIM222) (#14263)
  • [flake8-type-checking] Fix false positives for typing.Annotated (TCH001) (#14311)
  • [pylint] Allow await at the top-level scope of a notebook (PLE1142) (#14225)
  • [pylint] Fix miscellaneous issues in await-outside-async detection (PLE1142) (#14218)
  • [pyupgrade] Avoid applying PEP 646 rewrites in invalid contexts (UP044) (#14234)
  • [pyupgrade] Detect permutations in redundant open modes (UP015) (#14255)
  • [refurb] Avoid triggering hardcoded-string-charset for reordered sets (FURB156) (#14233)
  • [refurb] Further special cases added to verbose-decimal-constructor (FURB157) (#14216)
  • [refurb] Use UserString instead of non-existent UserStr (FURB189) (#14209)
  • [ruff] Avoid treating lowercase letters as # noqa codes (RUF100) (#14229)
  • [ruff] Do not report when Optional has no type arguments (RUF013) (#14181)

Documentation

  • Add "Notebook behavior" section for F704, PLE1142 (#14266)
  • Document comment policy around fix safety (#14300)

Contributors

Install ruff 0.7.4

Install prebuilt binaries via shell script

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

Install prebuilt binaries via powershell script

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

Download ruff 0.7.4

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](h...
Read more

0.7.3

08 Nov 11:27
fbf140a
Compare
Choose a tag to compare

Release Notes

Preview features

  • Formatter: Disallow single-line implicit concatenated strings (#13928)
  • [flake8-pyi] Include all Python file types for PYI006 and PYI066 (#14059)
  • [flake8-simplify] Implement split-of-static-string (SIM905) (#14008)
  • [refurb] Implement subclass-builtin (FURB189) (#14105)
  • [ruff] Improve diagnostic messages and docs (RUF031, RUF032, RUF034) (#14068)

Rule changes

  • Detect items that hash to same value in duplicate sets (B033, PLC0208) (#14064)
  • [eradicate] Better detection of IntelliJ language injection comments (ERA001) (#14094)
  • [flake8-pyi] Add autofix for docstring-in-stub (PYI021) (#14150)
  • [flake8-pyi] Update duplicate-literal-member (PYI062) to alawys provide an autofix (#14188)
  • [pyflakes] Detect items that hash to same value in duplicate dictionaries (F601) (#14065)
  • [ruff] Fix false positive for decorators (RUF028) (#14061)

Bug fixes

  • Avoid parsing joint rule codes as distinct codes in # noqa (#12809)
  • [eradicate] ignore # language= in commented-out-code rule (ERA001) (#14069)
  • [flake8-bugbear] - do not run mutable-argument-default on stubs (B006) (#14058)
  • [flake8-builtins] Skip lambda expressions in builtin-argument-shadowing (A002) (#14144)
  • [flake8-comprehension] Also remove trailing comma while fixing C409 and C419 (#14097)
  • [flake8-simplify] Allow open without context manager in return statement (SIM115) (#14066)
  • [pylint] Respect hash-equivalent literals in iteration-over-set (PLC0208) (#14063)
  • [pylint] Update known dunder methods for Python 3.13 (PLW3201) (#14146)
  • [pyupgrade] - ignore kwarg unpacking for UP044 (#14053)
  • [refurb] Parse more exotic decimal strings in verbose-decimal-constructor (FURB157) (#14098)

Documentation

  • Add links to missing related options within rule documentations (#13971)
  • Add rule short code to mkdocs tags to allow searching via rule codes (#14040)

Install ruff 0.7.3

Install prebuilt binaries via shell script

curl --proto '=https' --tlsv1.2 -LsSf https://github.com/astral-sh/ruff/releases/download/0.7.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.7.3/ruff-installer.ps1 | iex"

Download ruff 0.7.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

0.7.2

01 Nov 16:09
Compare
Choose a tag to compare

Release Notes

Preview features

  • Fix formatting of single with-item with trailing comment (#14005)
  • [pyupgrade] Add PEP 646 Unpack conversion to * with fix (UP044) (#13988)

Rule changes

  • Regenerate known_stdlibs.rs with stdlibs 2024.10.25 (#13963)
  • [flake8-no-pep420] Skip namespace package enforcement for PEP 723 scripts (INP001) (#13974)

Server

  • Fix server panic when undoing an edit (#14010)

Bug fixes

  • Fix issues in discovering ruff in pip build environments (#13881)
  • [flake8-type-checking] Fix false positive for singledispatchmethod (TCH003) (#13941)
  • [flake8-type-checking] Treat return type of singledispatch as runtime-required (TCH003) (#13957)

Documentation

  • [flake8-simplify] Include caveats of enabling if-else-block-instead-of-if-exp (SIM108) (#14019)

Install ruff 0.7.2

Install prebuilt binaries via shell script

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

Install prebuilt binaries via powershell script

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

Download ruff 0.7.2

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

0.7.1

24 Oct 15:45
337af83
Compare
Choose a tag to compare

Release Notes

Preview features

  • Fix E221 and E222 to flag missing or extra whitespace around == operator (#13890)
  • Formatter: Alternate quotes for strings inside f-strings in preview (#13860)
  • Formatter: Join implicit concatenated strings when they fit on a line (#13663)
  • [pylint] Restrict iteration-over-set to only work on sets of literals (PLC0208) (#13731)

Rule changes

  • [flake8-type-checking] Support auto-quoting when annotations contain quotes (#11811)

Server

  • Avoid indexing the workspace for single-file mode (#13770)

Bug fixes

  • Make ARG002 compatible with EM101 when raising NotImplementedError (#13714)

Other changes

  • Introduce more Docker tags for Ruff (similar to uv) (#13274)

Contributors

Install ruff 0.7.1

Install prebuilt binaries via shell script

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

Install prebuilt binaries via powershell script

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

Download ruff 0.7.1

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

0.7.0

17 Oct 19:36
5e6de4e
Compare
Choose a tag to compare

Release Notes

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

Breaking changes

  • The pytest rules PT001 and PT023 now default to omitting the decorator parentheses when there are no arguments
    (#12838, #13292).
    This was a change that we attempted to make in Ruff v0.6.0, but only partially made due to an error on our part.
    See the blog post for more details.
  • The useless-try-except rule (in our tryceratops category) has been recoded from TRY302 to
    TRY203 (#13502). This ensures Ruff's code is consistent with
    the same rule in the tryceratops linter.
  • The lint.allow-unused-imports setting has been removed (#13677). Use
    lint.pyflakes.allow-unused-imports
    instead.

Formatter preview style

  • Normalize implicit concatenated f-string quotes per part (#13539)

Preview linter features

  • [refurb] implement hardcoded-string-charset (FURB156) (#13530)
  • [refurb] Count codepoints not bytes for slice-to-remove-prefix-or-suffix (FURB188) (#13631)

Rule changes

  • [pylint] Mark PLE1141 fix as unsafe (#13629)
  • [flake8-async] Consider async generators to be "checkpoints" for cancel-scope-no-checkpoint (ASYNC100) (#13639)
  • [flake8-bugbear] Do not suggest setting parameter strict= to False in B905 diagnostic message (#13656)
  • [flake8-todos] Only flag the word "TODO", not words starting with "todo" (TD006) (#13640)
  • [pycodestyle] Fix whitespace-related false positives and false negatives inside type-parameter lists (E231, E251) (#13704)
  • [flake8-simplify] Stabilize preview behavior for SIM115 so that the rule can detect files
    being opened from a wider range of standard-library functions (#12959).

CLI

  • Add explanation of fixable in --statistics command (#13774)

Bug fixes

  • [pyflakes] Allow ipytest cell magic (F401) (#13745)
  • [flake8-use-pathlib] Fix PTH123 false positive when open is passed a file descriptor (#13616)
  • [flake8-bandit] Detect patterns from multi line SQL statements (S608) (#13574)
  • [flake8-pyi] - Fix dropped expressions in PYI030 autofix (#13727)

Contributors

Install ruff 0.7.0

Install prebuilt binaries via shell script

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

Install prebuilt binaries via powershell script

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

Download ruff 0.7.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

0.6.9

04 Oct 13:44
975be9c
Compare
Choose a tag to compare

Release Notes

Preview features

  • Fix codeblock dynamic line length calculation for indented docstring examples (#13523)
  • [refurb] Mark FURB118 fix as unsafe (#13613)

Rule changes

  • [pydocstyle] Don't raise D208 when last line is non-empty (#13372)
  • [pylint] Preserve trivia (i.e. comments) in PLR5501 autofix (#13573)

Configuration

  • [pyflakes] Add allow-unused-imports setting for unused-import rule (F401) (#13601)

Bug fixes

  • Support ruff discovery in pip build environments (#13591)
  • [flake8-bugbear] Avoid short circuiting B017 for multiple context managers (#13609)
  • [pylint] Do not offer an invalid fix for PLR1716 when the comparisons contain parenthesis (#13527)
  • [pyupgrade] Fix UP043 to apply to collections.abc.Generator and collections.abc.AsyncGenerator (#13611)
  • [refurb] Fix handling of slices in tuples for FURB118, e.g., x[:, 1] (#13518)

Documentation

  • Update GitHub Action link to astral-sh/ruff-action (#13551)

Install ruff 0.6.9

Install prebuilt binaries via shell script

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

Install prebuilt binaries via powershell script

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

Download ruff 0.6.9

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

0.6.8

26 Sep 12:31
ae39ce5
Compare
Choose a tag to compare

Release Notes

Preview features

  • Remove unnecessary parentheses around match case clauses (#13510)
  • Parenthesize overlong if guards in match..case clauses (#13513)
  • Detect basic wildcard imports in ruff analyze graph (#13486)
  • [pylint] Implement boolean-chained-comparison (R1716) (#13435)

Rule changes

  • [lake8-simplify] Detect SIM910 when using variadic keyword arguments, i.e., **kwargs (#13503)
  • [pyupgrade] Avoid false negatives with non-reference shadowed bindings of loop variables (UP028) (#13504)

Bug fixes

  • Detect tuples bound to variadic positional arguments i.e. *args (#13512)
  • Exit gracefully on broken pipe errors (#13485)
  • Avoid panic when analyze graph hits broken pipe (#13484)

Performance

  • Reuse BTreeSets in module resolver (#13440)
  • Skip traversal for non-compound statements (#13441)

Contributors

Install ruff 0.6.8

Install prebuilt binaries via shell script

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

Install prebuilt binaries via powershell script

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

Download ruff 0.6.8

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

0.6.7

21 Sep 17:39
17c4690
Compare
Choose a tag to compare

Release Notes

Preview features

  • Add Python version support to ruff analyze CLI (#13426)
  • Add exclude support to ruff analyze (#13425)
  • Fix parentheses around return type annotations (#13381)

Rule changes

  • [pycodestyle] Fix: Don't autofix if the first line ends in a question mark? (D400) (#13399)

Bug fixes

  • Respect lint.exclude in ruff check --add-noqa (#13427)

Performance

  • Avoid tracking module resolver files in Salsa (#13437)
  • Use forget for module resolver database (#13438)

Install ruff 0.6.7

Install prebuilt binaries via shell script

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

Install prebuilt binaries via powershell script

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

Download ruff 0.6.7

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

0.6.6

20 Sep 03:32
d01cbf7
Compare
Choose a tag to compare

Release Notes

Preview features

  • [refurb] Skip slice-to-remove-prefix-or-suffix (FURB188) when non-trivial slice steps are present (#13405)
  • Add a subcommand to generate dependency graphs (#13402)

Formatter

  • Fix placement of inline parameter comments (#13379)

Server

  • Fix off-by one error in the LineIndex::offset calculation (#13407)

Bug fixes

  • [fastapi] Respect FastAPI aliases in route definitions (#13394)
  • [pydocstyle] Respect word boundaries when detecting function signature in docs (#13388)

Documentation

  • Add backlinks to rule overview linter (#13368)
  • Fix documentation for editor vim plugin ALE (#13348)
  • Fix rendering of FURB188 docs (#13406)

Install ruff 0.6.6

Install prebuilt binaries via shell script

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

Install prebuilt binaries via powershell script

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

Download ruff 0.6.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

0.6.5

13 Sep 15:03
8558126
Compare
Choose a tag to compare

Release Notes

Preview features

  • [pydoclint] Ignore DOC201 when function name is "new" (#13300)
  • [refurb] Implement slice-to-remove-prefix-or-suffix (FURB188) (#13256)

Rule changes

  • [eradicate] Ignore script-comments with multiple end-tags (ERA001) (#13283)
  • [pyflakes] Improve error message for UndefinedName when a builtin was added in a newer version than specified in Ruff config (F821) (#13293)

Server

  • Add support for extensionless Python files for server (#13326)
  • Fix configuration inheritance for configurations specified in the LSP settings (#13285)

Bug fixes

  • [ruff] Handle unary operators in decimal-from-float-literal (RUF032) (#13275)

CLI

  • Only include rules with diagnostics in SARIF metadata (#13268)

Playground

  • Add "Copy as pyproject.toml/ruff.toml" and "Paste from TOML" (#13328)
  • Fix errors not shown for restored snippet on page load (#13262)

Contributors

Install ruff 0.6.5

Install prebuilt binaries via shell script

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

Install prebuilt binaries via powershell script

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

Download ruff 0.6.5

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