Hi guys,
Mailwizz 1.3.9.0 is here with huge changes and while it has gone through a lot of tests we still need to test it in real world scenarios, so if you could test this beta release on your own, it would be awesome.
Please don't use it in production for now, it's a beta release after all and it's not the final release either.
If you find any issues with it, please let me know in comments, meanwhile you can download it from
here.
Please make sure you read the entire changelog:
Code:
--- -------------------------------------------
--- Version 1.3.9.0 - 2017-03-02
--- -------------------------------------------
[ADD] - Added Opens/Clicks/Bounces/Delivery stats to campaigns listing page
[ADD] - Added 24 hours performance graphs for campaigns
[ADD] - Added campaign_form_setup_step_{before,after}_campaign_options action hooks
[ADD] - Added campaign_form_template_step_{before,after}_top_options action hooks
[CHG] - Changed the number of recent campaigns dropdown from 10 to 30
[CHG] - Removed all `ActiveRecord::getPendingDelete()` methods and added `ActiveRecord::getIsPendingDelete()` instead
[BUG] - Fix serialize in "CustomerGroupOption::beforeSave" model
[BUG] - Fix "CommonHelper::getQueriesFromSqlFile"
[ADD] - Added ability to disable API signature checking from backend area
[ADD] - Added layout_top_navbar_menu_items_start and layout_top_navbar_menu_items_end action hooks in backend/customer layouts
[ADD] - Added the ability to pause the sending for delivery server after each email it sends
[ADD] - Added [DS_TYPE] and [DS_ID] tags
[ADD] - Added subject lines in list page types and list pages
[ADD] - Added sync-lists-custom-fields command
[ADD] - Added ability to mask emails client side, that is: abcd@gmail.com becomes a**d@gmail.com
[ADD] - Added ability to disable customers to edit their own subscribers
[ADD] - Added optin history for subscribers to comply with CASL and CASL like laws
[ADD] - Added [SUBSCRIBER_OPTIN_IP], [SUBSCRIBER_OPTIN_DATE], [SUBSCRIBER_CONFIRM_IP], [SUBSCRIBER_CONFIRM_DATE] custom template tags
[ADD] - Added ability to decide if customers/customer groups can use autoresponders
[ADD] - Added ability to select what columns to be shown in the grid views in backend area
[ADD] - Added ability to select what columns to be shown in the grid views in customer area
[ADD] - Added ability to set "Delivery servers logs removal days" from backend area
[ADD] - Added caching for campaigns stats
[ADD] - Implemented queue tables for AR's too, previously only regular campaigns supported
[ADD] - Added ability to select multiple campaigns for sending to subscribers who have opened/unopened previous campaigns
[BUG] - FBL handler used the hardcoded X-MW- prefix
[CHG] - Campaign started at will only change when the campaign enters processing for the first time
[CHG] - Moved subscribers can now be confirmed via bulk actions
[CHG] - Excluded IPS from tracking will now redirect to final destination, the click will not be tracked though
[CHG] - Changed default campaigns open page to unique opens instead of all opens
[CHG] - Database import now takes into consideration only email columns with length greater than 0
[CHG] - The internal bounce will have the message set to "Internal Bounce" if no message can be extracted from the bounced email
[IMP] - Bounce handler and FBL handler now try to use pcntl for faster processing
[MSC] - Various misc fixes
[MSC] - Overall cleanup of unused classes/features
[RMV] - Removed the old, unused redis queue sending mechanism
[RMV] - Removed redis queue entirely from the system
[RMV] - Removed the send-parallel-campaigns command since it is not needed anymore
[RMV] - Removed the Minify package
[RMV] - Removed the old Facebook package
[UPD] - CKEditor update
[UPD] - ElFinder update
[UPD] - Updated internal mailwizz api client
[NOTES for customers]
1. Because we added the ability to select multiple campaigns for opens/unopens, the old way of selecting a single
campaign is not going to work anymore, so please make sure you don't have sending campaigns that use this feature.
[NOTES for developers]
1. Make sure you replace any calls to `$model->pendingDelete` with `$model->isPendingDelete` and
and calls to `$model->getPendingDelete()` with `$model->getIsPendingDelete()`