SafeBite/CHANGELOG.md
Bruno Charest c4add0a3fe feat: add user testing plan for SafeBite app
- Created a comprehensive user testing plan document to validate the app's usability, reliability, accessibility, and resilience.
- Included various test scenarios covering onboarding, product scanning, manual barcode entry, and accessibility features.

chore: update dependencies for code quality tools

- Added ktlint version 12.2.0 for Kotlin code style enforcement.
- Added detekt version 1.23.7 for static code analysis.

chore: increment version numbers

- Updated MINOR version to 32 and CODE to 43 in version.properties to reflect recent changes.
2026-05-11 15:13:18 -04:00

112 lines
4.3 KiB
Markdown

# 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é