V1.0
Initial release
V1.0.1
Freemius SDK Update
V1.1
Freemius SDK Update
Fix the problem to not be able to add en email to the list B if this one is already on list A
V1.4
Freemius SDK Update
V2.0
* NEW: Dynamic contact list selection with dropdown
* NEW: Custom properties mapping interface
* NEW: API credentials validation
* NEW: Cache management system
* IMPROVED: Better error handling and logging
* IMPROVED: Enhanced user interface
* IMPROVED: Performance optimization with caching
* FIX: Various bug fixes and improvements
V2.0.1
Freemius SDK Update
V2.1.0
NOUVEAU : Prise en charge du double opt-in avec e-mails de confirmation
NOUVEAU : Modèle d’e-mail de confirmation personnalisable avec éditeur WYSIWYG
NOUVEAU : Durée d’expiration du lien configurable (1 à 168 heures)
NOUVEAU : Pages de redirection personnalisées en cas de succès ou d’erreur
NOUVEAU : Système de confirmation sécurisé basé sur des tokens
NOUVEAU : Nettoyage automatique des inscriptions en attente expirées (cron quotidien)
NOUVEAU : Variables disponibles : {{confirm_url}}, {{email}}, {{site_name}}
AMÉLIORATION : Gestion des licences optimisée avec intégration Freemius
AMÉLIORATION : Affichage de l’état de la licence dans la page des réglages
V2.1.1
NOUVEAU : Tableau de bord des abonnements en attente – visualisez tous les abonnés en attente de confirmation
NOUVEAU : Bouton de renvoi de l’e-mail de confirmation pour chaque abonnement en attente
NOUVEAU : Suppression individuelle des abonnements en attente
NOUVEAU : Suppression de tous les abonnements en attente en un seul clic
NOUVEAU : Indicateurs de statut (En attente / Expiré) pour chaque abonnement
CORRECTIF : Compatibilité WAF – l’envoi des formulaires utilise désormais AJAX avec encodage base64 afin d’éviter les faux positifs de blocage sur les hébergements dotés de pare-feu stricts (Plesk, Alfahosting, etc.)
AMÉLIORATION : Gestion améliorée des erreurs pour les paramètres de Double Opt-in
= 2.2.0 =
NOUVEAU : Support multi-listes – ajoutez des abonnés à plusieurs listes Mailjet en une seule fois
NOUVEAU : Activation du multi-listes via un toggle dans les paramètres de formulaire Elementor
NOUVEAU : Menudéroulant multi-sélection SELECT2 pour choisir plusieurs listes de contacts
NOUVEAU : Page de paramètres redessinée avec une mise en page barre latérale + contenu
NOUVEAU : Indicateur visuel de statut de connexion API dans l’onglet des paramètres API
NOUVEAU : Nettoyage automatique des inscriptions confirmées (plus besoin de les conserver dans la table des inscriptions en attente)
AMÉLIORÉ : La table des inscriptions en attente affiche désormais tous les noms de listes pour les inscriptions multi-listes
AMÉLIORÉ : La tâche cron supprime désormais immédiatement les inscriptions confirmées
AMÉLIORÉ : Meilleure expérience utilisateur avec un design moderne en cartes et des onglets de navigation
= 2.3.0 =
REFACTORISATION : Réécriture complète en PSR-4 — namespace Wycan\MIFEF, autoloader, architecture modulaire
SÉCURITÉ : Remplacement de tous les appels curl_* par wp_remote_* (API HTTP de WordPress)
SÉCURITÉ : Toutes les requêtes SQL utilisent désormais $wpdb->prepare() — plus aucune requête SQL brute
SÉCURITÉ : Ajout de wp_unslash() avant chaque sanitization des données $_POST
SÉCURITÉ : Ajout de check_admin_referer() sur le gestionnaire du formulaire des paramètres API
SÉCURITÉ : Utilisation de wp_localize_script() à la place de wp_add_inline_script avec const (correction du problème d’URL AJAX)
NOUVEAU : Interface d’administration inspirée de WyRetract — barre latérale sombre, orange Wycan (#FF6B35), police Satoshi, mise en page en cartes
NOUVEAU : Traduction complète fr_FR — 162 chaînes traduites, fichier .mo compilé inclus
NOUVEAU : Assets Vanilla ES6 remplaçant tout le jQuery inline — API fetch(), URLSearchParams
NOUVEAU : Éditeur WYSIWYG (wp_editor) pour le contenu des e-mails Double Opt-In
AMÉLIORATION : Pattern getContent() / isHidden() pour une lecture fiable du contenu TinyMCE
AMÉLIORATION : Les assets d’administration se chargent uniquement sur la page des réglages du plugin (aucune fuite globale)
AMÉLIORATION : Mise en cache transient des réponses API (TTL de 1 heure)
COMPATIBILITÉ : Widget get_name() = 'mailjet', tous les IDs de contrôles, clés d’options et noms de tables de base de données restent inchangés
Dans l’onglet Double Opt-In, au lieu du WYSIWYG maison, proposer un sélecteur de template Mailjet. L’e-mail de confirmation utilise directement un template conçu dans l’éditeur Mailjet (MJML, responsive, brandé).