= 2.2.4 =
* Fix: Switched from wp_safe_redirect() to wp_redirect() for external advertiser destinations.

= 2.2.3 =
* Fix: Prevented false Secure Custom Fields missing notice when SCF is already active.

= 2.2.2 =
* UI: Removed "Integration Codes" column from the advertisements list table for a cleaner interface.

= 2.2.1 =
* Maintenance: Renamed all ACF (Advanced Custom Fields) integration references to SCF (Secure Custom Fields).
* Compatibility: Added support for native SCF function names while maintaining backward compatibility with ACF functions.
* UI: Updated admin notices and labels to reflect Secure Custom Fields branding.

= 2.2.0 =
* Feature: Implemented "Advertizers" feature to categorize ads by advertiser.
* Feature: Added custom fields (Email, Website, Notes) for Advertizers.
* UI: Added "View Ads" quick link in Advertizers list.
* Reporting: Added ability to filter analytics reports by Advertizer.

= 2.1.0 =
* Feature: Added "Integration Codes" modal to easily copy PHP shortcodes and JavaScript tags.
* UI: Added "Integration Codes" column with a quick-view icon to Ads and Ad Zones list tables.
* UI: Improved ad and zone edit screens with direct display of integration codes.
* Improvement: Unified shortcode and script tag generation logic.
* Maintenance: Bumped version to 2.1.0.

= 2.0.0 =
* Compliance: Updated plugin to adhere to WordPress.org detailed guidelines.
* Compatibility: Updated "Tested up to" metadata to WordPress 7.0.
* Security: Hardened admin notice visibility logic and refined ad export safety.
* Device Detection: Improved reliability by integrating wp_is_mobile() as a baseline.
* Maintenance: Bumped version to 2.0.0.

= 1.9.2 =
* Maintenance: Created .gitattributes file for better archive management.
* Maintenance: Bumped version to 1.9.2.

= 1.9.1 =
* Maintenance: Updated .distignore to include .idea directory.
* Maintenance: Bumped version to 1.9.1.

= 1.9.0 =
* Security hardening: Improved nonce verification across several admin and tracking functions.
* Security hardening: Enhanced input sanitization for role capabilities and file uploads.
* Code Quality: Resolved multiple WordPress Coding Standards (WPCS) warnings and PHPCS violations.
* Code Quality: Improved SQL query safety by ensuring proper placement of PHPCS annotations for dynamic table names.
* Maintenance: Cleaned up project structure by removing unnecessary configuration files.

= 1.8.3 =
* Added safety checks for get_field() and acf_add_local_field_group() to prevent crashes when Secure Custom Fields is not active.
* Refined cache clearing logic to target only the plugin's custom post type.
* Improved performance in the reporting dashboard by limiting ad filtering to the 100 most recent ads.
* Standardized asset versioning to use the plugin's version constant.
* Hardened dependency checks to support both 'Secure Custom Fields' and standard 'ACF' naming conventions.
* Updated bundled Chart.js to the latest stable version.
* Replaced direct script tags with WordPress enqueue APIs for reports and shortcode rendering.

= 1.7.2 =
* Removed external dependency on Chart.js CDN.
* Included Chart.js locally in the plugin to comply with WordPress.org guidelines.

= 1.7.1 =
* Renamed plugin to "Iteearmah Ad Rotation and Analytics" and updated slug to "iteearmah-ad-rotation-analytics".
* Updated text domain to "iteearmah-ad-rotation-analytics".

= 1.7.0 =
* Removed hidden .gitkeep file from languages directory to comply with WordPress.org guidelines.
* Added index.php to languages directory to maintain the folder structure safely.

= 1.6.0 =
* Finalized text domain migration to "adserver" across all files.
* Verified WordPress.org automated scan fixes and bumped version for clean submission.

= 1.5.0 =
* Fixed automated plugin scan issues: added sanitize_callback to register_setting() calls.
* Updated "Tested up to" to WordPress 7.0.
* Changed Text Domain to "adserver" to match plugin slug.
* Created languages directory for Domain Path compliance.

= 1.4.0 =
* Renamed plugin display name from "WP Iteearmah Ad Rotation and Analytics" to "Iteearmah Ad Rotation and Analytics" for WordPress.org directory compliance.

= 1.3.0 =
* Security audit: added input sanitization, output escaping, and URL validation across all files.
* Hardened click redirect with wp_http_validate_url() and wp_safe_redirect() fallback.
* Secured import functionality with uploaded file checks and post data sanitization.
* Replaced json_encode with wp_json_encode and date() with gmdate() for best practices.
* Added Text Domain and Domain Path headers for i18n compliance.
* Added proper cleanup of tracking table and transients on uninstall.
* Updated git configuration files (.gitignore, .gitattributes, .distignore, .editorconfig).

= 1.2.0 =
* Fixed ad serving reliability for non-public post types in AJAX contexts using direct database queries.
* Improved cache invalidation with versioned transients and hooks for all ad status changes.
* Enhanced administrator debug output with visitor context, filtering reasons, and ad status details.
* Standardized zone slug handling to lowercase across shortcodes and AJAX handlers.
* Added .gitattributes with export-ignore directives for clean distribution archives.

= 1.1.0 =
* Migrated the "Allowed Usernames" whitelist to a modern user selection system using Secure Custom Fields (SCF).
* Enhanced security and reliability by switching from username-based filtering to user ID-based filtering.
* Implemented a dependency enforcement system to ensure the "Secure Custom Fields" (SCF) plugin is installed and active.
* Improved UI/UX with a tabbed interface and modernized styling for the Access Settings page.

= 1.0.0 =
* Initial release.
* Modular architecture for better maintainability.
* Custom post type `itea_ad` for structured ad management.
* Weighted rotation system using `[itea_adserver]` shortcode.
* Advanced Geo-targeting capabilities.
* Ad scheduling and performance capping (impressions/clicks).
* Zone-based ad delivery.
* Detailed impression and click tracking with admin dashboard statistics.
