All notable changes to the 84EM Consent plugin will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
- Fixed CSS not loading due to async
media: 'print'technique not being handled by theme's async CSS loader - Reverted to standard
media: 'all'for reliable CSS loading
- Bumped cookie_version to 2025-12-02 to trigger re-consent
- Fixed page scroll on first load caused by focus management in consent banner
- Minified consent banner HTML output to a single line for cleaner page source
- Performance Optimizations - Improved loading speed and reduced render-blocking resources
- Implemented async CSS loading using
media: 'print'technique to prevent blocking initial render (84em-consent.php:118) - Added PHPDoc note about performance optimizations (
84em-consent.php:109)
- Implemented async CSS loading using
- Script Loading Strategy - Updated JavaScript to use modern WordPress 6.3+ defer strategy
- Changed from
'strategy' => 'async'to'strategy' => 'defer'for better execution control (84em-consent.php:136) - Ensures script executes after DOM is ready and in order with localized data
- Maintains
'in_footer' => truefor optimal performance
- Changed from
- Expected Performance Improvements
- Reduced render-blocking CSS (consent banner CSS loads asynchronously)
- Better script execution timing (defer ensures DOM ready before execution)
- Works seamlessly with theme's async CSS loader in
performance.php
- Refined accent color to improve visual consistency
- Updated color scheme to match 84EM logo
- PHP 8+ type hints for properties (nullable and array types)
- Return type declarations on all methods
- Comprehensive PHPDoc comments for all methods
- Named parameters for improved code readability
- Refactored code to use modern PHP 8+ syntax
- Improved code documentation and inline comments
- Updated license from GPL-2.0-or-later to MIT
- Added LICENSE file with MIT License text
- Updated plugin header with MIT license information
- Updated
wp_enqueue_script()to use array syntax for thein_footerparameter instead of boolean - Changed secondary button text color from accent color to white for better contrast
- Removed unnecessary @font-face declarations from CSS
- Improved mobile button layout for better user experience on small screens
- Added CHANGELOG.md
- Initial release of 84EM Consent plugin
- Simple cookie consent banner for strictly necessary cookies
- Dual storage system using localStorage and cookies for redundancy
- JavaScript API for checking consent status
- PHP helper function for server-side consent checking
- Configurable settings via WordPress filter system
- AJAX handler for server-side cookie setting
- Responsive design with accessibility features
- Build system for asset minification
- Support for custom branding and colors
- Privacy policy link integration
- Cookie version tracking for re-consent
- Automatic consent expiration (180 days default)