--- -------------------------------------------
--- Version 2.1.13 - 2022-06-15
--- -------------------------------------------
[MSC] - Overall fixes
[UPD] - Updated composer packages

--- -------------------------------------------
--- Version 2.1.12 - 2022-06-14
--- -------------------------------------------
[MSC] - Overall fixes
[UPD] - Updated composer packages

--- -------------------------------------------
--- Version 2.1.11 - 2022-06-14
--- -------------------------------------------
[IMP] - Autosaves the campaign form when navigating using the wizard
[BUG] - Fixed a bug where html was removed from translations
[IMP] - We no longer track urls from the <link> tags in campaign email templates
[UPD] - Upgraded jQuery to latest version
[UPD] - Upgraded ElasticEmail API from v2 to v4 (new REST api)
[CHG] - We will use the Details column instead of Description column for Postmark bounces
[CHG] - Changed the way we regenerate the system urls  
[BUG] - Fixed an error where masked emails would be displayed in shared stats pages  
[ADD] - New tags: INCREMENT_ONCE_BY_X, DECREMENT_ONCE_BY_X, MULTIPLY_ONCE_BY_X
[CHG] - Use bordoni/phpass instead of ozh/phpass which is discontinued 
[ADD] - Added Favorite pages feature that allows you to bookmark pages
[UPD] - Updated composer packages 

--- -------------------------------------------
--- Version 2.1.10 - 2022-05-02
--- -------------------------------------------
[ADD] - Added support for Embed Images for Mailgun Web Api
[BUG] - Fix a bug in the Symfony Mailer implementation for embed images
[RMV] - Deprecated AppInitHelper::fixRemoteAddress
[ADD] - Added options to tell the app it is running under a reverse proxy so that it extracts the right IP addresses for visitors
[SEC] - Fixed a bug that allowed guest users to bypass the anti-brute login mechanism and do more login requests that allowed
[CHG] - Changed the way we retrieve the IP addresses of visitors. See https://www.mailwizz.com/kb/ip-detection-changes-since-2-1-10/
[BUG] - The search extension would show the search modal in the login screen when it should not
[ADD] - Implemented backoff/throttle for failed login attempts
[ADD] - Added Warmup Plans for delivery servers, to build sender reputation over a period of time. See https://www.mailwizz.com/kb/delivery-servers-warmup-plans/

--- -------------------------------------------
--- Version 2.1.9 - 2022-04-04
--- -------------------------------------------
[UPD] - CSS updates
[MSC] - Overall fixes
[UPD] - Updated composer packages

--- -------------------------------------------
--- Version 2.1.8 - 2022-04-01
--- -------------------------------------------
[ADD] - Added ability to see the public campaigns history for a list
[ADD] - Added a new feature that allows a backend user to create notes for each customer
[BUG] - The campaign template will stay in sync with the plain text version from now on
[ENH] - More modern blue skin
[ADD] - Added dark mode for the blue skin
[MSC] - Overall fixes
[UPD] - Updated composer packages

--- -------------------------------------------
--- Version 2.1.7 - 2022-03-14
--- -------------------------------------------
[ADD] - Added ability to import Bounce Servers, Feedback Loop Servers and Email Box Monitors from a CSV file
[BUG] - Fix bulk action error on subscribers grid
[MSC] - Overall fixes
[UPD] - Updated composer packages

--- -------------------------------------------
--- Version 2.1.6 - 2022-03-07
--- -------------------------------------------
[ADD] - Added ability to blacklist IP addresses in customer area
[ENH] - The subscribe page will now check if the subscriber IP address is blacklisted and forbid access if it is
[ADD] - Added loader for list growth widget
[ENH] - When importing in web, if an email address is blacklisted, we now show the real reason, not a generic message anymore
[ADD] - Added "Complaints" to Customer > Campaigns > Stats grid
[ADD] - Added "delete-orphan-campaign-gallery" command to delete gallery folders for campaigns that don't exist anymore
[MSC] - Overall fixes
[UPD] - Updated composer packages

--- -------------------------------------------
--- Version 2.1.5 - 2022-02-15
--- -------------------------------------------
[BUG] - Campaign overview would load only for sent campaigns

