Back to login

Release Notes

v1.82.143

Changelog Chrono


Toutes les modifications notables de ce projet sont documentees dans ce fichier.

Le format est base sur Keep a Changelog.



v1.82.143 2026-02-15


Corrige

  • Fatal error in saveAiGlobalConfig: db_load needs array argument



v1.82.142 2026-02-15


Corrige

  • UTF-8 corruption: stop replacing raw \xA0 byte in email content



v1.82.141 2026-02-15


Corrige

  • Handle Cloudflare 409 Duplicated Zone rule on email activation



v1.82.140 2026-02-15


Interface

  • Move AI config from Task Review to Options > Configuration IA



v1.82.139 2026-02-15


Corrige

  • Email webhook: conversion UTF-8 vers latin1 pour DB



v1.82.138 2026-02-15


Securite

  • Corrections mineures pre-deploiement



v1.82.137 2026-02-15


Ajoute

  • Entrypoint: auto-generation webhook secret + export env cron



v1.82.136 2026-02-15


Ajoute

  • Centraliser config IA dans planning_config (globale)

Base de donnees

  • Migration: update-1-82-136.sql




  • v1.82.135 2026-02-15


    Corrige

    • PDF sorties: afficher nom complet du technicien au lieu de M.NOM



    v1.82.134 2026-02-15


    Interface

    • Retrait badge IA du formulaire sortie, nature technique dynamique



    v1.82.133 2026-02-15


    Corrige

    • Webhook: utilise la date de l'email pour trouver la periode active



    v1.82.132 2026-02-15


    Interface

    • Retrait du tag IA/Auto dans la liste des sorties



    v1.82.131 2026-02-15


    Ajoute

    • Tag IA dans liste sorties + regles d'exclusion email par equipe

    Base de donnees

  • Migration: update-1-82-131.sql




  • v1.82.130 2026-02-15


    Corrige

    • Email processor: fix AI config loading and UTF-8 encoding



    v1.82.129 2026-02-15


    Corrige

    • Email regex: clean nbsp, smart site names, accent-safe incident detection



    v1.82.128 2026-02-15


    Ajoute

    • Email processing: LLM-first extraction with regex fallback

    Base de donnees

  • Migration: update-1-82-128.sql




  • v1.82.127 2026-02-15


    Corrige

    • Email config: address change handling, smart prefix, webhook URL



    v1.82.126 2026-02-15


    Experience utilisateur

    • Prefixe email editable + auto-calcul depuis equipes selectionnees



    v1.82.125 2026-02-15


    Ajoute

    • Mutualisation adresse email entre equipes



    v1.82.124 2026-02-15


    Ajoute

    • Email routing astreinte via Cloudflare Email Workers

    Base de donnees

  • Migration: update-1-82-124.sql




  • v1.82.123 2026-02-15


    Corrige

    • Entrypoint: create task_review.lock with www-data ownership



    v1.82.122 2026-02-15


    Corrige

    • Entrypoint: PHP migration detection uses initial DB version instead of post-SQL version



    v1.82.121 2026-02-15


    Corrige

    • Task review: LLM-detected anomalies (memo_personnel, etc.) now trigger review regardless of staleness score



    v1.82.120 2026-02-15


    Corrige

    • PHP migrations: Cannot redeclare runMigration() when multiple PHP migrations run sequentially



    v1.82.119 2026-02-15


    Corrige

    • Scoring LLM: staleness base sur age + merge max() pour taches normales



    v1.82.118 2026-02-15


    Corrige

    • LLM batch: fallback cle plaintext, timeout 90s, prompt BTP ameliore



    v1.82.117 2026-02-15


    Ajoute

    • Architecture LLM-First pour detection anomalies panier

    Corrige

    • Corrections revue code architecture LLM-First anomalies panier

    Base de donnees

  • Migration: update-1-82-117.sql




  • v1.82.116 2026-02-15


    Corrige

    • Ajout task_review_view_team dans formulaires utilisateur et bulk rights



    v1.82.115 2026-02-15


    Ajoute

    • Auto-popup modale review au premier affichage pour nouveaux utilisateurs



    v1.82.114 2026-02-15


    Corrige

    • Decoupler droits panier des droits task review + ajout task_review_view_team



    v1.82.113 2026-02-14


    Corrige

    • Protection db_query() dans checkPendingReviews + logging erreur SQL



    v1.82.112 2026-02-14


    Ajoute

    • Pagination modale review + retrait basket_manage_all du bouton Vue detaillee



    v1.82.111 2026-02-14


    Corrige

    • Decoupler droits panier des droits task review + visibilite par equipe



    v1.82.110 2026-02-14


    Ajoute

    • Filtres queue task review + enrichissement cartes



    v1.82.109 2026-02-14


    Ajoute

    • Suivi task review par utilisateur et par equipe dans stats



    v1.82.108 2026-02-14


    Ajoute

    • Auto-hygiene panier: 3 regles de nettoyage transparent



    v1.82.107 2026-02-14


    Ajoute

    • Rationalisation droits + uniformisation Notion formulaires modaux
    • Rationalisation gestion des droits sur les 3 formulaires

    Interface

    • Uniformise layout droits activites sur user_form et bulk_form
    • Uniformisation Notion des formulaires modaux



    v1.82.106 2026-02-14


    Ajoute

    • Droits task review assignables dans les profils



    v1.82.105 2026-02-14


    Ajoute

    • Classifieur 3 niveaux pour detection anomalies panier



    v1.82.104 2026-02-14


    Corrige

    • Smarty charset ISO-8859-1: corrige titres affiches "Sans titre"



    v1.82.103 2026-02-14


    Corrige

    • Task review: logging manquant pour auto-archive absences et sans-titre



    v1.82.102 2026-02-14


    Ajoute

    • Task review: onglet Historique des actions admin



    v1.82.101 2026-02-14


    Corrige

    • Task review: 7 anomalies corrigees par analyse multi-agents



    v1.82.100 2026-02-14


    Experience utilisateur

    • Task review: classification tags + auto-archive absences



    v1.82.99 2026-02-14


    Experience utilisateur

    • Task review: AI key warning, model suggestions, pagination, untitled cleanup



    v1.82.98 2026-02-14


    Corrige

    • Migration: prevent duplicate rows in staleness_model and review_config

    Base de donnees

  • Migration: update-1-82-97.sql




  • v1.82.97 2026-02-14


    Ajoute

    • Task review cron: AI enrichment activation
    • v1.82.97 Task review/charifage AI module

    Corrige

    • Task review: pre-merge fixes from final multi-agent analysis
    • Task review: ADM fallback also in manual scoring
    • Task review: orphan tasks fallback to admin ADM
    • Task review: 15 MEDIUM fixes from multi-agent analysis
    • Task review: 6 remaining HIGH fixes
    • Task review: 9 HIGH fixes from multi-agent analysis
    • Task review: 10 critical fixes from multi-agent analysis + manual scoring button

    Experience utilisateur

    • Move task review admin from modal to dedicated page
    • Use non-technical labels in task review config
    • Simplify task review config with presets and advanced mode

    Securite

    [Security][Fix] Task review: fix XSS, data loss, N+1 queries, duplicate IDs, Docker env leak

    Base de donnees

  • Migration: update-1-82-97.sql




  • v1.82.96 2026-02-13


    Corrige

    • Bandeau mise a jour: robustesse reconnexion, i18n et recovery
    • Bandeau mise a jour: eliminer les faux positifs hors-ligne/erreurs reseau



    v1.82.95 2026-02-13


    Ajoute

    • Amelioration gestion sessions et connexions

    Securite

    • Corrections critiques gestion sessions avant merge



    v1.82.94 2026-02-13


    Corrige

    • Correction filtre calendriers: Surete/Securite exclus a tort par 1.82.91



    v1.82.93 2026-02-13


    Corrige

    • Suppression activites astreinte + desactivation type ASTR

    Base de donnees

  • Migration: update-1-82-93.sql




  • v1.82.92 2026-02-13


    Corrige

    • Nettoyage calendriers orphelins et renommage propre

    Base de donnees

  • Migration: update-1-82-92.sql




  • v1.82.91 2026-02-13


    Corrige

    • Neutralise migration destructrice 1.82.89 + corrective 1.82.91

    Base de donnees

  • Migration: update-1-82-89.sql




  • v1.82.90 2026-02-13


    Corrige

    • db_fetch() inexistant remplace par db_fetch_array()



    v1.82.89 2026-02-13


    Corrige

    • GObject __isset manquant + nettoyage calendriers orphelins

    Base de donnees

  • Migration: update-1-82-89.sql




  • v1.82.88 2026-02-13


    Corrige

    • Affichage horaires calendrier pour activites multi-jours et journee complete



    v1.82.87 2026-02-13


    Corrige

    • Migration: exclure Sedentaire de la duplication calendriers



    v1.82.86 2026-02-13


    Corrige

    • Migration securisee: complete duplication incomplete calendriers



    v1.82.85 2026-02-13


    Corrige

    • Renommage migration vers v1.82.84 pour execution sur ChronoDev



    v1.82.84 2026-02-13


    Corrige

    • Migration auto-assignation calendriers equipes orphelines



    v1.82.83 2026-02-13


    Corrige

    • Migration recalcul durees couvre aussi les activites passees



    v1.82.82 2026-02-13


    Corrige

    • Renommage migration recalcul durees vers v1.82.82



    v1.82.81 2026-02-12


    Ajoute

    • Propagation calendrier etendue aux activites
    • Propagation durees taches apres modification calendrier

    Corrige

    • Migration auto recalcul durees + correction colonne login_actif



    v1.82.80 2026-02-12


    Corrige

    • Contrainte calendrier: boucle infinie sur ajustement tache multi-jours



    v1.82.79 2026-02-12


    Corrige

    • Ajout Content-Type header sur reponse CSRF invalide xajax



    v1.82.78 2026-02-12


    Interface

    • Uniformisation boutons sidepanels astreinte vers design system sp-btn



    v1.82.77 2026-02-12


    Experience utilisateur

    • Phase 3: modale confirmation, focus trap, validation inline, breadcrumbs, console gate



    v1.82.76 2026-02-12


    Corrige

    • CSRF: generation lazy du token (session pas encore active au require)



    v1.82.75 2026-02-12


    Corrige

    • CSRF: require_once pour eviter double-declaration fatale
    • Phase 2 - Correction regressions detectees par verification
    • Phase 2 - Ameliorations importantes: securite, accessibilite, performance



    v1.82.74 2026-02-12


    Corrige

    • Regression N+1: ajouter champ calcule is_delegation au row brut
    • Phase 1 - 7 corrections critiques performances et securite

    Base de donnees

  • Migration: update-1-82-74.sql




  • v1.82.73 2026-02-12


    Corrige

    • Ne pas envoyer de notifications pour les periodes passees



    v1.82.72 2026-02-12


    Experience utilisateur

    • Filtres rapides periodes - vue annee en cours par defaut



    v1.82.71 2026-02-12


    Corrige

    • Afficher les periodes d'astreinte passees dans le tableau



    v1.82.70 2026-02-12


    Ajoute

    • Sorties d'astreinte - gestion complete + exports PDF multi-equipe/multi-mois

    Base de donnees

  • Migration: update-1-82-70.sql




  • v1.82.69 2026-02-11


    Corrige

    • CSRF token mismatch behind reverse proxy + self-healing token refresh



    v1.82.68 2026-02-11


    Securite

    • Replace addslashes→val2sql_raw in SQL, validate PDF params, sanitize options tab
    • Upload SQL injection, MD5→random_bytes, tabnabbing, upload dir hardening
    • Remove X-Powered-By header, add session strict mode, deduplicate X-Frame-Options
    • CSRF protection for xajax, security headers, stronger token
    [Security][Perf] Cookie hardening, end() loop optimization, getSmartyData cache
    [Security][Perf] Audit fixes - SQL injection, eval() RCE, missing indexes, N+1 queries

    Base de donnees

  • Migration: update-1-82-68.sql




  • v1.82.67 2026-02-10


    Corrige

    • Re-enable Pointer Events API for drag-and-drop on hybrid PCs with touchscreens



    v1.82.66 2026-02-10


    Corrige

    • Inject Docker env vars into cron entries for Brevo SMS config



    v1.82.65 2026-02-10


    Corrige

    • Fix cron lock file ownership blocking notification sends



    v1.82.64 2026-02-10


    Corrige

    • Fix cron notifications not sending: permissions, PHP path, timezone



    v1.82.63 2026-02-09


    Interface

    • Add astreintes module toggle in Options page



    v1.82.62 2026-02-09


    Corrige

    • Hide astreinte rights from self-profile edit form



    v1.82.61 2026-02-09


    Corrige

    • Move trigger DEFINER fix before SQL migrations in entrypoint



    v1.82.60 2026-02-09


    Experience utilisateur

    • Astreintes: hide UI elements based on permission level



    v1.82.59 2026-02-09


    Corrige

    • Admin panel button visible for all users with panel-relevant rights



    v1.82.58 2026-02-09


    Corrige

    • Astreintes: fix rights hierarchy - configure implies all levels



    v1.82.57 2026-02-09


    Ajoute

    • Astreintes: email recap, notifications UI, SQL migrations, security fixes
    • Astreintes: refactor notifications per-segment with titulaire fallback
    • Astreintes: add per-user rights in user form
    • Astreintes: SQL migration, cron config and syntax fix
    • Astreintes: notification hooks, cron job and translations
    • Astreintes: notification system infrastructure
    • Astreintes: add granular roles and permissions
    • Astreintes: toggle activation dans le formulaire equipe
    • Astreintes: flag participation utilisateur + filtrage equipes actives
    • Bandeau astreinte: blocs par jour avec delegations partielles
    • Tooltip astreintes: couverture detaillee par personne et plages
    • Module Astreintes - Refactoring audit complet + suppression contraintes
    • Module Astreintes - Gestion complete des astreintes

    Corrige

    • Astreintes: cleanup dead CSS class, dead table, charset consistency
    • Astreintes: robust retry, cron flock, rate limiting and admin alerting
    • Astreintes: config equipe utilise listeEquipes (actives seulement)
    • Astreintes: config equipe utilise listeGroupes (toutes), fix iterateur GCollection
    • Astreintes: GCollection iteration avec fetch() au lieu de ->data
    • Astreintes: supprimer tous les 13:00 hardcodes, config multi-equipes au submit
    • Astreintes: heures config multi-equipes + suppression scroll horizontal
    • Astreintes: db_save auto-increment, refresh direct, suppression scroll horizontal
    • Bandeau astreinte: overnight UNION, titulaire visible, UX ameliorations
    • Bandeau astreinte: horaires plages reelles au lieu des bornes periode
    • Bandeau astreinte: avatar seul pour les delegations partielles
    • Tooltip astreintes illisible + filtre titulaire par equipe + nouvelle periode sans arg

    Performance

    • Astreintes: optimize SMS volume -25% (36 -> 27 SMS)

    Interface

    • Astreintes: align notification SMS/email with app branding (Chrono)
    • Astreintes: fix responsive horizontal scrollbar in periods table
    • Planning: masquer tag/banniere astreinte sur equipes non activees
    • Bandeau astreinte: suppression icone tel, labels plages delegues
    • Planning astreintes: avatars colores, badges DELEG/EN COURS, visibilite amelioree

    Experience utilisateur

    • Bandeau astreinte: afficher titulaire barre + delegataire directement

    Securite

    • Astreintes: team-scoped auth, idempotent SQL, prod cron, version bump

    Base de donnees

  • Migration: update-1-82-55.sql
  • Migration: update-1-82-56.sql




  • v1.82.54 2026-01-21


    Corrige

    • Multi-jour avec heures personnalisees: verifier heures AVANT demi-journees



    v1.82.53 2026-01-21


    Corrige

    • Correction detection champ duree vide avec type=time



    v1.82.52 2026-01-21


    Corrige

    • Ne pas vider date_fin lors de la saisie des heures personnalisees



    v1.82.51 2026-01-21


    Corrige

    • Creneaux horaires personnalises: sauvegarde, rechargement et affichage multi-jour



    v1.82.50 2026-01-20


    Experience utilisateur

    • Uniformisation contraintes calendrier: tout via modal serveur



    v1.82.49 2026-01-20


    Corrige

    • Affichage plage horaire AM/PM dans tooltip et cellules



    v1.82.48 2026-01-20


    Corrige

    • Taches hors_calendrier: affichage, modification et blocage drag



    v1.82.47 2026-01-20


    Corrige

    • Calendrier: prise en compte matin/apres-midi pour periodes multi-jours



    v1.82.46 2026-01-19


    Corrige

    • Prevent Apache redirect loop for static assets (AH00124)

    Securite

    • Harden .htaccess against open redirect and path traversal



    v1.82.45 2026-01-19


    Corrige

    • Sidepanel respects calendar constraint toggle for half-day options
    • Calendar constraint toggle now works for all operations
    • Multi-team selection now saves correctly in basket task sidepanel
    • Allow team task assignment for users with basket_manage_team right
    • Correct team task management bugs (touch detection, basket auto-close, team addition)

    Documentation

    • Update analysis document with Bug 4 (multi-team selection in sidepanel)



    v1.82.44 2026-01-18


    Corrige

    • Correct status labels encoding (UTF-8 -> latin1)

    Base de donnees

  • Migration: update-1-82-44.sql




  • v1.82.43 2026-01-18


    Corrige

    • Correct column name in migration (commentaire, not label)

    Base de donnees

  • Migration: update-1-82-41.sql




  • v1.82.42 2026-01-18


    Corrige

    • Use INSERT IGNORE for MariaDB compatibility in migration

    Base de donnees

  • Migration: update-1-82-41.sql




  • v1.82.41 2026-01-18


    Corrige

    • Force calendar constraint mode to 'strict' by default

    Base de donnees

  • Migration: update-1-82-41.sql




  • v1.82.40 2026-01-18


    Corrige

    • Calendar constraint not detecting activities ending on non-working PM



    v1.82.39 2026-01-18


    Experience utilisateur

    • Phase 3 improvements for team filter system



    v1.82.38 2026-01-18


    Experience utilisateur

    • Re-render team section after server response



    v1.82.37 2026-01-18


    Corrige

    • Phase 2 high-priority fixes for team filter system



    v1.82.36 2026-01-18


    Securite

    • Phase 1 critical fixes for team filter system



    v1.82.35 2026-01-18


    Ajoute

    • Add migration version validation automation



    v1.82.34 2026-01-18


    Corrige

    • Correct migration file versioning for v1.82.33 compatibility

    Base de donnees

  • Migration: update-1-82-21.sql
  • Migration: update-1-82-32.sql




  • v1.82.33 2026-01-18


    Ajoute

    • Add advanced task duplication functionality

    Experience utilisateur

    • Improve task duplication to create copy only on validation



    v1.82.32 2026-01-18


    Ajoute

    • Unified Access & Sharing panel (v1.86.00)
    • Team manager backend - filter basket by managed teams
    • Add team filter dropdown in basket panel

    Corrige

    • Use document.body for Select2 dropdownParent in xajax responses
    • Basket panel UI sync and color-coded drop zones

    Interface

    • Add select2bs4 class to repetition select (merge fix)
    • Uniform custom dropdowns for team and type filters in basket panel

    Securite

    • Complete rights system fixes and standardization

    Base de donnees

  • Migration: update-1-83-01.sql
  • Migration: update-1-86-00.sql
  • Migration: v1.83.00_basket_team_filter.sql




  • v1.82.31 2026-01-17


    Corrige

    • Add position relative to assignment section for user dropdown
    • Use document.body for Select2 dropdownParent in notion-layout.js
    • Select2 dropdown positioning in sidepanel
    • Close dropdowns on scroll in sidepanel
    • Resolve xajax script parsing error in sidepanel

    Interface

    • Standardize repetition select with select2bs4 class
    • Remove activity-based title coloring - consistent neutral style
    • Unify label colors in sidepanel
    • Fix sidepanel layout overflow issues
    • Complete CSS design system standardization

    Experience utilisateur

    • Sprint 2 improvements - user assignment, schedule labels, validation

    Securite

    • Phase 6 - XSS prevention and error handling

    Documentation

    • Add UI standardization audit - typography, spacing, colors
    • Update analysis - Global functions migration complete
    • Update sidepanel analysis - Phase 10 complete, refactoring finished
    • Update sidepanel analysis - Phases 6-9 complete
    • Update sidepanel analysis with post-refactoring audit



    v1.82.30 2026-01-16


    Ajoute

    • Calendar adjustment proposal on drag-and-drop constraint violation

    Corrige

    • Security and stability fixes from multi-agent review
    • Silent UI rollback for calendar adjustment modal
    • Fix half-day toggle display for multi-day activities in sidepanel
    • Auto-refresh side panel after task move operations
    • Prevent duplicate creation when confirming calendar adjustment
    • Pass calendar adjustment as JSON string for xajax compatibility
    • Calendar validation for multi-day tasks drag-and-drop

    Interface

    • Replace native confirm() with custom Bootstrap modal for delete button



    v1.82.29 2026-01-16


    Ajoute

    • Add automatic migration to fix tasks violating calendar constraints
    • Add tool to fix existing tasks violating calendar constraints

    Corrige

    • Handle NULL duree_details in calendar migration for multi-day tasks
    • Fix migration for multi-day tasks starting on Friday PM
    • Fix PHP migration dependencies and db_free_result
    • Remove manual calendar violation tools - auto migration only
    • Add calendar constraint validation to drag-and-drop move operations



    v1.82.27 2026-01-16


    Corrige

    • Make SQL migrations idempotent for v1.84/v1.85

    Base de donnees

  • Migration: update-1-84-00.sql
  • Migration: update-1-85-00.sql




  • v1.82.26 2026-01-16


    Ajoute

    • Multi-conditions pour statuts + fix notification loading

    Corrige

    • Remove debug console.log statements from date value storage

    Base de donnees

  • Migration: update-1-84-00.sql
  • Migration: update-1-85-00.sql




  • v1.82.25 2026-01-16


    Corrige

    • Mobile drag-and-drop: clone visibility & toolbar display



    v1.82.24 2026-01-16


    Ajoute

    • Migrate notification calls to SoNotify
    • SoNotify - Unified notification system (Notion-style)

    Corrige

    • Complete SoNotify integration - critical fixes



    v1.82.23 2026-01-16


    Corrige

    • Smart morph rendering bug - Use tbody.innerHTML for reliable DOM updates
    • Visual sync of multi-user task clones during drag & drop
    • Drag & drop multi-user tasks now updates all assigned users

    Performance

    • Delta updates for SSE planning events - avoid unnecessary refreshes

    Interface

    • Task badges refactoring and cleanup



    v1.82.22 2026-01-15


    Ajoute

    • Configurable status icons via admin page
    • SVG inline icons + preventive status management

    Corrige

    • Hide status icons on absence-type activities
    • Code quality issues from multi-agent analysis
    • Add row IDs to planning table for proper morphdom matching

    Base de donnees

  • Migration: planning_mysql.sql
  • Migration: update-1-82-22.sql
  • Migration: update-1-83-00.sql
  • Migration: v1.82.11_performance_indexes.sql




  • v1.82.21 2026-01-15


    Corrige

    • Mobile month buttons not limited - wrong CSS selector

    Documentation

    • WIP - Clean up CHANGELOG from incorrect SQL migrations



    v1.82.20 2026-01-15


    Corrige

    • Changelog only includes actually modified SQL files



    v1.82.19 2026-01-15


    Corrige

    • Mobile - User column hidden behind task cells



    v1.82.18 2026-01-15


    Interface

    • Simplify task sidepanel - remove link, file, email notification, custom



    v1.82.17 2026-01-15


    Corrige

    • Remove hardcoded version numbers from comments
    • Presence dropdown shows only overflow users (not already visible as avatars)

    Documentation

    • Add post-commit hook for auto versioning



    v1.82.16 2026-01-14


    Ajoute

    • Integrate optimisticUI with PlanningEventState for concurrent drags
    • Optimistic Drag & Drop - Phase 1 Infrastructure

    Corrige

    • Consecutive drag & drop popup interaction

    Documentation

    • Update progress and add workflow diagram
    • Update progress tracking for Optimistic UI implementation
    • Add Optimistic Drag & Drop analysis and implementation plan



    v1.82.11 2026-01-14


    Corrige

    • Prevent drag & drop from getting stuck

    Performance

    • Add composite indexes for query optimization
    • Debounce/throttle scroll handlers
    • Add LRU cache to GObject::db_load()
    • Async notifications + deferred budget updates
    • Factorize 3rd conflict check block
    • Optimize task operations - Phase 2
    • Optimize task move operations - Phase 1

    Base de donnees

  • Migration: update-1-82-10.sql




  • v1.82.09 2026-01-14


    Ajoute

    • Multi-month selection : Selection de plusieurs mois consecutifs dans la toolbar
    - Ctrl+Click : Ajouter/retirer un mois adjacent a la selection
    - Shift+Click : Selectionner une plage de mois d'un coup
    - Maximum 6 mois selectionnables
    - Feedback visuel vert sur les mois selectionnes
    - Indicateur avec compteur "X mois" et boutons Afficher/Annuler
    - Tous les mois de la periode affichee sont surlignes apres validation


    v1.82.08 2026-01-14


    Corrige

    • Presence dropdown z-index : Correction du probleme d'affichage du dropdown de presence
    - Implementation du pattern Portal pour le dropdown
    - Le dropdown s'affiche maintenant correctement au-dessus des autres elements
    - Resolution du conflit z-index avec les overlays et modales

    Technique

    • Pattern Portal applique au composant PresenceDropdown
    • Meilleure gestion du positionnement absolu dans le DOM


    v1.82.07 2026-01-13


    Corrige

    • Date Range Picker : Bug date "AU" prenant la date du jour au lieu de la date "DU"
    - Nouvelle fonction initDateRangeSync() pour synchronisation automatique
    - Quand date_debut change en mode custom, date_fin est mise a jour si vide ou invalide
    - Si date_fin < date_debut, correction automatique avec feedback visuel
    - Support mobile (input type="date") et desktop (Bootstrap Datepicker)
    - Ajout onFocus="remplirDateFinPeriode();" dans template comme fallback

    Ameliore

    • UX Date Range : Feedback visuel lors de la synchronisation automatique
    - Message info quand date_fin est remplie automatiquement
    - Message warning quand date_fin est corrigee (etait avant date_debut)
    - Auto-disparition apres 4 secondes

    Technique

    • Nouvelles fonctions dans sidepanel-form.js:
    - parseUserDate() : Parse dates FR (DD/MM/YYYY) et ISO (YYYY-MM-DD)
    - showDateRangeFeedback() : Affiche feedback visuel dans le panel custom
    - initDateRangeSync() : Gere la synchronisation date_debut → date_fin
    • Bonnes pratiques UX basees sur Google Calendar, Expedia, Material Design


    v1.82.06 2026-01-12


    Corrige

    • SSE/Polling : Silent fallback + Network detection
    • SSE/Polling : Memory leak fix in SSE retry test


    v1.82.05 2026-01-12


    Ajoute

    • SSE/Presence System v1.82.04 - Corporate Proxy Support + Stability

    Corrige

    • SSE/Cloudflare Phase 1 - Headers chunked/identity + streams par defaut
    • SSE/Presence v1.81.05 - Cloudflare 16KB padding + subscribe loop fix


    v1.82.04 2026-01-12


    Corrige

    • SSE/Deploiement : Affichage du bandeau de mise a jour apres 5 erreurs de connexion consecutives (404 pendant deploiement)
    • SSE/UX : Au lieu d'erreurs silencieuses, l'utilisateur voit maintenant un bandeau bleu l'invitant a rafraichir
    • Presence/UI : Correction du clignotement des avatars utilisateurs en ligne
    - Rendu diff-based : le DOM n'est plus reconstruit si rien n'a change
    - Skip render dans updateUserStatus() si le statut est inchange
    - Skip render dans addUser() si l'utilisateur existe deja avec les memes donnees
    - Skip render dans updateUsers() si la liste n'a pas change
    • Presence/Away : Le statut "Absent" (away) est maintenant correctement affiche
    - Ajout du champ status dans getActivePresenceList()
    - Pastille jaune/orange visible apres 5 min d'inactivite

    Base de donnees

  • Migration: update-1-82-04.sql



  • v1.82.03 2026-01-12


    Corrige

    • SSE/Presence : Bug suppression ZSET multi-onglets (fermer un onglet supprimait l'utilisateur meme si d'autres onglets ouverts)
    • SSE/Presence : heartbeatTimeout augmente a 20s (4x heartbeat serveur) pour eviter faux positifs
    • SSE/Presence : maxHeartbeatTimeouts revenu a 2 (1 etait trop agressif)
    • SSE/Presence : Nettoyage _pendingRemovals dans destroy() (fuite memoire)
    • SSE/Presence : Utilisation constante CONFIG_PRESENCE_TTL partout
    • SSE/Securite : Details des exceptions masques dans erreurs SSE
    • SSE/Presence : Guard _switchingTransport dans initRealtime() (race condition)
    • Long Polling : Queue drain compte les events et non les iterations (max 11 events)

    Base de donnees

  • Migration: update-1-82-03.sql



  • v1.82.02 2026-01-12


    Performance

    • SSE/Presence : SSE_POLL_INTERVAL reduit de 5s a 1s (80% plus rapide)
    • SSE/Presence : Rafraichissement liste presence de 60s a 15s (75% plus rapide)
    • SSE/Presence : sleep() legacy SSE de 1s a 100ms (90% plus rapide)
    • SSE/Presence : SSE_HEARTBEAT_INTERVAL de 15s a 5s (67% plus rapide)
    • SSE/Presence : heartbeatTimeout client de 45s a 15s (67% plus rapide)
    • SSE/Presence : heartbeatCheckInterval de 10s a 3s (70% plus rapide)
    • Long Polling : LONGPOLL_TIMEOUT de 25s a 10s (60% plus rapide)
    • SSE/Presence : GRACE_PERIOD de 15s a 5s (67% plus rapide)
    • SSE/Presence : statusSyncInterval de 60s a 20s (67% plus rapide)

    Base de donnees

  • Migration: update-1-82-02.sql



  • v1.82.01 2026-01-12


    Corrige

    • SSE/Presence : Flickering corrige - active_users retire des events delta (presence_join)
    • SSE/Presence : TTL augmente de 90s a 180s (ratio 3:1 avec heartbeat)
    • SSE/Presence : Heartbeat HTTP envoie toujours (ne skip plus si status inchange)
    • SSE/Presence : Grace period 15s avant marquage offline
    • SSE/Presence : Nettoyage ZSET deterministe (100% au lieu de 10%)
    • SSE/Presence : publishPresenceLeave atomique avec transaction

    Base de donnees

  • Migration: update-1-82-01.sql



  • v1.82.00 2026-01-12


    Securite

    • Rate limiting SSE (max 10 connexions simultanees par utilisateur)
    • Rate limiting heartbeat (max 10 requetes/5s)
    • Validation tab_id contre injection

    Corrige

    • SSE/Presence : Deduplication events cote client (evite doublons pendant switch transport)
    • SSE/Presence : Transactions Redis pour presence atomique
    • Long Polling : Cleanup a la deconnexion (sendBeacon)
    • Long Polling : Structure events coherente avec SSE
    • Accessibilite : Region ARIA live pour lecteurs d'ecran

    Base de donnees

  • Migration: update-1-82-00.sql



  • v1.81.12 2026-01-12


    Corrige

    • Rate limiting atomique avec script Lua (evite cles orphelines sur crash)
    • BLPOP draine les DEUX queues (evite perte events broadcast)
    • TTL queue ne reset plus a chaque push (corrige fuite memoire)
    • Connexion Redis fermee proprement avant null (corrige fuite socket)
    • Guard contre ajustements interval concurrents (race condition)
    • Debounce render avec max wait time (evite report infini)
    • padStart() remplace par code compatible IE11

    Base de donnees

  • Migration: update-1-81-12.sql



  • v1.81.11 2026-01-12


    Corrige

    • Fuite memoire PresenceDetector/UI - destroy() cleanup dans cleanupRealtime()
    • Boucle SCAN infinie dans presence_heartbeat.php:230
    • Race condition switch SSE/Long Polling - guard _switchingTransport
    • markUserActive() manquant dans long_poll.php

    Base de donnees

  • Migration: update-1-81-11.sql



  • v1.81.10 2026-01-12


    Corrige

    • Boucle infinie dans sse_planning.php SCAN fallback (CRITIQUE)
    • Long Polling recoit maintenant les events heartbeat presence
    • Check EventSource redondant supprime dans JS client

    Ajoute

    • Classe EncodingHelper centralisee pour conversion UTF-8
    • Endpoint SSE health check (/process/sse_healthcheck.php)
    • Rate limiting endpoint Long Polling (60 req/min)

    Base de donnees

  • Migration: update-1-81-10.sql



  • v1.81.09 2026-01-12


    Ajoute

    • Long Polling : Support fallback pour proxies corporate bloquant SSE
    • Nouvelle classe class_longpoll_queue.inc (queue Redis)
    • Integration dans RealtimeNotifier pour publish vers queue
    • Nouvel endpoint long_poll.php pour clients
    • Fallback automatique quand SSE echoue

    Base de donnees

  • Migration: update-1-81-09.sql



  • v1.81.08 2026-01-12


    Corrige

    • SSE/Proxy : Compatibilite proxies corporate amelioree
    • Header Pragma: no-cache
    • Header Expires: 0
    • charset=utf-8 dans Content-Type
    • X-Content-Type-Options: nosniff
    • Access-Control-Allow-Origin: *

    Base de donnees

  • Migration: update-1-81-08.sql



  • v1.81.07 2026-01-12


    Corrige

    • SSE/Cloudflare : Header Transfer-Encoding: chunked supprime (conflit Apache)
    • SSE : Ordre output buffering corrige dans sse_planning.php ET sse_streams.php
    • SSE : Padding 16KB envoye apres desactivation buffering

    Base de donnees

  • Migration: update-1-81-07.sql



  • v1.81.06 2026-01-12


    Corrige

    • SSE/Cloudflare : Headers Transfer-Encoding: chunked et Content-Encoding: identity pour forcer streaming
    • SSE/Presence : Activation de sse_streams.php (Redis XREAD) par defaut - meilleur blocage que subscribe()

    Technique

    • sse_planning.php et sse_streams.php: ajout headers chunked/identity
    • notion-layout.js: _useStreamsEndpoint = true par defaut


    v1.81.05 2026-01-12


    Corrige

    • SSE/Cloudflare : Ajout padding 2KB initial pour forcer flush buffer Cloudflare
    • SSE/Presence : Correction de l'encodage UTF-8 pour JSON (ISO-8859-1 vers UTF-8)
    • SSE/Presence : Support des Event ID pour la reconnexion SSE (Last-Event-ID)
    • SSE/Presence : Gestion des messages vides (evite JSON errors)
    • SSE/Presence : Headers Cache-Control renforces (no-transform)

    Performance

    • Reduction du timeout SSE de 120s a 90s pour compatibilite Cloudflare
    • Reduction de l'intervalle heartbeat de 30s a 15s pour meilleure detection

    Base de donnees

  • Migration: update-1-81-05.sql



  • v1.80.14 2026-01-12


    Corrige

    • SSE/Presence - Corrections critiques Phase 1 (v1.81.01)
    • SSE/Presence - Fiabilité système utilisateurs en ligne (v1.81.00)

    Base de donnees

  • Migration: update-1-80-02.sql
  • Migration: update-1-80-06.sql




  • v1.80.13 2026-01-12


    Ajoute

    • SMS inscription pour Chrono (v1.81.00)

    Corrige

    • SMS inscription - correction bug empty() sur GObject

    Base de donnees

  • Migration: update-1-80-02.sql
  • Migration: update-1-80-06.sql




  • v1.80.12 2026-01-11


    Ajoute

    • Auto-generate changelog on merge to master

    Corrige

    • Add missing SQL migration files to update folder
    • Correct version to 1.80.10 (resolve version timeline divergence)

    Base de donnees

  • Migration: update-1-80-02.sql
  • Migration: update-1-80-06.sql




  • v1.80.11 2026-01-11


    Corrige

    • Correction de la version (resolution de la divergence de timeline de version)
    • Ajout des fichiers de migration SQL manquants dans le dossier update


    v1.80.10 2026-01-11


    Corrige

    • Correction de la version pour resoudre la divergence de timeline


    v1.80.06 2026-01-10


    Ajoute

    • Boutons zoom +/- dans la toolbar PC

    Performance

    • Optimisations v2.7 finales pour l'animation de zoom
    • Animation frame-split v2.6 pour eliminer les reflows synchrones
    • Animation zoom v2.5 avec application CSS differee en idle
    • Pause de l'enregistrement rrweb pendant l'animation de zoom
    • Retarget de l'animation au lieu de redemarrer pour eviter les reflows
    • Classe no-record pendant l'animation zoom pour prevenir le lag rrweb
    • Optimisation animation zoom: localStorage differe + dimensions cachees
    • Echelle RELATIVE pendant l'animation pour eviter le reflow de reset CSS zoom
    • Animation zoom acceleree GPU avec transform
    • Debounce de l'invalidation du cache DragStateController pendant l'animation zoom

    Corrige

    • Gestion correcte de l'interruption de l'animation zoom pour prevenir la desync
    • Reset du CSS zoom a 1 avant animation pour prevenir le scaling cumulatif


    v1.80.05 2026-01-09


    Corrige

    • Changement du label du bouton panier de "Ajouter au panier" a "Deplacer vers le panier" pour les taches planifiees


    v1.80.04 2026-01-08


    Ajoute

    • Numero de version dans le footer de la page de login
    • Auto-upgrade de la base de donnees et systeme de notification de version ameliore

    Corrige

    • Gestion gracieuse des incompatibilites de version pour les requetes SSE/API
    • Corrections de session et notifications de version

    Branding

    • Changement du titre Changelog SoPlanning vers Changelog Chrono


    v1.80.03 2026-01-08


    Ajoute

    • Page changelog accessible depuis la page de login sans authentification

    Corrige

    • Rebranding complet vers Chrono et corrections de bugs critiques
    • Variables manquantes pour le template changelog public
    • Initialisation Smarty pour la page changelog publique
    • Cache bust pour presence-ui.js et zoom-manager.js
    • Erreurs console sur la page changelog et pages non-planning
    • Scroll de la page changelog - fermeture correcte des tags notion-layout
    • Erreur base de donnees API version.php et prevention du double chargement de scripts

    Experience utilisateur

    • Amelioration du layout changelog public

    Branding

    • Remplacement du copyright SOPlanning par Chrono


    v1.80.02 2026-01-07


    Ajoute

    • Phase 3: Geste swipe-to-close pour le panneau panier
    • Phase 3: Changelog ameliore avec cache et ameliorations markdown

    Corrige

    • Phase 2: Ameliorations de robustesse de version-check.js
    • Correction comprehensive pour le probleme de blocage du bouton FAB
    • Utilisation de touchend pour le bouton FAB pour contourner le touch polyfill
    • Prevention du ghost click apres swipe-to-close
    • Reset des cartes expansees lors de la fermeture du panneau panier
    • Nettoyage des CSS dupliques et conversion des console.log en _log()

    Securite

    • Phase 1: Masquage des informations de version et suppression de l'empreinte systeme
    • Corrections de securite et bugs du systeme de notification de mise a jour

    Experience utilisateur

    • Phase 4: Ameliorations d'accessibilite et i18n


    v1.80.01 2026-01-07


    Ajoute

    • Phase 2: Ameliorations UX du panneau panier avec animation d'ouverture/fermeture

    Corrige

    • Corrections diverses apres deploiement v1.80.00


    v1.80.00 2026-01-07


    Ajoute

    • Deploiement transparent : Detection automatique des mises a jour
    • Sessions Redis persistantes : Les sessions survivent aux redemarrages Docker
    • Notification de mise a jour : Banniere informative lors d'une nouvelle version
    • Page Changelog : Historique des versions accessible depuis l'interface
  • API Version : Endpoint /api/version.php pour verification de version

  • Ameliore

    • Messages d'erreur plus explicites lors des mises a jour
    • Redirection vers login avec message informatif apres deploiement
    • UX utilisateur lors des transitions de version

    Technique

    • Configuration Redis sessions via variables d'environnement
  • Script JavaScript version-check.js pour detection frontend
  • Stockage app_version en session pour comparaison



  • v1.79.24 2026-01-07


    Corrige

    • Alignement indicateur presence avec settings
    • Logique restrictive pour droits modification taches
    • Correction sauvegarde profils de droits
    • Correction erreur JavaScript dans formulaire profil
    • Warnings PWA manifest start_url/scope


    v1.79.23 2026-01-06


    Corrige

    • Ameliorations diverses de stabilite
    • Corrections de bugs mineurs


    v1.79.22 2026-01-06


    Ajoute

    • Cache statique des droits de profils pour eviter les requetes repetees

    Corrige

    • Performance amelioree sur le chargement des droits utilisateurs


    v1.79.20 2026-01-06


    Corrige

    • Corrections des bugs B1-B5 identifies dans la gestion des droits

    Base de donnees

  • Migration: update-1-79-20.sql



  • v1.79.19 2026-01-06


    Base de donnees

  • Migration: update-1-79-19.sql - Corrections schema profils



  • v1.79.17 2026-01-06


    Base de donnees

  • Migration: update-1-79-17.sql



  • v1.79.14 2026-01-06


    Base de donnees

  • Migration: update-1-79-14.sql



  • v1.79.00 2026-01-05


    Ajoute

    • Nouvelle version majeure avec ameliorations de la gestion des droits

    Base de donnees

  • Migration: update-1-79-00.sql
  • Migration: update-1-79-01.sql



  • v1.78.04 2025-12-30


    Base de donnees

  • Migration: update-1-78-04.sql



  • Versions anterieures


    Pour les versions anterieures, consultez l'historique Git du projet.