Aller au contenu

CHANGELOG

Présentation des versions du framework Edu Framework

v2.6.3 - 15/10/2026

bug Fixes

  • Mise à jour de zircote/swagger-php (4.x-dev → 5.8.*) : la librairie n'était pas compatible avec PHP 8.4 et supérieur — la commande vendor/bin/openapi affichait l'erreur Constant E_STRICT is deprecated et produisait un fichier incomplet

documentation

  • update Construire une API : suppression de la note de contournement (script generate-openapi.php), la commande vendor/bin/openapi est de nouveau fonctionnelle avec PHP 8.4 et supérieur

v2.6.2 - 15/10/2026

documentation

v2.6.1 - 15/10/2026

new features

  • Migration de MkDocs vers ProperDocs, le fork maintenu de MkDocs 1.x — MkDocs n'est plus maintenu depuis août 2024 et son dépôt est fermé aux contributions extérieures. ProperDocs est un remplacement direct (drop-in) : le thème Material et tous les plugins restent inchangés, la configuration devient properdocs.yml et les commandes mkdocs build/mkdocs serve deviennent properdocs build/properdocs serve

bug Fixes

  • Les cartes sociales (og:image) sont de nouveau générées : le logo du plugin social est résolu via le logo du thème (préfixé par le dossier de documentation)

documentation

  • new Use case "VILLE" : STEP 1 et Refactoring : ajout à la navigation (contenus retirés depuis)
  • update Contribuer pour la docs : installation et lancement avec ProperDocs
  • suppression de la page obsolète dataservice-insert.md (contenu intégré à Construire le CRUD)

v2.6.0 - 14/10/2026