--- -------------------------------------------
--- Version 2.1.4 - 2022-02-14
--- -------------------------------------------
[ADD] - In backend area, in lists and campaigns overview, the counter links are now clickable and will redirect to customer area impersonating the right customer
[ADD] - Now the Customer Notification set in the Common tab of a Customer Group will not show after the close button is pressed
[CHG] - The campaign overview widgets will load through AJAX (asynchronous) to avoid blocking the page rendering
[CHG] - The customer and backend dashboards will load through AJAX (asynchronous) to avoid blocking the page rendering
[BUG] - API endpoint for subscribers would not parse default values for custom fields when they contain tags. Now fixed
[CHG] - Default values for list custom fields will be set via import and API, no need to wait for the sync command anymore. The trade-off is a slower import if the fields have default values
[BUG] - The [*_LINK] tags would create entries in the campaign url table for each email that would go out resulting in large number of records in the table and slow campaign pages load
[ENH] - The queries for counting all clicks and unique clicks have been rewritten resulting in huge performance improvements in campaigns list page and campaign overview page
[ENH] - When a list is copied, if the "List Form Custom Assets" extension is enabled, it will copy those assets as well
[ENH] - When a list is copied, if the "List Form Custom Redirect" extension is enabled, it will copy the redirect as well
[ADD] - If sending a list (un)subscribe confirmation email fails to send, the list owner and system users will be notified via system messages (applies for regular web and api)
[ADD] - If sending sharing stats for a campaign via email fails to send, the list owner and system users will be notified via system messages
[ADD] - If sending the welcome and/or approval email fails for a list subscriber, the list owner and system users will be notified via system messages
[ADD] - Users and customers will now receive a daily digest via email, with their unread messages

--- -------------------------------------------
--- Version 2.1.3 - 2022-01-25
--- -------------------------------------------
[MSC] - Overall fixes
[UPD] - Updated composer packages

--- -------------------------------------------
--- Version 2.1.2 - 2022-01-24
--- -------------------------------------------
[ADD] - Add the 'campaign-grid-stats-cache-warmup' console command to warm up the caches for campaigns grid view
[BUG] - Exported subscribers would contain encoded quotes, now they do not
[ADD] - Added SymfonyMailer as an alternative to SwiftMailer. SymfonyMailer is about 20% faster than SwiftMailer, it will become the default mailer and we will remove SwiftMailer
[ADD] - Campaign stats, the customer can decide now how many days to wait to send the second email
[CHG] - Campaigns in send groups will now calculate the stats ONLY based on the emails delivered by the campaign itself
[MSC] - Overall fixes
[UPD] - Updated composer packages

--- -------------------------------------------
--- Version 2.1.1 - 2022-01-13
--- -------------------------------------------
[CHG] - The priority for the email address used in list unsubscribe is (low < high): Campaign Reply To < Server Forced Reply To < Customer Group: List Unsubscribe Header Email
[CHG] - Country name change: Swaziland => Eswatini
[MSC] - Overall fixes
[UPD] - Updated composer packages

--- -------------------------------------------
--- Version 2.1.0 - 2022-01-10
--- -------------------------------------------
[BUG] - Unparsed URLs in web version when opened without a subscriber identifier
[CHG] - Bounces / FBLs / EBMs will not be identified via custom headers anymore BUT only via the original message id
[RMV] - Removed all custom headers used to identify a campaign / subscribers, we're using the Message-Id header now
[BUG] - URL would not be normalised in some cases when doing redirects for tracking
[BUG] - Possible duplicate open tracking pixel under certain circumstances
[ENH] - Make sure we add the open tracking pixel only if it does not exists in the content
[BUG] - Remove Postmark delivery server casting to array which would cause the message to deliver but report it did not
[MSC] - Overall fixes
[UPD] - Updated composer packages

--- -------------------------------------------
--- Version 2.0.34 - 2021-12-16
--- -------------------------------------------
[ADD] - Added a new chart in the list overview showing the growth/shrink over a period. The hourly cron is handling creating the counters
[MSC] - Overall fixes
[UPD] - Updated composer packages

