Skip to content

Releases: astral-sh/ruff

0.5.7

08 Aug 15:46
221ea66
Compare
Choose a tag to compare

Release Notes

Preview features

  • [flake8-comprehensions] Account for list and set comprehensions in unnecessary-literal-within-tuple-call (C409) (#12657)
  • [flake8-pyi] Add autofix for future-annotations-in-stub (PYI044) (#12676)
  • [flake8-return] Avoid syntax error when auto-fixing RET505 with mixed indentation (space and tabs) (#12740)
  • [pydoclint] Add docstring-missing-yields (DOC402) and docstring-extraneous-yields (DOC403) (#12538)
  • [pydoclint] Avoid DOC201 if docstring begins with "Return", "Returns", "Yield", or "Yields" (#12675)
  • [pydoclint] Deduplicate collected exceptions after traversing function bodies (DOC501) (#12642)
  • [pydoclint] Ignore DOC errors for stub functions (#12651)
  • [pydoclint] Teach rules to understand reraised exceptions as being explicitly raised (DOC501, DOC502) (#12639)
  • [ruff] Implement incorrectly-parenthesized-tuple-in-subscript (RUF031) (#12480)
  • [ruff] Mark RUF023 fix as unsafe if __slots__ is not a set and the binding is used elsewhere (#12692)

Rule changes

  • [refurb] Add autofix for implicit-cwd (FURB177) (#12708)
  • [ruff] Add autofix for zip-instead-of-pairwise (RUF007) (#12663)
  • [tryceratops] Add BaseException to raise-vanilla-class rule (TRY002) (#12620)

Server

  • Ignore non-file workspace URL; Ruff will display a warning notification in this case (#12725)

CLI

  • Fix cache invalidation for nested pyproject.toml files (#12727)

Bug fixes

  • [flake8-async] Fix false positives with multiple async with items (ASYNC100) (#12643)
  • [flake8-bandit] Avoid false-positives for list concatenations in SQL construction (S608) (#12720)
  • [flake8-bugbear] Treat return as equivalent to break (B909) (#12646)
  • [flake8-comprehensions] Set comprehensions not a violation for sum in unnecessary-comprehension-in-call (C419) (#12691)
  • [flake8-simplify] Parenthesize conditions based on precedence when merging if arms (SIM114) (#12737)
  • [pydoclint] Try both 'Raises' section styles when convention is unspecified (DOC501) (#12649)

Contributors

Install ruff 0.5.7

Install prebuilt binaries via shell script

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

Install prebuilt binaries via powershell script

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

Download ruff 0.5.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.5.6

02 Aug 15:56
da824ba
Compare
Choose a tag to compare

Release Notes

Ruff 0.5.6 automatically enables linting and formatting of notebooks in preview mode.
You can opt-out of this behavior by adding *.ipynb to the extend-exclude setting.

[tool.ruff]
extend-exclude = ["*.ipynb"]

Preview features

  • Enable notebooks by default in preview mode (#12621)
  • [flake8-builtins] Implement import, lambda, and module shadowing (#12546)
  • [pydoclint] Add docstring-missing-returns (DOC201) and docstring-extraneous-returns (DOC202) (#12485)

Rule changes

  • [flake8-return] Exempt cached properties and other property-like decorators from explicit return rule (RET501) (#12563)

Server

  • Make server panic hook more error resilient (#12610)
  • Use $/logTrace for server trace logs in Zed and VS Code (#12564)
  • Keep track of deleted cells for reorder change request (#12575)

Configuration

  • [flake8-implicit-str-concat] Always allow explicit multi-line concatenations when implicit concatenations are banned (#12532)

Bug fixes

  • [flake8-async] Avoid flagging asyncio.timeouts as unused when the context manager includes asyncio.TaskGroup (#12605)
  • [flake8-slots] Avoid recommending __slots__ for classes that inherit from more than namedtuple (#12531)
  • [isort] Avoid marking required imports as unused (#12537)
  • [isort] Preserve trailing inline comments on import-from statements (#12498)
  • [pycodestyle] Add newlines before comments (E305) (#12606)
  • [pycodestyle] Don't attach comments with mismatched indents (#12604)
  • [pyflakes] Fix preview-mode bugs in F401 when attempting to autofix unused first-party submodule imports in an __init__.py file (#12569)
  • [pylint] Respect start index in unnecessary-list-index-lookup (#12603)
  • [pyupgrade] Avoid recommending no-argument super in slots=True dataclasses (#12530)
  • [pyupgrade] Use colon rather than dot formatting for integer-only types (#12534)
  • Fix NFKC normalization bug when removing unused imports (#12571)

Other changes

  • Consider more stdlib decorators to be property-like (#12583)
  • Improve handling of metaclasses in various linter rules (#12579)
  • Improve consistency between linter rules in determining whether a function is property (#12581)

Install ruff 0.5.6

Install prebuilt binaries via shell script

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

Install prebuilt binaries via powershell script

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

Download ruff 0.5.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.5.5

25 Jul 15:07
fc16d8d
Compare
Choose a tag to compare

Release Notes

Preview features

  • [fastapi] Implement fastapi-redundant-response-model (FAST001) and fastapi-non-annotated-dependency(FAST002) (#11579)
  • [pydoclint] Implement docstring-missing-exception (DOC501) and docstring-extraneous-exception (DOC502) (#11471)

Rule changes

  • [numpy] Fix NumPy 2.0 rule for np.alltrue and np.sometrue (#12473)
  • [numpy] Ignore NPY201 inside except blocks for compatibility with older numpy versions (#12490)
  • [pep8-naming] Avoid applying ignore-names to self and cls function names (N804, N805) (#12497)

Formatter

  • Fix incorrect placement of leading function comment with type params (#12447)

Server

  • Do not bail code action resolution when a quick fix is requested (#12462)

Bug fixes

  • Fix Ord implementation of cmp_fix (#12471)
  • Raise syntax error for unparenthesized generator expression in multi-argument call (#12445)
  • [pydoclint] Fix panic in DOC501 reported in #12428 (#12435)
  • [flake8-bugbear] Allow singleton tuples with starred expressions in B013 (#12484)

Documentation

  • Add Eglot setup guide for Emacs editor (#12426)
  • Add note about the breaking change in nvim-lspconfig (#12507)
  • Add note to include notebook files for native server (#12449)
  • Add setup docs for Zed editor (#12501)

Contributors

Install ruff 0.5.5

Install prebuilt binaries via shell script

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

Install prebuilt binaries via powershell script

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

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

0.5.4

20 Jul 18:06
53b84ab
Compare
Choose a tag to compare

Release Notes

Rule changes

  • [ruff] Rename RUF007 to zip-instead-of-pairwise (#12399)

Bug fixes

  • [flake8-builtins] Avoid shadowing diagnostics for @override methods (#12415)
  • [flake8-comprehensions] Insert parentheses for multi-argument generators (#12422)
  • [pydocstyle] Handle escaped docstrings within docstring (D301) (#12192)

Documentation

  • Fix GitHub link to Neovim setup (#12410)
  • Fix output-format default in settings reference (#12409)

Install ruff 0.5.4

Install prebuilt binaries via shell script

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

Install prebuilt binaries via powershell script

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

Download ruff 0.5.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 ARMv6 MUSL Linux (Hardfloat) checksum
ruff-armv7-unknown-linux-musleabihf.tar.gz ARMv7 MUSL Linux checksum

0.5.3

18 Jul 17:10
f0d589d
Compare
Choose a tag to compare

Release Notes

Ruff 0.5.3 marks the stable release of the Ruff language server and introduces revamped documentation, including setup guides for your editor of choice and the language server itself.

Preview features

  • Formatter: Insert empty line between suite and alternative branch after function/class definition (#12294)
  • [pyupgrade] Implement unnecessary-default-type-args (UP043) (#12371)

Rule changes

  • [flake8-bugbear] Detect enumerate iterations in loop-iterator-mutation (B909) (#12366)
  • [flake8-bugbear] Remove discard, remove, and pop allowance for loop-iterator-mutation (B909) (#12365)
  • [pylint] Allow repeated-equality-comparison for mixed operations (PLR1714) (#12369)
  • [pylint] Ignore self and cls when counting arguments (PLR0913) (#12367)
  • [pylint] Use UTF-8 as default encoding in unspecified-encoding fix (PLW1514) (#12370)

Server

  • Build settings index in parallel for the native server (#12299)
  • Use fallback settings when indexing the project (#12362)
  • Consider --preview flag for server subcommand for the linter and formatter (#12208)

Bug fixes

  • [flake8-comprehensions] Allow additional arguments for sum and max comprehensions (C419) (#12364)
  • [pylint] Avoid dropping extra boolean operations in repeated-equality-comparison (PLR1714) (#12368)
  • [pylint] Consider expression before statement when determining binding kind (PLR1704) (#12346)

Documentation

  • Add docs for Ruff language server (#12344)
  • Migrate to standalone docs repo (#12341)
  • Update versioning policy for editor integration (#12375)

Other changes

  • Publish Wasm API to npm (#12317)

Contributors

Install ruff 0.5.3

Install prebuilt binaries via shell script

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

Install prebuilt binaries via powershell script

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

Download ruff 0.5.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.5.2

14 Jul 15:11
dc8db1a
Compare
Choose a tag to compare

Release Notes

Preview features

  • Use space separator before parenthesized expressions in comprehensions with leading comments (#12282)
  • [flake8-async] Update ASYNC100 to include anyio and asyncio (#12221)
  • [flake8-async] Update ASYNC109 to include anyio and asyncio (#12236)
  • [flake8-async] Update ASYNC110 to include anyio and asyncio (#12261)
  • [flake8-async] Update ASYNC115 to include anyio and asyncio (#12262)
  • [flake8-async] Update ASYNC116 to include anyio and asyncio (#12266)

Rule changes

  • [flake8-return] Exempt properties from explicit return rule (RET501) (#12243)
  • [numpy] Add np.NAN-to-np.nan diagnostic (#12292)
  • [refurb] Make list-reverse-copy an unsafe fix (#12303)

Server

  • Consider include and extend-include settings in native server (#12252)
  • Include nested configurations in settings reloading (#12253)

CLI

  • Omit code frames for fixes with empty ranges (#12304)
  • Warn about formatter incompatibility for D203 (#12238)

Bug fixes

  • Make cache-write failures non-fatal on Windows (#12302)
  • Treat not operations as boolean tests (#12301)
  • [flake8-bandit] Avoid S310 violations for HTTP-safe f-strings (#12305)
  • [flake8-bandit] Support explicit string concatenations in S310 HTTP detection (#12315)
  • [flake8-bandit] fix S113 false positive for httpx without timeout argument (#12213)
  • [pycodestyle] Remove "non-obvious" allowance for E721 (#12300)
  • [pyflakes] Consider with blocks as single-item branches for redefinition analysis (#12311)
  • [refurb] Restrict forwarding for newline argument in open() calls to Python versions >= 3.10 (#12244)

Documentation

  • Update help and documentation to reflect --output-format full default (#12248)

Performance

  • Use more threads when discovering Python files (#12258)

Install ruff 0.5.2

Install prebuilt binaries via shell script

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

Install prebuilt binaries via powershell script

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

Download ruff 0.5.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.5.1

05 Jul 13:30
3a72400
Compare
Choose a tag to compare

Release Notes

Preview features

  • [flake8-bugbear] Implement mutable-contextvar-default (B039) (#12113)
  • [pycodestyle] Whitespace after decorator (E204) (#12140)
  • [pytest] Reverse PT001 and PT0023 defaults (#12106)

Rule changes

  • Enable token-based rules on source with syntax errors (#11950)
  • [flake8-bandit] Detect httpx for S113 (#12174)
  • [numpy] Update NPY201 to include exception deprecations (#12065)
  • [pylint] Generate autofix for duplicate-bases (PLE0241) (#12105)

Server

  • Avoid syntax error notification for source code actions (#12148)
  • Consider the content of the new cells during notebook sync (#12203)
  • Fix replacement edit range computation (#12171)

Bug fixes

  • Disable auto-fix when source has syntax errors (#12134)
  • Fix cache key collisions for paths with separators (#12159)
  • Make requires-python inference robust to == (#12091)
  • Use char-wise width instead of str-width (#12135)
  • [pycodestyle] Avoid E275 if keyword followed by comma (#12136)
  • [pycodestyle] Avoid E275 if keyword is followed by a semicolon (#12095)
  • [pylint] Skip dummy variables for PLR1704 (#12190)

Performance

  • Remove allocation in parse_identifier (#12103)
  • Use CompactString for Identifier AST node (#12101)

Contributors

Install ruff 0.5.1

Install prebuilt binaries via shell script

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

Install prebuilt binaries via powershell script

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

Download ruff 0.5.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.5.0

27 Jun 15:42
244b923
Compare
Choose a tag to compare

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.

  • Follow the XDG specification to discover user-level configurations on macOS (same as on other Unix platforms)
  • Selecting ALL now excludes deprecated rules
  • The released archives now include an extra level of nesting, which can be removed with --strip-components=1 when untarring.
  • The release artifact's file name no longer includes the version tag. This enables users to install via /latest URLs on GitHub.
  • The diagnostic ranges for some flake8-bandit rules were modified (#10667).

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:

Removals

The following deprecated settings have been removed:

  • output-format=text; use output-format=concise or output-format=full
  • tab-size; use indent-width

The following deprecated CLI options have been removed:

  • --show-source; use --output-format=full
  • --no-show-source; use --output-format=concise

The following deprecated CLI commands have been removed:

  • ruff <path>; use ruff check <path>
  • ruff --clean; use ruff clean
  • ruff --generate-shell-completion; use ruff generate-shell-completion

Preview features

  • [ruff] Add assert-with-print-message rule (#11981)

CLI

  • Use rule name rather than message in --statistics (#11697)
  • Use the output format full by default (#12010)
  • Don't log syntax errors to the console (#11902)

Rule changes

  • [ruff] Fix false positives if gettext is imported using an alias (RUF027) (#12025)
  • [numpy] Update trapz and in1d deprecation (NPY201) (#11948)
  • [flake8-bandit] Modify diagnostic ranges for shell-related rules (#10667)

Server

  • Closing an untitled, unsaved notebook document no longer throws an error (#11942)
  • Support the usage of tildes and environment variables in logFile (#11945)
  • Add option to configure whether to show syntax errors (#12059)

Bug fixes

  • [pycodestyle] Avoid E203 for f-string debug expression (#12024)
  • [pep8-naming] Match import-name ignores against both name and alias (N812, N817) (#12033)
  • [pyflakes] Detect assignments that shadow definitions (F811) (#11961)

Parser

  • Emit a syntax error for an empty type parameter list (#12030)
  • Avoid consuming the newline for unterminated strings (#12067)
  • Do not include the newline in the unterminated string range (#12017)
  • Use the correct range to highlight line continuation errors (#12016)
  • Consider 2-character EOL before line continuations (#12035)
  • Consider line continuation character for re-lexing (#12008)

Other changes

  • Upgrade the Unicode table used for measuring the line-length (#11194)
  • Remove the deprecation error message for the nursery selector (#10172)

Contributors

Read more

v0.4.10

20 Jun 17:46
b54922f
Compare
Choose a tag to compare

Changes

Parser

  • Implement re-lexing logic for better error recovery (#11845)

Rule changes

  • [flake8-copyright] Update CPY001 to check the first 4096 bytes instead of 1024 (#11927)
  • [pycodestyle] Update E999 to show all syntax errors instead of just the first one (#11900)

Server

  • Add tracing setup guide to Helix documentation (#11883)
  • Add tracing setup guide to Neovim documentation (#11884)
  • Defer notebook cell deletion to avoid an error message (#11864)

Security

  • Guard against malicious ecosystem comment artifacts (#11879)

Contributors

v0.4.9

14 Jun 15:21
4f49e91
Compare
Choose a tag to compare

Changes

Preview features

  • [pylint] Implement consider-dict-items (C0206) (#11688)
  • [refurb] Implement repeated-global (FURB154) (#11187)

Rule changes

  • [pycodestyle] Adapt fix for E203 to work identical to ruff format (#10999)

Formatter

  • Fix formatter instability for lines only consisting of zero-width characters (#11748)

Server

  • Add supported commands in server capabilities (#11850)
  • Use real file path when available in ruff server (#11800)
  • Improve error message when a command is run on an unavailable document (#11823)
  • Introduce the ruff.printDebugInformation command (#11831)
  • Tracing system now respects log level and trace level, with options to log to a file (#11747)

CLI

  • Handle non-printable characters in diff view (#11687)

Bug fixes

  • [refurb] Avoid suggesting starmap when arguments are used outside call (FURB140) (#11830)
  • [flake8-bugbear] Avoid panic in B909 when checking large loop blocks (#11772)
  • [refurb] Fix misbehavior of operator.itemgetter when getter param is a tuple (FURB118) (#11774)

Contributors