# Changelog

Tous les changements notables de DoliURSSAF sont consignés dans ce fichier.

Le format s'appuie sur [Keep a Changelog](https://keepachangelog.com/fr/1.1.0/),
et ce projet suit le [versioning sémantique](https://semver.org/lang/fr/).

## [Non publié]

## [1.3.0] - 2026-08-18

### Modifié

- Page « À propos » : le bandeau nomme désormais **Pichisoft (Pichinov)**, avec les
  liens « Aller sur Pichisoft » et « Aller sur Pichinov ». L'éditeur du module est
  affiché **Pichisoft (Pichinov)**, chaque marque renvoyant à son propre site.
- Adresse de support par défaut : **support@pichinov.com**.
- **Licence du code : GPLv3.** Les en-têtes de tous les fichiers passent sous GPL
  (version 3 ou ultérieure) et le texte complet de la licence est fourni dans
  `COPYING` — prérequis de validation du Dolistore. Le modèle commercial est
  inchangé : l'achat couvre l'abonnement aux mises à jour signées et au support.
- **Le module fonctionne désormais aussi installé hors `custom/`**
  (`htdocs/doliurssaf/`) : les inclusions internes passent par `dol_include_once()`
  et les menus ne préfixent plus `/custom/` — règle de packaging Dolibarr.

## [1.2.6] - 2026-08-17

### Corrigé

- **L'installation d'une mise à jour échouait sur les hébergements qui laissent les
  fichiers du module en lecture seule** (droits `0444`), avec le message « Échec de
  l'installation : version précédente restaurée ». Le module écrase ses fichiers sur
  place : sur un dossier en lecture seule, ni l'installation ni la restauration ne
  pouvaient écrire. Le module rétablit désormais le droit d'écriture sur ses propres
  fichiers avant de les remplacer. Aucune donnée n'était en danger — l'échec était
  détecté et la version précédente conservée.

## [1.2.5] - 2026-08-17

### Modifié

- Les vérifications et téléchargements de mise à jour transmettent désormais le nom
  de domaine de l'installation, comme le font déjà l'activation et le contact
  quotidien. Côté éditeur, une installation n'apparaît plus que sur **une seule
  ligne** dans « Installations vues » au lieu d'être scindée en une ligne
  supplémentaire sans domaine.

## [1.2.4] - 2026-08-11

### Corrigé

- Le hook d'enrôlement / heartbeat était enregistré sur le mauvais **contexte**
  (`updateSession` au lieu de `main`) : il ne se déclenchait donc **jamais**. En
  conséquence, la télémétrie quotidienne (heartbeat), l'**enrôlement anti-copie**
  automatique et le rafraîchissement du bandeau « nouvelle version » étaient
  inactifs. Le hook est désormais enregistré sur le contexte `main`.
  ⚠️ Sur une installation **existante**, après avoir installé cette mise à jour,
  **désactivez puis réactivez le module** une fois pour ré-enregistrer le hook — un
  simple remplacement de fichiers ne ré-enregistre pas les contextes de hook.

## [1.2.3] - 2026-08-11

### Corrigé

- Détection des mises à jour plus réactive : l'onglet « Licence » interroge
  désormais le serveur **à chaque ouverture**, donc le badge « nouvelle version »
  et le bouton d'installation reflètent immédiatement la dernière version publiée.
  Auparavant, la détection ne se rafraîchissait qu'au heartbeat quotidien, sans
  moyen de la forcer depuis le retrait du bouton « Vérifier les mises à jour ».

## [1.2.2] - 2026-08-11

### Corrigé

- Le réglage « Proposer la nature CIPAV » est désormais fonctionnel. Il était
  jusqu'ici sans effet : la nature CIPAV (professions libérales réglementées) était
  toujours proposée. Décochée, la case retire CIPAV du champ « nature d'activité »
  des produits et des natures par défaut du paramétrage ; cochée, elle la rend de
  nouveau disponible. Les produits et déclarations utilisant déjà CIPAV ne sont pas
  modifiés (le calcul continue de la reconnaître).

## [1.2.1] - 2026-08-10

### Corrigé

- Installation des mises à jour : le module écrase désormais ses fichiers **sur
  place** au lieu de supprimer son dossier au préalable. La suppression échouait
  (« Échec du remplacement des fichiers ») sur certains hébergements, car la requête
  d'installation s'exécute depuis l'intérieur du module (l'`admin/licence.php` en
  cours d'exécution ne peut pas se supprimer lui-même). Remplace le correctif
  partiel de la 1.1.1.

## [1.2.0] - 2026-08-10

### Ajouté

- Bandeau « nouvelle version disponible » sur les pages du module (pour les
  administrateurs) lorsqu'une mise à jour existe, avec un lien vers l'onglet Licence
  pour l'installer. La mise à jour reste décidée par l'administrateur — jamais
  automatique.

### Supprimé

- Bouton « Vérifier les mises à jour » : la détection est désormais automatique
  (heartbeat quotidien → badge + bandeau) ; l'onglet Licence ne propose plus que
  l'installation, quand une version est disponible.

## [1.1.1] - 2026-08-10

### Corrigé

- L'installation d'une mise à jour pouvait échouer avec « Échec du remplacement des
  fichiers (aucune modification) » sur certains hébergements (cache `stat` de PHP
  après suppression du dossier). Remplacé par le correctif définitif de la 1.2.1.

## [1.1.0] - 2026-08-10

### Ajouté

- Architecture autonome : le module s'installe seul. Il embarque son propre client
  de licence, son système de mise à jour signée (avec sauvegarde et restauration
  automatiques), son onglet « Licence », sa page « À propos » et son formulaire de
  support. Plus aucun module de base à installer à côté.
- Onglet « Licence » dans les paramètres : saisie de la clé, statut (active /
  abonnement expiré / non activée), échéance des mises à jour, installation en un clic.
- Formulaire de support intégré : demande accompagnée du contexte technique de
  l'installation (versions, environnement — aucune donnée métier), avec repli
  hors-ligne.
- Page « À propos » : éditeur, statut de licence, accès à la fiche produit / au
  journal / à la documentation / au support.

### Modifié

- Renommage du module en `doliurssaf` / « DoliURSSAF » (anciennement `urssafae`).
- Le module reste pleinement fonctionnel même sans licence active — aucune
  déclaration n'est jamais bloquée.

## [1.0.0] - 2026-07-23

### Ajouté

- Version initiale, mode manuel (sans API URSSAF).
- Calcul du CA encaissé par période (mensuelle/trimestrielle), ventilé par nature
  d'activité via l'extrafield produit `urssaf_nature`.
- Gestion des avoirs remboursés, des acomptes et des lignes libres (nature par
  défaut configurable), base TTC ou HT.
- Workflow horodaté : brouillon → validée → déclarée (« déclaré le… ») → annulée.
- Événements d'agenda natifs rattachés (validée / déclarée / annulée) et codes
  enregistrés pour le module Notifications.
- Événement de rappel daté à l'échéance URSSAF, avec relance e-mail native (délai
  configurable).
