Python 3.15 goes global with UTF-8 support
Python 3.15 has been released after a week’s delay, bringing several new features, including a profiler, an experimental just-in-time compiler and lazy imports. Its most significant change for many developers is that UTF-8 is now the default encoding across platforms, addressing a long-standing source of data errors on Windows.
Previously, Python used the computer’s local encoding by default, so scripts handling UTF-8 files could corrupt or fail on characters such as smart quotes when run on Windows. The change matters because about 58 per cent of Python users develop on Windows, while roughly half use Python for data processing and analysis. UTF-8 is already standard across many programming tools and data formats; Python’s new release also comes with an 18-puzzle terminal game introducing its features.
- Python 3.15 makes UTF-8 the default across platforms.
- The change helps prevent character errors in Windows scripts.
- The release also adds a profiler and experimental JIT compiler.
New here? Start with this
Python is a programming language used to build software and automate tasks. Developers often use it to process text and data, and Python runs on operating systems including Windows, macOS and Linux.
Text is stored using character encodings, which tell a computer how to represent letters and symbols as data. UTF-8 is widely used across modern tools and file formats, but Python previously relied on each computer’s local encoding by default; on Windows, this could cause scripts to misread or damage text containing characters such as smart quotes.
This matters to developers who share scripts and data across different computers, especially in data processing and analysis. Making UTF-8 the default is intended to make text handling more consistent across platforms.