# Changelog — HormoneTrack Format : [Keep a Changelog](https://keepachangelog.com/fr-FR/1.1.0/). Versionnage : [SemVer](https://semver.org/). ## [1.1.0] — 2026-09-05 (versionCode 2) ### Corrigé - **Courbes EEn plates à zéro** (le bug rapporté : « les graphiques ne se génèrent pas »). Cause : casse des clés de profils — l'asset JSON (verbatim du `.ods`) contient `"EEn_ese"`/`"EEn_tfs"` (n minuscule) alors que la constante `Esters.EEN = "EEN"` ; le lookup exact échouait silencieusement → `sample() = 0` pour **tous** les traitements EEn (EV et EU marchaient, ce qui masquait le bug). Fix : lookup **insensible à la casse** dans `PKProfileStore` (`lookup()`), test de régression épinglé sur les données réelles de l'utilisatrice (`RegressionUserCaseTest`, export v1.0.0 fourni). - **Unités de testostérone** : les labs T pouvaient être saisis en ng/dL (cas réel : 33 et 44 ng/dL). L'axe T du chart mélangeait alors des ng/dL avec des estimations en ng/mL (erreur ×100, courbe T invisible) et la calibration T aurait été faussée d'un facteur 100. Fix : `PharmacokineticEngine.convertTToNgMl()` (ng/dL → ×0,01 ; ng/L → ×0,001 ; nmol/L → ×0,2884 ; ng/mL inchangé), appliqué à l'affichage (à intégrer dans le rendu du chart) et à la calibration. ### Ajouté - **Édition des doses** (le bug rapporté : « on ne peut pas modifier les entrées d'injection ») : appuyer sur une ligne de l'écran Doses ouvre le dialog en mode édition (traitement, dose, date/heure, notes) → enregistre sans recréer. - **Choix de l'ester par injection** dans le dialog de dose (comme dans le `.ods`) : « Défaut (EEn) », EV, EU, EEn — override stocké par dose, utilisé par le moteur PK. - 6 tests de régression sur les données réelles de l'utilisatrice (30 tests au total). ### Technique - `versionCode 2`, `versionName 1.1.0` ; APK debug régénérée. ## [1.0.0] — 2026-09-05 (versionCode 1) Première version fonctionnelle : - Courbes estimées E2/T heure par heure (24 h / 7 j / 30 j), modèles **Estrannaise** et **Transfem Science** (tables horaires extraites de `Estrogen.ods` : EV/EU/EEn) - Modèle Bateman paramétrable (gel/patch/oral) - Log des doses, analyses de sang, calibration (facteur d'échelle médian lab÷prédiction) - Estimation T empirique calibrable - Rappels quotidiens (alarmes exactes) avec actions « Pris » / « Reporter 1 h », notifications remontant sur Huawei Watch GT 3 (Gadgetbridge ou Huawei Health) - Sauvegarde/Restauration JSON (SAF), FR/EN (langue par app), 100 % local - 24 tests unitaires (moteur PK, profils ODS, round-trip backup)