Tags

Tags give the ability to mark specific points in history as being important
  • 3.16.1

    3.16.1
    
    Corrections :
    - Une violation de contrainte en base ne renvoie plus la requête SQL à l'utilisateur : message générique en français, détail dans les logs.
    - Le nom d'un groupe (challenge et pile à lire commune) est limité à 100 caractères avec un message clair.
  • 3.16.0

    3.16.0
    
    Nouveautés :
    - Corrections de livres : proposition par les lecteurs (titre, auteurs, éditeur, années, pages, langue, synopsis), relecture par un administrateur, notification push au proposant, traçabilité des champs corrigés à la main (migration V62).
    - Corrections d'auteurs : nationalité (1 à 3 pays) et genre, même circuit de relecture ; catalogue des pays (GET /countries) ; l'enrichissement Wikidata/BnF ne réécrase plus un champ corrigé (migration V63).
    - Administration : aperçu du tableau de bord (GET /admin/overview) remplaçant /admin/stats.
    - Éditeurs retrouvés sans tenir compte de la casse.
    
    Technique :
    - Socle commun des propositions de correction.
    - Mises à jour Gradle 9.8.1, Flyway 13.10.3, image Docker 29.9.0.
  • 3.15.0

    Notifications de palier de progression dans les lectures communes : chaque
    membre est prévenu, en trois digests quotidiens (10h, 14h, 19h05), des paliers
    franchis par les autres — début de lecture, 25 %, 50 %, fin. Un message par
    lecture commune, construit par destinataire et privé de son propre palier.
    Relais sur Discord listant tous les franchisseurs. Marqueur de palier par
    membre amorcé à l'état courant par la migration V61, traitement isolé dans une
    transaction par lecture commune.
    
    Rebranchement de Flyway, resté inopérant depuis la montée en Spring Boot 4 :
    les migrations ne s'exécutaient plus, l'auto-configuration ayant été sortie du
    cœur vers un module dédié.
  • 3.14.0

    3.14.0
    
    Authentification exigée par défaut sur l'API, avec réouverture en lecture
    seule des événements de lecture et de leur contenu : un lien partagé s'ouvre
    sans compte, privé compris. Autorisations d'objet sur les groupes,
    participations, participants et bannières. Distinction 401 / 403. Règle unique
    de visibilité des événements privés, administrateurs inclus. Limite à un seul
    fond de partage, ancrage annoncé des réponses de lecture commune. Montée en
    version majeure de Spring Boot et des dépendances.
  • 3.13.0

    3.13.0
    
    - Bilan de fin de défi envoyé par e-mail au créateur le lendemain du dernier
      jour, en texte et en HTML (logo embarqué, bannière du défi), coupable depuis
      le profil.
    - Suivi entre lecteurs : entité Follow (migration V60), endpoints suivre /
      ne plus suivre / mes abonnements. Aucun compteur, aucune liste d'abonnés.
    - Tri des participants d'un défi par lecteurs suivis, en SQL pour rester
      compatible avec la pagination.
    - Lectures en cours des lecteurs suivis, avec l'événement rattaché, sa
      bannière résolue et sa couleur.
  • 3.12.0

    3.12.0
    
    - Les statistiques d'un profil couvrent les trois types de défi : challenges,
      lectures communes et piles à lire communes. Les statuts propres à chaque
      source sont ramenés à ceux d'une participation selon la correspondance déjà
      appliquée par la propagation de progression.
    - Nouveau filtre eventType sur les statistiques d'un profil et sur la liste de
      livres du drill-down, combinable avec le filtre de statut.
    - Déduplication par œuvre (titre + premier auteur) entre les sources : un même
      roman lu dans un défi et en lecture commune n'est plus compté deux fois.
    - Les statistiques d'auteur de BookDistributionService prennent des livres
      plutôt que des participations ; les stats de challenge et de participation
      gardent leur comportement.
  • 3.11.0

    3.11.0
    
    - Statistiques d'un profil filtrables par statut de participation, et exposition
      de l'auteur le plus présent et du nombre d'auteurs distincts, tous défis
      confondus.
    - Compteurs de progression d'un participant sur les listes filtrées : livres et
      livres terminés d'un défi, progression d'une lecture commune.
    - Nouvel endpoint des lectures en cours d'un profil, réunissant challenges,
      lectures communes et piles à lire ; les événements privés restent réservés au
      lecteur concerné.
    - La page saisie sur un commentaire de lecture commune est désormais conservée,
      à côté du pourcentage (migration V58).
    - Correctif : un filtre de recherche sans résultat n'efface plus les filtres
      suivants.
  • 3.10.0

    3.10.0
    
    Suggestions de livres par tags de groupe
    - Nouvel endpoint de suggestions pour un groupe, à partir de ses tags :
      classement par nombre de tags correspondants puis par lecteurs distincts,
      tags motivants renvoyés, filtre optionnel par tags appliqué en base.
    - Périmètre restreint aux événements publics (pas de fuite des défis privés)
      et utilisateur déduit du jeton, uniquement pour écarter ses propres livres.
    
    Tri de la liste des participants
    - Paramètre de tri validé sur l'endpoint, tri au niveau service/repository,
      ordre secondaire pour fiabiliser la pagination, correction du tri agrégé
      sur PostgreSQL, retrait des méthodes de listing remplacées.
    
    Progression via les commentaires de lecture commune
    - Un commentaire sur une page non atteinte fait avancer la progression,
      bornée au total de pages ; page ignorée sur une réponse ; utilisateur
      déduit du membre pour écrire sa progression ; calcul de pourcentage
      redevenu pur.
    
    Dépendances
    - Flyway 13 (majeure) avec alignement de flyway-database-postgresql,
      Gradle 9.7.1, google-api-client 2.9.1.
  • 3.9.0

    3.9.0
    
    Nouveautés
    - Mise en avant des événements de lecture : drapeau « à la une » sur les
      challenges, lectures communes et piles à lire communes (migration V57),
      modification partielle en administration et exposition des événements
      mis en avant.
    
    Améliorations
    - Messages de validation lisibles et en français renvoyés au client, y
      compris pour les erreurs de niveau objet.
    - Limites de longueur explicites : 2000 caractères pour les descriptions
      (challenge, groupe, groupe de PAL Commune), 500 pour les commentaires
      de participation et de livre d'une PAL Commune.
  • 3.8.0

    3.8.0
    
    Corrections
    - Exclure les challenges clos du calcul des lectures en cours : un livre
      terminé dans un challenge dont la période est passée ne remonte plus
      comme lecture en cours sur l'accueil et le profil.
    - Extraire la règle « événement actif aujourd'hui » dans ReadingEvent
      (source unique partagée par les calculs qui en dépendent).
  • 3.7.0

    Groupes de PAL Commune : le créateur peut organiser les livres de sa pile en groupes, choisis à l'ajout du livre ; correction de la perte des tags sur les sous-groupes de challenge
  • 3.6.0

    Notifications Discord : relie ton défi à un salon Discord via un webhook pour y recevoir automatiquement ses temps forts
  • 3.5.0

    Formulaire de feedback : stockage en base et administration (bug / idée / message / avis)
  • 3.4.0

    3.4.0
    
    - Exposer l'endpoint des challenges en cours contenant un livre (#186)
    - Exposer l'identifiant et le nom de la lecture commune sur l'adhésion (#186)
    - Synchroniser le statut du livre dans les défis et PAL communes en cours depuis l'avancement, l'abandon et la reprise d'une lecture commune (#191)
  • 3.3.0

    Version 3.3.0
    
    - Socle de reconnaissance des donateurs Ko-fi (code de liaison, endpoint /donors)
    - Listing public des soutiens consentants et messages publics
    - Consentement d'affichage public (opt-in)
    - Sécurité : verrouillage des champs sensibles d'AppUser contre l'injection
    - Gradle 9.7.0, image Docker 29.7.1
  • 3.2.0

    Version 3.2.0 — Tirage au sort de la prochaine lecture
    
    - Nouvel endpoint GET /api/v1/next-read/candidates : renvoie, pour
      l'utilisateur courant, les livres non encore lus de ses défis en
      cours (statut Ajouté) et de ses piles à lire communes en cours
      (Non lu), pour alimenter le tirage au sort côté client.
  • 3.1.0

    Version 3.1.0
    
    - Fonds de partage : le créateur d'un challenge peut uploader jusqu'à 5 images de fond, exposées dans le détail du challenge (backlog#181)
    - Piles à lire communes : les membres par statut (lu / en cours / abandonné) sont exposés par livre pour l'affichage des avatars (backlog#180)
    - Notation en demi-étoiles : les notes passent en décimal (0,5 à 5)
    - Lectures communes : possibilité d'abandonner un livre sans quitter la lecture commune
    - Interne : alignement dev sur Flyway/validate
  • 3.0.0

    3.0.0 — Piles à lire communes (PAL) : nouveau type de défi. API de gestion des piles partagées (livres, membres, statut de lecture par membre, note, commentaire et édition par livre).
  • 2.2.0

    2.2.0
    
    - Notation des lectures communes : noter un livre (1 à 5 étoiles) une fois la lecture commune terminée ; la note rejoint aussi le livre dans les challenges en cours
    - Finir une lecture commune (100 %) passe automatiquement le livre en « Terminé » dans les challenges en cours
    - Le statut d'un livre est de nouveau modifiable dans un challenge terminé
    - Ordre stable des livres d'un groupe, cohérent entre la vue d'ensemble et la vue d'un participant
  • 2.1.1

    2.1.1
    
    - Corrige les notifications push sur Chrome et Android : l'envoi utilise désormais l'encodage aes128gcm (RFC 8291) exigé par FCM, au lieu de l'ancien format qui était rejeté. Les notifications ne fonctionnaient jusqu'ici que sur Firefox.