Skip to content

Changelog

Toutes les modifications notables apportées à ce projet seront documentées dans ce fichier.

Le format est basé sur Keep a Changelog, et ce projet adhère au Semantic Versioning.

[1.5.0] - 2026-04-01

Ajouté

  • Support de Python 3.14 dans les classifiers
  • Fonctions de sécurité : sanitize_id(), validate_callback_url(), mask_msisdn(), mask_token() dans utils.py
  • Thread-safety pour la génération de tokens (threading.Lock dans MVolaAuth)
  • Nettoyage automatique des tokens expirés en mémoire (_clear_expired_token)
  • Représentation sécurisée de MVolaAuth (__repr__ et __str__) pour éviter les fuites de credentials dans les logs
  • Pre-commit hooks avec detect-secrets, black, isort, flake8
  • Fichier SECURITY.md pour la politique de sécurité

Modifié

  • .gitignore entièrement réécrit et nettoyé (suppression des doublons, ajout de sections frontend/Node.js et AI tools)
  • Masquage automatique des montants et MSISDNs dans les logs du client
  • Propriétés read-only pour consumer_key, consumer_secret, token dans MVolaAuth

Corrigé

  • .gitignore empêchait le dossier examples/ d'être tracké par git
  • Version synchronisée dans pyproject.toml, setup.py et __init__.py

[1.4.1] - 2025-12-07

Ajouté

  • Nouvelle méthode is_token_valid() dans MVolaAuth pour vérifier la validité du token
  • Type hints complets dans tous les modules (client.py, auth.py, transaction.py)
  • Constante DEFAULT_TIMEOUT = 30 pour les requêtes HTTP
  • Validation MSISDN avec validate_msisdn() dans les paramètres de transaction

Modifié

  • Timeout de 30 secondes ajouté à toutes les requêtes HTTP (prévention des blocages)
  • Nettoyage des imports inutilisés dans client.py

Corrigé

  • Exports manquants dans __init__.py : MVolaValidationError, MVolaConnectionError
  • Synchronisation de la version entre __init__.py, pyproject.toml et setup.py
  • Documentation corrigée : paramètre sandbox au lieu de base_url

[1.4.0] - 2025-07-04

Ajouté

  • Support des variables d'environnement pour stocker les credentials et la configuration
  • Nouvelle méthode de classe MVolaClient.from_env() pour créer un client à partir des variables d'environnement
  • Fichier .env.example pour faciliter la configuration
  • Exemple env_example.py qui démontre l'utilisation des variables d'environnement
  • Tests spécifiques pour valider la fonctionnalité des variables d'environnement

Modifié

  • MVolaClient accepte maintenant des paramètres optionnels, avec fallback vers les variables d'environnement
  • Tests mis à jour pour utiliser les variables d'environnement
  • Utilisation du langage "MG" par défaut pour améliorer la compatibilité
  • La valeur par défaut pour originalTransactionReference est maintenant "MVOLA_123"
  • Corrélation ID fixe "123" pour les tests de compatibilité

Corrigé

  • Format exact des en-têtes HTTP basé sur les exemples fonctionnels
  • Correction du casse pour l'en-tête "version" (utilisation de la minuscule)
  • Ajout de "Accept-Charset: utf-8" dans les en-têtes par défaut

[1.3.0] - 2025-07-01

Ajouté

  • Ajout des champs obligatoires fc et amountFc par défaut dans les métadonnées de la requête de paiement
  • Ajout d'une section "Known Limitations" dans le README pour documenter les problèmes avec l'API MVola
  • Nouvel exemple auth_example.py qui démontre l'authentification qui fonctionne correctement

Modifié

  • Documentation améliorée sur les limitations de l'environnement sandbox MVola
  • Meilleure gestion des erreurs dans l'initiation de paiement (reconnaissance de errorDescription et ErrorDescription)
  • Les paramètres foreign_currency et foreign_amount ont désormais des valeurs par défaut (USD et 1)

Corrigé

  • Format des en-têtes HTTP pour correspondre exactement à la documentation MVola

[1.2.0] - 2025-04-22

Ajouté

  • Support pour les callbacks (webhooks)
  • Nouveau module d'exceptions pour une meilleure gestion des erreurs
  • Documentation complète dans docs/
  • Exemples d'intégration dans examples/

Modifié

  • Amélioration de la gestion des tokens d'authentification
  • Refactoring pour une meilleure lisibilité et maintenance

[1.1.0] - 2025-02-15

Ajouté

  • Support pour la vérification du statut d'une transaction
  • Support pour les détails d'une transaction
  • Tests automatisés

Modifié

  • Améliorations de performance
  • Mise à jour des URLs d'API (https://devapi.mvola.mg)

[1.0.0] - 2025-01-10

Ajouté

  • Version initiale
  • Support pour l'authentification
  • Support pour l'initiation de paiement
  • Documentation de base