Python 3.15 makes UTF-8 the default. What breaks?

Python 3.15 reads and writes files as UTF-8 by default, so a Latin-1 file opened without an encoding argument now raises UnicodeDecodeError.

In our scan, 205 of 295 text-mode file calls in 15 popular packages pass no encoding, so dependencies are the main exposure.

Six calls that worked on Python 3.13 fail on 3.15, and the new lazy import keyword cut startup for 16 modules from 87 ms to 19 ms.

Read the full post

Read the full post