--- -------------------------------------------
--- Version 2.0.33 - 2021-12-02
--- -------------------------------------------
[CHG] - The translation messages are now case sensitive, which means there is a high number of new translation messages
[ADD] - Added possibility to create transactional emails with attachments through API.
[ADD] - Sending a test email within the campaign setup, will include the campaign attachments if any
[ADD] - Added bulk delete and blacklist in the Backend-> Campaigns Abuse reports page
[CHG] - Bounce processing now uses the Message-ID header in order to identify campaigns and subscribers
[BUG] - Fix orphaned 'draggable' attribute in the drag and drop builder
[MSC] - Overall fixes
[UPD] - Updated composer packages

--- -------------------------------------------
--- Version 2.0.32 - 2021-11-08
--- -------------------------------------------
[RMV] - Remove the Moono theme for ElFinder since it hasn't been updated in 5 years
[ENH] - Custom fields that contain only URLs will now be parsed into tracking URLs
[ENH] - Better handling of missing translations
[MSC] - Overall fixes
[UPD] - Updated composer packages

--- -------------------------------------------
--- Version 2.0.31 - 2021-10-27
--- -------------------------------------------
[ADD] - Added a wrapper over getimagesize for better security. For best results, PHP's finfo class/extension must be enabled on your host
[UPD] - Updated composer packages

--- -------------------------------------------
--- Version 2.0.30 - 2021-10-26
--- -------------------------------------------
[BUG] - Fix a bug for ExtensionInit::createAbsoluteUrl(). Added the schema and sent it correctly for call of createAbsoluteUrl()
[MSC] - The exported list/survey file name will not contain only the list/survey uid, since the list/survey name can get very long and cause filesystem issues
[ADD] - Added Cookie Consent Extension
[ADD] - Added '8.8.8.8', '8.8.4.4' as system nameservers
[ADD] - Added a new hook: dns_resolver_nameservers to overwrite the above nameservers if needed
[ADD] - Sending domains will use the above external nameservers to query for data
[ADD] - A new method SendingDomain::hasValidDNSTxtRecord which can be called at any time to verify the sending domain has valid DNS records
[ADD] - The hourly cron will check(if enabled) all active sending domains to make sure they still have valid DNS records. Invalid domains will be disabled
[ADD] - Added ability to enable/disable hourly checks against sending domains
[CHG] - Test emails are now prefixed with *** TEST *** instead of [TEST] to avoid GMail thread grouping
[IMP] - CSV import now auto-detects the delimiters
[ADD] - Tracking domains will use the above external nameservers to query for data
[ADD] - A new method TrackingDomain::hasValidDNSRecords which can be called at any time to verify the tracking domain has valid DNS records
[ADD] - The hourly cron will check(if enabled) all active sending domains to make sure they still have valid DNS records. Invalid domains will be disabled
[ADD] - Added ability to enable/disable hourly checks against sending domains
[ADD] - Added ability to set the maximum number of active campaigns customers can have
[ADD] - A new method TrackingDomain::hasValidDNSRecords which can be called at any time to verify the tracking domain has valid DNS records
[ADD] - Added a menu builder. It will inject the menus created in the header and footer of the frontend page.
[BUG] - Increased the category name length from 32 chars to 100 in the translation_source_message table
[CHG] - Accommodated the TheChecker.co transition to Emailable. Now the Email verification provider for this service is updated to use the new endpoint

--- -------------------------------------------
--- Version 2.0.29 - 2021-10-04
--- -------------------------------------------
[ADD] - Added Domains Blacklist
[ADD] - Added ability to add subscribers to Customer Blacklist from customer area with one click
[ADD] - Added ability to remove items from Queue Monitor if they are too old(24H) in the processing state
[ADD] - Confirmation step of the campaign will tell the estimated number of recipients for that campaign
[ADD] - Survey fields can get default values now. If you need to default on subscriber values, just use the subscriber tag from your list with the SUBSCRIBER_ prefix, i.e: [SUBSCRIBER_EMAIL]
[ADD] - Added A/B Testing feature for Autoresponders subject lines
[ADD] - Added scroll indicator for delivery server popup and Campaign Quick View popup
[ADD] - Added A/B Testing subjects in the Campaign Quick View popup
[ADD] - Campaign status can now be modified from the API update endpoint
[ADD] - Campaign test emails will now get the [TEST] prefix on subject lines
[ADD] - Added ability to decide if customers can use recurring campaigns or not
[BUG] - Fix a bug in customer controller for guests where we wrongly referenced the API key to send new customers details to a MailWizz list
[ADD] - Add list display name as page title in public list pages, such as subscribe form
[ADD] - Added an optional name property for Bounce / FBL / Email Box Monitors, for easier identification

