Releases: schlebek/content-quality-analyzer
Releases · schlebek/content-quality-analyzer
Release list
v1.5.2 — Fatal error fix on duplicate plugin folder
What's fixed
All global PHP functions (cqa_autoload, cqa_activate, cqa_uninstall, cqa_init, cqa_load_textdomain, cqa_invalidate_cache) are now guarded with function_exists().
Problem
Uploading a new plugin ZIP through WordPress admin extracts to a folder with a suffix such as content-quality-analyzer-master. If the previous version (content-quality-analyzer/) is still active, both plugin files load simultaneously, causing:
Fatal error: Cannot redeclare cqa_autoload() (previously declared in
.../content-quality-analyzer/content-quality-analyzer.php:28)
in .../content-quality-analyzer-master/content-quality-analyzer.php on line 37
Fix
Every global function is now wrapped in if ( ! function_exists( '...' ) ) { ... }, so the second instance silently skips redeclaration.
Upgrade path
Delete the old content-quality-analyzer-master/ directory from wp-content/plugins/ after uploading the new version, or rename the extracted folder to content-quality-analyzer before activating.
v1.5.0
What's new
Added
- Manual overrides for AI-Friendly criteria — each warn/fail criterion now has a "Verified / Added" checkbox. Checking it promotes the item to pass and recalculates the AI-Friendly score live. Override state is saved per post in
_cqa_aifriendly_overridespost meta and restored on next metabox load. - Green "manual" badge displayed on overridden criteria so it's clear which items were verified by hand.
Fixed
- Unicode encoding bug — Polish and other non-ASCII characters were stored as
\uXXXXescape sequences in cached results and localized JS data. Fixed by replacingwp_localize_script()withwp_add_inline_script()and addingJSON_UNESCAPED_UNICODE | JSON_UNESCAPED_SLASHESflags to allwp_json_encode()andwp_send_json_success()calls. - Stale cache auto-invalidation — on first metabox load after the update, any cached results containing escaped Unicode are automatically cleared so the next analysis stores clean data.
v1.2.0
Content Quality Analyzer v1.2.0
WP.org Compliance Release
- Named hook functions (no anonymous closures)
- Removed
sslverify => falsefrom all HTTP requests - Added
sanitize_callbackto allregister_setting()calls - Replaced
@set_time_limit()withfunction_exists()guard - Added
register_uninstall_hook()for clean removal - Full i18n support with
load_plugin_textdomain() - Activation hook with default options
- Proper plugin header (Text Domain, Requires at least, Requires PHP, License)