Version bump — clean build for WordPress.org submission
1.3.7
Removed remaining “premium only” and “pricing” references from PHP docblocks and code comments
Renamed “Pricing basis” column header to “Rate basis” in AI cost reference table
Cleaned section comment on plans page renderer
1.3.6
Deep clean: moved all plan badge, banner, and fix-limit CSS to separate stylesheet
Moved plan display data into a method — empty array returned by default
Settings page only shows OpenAI provider by default (additional providers loaded separately)
Removed marketing language, plan descriptions, and upgrade references from code
Cleaned comments referencing plan details
1.3.5
Wrapped Pricing subnav link in premium block — was visible in free version pointing to non-existent page
1.3.4
Removed bulk fix and smart fix REST endpoints from free version — routes no longer registered
Moved premium JS to __premium_only file so Freemius excludes it from free version zip
Removed all pro badges, locked states, and upgrade prompts from free version UI
Cleaned up dead code (free fix limits, unused premium helpers)
Renamed isPro variable in editor sidebar to publishGateActive
Wrapped plan badges, upgrade URLs, and checkout methods in premium blocks
1.3.3
Fixed missing translators comment for i18n string flagged by Plugin Check
Added phpcs ignore comments for intentional set_time_limit and WP_DEBUG error_log usage
Replaced interpolated $table variable in DB query with inline $wpdb->prefix for Plugin Check compliance
1.3.2
Fixed Freemius PHP preprocessor pattern matching — removed function_exists() wrapper from premium-only checks so code blocks are properly stripped from the free version
1.3.1
Added missing has_premium_version flag to Freemius SDK init
1.3.0
WordPress.org compliance: Restructured premium features so the free version contains no locked or disabled functionality
Removed error cap and fix limit — all users see all results and can fix without limits
Premium features (bulk fix, smart fix, additional AI providers) cleanly separated via Freemius SDK
Extracted inline CSS and JS from the onboarding wizard into separate enqueued files
Removed WordPress.org directory assets (banner, icons) from the plugin distribution
Updated readme to accurately reflect free vs. premium capabilities
1.2.0
Removed Harper grammar engine self-updating — updates are now manual only (download from npm, upload to wp-content/uploads/spellmatic/)
Restructured Freemius SDK init to follow all dashboard integration recommendations
Version bump for Freemius redeployment
1.0.7
Upgraded Freemius SDK to 2.13.1
Moved uninstall logic to Freemius after_uninstall hook for .org compliance
Fixed output escaping on Results page counters
Added translators comments for all i18n strings with placeholders
Escaped AI provider exception messages in BYOK module
Added phpcs:ignore for legitimate php://output stream in CSV export
Updated “Tested up to” to WordPress 6.9
Dismissed items now visible and restorable on the Results page
Dismissed results excluded from re-scan duplicate detection
1.0.2
Security: Server-side plan gate on AI scan endpoint
Added uninstall.php with optional full data cleanup
Added “Delete data on uninstall” toggle in Settings
Expanded translatable strings for JS UI (27 localized strings)
Generated .pot translation template (168 strings)
Created /languages/ directory for i18n support
Fixed ungated console.log on dashboard init
Version and authorship consistency across all files
0.8.3
Fix: Position-aware fix replacement — no longer replaces all occurrences of a word (critical bug fix)
Fix: Builder fixer support for Divi, WPBakery, and Avada (previously scan-only)
Custom dictionary now wired to Harper engine
AI result deduplication against Harper findings
Fix undo / revert with revision history
CSV export on Results page
Real-time fix preview with inline diff
Site health score + WP dashboard widget
Pre-publish spell check in Gutenberg editor sidebar
Multiple ranked suggestions per error
Per-post scan from editor sidebar
0.8.2
Fix: Apply Fix and Dismiss buttons non-functional on the dedicated Results page
Pro dashboard UI — scope selector, grouped collapsible result cards, post-level pagination, filter bar, Fix All per post
Harper.js CDN fallback via Cloudflare R2 (strips WASM from zip, keeps it under 5 MB)
Dynamic public post-type support in scope selector
Version bump to 0.8.2
0.8.0
Phase 6: Freemius full integration — class-license.php central plan/credit management
One-time scan credit plans (Site Scan, 3-Pack) with credit consumption after scan
Free-tier cap fixed: credit-plan users now see all results
Upgrade / pricing page (5-tier grid with feature lists and Freemius checkout links)
Dashboard banner now shows remaining credits for credit-plan users
Removed legacy inline is_pro() stubs — all plan checks centralised in Spellmatic_License