Try our Chrome extension
Easily add the current web-page from your browser directly into your changedetection.io tool, more great features coming soon!Changedetection.io needs your support!
You can help us by supporting changedetection.io on these platforms;
- Rate us at AlternativeTo.net
- Star us on GitHub
- Follow us at Twitter/X
- G2 Software reviews
- Check us out on LinkedIn
- And tell your friends and colleagues :)
The more popular changedetection.io is, the more time we can dedicate to adding amazing features!
Many thanks :)
changedetection.io team
Ještě ne před sekundami
False
Ještě ne před sekundami
Spouštěcí text Ignorovaný text Blokovaný text
9 hours ago
Skip to content
Navigation Menu
Sign in Appearance settings
* Platform
+ AI CODE CREATION
o GitHub Copilot Write better code with AI
o GitHub Copilot app Direct agents from issue to merge
o MCP Registry Integrate external tools
+ DEVELOPER WORKFLOWS
o Actions Automate any workflow
o Codespaces Instant dev environments
o Issues Plan and track work
o Code Review Manage code changes
o Code Quality Enforce quality at merge
+ APPLICATION SECURITY
o GitHub Advanced Security Find and fix vulnerabilities
o Code security Secure your code as you build
o Secret protection Stop leaks before they start
+ EXPLORE
o Why GitHub
o Documentation
o Blog
o Changelog
o Marketplace
View all features
* Solutions
+ BY COMPANY SIZE
o Enterprises
o Small and medium teams
o Startups
o Nonprofits
+ BY USE CASE
o App Modernization
o DevSecOps
o DevOps
o CI/CD
o View all use cases
+ BY INDUSTRY
o Healthcare
o Financial services
o Manufacturing
o Government
o View all industries
View all solutions
* Resources
+ EXPLORE BY TOPIC
o AI
o Software Development
o DevOps
o Security
o View all topics
+ EXPLORE BY TYPE
o Customer stories
o Events & webinars
o Ebooks & reports
o Business insights
o GitHub Skills
+ SUPPORT & SERVICES
o Documentation
o Customer support
o Community forum
o Trust center
o Partners
View all resources
* Open Source
+ COMMUNITY
o GitHub Sponsors Fund open source developers
+ PROGRAMS
o Security Lab
o Maintainer Community
o Accelerator
o GitHub Stars
o Archive Program
+ REPOSITORIES
o Topics
o Trending
o Collections
* Enterprise
+ ENTERPRISE SOLUTIONS
o Enterprise platform AI-powered developer platform
+ AVAILABLE ADD-ONS
o GitHub Advanced Security Enterprise-grade security features
o Copilot for Business Enterprise-grade AI features
o Premium Support Enterprise-grade 24/7 support
* Pricing
Type / to search
Sign in
Sign up Appearance settings
You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert
Uh oh!
There was an error while loading. Please reload this page.
astral-sh / ruff Public
* Notifications You must be signed in to change notification settings
* Fork 2.3k
* Star 49.1k
* Code
* Issues 1.7k
* Pull requests 405
* Discussions
* Actions
* Projects
* Security and quality 0
* Insights
Additional navigation options
* Code
* Issues
* Pull requests
* Discussions
* Actions
* Projects
* Security and quality
* Insights
Releases: astral-sh/ruff
Releases Tags
Releases · astral-sh/ruff
Release list
* 0.16.2
* 0.16.1
* 0.16.0
* 0.15.22
* 0.15.21
* 0.15.20
* 0.15.19
* 0.15.18
* 0.15.17
* 0.15.16
Previous Next
Jump to release
* 0.16.2
* 0.16.1
* 0.16.0
* 0.15.22
* 0.15.21
* 0.15.20
* 0.15.19
* 0.15.18
* 0.15.17
* 0.15.16
Previous Next
0.16.2
0.16.2 Latest
Latest
Compare
Choose a tag to compare
Sorry, something went wrong.
Filter
Loading
Sorry, something went wrong.
Uh oh!
There was an error while loading. Please reload this page.
No results found
View all tags
github-actions released this 07 Aug 13:31
Immutable release. Only release title and notes can be modified.
0.16.2
5b48a04
This commit was created on GitHub.com and signed with GitHub’s verified signature.
GPG key ID: B5690EEEBB952194
Verified
Learn about vigilant mode.
Release Notes
Released on 2026-08-06.
Bug fixes
* [flake8-pyi] Avoid false positives on singledispatch functions (PYI041) (#27335)
Server
* Register formatting capabilities dynamically to exclude TOML files (#27332)
Contributors
* @MeGaGiGaGon
* @charliermarsh
* @epage
* @sharkdp
* @ntBre
Install ruff 0.16.2
Install prebuilt binaries via shell script
curl --proto ' =https ' --tlsv1.2 -LsSf https://releases.astral.sh/github/ruff/releases/download/0.16.2/ruff-installer.sh | sh
Install prebuilt binaries via powershell script
powershell -ExecutionPolicy Bypass -c " irm https://releases.astral.sh/github/ruff/releases/download/0.16.2/ruff-installer.ps1 | iex "
Download ruff 0.16.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-riscv64gc-unknown-linux-gnu.tar.gz RISCV 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
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/ruff
You 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>
Assets 43
* dist-manifest.json
sha256:0b47333a6d35e90ecc59b58d9db3780262edd492c2c9b16daddcb8a1bec833da
38.8 KB 2026-08-07T13:31:49Z
* ruff-aarch64-apple-darwin.tar.gz
sha256:fbf6cbc23d254b0bc03a6fb2b1b04efb917fe5ce068d027e735ce7ed65b9bed6
9.58 MB 2026-08-07T13:31:49Z
* ruff-aarch64-apple-darwin.tar.gz.sha256
sha256:9ecfc2e1a13bef5852e833f29223e8972d64a15cfaa133e022fc485fb1a9dcac
99 Bytes 2026-08-07T13:31:49Z
* ruff-aarch64-pc-windows-msvc.zip
sha256:c709bbb65f5e9a730aa341842836f3c5fd619c305fd0ae8509846edca39e73b0
9.95 MB 2026-08-07T13:31:49Z
* ruff-aarch64-pc-windows-msvc.zip.sha256
sha256:13750daff5041b9d7bc1ea707267a4e2ed9fd1ffcc9e9842fa3af1f8e57973bf
99 Bytes 2026-08-07T13:31:49Z
* ruff-aarch64-unknown-linux-gnu.tar.gz
sha256:b2a2a2573455cc33af98f8a8fb49294c02d4e2e4a7f9e81844411f0a57f30318
9.95 MB 2026-08-07T13:31:49Z
* ruff-aarch64-unknown-linux-gnu.tar.gz.sha256
sha256:f8508a7690b54747438ca86ba8304112863f2c0cd6167639e4ce227bd350547c
104 Bytes 2026-08-07T13:31:50Z
* ruff-aarch64-unknown-linux-musl.tar.gz
sha256:7cc696f9d89cfeef02167301feedfc3017061fe45df3688b4f3589cde90a1139
9.93 MB 2026-08-07T13:31:50Z
* ruff-aarch64-unknown-linux-musl.tar.gz.sha256
sha256:2d23df9ac844d1d7de8bdb51c0eefc529e038165830e50a61847a8e2ff678039
105 Bytes 2026-08-07T13:31:50Z
* ruff-arm-unknown-linux-musleabihf.tar.gz
sha256:40a8e0a6ecd18f28ce70e21a3cff3b443751fefdae83a9e513f266719a90ef29
9.9 MB 2026-08-07T13:31:50Z
* Source code (zip)
2026-08-07T13:12:50Z
* Source code (tar.gz)
2026-08-07T13:12:50Z
* Release attestation (json)
2026-08-07T13:12:50Z
* Show all 43 assets Loading
Uh oh!
There was an error while loading. Please reload this page.
👍 8 henderson-01, aitmrza, uwu-420, ToyosatomiminoMiko, iAGorynT, alexted, hl2guide, and i0tool5 reacted with thumbs up emoji 😄 1 alexted reacted with laugh emoji 🎉 4 thinh9e, uwu-420, alexted, and i0tool5 reacted with hooray emoji ❤️ 3 uwu-420, alexted, and hl2guide reacted with heart emoji 🚀 5 SymphonySimper, uwu-420, alexted, dikesh, and i0tool5 reacted with rocket emoji 👀 2 alexted and MOJOliciousFTW reacted with eyes emoji
All reactions
* 👍 8 reactions
* 😄 1 reaction
* 🎉 4 reactions
* ❤️ 3 reactions
* 🚀 5 reactions
* 👀 2 reactions
12 people reacted
0.16.1
0.16.1
Compare
Choose a tag to compare
Sorry, something went wrong.
Filter
Loading
Sorry, something went wrong.
Uh oh!
There was an error while loading. Please reload this page.
No results found
View all tags
github-actions released this 30 Jul 19:37
Immutable release. Only release title and notes can be modified.
0.16.1
80790b3
This commit was created on GitHub.com and signed with GitHub’s verified signature.
GPG key ID: B5690EEEBB952194
Verified
Learn about vigilant mode.
Release Notes
Released on 2026-07-30.
Preview features
* Add an option to opt out of human-readable names (#27160)
* [flake8-pytest-style] Make fixes safe by default and unsafe only when comments are present (PT018) (#27201)
* [pyupgrade] Skip fix when a defaulted TypeVar precedes a non-defaulted one (UP040, UP046, UP047) (#27133)
* [ruff] Fix false positive with unpacked arguments (RUF065) (#26959)
Bug fixes
* Bump gen-lsp-types to gracefully handle unknown enumeration values in LSP messages (#27230)
* [flake8-bugbear] Mark range as immutable (B008) (#27247)
* [flake8-comprehensions] NFKC-normalize keyword names in C408 fix (#26813)
* [flake8-return] Fix false positive when variable is read in finally clause (RET504) (#25441)
* [pydocstyle] Skip section detection inside RST directive bodies (D214, D405, D413) (#23635)
* [refurb] Parenthesize yield arguments in the FURB192 fix (#27192)
Rule changes
* [flake8-pytest-style] Mark PT022 fixes as unsafe (#26440)
* [refurb] Mark fixes that remove unknown separators as unsafe (FURB105) (#27200)
Server
* Fix indexing of excluded nested Ruff workspaces (#27303)
* Lint TOML files in the LSP (#26862)
Documentation
* Cover pycon Markdown formatting (#27153)
* [flake8-bandit] Document TYPE_CHECKING exception (S101) (#27004)
* [flake8-import-conventions] Document that extend-aliases can override default aliases (#27191)
* [pylint] Add missing fix safety gotchas for non-augmented-assignment (PLR6104) (#27250)
Other changes
* Reduce syntax error noise by swallowing dedents like indents (#27170)
* Vendor latest annotate-snippets (#27033)
Contributors
* @bxff
* @anishgirianish
* @Avasam
* @epage
* @LHMQ878
* @MichaReiser
* @ntBre
* @HarshalPatel1972
* @mjpieters
* @joshuavetos
* @jesco-absolute
* @vidigoat
* @baltasarblanco
* @ribru17
* @oh-summy
* @Jayashanker-Padishala
Install ruff 0.16.1
Install prebuilt binaries via shell script
curl --proto ' =https ' --tlsv1.2 -LsSf https://releases.astral.sh/github/ruff/releases/download/0.16.1/ruff-installer.sh | sh
Install prebuilt binaries via powershell script
powershell -ExecutionPolicy Bypass -c " irm https://releases.astral.sh/github/ruff/releases/download/0.16.1/ruff-installer.ps1 | iex "
Download ruff 0.16.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-riscv64gc-unknown-linux-gnu.tar.gz RISCV 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
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/ruff
You 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>
Assets 43
Loading
Uh oh!
There was an error while loading. Please reload this page.
👍 11 aitmrza, FlorianKroiss, uwu-420, iliqiliev, iAGorynT, binbjz, alexted, hl2guide, OttoAndrey, i0tool5, and FHU-yezi reacted with thumbs up emoji 😄 3 binbjz, alexted, and hl2guide reacted with laugh emoji 🎉 8 uwu-420, iliqiliev, thinh9e, binbjz, alexted, quarthex, EDM115, and i0tool5 reacted with hooray emoji ❤️ 8 uwu-420, iliqiliev, techgustavo, aiudirog, binbjz, alexted, hl2guide, and jonigl reacted with heart emoji 🚀 9 uwu-420, iliqiliev, binbjz, dikesh, alexted, jonigl, SymphonySimper, sbiquard, and i0tool5 reacted with rocket emoji 👀 2 alexted and hl2guide reacted with eyes emoji
All reactions
* 👍 11 reactions
* 😄 3 reactions
* 🎉 8 reactions
* ❤️ 8 reactions
* 🚀 9 reactions
* 👀 2 reactions
20 people reacted
0.16.0
0.16.0
Compare
Choose a tag to compare
Sorry, something went wrong.
Filter
Loading
Sorry, something went wrong.
Uh oh!
There was an error while loading. Please reload this page.
No results found
View all tags
github-actions released this 23 Jul 19:12
Immutable release. Only release title and notes can be modified.
0.16.0
a2635fd
This commit was created on GitHub.com and signed with GitHub’s verified signature.
GPG key ID: B5690EEEBB952194
Verified
Learn about vigilant mode.
Release Notes
Released on 2026-07-23.
Check out the blog post for a migration guide and overview of the changes!
Breaking changes
* Ruff now enables a much larger set of rules by default (413, up from 59). See the blog post for more details and the new Default Rules page for a full listing of the enabled rules. Note that this is primarily an expansion, but 18 of the more opinionated pycodestyle (E) and pyflakes (F) rules have been removed from the default set: E401, E402, E701, E702, E703, E711, E712, E713, E714, E721, E731, E741, E742, E743, F403, F405, F406, and F722.
* Ruff can now format Python code blocks in Markdown files and will do this by default. See the documentation for more details.
* Ruff now supports ruff: ignore comments at the ends of lines, like noqa comments, or on the line preceding a diagnostic. For example, these both suppress an unused-import (F401) diagnostic:
import math # ruff: ignore[F401]
# ruff: ignore[F401]
import os
* Fixes are now shown in check and format --check output:
❯ ruff format --check .
unformatted: File would be reformatted
--> try.md:1:1
|
1 | ```python
- import math
2 + import math
3 | ```
|
1 file would be reformatted
This example also shows off the Markdown formatting.
* format --check now supports the same output formats as the linter, including the github and gitlab outputs for rendering annotations in CI:
❯ ruff format --check --output-format github .
::error title=ruff (unformatted),file=try.md,line=2,col=8,endLine=2,endColumn=10::try.md:2:8: unformatted: File would be reformatted
See the CLI help or documentation for the full list of supported formats.
* The filename, location, end_location, fix.edits[].location, and fix.edits[].end_location fields in the JSON output format may now be null rather than defaulting to the empty string and row 1, column 1, respectively.
Stabilization
The following rules have been stabilized and are no longer in preview:
* airflow3-incompatible-function-signature (AIR303)
* missing-copyright-notice (CPY001)
* unnecessary-from-float (FURB164)
* sorted-min-max (FURB192)
* implicit-string-concatenation-in-collection-literal (ISC004)
* log-exception-outside-except-handler (LOG004)
* invalid-bool-return-type (PLE0304)
* too-many-positional-arguments (PLR0917)
* stop-iteration-return (PLR1708)
* none-not-at-end-of-union (RUF036)
* access-annotations-from-class-dict (RUF063)
* duplicate-entry-in-dunder-all (RUF068)
The following behaviors have been stabilized:
* blind-except (BLE001) is now suppressed when the exception is logged via logging methods other than critical, error and exception.
* future-required-type-annotation (FA102) now checks for additional PEP 585-compatible APIs, such as those from collections.abc.
* f-string-in-get-text-func-call (INT001), format-in-get-text-func-call (INT002), and printf-in-get-text-func-call (INT003) now check for additional common ways of using the gettext module, such as assigning it to builtins._.
* suspicious-url-open-usage (S310) now resolves local string literal bindings to avoid more false positives.
* snmp-insecure-version (S508) and snmp-weak-cryptography (S509) now support the recommended API from newer versions of PySNMP.
* typing-text-str-alias (UP019) now recognizes typing_extensions.Text in addition to typing.Text.
Preview features
* [pyupgrade] Fix false positive with TypeVar default before Python 3.13 (UP040) (#26888)
Bug fixes
* [ruff] Fix missing check on unrecognized early bound (RUF016) (#26986)
Rule changes
* Insert a space after the colon in Ruff suppression comments (#27123)
Performance
* [pyupgrade] Speed up unnecessary-future-import (UP010) (#27047)
Documentation
* [ruff] Add missing period in "Why is this bad?" section (RUF200) (#26930)
* [flake8-simplify] Clarify os.environ behavior on Windows (SIM112) (#26972)
* [pydocstyle] Document fix safety (D400) (#26971)
Contributors
* @jonathandung
* @Joosboy
* @MichaReiser
* @Andrej730
* @ntBre
* @zaniebot
Install ruff 0.16.0
Install prebuilt binaries via shell script
curl --proto ' =https ' --tlsv1.2 -LsSf https://releases.astral.sh/github/ruff/releases/download/0.16.0/ruff-installer.sh | sh
Install prebuilt binaries via powershell script
powershell -ExecutionPolicy Bypass -c " irm https://releases.astral.sh/github/ruff/releases/download/0.16.0/ruff-installer.ps1 | iex "
Download ruff 0.16.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-riscv64gc-unknown-linux-gnu.tar.gz RISCV Linux checksum
[ruff-s390x-unknow...
Read more
Assets 43
Loading
Uh oh!
There was an error while loading. Please reload this page.
👍 17 uwu-420, adriannoes, OttoAndrey, mihirsamdarshi, Kat404, alexted, iliqiliev, hl2guide, stevleibelt, lengau, and 7 more reacted with thumbs up emoji 😄 3 alexted, jonigl, and servusdei2018 reacted with laugh emoji 🎉 25 Guillaume-Fgt, GorML, Jodenee, neoniobium, giovannipcarvalho, uwu-420, vsrboth, Kat404, thinh9e, alexted, and 15 more reacted with hooray emoji ❤️ 14 orishamir, Guillaume-Fgt, edgarrmondragon, uwu-420, Kat404, alexted, iliqiliev, hl2guide, jonigl, b-long, and 4 more reacted with heart emoji 🚀 16 leodevian, orishamir, wevertonms, uwu-420, adriannoes, pheus, Kat404, alexted, dikesh, iliqiliev, and 6 more reacted with rocket emoji 👀 4 alexted, servusdei2018, fortify-avnenciu, and B-Perederei reacted with eyes emoji
All reactions
* 👍 17 reactions
* 😄 3 reactions
* 🎉 25 reactions
* ❤️ 14 reactions
* 🚀 16 reactions
* 👀 4 reactions
47 people reacted
0.15.22
0.15.22
Compare
Choose a tag to compare
Sorry, something went wrong.
Filter
Loading
Sorry, something went wrong.
Uh oh!
There was an error while loading. Please reload this page.
No results found
View all tags
github-actions released this 16 Jul 15:15
Immutable release. Only release title and notes can be modified.
0.15.22
0177a7e
This commit was created on GitHub.com and signed with GitHub’s verified signature.
GPG key ID: B5690EEEBB952194
Verified
Learn about vigilant mode.
Release Notes
Released on 2026-07-16.
Preview features
* [pycodestyle] Add an autofix for E402 (#22212)
* [refurb] Allow subclassing builtins in stub files (FURB189) (#26812)
* [ruff] Add rule to replace noqa comments with ruff:ignore (RUF105) (#26423)
* [ruff] Add rule to use human-readable names in ruff:ignore comments (RUF106) (#26682)
* [ruff] Add rule to use human-readable names in configuration selectors (RUF201) (#26772)
Bug fixes
* [flake8-pyi] Fix false positive in __all__ (PYI053) (#26872)
Rule changes
* [pylint] Ignore mutable type updates in redefined-loop-name (PLW2901) (#25733)
Performance
* Avoid redundant lexer token bookkeeping (#26765)
* Avoid redundant pending-indentation writes (#26774)
* Avoid unnecessary identifier lookahead (#26525)
* Reuse parser scratch buffers (#26798)
Documentation
* Document argfile support (#26803)
* [flake8-datetimez] Clarify naming guidance for datetime.today (DTZ002) (#26658)
* [pycodestyle] Document E731 fix safety (#26847)
* [ruff] Clarify intentional async contexts for unused-async (RUF029) (#26641)
Contributors
* @dwego
* @MichaReiser
* @Joosboy
* @KaufmanDmitriy
* @PeterJCLaw
* @ntBre
* @charliermarsh
Install ruff 0.15.22
Install prebuilt binaries via shell script
curl --proto ' =https ' --tlsv1.2 -LsSf https://releases.astral.sh/github/ruff/releases/download/0.15.22/ruff-installer.sh | sh
Install prebuilt binaries via powershell script
powershell -ExecutionPolicy Bypass -c " irm https://releases.astral.sh/github/ruff/releases/download/0.15.22/ruff-installer.ps1 | iex "
Download ruff 0.15.22
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-riscv64gc-unknown-linux-gnu.tar.gz RISCV 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
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/ruff
You 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>
Assets 43
Loading
Uh oh!
There was an error while loading. Please reload this page.
👍 16 FHU-yezi, goldensam777, alexted, i0tool5, uwu-420, dwego, iAGorynT, hl2guide, iliqiliev, wanderingeek, and 6 more reacted with thumbs up emoji 😄 5 alexted, hl2guide, iliqiliev, wanderingeek, and binbjz reacted with laugh emoji 🎉 11 quarthex, goldensam777, alexted, i0tool5, uwu-420, dwego, thinh9e, iliqiliev, wanderingeek, binbjz, and EDM115 reacted with hooray emoji ❤️ 5 alexted, uwu-420, iliqiliev, wanderingeek, and binbjz reacted with heart emoji 🚀 10 alexted, i0tool5, uwu-420, hl2guide, dikesh, iliqiliev, SymphonySimper, wanderingeek, boolka, and binbjz reacted with rocket emoji 👀 4 alexted, iliqiliev, wanderingeek, and binbjz reacted with eyes emoji
All reactions
* 👍 16 reactions
* 😄 5 reactions
* 🎉 11 reactions
* ❤️ 5 reactions
* 🚀 10 reactions
* 👀 4 reactions
22 people reacted
0.15.21
0.15.21
Compare
Choose a tag to compare
Sorry, something went wrong.
Filter
Loading
Sorry, something went wrong.
Uh oh!
There was an error while loading. Please reload this page.
No results found
View all tags
github-actions released this 09 Jul 20:02
Immutable release. Only release title and notes can be modified.
0.15.21
3e1f636
This commit was created on GitHub.com and signed with GitHub’s verified signature.
GPG key ID: B5690EEEBB952194
Verified
Learn about vigilant mode.
Release Notes
Released on 2026-07-09.
Preview features
* Add --add-ignore for adding ruff:ignore comments (#26346)
* [flake8-comprehensions] Drop C409 tuple comprehension preview behavior (#25707)
* Avoid whitespace normalization when formatting comments (#26455)
* [pyupgrade] Lint and fix use of deprecated abc decorators (UP051) (#26417)
Bug fixes
* Refine non-empty f-string detection (#26526)
* Detect syntax errors in individual notebook cells (#26419)
* [flake8-implicit-str-concat] Fix ISC003 autofix incorrectly stripping + from comments (#26554)
Rule changes
* [flake8-executable] Mark EXE004 fix as unsafe (#26033)
* [flake8-pyi] Mark PYI061 fixes as unsafe in Python files (#26533)
* [pydocstyle] Skip overload-with-docstring in stub files (D418) (#26318)
Performance
* Avoid per-token source index visitor calls (#26506)
* Cache parenthesized expression boundaries in the formatter (#26344)
* Improve performance of rendering edits in preview mode (#26565)
* Inline fits_element in formatter (#26429)
* Inline formatter printing hot paths (#26504)
* Lazily create builtin bindings (#26510)
* Skip empty trivia scans in the source indexer (#26507)
* Use ICF for macOS release builds (#25780)
Formatter
* Add --extend-exclude to ruff format (#26372)
Documentation
* Add "How does Ruff's import sorting compare to isort?" link to README (#26530)
* Fix Mozilla Firefox repository link in README (#26537)
* [flake8-bandit] Fix misleading docstring for mako-templates (S702) (#26432)
* [ruff] Fix non-triggering example for if-key-in-dict-del (RUF051) (#26433)
Contributors
* @EkriirkE
* @tingerrr
* @s-rigaud
* @nikolauspschuetz
* @Avasam
* @ntBre
* @omar-y-abdi
* @AlexWaygood
* @sylvestre
* @shaanmajid
* @lerebear
* @baltasarblanco
* @Sanjays2402
* @ZedThree
* @servusdei2018
* @charliermarsh
* @jesco-absolute
* @velikodniy
* @zaniebot
* @epage
Install ruff 0.15.21
Install prebuilt binaries via shell script
curl --proto ' =https ' --tlsv1.2 -LsSf https://releases.astral.sh/github/ruff/releases/download/0.15.21/ruff-installer.sh | sh
Install prebuilt binaries via powershell script
powershell -ExecutionPolicy Bypass -c " irm https://releases.astral.sh/github/ruff/releases/download/0.15.21/ruff-installer.ps1 | iex "
Download ruff 0.15.21
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-riscv64gc-unknown-linux-gnu.tar.gz RISCV 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
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/ruff
You 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>
Assets 43
Loading
Uh oh!
There was an error while loading. Please reload this page.
👍 11 alexted, aitmrza, uwu-420, Avasam, lengau, iAGorynT, wanderingeek, i0tool5, gorsing, binbjz, and uyriq reacted with thumbs up emoji 😄 3 alexted, binbjz, and lengau reacted with laugh emoji 🎉 9 memignone, thinh9e, iliqiliev, hl2guide, alexted, uwu-420, i0tool5, binbjz, and EDM115 reacted with hooray emoji ❤️ 5 alexted, uwu-420, lengau, hl2guide, and binbjz reacted with heart emoji 🚀 10 SymphonySimper, iAGorynT, dikesh, hl2guide, alexted, uwu-420, lengau, i0tool5, gorsing, and binbjz reacted with rocket emoji 👀 3 alexted, lengau, and binbjz reacted with eyes emoji
All reactions
* 👍 11 reactions
* 😄 3 reactions
* 🎉 9 reactions
* ❤️ 5 reactions
* 🚀 10 reactions
* 👀 3 reactions
18 people reacted
0.15.20
0.15.20
Compare
Choose a tag to compare
Sorry, something went wrong.
Filter
Loading
Sorry, something went wrong.
Uh oh!
There was an error while loading. Please reload this page.
No results found
View all tags
github-actions released this 25 Jun 17:21
Immutable release. Only release title and notes can be modified.
0.15.20
f82a36b
This commit was created on GitHub.com and signed with GitHub’s verified signature.
GPG key ID: B5690EEEBB952194
Verified
Learn about vigilant mode.
Release Notes
Released on 2026-06-25.
Preview features
* Allow human-readable names in rule selectors (#25887)
* Emit a warning instead of an error for unknown rule selectors (#26113)
* Match noqa shebang handling in ruff:ignore comments (#26286)
* [ruff] Remove pytest-fixture-autouse (RUF076) (#26240, #26371)
Documentation
* Add versioning sections to custom crate READMEs (#26317)
* Update ruff_python_parser README for crates.io (#26315)
* [perflint] Clarify that PERF402 applies to any iterable (#26242)
Contributors
* @dhruvmanila
* @MichaReiser
* @ntBre
* @trilamsr
Install ruff 0.15.20
Install prebuilt binaries via shell script
curl --proto ' =https ' --tlsv1.2 -LsSf https://releases.astral.sh/github/ruff/releases/download/0.15.20/ruff-installer.sh | sh
Install prebuilt binaries via powershell script
powershell -ExecutionPolicy Bypass -c " irm https://releases.astral.sh/github/ruff/releases/download/0.15.20/ruff-installer.ps1 | iex "
Download ruff 0.15.20
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-riscv64gc-unknown-linux-gnu.tar.gz RISCV 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
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/ruff
You 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>
Assets 43
Loading
Uh oh!
There was an error while loading. Please reload this page.
👍 13 uwu-420, alexted, iAGorynT, JamBalaya56562, beskep, astrawan, stevleibelt, i0tool5, iliqiliev, aitmrza, and 3 more reacted with thumbs up emoji 😄 2 alexted and binbjz reacted with laugh emoji 🎉 7 uwu-420, alexted, i0tool5, thinh9e, binbjz, EDM115, and lengau reacted with hooray emoji ❤️ 6 edgarrmondragon, uwu-420, alexted, Sayemahamed, binbjz, and lengau reacted with heart emoji 🚀 8 pheus, uwu-420, alexted, dikesh, i0tool5, SymphonySimper, binbjz, and lengau reacted with rocket emoji 👀 3 alexted, binbjz, and jiku0730 reacted with eyes emoji
All reactions
* 👍 13 reactions
* 😄 2 reactions
* 🎉 7 reactions
* ❤️ 6 reactions
* 🚀 8 reactions
* 👀 3 reactions
20 people reacted
0.15.19
0.15.19
Compare
Choose a tag to compare
Sorry, something went wrong.
Filter
Loading
Sorry, something went wrong.
Uh oh!
There was an error while loading. Please reload this page.
No results found
View all tags
github-actions released this 24 Jun 01:11
Immutable release. Only release title and notes can be modified.
0.15.19
7f04365
This commit was created on GitHub.com and signed with GitHub’s verified signature.
GPG key ID: B5690EEEBB952194
Verified
Learn about vigilant mode.
Release Notes
Released on 2026-06-23.
Preview features
* Support human-readable names when hovering suppression comments and in code actions (#26114)
Bug fixes
* Fall back to default settings when editor-only settings are invalid (#26244)
* Fix panic when inserting text at a notebook cell boundary (#26111)
Rule changes
* [pylint] Update fix suggestions for __floor__, __trunc__, __length_hint__, and __matmul__ variants (PLC2801) (#26239)
Performance
* Avoid allocating when parsing single string literals (#26200)
* Avoid reallocating singleton call arguments (#26223)
* Lazily create source files for lint diagnostics (#26226)
* Optimize formatter text width and indentation (#26236)
* Reserve capacity for builtin bindings (#26229)
* Skip repeated-key checks for singleton dictionaries (#26228)
* Use ArrayVec for qualified name segments (#26224)
Documentation
* [flake8-pyi] Note that PYI051 is an opinionated stylistic rule (#26179)
* [pyupgrade] Clarify UP029 as a Python 2 compatibility rule (#26243)
Other changes
* Publish Ruff crates to crates.io (#26271)
Contributors
* @MakenRosa
* @MichaReiser
* @trilamsr
* @ntBre
* @sanjibani
* @charliermarsh
Install ruff 0.15.19
Install prebuilt binaries via shell script
curl --proto ' =https ' --tlsv1.2 -LsSf https://releases.astral.sh/github/ruff/releases/download/0.15.19/ruff-installer.sh | sh
Install prebuilt binaries via powershell script
powershell -ExecutionPolicy Bypass -c " irm https://releases.astral.sh/github/ruff/releases/download/0.15.19/ruff-installer.ps1 | iex "
Download ruff 0.15.19
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-riscv64gc-unknown-linux-gnu.tar.gz RISCV 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
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/ruff
You 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>
Assets 43
Loading
Uh oh!
There was an error while loading. Please reload this page.
👍 2 FHU-yezi and binbjz reacted with thumbs up emoji 🎉 1 EDM115 reacted with hooray emoji ❤️ 3 shinGangan, FHU-yezi, and binbjz reacted with heart emoji 👀 2 shinGangan and binbjz reacted with eyes emoji
All reactions
* 👍 2 reactions
* 🎉 1 reaction
* ❤️ 3 reactions
* 👀 2 reactions
4 people reacted
0.15.18
0.15.18
Compare
Choose a tag to compare
Sorry, something went wrong.
Filter
Loading
Sorry, something went wrong.
Uh oh!
There was an error while loading. Please reload this page.
No results found
View all tags
github-actions released this 18 Jun 18:26
Immutable release. Only release title and notes can be modified.
0.15.18
6686f63
This commit was created on GitHub.com and signed with GitHub’s verified signature.
GPG key ID: B5690EEEBB952194
Verified
Learn about vigilant mode.
Release Notes
Released on 2026-06-18.
Preview features
* Handle nested ruff:ignore comments (#25791)
* Stop displaying severity in output (#26050)
* Use human-readable names in CLI output (#25937)
* Use human-readable names in LSP and playground diagnostics (#26058)
* [pydocstyle] Prevent property docstrings starting with verbs (D421) (#23775)
* [flake8-pyi] Extend PYI033 to Python files (#26129)
Bug fixes
* Detect equivalent numeric mapping keys (#26009)
* Detect mapping keys equivalent to booleans (#25982)
* Detect repeated signed and complex dictionary keys (#26007)
Rule changes
* [flake8-pyi] Rename PYI033 to legacy-type-comment (#26131)
Performance
* Use ThinVec for call keywords (#25999)
* Inline parser recovery context checks (#26038)
* Match parser keywords as bytes (#26037)
* Move value parsing out of lexing (#25360)
Server
* Render subdiagnostics and secondary annotations as related information (#26011)
Documentation
* Update fix availability for always-fixable rules (#26091)
* [flake8-tidy-imports] Add fix safety section (TID252) (#17491)
Parser
* Reject __debug__ lambda parameters (#26022)
* Reject _ as a match-pattern target (#25977)
* Reject multiple starred names in sequence patterns (#25976)
* Reject parenthesized star imports (#26021)
* Reject starred comprehension targets (#26023)
* Reject unparenthesized generator expressions in class bases (#25978)
* Reject yield expressions after commas (#26024)
* Validate function type parameter default order (#25981)
Playground
* Make diagnostic links clickable (#26104)
* Use diagnostic tags (#26105)
Contributors
* @AlexWaygood
* @ntBre
* @gtkacz
* @MichaReiser
* @charliermarsh
* @Kalmaegi
Install ruff 0.15.18
Install prebuilt binaries via shell script
curl --proto ' =https ' --tlsv1.2 -LsSf https://releases.astral.sh/github/ruff/releases/download/0.15.18/ruff-installer.sh | sh
Install prebuilt binaries via powershell script
powershell -ExecutionPolicy Bypass -c " irm https://releases.astral.sh/github/ruff/releases/download/0.15.18/ruff-installer.ps1 | iex "
Download ruff 0.15.18
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-riscv64gc-unknown-linux-gnu.tar.gz RISCV 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
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/ruff
You 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>
Assets 43
Loading
Uh oh!
There was an error while loading. Please reload this page.
👍 3 FHU-yezi, stevleibelt, and binbjz reacted with thumbs up emoji 🎉 2 EDM115 and binbjz reacted with hooray emoji 🚀 4 AjayKMehta, illvart, zeevro, and binbjz reacted with rocket emoji
All reactions
* 👍 3 reactions
* 🎉 2 reactions
* 🚀 4 reactions
7 people reacted
0.15.17
0.15.17
Compare
Choose a tag to compare
Sorry, something went wrong.
Filter
Loading
Sorry, something went wrong.
Uh oh!
There was an error while loading. Please reload this page.
No results found
View all tags
github-actions released this 11 Jun 17:57
Immutable release. Only release title and notes can be modified.
0.15.17
7c645a9
This commit was created on GitHub.com and signed with GitHub’s verified signature.
GPG key ID: B5690EEEBB952194
Verified
Learn about vigilant mode.
Release Notes
Released on 2026-06-11.
Preview features
* Allow human-readable names in suppression comments (#25614)
* Fix handling of ignore comments within a disable/enable pair (#25845)
* Prioritize human-readable names in CLI output (#25869)
* Respect diagnostic start and parent ranges and trailing comments in ruff:ignore suppressions (#25673)
* [flake8-async] Add trio.as_safe_channel to safe decorators (ASYNC119) (#25775)
* [flake8-pytest-style] Also check pytest_asyncio fixtures (#25375)
* [ruff] Ban pytest autouse fixtures (RUF076) (#25477)
* [pyupgrade] Add from __future__ import annotations automatically (UP007, UP045) (#23259)
Bug fixes
* Fix diagnostic when ruff:enable or ruff:disable appears where ruff:ignore is expected (#25700)
* [pyupgrade] Preserve leading empty literals to avoid syntax errors (UP032) (#25491)
Rule changes
* [flake8-pytest-style] Clarify diagnostic message for single parameters (PT007) (#25592)
* [numpy] Drop autofix for np.in1d (NPY201) (#25612)
* [pylint] Exempt Python version comparisons (PLR2004) (#25743)
Performance
* Reserve AST Vecs with correct capacity for common cases (#25451)
Formatter
* Preserve whitespace for Quarto cell option comments (#25641)
CLI
* Allow rule names in ruff rule (#25640)
Other changes
* Fix playground diagnostics scrollbars (#25642)
Contributors
* @SuryanshSS1011
* @anishgirianish
* @romero-deshaw
* @karlhillx
* @carljm
* @ntBre
* @11happy
* @Kilo59
* @oconnor663
* @LeonidasZhak
* @DavisVaughan
* @MeGaGiGaGon
* @jonathandung
* @MichaReiser
* @brianmego
Install ruff 0.15.17
Install prebuilt binaries via shell script
curl --proto ' =https ' --tlsv1.2 -LsSf https://releases.astral.sh/github/ruff/releases/download/0.15.17/ruff-installer.sh | sh
Install prebuilt binaries via powershell script
powershell -ExecutionPolicy Bypass -c " irm https://releases.astral.sh/github/ruff/releases/download/0.15.17/ruff-installer.ps1 | iex "
Download ruff 0.15.17
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-riscv64gc-unknown-linux-gnu.tar.gz RISCV 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
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/ruff
You 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>
Assets 43
Loading
Uh oh!
There was an error while loading. Please reload this page.
👍 12 uwu-420, alexted, iAGorynT, astrawan, FHU-yezi, iliqiliev, edgarrmondragon, binbjz, wanderingeek, OttoAndrey, and 2 more reacted with thumbs up emoji 😄 4 alexted, binbjz, wanderingeek, and lengau reacted with laugh emoji 🎉 11 uwu-420, alexted, Kilo59, beskep, thinh9e, iliqiliev, EDM115, binbjz, wanderingeek, i0tool5, and lengau reacted with hooray emoji ❤️ 6 uwu-420, alexted, binbjz, wanderingeek, pheus, and lengau reacted with heart emoji 🚀 10 uwu-420, alexted, SymphonySimper, dikesh, iliqiliev, binbjz, wanderingeek, pheus, i0tool5, and lengau reacted with rocket emoji 👀 3 alexted, binbjz, and wanderingeek reacted with eyes emoji
All reactions
* 👍 12 reactions
* 😄 4 reactions
* 🎉 11 reactions
* ❤️ 6 reactions
* 🚀 10 reactions
* 👀 3 reactions
19 people reacted
0.15.16
0.15.16
Compare
Choose a tag to compare
Sorry, something went wrong.
Filter
Loading
Sorry, something went wrong.
Uh oh!
There was an error while loading. Please reload this page.
No results found
View all tags
github-actions released this 04 Jun 16:34
Immutable release. Only release title and notes can be modified.
0.15.16
6c498ab
This commit was created on GitHub.com and signed with GitHub’s verified signature.
GPG key ID: B5690EEEBB952194
Verified
Learn about vigilant mode.
Release Notes
Released on 2026-06-04.
Preview features
* [flake8-async] Implement yield-in-context-manager-in-async-generator (ASYNC119) (#24644)
* [pylint] Narrow diagnostic range and exclude cases without exception handlers (PLW0717) (#25440)
* [ruff] Treat yield before break from a terminal loop as terminal (RUF075) (#25447)
Bug fixes
* [eradicate] Avoid flagging ruff:ignore comments as code (ERA001) (#25537)
* [eradicate] Fix ERA001/RUF100 conflict when noqa is on commented-out code (#25414)
* [pyflakes] Avoid removing the format call when it would change behavior (F523) (#25320)
* [pylint] Avoid syntax errors in invalid character replacements in f-strings before Python 3.12 (PLE2510, PLE2512, PLE2513, PLE2514, PLE2515) (#25544)
* [pyupgrade] Avoid converting format calls with more kinds of side effects (UP032) (#25484)
Rule changes
* [flake8-pytest-style] Avoid fixes for ambiguous argnames and argvalues combinations (PT006) (#24776)
Performance
* Drop excess capacity from statement suites during parsing (#25368)
Documentation
* [pydocstyle] Improve discoverability of rules enabled for each convention (#24973)
* [ruff] Restore example code for Python versions before 3.15 (RUF017) (#25439)
* Fix typo bin/active → bin/activate in tutorial (#25473)
Other changes
* Shrink additional parser AST collections (#25465)
Contributors
* @Redslayer112
* @koriyoshi2041
* @George-Ogden
* @TejasAmle
* @anishgirianish
* @ntBre
* @MichaReiser
* @loganrosen
* @RafaelJohn9
* @adityasingh2400
Install ruff 0.15.16
Install prebuilt binaries via shell script
curl --proto ' =https ' --tlsv1.2 -LsSf https://releases.astral.sh/github/ruff/releases/download/0.15.16/ruff-installer.sh | sh
Install prebuilt binaries via powershell script
powershell -ExecutionPolicy Bypass -c " irm https://releases.astral.sh/github/ruff/releases/download/0.15.16/ruff-installer.ps1 | iex "
Download ruff 0.15.16
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-riscv64gc-unknown-linux-gnu.tar.gz RISCV 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
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/ruff
You 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>
Assets 43
Loading
Uh oh!
There was an error while loading. Please reload this page.
👍 12 peetzweg, i0tool5, aitmrza, astrawan, iAGorynT, uwu-420, FHU-yezi, hl2guide, OttoAndrey, iliqiliev, and 2 more reacted with thumbs up emoji 😄 1 alexted reacted with laugh emoji 🎉 7 EDM115, thinh9e, uwu-420, hl2guide, alexted, i0tool5, and skieop reacted with hooray emoji ❤️ 5 shinGangan, uwu-420, hl2guide, iliqiliev, and alexted reacted with heart emoji 🚀 7 SymphonySimper, kopsha, uwu-420, dikesh, alexted, aaravind100, and i0tool5 reacted with rocket emoji 👀 3 shinGangan, hl2guide, and alexted reacted with eyes emoji
All reactions
* 👍 12 reactions
* 😄 1 reaction
* 🎉 7 reactions
* ❤️ 5 reactions
* 🚀 7 reactions
* 👀 3 reactions
19 people reacted
Previous 1 2 3 4 5 … 42 43 Next
Previous Next
Footer
© 2026 GitHub, Inc.
Footer navigation
* Terms
* Privacy
* Security
* Status
* Community
* Docs
* Contact
* Manage cookies
* Do not share my personal information
You can’t perform that action at this time.
For now, Differences are performed on text, not graphically, only the latest screenshot is available.
Screenshot requires a Content Fetcher ( Sockpuppetbrowser, selenium, etc ) that supports screenshots.