Change8

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

6
Breaking Changes
2
Migration Steps
34
Affected Symbols

⚠️ Check Your Code

If you use any of these symbols, you need to read this guide:

ASYNC212ASYNC240ASYNC250B912FURB110FURB171PLC0207PLW0108RUF037RUF060RUF061RUF064RUF102RUF103RUF104UP042A003PYI016SIM905SIM910UP008UP043FAST002ANN201ANN202ANN205ANN206UP017UP020UP033FURB180FURB167D300B028

Breaking 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

  1. 1
    Review the formatter section of the blog post for changes related to the 2026 style guide.
  2. 2
    If 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