robotstxt-smtp-newsletter/changelog.txt
2026-02-18 16:09:17 +00:00

125 lines
6.9 KiB
Text
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

= 2.2.8 =
* CHANGED: Batch Size is now read from the plugin settings database — workers no longer require it as a command-line argument
* CHANGED: Worker command simplified: php worker.php "w1" (batch_size argument removed)
* IMPROVED: Batch Size field now shows a throughput table (10 workers × N emails = simultaneous emails)
* IMPROVED: Worker section in settings shows the calculated simultaneous email count based on current settings
* TECHNICAL: Legacy command format (php worker.php 10 "w1") still accepted with a deprecation warning
= 2.2.7 =
* IMPROVED: Worker now runs as a continuous loop, draining the queue completely before exiting
* IMPROVED: Statistics are synced after each batch (not only at the end)
* IMPROVED: Worker output includes worker ID on each line for clearer parallel logs
* FIXED: Uneven work distribution between parallel workers
* INVESTIGATING: Possible incompatibility with the Redirection plugin in MultiSite environments - output buffering mitigates known symptoms while investigation is ongoing
= 2.2.6 =
* CRITICAL FIX: Worker now suppresses plugin header warnings in MultiSite environments
* CRITICAL FIX: Fixed Newsletter base class dependencies not loading in DOING_CRON context
* CRITICAL FIX: Worker now manually initializes plugin when newsletter_loaded hook doesn't fire
* CRITICAL FIX: Fixed MultiSite subdirectory site detection - worker now correctly loads site from --url path
* CRITICAL FIX: Removed WP_CLI constant - caused fatal errors with multisite-clone-duplicator and similar plugins
* FIXED: "headers already sent" warnings from Redirection plugin and other plugins
* IMPROVED: Output buffering prevents header warnings from breaking worker execution
* IMPROVED: Worker loads NewsletterAddon and NewsletterMailerAddon before plugin
* IMPROVED: Worker calls Plugin::instance_init() manually for proper initialization
* IMPROVED: REQUEST_URI now parsed from URL path for correct MultiSite site selection
= 2.2.5 =
* CRITICAL FIX: Worker now loads plugin manually in DOING_CRON context
* FIXED: "Newsletter SMTP plugin is not active" error in worker script
* IMPROVED: Worker compatibility with all WordPress environments including MultiSite
= 2.2.4 =
* CRITICAL FIX: Speed calculation now uses actual NEWSLETTER_CRON_INTERVAL value
* FIXED: Batch_size was being divided by 5 due to incorrect cron interval assumption
* IMPROVED: Plugin now dynamically calculates speed based on actual Newsletter cron interval
* IMPROVED: Supports any cron interval (60s, 300s, etc.) without hardcoded assumptions
= 2.2.3 =
* CRITICAL FIX: Overridden get_emails_per_run() to bypass Newsletter's internal calculation
* FIXED: Newsletter was calculating batch = speed / 12, resulting in only 8-16 emails per execution
* FIXED: Plugin now directly returns configured batch_size for proper queue loading
= 2.2.2 =
* FIXED: Newsletter now correctly respects configured batch_size when enqueuing emails
* FIXED: Emails are now enqueued all at once to database instead of gradually
* IMPROVED: Added public $batch property that Newsletter reads directly
* IMPROVED: Added get_batch_size() method for Newsletter compatibility
= 2.2.1 =
* NEW: MultiSite detection in settings page with tailored worker commands
* NEW: Worker script now supports --url parameter for MultiSite environments
* IMPROVED: Settings page automatically displays installation-specific worker setup instructions
* IMPROVED: Worker documentation with MultiSite usage examples
* IMPROVED: README with dedicated MultiSite Installations section
= 2.2.0 =
**Major Update: Queue-Based Architecture**
* NEW: Database-backed email queue for persistent, reliable email delivery.
* NEW: External CLI worker script for asynchronous email processing.
* NEW: Queue Status widget showing real-time statistics (pending, processing, sent, failed).
* NEW: Recent Campaigns section with key metrics in settings page.
* NEW: Email Queue admin page to view all queued and sent emails.
* NEW: Statistics admin page with campaign performance metrics.
* NEW: Parallel worker support for high-volume sending (10+ workers simultaneously).
* NEW: Automatic retry with exponential backoff (up to 3 attempts: 5min → 15min → 30min).
* NEW: Campaign statistics tracking (start time, duration, speed, success rate).
* CHANGED: Emails are now queued to database instead of sent immediately.
* CHANGED: Settings page reorganized with Queue Status, Recent Campaigns, and Worker Configuration sections.
* CHANGED: Campaign statistics now grouped by unique Newsletter ID instead of campaign name.
* REMOVED: max_per_connection setting (no longer needed with worker architecture).
* REMOVED: Direct PHPMailer usage (replaced with wp_mail() in workers).
* FIXED: Duplicate campaign statistics for campaigns with same name but different IDs.
* FIXED: Worker command documentation (corrected parallel worker syntax).
* BREAKING: Manual worker setup required - emails no longer send automatically.
* BREAKING: System cron or process supervisor required for production use.
* Technical: New database tables for queue and statistics with automatic creation on activation.
* Technical: Microsecond precision timestamps for accurate performance metrics.
* Security: CLI-only worker script with SQL injection prevention and capability checks.
= 2.1.0 =
* Changed uninstall behavior: plugin no longer performs cleanup on uninstall, all data cleanup is now handled by the core SMTP plugin.
* This ensures Newsletter configuration is preserved when only the add-on is removed, and properly cleaned when the core plugin is uninstalled.
* Simplified uninstall.php to delegate all cleanup responsibility to core SMTP plugin.
= 2.0.1 =
* Removed Network requirement from plugin headers to allow single-site activation.
= 2.0.0 =
* Updated compatibility with SMTP (by ROBOTSTXT) plugin 2.0.0.
* Enhanced integration with core SMTP plugin security improvements.
* Improved error handling and validation.
* Code quality improvements.
= 1.0.0 =
* Initial release with SMTPKeepAlive support for efficient SMTP batch sending.
* Amazon SES API integration for optimized delivery.
* Automatic configuration from ROBOTSTXT SMTP plugin.
* Dynamic speed calculation from SMTP rate limits (up to 32,400 emails/hour).
* Batch processing with configurable batch size (up to 2,610 emails per chunk).
* Support for custom batch sizes per provider type.
* Max emails per connection configuration to prevent timeouts.
* Integration with ROBOTSTXT SMTP rate limiting system.
* Automatic FROM address configuration from ROBOTSTXT SMTP.
* HELO hostname configuration for multisite compatibility.
* Comprehensive error logging to Newsletter system.
* Automatic detection of SMTP vs Amazon SES mode.
* Resilient error handling - continues sending even if individual recipients fail.
* WP-CLI compatibility for cron execution.
* Uninstall script to clean database on plugin deletion.
* Performance: 20-30x faster bulk email sending compared to standard wp_mail().
* Performance: Sends 22 emails in ~7 seconds using SMTPKeepAlive.