Skip to content

2026.20-3b.3

Choose a tag to compare

@github-actions github-actions released this 16 Sep 13:07
· 104 commits to main since this release

Le bouton « Télécharger » ne renvoie plus vers le navigateur : SourceGit récupère
le paquet qui correspond à la machine, vérifie son empreinte, remplace les fichiers
installés et propose de redémarrer.

Base : SourceGit 2026.20, inchangée.

Aucune publication de ce fork ne permettait jusqu'ici de distinguer un téléchargement
tronqué d'un téléchargement complet. Le workflow de publication calcule maintenant un
fichier SHA256SUMS et l'attache aux dix paquets.

Il est calculé avant la création de la publication, parce que c'est la seule
occasion : une publication est immuable, et rien ne peut lui être ajouté après coup.

Ce que cette empreinte prouve, c'est qu'un paquet est arrivé intact. Elle ne dit pas
qui l'a produit — les sommes sont publiées à côté des fichiers qu'elles couvrent.
C'est le travail d'une signature, et ce fork n'a pas de clé.

Le paquet est choisi selon le système et l'architecture, téléchargé dans le cache,
comparé à son empreinte, puis posé sur l'installation.

Rien n'est jamais écrasé. Chaque fichier est d'abord renommé de côté, et le nouveau
copié dans le nom qui vient de se libérer — la même asymétrie qui permet de renommer un
exécutable en cours d'exécution mais jamais de le supprimer. Un échec en cours de route
défait les renommages : l'installation est l'ancienne ou la nouvelle, jamais un mélange.

Le redémarrage relâche le verrou d'instance unique avant de lancer. L'ordre inverse
a l'air de fonctionner et ne fonctionne pas : le nouveau processus passerait ses
arguments à l'ancien puis s'arrêterait, laissant l'ancienne version au premier plan.

Une installation par paquet. Un .deb ou un .rpm appartient au gestionnaire de
paquets. Aucun fichier n'est touché, et aucun téléchargement n'est proposé non plus :
donner un AppImage à qui a installé un paquet système répondrait à côté.

Un dossier où l'on ne peut pas écrire. Tranché en écrivant un fichier sonde, pas en
comparant à une liste de chemins protégés — qui manquerait la copie installée par un
autre compte.

Une empreinte qui ne correspond pas. Le téléchargement est supprimé. Il n'y a pas
d'« installer quand même ».

Cette version est la première à publier ses empreintes. Elle peut donc mettre à jour
vers les suivantes, mais aucune version antérieure ne pourra se mettre à jour vers elle
automatiquement : il n'y avait rien à vérifier.

Le remplacement sur place couvre Windows, le bundle macOS et l'AppImage. Les décisions
qui engagent des fichiers reçoivent le système, le chemin du processus et la variable
APPIMAGE en paramètres plutôt que de les lire, ce qui permet de les vérifier hors de la
plateforme concernée — mais seul le chemin Windows a été éprouvé en conditions réelles.

Empreinte sur les fichiers de l'amont : deux lignes modifiées et quatre ajoutées
dans un seul fichier XAML.

Le placement compact du graphe reste identique à l'octet près à celui de l'amont.

Une mise à jour qui remplace un exécutable n'a le droit d'exister que si elle sait
aussi refuser de le faire.