--- -------------------------------------------
--- Version 2.0.28 - 2021-09-13
--- -------------------------------------------
[BUG] - Fix Phpass reference error in the installer

--- -------------------------------------------
--- Version 2.0.27 - 2021-09-13
--- -------------------------------------------
[MSC] - Overall fixes
[UPD] - Updated composer packages

--- -------------------------------------------
--- Version 2.0.26 - 2021-09-13
--- -------------------------------------------
[CHG] - Changed the password hashing library since the old one has been removed by the author
[UPD] - Updated composer packages

--- -------------------------------------------
--- Version 2.0.25 - 2021-09-13
--- -------------------------------------------
[ADD] - Added ability to enable/disable only the editor for the ckeditor extension
[ADD] - Added ability to use the file manager in backend even if the WYSIWYG editor is disabled. See Backend > Email Templates > File Manager
[ADD] - Added ability to use the file manager in customer even if the WYSIWYG editor is disabled. See Customer > Email Templates > File Manager
[BUG] - Segments would return wrng results count when using fields + campaign actions for condition
[UPD] - Updated composer packages

--- -------------------------------------------
--- Version 2.0.24 - 2021-08-25
--- -------------------------------------------
[CHG] - Switched the Cron Expression Parser library
[BUG] - Fix failed delivery when using performance flags to not take delivery usage logs into consideration were set
[UPD] - Updated composer packages

--- -------------------------------------------
--- Version 2.0.23 - 2021-08-23
--- -------------------------------------------
[ADD] - Added ability to notify system admins via email when cron jobs don't run
[RMV] - Removed the 'backend_dashboard_console_command_history_check_list' filter hook
[ADD] - Added the 'console_command_list_model_get_command_map_check_interval' filter hook
[BUG] - When not using PCNTL, customer would go over assigned quota under certain circumstances
[CHG] - Mutex checks will happen each 10ms instead of each second, resulting in faster response times
[IMP] - Much faster delivery speed

--- -------------------------------------------
--- Version 2.0.22 - 2021-08-04
--- -------------------------------------------
[RMV] - Removed unused libraries from composer.json
[CHG] - We're no longer using Queue Tables for Autoresponders + Segments. More at https://forum.mailwizz.com/threads/were-thinking-to-remove-the-queue-tables-feature.7738/
[MSC] - Overall fixes
[UPD] - Updated composer packages

--- -------------------------------------------
--- Version 2.0.21 - 2021-07-26
--- -------------------------------------------
[ENH] - The send-transactional-emails command now makes use of PCNTL for faster processing
[ADD] - Added select2 for selects with multiple items to ease finding the desired select value(s)
[ADD] - Added DMARC record suggestion for sending domains

--- -------------------------------------------
--- Version 2.0.20 - 2021-07-14
--- -------------------------------------------
[ADD] - Add [SUBSCRIBE_URL] and [SUBSCRIBE_LINK] tags
[ENH] - Better handling for campaigns that use timewarp
[MSC] - Overall fixes
[UPD] - Updated composer packages

--- -------------------------------------------
--- Version 2.0.19 - 2021-07-12
--- -------------------------------------------
[ENH] - Allow removal of delivery server types which the application does not support anymore
[ENH] - Disable php-mail server types if they exist, since we don't use them anymore
[ADD] - Add html_purify function to easily access the htmlpurifier object
[ENH] - Better output filtering
[BUG] - When Recaptcha is enabled and user enter correct login details but did not fill the captcha would allow user to login on a second submission without checking the captcha, since the login was already done before captcha was reached

