← Retour aux téléchargements
# Changelog
Toutes les modifications notables du projet sont documentées ici.
Format inspiré de [Keep a Changelog](https://keepachangelog.com/fr/), versionnage voir `mobile/pubspec.yaml` (convention documentée dans `CLAUDE.md`).
## [0.3.1] — 2026-07-10
### Corrigé
- Cartes importées invisibles dans Collection tant que l'app n'était pas relancée (cache local de pagination non réinitialisé après un import en masse).
## [0.3.0] — 2026-07-10
### Ajouté
- **Import/export en masse de la collection**, pensé pour accepter le format le plus large possible : CSV avec en-tête (Moxfield, Deckbox, Manabox, Archidekt...), CSV sans en-tête, decklist Arena/MTGO (`4 Lightning Bolt (M10) 146`), ou simple liste de noms.
- **Sélection directe d'un fichier** `.csv`/`.txt` pour l'import — pas besoin de copier-coller le contenu à la main (toujours possible en repli).
- Export CSV de toute la collection, copiable en un tap.
- L'impression est résolue automatiquement (set + numéro si fournis, sinon la moins chère disponible) et les quantités s'additionnent à ce qui est déjà possédé — jamais de perte de données sur un import répété.
- Accessible depuis Collection via une nouvelle icône dédiée.
### Corrigé
- Nom de l'APK release incluant la version (`card_tracker-X.Y.Z-release.apk`) pour distinguer facilement les builds envoyés aux testeurs.
## [0.2.0] — 2026-07-09
Clôture du jalon M1 (Collection & Wishlist) : sous-collections avec répartition d'exemplaires, traduction FR/EN, vue plein écran par impression, et un nettoyage complet de l'ergonomie.
### Ajouté
- **Sous-collections** : ranger les cartes possédées dans des groupes nommés, avec création à la volée et filtre dédié.
- **Répartition d'exemplaires multiples** entre sous-collections — une impression peut désormais avoir plusieurs copies réparties (ex : 2 dans « Deck A », 2 non rangées) au lieu d'une seule appartenance globale.
- **Vue plein écran** avec zoom, accessible depuis chaque impression d'une carte (pas seulement l'impression par défaut).
- **Traduction FR/EN** du texte de carte, en overlay sur la vue plein écran (interroge Scryfall à la demande, pas de stockage local).
- **Vue grille sur l'écran Recherche** (déjà disponible sur Collection) — bascule liste/grille identique aux deux écrans.
- Le **mode de vue (liste/grille)** est mémorisé séparément par écran (Collection, Recherche) et survit au redémarrage de l'app.
### Modifié
- Interface épurée : barres d'en-tête redondantes avec la barre de navigation retirées sur les 5 écrans principaux (Accueil, Collection, Recherche, Wishlist, Decks) — compteurs et actions repositionnés dans le corps de page.
- Tuiles liste/grille réduites à l'essentiel (image, nom, actions) — couleurs, rareté, prix et nombre d'éditions renvoyés sur la fiche détail.
- Import Scryfall : exclusion des layouts non jouables (Art Series, jetons, emblèmes) qui généraient des doublons de cartes sans texte ni traduction possible.
### Corrigé
- Ajout/retrait d'une carte de la collection reflété immédiatement dans la liste, sans redémarrage ni saut de défilement.
- Traduction FR introuvable pour certaines cartes : Scryfall exige des en-têtes HTTP absents des requêtes, et l'impression choisie n'était pas toujours celle disposant d'une traduction.
- Message d'erreur de connexion illisible (exception brute affichée) remplacé par le message clair renvoyé par le serveur.
- Prix minimum réellement affiché sur les tuiles (au lieu du prix de la première impression par date de sortie).
- Limitation de débit (`throttle`) sur les routes d'authentification.
- `backend/.env.docker` n'est plus suivi par git (source de conflits à chaque déploiement serveur).
### Performance
- Cache Docker du build backend : la couche `composer install` n'est plus reconstruite à chaque déploiement quand les dépendances n'ont pas changé (~5 minutes → ~5 secondes sur build inchangé).
### Documentation
- Ajout d'un README de présentation du projet, corrections des informations périmées dans `SETUP.md`.
## [0.1.0] — 2026-07-07
- Renommage complet du projet (Dragon Tracker → CardTracker), le scope couvrant toutes les cartes MTG et non plus seulement les dragons.
- Socle initial : API Laravel (catalogue Scryfall, collection, wishlist) + application Flutter (recherche, collection, wishlist, decks).
- Adoption de la convention de versionnage alpha (`MAJOR` reste `0`).