Narratives Architecture Updated 13 Oct

Python 3.15 Makes UTF-8 Default and Adds New Built-ins

Built from 5 signals across 3 sources · 287 items reviewed

What changed · following since Oct 10 Oct 13 — Explicit lazy imports can address repeated startup costs in plugin-based CLIs with heavy optional dependencies.

Python 3.15 combines new language and runtime features with changes to startup behavior and default text encoding. The release adds sentinel and frozendict built-in types, explicit lazy imports, and UTF-8 as the default encoding, while also improving the experimental JIT. For plugin-based CLIs, deferring heavy dependencies until their symbols are used can address startup costs incurred on every invocation, making import behavior an important upgrade test.

  • Python 3.15 became the stable release on October 9, 2026, after 5,643 commits from 1,012 contributors.
  • The release adds sentinel and frozendict built-in types, along with unpacking in comprehensions.
  • Explicit lazy imports and package startup configuration files provide new controls over startup behavior.
  • Explicit lazy imports can defer heavy plugin dependencies until their symbols are used, addressing repeated startup costs in plugin-based CLIs.
  • The experimental JIT compiler received further improvements compared with Python 3.14.
  • Python 3.15.0 was added to actions/python-versions on October 10, 2026, allowing GitHub Actions test matrices to include it.

Bottom line Add Python 3.15 to CI matrices and test encoding, startup, import, and package behavior—especially plugin startup paths—before upgrading production environments.

Since then

Oct 11 — Python 3.15.0 was added to actions/python-versions on October 10, enabling GitHub Actions test matrices to include the stable release.

Oct 13 — Explicit lazy imports can address repeated startup costs in plugin-based CLIs with heavy optional dependencies. Simon Willison

Signals5