Release Notes
Released on 2026-03-26.
Preview features
- [
ruff] New ruleunnecessary-if(RUF050) (#24114) - [
ruff] New ruleuseless-finally(RUF072) (#24165) - [
ruff] New rulef-string-percent-format(RUF073): warn when using%operator on an f-string (#24162) - [
pyflakes] Recognizefrozendictas a builtin for Python 3.15+ (#24100)
Bug fixes
- [
flake8-async] Use fully-qualifiedanyio.lowlevelimport in autofix (ASYNC115) (#24166) - [
flake8-bandit] Check tuple arguments for partial paths inS607(#24080) - [
pyflakes] Skipundefined-name(F821) for conditionally deleted variables (#24088) E501/W505/formatter: Exclude nested pragma comments from line width calculation (#24071)- Fix
%foo?parsing in IPython assignment expressions (#24152) analyze graph: resolve string imports that reference attributes, not just modules (#24058)
Rule changes
- [
eradicate] ignorety: ignorecomments inERA001(#24192) - [
flake8-bandit] Treatsys.executableas trusted input inS603(#24106) - [
flake8-self] RecognizeSelfannotation andselfassignment inSLF001(#24144) - [
pyflakes]F507: Fix false negative for non-tuple RHS in%-formatting (#24142) - [
refurb] Parenthesize generator arguments inFURB142fixer (#24200)
Performance
- Speed up diagnostic rendering (#24146)
Server
- Warn when Markdown files are skipped due to preview being disabled (#24150)
Documentation
- Clarify
extend-ignoreandextend-selectsettings documentation (#24064) - Mention AI policy in PR template (#24198)
Other changes
- Use trusted publishing for NPM packages (#24171)
Contributors
- @bitloi
- @Sim-hu
- @mvanhorn
- @chinar-amrutkar
- @markjm
- @RenzoMXD
- @vivekkhimani
- @seroperson
- @moktamd
- @charliermarsh
- @ntBre
- @zanieb
- @dylwil3
- @MichaReiser
Install ruff 0.15.8
Install prebuilt binaries via shell script
curl --proto '=https' --tlsv1.2 -LsSf https://releases.astral.sh/github/ruff/releases/download/0.15.8/ruff-installer.sh | shInstall prebuilt binaries via powershell script
powershell -ExecutionPolicy Bypass -c "irm https://releases.astral.sh/github/ruff/releases/download/0.15.8/ruff-installer.ps1 | iex"Download ruff 0.15.8
Verifying GitHub Artifact Attestations
The artifacts in this release have attestations generated with GitHub Artifact Attestations. These can be verified by using the GitHub CLI:
gh attestation verify <file-path of downloaded artifact> --repo astral-sh/ruffYou can also download the attestation from GitHub and verify against that directly:
gh attestation verify <file-path of downloaded artifact> --bundle <file-path of downloaded attestation>