From 41f5319b670149a494c6a1102a63c092bc13fb58 Mon Sep 17 00:00:00 2001 From: Matthieu Date: Wed, 4 Mar 2026 10:00:18 +0100 Subject: [PATCH] chore(changelog) : add v1.7.0 and v1.8.0 entries Co-Authored-By: Claude Opus 4.6 --- app/pages/changelog.vue | 33 ++++++++++++++++++++++++++++++++- 1 file changed, 32 insertions(+), 1 deletion(-) diff --git a/app/pages/changelog.vue b/app/pages/changelog.vue index 35d2a1b..7bcaf25 100644 --- a/app/pages/changelog.vue +++ b/app/pages/changelog.vue @@ -69,6 +69,37 @@ const badgeClass = (type: ChangeType) => { } const releases: Release[] = [ + { + version: 'v1.8.0', + date: '2026-03-03', + changes: [ + { type: 'feat', text: 'Stockage des documents sur le système de fichiers au lieu de Base64 en base de données, avec endpoints dédiés pour servir et télécharger les fichiers' }, + { type: 'feat', text: 'Pagination serveur sur la page Documents avec recherche, tri (date/nom/taille), filtre par rattachement et sélecteur d\'éléments par page' }, + { type: 'feat', text: 'Compression PDF automatique à l\'upload via Ghostscript, avec commande pour compresser les PDFs existants' }, + { type: 'feat', text: 'Champ description sur les pièces et composants, visible dans les catalogues avec popover au survol' }, + { type: 'feat', text: 'Commande de migration app:migrate-documents-to-filesystem pour migrer les documents existants (Base64 → fichiers)' }, + { type: 'fix', text: 'Normalisation des documents : fileUrl et downloadUrl toujours exposés dans l\'API' }, + { type: 'fix', text: 'Édition de squelettes machines : correction du conflit UniqueEntity et de l\'interférence du désérialiseur' }, + { type: 'fix', text: 'Sites : ajout de l\'opération PATCH et correction de la migration de contrainte' }, + { type: 'chore', text: 'Réorganisation de la navbar avec nouvelles icônes Lucide' }, + ], + }, + { + version: 'v1.7.0', + date: '2026-03-02', + changes: [ + { type: 'feat', text: 'Système de commentaires / tickets : possibilité de laisser des commentaires sur les fiches (machines, pièces, composants, produits, catégories, squelettes) avec résolution par les gestionnaires' }, + { type: 'feat', text: 'Page commentaires centralisée (/comments) avec filtres par statut, type d\'entité, pagination et liens cliquables vers les fiches' }, + { type: 'feat', text: 'Badge notifications : compteur de commentaires ouverts sur l\'avatar utilisateur et dans le menu profil (polling 60s)' }, + { type: 'feat', text: 'Contrôle d\'accès par rôles : ROLE_ADMIN, ROLE_GESTIONNAIRE, ROLE_VIEWER avec permissions granulaires sur toutes les pages' }, + { type: 'feat', text: 'Journal d\'audit étendu : suivi des opérations sur machines, fournisseurs, types de modèles, documents et conversions' }, + { type: 'feat', text: 'Commande app:init-profile-passwords pour l\'initialisation en masse des mots de passe et rôles' }, + { type: 'fix', text: 'Toggle switch pour les champs personnalisés booléens (remplace les checkboxes)' }, + { type: 'fix', text: 'Recherche fournisseur : filtrage côté client au lieu d\'appels API debounce' }, + { type: 'fix', text: 'Prévention des doublons de noms de fournisseurs et de références de pièces (contraintes unique)' }, + { type: 'fix', text: 'Correction de la création de squelettes machines : pagination, duplication, champs personnalisés' }, + ], + }, { version: 'v1.6.1', date: '2026-02-12', @@ -171,7 +202,7 @@ const releases: Release[] = [ { type: 'feat', text: 'Gestion des fournisseurs multiples avec résolution automatique des noms' }, { type: 'feat', text: 'Exigences produit sur les pièces : support de liaisons multiples' }, { type: 'feat', text: 'Sélections de composants sur les pièces avec recherche dynamique' }, - { type: 'feat', text: 'Système de sessions utilisateurs avec authentification JWT' }, + { type: 'feat', text: 'Système de sessions utilisateurs avec authentification par cookie' }, { type: 'feat', text: 'Mémorisation des préférences de tri par catalogue (cookies)' }, { type: 'feat', text: 'Formatage automatique des contacts et des montants en format français' }, { type: 'feat', text: 'Protection contre les suppressions : affichage des dépendances bloquantes avant confirmation' },