Principales nouveautés
Python 3.15, publié le 9 octobre 2026, regroupe 5 643 commits issus de 1 012 contributeurs. Le langage passe à UTF‑8 comme encodage par défaut (PEP 686), ce qui élimine la nécessité de spécifier explicitement l’encodage dans la plupart des scripts. De nouveaux types intégrés apparaissent : sentinel (PEP 661) pour représenter une valeur unique, frozendict (PEP 814) comme dictionnaire immuable, et la prise en charge de TypedDict avec des éléments typés supplémentaires (PEP 728). Le mécanisme d’importation paresseuse (PEP 810) accélère le démarrage en différant le chargement des modules jusqu’à leur première utilisation. Enfin, les fichiers de configuration de démarrage de paquet (PEP 829) offrent une personnalisation fine du comportement d’initialisation.
Améliorations de l’interpréteur et du JIT
Le compilateur JIT expérimental a été repensé : les benchmarks montrent une amélioration moyenne de 7‑8 % sur les processeurs x86‑64 sous Linux et de 11‑12 % sur les architectures AArch64 sous macOS, comparé à l’interpréteur à appel de queue. Le tail‑calling interpreter devient la version officielle des binaires Windows 64 bits, réduisant la profondeur de la pile et facilitant le profiling. Les pointeurs de trame sont activés par défaut, ce qui renforce la visibilité du système d’exploitation sur l’exécution du code Python. Sur macOS, le support du free‑threading est désormais installé par défaut, simplifiant l’accès aux performances multithread sans recompilation.
Évolutions de la bibliothèque standard et du C‑API
Le standard intègre un nouveau package de profilage (PEP 799) dédié à l’organisation des outils de profiling, accompagné du profiler à échantillonnage haute fréquence « Tachyon » qui capture des statistiques avec un overhead minimal. Côté typage, TypeForm (PEP 747) permet d’annoter les formes de types, et disjoint bases (PEP 800) enrichissent le système de classes en interdisant les hiérarchies conflictuelles. Le C‑API gagne PyBytesWriter (PEP 782) pour créer efficacement des objets bytes, ainsi qu’une protection contre la finalisation prématurée (PEP 788). La stable ABI pour les builds free‑threaded (PEP 803, 820, 793) assure la compatibilité binaire entre extensions compilées pour différentes versions du runtime.
Impacts pratiques et limites connues
Les binaires officiels pour Windows utilisent désormais le tail‑calling interpreter, tandis que ceux pour macOS intègrent le free‑threading, ce qui peut modifier le comportement de code dépendant de l’ordre d’exécution des threads. Un problème identifié sous macOS 27.0 affecte les applications GUI basées sur tkinter : les menus déclenchent un blocage du processus, nécessitant un redémarrage forcé. Les développeurs sont invités à reporter le passage à macOS 27.0 jusqu’à la publication d’un correctif Tk. Les tailles de téléchargement varient de 13,1 Mo pour le package embarqué Windows 64 bits à 84,9 Mo pour l’installeur macOS, ce qui reste comparable aux versions précédentes.