Repository navigation
Releases: Webpixelia/form-quizz-fqi3
Releases · Webpixelia/form-quizz-fqi3
Release list
Version 3.4.0
[3.4.0] - 2026-11-04
Summary
Major security hardening, data integrity fixes, performance improvements, and expanded automated testing.
Security
- Added capability and nonce checks for exporting, adding, editing, and deleting questions.
- Restricted API token revocation and test email functionality to administrators.
- Ensured badges can only be awarded to the logged-in user and restricted access to quiz levels reserved for authenticated users.
- Removed automatic modifications to
wp-config.php. TheGITHUB_PERSONAL_TOKENconstant must now be defined manually; existing definitions remain supported. - Secured backup and report storage with protected directories and unguessable file names. On Nginx, add a deny rule for
fqi3_backupsandfqi3_reports. - Stopped trusting forwarded IP headers by default for API rate limiting, API logging, and import logging. Use the
fqi3_trusted_proxiesfilter to declare trusted reverse proxies or CDNs. - Encrypted new API tokens using AES-256-GCM with a key derived from WordPress salts. Existing tokens remain compatible. Changing the salts requires generating a new token.
- Neutralized spreadsheet formulas in CSV exports, prevented question text from being interpreted as HTML in the incorrect answers table, and restricted browser-submitted quiz scores to 0–100 for existing levels only.
Fixed
- Prevented failed imports from wiping all questions. Imports now back up existing data, validate the import file, and use
DELETEinstead of non-rollbackableTRUNCATE. - Fixed Premium Member role removal during plugin deactivation. The role is now removed on uninstall only when data deletion is enabled.
- Fixed admin redirects for administrators who also have the Premium Member role.
- Fixed monthly statistics scheduling and ensured cron events are removed on deactivation and uninstall.
- Made the questions cache user-specific and fixed the number of questions per quiz to follow the configured setting instead of remaining fixed at 10.
- Fixed REST API rate limiting to count exactly one request per call.
- Fixed the free flag being dropped from the last imported level and eliminated related PHP warnings.
- Fixed periodic statistics being incorrectly recorded for every user instead of the intended user.
- Made statistics updates atomic to prevent lost updates when multiple quizzes finish simultaneously and ensure consistent values.
- Fixed add-on installation to rename the downloaded folder through the WordPress upgrader instead of renaming unrelated folders with similar names.
Improvements
- Moved the daily quiz limit enforcement server-side for logged-in users. Starting a quiz consumes one trial, and counters restart from zero.
- Bundled Chart.js and canvas-confetti to eliminate third-party CDN requests on public pages.
- Limited front-end asset loading to pages using the plugin and introduced the
fqi3_load_frontend_assetsfilter to force loading when needed. - Removed the attempts table check from every request.
- Improved internal redirects with
wp_safe_redirect()and made CSV exports use stable pagination. - Expanded uninstall cleanup to remove all plugin options, transients, the attempts table, and export directories.
- Updated the README to reflect the current codebase.
Development
- Added PHPUnit unit tests, an integration smoke test, and a PHPCS configuration. See
tests/README.mdfor details.
Version 3.3.0
[3.3.0] - 2025-09-23
Summary
Gutenberg blocks refactor, new hooks/utils, and bug fixes.
Refactor
- Gutenberg blocks refactored with native options, custom attributes, and introduction of the new
FQI3_Blocksclass. - Adjusted
FQI3_Frontend,FQI3_Statistics, andFQI3_PeriodicStatisticsto pass additional arguments in methods and added instance initialization in the root file.
Added
- Core plugin hooks (PHP) and shared JavaScript utils (
window.fqi3Blocks.utils) for easier extension by add-ons.
Fixed
- Too many arguments passed to
validate_user_permissionsmethod inFQI3_PeriodicStatisticsclass. - Removed reference to non-existent
PerformanceTableManager.php.
Version 3.2.1
[3.2.1] - 2025-09-17
Fixed
- Corrected undefined array key warnings in the plugin updater (GitHub API integration).
- Replaced invalid cache key
"participation"with"correct_answers"in badge settings to prevent API endpoint 500 error.
Improved
- Added version number display next to "Installed" status in add-ons list for better version management.
Version 3.2.0
🚀 Version 3.2.0
Cette version apporte une refonte majeure de l’intégration GitHub et plusieurs nouveautés côté badges et gestion des quiz.
✨ Nouveautés
- Nouvelle page des licences : configurez facilement votre token GitHub personnel.
- Notifications d’update intégrées : recevez directement les mises à jour des add-ons dans l’admin WordPress.
- Nouveau type de badge : Correct Answers Badges (Total Correct Answers).
- Option supplémentaire : activez les badges multi-niveaux pour les réponses correctes.
- API étendue : l’endpoint REST : GET /wp-json/fqi3/v1/badges/settings/{type} supporte désormais
participation-badge.
🔧 Améliorations
- Support du dossier
vendor/dans les dépôts GitHub. - Refonte de l’installation/activation des add-ons depuis GitHub (téléchargement et installation automatiques).
- Le menu admin n’affiche la page Add-ons que si un token GitHub valide est configuré.
- Possibilité de purger manuellement les tentatives de quiz (indépendamment de la rétention automatique).
🐛 Corrections
- Ajout des entrées
github_repomanquantes pour certains add-ons → installation automatique désormais possible.
Version 3.1.0
API & Statistics Improvements, Badge Fixes, and Translations
Version 3.0.0
Version 2.2.0
[2.2.0] - 2024-12-05
New Features
- New: Added a dashboard page for a quick overview of key information.
- Added: New option to include administrators in premium role features for testing purposes.
- Added: Users can now download the "Incorrect Answers" table as a CSV file.
Changes
- Modified: Changed the structure of the
fqi3_access_rolesdatabase option.
Improvements
- Improved: UI/UX with customizable, responsive modals for a smoother question deletion confirmation.
Bug Fixes
- Fixed: Display bug in the badge legend table.
Version 2.1.0
Changelog
[2.1.0] - 2024-12-01
Added
- Option: Set the number of answer choices for questions, with a range between 4 and 10.
Enhanced
- Improved: RTL support for forms.
Changed
- Default Options: Management now uses the global
fqi3_default_options()function instead of class-specific methods.
Fixed
- SQL Queries: Adjusted to comply with WordPress database query best practices.
- Uninstallation: Resolved a call to undefined functions.
- Fatal Error: Fixed private method used as a callback during activation.
- Quiz Levels: Ensured a default empty array is returned when the quiz levels option is not initialized.
- Access Control: Addressed fatal error in settings.
- Plugin Options: Properly initialized during uninstallation.
Updated
- Documentation: Updated the
readme.txtfile.
Version 2.0.1
Changelog
[2.0.1] - 2024-11-28
Added
- New: Updates are now managed through GitHub releases, ensuring seamless updates directly from the repository.
Version 2.0.0
Changelog
[2.0.0] - 2024-11-28
Added
- New Feature: Added a
[fqi3_periodic_stats]shortcode to display advanced periodic statistics for the current user on posts, pages, or widgets. - Displayed incorrectly answered questions at the end of the quiz, along with the user's answers and the correct answers.
- Two new data exports: 'Performance' and 'Advanced Stats'.
Improved
- Reviewed administration UI with Bootstrap for enhanced consistency and user experience.
- Refactored FQI3 plugin classes and page classes for better performance, readability, and maintainability.
Fixed
- Resolved index issue during the saving of levels and badges.
- Resolved issues with the add and remove buttons not functioning correctly.
- Resolved issue with Level ID value sanitization.
- Missing "Access" column in the exported quizzes CSV file.
Compatibility
- Support for WordPress 6.7.