- Rapport imprimable des montants par nature et des règlements pris en compte.
- Cron optionnel de préparation du brouillon, widget de tableau de bord, permissions
  lecture/écriture/envoi.
- Dépendances : modules Factures/Avoirs et Agenda.

[Non publié]: https://github.com/Pichinov/DoliURSSAF/compare/v1.3.0...HEAD
[1.3.0]: https://github.com/Pichinov/DoliURSSAF/releases/tag/v1.3.0
[1.2.6]: https://github.com/Pichinov/DoliURSSAF/releases/tag/v1.2.6
[1.2.5]: https://github.com/Pichinov/DoliURSSAF/releases/tag/v1.2.5
[1.2.4]: https://github.com/Pichinov/DoliURSSAF/releases/tag/v1.2.4
[1.2.3]: https://github.com/Pichinov/DoliURSSAF/releases/tag/v1.2.3
[1.2.2]: https://github.com/Pichinov/DoliURSSAF/releases/tag/v1.2.2
[1.2.1]: https://github.com/Pichinov/DoliURSSAF/releases/tag/v1.2.1
[1.2.0]: https://github.com/Pichinov/DoliURSSAF/releases/tag/v1.2.0
[1.1.1]: https://github.com/Pichinov/DoliURSSAF/releases/tag/v1.1.1
[1.1.0]: https://github.com/Pichinov/DoliURSSAF/releases/tag/v1.1.0
[1.0.0]: https://github.com/Pichinov/DoliURSSAF/releases/tag/v1.0.0