new features

  • Nouveau service CsrfService pour protéger les formulaires contre les attaques CSRF (Cross-Site Request Forgery) selon le pattern "Synchronizer Token" : jeton aléatoire (CSPRNG) cloisonné par nom de route, comparaison protégée contre les attaques temporelles (hash_equals), rotation du jeton après chaque validation réussie. Nouvelle fonction Twig csrf_token('nom_route') pour générer le champ caché du formulaire et méthode Request::isCsrfTokenValid('nom_route') pour la validation dans le controller (le jeton peut aussi être transmis dans l'en-tête HTTP X-CSRF-TOKEN pour les appels AJAX). Démo applicative sur la route /medecin/import et documentation complète docs/build/csrf.md

v2.5.0 - 08/10/2026

new features

  • #149 Nouvelle commande php bin/edu make:entity : génération de l'entité (app/Entity) et de son repository (app/Repository) — mode interactif ou option --fields, getters et setters fluides camelCase typés, hydratation avec casts dans le repository @bfoujols
  • #150 Les paramètres d'identité du framework (name, version, date_version, php_version) sont personnalisables via le fichier eduframe.yml à la racine du framework (lu depuis vendor/ dans les projets) — plus besoin de modifier ConfigCore.php, exception ErrorConfigException explicite si le fichier est invalide @bfoujols
  • #76 Pages d'erreur HTTP mises en forme (404, 405, 403, 500) : templates autonomes et stylés dans app/Template/error/, nouveau HttpError403Controller, la classe ErrorHttpStatusException permet de lever une erreur HTTP depuis un controller (Exemple : accès interdit 403), toute exception non gérée affiche la page 500 avec le message de l'exception en mode développement (masqué en production). Le template http-Default.html.twig devient http-500.html.twig. Le nom du framework n'est plus affiché sur les pages d'erreur (titre et pied de page) @bfoujols

bug Fixes

  • #76 Correction de l'affichage de la barre de debug : les styles globaux de la page hôte (ex: a { margin-top: 1.5rem; }) ne cassent plus l'alignement des blocs de la barre — reset CSS sur les liens de la toolbar, immunisée contre les feuilles de style de l'application @bfoujols

documentation

Release notes for v2.5.0

https://github.com/studoo-app/edu-framework/milestone/22


v2.4.0 - 08/10/2026

new features

  • #147 Un controller peut maintenant gérer plusieurs routes via plusieurs méthodes : la clé controller du fichier "app/Config/routes.yaml" accepte la syntaxe Controller\VilleController::index. Sans méthode explicite, la méthode execute() est appelée comme avant (100 % rétro-compatible) @bfoujols
  • La méthode appelée est validée par le framework (publique, non statique, paramètre de type Request, retour string|null) et lève une ErrorControllerException avec un message explicite en cas d'erreur @bfoujols
  • #75 Gestion des fichiers téléversés ($_FILES) dans Request : normalisation automatique de la structure (champ simple et multi-fichiers), méthodes hasFile(), getFile(), getFiles(), isValid(), getExtension() et move(), démo applicative /medecin/import @bfoujols
  • #64 Activation du cache TWIG : les templates compilés sont stockés dans var/cache/twig (nouvelle clé de configuration cache_path), recompilation automatique des templates modifiés (auto_reload) @bfoujols
  • #65 Nouvelle commande php bin/edu cache:clear pour supprimer le cache de l'application (dossier var/cache) @bfoujols

bug Fixes

  • #86 Le fichier de configuration des routes est vérifié avant lecture : une exception ErrorRouteConfigNotExistException avec un message explicite (chemin attendu, configuration route_config_path, sensibilité à la casse sur Linux) remplace le fatal error du composant Yaml quand "routes.yaml" est introuvable @bfoujols

documentation

Release notes for v2.4.0

https://github.com/studoo-app/edu-framework/milestone/21


v2.3.2 - 05/10/2026

new features

  • Add documentation for building APIs and CRUD operations @bfoujols

bug Fixes

  • #143 Mettre à jour les chemins de sqlite et des logs pour utiliser des chemins relatifs @bfoujols
  • fix: mettre à jour la vérification de version PHP à 8.4 et ajuster les messages d'erreur @bfoujols
  • test: remplacer sha1 par hash('sha256', ...) dans FastRouteCoreTest @bfoujols

Release notes for v2.3.2

https://github.com/studoo-app/edu-framework/milestone/v2.3.2


v2.3.1 - 05/10/2026

bug Fixes

  • #143 Mettre à jour les chemins de sqlite et des logs pour utiliser des chemins relatifs @bfoujols

Release notes for v2.3.1

https://github.com/studoo-app/edu-framework/milestone/v2.3.1


v2.3.0 - 05/10/2026

new features

  • #136 Implement SQLite logging service for server request logs @bfoujols
  • #136 Add BufferFormat and BufferToServer classes for log formatting @bfoujols
  • #136 Add logs navigation in the debug bar @bfoujols
  • #136 Replace in-bar logs panel with a Symfony-style profiler page @bfoujols
  • #136 Enhance filtering capabilities and add status family counting @bfoujols
  • #69 Add custom listening socket (#69) Thanks @CapelleGab
  • #122 Add Manage DB by dbgate @bfoujols
  • #120 Add MailPit Service @bfoujols
  • #97 Add slash command @bfoujols
  • Update PHP minimum version 8.2 -> 8.4 (composer, bin/edu, CI, doc) @bfoujols
  • Update dependencies (vlucas/phpdotenv v5.7, nette/php-generator, zircote/swagger-php, symfony/yaml 6.3 -> 6.4) @bfoujols

bug Fixes

  • #136 Make SQLite logging non-blocking and resilient @bfoujols
  • #136 Send proper HTTP status codes from error controllers @bfoujols
  • #136 Gate debug routes on SQLite availability to prevent PDOException @bfoujols
  • #136 Buffer stream chunks into complete lines to preserve adjacent request logs @bfoujols
  • #130 github action E: Package 'netcat' has no installation candidate @bfoujols
  • #129 run command taskfile before-commit @bfoujols
  • Fix CI failure on profiler page and logs endpoint @bfoujols
  • Fix CI failure on debug toolbar (missing semicolon) and deprecated dynamic property @bfoujols
  • Fix debug toolbar always showing an empty controller instead of "aucun" (Request::hasHander always true) @bfoujols
  • Fix PHP 8.5 deprecation (PDO::MYSQL_ATTR_INIT_COMMAND -> PDO\MYSQL::ATTR_INIT_COMMAND) @bfoujols
  • Fix FastRouteCoreTest failures caused by APP_ENV state leaking between tests @bfoujols
  • Fix security advisories on symfony/yaml (CVE-2026-45304, CVE-2026-45305, CVE-2026-45133) @bfoujols

documentation

Release notes for v2.3.0

https://github.com/studoo-app/edu-framework/milestone/v2.3.0


v2.2.1 - 23/08/2024

new features

  • #119 add Request::getBody() @bfoujols

bug Fixes

  • #117 Fix class not use in API controller @bfoujols
  • Fix Doc install pip package

Release notes for v2.2.1

https://github.com/studoo-app/edu-framework/milestone/18


v2.2.0 - 08/08/2024

new features

  • #112 Implement OpenAPI @bfoujols

bug Fixes

  • #114 Update PHP version 8.1 -> 8.2 @bfoujols
  • #116 Add Tests for OpenAPI, Command Cli @bfoujols

Release notes for v2.2.0

https://github.com/studoo-app/edu-framework/milestone/17


v2.1.0 - 20/06/2024

new features

bug Fixes

  • #96 Problème d'installation de phpunit 11 @pbentura @RaphaelBensoussan
  • #92 Problème de TestUnit sur FastRouteCore

Release notes for v2.1.0

https://github.com/studoo-app/edu-framework/milestone/v2.1.0


v2.0.2 - 24/05/2024

bug Fixes

Release notes for v2.0.2

https://github.com/studoo-app/edu-framework/milestone/v2.0.2


v2.0.1 - 15/05/2024

bug Fixes

  • #88 Correction sur le probleme avec DatabaseService dans la ligne de command

Release notes for v2.0.1

https://github.com/studoo-app/edu-framework/milestone/v2.0.1


v2.0.0 - 06/04/2024

new features

  • #73 ajout de la commande php bin/edu make:api pour générer un controller de type API
  • #70 ajout de la commande php bin/edu make:command pour générer une commande console
  • #59 ajout d'une page par défaut sur la route

deprecations

  • #68 Suppression des anciennes configurations Docker
  • #72 Bootstrap 5.3 Clean

bug Fixes

  • #83 Docker compose.yaml: version is obsolete
  • #78 Barre de debug dans les pages d'erreur

documentation

Release notes for v2.0.0

https://github.com/studoo-app/edu-framework/milestone/v2.0.0


v1.2.0 - 25/03/2024

new features

  • #66 ajout de la commande php bin/edu start pour démarrer le serveur de développement
  • #62 ajout de la commande php bin/edu check:config pour vérifier la configuration du framework
  • #26 Implement PHPDebugBar

bug fixes

  • #81 Probleme de récupération des variables dynamiques passées dans la route via {}

Release notes for v1.2.0

https://github.com/studoo-app/edu-framework/milestone/v1.2.0


v1.1.0 - 03/2024

Version beta de la bar de debug avec les fonctionnalités suivantes :

  • Mise en place de la bar de debug en beta sur environnement de développement
  • Refonte de docker pour l'installation des services
  • Correction de bugs mineurs
    • Docker : correction sur le reseau des services Mydql et PhpMyAdmin

v1.0.0 - 2024

Version définitive du framework avec les fonctionnalités suivantes :

  • Création de controller via la commande php bin/edu make:controller

v0.6.0 - 2023

Version stable du framework avec les fonctionnalités suivantes :

  • Création de controller
  • Création de template
  • Création de route
  • Mise en place de la base de données

v0.5.0 - 2023

Versions de développement du framework avec les fonctionnalités suivantes :

  • Mise en place et conception de l'architecture du framework (MVC)
  • plusieurs POC des couches du MVC
  • Tests unitaires
  • Mise en place de la documentation du framework (Writerside)
  • Gestion de la configuration du framework (DotEnv)
  • Gestion de dépendances (Composer)
  • Gestion des services (Docker)

v0.1.0 - 2022

Début du projet Edu Framework