v0.39.3 0.16.6
astral-sh/ruffSep 1, 2026 → Sep 3, 20262 days between releases
What's New
Adds Python 3.15 support and preview linting features while fixing parsing and datetime bugs.
New Features
- Support for unary plus in match patterns on Python 3.15
- Preview autofix for PT020 in flake8-pytest-style
- Preview features for pytest-fixture-autouse, flake8-tidy-imports, and isort
- Validation for unary expressions during parsing
- Display-only fix for os.listdir (PTH208)
Improvements
- Exclude pragma comments from line length calculation in isort
- Recognize builtins.open to fix false positives
- Remove lint.external hint for Ruff-specific suppressions
Bug Fixes
- Validate unary expressions when parsing
- Fix panic on match subjects
- Reject tzinfo=None for datetime bounds
- Avoid duplicate PT017 diagnostics
- Recognize builtins.open
Upgrade Notes
Requires Python 3.15 for unary plus support. Isort line length calculation now excludes pragma comments. pytest-fixture-autouse moved to restriction category.
The Two Releases
v0.39.3
Sep 1, 2026· 2 months ago
This is a maintenance patch release focused on security and performance. It patches a nanoid advisory and splits the framework into vendor chunks for better web performance.
Full release notes0.16.6
Sep 3, 2026· 2 months ago
This release focuses on preview features for linting rules, various bug fixes including parsing and datetime validation, and documentation updates. It also adds support for unary plus in match patterns on Python 3.15.
Full release notes