changelog.ts 8.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225
  1. export interface ChangelogEntry {
  2. version: string;
  3. date: string; // Format ISO: "2025-01-20"
  4. category: 'feature' | 'improvement' | 'bugfix' | 'security';
  5. title: string;
  6. description: string;
  7. details?: string[];
  8. }
  9. export const changelogData: ChangelogEntry[] = [
  10. {
  11. version: "1.10.0",
  12. date: "2026-01-16",
  13. category: "feature",
  14. title: "Thème sombre avec switch",
  15. description: "Ajout d'un mode sombre complet avec un switch de basculement accessible dans le header.",
  16. details: [
  17. "Composant ThemeToggle avec next-themes",
  18. "Switch accessible dans le header desktop et menu mobile",
  19. "Support du thème système par défaut",
  20. "Icônes dynamiques Soleil/Lune selon le thème actif",
  21. "Persistance du choix utilisateur dans le navigateur"
  22. ]
  23. },
  24. {
  25. version: "1.9.1",
  26. date: "2026-01-15",
  27. category: "security",
  28. title: "Sécurisation des tâches automatisées",
  29. description: "Mise en place d'une authentification sécurisée pour les cron jobs PostgreSQL.",
  30. details: [
  31. "Création de la table app_secrets pour les secrets applicatifs",
  32. "Protection RLS stricte (aucun accès direct possible)",
  33. "Authentification des fonctions trigger via x-cron-secret",
  34. "Lecture sécurisée des secrets via fonctions SECURITY DEFINER"
  35. ]
  36. },
  37. {
  38. version: "1.9.0",
  39. date: "2026-01-15",
  40. category: "improvement",
  41. title: "Automatisation des tâches planifiées",
  42. description: "Mise en place de cron jobs PostgreSQL pour automatiser la maintenance de la base de données.",
  43. details: [
  44. "Cron jobs PostgreSQL avec extension pg_cron",
  45. "Récupération automatique des flux RSS toutes les 10 minutes",
  46. "Purge automatique des anciens articles à 3h du matin",
  47. "Fonctions trigger dédiées (trigger_fetch_all_feeds, trigger_purge_articles)",
  48. "Rapport de purge envoyé par email aux administrateurs"
  49. ]
  50. },
  51. {
  52. version: "1.8.4",
  53. date: "2026-01-13",
  54. category: "security",
  55. title: "Protection renforcée des données",
  56. description: "Renforcement des politiques de sécurité pour protéger les données sensibles.",
  57. details: [
  58. "Authentification requise pour accéder aux articles",
  59. "Protection de la table super_users contre les accès directs",
  60. "Vérification du statut admin via fonction is_super_user()",
  61. "Renforcement des politiques RLS existantes"
  62. ]
  63. },
  64. {
  65. version: "1.8.3",
  66. date: "2026-01-06",
  67. category: "bugfix",
  68. title: "Correction de l'affichage des noms de source",
  69. description: "Correction du décodage HTML et de la mise en page des badges source dans les cartes d'articles.",
  70. details: [
  71. "Décodage des entités HTML dans les noms de source (ex: ' → ')",
  72. "Limitation de la largeur du badge source avec troncature",
  73. "Ajout d'un tooltip pour afficher le nom complet au survol",
  74. "Amélioration de la stabilité de la mise en page"
  75. ]
  76. },
  77. {
  78. version: "1.8.2",
  79. date: "2026-01-05",
  80. category: "improvement",
  81. title: "Renommage de la page Flux",
  82. description: "La page 'Gestion des flux' a été renommée en 'Flux disponibles' pour plus de clarté.",
  83. details: [
  84. "Nouveau titre : 'Flux disponibles'",
  85. "Mise à jour des liens de navigation (desktop et mobile)",
  86. "Sous-titre adapté pour les utilisateurs connectés"
  87. ]
  88. },
  89. {
  90. version: "1.8.1",
  91. date: "2025-12-20",
  92. category: "bugfix",
  93. title: "Affichage des miniatures YouTube",
  94. description: "Correction de l'affichage des miniatures pour les vidéos YouTube dans les cartes d'articles.",
  95. details: [
  96. "Les miniatures YouTube s'affichent maintenant dans les cartes",
  97. "Normalisation des types de flux RSS (rss-manual/rss-auto → rss)",
  98. "Icônes de catégorie correctement affichées"
  99. ]
  100. },
  101. {
  102. version: "1.8.0",
  103. date: "2025-12-17",
  104. category: "improvement",
  105. title: "Amélioration de la purge des articles",
  106. description: "Refonte de la logique de suppression automatique des anciens articles pour une meilleure rétention du contenu pertinent.",
  107. details: [
  108. "Critère basé sur last_seen_at (non vu dans le flux RSS depuis 48h)",
  109. "Protection de tous les articles consultés par au moins un utilisateur",
  110. "Suppression du critère arbitraire des 20 lectures minimum",
  111. "Meilleure préservation du contenu engageant"
  112. ]
  113. },
  114. {
  115. version: "1.7.0",
  116. date: "2025-12-03",
  117. category: "feature",
  118. title: "Pagination des articles",
  119. description: "Ajout d'un système de pagination sur la page d'accueil pour améliorer la navigation.",
  120. details: [
  121. "Affichage de 20 articles par page",
  122. "Navigation intuitive avec boutons Précédent/Suivant",
  123. "Indicateur de page courante et nombre total",
  124. "Réinitialisation automatique lors du changement de filtres",
  125. "Suppression des notifications 'Article marqué comme lu'"
  126. ]
  127. },
  128. {
  129. version: "1.6.0",
  130. date: "2025-12-03",
  131. category: "improvement",
  132. title: "Optimisations de performance",
  133. description: "Amélioration significative des performances et de la qualité du code.",
  134. details: [
  135. "Memoization du décodage HTML avec cache LRU",
  136. "Lazy loading des images pour un chargement plus rapide",
  137. "Suppression des logs de debug en production",
  138. "Amélioration du typage TypeScript",
  139. "Optimisation des calculs de filtres avec useMemo"
  140. ]
  141. },
  142. {
  143. version: "1.5.0",
  144. date: "2025-12-02",
  145. category: "security",
  146. title: "Renforcement de la sécurité RLS",
  147. description: "Correction et amélioration des politiques de sécurité Row Level Security.",
  148. details: [
  149. "Restriction des modifications de flux aux super-utilisateurs",
  150. "Protection de la table super_users contre les accès non autorisés",
  151. "Correction des accès null-safe sur les données utilisateur",
  152. "Gestion des erreurs localStorage améliorée"
  153. ]
  154. },
  155. {
  156. version: "1.4.0",
  157. date: "2025-01-14",
  158. category: "improvement",
  159. title: "Interface mobile optimisée et filtrage amélioré",
  160. description: "Refonte complète du header pour mobile avec menu hamburger et amélioration du système de filtrage des flux.",
  161. details: [
  162. "Header responsive avec menu hamburger sur mobile",
  163. "Navigation optimisée pour tablettes et smartphones",
  164. "Filtrage automatique des flux désactivés",
  165. "Affichage par défaut des flux suivis pour les utilisateurs connectés",
  166. "Amélioration de l'expérience utilisateur sur tous les écrans"
  167. ]
  168. },
  169. {
  170. version: "1.3.0",
  171. date: "2025-01-20",
  172. category: "feature",
  173. title: "Détection automatique de flux RSS",
  174. description: "Ajout d'une fonctionnalité pour détecter automatiquement les flux RSS d'un site web lors de l'ajout d'un nouveau flux.",
  175. details: [
  176. "Détection automatique des flux RSS/Atom",
  177. "Support de plusieurs flux sur un même site",
  178. "Pré-remplissage automatique du nom du site",
  179. "Gestion des erreurs avec messages informatifs"
  180. ]
  181. },
  182. {
  183. version: "1.2.0",
  184. date: "2025-01-19",
  185. category: "improvement",
  186. title: "Pages 410 Gone pour anciennes URLs",
  187. description: "Mise en place de redirections intelligentes et pages 410 pour améliorer le SEO et gérer les anciennes URLs indexées.",
  188. details: [
  189. "Redirections 301 pour /flux/youtube-* vers /feeds",
  190. "Redirections 301 pour /account/* vers /auth",
  191. "Page 410 Gone pour les contenus définitivement supprimés",
  192. "Mise à jour du robots.txt"
  193. ]
  194. },
  195. {
  196. version: "1.1.0",
  197. date: "2025-01-15",
  198. category: "improvement",
  199. title: "Amélioration des notifications par email",
  200. description: "Configuration du domaine notifications.duhaz.fr pour l'envoi d'emails de purge.",
  201. details: [
  202. "Domaine personnalisé pour les emails",
  203. "Amélioration de la délivrabilité",
  204. "Templates d'emails optimisés"
  205. ]
  206. },
  207. {
  208. version: "1.0.0",
  209. date: "2025-01-10",
  210. category: "feature",
  211. title: "Lancement de Feeds.Duhaz.fr",
  212. description: "Première version publique du site avec toutes les fonctionnalités de base.",
  213. details: [
  214. "Gestion complète des flux RSS et Atom",
  215. "Détection automatique des chaînes YouTube",
  216. "Système d'épinglage d'articles",
  217. "Filtres par catégorie et date",
  218. "Authentification utilisateur sécurisée",
  219. "Mode lecture avec articles lus/non lus",
  220. "Interface responsive et moderne",
  221. "Support du dark mode"
  222. ]
  223. }
  224. ];