Tags give the ability to mark specific points in history as being important
-
3.12.0
2964a8b5 · ·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
618cf598 · ·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
6bea9735 · ·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
4f1b3885 · ·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
51e3a198 · ·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
f2d5aecb · ·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
b0b7164f · ·Notifications Discord : relie ton défi à un salon Discord via un webhook pour y recevoir automatiquement ses temps forts
-
3.5.0
f7756570 · ·Formulaire de feedback : stockage en base et administration (bug / idée / message / avis)
-
3.4.0
aac4fa1e · ·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
a09e0ec3 · ·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
03acb4b7 · ·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
1ce723a1 · ·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
36eb8f8f · ·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
a9371e88 · ·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
7dba74e3 · ·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.
-
2.1.0
20ce2f73 · ·2.1.0 - Notification de mi-parcours des lectures communes (progression de chaque membre) - Lectures communes privées autorisées désormais visibles dans la liste par défaut - Suppression d'une lecture commune refusée lorsqu'elle a des membres - Administration : réattribution du créateur d'une lecture commune - Notifications push plus fiables : contrôle de cohérence des clés VAPID au démarrage et purge automatique des abonnements invalides
-
2.0.0
33f076e3 · ·Lectures communes - Lire un même livre à plusieurs : création, découverte et participation - Suivi de l'avancement de chaque membre - Fil de discussion ancré à l'avancement (anti-spoiler), avec mise en forme, réponses et suppression - Notifications : démarrage et fin d'une lecture commune, nouveaux participants, et réponses à vos commentaires
-
1.22.0
cc6f4e09 · ·1.22.0 - Notification push de mi-parcours d'un challenge, avec la progression personnelle de chaque participant (coup de pouce si aucun livre ajouté) - Filtre des statistiques par statut de participation (Ajouté / En cours / Terminé / Abandonné), combinable avec le filtre par groupe, sur les stats du challenge et du participant
-
1.21.2
8dd61267 · ·Version 1.21.2 - Endpoint de santé /actuator/health (Spring Boot Actuator) pour le monitoring de disponibilité : renvoie 200 {"status":"UP"} si l'API et PostgreSQL répondent, 503 si la base est injoignable. Ouvert sans authentification, indicateurs mail et ssl désactivés pour éviter les fausses alertes. -
1.21.1
5694415e · ·Corrige le montage du volume Postgres prod (parent /var/lib/postgresql, volume nommé bcc-pgdata) et active restart: unless-stopped sur app et bcc-db, suite à l'incident reboot OVH du 2026-07-09.