Aller au contenu

Python 3.15.0 final repoussé au 9 octobre après une rc3 surprise

Python 3.15.0rc3 est sorti le 2 octobre pour corriger des bugs tardifs des imports paresseux, ce qui repousse d'une semaine la version finale de Python 3.15.0, au 9 octobre 2026.

Par Tech AI Wire Team

3 min de lecture

XLinkedIn
Screenshot of the Python Insider post 'Python 3.15.0 candidate 3 is here!' by Hugo van Kemenade, dated October 2, 2026, explaining the lazy-import release blockers.

En chiffres

new date for the Python 3.15.0 final release
Oct 9
bugfixes, build and doc changes in rc3
156
contributors to rc3 since rc2
82
JIT speedup on x86-64 Linux, per the release notes
7-8%

Python 3.15.0 sortira désormais le 9 octobre 2026, une semaine plus tard que prévu. Au lieu de la version finale, l'équipe de publication a sorti le 2 octobre une troisième version candidate imprévue, 3.15.0rc3. Une version candidate est une version quasi finale destinée aux tests. En cause, une série de bugs tardifs dans les imports paresseux (lazy imports), l'une des fonctions phares de la nouvelle version.

Pourquoi il y a une rc3

Le responsable des versions Hugo van Kemenade a expliqué ce changement dans un message sur le forum de discussion de Python. « Nous avons reçu à la dernière minute des bloquants de version liés aux imports paresseux, et il est logique de les inclure dans la 3.15.0 finale », a-t-il écrit. « Il est aussi logique de laisser un peu de temps pour les tester correctement, donc la 3.15.0 finale prévue cette semaine est reportée à la semaine prochaine. »

Un bloquant de version est un bug assez grave pour arrêter une publication. Les imports paresseux viennent de la PEP 810, le document de conception de la fonction. Ils permettent à un programme de retarder le chargement d'un module jusqu'à sa première utilisation par le code, ce qui peut accélérer le démarrage des programmes. Un bug dans une fonction qui modifie le chargement des modules serait difficile à corriger après la sortie, donc l'équipe a choisi un nouveau cycle de tests.

Le titre du message de van Kemenade présente cette candidate supplémentaire comme une tradition. Selon le fil du forum, Python 3.12, 3.13 et 3.14 ont chacun eu eux aussi une rc3 surprise.

Ce que contient la rc3

Le blog Python Insider indique que la rc3 contient environ 156 corrections de bugs, améliorations de build et modifications de documentation depuis la rc2. Elles proviennent de 82 contributeurs. Van Kemenade gère la publication avec Ned Deily et Steve Dower.

Python.org présente la rc3 comme une préversion. Le site indique de ne pas l'utiliser en production. L'annonce du forum ajoute qu'aucune autre modification de l'ABI n'est autorisée. L'ABI est l'interface binaire dont dépendent les modules d'extension compilés. Les paquets compilés avec la rc3 devraient donc fonctionner avec la 3.15.0 finale.

Les fonctions phares de Python 3.15

Voici les fonctions que l'annonce de la version liste pour 3.15 :

FonctionCe qu'elle fait
PEP 810Des imports paresseux explicites, qui diffèrent le chargement d'un module
PEP 814Un frozendict intégré, un dictionnaire non modifiable
PEP 661Une façon standard de créer des valeurs sentinelles
PEP 798Le dépaquetage à l'intérieur des compréhensions
PEP 686Le mode UTF-8 activé par défaut
PEP 728Des améliorations de TypedDict pour les annotations de type
PEP 799Un nouveau profileur statistique par échantillonnage
Compilateur JITToujours expérimental, 7 à 8 % plus rapide sur Linux x86-64

Le blog indique aussi que les pointeurs de frame (frame pointers) sont désormais activés par défaut. Ils aident les profileurs et les débogueurs à suivre un programme en cours d'exécution. Les installeurs macOS incluent la prise en charge du free-threading, qui permet à Python d'exécuter des threads sans le verrou global de l'interpréteur.

Certains de ces changements étaient déjà connus. Tech AI Wire a expliqué en septembre comment Python 3.15 déprécie en douceur re.match().

Ce que cela signifie pour les développeurs

Il vous reste une semaine de plus pour tester avant l'arrivée de la 3.15.0. Installez la rc3 et lancez votre suite de tests dessus dès maintenant. Si vous trouvez un bug, signalez-le avant le 9 octobre, tant que l'équipe de publication peut encore agir.

Testez d'abord tout ce qui charge des modules de façon inhabituelle. Cela inclut les systèmes de plugins, les hooks d'import et le code qui exécute du travail au moment de l'import. Ce sont les schémas les plus susceptibles de remarquer un changement dans le chargement des imports. Les bloquants tardifs se trouvaient précisément dans ce domaine.

Vérifiez aussi la gestion du texte. La liste de compatibilité de TechPulse cite le mode UTF-8 et les imports paresseux comme les deux plus grands risques de la mise à niveau. Avec UTF-8 activé par défaut, le code qui s'appuyait sur l'encodage de texte par défaut du système peut lire ou écrire des fichiers différemment. Les machines Windows configurées sans UTF-8 sont l'endroit habituel où cela se manifeste.

Si vous maintenez un paquet avec des extensions compilées, construisez vos wheels avec la rc3. L'ABI est désormais figée, donc les wheels construites aujourd'hui devraient s'installer sur la version finale. Vous pourrez ainsi publier la prise en charge de 3.15 le jour de la sortie.

Organisez votre calendrier de mise à niveau autour de la nouvelle date. Python 3.10 est arrivé en fin de vie le 1er octobre. Les équipes qui le quittent peuvent viser 3.14 dès maintenant, ou attendre la 3.15.0 le 9 octobre.

Sources

  1. Python 3.15.0 candidate 3 is here! - Python Insider
  2. Python 3.15: following tradition, let's have a surprise rc3! - Discussions on Python.org
  3. Python Release Python 3.15.0rc3 - Python.org
  4. Python 3.15 RC3: Upgrade Compatibility Checklist - TechPulse

Articles liés