--- -------------------------------------------
--- Version 2.0.18 - 2021-07-09
--- -------------------------------------------
[ENH] - Give more time to timewarp to complete sending, 7 days instead of just 36 hours
[ENH] - Better handling of email validation in custom fields when email is empty
[ADD] - Showing the campaign delivery servers in the step confirm and quick overview
[ADD] - Added ability to filter the Delivery server logs by delivery_for column
[ADD] - Added new notification and new email template for when a campaign pending approval is approved
[ADD] - Added ability to disapprove a campaign that is pending approval
[ADD] - Added new notification and new email template for when a campaign pending approval is disapproved
[BUG] - When posting to a subscribe form with curl and curl would follow redirect, if the email was part of the list, we'd lose the email address field from the subscriber object

--- -------------------------------------------
--- Version 2.0.17 - 2021-06-29
--- -------------------------------------------
[MSC] - Overall fixes
[UPD] - Updated composer packages

--- -------------------------------------------
--- Version 2.0.16 - 2021-06-28
--- -------------------------------------------
[BUG] - Fix issue with bounce processing because of wrong type casting
[BUG] - Fix queue bug with queue items being reprocessed while they were still processing
[MSC] - Overall fixes
[UPD] - Updated composer packages

--- -------------------------------------------
--- Version 2.0.15 - 2021-06-22
--- -------------------------------------------
[MSC] - Overall fixes
[UPD] - Updated composer packages

--- -------------------------------------------
--- Version 2.0.14 - 2021-06-22
--- -------------------------------------------
[BUG] - Extension update message/action was not properly shown in backend area
[CHG] - Better handling for when GD is missing and we try to resize
[MSC] - Overall fixes
[UPD] - Updated composer packages

--- -------------------------------------------
--- Version 2.0.13 - 2021-06-21
--- -------------------------------------------
[CHG] - Do not disable the API on auto update
[CHG] - PHP's proc_open is now required only for Sendmail delivery server type
[BUG] - Fix a type error when doing str_replace on a null value
[MSC] - Overall fixes
[UPD] - Updated composer packages

--- -------------------------------------------
--- Version 2.0.12 - 2021-06-21
--- -------------------------------------------
[MSC] - Overall fixes
[UPD] - Updated composer packages

--- -------------------------------------------
--- Version 2.0.11 - 2021-06-16
--- -------------------------------------------
[MSC] - Overall fixes
[UPD] - Updated composer packages

--- -------------------------------------------
--- Version 2.0.10 - 2021-06-09
--- -------------------------------------------
[ADD] - Added ability for lists to add Open Graph tags for the subscription page
[MSC] - Overall fixes
[UPD] - Updated composer packages

--- -------------------------------------------
--- Version 2.0.9 - 2021-05-10
--- -------------------------------------------
[MSC] - Overall fixes
[UPD] - Updated composer packages

--- -------------------------------------------
--- Version 2.0.8 - 2021-05-06
--- -------------------------------------------
[MSC] - Overall fixes
[UPD] - Updated composer packages

--- -------------------------------------------
--- Version 2.0.7 - 2021-05-03
--- -------------------------------------------
[MSC] - Overall fixes
[UPD] - Updated composer packages

--- -------------------------------------------
--- Version 2.0.6 - 2021-04-14
--- -------------------------------------------
[ADD] - Added the 'none' visibility for custom fields
[CHG] - The 'hidden' visibility for custom fields will render the fields in form but will hide them
[CHG] - The 'none' visibility for custom fields will NOT render the fields in the form
[MSC] - Overall fixes
[UPD] - Updated composer packages

--- -------------------------------------------
--- Version 2.0.5 - 2021-03-11
--- -------------------------------------------
[MSC] - Overall fixes
[UPD] - Updated composer packages

--- -------------------------------------------
--- Version 2.0.4 - 2021-03-10
--- -------------------------------------------
[MSC] - Overall fixes
[UPD] - Updated composer packages

--- -------------------------------------------
--- Version 2.0.3 - 2021-03-03
--- -------------------------------------------
[MSC] - Overall fixes
[UPD] - Updated composer packages

--- -------------------------------------------
--- Version 2.0.2 - 2021-03-01
--- -------------------------------------------
[MSC] - Overall fixes
[UPD] - Updated composer packages

--- -------------------------------------------
--- Version 2.0.1 - 2021-03-01
--- -------------------------------------------
[MSC] - Overall fixes
[UPD] - Updated composer packages

--- -------------------------------------------
--- Version 2.0.0 - 2021-02-26
--- -------------------------------------------
[RLS] - Initial release
