veilletech.fr
23 sept. Feed du jour
#05 OUTILS Article

Git 3.0 arrive en avril 2027, SHA-256 par défaut

Quarante caractères, c'était SHA-1. Vos scripts savent-ils compter jusqu'à soixante-quatre ?

Le calendrier est fixé : Git 2.98 en décembre 2026, puis 2.99, maintenue au long cours, et 3.0 ensemble en avril 2027. La 3.0 passe les nouveaux dépôts en SHA-256 et en reftable, et rend Rust obligatoire pour compiler Git. GitHub ne gère pas encore SHA-256 ; les dépôts SHA-1 restent pris en charge.

3 min de lectureintermédiairevidéo 1:18
Partager
Sommaire6 sections
  1. Ce qui se passe
  2. Ce qui change par défaut en 3.0
  3. Le point bloquant : forges et outils
  4. Comment s'y préparer
  5. En attendant : Git 2.56
  6. À retenir

Ce qui se passe

Git 2.56 est en version candidate et doit sortir fin septembre 2026. Mais l'article de LWN regarde surtout plus loin : début septembre, le mainteneur Junio Hamano a demandé si la version suivante devait être la 3.0, avec ses ruptures de compatibilité. Une mise à jour de l'article donne le plan retenu, exposé par Patrick Steinhardt à Kernel Recipes :

Date Version Rôle
décembre 2026 2.98 annonce que la transition arrive
avril 2027 2.99 version maintenue au long cours
avril 2027 3.0 base de toutes les versions suivantes

Ce qui change par défaut en 3.0

Les dépôts en SHA-1 et sans reftable resteront entièrement pris en charge.

Le point bloquant : forges et outils

GitLab gère SHA-256 depuis 2024, Forgejo aussi. GitHub, pas encore — et publier un Git qui crée par défaut des dépôts incompatibles avec GitHub inquiète les développeurs du projet. brian m. carlson, employé de GitHub et moteur de la transition, a seulement indiqué que des nouvelles arrivaient. Côté bibliothèques, Patrick Steinhardt a ajouté reftable à libgit2, qui active SHA-256 par défaut depuis août ; JGit et Gitoxide sont prévenus depuis plus d'un an.

Ce qui risque de casser chez vous : les scripts qui supposent un identifiant de 40 caractères hexadécimaux (SHA-256 en compte 64), les outils qui lisent .git/refs/ directement, les bibliothèques tierces qui ignorent reftable.

Comment s'y préparer

Terminal
git init --object-format=sha256 --ref-format=reftable essai-git3
git -C essai-git3 rev-parse --show-object-format --show-ref-format

Faire passer hooks, scripts de déploiement et CI sur un tel dépôt révèle vite ce qui suppose encore SHA-1.

En attendant : Git 2.56

Plus de 700 commits hors fusions, sans bouleversement. À noter :

Source : Looking forward to Git 2.56 - and 3.0, LWN.net, septembre 2026 (lien d'abonné partagé, article mis à jour après Kernel Recipes).