Migrating to Ruff 0.15.0
Version 0.15.0 introduces 6 breaking changes. This guide details how to update your code.
Released: 2/3/2026
⚠️ Check Your Code
If you use any of these symbols, you need to read this guide:
ASYNC212ASYNC240ASYNC250B912FURB110FURB171PLC0207PLW0108RUF037RUF060RUF061RUF064RUF102RUF103RUF104UP042A003PYI016SIM905SIM910UP008UP043FAST002ANN201ANN202ANN205ANN206UP017UP020UP033FURB180FURB167D300B028Breaking Changes
●Issue #1
Ruff now formats code according to the 2026 style guide, requiring review of formatter changes.
●Issue #2
The linter now supports block suppression comments (e.g., # ruff: disable[N803] ... # ruff: enable[N803]).
●Issue #3
The `ruff:alpine` Docker image is now based on Alpine 3.23 (up from 3.21).
●Issue #4
The `ruff:debian` and `ruff:debian-slim` Docker images are now based on Debian 13 "Trixie" instead of Debian 12 "Bookworm."
●Issue #5
Binaries for the `ppc64` (64-bit big-endian PowerPC) architecture are no longer included in releases.
●Issue #6
Ruff now resolves all `extend`ed configuration files before falling back on a default Python version.
Migration Steps
- 1Review the formatter section of the blog post for changes related to the 2026 style guide.
- 2If using `ppc64` architecture, you may need to build Ruff manually.
Release Summary
This release introduces the new 2026 style guide for formatting and stabilizes numerous linter rules. It also adds support for block-level suppression comments in the linter.
Need More Details?
View the full release notes and all changes for Ruff 0.15.0.
View Full Changelog