JM Tech Power

新闻

Python 3.15 is out: lazy imports, frozendict and UTF-8 by default

← All articles Email RSS Atom

News · written 3 November 2026. A summary for readers, not upgrade or technical advice — check the official release notes at the end before you upgrade.

Python is one of the most popular programming languages in the world, used for everything from small scripts to websites, data science and teaching. A new major version comes out every October.

What happened

The Python team released Python 3.15.0 on 9 October 2026, on the date set in PEP 790, the 3.15 release schedule. A first round of fixes has already followed: python.org now lists 3.15.2 as the newest 3.15 release.

What is new

  • Explicit lazy imports (PEP 810) — a program can mark imports to load only when they are first used, for faster start-up times.
  • New built-in types: frozendict, an unchangeable dictionary (PEP 814), and sentinel (PEP 661), for the special "no value" markers many libraries write by hand.
  • UTF-8 by default (PEP 686) — Python now uses UTF-8 as the default text encoding, so files behave the same on Windows, macOS and Linux.
  • Unpacking in comprehensions (PEP 798).
  • A faster JIT: the experimental just-in-time compiler was significantly upgraded, with a 7–8% geometric-mean speed-up on x86-64 Linux.
  • Tachyon (PEP 799), a high-frequency statistical sampling profiler for finding slow code.
  • Work towards a stable ABI for free-threaded builds (PEPs 803, 820 and 793), and the official macOS installers now include free-threading support by default.

What it means

  • Support window: per PEP 790, 3.15 gets bug-fix releases for about two years, then security fixes until about October 2031.
  • Check your text files. The switch to UTF-8 by default mostly removes surprises, but old code that relied on a different system encoding — common on Windows — is worth testing.
  • Libraries catch up over the next weeks. Before moving a project to 3.15, check that the packages it depends on publish builds for the new version.
  • The python.org page also notes a known issue on macOS 27 where IDLE and tkinter dialogs can hang; it links to the bug tracker for updates.

Sources

More news and guides at https://jmtechpower.com/articles.

Comments (0)

No comments yet. Be the first to comment!