-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathversion.properties
More file actions
47 lines (47 loc) · 3.63 KB
/
Copy pathversion.properties
File metadata and controls
47 lines (47 loc) · 3.63 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
# Source unique de vérité de la version publiée.
#
# versionCode DOIT être strictement croissant : Android refuse d'installer un APK dont le
# versionCode est inférieur à celui déjà installé — l'utilisateur voit juste un échec incompréhensible.
#
# Il était auparavant dérivé de `git rev-list --count HEAD`. Deux défauts mesurés le 2026-08-08 :
# - un rebase, un squash ou une greffe d'historique le fait BAISSER, ce qui casse la mise à jour
# de toutes les installations existantes ;
# - un build hors dépôt git (archive source, tarball F-Droid) retombait SILENCIEUSEMENT à 1.
# Vérifié : `git archive` + `assembleRelease` produisait versionCode=1 sans un mot.
#
# Le figer ici le rend explicite, reproductible et indépendant de l'historique. C'est aussi ce qui
# permet à F-Droid de lire la version par regex (`UpdateCheckData`) au lieu d'y renoncer.
#
# À bumper À LA MAIN à chaque release (et seulement là), avant de builder l'APK.
# Le fichier nomme la DERNIÈRE VERSION PUBLIÉE, pas la prochaine : il se bumpe au moment de la
# release, jamais avant. Un `main` qui annonce une version inexistante est un piège pour quiconque
# construit depuis les sources.
# 280 = la v1.27.4 publiée (release GitHub du 08/08/2026) — dernier versionCode issu du compte de commits.
# 281 = la v1.27.5 : retrait du plugin foojay-resolver de settings.gradle.kts, ce qui rend le
# build REPRODUCTIBLE, et retrait du bloc « Dependency metadata » que AGP destinait a la
# console Play. Aucun changement fonctionnel. Meme traitement qu'Agenda Tech v1.0.2/1.0.3,
# ou la mesure a montre que la seule presence de foojay changeait classes.dex.
# 282 = la v1.27.6 : `keepDebugSymbols` sur libdatastore_shared_counter.so. La verification
# F-Droid de la 1.27.5 echouait sur ces SEULS fichiers — classes.dex etait identique.
# AGP les strip avec l'outil du NDK, et leur buildserver n'a pas le meme NDK. En gardant
# les symboles, le .so est recopie tel quel depuis l'AAR. Aucun changement fonctionnel.
# 283 = la v1.27.7 : metadonnees F-Droid uniquement. La description fastlane etait ecrite en
# Markdown (soulignements Setext) que leur controle rend en <h1>, il manquait l'icone de
# store, et surtout la description annoncait encore une traduction par Google ML Kit —
# retire depuis la v1.7.0 — ainsi qu'une connexion aux serveurs Google que l'app ne fait
# plus. L'ecran « A propos » de l'app, lui, disait deja juste. Ajoute aussi
# `vcsInfo { include = false }`. Aucun changement fonctionnel.
# 284 = la v1.27.8 : le bouton flottant « Ajouter un numero » de l'ecran des numeros bloques
# etait MUET pour un lecteur d'ecran. material3 1.4.0 enveloppe le slot `text` de
# ExtendedFloatingActionButton dans un clearAndSetSemantics : le libelle est dessine mais
# absent de l'arbre fusionne. Mesure sur le S9 : NAF="true" sur ce noeud. Nom accessible
# pose sur le BOUTON.
# 285 = la v1.27.9 : la SAISIE des champs de recherche etait cassee. Leur `value` revenait par
# StateFlow via collectAsStateWithLifecycle — et, sur la liste des conversations, APRES le
# debounce de 200 ms — donc le champ se faisait reappliquer une valeur perimee ET la
# position de curseur qui va avec. Mesure au clavier sur le S9 en 1.27.8 : « christine »
# donnait `hrrrttttc`, et trois appuis sur « effacer » retiraient des lettres au MILIEU du
# mot. Le texte saisi vit desormais en etat Compose, lu directement par le champ ; les flux
# de filtrage en derivent par snapshotFlow. Le debounce est conserve, pour le filtrage seul.
versionCode=285
versionName=1.27.9