# Changelog Tous les changements notables de SafeBite seront documentés dans ce fichier. Le format est basé sur [Keep a Changelog](https://keepachangelog.com/fr/1.1.0/), et ce projet adhère au [Semantic Versioning](https://semver.org/spec/v2.0.0.html). ## [1.28.0] — 2026-05-11 ### Ajouté - **Haptic feedback sur le FAB Scanner** (15ms, distinct du scan 60ms) - **Saisie manuelle du code-barres** dans le Scanner (`AlertDialog` avec `OutlinedTextField`, validation 8-13 chiffres) - **Bouton "Voir les alternatives"** dans ResultScreen (visible si verdict != SAFE, navigation vers ProductDetail) - **Dashboard données réelles** : - Stats hebdomadaires (✅ % safe / ⚠️ warnings / ❌ dangers) - 5 derniers scans avec verdict, marque, temps relatif - 3 modes contextuels auto-détectés (FIRST_TIME / STORE / HOME) - **Animations stagger** sur les actions ResultScreen (fadeIn + slideInVertically, délais 0/50/100/150ms) - **Animation slide-up** sur le contenu ResultScreen (250ms, ease-out) - **Validation format code-barres** dans le Scanner (manuel) et BarcodeAnalyzer (ML Kit) ### Modifié - `DashboardViewModel` : injecte `GetScanHistoryUseCase`, calcule `WeeklyStats` - `DashboardScreen` : 3 layouts contextuels distincts (FirstTimeContent, StoreContent, HomeContent) - `ResultScreen` : nouveau callback `onOpenAlternatives`, composant `StaggeredAction` - `ScannerScreen` : état `manualCode` + `AlertDialog` saisie manuelle - `MainScreen` : `SafeBiteFab` avec retour haptique 15ms - `NavGraph` : navigation `ResultScreen.onOpenAlternatives` → `ProductDetail` ### Vérifié - Mode sombre : `StatusColors` light/dark correctement câblés dans `Theme.kt` - Contraste Material 3 conforme WCAG 2.1 AA --- ## [1.27.0] — 2026-05-10 ### Ajouté - **Catalogue** : écrans Catalog, DomainCategories, CategoryItems, CatalogSearch - **Gestion avancée des listes** : création, tri, région, nom/image, membres - **Splash screen** configurable - **Paramètres liste** : ListSettingsScreen, ListSortScreen, ListRegionScreen ### Modifié - Navigation enrichie : routes Catalog*, ListCreate, ListSettings* - `MainScreen` : bottom bar et FAB avec animations scale/fade/slide --- ## [1.2.0] — 2026-04-26 ### Ajouté - **Phase 9 — Préparation Release** - Configuration R8/ProGuard pour optimisation de la taille APK - Intégration de LeakCanary pour la détection de fuites mémoire (debug) - Infrastructure de tests UI Compose (androidTest) - Tests unitaires pour les UseCases (`GetAlternativesUseCaseTest`) - Tests unitaires pour les ViewModels (`ResultViewModelTest`) - Tests unitaires pour les Repositories (`ProductRepositoryImplTest`) - Dépendances de test : MockK, Turbine, Truth, JUnit, Compose Testing - Application ID suffix `.debug` pour les builds de développement ### Modifié - Activation de `isMinifyEnabled = true` pour les builds release - Activation de `isShrinkResources = true` pour les builds release - ProGuard rules améliorés pour Moshi, Retrofit, ML Kit ### Notes - Version 1.2.0 (code 3) prête pour internal testing - Taille APK optimisée grâce à R8 + ProGuard --- ## [1.1.0] — 2026-04-20 ### Ajouté - **Phase 8 — Tests & Validation** - Tests unitaires pour `HealthClassifier` (14 tests) - Validation de l'accessibilité (TalkBack, contrastes) - Tests UX (rotation écran, interruption téléphonique) ### Modifié - Amélioration de la couverture de tests (~40% global) --- ## [1.0.0] — 2026-04-15 ### Ajouté - **Phases 0-7 complétées** - Architecture Clean Architecture (MVVM + Hilt) - Navigation Compose avec bottom navigation (4 onglets) - Scanner code-barres (CameraX + ML Kit) - Verdict feu tricolore (🟢🟠🔴) - Dashboard contextuel - Listes intelligentes (création, filtrage, partage) - Suivi & Statistiques (graphiques, historique) - Profils famille (3 états allergie : aucun/traces/sévère) - Fiche produit détaillée (4 tabs : résumé, allergènes, additifs, alternatives) - Gestion des erreurs & cas limites (offline, OCR, permissions) - Accessibilité WCAG 2.1 AA (formes daltoniennes, TalkBack) --- ## Légende - `Ajouté` — Nouvelles fonctionnalités - `Modifié` — Changements dans des fonctionnalités existantes - `Supprimé` — Fonctionnalités retirées - `Corrigé` — Corrections de bugs - `Sécurité` — Améliorations de sécurité